OGRE-Next
4.0.0unstable
Object-Oriented Graphics Rendering Engine
|
Class representing a Bone in the join hierarchy of a skeleton. More...
#include <OgreBone.h>
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. More... | |
FORCEINLINE const SimpleMatrixAf4x3 & | _getFullTransform () const |
Gets the full transformation matrix for this node. More... | |
const SimpleMatrixAf4x3 & | _getFullTransformUpdated () |
See _getDerivedScaleUpdated() remarks. More... | |
FORCEINLINE const SimpleMatrixAf4x3 & | _getLocalSpaceTransform () const |
Gets the transformation matrix for this bone in local space (i.e. More... | |
BoneTransform & | _getTransform () |
Returns a direct access to the Transform state. More... | |
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) More... | |
virtual void | _setCachedTransformOutOfDate () |
void | _setNodeParent (Node *nodeParent) |
Sets a regular Node to be parent of this Bone. More... | |
void | _setReverseBindPtr (const ArrayMatrixAf4x3 *ptr) |
void | addTagPoint (TagPoint *tagPoint) |
Makes the TagPoint child of this Bone. More... | |
Bone * | getChild (size_t index) |
Gets a pointer to a child node. More... | |
const Bone * | getChild (size_t index) const |
const BoneVec & | getChildren () |
Retrieves the container for efficiently iterating through all children of this bone. More... | |
uint16 | getDepthLevel () const |
Returns how deep in the hierarchy we are (eg. 0 -> root node, 1 -> child of root) More... | |
bool | getInheritOrientation () const |
Returns true if this node is affected by orientation applied to the parent node. More... | |
bool | getInheritScale () const |
Returns true if this node is affected by scaling factors applied to the parent node. More... | |
const String & | getName () const |
Returns the name of the node. More... | |
size_t | getNumChildren () const |
Reports the number of child nodes under this one. More... | |
size_t | getNumTagPoints () const |
Reports the number of tag points under this one. More... | |
Quaternion | getOrientation () const |
Returns a quaternion representing the nodes orientation. More... | |
Bone * | getParent () const |
Gets this Bones's parent (NULL if this is the root). More... | |
Vector3 | getPosition () const |
Gets the position of the node relative to its parent. More... | |
Vector3 | getScale () const |
Gets the scale of the node relative to its parent. More... | |
TagPoint * | getTagPoint (size_t index) |
Gets a pointer to a child tag point. More... | |
const TagPoint * | getTagPoint (size_t index) const |
const TagPointVec & | getTagPoints () |
Retrieves the container for efficiently iterating through all tag points of this bone. More... | |
bool | isCachedTransformOutOfDate () const |
void | removeTagPoint (TagPoint *tagPoint) |
void | setInheritOrientation (bool inherit) |
Tells the Bone whether it should inherit orientation from it's parent node. More... | |
void | setInheritScale (bool inherit) |
Tells the node whether it should inherit scaling factors from it's parent node. More... | |
void | setName (const String &name) |
Sets a custom name for this node. Doesn't have to be unique. More... | |
void | setOrientation (Quaternion q) |
Sets a given orientation in local space (ie. More... | |
void | setPosition (const Vector3 &pos) |
Sets the position of the node relative to its parent. More... | |
void | setScale (const Vector3 &pos) |
Sets the scale of the node relative to its parent. More... | |
Public Member Functions inherited from Ogre::IdObject | |
IdObject (IdType id) | |
We don't call generateNewId() here, to prevent objects in the stack (i.e. More... | |
IdType | getId () const |
Get the unique id of this object. More... | |
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. More... | |
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). More... | |
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). More... | |
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 | ( | ) |
|
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.
References Ogre::BoneTransform::mFinalTransform, and Ogre::BoneTransform::mIndex.
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::BoneTransform::mDerivedTransform, Ogre::BoneTransform::mIndex, and 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 | ||
) |
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.
|
inline |
|
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).
|
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 |
TODO.
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.