class_docstr: A GraphicsItem that sets its location to a point on a PlotCurveItem.
  Also rotates to be tangent to the curve.
  The position along the curve is a Qt property, and thus can be easily animated.
  
  Note: This class does not display anything; see CurveArrow for an applied example
class_docstr_tok: ["A","GraphicsItem","that","sets","its","location","to","a","point","on","a","PlotCurveItem",".","Also","rotates","to","be","tangent","to","the","curve",".","The","position","along","the","curve","is","a","Qt","property",",","and","thus","can","be","easily","animated",".","Note",":","This","class","does","not","display","anything",";","see","CurveArrow","for","an","applied","example"]
docstr: Position can be set either as an index referring to the sample number or
  the position 0.0 - 1.0
  If *rotate* is True, then the item rotates to match the tangent of the curve.
docstr_tok: ["Position","can","be","set","either","as","an","index","referring","to","the","sample","number","or","the","position","0.0","-","1.0","If","*","rotate","*","is","True",",","then","the","item","rotates","to","match","the","tangent","of","the","curve","."]
code: def __init__(self, curve, index=0, pos=None, rotate=True):
      """Position can be set either as an index referring to the sample number or
      the position 0.0 - 1.0
      If *rotate* is True, then the item rotates to match the tangent of the curve.
      """
  
      GraphicsObject.__init__(self)
      # QObjectWorkaround.__init__(self)
      self._rotate = rotate
      self.curve = weakref.ref(curve)
      self.setParentItem(curve)
      self.setProperty("position", 0.0)
      self.setProperty("index", 0)
  
      self.setFlags(
          self.flags() | self.GraphicsItemFlag.ItemHasNoContents
      )
  
      if pos is not None:
          self.setPos(pos)
      else:
          self.setIndex(index)
  
file_path: pyqtgraph/pyqtgraph/graphicsItems/CurvePoint.py
imports: import weakref
  from math import atan2, degrees
  from ..functions import clip_scalar
  from ..Qt import QtCore, QtWidgets
  from .None import ArrowItem
  from .GraphicsObject import GraphicsObject
label_desc: Use image node_id 1 to create a new CurvePoint object from inherited base classes: GraphicsObject with example: obj = CurvePoint(curve, index, pos, rotate)