![]() |
OGRE-Next 3.0.0
Object-Oriented Graphics Rendering Engine
|
Class representing a Bone in the join hierarchy of a skeleton. More...
#include <OgreBone.h>
Inheritance diagram for Ogre::Bone:Public Types | |
| typedef vector< Bone * >::type | BoneVec |
| typedef vector< TagPoint * >::type | TagPointVec |
Public Member Functions | |
| Bone () | |
| virtual | ~Bone () |
| void | _deinitialize (bool debugCheckLifoOrder=true) |
| Matrix4 | _getDerivedTransform () const |
| Gets the derived transform in world space. | |
| FORCEINLINE const SimpleMatrixAf4x3 & | _getFullTransform () const |
| Gets the full transformation matrix for this node. | |
| const SimpleMatrixAf4x3 & | _getFullTransformUpdated () |
| See _getDerivedScaleUpdated() remarks. | |
| FORCEINLINE const SimpleMatrixAf4x3 & | _getLocalSpaceTransform () const |
| Gets the transformation matrix for this bone in local space (i.e. | |
| BoneTransform & | _getTransform () |
| Returns a direct access to the Transform state. | |
| void | _initialize (IdType id, BoneMemoryManager *boneMemoryManager, Bone *parent, ArrayMatrixAf4x3 const *RESTRICT_ALIAS reverseBind) |
| void | _memoryRebased () |
| Internal use. Called from BoneMemoryManager's rebases (i.e. cleanups, grows) | |
| virtual void | _setCachedTransformOutOfDate () |
| void | _setNodeParent (Node *nodeParent) |
| Sets a regular Node to be parent of this Bone. | |
| void | _setReverseBindPtr (const ArrayMatrixAf4x3 *ptr) |
| void | addTagPoint (TagPoint *tagPoint) |
| Makes the TagPoint child of this Bone. | |
| Bone * | getChild (size_t index) |
| Gets a pointer to a child node. | |
| const Bone * | getChild (size_t index) const |
| const BoneVec & | getChildren () |
| Retrieves the container for efficiently iterating through all children of this bone. | |
| uint16 | getDepthLevel () const |
| Returns how deep in the hierarchy we are (eg. 0 -> root node, 1 -> child of root) | |
| bool | getInheritOrientation () const |
| Returns true if this node is affected by orientation applied to the parent node. | |
| bool | getInheritScale () const |
| Returns true if this node is affected by scaling factors applied to the parent node. | |
| const String & | getName () const |
| Returns the name of the node. | |
| size_t | getNumChildren () const |
| Reports the number of child nodes under this one. | |
| size_t | getNumTagPoints () const |
| Reports the number of tag points under this one. | |
| Quaternion | getOrientation () const |
| Returns a quaternion representing the nodes orientation. | |
| Bone * | getParent () const |
| Gets this Bones's parent (NULL if this is the root). | |
| Vector3 | getPosition () const |
| Gets the position of the node relative to its parent. | |
| Vector3 | getScale () const |
| Gets the scale of the node relative to its parent. | |
| TagPoint * | getTagPoint (size_t index) |
| Gets a pointer to a child tag point. | |
| const TagPoint * | getTagPoint (size_t index) const |
| const TagPointVec & | getTagPoints () |
| Retrieves the container for efficiently iterating through all tag points of this bone. | |
| bool | isCachedTransformOutOfDate () const |
| void | removeTagPoint (TagPoint *tagPoint) |
| void | setInheritOrientation (bool inherit) |
| Tells the Bone 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 | setName (const String &name) |
| Sets a custom name for this node. Doesn't have to be unique. | |
| void | setOrientation (Quaternion q) |
| Sets a given orientation in local space (ie. | |
| void | setPosition (const Vector3 &pos) |
| Sets the position of the node relative to its parent. | |
| void | setScale (const Vector3 &pos) |
| Sets the scale of the node relative to its parent. | |
Public Member Functions inherited from Ogre::IdObject | |
| IdObject (IdType id) | |
| We don't call generateNewId() here, to prevent objects in the stack (i.e. | |
| IdType | getId () const |
| Get the unique id of this object. | |
| bool | operator() (const IdObject &left, const IdObject &right) |
| bool | operator() (const IdObject *left, const IdObject *right) |
Static Public Member Functions | |
| static void | updateAllTransforms (const size_t numNodes, BoneTransform t, ArrayMatrixAf4x3 const *RESTRICT_ALIAS reverseBind, size_t numBinds) |
| TODO. | |
Public Attributes | |
| size_t | mGlobalIndex |
| Index in the vector holding this node reference (could be our parent node, or a global array tracking all created nodes to avoid memory leaks). | |
| size_t | mParentIndex |
| Index in the vector holding this node reference (could be our parent node, or a global array tracking all created nodes to avoid memory leaks). | |
Class representing a Bone in the join hierarchy of a skeleton.
| typedef vector<Bone*>::type Ogre::Bone::BoneVec |
| typedef vector<TagPoint*>::type Ogre::Bone::TagPointVec |
| Ogre::Bone::Bone | ( | ) |
Referenced by _initialize(), getChild(), getChild(), and getParent().
|
virtual |
| void Ogre::Bone::_deinitialize | ( | bool | debugCheckLifoOrder = true | ) |
| Matrix4 Ogre::Bone::_getDerivedTransform | ( | ) | const |
Gets the derived transform in world space.
|
inline |
Gets the full transformation matrix for this node.
| const SimpleMatrixAf4x3 & Ogre::Bone::_getFullTransformUpdated | ( | ) |
See _getDerivedScaleUpdated() remarks.
|
inline |
Gets the transformation matrix for this bone in local space (i.e.
as if the skeleton wasn't attached to a SceneNode).
References OGRE_ASSERT_MEDIUM.
|
inline |
Returns a direct access to the Transform state.
| void Ogre::Bone::_initialize | ( | IdType | id, |
| BoneMemoryManager * | boneMemoryManager, | ||
| Bone * | parent, | ||
| ArrayMatrixAf4x3 const *RESTRICT_ALIAS | reverseBind ) |
References Bone(), and RESTRICT_ALIAS.
| void Ogre::Bone::_memoryRebased | ( | ) |
Internal use. Called from BoneMemoryManager's rebases (i.e. cleanups, grows)
|
virtual |
| void Ogre::Bone::_setNodeParent | ( | Node * | nodeParent | ) |
Sets a regular Node to be parent of this Bone.
DO NOT USE THIS FUNCTION IF YOU DON'T KNOW WHAT YOU'RE DOING. If you want to use a regular Node to control a bone, see SkeletonInstance::setSceneNodeAsParentOfBone instead.
|
inline |
|
inline |
Gets a pointer to a child node.
References Bone().
|
inline |
Retrieves the container for efficiently iterating through all children of this bone.
|
inline |
Returns how deep in the hierarchy we are (eg. 0 -> root node, 1 -> child of root)
| bool Ogre::Bone::getInheritOrientation | ( | ) | const |
Returns true if this node is affected by orientation applied to the parent node.
| bool Ogre::Bone::getInheritScale | ( | ) | const |
Returns true if this node is affected by scaling factors applied to the parent node.
|
inline |
Returns the name of the node.
|
inline |
Reports the number of child nodes under this one.
|
inline |
Reports the number of tag points under this one.
|
inline |
Returns a quaternion representing the nodes orientation.
|
inline |
Gets this Bones's parent (NULL if this is the root).
References Bone().
|
inline |
Gets the position of the node relative to its parent.
|
inline |
Gets the scale of the node relative to its parent.
|
inline |
Gets a pointer to a child tag point.
|
inline |
|
inline |
Retrieves the container for efficiently iterating through all tag points of this bone.
|
inline |
| void Ogre::Bone::removeTagPoint | ( | TagPoint * | tagPoint | ) |
| void Ogre::Bone::setInheritOrientation | ( | bool | inherit | ) |
Tells the Bone whether it should inherit orientation from it's parent node.
| inherit | If true, this node's orientation will be affected by its parent's orientation. If false, it will not be affected. |
| void Ogre::Bone::setInheritScale | ( | bool | inherit | ) |
Tells the node whether it should inherit scaling factors from it's parent node.
| inherit | If true, this node's scale will be affected by its parent's scale. If false, it will not be affected. |
|
inline |
Sets a custom name for this node. Doesn't have to be unique.
|
inline |
Sets a given orientation in local space (ie.
relative to its parent)
|
inline |
Sets the position of the node relative to its parent.
|
inline |
Sets the scale of the node relative to its parent.
|
static |
| size_t Ogre::Bone::mGlobalIndex |
Index in the vector holding this node reference (could be our parent node, or a global array tracking all created nodes to avoid memory leaks).
Used for O(1) removals.
| size_t Ogre::Bone::mParentIndex |
Index in the vector holding this node reference (could be our parent node, or a global array tracking all created nodes to avoid memory leaks).
Used for O(1) removals.