|
OGRE
1.9.0
|
Specialised AnimationTrack for dealing with changing vertex position information. More...
#include <OgreAnimationTrack.h>

Public Types | |
| enum | TargetMode { TM_SOFTWARE , TM_HARDWARE } |
| The target animation mode. More... | |
Public Member Functions | |
| VertexAnimationTrack (Animation *parent, unsigned short handle, VertexAnimationType animType) | |
| Constructor. | |
| VertexAnimationTrack (Animation *parent, unsigned short handle, VertexAnimationType animType, VertexData *targetData, TargetMode target=TM_SOFTWARE) | |
| Constructor, associates with target VertexData and temp buffer (for software) | |
| void | _applyBaseKeyFrame (const KeyFrame *base) |
| Internal method to re-base the keyframes relative to a given keyframe. | |
| virtual void | _buildKeyFrameIndexMap (const vector< Real >::type &keyFrameTimes) |
| Internal method to build keyframe time index map to translate global lower bound index to local lower bound index. | |
| VertexAnimationTrack * | _clone (Animation *newParent) const |
| Clone this track (internal use only) | |
| virtual void | _collectKeyFrameTimes (vector< Real >::type &keyFrameTimes) |
| Internal method to collect keyframe times, in unique, ordered format. | |
| virtual void | _keyFrameDataChanged (void) const |
| Internal method used to tell the track that keyframe data has been changed, which may cause it to rebuild some internal data. | |
| virtual void | apply (const TimeIndex &timeIndex, Real weight=1.0, Real scale=1.0f) |
| Applies an animation track to the designated target. | |
| virtual void | applyToVertexData (VertexData *data, const TimeIndex &timeIndex, Real weight=1.0, const PoseList *poseList=0) |
| As the 'apply' method but applies to specified VertexData instead of associated data. | |
| virtual KeyFrame * | createKeyFrame (Real timePos) |
| Creates a new KeyFrame and adds it to this animation at the given time index. | |
| virtual VertexMorphKeyFrame * | createVertexMorphKeyFrame (Real timePos) |
| Creates a new morph KeyFrame and adds it to this animation at the given time index. | |
| virtual VertexPoseKeyFrame * | createVertexPoseKeyFrame (Real timePos) |
| Creates the single pose KeyFrame and adds it to this animation. | |
| VertexAnimationType | getAnimationType (void) const |
| Get the type of vertex animation we're performing. | |
| VertexData * | getAssociatedVertexData (void) const |
| Gets the associated VertexData which this track will update. | |
| unsigned short | getHandle (void) const |
| Get the handle associated with this track. | |
| virtual void | getInterpolatedKeyFrame (const TimeIndex &timeIndex, KeyFrame *kf) const |
| Gets a KeyFrame object which contains the interpolated transforms at the time index specified. | |
| virtual KeyFrame * | getKeyFrame (unsigned short index) const |
| Returns the KeyFrame at the specified index. | |
| virtual Real | getKeyFramesAtTime (const TimeIndex &timeIndex, KeyFrame **keyFrame1, KeyFrame **keyFrame2, unsigned short *firstKeyIndex=0) const |
| Gets the 2 KeyFrame objects which are active at the time given, and the blend value between them. | |
| virtual unsigned short | getNumKeyFrames (void) const |
| Returns the number of keyframes in this animation. | |
| Animation * | getParent () const |
| Returns the parent Animation object for this track. | |
| TargetMode | getTargetMode (void) const |
| Get the target mode. | |
| bool | getVertexAnimationIncludesNormals () const |
| Whether the vertex animation (if present) includes normals. | |
| VertexMorphKeyFrame * | getVertexMorphKeyFrame (unsigned short index) const |
| Returns the morph KeyFrame at the specified index. | |
| VertexPoseKeyFrame * | getVertexPoseKeyFrame (unsigned short index) const |
| Returns the pose KeyFrame at the specified index. | |
| virtual bool | hasNonZeroKeyFrames (void) const |
| Method to determine if this track has any KeyFrames which are doing anything useful - can be used to determine if this track can be optimised out. | |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete (void *ptr, void *) |
| void | operator delete (void *ptr, void *) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info | |
| void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info | |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info | |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info | |
| virtual void | optimise (void) |
| Optimise the current track by removing any duplicate keyframes. | |
| virtual void | removeAllKeyFrames (void) |
| Removes all the KeyFrames from this track. | |
| virtual void | removeKeyFrame (unsigned short index) |
| Removes a KeyFrame by it's index. | |
| void | setAssociatedVertexData (VertexData *data) |
| Sets the associated VertexData which this track will update. | |
| virtual void | setListener (Listener *l) |
| Set a listener for this track. | |
| void | setTargetMode (TargetMode m) |
| Set the target mode. | |
Protected Types | |
| typedef vector< ushort >::type | KeyFrameIndexMap |
| Map used to translate global keyframe time lower bound index to local lower bound index. | |
| typedef vector< KeyFrame * >::type | KeyFrameList |
Protected Member Functions | |
| void | applyPoseToVertexData (const Pose *pose, VertexData *data, Real influence) |
| Utility method for applying pose animation. | |
| KeyFrame * | createKeyFrameImpl (Real time) |
| Create a keyframe implementation - must be overridden. | |
| virtual void | populateClone (AnimationTrack *clone) const |
| Internal method for clone implementation. | |
Protected Attributes | |
| VertexAnimationType | mAnimationType |
| Animation type. | |
| unsigned short | mHandle |
| KeyFrameIndexMap | mKeyFrameIndexMap |
| KeyFrameList | mKeyFrames |
| Listener * | mListener |
| Animation * | mParent |
| TargetMode | mTargetMode |
| Mode to apply. | |
| VertexData * | mTargetVertexData |
| Target to animate. | |
Specialised AnimationTrack for dealing with changing vertex position information.
Definition at line 480 of file OgreAnimationTrack.h.
|
protectedinherited |
Map used to translate global keyframe time lower bound index to local lower bound index.
Definition at line 250 of file OgreAnimationTrack.h.
|
protectedinherited |
Definition at line 243 of file OgreAnimationTrack.h.
The target animation mode.
| Enumerator | |
|---|---|
| TM_SOFTWARE | Interpolate vertex positions in software. |
| TM_HARDWARE | Bind keyframe 1 to position, and keyframe 2 to a texture coordinate for interpolation in hardware. |
Definition at line 484 of file OgreAnimationTrack.h.
| Ogre::VertexAnimationTrack::VertexAnimationTrack | ( | Animation * | parent, |
| unsigned short | handle, | ||
| VertexAnimationType | animType ) |
Constructor.
Referenced by _clone().
| Ogre::VertexAnimationTrack::VertexAnimationTrack | ( | Animation * | parent, |
| unsigned short | handle, | ||
| VertexAnimationType | animType, | ||
| VertexData * | targetData, | ||
| TargetMode | target = TM_SOFTWARE ) |
Constructor, associates with target VertexData and temp buffer (for software)
References TM_SOFTWARE.
|
virtual |
Internal method to re-base the keyframes relative to a given keyframe.
Reimplemented from Ogre::AnimationTrack.
|
virtualinherited |
Internal method to build keyframe time index map to translate global lower bound index to local lower bound index.
| VertexAnimationTrack * Ogre::VertexAnimationTrack::_clone | ( | Animation * | newParent | ) | const |
Clone this track (internal use only)
References VertexAnimationTrack().
|
virtualinherited |
Internal method to collect keyframe times, in unique, ordered format.
|
virtualinherited |
Internal method used to tell the track that keyframe data has been changed, which may cause it to rebuild some internal data.
Reimplemented in Ogre::NodeAnimationTrack.
Definition at line 216 of file OgreAnimationTrack.h.
|
virtual |
Applies an animation track to the designated target.
| timeIndex | The time position in the animation to apply. |
| weight | The influence to give to this track, 1.0 for full influence, less to blend with other animations. |
| scale | The scale to apply to translations and scalings, useful for adapting an animation to a different size target. |
Implements Ogre::AnimationTrack.
|
protected |
Utility method for applying pose animation.
|
virtual |
As the 'apply' method but applies to specified VertexData instead of associated data.
Creates a new KeyFrame and adds it to this animation at the given time index.
| timePos | The time from which this KeyFrame will apply. |
Create a keyframe implementation - must be overridden.
Implements Ogre::AnimationTrack.
|
virtual |
Creates a new morph KeyFrame and adds it to this animation at the given time index.
| timePos | The time from which this KeyFrame will apply. |
|
virtual |
Creates the single pose KeyFrame and adds it to this animation.
| VertexAnimationType Ogre::VertexAnimationTrack::getAnimationType | ( | void | ) | const |
Get the type of vertex animation we're performing.
Definition at line 499 of file OgreAnimationTrack.h.
References mAnimationType.
| VertexData * Ogre::VertexAnimationTrack::getAssociatedVertexData | ( | void | ) | const |
Gets the associated VertexData which this track will update.
Definition at line 540 of file OgreAnimationTrack.h.
References mTargetVertexData.
|
inherited |
Get the handle associated with this track.
Definition at line 146 of file OgreAnimationTrack.h.
References mHandle.
|
virtual |
Gets a KeyFrame object which contains the interpolated transforms at the time index specified.
| timeIndex | The time (in relation to the whole animation sequence) |
| kf | Keyframe object to store results |
Implements Ogre::AnimationTrack.
|
virtualinherited |
Returns the KeyFrame at the specified index.
|
virtualinherited |
Gets the 2 KeyFrame objects which are active at the time given, and the blend value between them.
| timeIndex | The time index. |
| keyFrame1 | Pointer to a KeyFrame pointer which will receive the pointer to the keyframe just before or at this time index. |
| keyFrame2 | Pointer to a KeyFrame pointer which will receive the pointer to the keyframe just after this time index. |
| firstKeyIndex | Pointer to an unsigned short which, if supplied, will receive the index of the 'from' keyframe in case the caller needs it. |
|
virtualinherited |
Returns the number of keyframes in this animation.
|
inherited |
Returns the parent Animation object for this track.
Definition at line 241 of file OgreAnimationTrack.h.
References mParent.
| TargetMode Ogre::VertexAnimationTrack::getTargetMode | ( | void | ) | const |
| bool Ogre::VertexAnimationTrack::getVertexAnimationIncludesNormals | ( | ) | const |
Whether the vertex animation (if present) includes normals.
| VertexMorphKeyFrame * Ogre::VertexAnimationTrack::getVertexMorphKeyFrame | ( | unsigned short | index | ) | const |
Returns the morph KeyFrame at the specified index.
| VertexPoseKeyFrame * Ogre::VertexAnimationTrack::getVertexPoseKeyFrame | ( | unsigned short | index | ) | const |
Returns the pose KeyFrame at the specified index.
|
virtual |
Method to determine if this track has any KeyFrames which are doing anything useful - can be used to determine if this track can be optimised out.
Reimplemented from Ogre::AnimationTrack.
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
virtual |
Optimise the current track by removing any duplicate keyframes.
Reimplemented from Ogre::AnimationTrack.
|
protectedvirtualinherited |
Internal method for clone implementation.
References AnimationTrack().
|
virtualinherited |
Removes all the KeyFrames from this track.
|
virtualinherited |
Removes a KeyFrame by it's index.
| void Ogre::VertexAnimationTrack::setAssociatedVertexData | ( | VertexData * | data | ) |
Sets the associated VertexData which this track will update.
Definition at line 538 of file OgreAnimationTrack.h.
References mTargetVertexData.
|
virtualinherited |
Set a listener for this track.
Definition at line 238 of file OgreAnimationTrack.h.
References mListener.
| void Ogre::VertexAnimationTrack::setTargetMode | ( | TargetMode | m | ) |
|
protected |
Animation type.
Definition at line 563 of file OgreAnimationTrack.h.
Referenced by getAnimationType().
|
protectedinherited |
Definition at line 246 of file OgreAnimationTrack.h.
Referenced by getHandle().
|
protectedinherited |
Definition at line 251 of file OgreAnimationTrack.h.
|
protectedinherited |
Definition at line 244 of file OgreAnimationTrack.h.
|
protectedinherited |
Definition at line 247 of file OgreAnimationTrack.h.
Referenced by setListener().
|
protectedinherited |
Definition at line 245 of file OgreAnimationTrack.h.
Referenced by getParent().
|
protected |
Mode to apply.
Definition at line 567 of file OgreAnimationTrack.h.
Referenced by getTargetMode(), and setTargetMode().
|
protected |
Target to animate.
Definition at line 565 of file OgreAnimationTrack.h.
Referenced by getAssociatedVertexData(), and setAssociatedVertexData().
1.13.2