#include <OgreSkeletonInstance.h>
Inheritance diagram for Ogre::SkeletonInstance:
Public Types | |||||
typedef std::vector< Bone * > | BoneList | ||||
typedef VectorIterator< BoneList > | BoneIterator | ||||
typedef std::vector< LinkedSkeletonAnimationSource > | LinkedSkeletonAnimSourceList | ||||
typedef ConstVectorIterator< LinkedSkeletonAnimSourceList > | LinkedSkeletonAnimSourceIterator | ||||
Public Member Functions | |||||
SkeletonInstance (const SkeletonPtr &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 LinkedSkeletonAnimationSource **linker=0) const | ||||
Returns the named Animation object. | |||||
void | removeAnimation (const String &name) | ||||
Removes an Animation from this 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. | |||||
void | addLinkedSkeletonAnimationSource (const String &skelName, Real scale=1.0f) | ||||
| |||||
void | removeAllLinkedSkeletonAnimationSources (void) | ||||
| |||||
LinkedSkeletonAnimSourceIterator | getLinkedSkeletonAnimationSourceIterator (void) const | ||||
| |||||
void | _initAnimationState (AnimationStateSet *animSet) | ||||
| |||||
void | _refreshAnimationState (AnimationStateSet *animSet) | ||||
| |||||
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. | |||||
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 | setAnimationState (const AnimationStateSet &animSet) | ||||
Changes the state of the skeleton to reflect the application of the passed in collection of animations. | |||||
virtual void | _getBoneMatrices (Matrix4 *pMatrices) | ||||
Populates the passed in array with the bone matrices based on the current position. | |||||
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 (void) | ||||
Optimise all of this skeleton's animations. | |||||
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 | load (void) | ||||
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. | |||||
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 | |||||
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::list< TagPoint * > | ActiveTagPointList | ||||
typedef std::deque< TagPoint * > | FreeTagPointQueue | ||||
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. | |||||
Protected Member Functions | |||||
void | cloneBoneAndChildren (Bone *source, Bone *parent) | ||||
void | loadImpl (void) | ||||
Overridden from Skeleton. | |||||
void | unloadImpl (void) | ||||
Overridden from Skeleton. | |||||
void | deriveRootBone (void) const | ||||
Internal method which parses the bones to derive the root bone. | |||||
void | _dumpContents (const String &filename) | ||||
Debugging method. | |||||
size_t | calculateSize (void) const | ||||
| |||||
bool | createParamDictionary (const String &className) | ||||
Internal method for creating a parameter dictionary for the class, if it does not already exist. | |||||
Protected Attributes | |||||
SkeletonPtr | 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. | |||||
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. | |||||
bool | mIsLoaded | ||||
Is the resource currently loaded? | |||||
size_t | mSize | ||||
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. | |||||
String | mParamDictName | ||||
Class name for this instance to be used as a lookup (must be initialised by subclasses). | |||||
Static Protected Attributes | |||||
ParamDictionaryMap | msDictionary | ||||
Dictionary of parameters. |
Definition at line 43 of file OgreSkeletonInstance.h.
|
Definition at line 103 of file OgreSkeletonInstance.h. |
|
Storage of animations, lookup by name.
Definition at line 358 of file OgreSkeleton.h. |
|
Definition at line 167 of file OgreSkeleton.h. |
|
Definition at line 166 of file OgreSkeleton.h. |
|
Lookup by bone name.
Definition at line 342 of file OgreSkeleton.h. |
|
Definition at line 350 of file OgreSkeleton.h. |
|
Definition at line 104 of file OgreSkeletonInstance.h. |
|
Definition at line 322 of file OgreSkeleton.h. |
|
Definition at line 320 of file OgreSkeleton.h. |
|
Constructor, don't call directly, this will be created automatically when you create an Entity based on a skeletally animated Mesh.
|
|
|
|
Debugging method.
|
|
Internal accessor for animations (returns null if animation does not exist).
|
|
Populates the passed in array with the bone matrices based on the current position.
|
|
Reimplemented from Ogre::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 223 of file OgreResource.h. References Ogre::String. |
|
Reimplemented from Ogre::Skeleton. |
|
Updates all the derived transforms in the skeleton.
|
|
Reimplemented from Ogre::Skeleton. |
|
Implements Ogre::Resource. Definition at line 382 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 296 of file OgreStringInterface.h. References Ogre::ParamDictionary::mParamDefs, and Ogre::StringInterface::setParameter(). |
|
Creates a new Animation object for animating this skeleton.
Reimplemented from Ogre::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.
|
|
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 172 of file OgreStringInterface.h. References Ogre::String. |
|
Creates a TagPoint ready to be attached to a bone.
|
|
Internal method which parses the bones to derive the root bone.
|
|
Frees a TagPoint that already attached to a bone.
|
|
Returns the named Animation object.
Reimplemented from Ogre::Skeleton. |
|
Gets a single animation by index.
Reimplemented from Ogre::Skeleton. |
|
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 214 of file OgreResource.h. |
|
Gets the group which this resource is a member of.
Definition at line 202 of file OgreResource.h. References Ogre::String. |
|
Definition at line 188 of file OgreResource.h. References Ogre::ResourceHandle. |
|
Reimplemented from Ogre::Skeleton. |
|
Have manual bones been modified since the skeleton was last updated?
Definition at line 333 of file OgreSkeleton.h. |
|
Gets resource name.
Definition at line 183 of file OgreResource.h. References Ogre::String. |
|
Gets the number of animations on this skeleton.
Reimplemented from Ogre::Skeleton. |
|
Returns the number of bones in this skeleton.
|
|
Get the origin of this resource, e.g. a script file name.
Definition at line 221 of file OgreResource.h. References Ogre::String. |
|
Definition at line 209 of file OgreStringInterface.h. |
|
Retrieves the parameter dictionary for this class.
Definition at line 196 of file OgreStringInterface.h. |
|
Generic parameter retrieval method.
Definition at line 265 of file OgreStringInterface.h. References Ogre::ParamCommand::doGet(), Ogre::ParamDictionary::getParamCommand(), and Ogre::String. |
|
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.
Definition at line 172 of file OgreResource.h. |
|
Returns whether this skeleton contains the named animation.
|
|
Are there any manually controlled bones?
Definition at line 335 of file OgreSkeleton.h. |
|
Returns true if the Resource has been loaded, false otherwise.
Definition at line 195 of file OgreResource.h. References OGRE_LOCK_AUTO_MUTEX. |
|
Is this resource manually loaded?
Definition at line 160 of file OgreResource.h. |
|
Returns true if the Resource is reloadable, false otherwise.
Definition at line 153 of file OgreResource.h. |
|
Loads the resource, if it is not already.
Reimplemented in Ogre::Mesh, and Ogre::GLSLGpuProgram. |
|
Overridden from Skeleton.
Reimplemented from Ogre::Skeleton. |
|
Optimise all of this skeleton's animations.
|
|
Reloads the resource, if it is already loaded.
|
|
Reimplemented from Ogre::Skeleton. |
|
Removes an Animation from this skeleton.
Reimplemented from Ogre::Skeleton. |
|
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.
|
|
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.
Referenced by Ogre::StringInterface::copyParametersTo(). |
|
Generic multiple parameter setting method.
|
|
'Touches' the resource to indicate it has been used.
Reimplemented in Ogre::Material. |
|
Unloads the resource; this is not permanent, the resource can be reloaded later if required.
Reimplemented in Ogre::GLSLGpuProgram. |
|
Overridden from Skeleton.
Reimplemented from Ogre::Skeleton. |
|
Active tag point list.
Definition at line 114 of file OgreSkeletonInstance.h. |
|
Definition at line 359 of file OgreSkeleton.h. |
|
Definition at line 338 of file OgreSkeleton.h. |
|
Storage of bones, indexed by bone handle.
Definition at line 340 of file OgreSkeleton.h. |
|
Definition at line 343 of file OgreSkeleton.h. |
|
Creator.
Definition at line 73 of file OgreResource.h. |
|
Free tag point queue.
Definition at line 123 of file OgreSkeletonInstance.h. |
|
The name of the resource group.
Definition at line 77 of file OgreResource.h. |
|
Numeric handle for more efficient look up than name.
Definition at line 79 of file OgreResource.h. |
|
Is the resource currently loaded?
Definition at line 81 of file OgreResource.h. |
|
Is this file manually loaded?
Definition at line 85 of file OgreResource.h. |
|
List of references to other skeletons to use animations from.
Definition at line 362 of file OgreSkeleton.h. |
|
Optional manual loader; if provided, data is loaded from here instead of a file.
Definition at line 89 of file OgreResource.h. |
|
Manual bones.
Definition at line 352 of file OgreSkeleton.h. |
|
Manual bones dirty?
Definition at line 354 of file OgreSkeleton.h. |
|
Unique name of the resource.
Definition at line 75 of file OgreResource.h. |
|
Bone automatic handles.
Definition at line 349 of file OgreSkeleton.h. |
|
TagPoint automatic handles.
Definition at line 126 of file OgreSkeletonInstance.h. |
|
Origin of this resource (e.g. script name) - optional.
Definition at line 87 of file OgreResource.h. |
|
Class name for this instance to be used as a lookup (must be initialised by subclasses).
Definition at line 160 of file OgreStringInterface.h. |
|
Pointer to root bones (can now have multiple roots).
Definition at line 347 of file OgreSkeleton.h. |
|
Dictionary of parameters.
Definition at line 157 of file OgreStringInterface.h. |
|
The size of the resource in bytes.
Definition at line 83 of file OgreResource.h. |
|
Pointer back to master Skeleton.
Definition at line 101 of file OgreSkeletonInstance.h. |
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:44:29 2006