32 #ifndef OGRE_TOOLS_ARROW_H 33 #define OGRE_TOOLS_ARROW_H 73 Arrow(Ogre::SceneManager* scene_manager,
74 Ogre::SceneNode* parent_node =
nullptr,
75 float shaft_length = 1.0
f,
76 float shaft_diameter = 0.1
f,
77 float head_length = 0.3
f,
78 float head_diameter = 0.2
f);
89 void set(
float shaft_length,
float shaft_diameter,
float head_length,
float head_diameter);
99 void setColor(
float r,
float g,
float b,
float a)
override;
100 void setColor(
const Ogre::ColourValue& color);
109 void setHeadColor(
float r,
float g,
float b,
float a = 1.0
f);
110 void setHeadColor(
const Ogre::ColourValue& color);
118 void setShaftColor(
float r,
float g,
float b,
float a = 1.0
f);
119 void setShaftColor(
const Ogre::ColourValue& color);
126 void setOrientation(
const Ogre::Quaternion& orientation)
override;
129 void setPosition(
const Ogre::Vector3& position)
override;
139 void setDirection(
const Ogre::Vector3& direction);
141 void setScale(
const Ogre::Vector3& scale)
override;
142 const Ogre::Vector3& getPosition()
override;
143 const Ogre::Quaternion& getOrientation()
override;
157 void setUserData(
const Ogre::Any& data)
override;
Ogre::SceneNode * scene_node_
Base class for visible objects, providing a minimal generic interface.
Ogre::SceneNode * getSceneNode()
Get the scene node associated with this arrow.
Shape * head_
Cone used for the head of the arrow.
An arrow consisting of a cylinder and a cone.
Shape * shaft_
Cylinder used for the shaft of the arrow.