#include <OgreSkeleton.h>
Inheritance diagram for Ogre::Skeleton:

Public Types | |
| typedef std::vector< Bone * > | BoneList |
| typedef VectorIterator< BoneList > | BoneIterator |
| typedef std::vector< LinkedSkeletonAnimationSource > | LinkedSkeletonAnimSourceList |
| typedef ConstVectorIterator< LinkedSkeletonAnimSourceList > | LinkedSkeletonAnimSourceIterator |
| typedef std::vector< ushort > | BoneHandleMap |
| Map to translate bone handle from one skeleton to another skeleton. | |
| enum | LoadingState { LOADSTATE_UNLOADED, LOADSTATE_LOADING, LOADSTATE_LOADED, LOADSTATE_UNLOADING } |
| Enum identifying the loading state of the resource. More... | |
Public Member Functions | |
| Skeleton (ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual=false, ManualResourceLoader *loader=0) | |
| Constructor, don't call directly, use SkeletonManager. | |
| virtual | ~Skeleton () |
| 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 Animation * | createAnimation (const String &name, Real length) |
| Creates a new Animation object for animating this skeleton. | |
| virtual Animation * | getAnimation (const String &name, const LinkedSkeletonAnimationSource **linker=0) const |
| Returns the named Animation object. | |
| virtual Animation * | _getAnimationImpl (const String &name, const LinkedSkeletonAnimationSource **linker=0) const |
| Internal accessor for animations (returns null if animation does not exist). | |
| virtual bool | hasAnimation (const String &name) |
| Returns whether this skeleton contains the named animation. | |
| 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 void | _initAnimationState (AnimationStateSet *animSet) |
| Initialise an animation set suitable for use with this skeleton. | |
| virtual void | _refreshAnimationState (AnimationStateSet *animSet) |
| Refresh an animation set suitable for use with this skeleton. | |
| 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 Animation * | getAnimation (unsigned short index) const |
| Gets a single animation by index. | |
| virtual SkeletonAnimationBlendMode | getBlendMode () const |
| 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 void | optimiseAllAnimations (bool preservingIdentityNodeTracks=false) |
| Optimise all of this skeleton's animations. | |
| virtual void | addLinkedSkeletonAnimationSource (const String &skelName, Real scale=1.0f) |
| Allows you to use the animations from another Skeleton object to animate this skeleton. | |
| virtual void | removeAllLinkedSkeletonAnimationSources (void) |
| Remove all links to other skeletons for the purposes of sharing animation. | |
| virtual LinkedSkeletonAnimSourceIterator | getLinkedSkeletonAnimationSourceIterator (void) const |
| Get an iterator over the linked skeletons used as animation sources. | |
| virtual void | _notifyManualBonesDirty (void) |
| Internal method for marking the manual bones as dirty. | |
| virtual void | _notifyManualBoneStateChange (Bone *bone) |
| Internal method for notifying that a bone is manual. | |
| virtual bool | getManualBonesDirty (void) const |
| Have manual bones been modified since the skeleton was last updated? | |
| virtual bool | hasManualBones (void) const |
| Are there any manually controlled bones? | |
| virtual void | _mergeSkeletonAnimations (const Skeleton *source, const BoneHandleMap &boneHandleMap, const StringVector &animations=StringVector()) |
| Merge animations from another Skeleton object into this skeleton. | |
| virtual void | _buildMapBoneByHandle (const Skeleton *source, BoneHandleMap &boneHandleMap) const |
| Build the bone handle map to use with Skeleton::_mergeSkeletonAnimations. | |
| virtual void | _buildMapBoneByName (const Skeleton *source, BoneHandleMap &boneHandleMap) const |
| Build the bone handle map to use with Skeleton::_mergeSkeletonAnimations. | |
| virtual void | load (bool backgroundThread=false) |
| Loads the resource, if it is not already. | |
| virtual void | reload (void) |
| Reloads the resource, if it is already loaded. | |
| bool | isReloadable (void) const |
| Returns true if the Resource is reloadable, false otherwise. | |
| bool | isManuallyLoaded (void) const |
| Is this resource manually loaded? | |
| virtual void | unload (void) |
| Unloads the resource; this is not permanent, the resource can be reloaded later if required. | |
| 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. | |
| 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. | |
| LoadingState | isLoading () const |
| Returns whether the resource is currently in the process of background loading. | |
| LoadingState | getLoadingState () const |
| Returns the current loading state. | |
| bool | isBackgroundLoaded (void) const |
| Returns whether this Resource has been earmarked for background loading. | |
| void | setBackgroundLoaded (bool bl) |
| Tells the resource whether it is background loaded or not. | |
| void | escalateLoading () |
| Escalates the loading of a background loaded resource. | |
| void | addListener (Listener *lis) |
| Register a listener on this resource. | |
| void | removeListener (Listener *lis) |
| Remove a listener on this resource. | |
| const String & | getGroup (void) |
| Gets the group which this resource is a member of. | |
| void | changeGroupOwnership (const String &newGroup) |
| Change the resource group ownership of a Resource. | |
| ResourceManager * | getCreator (void) |
| Gets the manager which created this resource. | |
| const String & | getOrigin (void) const |
| Get the origin of this resource, e.g. | |
| void | _notifyOrigin (const String &origin) |
| Notify this resource of it's origin. | |
| ParamDictionary * | getParamDictionary (void) |
| Retrieves the parameter dictionary for this class. | |
| const ParamDictionary * | getParamDictionary (void) const |
| const ParameterList & | getParameters (void) const |
| Retrieves a list of parameters valid for this object. | |
| virtual bool | setParameter (const String &name, const String &value) |
| Generic parameter setting method. | |
| virtual void | setParameterList (const NameValuePairList ¶mList) |
| Generic multiple parameter setting method. | |
| virtual String | getParameter (const String &name) const |
| Generic parameter retrieval method. | |
| virtual void | copyParametersTo (StringInterface *dest) const |
| Method for copying this object's parameters to another object. | |
Static Public Member Functions | |
| static void | cleanupDictionary () |
| Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g. | |
Protected Types | |
| typedef std::map< String, Bone * > | BoneListByName |
| Lookup by bone name. | |
| typedef std::set< Bone * > | BoneSet |
| typedef std::map< String, Animation * > | AnimationList |
| Storage of animations, lookup by name. | |
| typedef std::list< Listener * > | ListenerList |
Protected Member Functions | |
| Skeleton () | |
| Internal constructor for use by SkeletonInstance only. | |
| void | deriveRootBone (void) const |
| Internal method which parses the bones to derive the root bone. | |
| void | _dumpContents (const String &filename) |
| Debugging method. | |
| void | loadImpl (void) |
| | |
| void | unloadImpl (void) |
| | |
| size_t | calculateSize (void) const |
| | |
| virtual void | preLoadImpl (void) |
| Internal hook to perform actions before the load process, but after the resource has been marked as 'loading'. | |
| virtual void | postLoadImpl (void) |
| Internal hook to perform actions after the load process, but before the resource has been marked as fully loaded. | |
| virtual void | preUnloadImpl (void) |
| Internal hook to perform actions before the unload process. | |
| virtual void | postUnloadImpl (void) |
| Internal hook to perform actions after the unload process, but before the resource has been marked as fully unloaded. | |
| virtual void | queueFireBackgroundLoadingComplete (void) |
| Queue the firing of background loading complete event. | |
| bool | createParamDictionary (const String &className) |
| Internal method for creating a parameter dictionary for the class, if it does not already exist. | |
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. | |
| BoneSet | mManualBones |
| Manual bones. | |
| bool | mManualBonesDirty |
| Manual bones dirty? | |
| AnimationList | mAnimationsList |
| LinkedSkeletonAnimSourceList | mLinkedSkeletonAnimSourceList |
| List of references to other skeletons to use animations from. | |
| ResourceManager * | mCreator |
| Creator. | |
| String | mName |
| Unique name of the resource. | |
| String | mGroup |
| The name of the resource group. | |
| ResourceHandle | mHandle |
| Numeric handle for more efficient look up than name. | |
| volatile LoadingState | mLoadingState |
| Is the resource currently loaded? | |
| volatile bool | mIsBackgroundLoaded |
| Is this resource going to be background loaded? Only applicable for multithreaded. | |
| size_t | mSize |
| Mutex to cover the status of loading The size of the resource in bytes. | |
| bool | mIsManual |
| Is this file manually loaded? | |
| String | mOrigin |
| Origin of this resource (e.g. script name) - optional. | |
| ManualResourceLoader * | mLoader |
| Optional manual loader; if provided, data is loaded from here instead of a file. | |
| ListenerList | mListenerList |
| String | mParamDictName |
| Class name for this instance to be used as a lookup (must be initialised by subclasses). | |
Static Protected Attributes | |
| static ParamDictionaryMap | msDictionary |
| Dictionary of parameters. | |
Friends | |
| class | SkeletonInstance |
Definition at line 80 of file OgreSkeleton.h.
|
|
Storage of animations, lookup by name.
Definition at line 419 of file OgreSkeleton.h. |
|
|
Map to translate bone handle from one skeleton to another skeleton.
Definition at line 345 of file OgreSkeleton.h. |
|
|
Definition at line 172 of file OgreSkeleton.h. |
|
|
Definition at line 171 of file OgreSkeleton.h. |
|
|
Lookup by bone name.
Definition at line 403 of file OgreSkeleton.h. |
|
|
Definition at line 411 of file OgreSkeleton.h. |
|
|
Definition at line 329 of file OgreSkeleton.h. |
|
|
Definition at line 327 of file OgreSkeleton.h. |
|
|
Definition at line 131 of file OgreResource.h. |
|
|
Enum identifying the loading state of the resource.
Definition at line 96 of file OgreResource.h. |
|
|
Internal constructor for use by SkeletonInstance only.
|
|
||||||||||||||||||||||||||||
|
Constructor, don't call directly, use SkeletonManager.
|
|
|
|
|
||||||||||||
|
Build the bone handle map to use with Skeleton::_mergeSkeletonAnimations.
|
|
||||||||||||
|
Build the bone handle map to use with Skeleton::_mergeSkeletonAnimations.
|
|
|
Debugging method.
|
|
||||||||||||
|
Internal accessor for animations (returns null if animation does not exist).
Reimplemented in Ogre::SkeletonInstance. |
|
|
Populates the passed in array with the bone matrices based on the current position.
|
|
|
Initialise an animation set suitable for use with this skeleton.
Reimplemented in Ogre::SkeletonInstance. |
|
||||||||||||||||
|
Merge animations from another Skeleton object into this skeleton.
|
|
|
Internal method for marking the manual bones as dirty.
|
|
|
Internal method for notifying that a bone is manual.
|
|
|
Notify this resource of it's origin.
Definition at line 357 of file OgreResource.h. |
|
|
Refresh an animation set suitable for use with this skeleton.
Reimplemented in Ogre::SkeletonInstance. |
|
|
Updates all the derived transforms in the skeleton.
|
|
||||||||||||
|
Allows you to use the animations from another Skeleton object to animate this skeleton.
Reimplemented in Ogre::SkeletonInstance. |
|
|
Register a listener on this resource.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. |
|
|
Implements Ogre::Resource. Definition at line 443 of file OgreSkeleton.h. |
|
|
Change the resource group ownership of a Resource.
|
|
|
Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g. MaterialManager) initializes. |
|
|
Method for copying this object's parameters to another object.
Definition at line 300 of file OgreStringInterface.h. References Ogre::ParamDictionary::mParamDefs. |
|
||||||||||||
|
Creates a new Animation object for animating this skeleton.
Reimplemented in Ogre::SkeletonInstance. |
|
||||||||||||
|
Creates a brand new Bone owned by this Skeleton.
|
|
|
Creates a brand new Bone owned by this Skeleton.
|
|
|
Creates a brand new Bone owned by this Skeleton.
|
|
|
Creates a brand new Bone owned by this Skeleton.
|
|
|
Internal method for creating a parameter dictionary for the class, if it does not already exist.
Definition at line 176 of file OgreStringInterface.h. |
|
|
Internal method which parses the bones to derive the root bone.
|
|
|
Escalates the loading of a background loaded resource.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. |
|
|
Gets a single animation by index.
Reimplemented in Ogre::SkeletonInstance. |
|
||||||||||||
|
Returns the named Animation object.
Reimplemented in Ogre::SkeletonInstance. |
|
|
Gets the animation blending mode which this skeleton will use.
|
|
|
Gets a bone by it's name.
|
|
|
Gets a bone by it's handle.
|
|
|
Get an iterator over all the bones in the skeleton.
|
|
|
Gets the manager which created this resource.
Definition at line 348 of file OgreResource.h. |
|
|
Gets the group which this resource is a member of.
Reimplemented in Ogre::SkeletonInstance. Definition at line 336 of file OgreResource.h. |
|
|
Reimplemented in Ogre::SkeletonInstance. Definition at line 262 of file OgreResource.h. |
|
|
Get an iterator over the linked skeletons used as animation sources.
Reimplemented in Ogre::SkeletonInstance. |
|
|
Returns the current loading state.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. Definition at line 285 of file OgreResource.h. |
|
|
Have manual bones been modified since the skeleton was last updated?
Definition at line 340 of file OgreSkeleton.h. |
|
|
Gets resource name.
Reimplemented in Ogre::SkeletonInstance. Definition at line 257 of file OgreResource.h. |
|
|
Gets the number of animations on this skeleton.
Reimplemented in Ogre::SkeletonInstance. |
|
|
Returns the number of bones in this skeleton.
|
|
|
Get the origin of this resource, e.g. a script file name.
Definition at line 355 of file OgreResource.h. |
|
|
Definition at line 213 of file OgreStringInterface.h. |
|
|
Retrieves the parameter dictionary for this class.
Definition at line 200 of file OgreStringInterface.h. |
|
|
Generic parameter retrieval method.
Definition at line 269 of file OgreStringInterface.h. References Ogre::ParamCommand::doGet(), and Ogre::ParamDictionary::getParamCommand(). |
|
|
Retrieves a list of parameters valid for this object.
|
|
|
Gets the root bone of the skeleton: deprecated in favour of getRootBoneIterator.
|
|
|
Get an iterator over the root bones in the skeleton, ie those with no parents.
|
|
|
Retrieves info about the size of the resource.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. Definition at line 246 of file OgreResource.h. |
|
|
Returns whether this skeleton contains the named animation.
|
|
|
Are there any manually controlled bones?
Definition at line 342 of file OgreSkeleton.h. |
|
|
Returns whether this Resource has been earmarked for background loading.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. Definition at line 302 of file OgreResource.h. |
|
|
Returns true if the Resource has been loaded, false otherwise.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. Definition at line 269 of file OgreResource.h. |
|
|
Returns whether the resource is currently in the process of background loading.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. Definition at line 278 of file OgreResource.h. |
|
|
Is this resource manually loaded?
Definition at line 234 of file OgreResource.h. |
|
|
Returns true if the Resource is reloadable, false otherwise.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. Definition at line 227 of file OgreResource.h. |
|
|
Loads the resource, if it is not already.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. |
|
|
Implements Ogre::Resource. Reimplemented in Ogre::SkeletonInstance. |
|
|
Optimise all of this skeleton's animations.
|
|
|
Internal hook to perform actions after the load process, but before the resource has been marked as fully loaded.
Reimplemented in Ogre::Mesh. Definition at line 155 of file OgreResource.h. |
|
|
Internal hook to perform actions after the unload process, but before the resource has been marked as fully unloaded.
Definition at line 165 of file OgreResource.h. |
|
|
Internal hook to perform actions before the load process, but after the resource has been marked as 'loading'.
Definition at line 148 of file OgreResource.h. |
|
|
Internal hook to perform actions before the unload process.
Definition at line 160 of file OgreResource.h. |
|
|
Queue the firing of background loading complete event.
|
|
|
Reloads the resource, if it is already loaded.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. |
|
|
Remove all links to other skeletons for the purposes of sharing animation.
Reimplemented in Ogre::SkeletonInstance. |
|
|
Removes an Animation from this skeleton.
Reimplemented in Ogre::SkeletonInstance. |
|
|
Remove a listener on this resource.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. |
|
|
Resets the position and orientation of all bones in this skeleton to their original binding position.
|
|
|
Changes the state of the skeleton to reflect the application of the passed in collection of animations.
|
|
|
Tells the resource whether it is background loaded or not.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. Definition at line 312 of file OgreResource.h. |
|
|
Sets the current position / orientation to be the 'binding pose' ie the layout in which bones were originally bound to a mesh.
|
|
|
Sets the animation blending mode this skeleton will use.
|
|
||||||||||||
|
Generic parameter setting method.
|
|
|
Generic multiple parameter setting method.
|
|
|
'Touches' the resource to indicate it has been used.
Reimplemented in Ogre::Material, and Ogre::UnifiedHighLevelGpuProgram. |
|
|
Unloads the resource; this is not permanent, the resource can be reloaded later if required.
Reimplemented in Ogre::UnifiedHighLevelGpuProgram. |
|
|
Implements Ogre::Resource. Reimplemented in Ogre::SkeletonInstance. |
|
|
Definition at line 82 of file OgreSkeleton.h. |
|
|
Definition at line 420 of file OgreSkeleton.h. |
|
|
Definition at line 399 of file OgreSkeleton.h. |
|
|
Storage of bones, indexed by bone handle.
Definition at line 401 of file OgreSkeleton.h. |
|
|
Definition at line 404 of file OgreSkeleton.h. |
|
|
Creator.
Definition at line 109 of file OgreResource.h. |
|
|
The name of the resource group.
Definition at line 113 of file OgreResource.h. |
|
|
Numeric handle for more efficient look up than name.
Definition at line 115 of file OgreResource.h. |
|
|
Is this resource going to be background loaded? Only applicable for multithreaded.
Definition at line 119 of file OgreResource.h. |
|
|
Is this file manually loaded?
Definition at line 125 of file OgreResource.h. |
|
|
List of references to other skeletons to use animations from.
Definition at line 423 of file OgreSkeleton.h. |
|
|
Definition at line 132 of file OgreResource.h. |
|
|
Optional manual loader; if provided, data is loaded from here instead of a file.
Definition at line 129 of file OgreResource.h. |
|
|
Is the resource currently loaded?
Definition at line 117 of file OgreResource.h. |
|
|
Manual bones.
Definition at line 413 of file OgreSkeleton.h. |
|
|
Manual bones dirty?
Definition at line 415 of file OgreSkeleton.h. |
|
|
Unique name of the resource.
Definition at line 111 of file OgreResource.h. |
|
|
Bone automatic handles.
Definition at line 410 of file OgreSkeleton.h. |
|
|
Origin of this resource (e.g. script name) - optional.
Definition at line 127 of file OgreResource.h. |
|
|
Class name for this instance to be used as a lookup (must be initialised by subclasses).
Definition at line 164 of file OgreStringInterface.h. |
|
|
Pointer to root bones (can now have multiple roots).
Definition at line 408 of file OgreSkeleton.h. |
|
|
Dictionary of parameters.
Definition at line 161 of file OgreStringInterface.h. |
|
|
Mutex to cover the status of loading The size of the resource in bytes.
Definition at line 123 of file OgreResource.h. |
Copyright © 2000-2005 by The OGRE Team

This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 30 10:53:24 2007