![]() |
OGRE 1.12.10
Object-Oriented Graphics Rendering Engine
|
A bone in a skeleton. More...
#include <OgreBone.h>
Public Member Functions | |
| Bone (const String &name, unsigned short handle, Skeleton *creator) | |
| Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone). | |
| Bone (unsigned short handle, Skeleton *creator) | |
| Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone). | |
| ~Bone () | |
| const Quaternion & | _getBindingPoseInverseOrientation (void) const |
| Gets the inverted binding pose orientation. | |
| const Vector3 & | _getBindingPoseInversePosition (void) const |
| Gets the inverted binding pose position. | |
| const Vector3 & | _getBindingPoseInverseScale (void) const |
| Gets the inverted binding pose scale. | |
| void | _getOffsetTransform (Affine3 &m) const |
| Gets the transform which takes bone space to current from the binding pose. | |
| Bone * | createChild (unsigned short handle, const Vector3 &translate=Vector3::ZERO, const Quaternion &rotate=Quaternion::IDENTITY) |
| Creates a new Bone as a child of this bone. | |
| unsigned short | getHandle (void) const |
| Gets the numeric handle for this bone (unique within the skeleton). | |
| bool | isManuallyControlled () const |
| Getter for mManuallyControlled Flag. | |
| void | needUpdate (bool forceParentUpdate=false) |
| void | reset (void) |
| Resets the position and orientation of this Bone to the original binding position. | |
| void | setBindingPose (void) |
| Sets the current position / orientation to be the 'binding pose' ie the layout in which bones were originally bound to a mesh. | |
| void | setManuallyControlled (bool manuallyControlled) |
| Sets whether or not this bone is manually controlled. | |
| Public Member Functions inherited from Ogre::Node | |
| Node () | |
| Constructor, should only be called by parent, not directly. | |
| Node (const String &name) | |
| Constructor, should only be called by parent, not directly. | |
| virtual | ~Node () |
| const Quaternion & | _getDerivedOrientation (void) const |
| Gets the orientation of the node as derived from all parents. | |
| const Vector3 & | _getDerivedPosition (void) const |
| Gets the position of the node as derived from all parents. | |
| const Vector3 & | _getDerivedScale (void) const |
| Gets the scaling factor of the node as derived from all parents. | |
| const Affine3 & | _getFullTransform (void) const |
| Gets the full transformation matrix for this node. | |
| void | _setDerivedOrientation (const Quaternion &q) |
| Sets the final world orientation of the node directly. | |
| void | _setDerivedPosition (const Vector3 &pos) |
| Sets the final world position of the node directly. | |
| virtual void | _update (bool updateChildren, bool parentHasChanged) |
| Internal method to update the Node. | |
| void | addChild (Node *child) |
| Adds a (precreated) child scene node to this node. | |
| void | cancelUpdate (Node *child) |
| Called by children to notify their parent that they no longer need an update. | |
| Vector3 | convertLocalToWorldDirection (const Vector3 &localDir, bool useScale) |
| Gets the world direction of a point in the node local space useful for simple transforms that don't require a child node. | |
| Quaternion | convertLocalToWorldOrientation (const Quaternion &localOrientation) |
| Gets the world orientation of an orientation in the node local space useful for simple transforms that don't require a child node. | |
| Vector3 | convertLocalToWorldPosition (const Vector3 &localPos) |
| Gets the world position of a point in the node local space useful for simple transforms that don't require a child node. | |
| Vector3 | convertWorldToLocalDirection (const Vector3 &worldDir, bool useScale) |
| Gets the local direction, relative to this node, of the given world-space direction. | |
| Quaternion | convertWorldToLocalOrientation (const Quaternion &worldOrientation) |
| Gets the local orientation, relative to this node, of the given world-space orientation. | |
| Vector3 | convertWorldToLocalPosition (const Vector3 &worldPos) |
| Gets the local position, relative to this node, of the given world-space position. | |
| Node * | getChild (const String &name) const |
| Gets a pointer to a named child node. | |
| Node * | getChild (unsigned short index) const |
| Gets a pointer to a child node. | |
| ChildNodeIterator | getChildIterator (void) |
| ConstChildNodeIterator | getChildIterator (void) const |
| const ChildNodeMap & | getChildren () const |
| List of sub-nodes of this Node. | |
| DebugRenderable * | getDebugRenderable (Real scaling) |
| bool | getInheritOrientation (void) const |
| Returns true if this node is affected by orientation applied to the parent node. | |
| bool | getInheritScale (void) const |
| Returns true if this node is affected by scaling factors applied to the parent node. | |
| const Quaternion & | getInitialOrientation (void) const |
| Gets the initial orientation of this node, see setInitialState for more info. | |
| const Vector3 & | getInitialPosition (void) const |
| Gets the initial position of this node, see setInitialState for more info. | |
| const Vector3 & | getInitialScale (void) const |
| Gets the initial position of this node, see setInitialState for more info. | |
| Listener * | getListener (void) const |
| Gets the current listener for this Node. | |
| Matrix3 | getLocalAxes (void) const |
| Gets a matrix whose columns are the local axes based on the nodes orientation relative to it's parent. | |
| const String & | getName (void) const |
| Returns the name of the node. | |
| const Quaternion & | getOrientation () const |
| Returns a quaternion representing the nodes orientation. | |
| Node * | getParent (void) const |
| Gets this node's parent (NULL if this is the root). | |
| const Vector3 & | getPosition (void) const |
| Gets the position of the node relative to it's parent. | |
| const Vector3 & | getScale (void) const |
| Gets the scaling factor of this node. | |
| Real | getSquaredViewDepth (const Camera *cam) const |
| Helper function, get the squared view depth. | |
| const Any & | getUserAny (void) const |
| UserObjectBindings & | getUserObjectBindings () |
| Return an instance of user objects binding associated with this class. | |
| const UserObjectBindings & | getUserObjectBindings () const |
| Return an instance of user objects binding associated with this class. | |
| uint16 | numChildren (void) const |
| Reports the number of child nodes under this one. | |
| virtual void | pitch (const Radian &angle, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around the X-axis. | |
| virtual void | removeAllChildren (void) |
| Removes all child Nodes attached to this node. | |
| virtual Node * | removeChild (const String &name) |
| Drops the named child from this node. | |
| virtual Node * | removeChild (Node *child) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| virtual Node * | removeChild (unsigned short index) |
| Drops the specified child from this node. | |
| void | requestUpdate (Node *child, bool forceParentUpdate=false) |
| Called by children to notify their parent that they need an update. | |
| void | resetOrientation (void) |
| Resets the nodes orientation (local axes as world axes, no rotation). | |
| void | resetToInitialState (void) |
| Resets the position / orientation / scale of this node to it's initial state, see setInitialState for more info. | |
| virtual void | roll (const Radian &angle, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around the Z-axis. | |
| void | rotate (const Quaternion &q, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around an aritrary axis using a Quarternion. | |
| void | rotate (const Vector3 &axis, const Radian &angle, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around an arbitrary axis. | |
| void | scale (const Vector3 &scale) |
| Scales the node, combining it's current scale with the passed in scaling factor. | |
| void | scale (Real x, Real y, Real z) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | setInheritOrientation (bool inherit) |
| Tells the node whether it should inherit orientation from it's parent node. | |
| void | setInheritScale (bool inherit) |
| Tells the node whether it should inherit scaling factors from it's parent node. | |
| void | setInitialState (void) |
| Sets the current transform of this node to be the 'initial state' ie that position / orientation / scale to be used as a basis for delta values used in keyframe animation. | |
| void | setListener (Listener *listener) |
| Sets a listener for this Node. | |
| void | setOrientation (const Quaternion &q) |
| Sets the orientation of this node via a quaternion. | |
| void | setOrientation (Real w, Real x, Real y, Real z) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | setPosition (const Vector3 &pos) |
| Sets the position of the node relative to it's parent. | |
| void | setPosition (Real x, Real y, Real z) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | setScale (const Vector3 &scale) |
| Sets the scaling factor applied to this node. | |
| void | setScale (Real x, Real y, Real z) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | setUserAny (const Any &anything) |
| void | translate (const Matrix3 &axes, const Vector3 &move, TransformSpace relativeTo=TS_PARENT) |
| Moves the node along arbitrary axes. | |
| void | translate (const Matrix3 &axes, Real x, Real y, Real z, TransformSpace relativeTo=TS_PARENT) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | translate (const Vector3 &d, TransformSpace relativeTo=TS_PARENT) |
| Moves the node along the Cartesian axes. | |
| void | translate (Real x, Real y, Real z, TransformSpace relativeTo=TS_PARENT) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| virtual void | yaw (const Radian &angle, TransformSpace relativeTo=TS_LOCAL) |
| Rotate the node around the Y-axis. | |
Additional Inherited Members | |
| Public Types inherited from Ogre::Node | |
| typedef VectorIterator< ChildNodeMap > | ChildNodeIterator |
| typedef std::vector< Node * > | ChildNodeMap |
| typedef ConstVectorIterator< ChildNodeMap > | ConstChildNodeIterator |
| enum | TransformSpace { TS_LOCAL , TS_PARENT , TS_WORLD } |
| Enumeration denoting the spaces which a transform can be relative to. More... | |
| Static Public Member Functions inherited from Ogre::Node | |
| static void | processQueuedUpdates (void) |
| Process queued 'needUpdate' calls. | |
| static void | queueNeedUpdate (Node *n) |
| Queue a 'needUpdate' call to a node safely. | |
A bone in a skeleton.
| Ogre::Bone::Bone | ( | unsigned short | handle, |
| Skeleton * | creator ) |
Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone).
Referenced by createChild().
Constructor, not to be used directly (use Bone::createChild or Skeleton::createBone).
| Ogre::Bone::~Bone | ( | ) |
References Ogre::Node::createChild().
| Bone * Ogre::Bone::createChild | ( | unsigned short | handle, |
| const Vector3 & | translate = Vector3::ZERO, | ||
| const Quaternion & | rotate = Quaternion::IDENTITY ) |
Creates a new Bone as a child of this bone.
| handle | The numeric handle to give the new bone; must be unique within the Skeleton. |
| translate | Initial translation offset of child relative to parent |
| rotate | Initial rotation relative to parent |
References Bone(), Ogre::Quaternion::IDENTITY, Ogre::Node::rotate(), and Ogre::Node::translate().
| unsigned short Ogre::Bone::getHandle | ( | void | ) | const |
Gets the numeric handle for this bone (unique within the skeleton).
| void Ogre::Bone::setBindingPose | ( | void | ) |
Sets the current position / orientation to be the 'binding pose' ie the layout in which bones were originally bound to a mesh.
| void Ogre::Bone::reset | ( | void | ) |
Resets the position and orientation of this Bone to the original binding position.
| void Ogre::Bone::setManuallyControlled | ( | bool | manuallyControlled | ) |
Sets whether or not this bone is manually controlled.
| bool Ogre::Bone::isManuallyControlled | ( | ) | const |
Getter for mManuallyControlled Flag.
| void Ogre::Bone::_getOffsetTransform | ( | Affine3 & | m | ) | const |
Gets the transform which takes bone space to current from the binding pose.
|
inline |
Gets the inverted binding pose scale.
|
inline |
Gets the inverted binding pose position.
|
inline |
Gets the inverted binding pose orientation.
|
virtual |
Reimplemented from Ogre::Node.
Reimplemented in Ogre::TagPoint.
References Ogre::Node::Node().