Class Arrow

Inheritance Relationships

Base Type

Class Documentation

class Arrow : public rviz_rendering::Object

An arrow consisting of a cylinder and a cone.

The base of the arrow is at the position sent to setPosition(). The arrow points in the direction of the negative Z axis by default, and -Z is the identity direction of it. To set a different direction, call setOrientation() with a rotation from -Z to the desired vector.

Public Functions

Arrow(Ogre::SceneManager *scene_manager, Ogre::SceneNode *parent_node = 0, float shaft_length = 1.0f, float shaft_diameter = 0.1f, float head_length = 0.3f, float head_diameter = 0.2f)

Constructor.

Parameters:
  • scene_manager – The scene manager to use to construct any necessary objects

  • parent_node – A scene node to use as the parent of this object. If NULL, uses the root scene node.

  • shaft_length – Length of the arrow’s shaft

  • shaft_diameter – Diameter of the arrow’s shaft

  • head_length – Length of the arrow’s head

  • head_diameter – Diameter of the arrow’s head

virtual ~Arrow()
void set(float shaft_length, float shaft_diameter, float head_length, float head_diameter)

Set the parameters for this arrow.

Parameters:
  • shaft_length – Length of the arrow’s shaft

  • shaft_diameter – Diameter of the arrow’s shaft

  • head_length – Length of the arrow’s head

  • head_diameter – Diameter of the arrow’s head

virtual void setColor(float r, float g, float b, float a)

Set the color of this arrow. Sets both the head and shaft color to the same value. Values are in the range [0, 1].

Parameters:
  • r – Red component

  • g – Green component

  • b – Blue component

void setColor(const Ogre::ColourValue &color)
void setHeadColor(float r, float g, float b, float a = 1.0f)

Set the color of the arrow’s head. Values are in the range [0, 1].

Parameters:
  • r – Red component

  • g – Green component

  • b – Blue component

void setHeadColor(const Ogre::ColourValue &color)
void setShaftColor(float r, float g, float b, float a = 1.0f)

Set the color of the arrow’s shaft. Values are in the range [0, 1].

Parameters:
  • r – Red component

  • g – Green component

  • b – Blue component

void setShaftColor(const Ogre::ColourValue &color)
virtual void setOrientation(const Ogre::Quaternion &orientation)

Set the orientation.

Note that negative Z is the identity orientation.

Both setOrientation() and setDirection() change the direction the arrow points.

virtual void setPosition(const Ogre::Vector3 &position)

Set the position of the base of the arrow.

void setDirection(const Ogre::Vector3 &direction)

Set the direction of the arrow.

If direction is zero, this does not change the arrow.

Both setOrientation() and setDirection() change the direction the arrow points.

Parameters:

direction – The direction the arrow should point, in the coordinate frame of the parent Ogre::SceneNode.

virtual void setScale(const Ogre::Vector3 &scale)

Set the scale of the object. Always relative to the identity orientation of the object.

Parameters:

Scale – vector scale to set to.

virtual const Ogre::Vector3 &getPosition()

Get the local position of this object.

Returns:

The position

virtual const Ogre::Quaternion &getOrientation()

Get the local orientation of this object.

Returns:

The orientation

inline Ogre::SceneNode *getSceneNode()

Get the scene node associated with this arrow.

Returns:

the scene node associated with this arrow

virtual void setUserData(const Ogre::Any &data)

Sets user data on all ogre objects we own.

inline Shape *getShaft()
inline Shape *getHead()