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


Public Functions


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.