#include <OgreSkeletonInstance.h>
Inheritance diagram for Ogre::SkeletonInstance:
Public Types | |
typedef std::vector< Bone * > | BoneList |
typedef VectorIterator< BoneList > | BoneIterator |
Public Methods | |
SkeletonInstance (Skeleton *masterCopy) | |
Constructor, don't call directly, this will be created automatically when you create an Entity based on a skeletally animated Mesh. | |
~SkeletonInstance () | |
unsigned short | getNumAnimations (void) const |
Gets the number of animations on this skeleton. | |
Animation * | getAnimation (unsigned short index) const |
Gets a single animation by index. | |
Animation * | createAnimation (const String &name, Real length) |
Creates a new Animation object for animating this skeleton. | |
Animation * | getAnimation (const String &name) const |
Returns the named Animation object. | |
void | removeAnimation (const String &name) |
Removes an Animation from this skeleton. | |
void | load (void) |
Overridden from Skeleton. | |
void | unload (void) |
Overridden from Skeleton. | |
TagPoint * | createTagPointOnBone (Bone *bone, const Quaternion &offsetOrientation=Quaternion::IDENTITY, const Vector3 &offsetPosition=Vector3::UNIT_SCALE) |
Creates a TagPoint ready to be attached to a bone. | |
void | freeTagPoint (TagPoint *tagPoint) |
Frees a TagPoint that already attached to a bone. | |
virtual Bone * | createBone (void) |
Creates a brand new Bone owned by this Skeleton. | |
virtual Bone * | createBone (unsigned short handle) |
Creates a brand new Bone owned by this Skeleton. | |
virtual Bone * | createBone (const String &name) |
Creates a brand new Bone owned by this Skeleton. | |
virtual Bone * | createBone (const String &name, unsigned short handle) |
Creates a brand new Bone owned by this Skeleton. | |
virtual unsigned short | getNumBones (void) const |
Returns the number of bones in this skeleton. | |
virtual Bone * | getRootBone (void) const |
Gets the root bone of the skeleton: deprecated in favour of getRootBoneIterator. | |
virtual BoneIterator | getRootBoneIterator (void) |
Get an iterator over the root bones in the skeleton, ie those with no parents. | |
virtual BoneIterator | getBoneIterator (void) |
Get an iterator over all the bones in the skeleton. | |
virtual Bone * | getBone (unsigned short handle) const |
Gets a bone by it's handle. | |
virtual Bone * | getBone (const String &name) const |
Gets a bone by it's name. | |
virtual 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. | |
virtual void | reset (bool resetManualBones=false) |
Resets the position and orientation of all bones in this skeleton to their original binding position. | |
virtual void | setAnimationState (const AnimationStateSet &animSet) |
Changes the state of the skeleton to reflect the application of the passed in collection of animations. | |
virtual const AnimationStateSet & | getAnimationState (void) const |
Gets the last animation state of this skeleton. | |
virtual void | _initAnimationState (AnimationStateSet *animSet) |
Initialise an animation set suitable for use with this mesh. | |
virtual void | _getBoneMatrices (Matrix4 *pMatrices) |
Populates the passed in array with the bone matrices based on the current position. | |
virtual SkeletonAnimationBlendMode | getBlendMode () |
Gets the animation blending mode which this skeleton will use. | |
virtual void | setBlendMode (SkeletonAnimationBlendMode state) |
Sets the animation blending mode this skeleton will use. | |
virtual void | _updateTransforms (void) |
Updates all the derived transforms in the skeleton. | |
virtual size_t | getSize (void) const |
Retrieves info about the size of the resource. | |
virtual void | touch (void) |
'Touches' the resource to indicate it has been used. | |
time_t | getLastAccess (void) const |
Gets the last time the resource was 'touched'. | |
const String & | getName (void) const |
Gets resource name. | |
ResourceHandle | getHandle (void) const |
bool | isLoaded (void) const |
Returns true if the Resource has been loaded, false otherwise. | |
virtual void | destroy () |
A method to make the resource delete itself. | |
Protected Types | |
typedef std::list< TagPoint * > | ActiveTagPointList |
typedef std::deque< TagPoint * > | FreeTagPointQueue |
typedef std::map< String, Bone * > | BoneListByName |
Lookup by bone name. | |
typedef std::map< String, Animation * > | AnimationList |
Storage of animations, lookup by name. | |
Protected Methods | |
void | cloneBoneAndChildren (Bone *source, Bone *parent) |
void | deriveRootBone (void) const |
Internal method which parses the bones to derive the root bone. | |
void | _dumpContents (const String &filename) |
Debugging method. | |
Protected Attributes | |
Skeleton * | mSkeleton |
Pointer back to master Skeleton. | |
ActiveTagPointList | mActiveTagPoints |
Active tag point list. | |
FreeTagPointQueue | mFreeTagPoints |
Free tag point queue. | |
unsigned short | mNextTagPointAutoHandle |
TagPoint automatic handles. | |
SkeletonAnimationBlendMode | mBlendState |
BoneList | mBoneList |
Storage of bones, indexed by bone handle. | |
BoneListByName | mBoneListByName |
BoneList | mRootBones |
Pointer to root bones (can now have multiple roots). | |
unsigned short | mNextAutoHandle |
Bone automatic handles. | |
AnimationList | mAnimationsList |
AnimationStateSet | mLastAnimationState |
Saved version of last animation. | |
String | mName |
ResourceHandle | mHandle |
bool | mIsLoaded |
time_t | mLastAccess |
size_t | mSize |
Definition at line 43 of file OgreSkeletonInstance.h.
|
Definition at line 94 of file OgreSkeletonInstance.h. |
|
Storage of animations, lookup by name.
Definition at line 273 of file OgreSkeleton.h. |
|
Definition at line 170 of file OgreSkeleton.h. Referenced by Ogre::Skeleton::getBoneIterator(), Ogre::Skeleton::getRootBoneIterator(), and load(). |
|
Definition at line 169 of file OgreSkeleton.h. |
|
Lookup by bone name.
Definition at line 262 of file OgreSkeleton.h. |
|
Definition at line 95 of file OgreSkeletonInstance.h. |
|
Constructor, don't call directly, this will be created automatically when you create an Entity based on a skeletally animated Mesh.
Definition at line 33 of file OgreSkeletonInstance.cpp. References mNextTagPointAutoHandle. |
|
Definition at line 39 of file OgreSkeletonInstance.cpp. References unload(). |
|
|
Populates the passed in array with the bone matrices based on the current position.
Definition at line 364 of file OgreSkeleton.cpp. References Ogre::Bone::_getBindingPoseInverseTransform(), Ogre::Node::_getFullTransform(), Ogre::Skeleton::_updateTransforms(), and Ogre::Skeleton::mBoneList. Referenced by Ogre::Entity::cacheBoneMatrices(). |
|
Initialise an animation set suitable for use with this mesh.
Definition at line 345 of file OgreSkeleton.cpp. References Ogre::AnimationStateSet, Ogre::Animation::getLength(), Ogre::Animation::getName(), Ogre::Skeleton::mAnimationsList, and Ogre::String. Referenced by Ogre::Mesh::_initAnimationState(). |
|
Updates all the derived transforms in the skeleton.
Definition at line 546 of file OgreSkeleton.cpp. References Ogre::Skeleton::mRootBones. Referenced by Ogre::Skeleton::_getBoneMatrices(), and Ogre::Skeleton::setBindingPose(). |
|
Definition at line 69 of file OgreSkeletonInstance.cpp. References Ogre::Node::addChild(), Ogre::Skeleton::createBone(), Ogre::Node::getChildIterator(), Ogre::Bone::getHandle(), Ogre::Node::getName(), Ogre::Node::getOrientation(), Ogre::Node::getPosition(), Ogre::Node::getScale(), Ogre::Skeleton::mRootBones, Ogre::Node::setOrientation(), Ogre::Node::setPosition(), and Ogre::Node::setScale(). Referenced by load(). |
|
Creates a new Animation object for animating this skeleton.
Reimplemented from Ogre::Skeleton. Definition at line 54 of file OgreSkeletonInstance.cpp. References Ogre::Skeleton::createAnimation(), mSkeleton, Ogre::Real, and Ogre::String. |
|
Creates a brand new Bone owned by this Skeleton.
Definition at line 163 of file OgreSkeleton.cpp. References Except, Ogre::Skeleton::mBoneList, Ogre::Skeleton::mBoneListByName, OGRE_MAX_NUM_BONES, and Ogre::String. |
|
Creates a brand new Bone owned by this Skeleton.
Definition at line 131 of file OgreSkeleton.cpp. References Ogre::Skeleton::createBone(), Ogre::Skeleton::mNextAutoHandle, and Ogre::String. |
|
Creates a brand new Bone owned by this Skeleton.
Definition at line 136 of file OgreSkeleton.cpp. References Except, Ogre::Node::getName(), Ogre::Skeleton::mBoneList, Ogre::Skeleton::mBoneListByName, and OGRE_MAX_NUM_BONES. |
|
Creates a brand new Bone owned by this Skeleton.
Definition at line 125 of file OgreSkeleton.cpp. References Ogre::Skeleton::mNextAutoHandle. Referenced by cloneBoneAndChildren(), Ogre::Skeleton::createBone(), Ogre::Bone::createChild(), Ogre::Bone::createChildImpl(), and Ogre::SkeletonSerializer::readBone(). |
|
Creates a TagPoint ready to be attached to a bone.
Definition at line 144 of file OgreSkeletonInstance.cpp. References Ogre::Node::addChild(), mActiveTagPoints, mFreeTagPoints, mNextTagPointAutoHandle, Ogre::Bone::setBindingPose(), Ogre::Node::setOrientation(), Ogre::Node::setPosition(), and Ogre::Node::setScale(). Referenced by Ogre::Entity::attachObjectToBone(). |
|
Internal method which parses the bones to derive the root bone.
Definition at line 430 of file OgreSkeleton.cpp. References Except, Ogre::Node::getParent(), Ogre::Skeleton::mBoneList, and Ogre::Skeleton::mRootBones. Referenced by Ogre::Skeleton::getRootBone(), and Ogre::Skeleton::getRootBoneIterator(). |
|
A method to make the resource delete itself.
Definition at line 137 of file OgreResource.h. |
|
Frees a TagPoint that already attached to a bone.
Definition at line 166 of file OgreSkeletonInstance.cpp. References Ogre::Node::getParent(), mActiveTagPoints, mFreeTagPoints, and Ogre::Node::removeChild(). Referenced by Ogre::Entity::detachObjectImpl(). |
|
Returns the named Animation object.
Reimplemented from Ogre::Skeleton. Definition at line 59 of file OgreSkeletonInstance.cpp. References Ogre::Skeleton::getAnimation(), mSkeleton, and Ogre::String. |
|
Gets a single animation by index.
Reimplemented from Ogre::Skeleton. Definition at line 49 of file OgreSkeletonInstance.cpp. References Ogre::Skeleton::getAnimation(), and mSkeleton. |
|
Gets the last animation state of this skeleton.
Definition at line 340 of file OgreSkeleton.cpp. References Ogre::AnimationStateSet, and Ogre::Skeleton::mLastAnimationState. |
|
Gets the animation blending mode which this skeleton will use.
Definition at line 522 of file OgreSkeleton.cpp. References Ogre::Skeleton::mBlendState, and Ogre::SkeletonAnimationBlendMode. |
|
Gets a bone by it's name.
Definition at line 416 of file OgreSkeleton.cpp. References Except, Ogre::Skeleton::mBoneListByName, and Ogre::String. |
|
Gets a bone by it's handle.
Definition at line 410 of file OgreSkeleton.cpp. References Ogre::Skeleton::mBoneList. Referenced by Ogre::Entity::_updateRenderQueue(), Ogre::Animation::apply(), Ogre::Entity::attachObjectToBone(), Ogre::SkeletonSerializer::readAnimationTrack(), Ogre::SkeletonSerializer::readBoneParent(), and Ogre::SkeletonSerializer::writeSkeleton(). |
|
Get an iterator over all the bones in the skeleton.
Definition at line 541 of file OgreSkeleton.cpp. References Ogre::Skeleton::BoneIterator, and Ogre::Skeleton::mBoneList. |
|
Definition at line 120 of file OgreResource.h. References Ogre::ResourceHandle. Referenced by Ogre::Material::clone(), Ogre::BspLevel::loadQuake3Level(), and Ogre::ResourceManager::unload(). |
|
Gets the last time the resource was 'touched'.
Definition at line 108 of file OgreResource.h. |
|
|
Gets the number of animations on this skeleton.
Reimplemented from Ogre::Skeleton. Definition at line 44 of file OgreSkeletonInstance.cpp. References Ogre::Skeleton::getNumAnimations(), and mSkeleton. |
|
Returns the number of bones in this skeleton.
Definition at line 359 of file OgreSkeleton.cpp. References Ogre::Skeleton::mBoneList. Referenced by Ogre::Entity::_updateRenderQueue(), Ogre::Entity::cacheBoneMatrices(), Ogre::Entity::Entity(), and Ogre::SkeletonSerializer::writeSkeleton(). |
|
Gets the root bone of the skeleton: deprecated in favour of getRootBoneIterator.
Definition at line 199 of file OgreSkeleton.cpp. References Ogre::Skeleton::deriveRootBone(), and Ogre::Skeleton::mRootBones. |
|
Get an iterator over the root bones in the skeleton, ie those with no parents.
Definition at line 532 of file OgreSkeleton.cpp. References Ogre::Skeleton::BoneIterator, Ogre::Skeleton::deriveRootBone(), and Ogre::Skeleton::mRootBones. Referenced by load(). |
|
Retrieves info about the size of the resource.
Definition at line 93 of file OgreResource.h. Referenced by Ogre::ResourceManager::unload(). |
|
Returns true if the Resource has been loaded, false otherwise.
Definition at line 127 of file OgreResource.h. Referenced by Ogre::GpuProgramUsage::_load(), Ogre::SceneManager::deriveShadowCasterPass(), Ogre::SceneManager::deriveShadowReceiverPass(), Ogre::Technique::isLoaded(), Ogre::D3D9Texture::load(), Ogre::D3D9Texture::unload(), and Ogre::D3D9Texture::~D3D9Texture(). |
|
Overridden from Skeleton.
Reimplemented from Ogre::Skeleton. Definition at line 100 of file OgreSkeletonInstance.cpp. References Ogre::Node::_update(), Ogre::Skeleton::BoneIterator, cloneBoneAndChildren(), Ogre::Skeleton::getRootBoneIterator(), Ogre::Skeleton::mBlendState, Ogre::Resource::mIsLoaded, Ogre::Skeleton::mNextAutoHandle, mNextTagPointAutoHandle, mSkeleton, and Ogre::Skeleton::setBindingPose(). Referenced by Ogre::Entity::Entity(). |
|
Removes an Animation from this skeleton.
Reimplemented from Ogre::Skeleton. Definition at line 64 of file OgreSkeletonInstance.cpp. References mSkeleton, Ogre::Skeleton::removeAnimation(), and Ogre::String. |
|
Resets the position and orientation of all bones in this skeleton to their original binding position.
Definition at line 278 of file OgreSkeleton.cpp. References Ogre::Skeleton::mBoneList. Referenced by Ogre::Skeleton::setAnimationState(). |
|
Changes the state of the skeleton to reflect the application of the passed in collection of animations.
Definition at line 209 of file OgreSkeleton.cpp. References Ogre::AnimationStateSet, Ogre::ANIMBLEND_CUMULATIVE, Ogre::Animation::apply(), Ogre::Skeleton::getAnimation(), Ogre::AnimationState::getAnimationName(), Ogre::AnimationState::getEnabled(), Ogre::AnimationState::getTimePosition(), Ogre::AnimationState::getWeight(), Ogre::Skeleton::mBlendState, Ogre::Skeleton::mLastAnimationState, and Ogre::Skeleton::reset(). Referenced by Ogre::Entity::cacheBoneMatrices(). |
|
Sets the current position / orientation to be the 'binding pose' ie the layout in which bones were originally bound to a mesh.
Definition at line 265 of file OgreSkeleton.cpp. References Ogre::Skeleton::_updateTransforms(), and Ogre::Skeleton::mBoneList. Referenced by Ogre::SkeletonSerializer::importSkeleton(), and load(). |
|
Sets the animation blending mode this skeleton will use.
Definition at line 527 of file OgreSkeleton.cpp. References Ogre::Skeleton::mBlendState, and Ogre::SkeletonAnimationBlendMode. |
|
'Touches' the resource to indicate it has been used.
Reimplemented in Ogre::Material. Definition at line 100 of file OgreResource.h. Referenced by Ogre::Mesh::clone(), Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), and Ogre::ResourceManager::load(). |
|
Overridden from Skeleton.
Reimplemented from Ogre::Skeleton. Definition at line 120 of file OgreSkeletonInstance.cpp. References mActiveTagPoints, and mFreeTagPoints. Referenced by ~SkeletonInstance(). |
|
Active tag point list.
Definition at line 105 of file OgreSkeletonInstance.h. Referenced by createTagPointOnBone(), freeTagPoint(), and unload(). |
|
Definition at line 274 of file OgreSkeleton.h. Referenced by Ogre::Skeleton::_dumpContents(), Ogre::Skeleton::_initAnimationState(), Ogre::Skeleton::createAnimation(), Ogre::Skeleton::getAnimation(), Ogre::Skeleton::getNumAnimations(), Ogre::Skeleton::removeAnimation(), and Ogre::Skeleton::unload(). |
|
Definition at line 258 of file OgreSkeleton.h. Referenced by Ogre::Skeleton::getBlendMode(), load(), Ogre::Skeleton::setAnimationState(), Ogre::Skeleton::setBlendMode(), and Ogre::Skeleton::Skeleton(). |
|
Storage of bones, indexed by bone handle.
Definition at line 260 of file OgreSkeleton.h. Referenced by Ogre::Skeleton::_dumpContents(), Ogre::Skeleton::_getBoneMatrices(), Ogre::Skeleton::createBone(), Ogre::Skeleton::deriveRootBone(), Ogre::Skeleton::getBone(), Ogre::Skeleton::getBoneIterator(), Ogre::Skeleton::getNumBones(), Ogre::Skeleton::reset(), Ogre::Skeleton::setBindingPose(), and Ogre::Skeleton::unload(). |
|
Definition at line 263 of file OgreSkeleton.h. Referenced by Ogre::Skeleton::createBone(), Ogre::Skeleton::getBone(), and Ogre::Skeleton::unload(). |
|
Free tag point queue.
Definition at line 114 of file OgreSkeletonInstance.h. Referenced by createTagPointOnBone(), freeTagPoint(), and unload(). |
|
Definition at line 57 of file OgreResource.h. Referenced by Ogre::ResourceManager::add(), Ogre::Material::clone(), Ogre::Material::copyDetailsTo(), and Ogre::Material::operator=(). |
|
|
Definition at line 59 of file OgreResource.h. Referenced by Ogre::Material::operator=(). |
|
Saved version of last animation.
Definition at line 278 of file OgreSkeleton.h. Referenced by Ogre::Skeleton::createAnimation(), Ogre::Skeleton::getAnimationState(), and Ogre::Skeleton::setAnimationState(). |
|
|
Bone automatic handles.
Definition at line 269 of file OgreSkeleton.h. Referenced by Ogre::Skeleton::createBone(), load(), and Ogre::Skeleton::Skeleton(). |
|
TagPoint automatic handles.
Definition at line 117 of file OgreSkeletonInstance.h. Referenced by createTagPointOnBone(), load(), and SkeletonInstance(). |
|
Pointer to root bones (can now have multiple roots).
Definition at line 267 of file OgreSkeleton.h. Referenced by Ogre::Skeleton::_updateTransforms(), cloneBoneAndChildren(), Ogre::Skeleton::deriveRootBone(), Ogre::Skeleton::getRootBone(), and Ogre::Skeleton::getRootBoneIterator(). |
|
Definition at line 60 of file OgreResource.h. Referenced by Ogre::D3D9Texture::_setFinalAttributes(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), and Ogre::Material::operator=(). |
|
Pointer back to master Skeleton.
Definition at line 92 of file OgreSkeletonInstance.h. Referenced by createAnimation(), getAnimation(), getNumAnimations(), load(), and removeAnimation(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:40 2004