cee::vis::MarkupPartFixedSizeArrow

class MarkupPartFixedSizeArrow : public MarkupPart

A MarkupModel part for drawing an arrow with a constant size independent of the camera settings.

The arrow will have the given size (in pixels) independent on camera position and settings.

The following settings can be specified:

  • position: The start position of the arrow

  • direction: The direction of the arrow

  • color: The color for the arrow in the part

  • lengthInPixels: The length of the arrow in pixels

  • numSubDivisions: The resolution of the arrow. A higher number will give a more smooth arrow, but will result in more triangles per arrow and thus (somewhat) decreased performance.

See also

MarkupModel

Public Functions

MarkupPartFixedSizeArrow()

Constructs an empty part.

MarkupPartFixedSizeArrow(const Vec3d &position, const Vec3d &direction, double lengthInPixels, const Color3f &color)

Constructs a part with the given settings.

  • position: The start position of the arrow

  • direction: The direction of the arrow

  • lengthInPixels: The length of the arrow in pixels

  • color: The color for the arrow in the part

virtual PartType type() const

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

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 arrow in the part.

void setColor(const Color3f &color)

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

Vec3d position() const

Returns the start position of the arrow.

void setPosition(const Vec3d &pos)

Sets the start position of the arrow.

Vec3d direction() const

Returns the direction of the arrow.

void setDirection(const Vec3d &dir)

Sets the direction of the arrow.

double lengthInPixels() const

Returns the fixed length in pixels of the arrow.

void setLengthInPixels(double length)

Sets the length in pixels of the arrow.

unsigned int numberOfSubDivisions() const

Returns the resolution of the arrow.

void setNumberOfSubDivisions(unsigned int numSubDivisions)

Sets the resolution of the arrow.

numSubDivisions specifies the number of lines in the tessellated arrow. A higher number will give a more smooth arrow, but will result in more triangles per arrow and thus (somewhat) decreased performance.