Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Ogre::Skeleton Class Reference

A collection of Bone objects used to animate a skinned mesh. More...

#include <OgreSkeleton.h>

Inheritance diagram for Ogre::Skeleton:

Inheritance graph
[legend]
List of all members.

Public Types

typedef std::vector< Bone * > BoneList
typedef VectorIterator< BoneListBoneIterator

Public Methods

 Skeleton (const String &name)
 Constructor, don't call directly, use SkeletonManager.

virtual ~Skeleton ()
virtual void load (void)
 Generic load - called by SkeletonManager.

virtual void unload (void)
 Generic unload - called by SkeletonManager.

virtual BonecreateBone (void)
 Creates a brand new Bone owned by this Skeleton.

virtual BonecreateBone (unsigned short handle)
 Creates a brand new Bone owned by this Skeleton.

virtual BonecreateBone (const String &name)
 Creates a brand new Bone owned by this Skeleton.

virtual BonecreateBone (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 BonegetRootBone (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 BonegetBone (unsigned short handle) const
 Gets a bone by it's handle.

virtual BonegetBone (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 AnimationcreateAnimation (const String &name, Real length)
 Creates a new Animation object for animating this skeleton.

virtual AnimationgetAnimation (const String &name) const
 Returns the named Animation object.

virtual void removeAnimation (const String &name)
 Removes an Animation from this skeleton.

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 AnimationStateSetgetAnimationState (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 unsigned short getNumAnimations (void) const
 Gets the number of animations on this skeleton.

virtual AnimationgetAnimation (unsigned short index) const
 Gets a single animation by index.

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 StringgetName (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::map< String,
Bone * > 
BoneListByName
 Lookup by bone name.

typedef std::map< String,
Animation * > 
AnimationList
 Storage of animations, lookup by name.


Protected Methods

void deriveRootBone (void) const
 Internal method which parses the bones to derive the root bone.

void _dumpContents (const String &filename)
 Debugging method.


Protected Attributes

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

Friends

class SkeletonInstance

Detailed Description

A collection of Bone objects used to animate a skinned mesh.

Remarks:
Skeletal animation works by having a collection of 'bones' which are actually just joints with a position and orientation, arranged in a tree structure. For example, the wrist joint is a child of the elbow joint, which in turn is a child of the shoulder joint. Rotating the shoulder automatically moves the elbow and wrist as well due to this hierarchy.

So how does this animate a mesh? Well every vertex in a mesh is assigned to one or more bones which affects it's position when the bone is moved. If a vertex is assigned to more than one bone, then weights must be assigned to determine how much each bone affects the vertex (actually a weight of 1.0 is used for single bone assignments). Weighted vertex assignments are especially useful around the joints themselves to avoid 'pinching' of the mesh in this region.

Therefore by moving the skeleton using preset animations, we can animate the mesh. The advantage of using skeletal animation is that you store less animation data, especially as vertex counts increase. In addition, you are able to blend multiple animations together (e.g. walking and looking around, running and shooting) and provide smooth transitions between animations without incurring as much of an overhead as would be involved if you did this on the core vertex data.

Skeleton definitions are loaded from datafiles, namely the .skeleton file format. They are loaded on demand, especially when referenced by a Mesh.

Definition at line 72 of file OgreSkeleton.h.


Member Typedef Documentation

typedef std::map<String, Animation*> Ogre::Skeleton::AnimationList [protected]
 

Storage of animations, lookup by name.

Definition at line 273 of file OgreSkeleton.h.

typedef VectorIterator<BoneList> Ogre::Skeleton::BoneIterator
 

Definition at line 170 of file OgreSkeleton.h.

Referenced by getBoneIterator(), getRootBoneIterator(), and Ogre::SkeletonInstance::load().

typedef std::vector<Bone*> Ogre::Skeleton::BoneList
 

Definition at line 169 of file OgreSkeleton.h.

typedef std::map<String, Bone*> Ogre::Skeleton::BoneListByName [protected]
 

Lookup by bone name.

Definition at line 262 of file OgreSkeleton.h.


Constructor & Destructor Documentation

Ogre::Skeleton::Skeleton const String   name
 

Constructor, don't call directly, use SkeletonManager.

Remarks:
On creation, a Skeleton has a no bones, you should create them and link them together appropriately. Unless you state otherwise by attaching it to a higher bone, the first bone you create is deemed to be the root bone.

Definition at line 43 of file OgreSkeleton.cpp.

References Ogre::ANIMBLEND_AVERAGE, mBlendState, Ogre::Resource::mName, mNextAutoHandle, and Ogre::String.

Ogre::Skeleton::~Skeleton   [virtual]
 

Definition at line 55 of file OgreSkeleton.cpp.

References unload().


Member Function Documentation

void Ogre::Skeleton::_dumpContents const String   filename [protected]
 

Debugging method.

Definition at line 455 of file OgreSkeleton.cpp.

References Ogre::AnimationTrack::getAssociatedNode(), Ogre::Bone::getHandle(), Ogre::AnimationTrack::getKeyFrame(), Ogre::Animation::getLength(), Ogre::Animation::getName(), Ogre::AnimationTrack::getNumKeyFrames(), Ogre::Animation::getNumTracks(), Ogre::Node::getOrientation(), Ogre::Node::getPosition(), Ogre::KeyFrame::getRotation(), Ogre::KeyFrame::getTime(), Ogre::Animation::getTrack(), Ogre::KeyFrame::getTranslate(), mAnimationsList, mBoneList, Ogre::Resource::mName, Ogre::of, Ogre::String, Ogre::Quaternion::ToAngleAxis(), and Ogre::Radian::valueRadians().

void Ogre::Skeleton::_getBoneMatrices Matrix4   pMatrices [virtual]
 

Populates the passed in array with the bone matrices based on the current position.

Remarks:
Internal use only. The array pointed to by the passed in pointer must be at least as large as the number of bones. Assumes animation has already been updated.

Definition at line 364 of file OgreSkeleton.cpp.

References Ogre::Bone::_getBindingPoseInverseTransform(), Ogre::Node::_getFullTransform(), _updateTransforms(), and mBoneList.

Referenced by Ogre::Entity::cacheBoneMatrices().

void Ogre::Skeleton::_initAnimationState AnimationStateSet   animSet [virtual]
 

Initialise an animation set suitable for use with this mesh.

Remarks:
Only recommended for use inside the engine, not by applications.

Definition at line 345 of file OgreSkeleton.cpp.

References Ogre::AnimationStateSet, Ogre::Animation::getLength(), Ogre::Animation::getName(), mAnimationsList, and Ogre::String.

Referenced by Ogre::Mesh::_initAnimationState().

void Ogre::Skeleton::_updateTransforms void    [virtual]
 

Updates all the derived transforms in the skeleton.

Definition at line 546 of file OgreSkeleton.cpp.

References mRootBones.

Referenced by _getBoneMatrices(), and setBindingPose().

Animation * Ogre::Skeleton::createAnimation const String   name,
Real    length
[virtual]
 

Creates a new Animation object for animating this skeleton.

Parameters:
name  The name of this animation
length  The length of the animation in seconds

Reimplemented in Ogre::SkeletonInstance.

Definition at line 288 of file OgreSkeleton.cpp.

References Except, mAnimationsList, mLastAnimationState, Ogre::Real, and Ogre::String.

Referenced by Ogre::SkeletonInstance::createAnimation(), and Ogre::SkeletonSerializer::readAnimation().

Bone * Ogre::Skeleton::createBone const String   name,
unsigned short    handle
[virtual]
 

Creates a brand new Bone owned by this Skeleton.

Remarks:
This method creates an unattached new Bone for this skeleton and assigns it a specific name and handle. Unless this is to be the root bone (there must only be one of these), you must attach it to another Bone in the skeleton using addChild for it to be any use. For this reason you will likely be better off creating child bones using the Bone::createChild method instead, once you have created the root bone.
Parameters:
name  The name to give to this new bone - must be unique within this skeleton.
handle  The handle to give to this new bone - must be unique within this skeleton.

Definition at line 163 of file OgreSkeleton.cpp.

References Except, mBoneList, mBoneListByName, OGRE_MAX_NUM_BONES, and Ogre::String.

Bone * Ogre::Skeleton::createBone const String   name [virtual]
 

Creates a brand new Bone owned by this Skeleton.

Remarks:
This method creates an unattached new Bone for this skeleton and assigns it a specific name. Unless this is to be the root bone (there must only be one of these), you must attach it to another Bone in the skeleton using addChild for it to be any use. For this reason you will likely be better off creating child bones using the Bone::createChild method instead, once you have created the root bone.
Parameters:
name  The name to give to this new bone - must be unique within this skeleton. Note that the way OGRE looks up bones is via a numeric handle, so if you name a Bone this way it will be given an automatic sequential handle. The name is just for your convenience, although it is recommended that you only use the handle to retrieve the bone in performance-critical code.

Definition at line 131 of file OgreSkeleton.cpp.

References createBone(), mNextAutoHandle, and Ogre::String.

Bone * Ogre::Skeleton::createBone unsigned short    handle [virtual]
 

Creates a brand new Bone owned by this Skeleton.

Remarks:
This method creates an unattached new Bone for this skeleton and assigns it a specific handle. Unless this is to be the root bone (there must only be one of these), you must attach it to another Bone in the skeleton using addChild for it to be any use. For this reason you will likely be better off creating child bones using the Bone::createChild method instead, once you have created the root bone.
Parameters:
handle  The handle to give to this new bone - must be unique within this skeleton. You should also ensure that all bone handles are eventually contiguous (this is to simplify their compilation into an indexed array of transformation matrices). For this reason it is advised that you use the simpler createBone method which automatically assigns a sequential handle starting from 0.

Definition at line 136 of file OgreSkeleton.cpp.

References Except, Ogre::Node::getName(), mBoneList, mBoneListByName, and OGRE_MAX_NUM_BONES.

Bone * Ogre::Skeleton::createBone void    [virtual]
 

Creates a brand new Bone owned by this Skeleton.

Remarks:
This method creates an unattached new Bone for this skeleton. Unless this is to be the root bone (there must only be one of these), you must attach it to another Bone in the skeleton using addChild for it to be any use. For this reason you will likely be better off creating child bones using the Bone::createChild method instead, once you have created the root bone.

Note that this method automatically generates a handle for the bone, which you can retrieve using Bone::getHandle. If you wish the new Bone to have a specific handle, use the alternate form of this method which takes a handle as a parameter, although you should note the restrictions.

Definition at line 125 of file OgreSkeleton.cpp.

References mNextAutoHandle.

Referenced by Ogre::SkeletonInstance::cloneBoneAndChildren(), createBone(), Ogre::Bone::createChild(), Ogre::Bone::createChildImpl(), and Ogre::SkeletonSerializer::readBone().

void Ogre::Skeleton::deriveRootBone void    const [protected]
 

Internal method which parses the bones to derive the root bone.

Remarks:
Must be const because called in getRootBone but mRootBone is mutable since lazy-updated.

Definition at line 430 of file OgreSkeleton.cpp.

References Except, Ogre::Node::getParent(), mBoneList, and mRootBones.

Referenced by getRootBone(), and getRootBoneIterator().

virtual void Ogre::Resource::destroy void    [virtual, inherited]
 

A method to make the resource delete itself.

Note:
This exists because Resource objects could be created in other processes, and they need to be destroyed in the process that created them.

Definition at line 137 of file OgreResource.h.

Animation * Ogre::Skeleton::getAnimation unsigned short    index const [virtual]
 

Gets a single animation by index.

Reimplemented in Ogre::SkeletonInstance.

Definition at line 397 of file OgreSkeleton.cpp.

References mAnimationsList.

Animation * Ogre::Skeleton::getAnimation const String   name const [virtual]
 

Returns the named Animation object.

Reimplemented in Ogre::SkeletonInstance.

Definition at line 311 of file OgreSkeleton.cpp.

References Except, mAnimationsList, and Ogre::String.

Referenced by Ogre::SkeletonSerializer::exportSkeleton(), Ogre::SkeletonInstance::getAnimation(), and setAnimationState().

const AnimationStateSet & Ogre::Skeleton::getAnimationState void    const [virtual]
 

Gets the last animation state of this skeleton.

Definition at line 340 of file OgreSkeleton.cpp.

References Ogre::AnimationStateSet, and mLastAnimationState.

SkeletonAnimationBlendMode Ogre::Skeleton::getBlendMode   [virtual]
 

Gets the animation blending mode which this skeleton will use.

Definition at line 522 of file OgreSkeleton.cpp.

References mBlendState, and Ogre::SkeletonAnimationBlendMode.

Bone * Ogre::Skeleton::getBone const String   name const [virtual]
 

Gets a bone by it's name.

Definition at line 416 of file OgreSkeleton.cpp.

References Except, mBoneListByName, and Ogre::String.

Bone * Ogre::Skeleton::getBone unsigned short    handle const [virtual]
 

Gets a bone by it's handle.

Definition at line 410 of file OgreSkeleton.cpp.

References mBoneList.

Referenced by Ogre::Entity::_updateRenderQueue(), Ogre::Animation::apply(), Ogre::Entity::attachObjectToBone(), Ogre::SkeletonSerializer::readAnimationTrack(), Ogre::SkeletonSerializer::readBoneParent(), and Ogre::SkeletonSerializer::writeSkeleton().

Skeleton::BoneIterator Ogre::Skeleton::getBoneIterator void    [virtual]
 

Get an iterator over all the bones in the skeleton.

Definition at line 541 of file OgreSkeleton.cpp.

References BoneIterator, and mBoneList.

ResourceHandle Ogre::Resource::getHandle void    const [inherited]
 

Definition at line 120 of file OgreResource.h.

References Ogre::ResourceHandle.

Referenced by Ogre::Material::clone(), Ogre::BspLevel::loadQuake3Level(), and Ogre::ResourceManager::unload().

time_t Ogre::Resource::getLastAccess void    const [inherited]
 

Gets the last time the resource was 'touched'.

Definition at line 108 of file OgreResource.h.

const String& Ogre::Resource::getName void    const [inherited]
 

Gets resource name.

Reimplemented in Ogre::Material, and Ogre::Overlay.

Definition at line 115 of file OgreResource.h.

References Ogre::String.

Referenced by Ogre::D3D9Texture::_loadCubeTex(), Ogre::Mesh::_notifySkeleton(), Ogre::ResourceManager::add(), Ogre::PopupMenuGuiElement::addListItem(), Ogre::ListGuiElement::addListItem(), Ogre::PopupMenuGuiElement::addMenuItem(), Ogre::MeshManager::createPrefabPlane(), Ogre::TTYGuiElement::getFontName(), Ogre::TextAreaGuiElement::getFontName(), Ogre::PopupMenuGuiElement::getListItemName(), Ogre::ListGuiElement::getListItemName(), Ogre::GpuProgramUsage::getProgramName(), Ogre::MeshSerializer::importMesh(), Ogre::GLTexture::load(), Ogre::TextureManager::loadImage(), Ogre::TextureManager::loadRawData(), Ogre::FontManager::logBadAttrib(), Ogre::MeshSerializerImpl::readMeshLodInfo(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageManual(), Ogre::PopupMenuGuiElement::removeListItem(), Ogre::ListGuiElement::removeListItem(), Ogre::SceneManager::setSkyBox(), Ogre::SceneManager::setSkyDome(), and Ogre::ResourceManager::unload().

unsigned short Ogre::Skeleton::getNumAnimations void    const [virtual]
 

Gets the number of animations on this skeleton.

Reimplemented in Ogre::SkeletonInstance.

Definition at line 392 of file OgreSkeleton.cpp.

References mAnimationsList.

Referenced by Ogre::SkeletonSerializer::exportSkeleton(), and Ogre::SkeletonInstance::getNumAnimations().

unsigned short Ogre::Skeleton::getNumBones void    const [virtual]
 

Returns the number of bones in this skeleton.

Definition at line 359 of file OgreSkeleton.cpp.

References mBoneList.

Referenced by Ogre::Entity::_updateRenderQueue(), Ogre::Entity::cacheBoneMatrices(), Ogre::Entity::Entity(), and Ogre::SkeletonSerializer::writeSkeleton().

Bone * Ogre::Skeleton::getRootBone void    const [virtual]
 

Gets the root bone of the skeleton: deprecated in favour of getRootBoneIterator.

Remarks:
The system derives the root bone the first time you ask for it. The root bone is the only bone in the skeleton which has no parent. The system locates it by taking the first bone in the list and going up the bone tree until there are no more parents, and saves this top bone as the root. If you are building the skeleton manually using createBone then you must ensure there is only one bone which is not a child of another bone, otherwise your skeleton will not work properly. If you use createBone only once, and then use Bone::createChild from then on, then inherently the first bone you create will by default be the root.

Definition at line 199 of file OgreSkeleton.cpp.

References deriveRootBone(), and mRootBones.

Skeleton::BoneIterator Ogre::Skeleton::getRootBoneIterator void    [virtual]
 

Get an iterator over the root bones in the skeleton, ie those with no parents.

Definition at line 532 of file OgreSkeleton.cpp.

References BoneIterator, deriveRootBone(), and mRootBones.

Referenced by Ogre::SkeletonInstance::load().

virtual size_t Ogre::Resource::getSize void    const [virtual, inherited]
 

Retrieves info about the size of the resource.

Definition at line 93 of file OgreResource.h.

Referenced by Ogre::ResourceManager::unload().

bool Ogre::Resource::isLoaded void    const [inherited]
 

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().

void Ogre::Skeleton::load void    [virtual]
 

Generic load - called by SkeletonManager.

Implements Ogre::Resource.

Reimplemented in Ogre::SkeletonInstance.

Definition at line 60 of file OgreSkeleton.cpp.

References Ogre::DataChunk::clear(), Except, Ogre::SkeletonSerializer::importSkeleton(), Ogre::Resource::mIsLoaded, Ogre::Resource::mName, Ogre::String, and unload().

Referenced by Ogre::Mesh::setSkeletonName().

void Ogre::Skeleton::removeAnimation const String   name [virtual]
 

Removes an Animation from this skeleton.

Reimplemented in Ogre::SkeletonInstance.

Definition at line 324 of file OgreSkeleton.cpp.

References Except, mAnimationsList, and Ogre::String.

Referenced by Ogre::SkeletonInstance::removeAnimation().

void Ogre::Skeleton::reset bool    resetManualBones = false [virtual]
 

Resets the position and orientation of all bones in this skeleton to their original binding position.

Remarks:
A skeleton is bound to a mesh in a binding pose. Bone positions are then modified from this position during animation. This method returns all the bones to their original position and orientation.
Parameters:
resetManualBones  If set to true, causes the state of manual bones to be reset too, which is normally not done to allow the manual state to persist even when keyframe animation is applied.

Definition at line 278 of file OgreSkeleton.cpp.

References mBoneList.

Referenced by setAnimationState().

void Ogre::Skeleton::setAnimationState const AnimationStateSet   animSet [virtual]
 

Changes the state of the skeleton to reflect the application of the passed in collection of animations.

Remarks:
Animating a skeleton involves both interpolating between keyframes of a specific animation, and blending between the animations themselves. Calling this method sets the state of the skeleton so that it reflects the combination of all the passed in animations, at the time index specified for each, using the weights specified. Note that the weights between animations do not have to sum to 1.0, because some animations may affect only subsets of the skeleton. If the weights exceed 1.0 for the same area of the skeleton, the movement will just be exaggerated.
Parameters:

Definition at line 209 of file OgreSkeleton.cpp.

References Ogre::AnimationStateSet, Ogre::ANIMBLEND_CUMULATIVE, Ogre::Animation::apply(), getAnimation(), Ogre::AnimationState::getAnimationName(), Ogre::AnimationState::getEnabled(), Ogre::AnimationState::getTimePosition(), Ogre::AnimationState::getWeight(), mBlendState, mLastAnimationState, and reset().

Referenced by Ogre::Entity::cacheBoneMatrices().

void Ogre::Skeleton::setBindingPose void    [virtual]
 

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 _updateTransforms(), and mBoneList.

Referenced by Ogre::SkeletonSerializer::importSkeleton(), and Ogre::SkeletonInstance::load().

void Ogre::Skeleton::setBlendMode SkeletonAnimationBlendMode    state [virtual]
 

Sets the animation blending mode this skeleton will use.

Definition at line 527 of file OgreSkeleton.cpp.

References mBlendState, and Ogre::SkeletonAnimationBlendMode.

virtual void Ogre::Resource::touch void    [virtual, inherited]
 

'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().

void Ogre::Skeleton::unload void    [virtual]
 

Generic unload - called by SkeletonManager.

Reimplemented from Ogre::Resource.

Reimplemented in Ogre::SkeletonInstance.

Definition at line 101 of file OgreSkeleton.cpp.

References mAnimationsList, mBoneList, mBoneListByName, and Ogre::Resource::mIsLoaded.

Referenced by load(), and ~Skeleton().


Friends And Related Function Documentation

friend class SkeletonInstance [friend]
 

Definition at line 74 of file OgreSkeleton.h.


Member Data Documentation

AnimationList Ogre::Skeleton::mAnimationsList [protected]
 

Definition at line 274 of file OgreSkeleton.h.

Referenced by _dumpContents(), _initAnimationState(), createAnimation(), getAnimation(), getNumAnimations(), removeAnimation(), and unload().

SkeletonAnimationBlendMode Ogre::Skeleton::mBlendState [protected]
 

Definition at line 258 of file OgreSkeleton.h.

Referenced by getBlendMode(), Ogre::SkeletonInstance::load(), setAnimationState(), setBlendMode(), and Skeleton().

BoneList Ogre::Skeleton::mBoneList [protected]
 

Storage of bones, indexed by bone handle.

Definition at line 260 of file OgreSkeleton.h.

Referenced by _dumpContents(), _getBoneMatrices(), createBone(), deriveRootBone(), getBone(), getBoneIterator(), getNumBones(), reset(), setBindingPose(), and unload().

BoneListByName Ogre::Skeleton::mBoneListByName [protected]
 

Definition at line 263 of file OgreSkeleton.h.

Referenced by createBone(), getBone(), and unload().

ResourceHandle Ogre::Resource::mHandle [protected, inherited]
 

Definition at line 57 of file OgreResource.h.

Referenced by Ogre::ResourceManager::add(), Ogre::Material::clone(), Ogre::Material::copyDetailsTo(), and Ogre::Material::operator=().

bool Ogre::Resource::mIsLoaded [protected, inherited]
 

Definition at line 58 of file OgreResource.h.

Referenced by Ogre::D3D9Texture::_initMembers(), Ogre::D3D9Texture::_loadCubeTex(), Ogre::D3D9Texture::_loadNormTex(), Ogre::D3D9Texture::_loadVolumeTex(), Ogre::Material::_notifyNeedsRecompile(), Ogre::Material::clone(), Ogre::D3DTexture::createSurface2D(), Ogre::D3DTexture::createSurface3D(), Ogre::D3D9Texture::D3D9Texture(), Ogre::D3DTexture::D3DTexture(), Ogre::DynLib::DynLib(), Ogre::Zip::load(), Ogre::SkeletonInstance::load(), load(), Ogre::PatchMesh::load(), Ogre::Mesh::load(), Ogre::Material::load(), Ogre::HighLevelGpuProgram::load(), Ogre::GpuProgram::load(), Ogre::GLTexture::load(), Ogre::GLSLGpuProgram::load(), Ogre::Font::load(), Ogre::DynLib::load(), Ogre::D3D9Texture::load(), Ogre::D3D9GpuProgram::load(), Ogre::D3DTexture::load(), Ogre::BspLevel::load(), Ogre::D3D9Texture::loadImage(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), Ogre::Material::Material(), Ogre::Material::operator=(), unload(), Ogre::Mesh::unload(), Ogre::Material::unload(), Ogre::HighLevelGpuProgram::unload(), Ogre::GLTexture::unload(), Ogre::Font::unload(), Ogre::DynLib::unload(), Ogre::D3D9Texture::unload(), Ogre::D3DTexture::unload(), and Ogre::BspLevel::~BspLevel().

time_t Ogre::Resource::mLastAccess [protected, inherited]
 

Definition at line 59 of file OgreResource.h.

Referenced by Ogre::Material::operator=().

AnimationStateSet Ogre::Skeleton::mLastAnimationState [protected]
 

Saved version of last animation.

Definition at line 278 of file OgreSkeleton.h.

Referenced by createAnimation(), getAnimationState(), and setAnimationState().

String Ogre::Resource::mName [protected, inherited]
 

Definition at line 56 of file OgreResource.h.

Referenced by _dumpContents(), Ogre::Mesh::_rationaliseBoneAssignments(), Ogre::GLSLProgram::attachToProgramObject(), Ogre::BspLevel::BspLevel(), Ogre::Mesh::buildEdgeList(), Ogre::Mesh::buildTangentVectors(), Ogre::Material::clone(), Ogre::Material::compile(), Ogre::GLSLProgram::compile(), Ogre::Material::copyDetailsTo(), Ogre::Quake3Shader::createAsMaterial(), Ogre::D3D9HLSLProgram::createLowLevelImpl(), Ogre::CgProgram::createLowLevelImpl(), Ogre::Font::createTextureFromFont(), Ogre::D3D9Texture::D3D9Texture(), Ogre::D3DTexture::D3DTexture(), Ogre::DynLib::DynLib(), Ogre::Font::Font(), Ogre::Mesh::generateLodLevels(), Ogre::Material::getBestTechnique(), Ogre::Overlay::getName(), Ogre::Material::getName(), Ogre::GLTexture::GLTexture(), Ogre::GpuProgram::GpuProgram(), Ogre::Zip::load(), load(), Ogre::Mesh::load(), Ogre::GLTexture::load(), Ogre::Font::load(), Ogre::DynLib::load(), Ogre::D3DTexture::load(), Ogre::BspLevel::load(), Ogre::D3D9GpuFragmentProgram::loadFromMicrocode(), Ogre::D3D9GpuVertexProgram::loadFromMicrocode(), Ogre::GLSLProgram::loadFromSource(), Ogre::GLArbGpuProgram::loadFromSource(), Ogre::D3D9HLSLProgram::loadFromSource(), Ogre::D3D9GpuProgram::loadFromSource(), Ogre::CgProgram::loadFromSource(), Ogre::GLTexture::loadImages(), Ogre::Material::Material(), Ogre::Mesh::Mesh(), Ogre::Material::operator=(), Ogre::Overlay::Overlay(), Ogre::Quake3Shader::Quake3Shader(), Ogre::CgProgram::selectProfile(), Ogre::Mesh::setSkeletonName(), Skeleton(), Ogre::StringResource::StringResource(), Ogre::Texture::Texture(), Ogre::Zip::unload(), Ogre::DynLib::unload(), Ogre::CgProgram::unloadImpl(), and Ogre::Zip::Zip().

unsigned short Ogre::Skeleton::mNextAutoHandle [protected]
 

Bone automatic handles.

Definition at line 269 of file OgreSkeleton.h.

Referenced by createBone(), Ogre::SkeletonInstance::load(), and Skeleton().

BoneList Ogre::Skeleton::mRootBones [protected]
 

Pointer to root bones (can now have multiple roots).

Definition at line 267 of file OgreSkeleton.h.

Referenced by _updateTransforms(), Ogre::SkeletonInstance::cloneBoneAndChildren(), deriveRootBone(), getRootBone(), and getRootBoneIterator().

size_t Ogre::Resource::mSize [protected, inherited]
 

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=().


The documentation for this class was generated from the following files:

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:39 2004