# cee::vis::MarkupPartArrows

class `MarkupPartArrows` : public MarkupPart

  A MarkupModel part for drawing arrows.

  A number of arrows can be added to the part. An arrow is defined by a starting point and an end point. All the arrows share the same color.

  See also

  MarkupModel

  Public Functions

  `MarkupPartArrows`()

    Constructs an empty part.

  `MarkupPartArrows`(const Color3f &color)

    Constructs an empty part with the given color.

  virtual PartType `type`() const

    Returns the type of the part. Always MarkupPart::ARROWS.

  virtual BoundingBox `boundingBox`() const

    Returns the current bounding box of the part.

  virtual void `setPriority`(int priority)

    Sets render priority of the part.

    The render priority determines the order in which parts get rendered. Parts with lower priorities get rendered first. The default priority is 10.

  virtual int `priority`() const

    Returns the render priority of the part.

  virtual const Mat4d &`transformation`() const

    Returns the current transformation matrix for the part.

  virtual void `setTransformation`(const Mat4d &matrix)

    Sets the transformation matrix to use for the part.

  const Color3f &`color`() const

    Returns the color of the arrows in the part.

  void `setColor`(const Color3f &color)

    Sets the color to use to draw the arrows in the part.

  size_t `count`() const

    Returns the number of points in the part.

  Vec3d `startPosition`(size_t index) const

    Returns the start position of the arrow with the given index.

  Vec3d `endPosition`(size_t index) const

    Returns the end position of the arrow with the given index.

  void `add`(const Vec3d &startPosition, const Vec3d &endPosition)

    Adds an arrow to the part, specified with a startPosition and an endPosition.

    The arrow head will be at the endPosition

  void `add`(const std::vector<Vec3d> &startPositions, const std::vector<Vec3d> &endPositions)

    Adds multiple arrows to the part.

  void `set`(size_t index, const Vec3d &startPosition, const Vec3d &endPosition)

    Sets the start and end position of the arrow with the given index.

    Note: The arrow must already be added to the part.

  void `remove`(size_t index)

    Removes the arrow at the given index.

  void `removeAll`()

    Removes all arrows in the part.

  Public Static Functions

  static PtrRef<MarkupPartArrows> `create`(const Vec3d &startPosition, const Vec3d &endPosition, const Color3f &color)

    Returns a newly created part with the given settings.

    The returned part will have one arrow (startPosition to endPosition) and the given color.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your Docs generative AI assistant. Ask me anything about HOOPS Envision for Desktop or choose a sample question below to start a conversation:

What is HOOPS Envision for Desktop?
What are the latest release notes for HOOPS Envision for Desktop?
How do I start evaluating HOOPS Envision for Desktop?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...