#include <OgreAnimationTrack.h>
Inheritance diagram for Ogre::VertexAnimationTrack:
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). | ||||||||||
VertexAnimationType | getAnimationType (void) const | |||||||||
Get the type of vertex animation we're performing. | ||||||||||
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. | ||||||||||
virtual void | getInterpolatedKeyFrame (const TimeIndex &timeIndex, KeyFrame *kf) const | |||||||||
This method in fact does nothing, since interpolation is not performed inside the keyframes for this type of track. | ||||||||||
virtual void | apply (const TimeIndex &timeIndex, Real weight=1.0, Real scale=1.0f) | |||||||||
| ||||||||||
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. | ||||||||||
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. | ||||||||||
void | setAssociatedVertexData (VertexData *data) | |||||||||
Sets the associated VertexData which this track will update. | ||||||||||
VertexData * | getAssociatedVertexData (void) const | |||||||||
Gets the associated VertexData which this track will update. | ||||||||||
void | setTargetMode (TargetMode m) | |||||||||
Set the target mode. | ||||||||||
TargetMode | getTargetMode (void) const | |||||||||
Get the target mode. | ||||||||||
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. | ||||||||||
virtual void | optimise (void) | |||||||||
Optimise the current track by removing any duplicate keyframes. | ||||||||||
VertexAnimationTrack * | _clone (Animation *newParent) const | |||||||||
Clone this track (internal use only). | ||||||||||
unsigned short | getHandle (void) const | |||||||||
Get the handle associated with this track. | ||||||||||
virtual unsigned short | getNumKeyFrames (void) const | |||||||||
Returns the number of keyframes in this animation. | ||||||||||
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 KeyFrame * | createKeyFrame (Real timePos) | |||||||||
Creates a new KeyFrame and adds it to this animation at the given time index. | ||||||||||
virtual void | removeKeyFrame (unsigned short index) | |||||||||
Removes a KeyFrame by it's index. | ||||||||||
virtual void | removeAllKeyFrames (void) | |||||||||
Removes all the KeyFrames from this track. | ||||||||||
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 | _collectKeyFrameTimes (std::vector< Real > &keyFrameTimes) | |||||||||
Internal method to collect keyframe times, in unique, ordered format. | ||||||||||
virtual void | _buildKeyFrameIndexMap (const std::vector< Real > &keyFrameTimes) | |||||||||
Internal method to build keyframe time index map to translate global lower bound index to local lower bound index. | ||||||||||
virtual void | setListener (Listener *l) | |||||||||
Set a listener for this track. | ||||||||||
Animation * | getParent () const | |||||||||
Returns the parent Animation object for this track. | ||||||||||
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 * | operator new (size_t sz, void *ptr) | |||||||||
placement operator new | ||||||||||
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) | |||||||||
void | operator delete (void *ptr) | |||||||||
void | operator delete (void *ptr, void *) | |||||||||
void | operator delete (void *ptr, const char *, int, const char *) | |||||||||
void | operator delete[] (void *ptr) | |||||||||
void | operator delete[] (void *ptr, const char *, int, const char *) | |||||||||
Protected Types | ||||||||||
typedef std::vector< KeyFrame * > | KeyFrameList | |||||||||
typedef std::vector< ushort > | KeyFrameIndexMap | |||||||||
Map used to translate global keyframe time lower bound index to local lower bound index. | ||||||||||
Protected Member Functions | ||||||||||
KeyFrame * | createKeyFrameImpl (Real time) | |||||||||
| ||||||||||
void | applyPoseToVertexData (const Pose *pose, VertexData *data, Real influence) | |||||||||
Utility method for applying pose animation. | ||||||||||
virtual void | populateClone (AnimationTrack *clone) const | |||||||||
Internal method for clone implementation. | ||||||||||
Protected Attributes | ||||||||||
VertexAnimationType | mAnimationType | |||||||||
Animation type. | ||||||||||
VertexData * | mTargetVertexData | |||||||||
Target to animate. | ||||||||||
TargetMode | mTargetMode | |||||||||
Mode to apply. | ||||||||||
KeyFrameList | mKeyFrames | |||||||||
Animation * | mParent | |||||||||
unsigned short | mHandle | |||||||||
Listener * | mListener | |||||||||
KeyFrameIndexMap | mKeyFrameIndexMap |
Definition at line 469 of file OgreAnimationTrack.h.
|
Map used to translate global keyframe time lower bound index to local lower bound index.
Definition at line 241 of file OgreAnimationTrack.h. |
|
Definition at line 234 of file OgreAnimationTrack.h. |
|
The target animation mode.
Definition at line 473 of file OgreAnimationTrack.h. |
|
Constructor.
|
|
Constructor, associates with target VertexData and temp buffer (for software).
|
|
Internal method to build keyframe time index map to translate global lower bound index to local lower bound index.
|
|
Clone this track (internal use only).
|
|
Internal method to collect keyframe times, in unique, ordered format.
|
|
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 210 of file OgreAnimationTrack.h. |
|
Implements Ogre::AnimationTrack. |
|
Utility method for applying pose animation.
|
|
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.
|
|
Implements Ogre::AnimationTrack. |
|
Creates a new morph KeyFrame and adds it to this animation at the given time index.
|
|
Creates the single pose KeyFrame and adds it to this animation.
|
|
Get the type of vertex animation we're performing.
Definition at line 488 of file OgreAnimationTrack.h. |
|
Gets the associated VertexData which this track will update.
Definition at line 527 of file OgreAnimationTrack.h. |
|
Get the handle associated with this track.
Definition at line 140 of file OgreAnimationTrack.h. |
|
This method in fact does nothing, since interpolation is not performed inside the keyframes for this type of track.
Implements Ogre::AnimationTrack. Definition at line 506 of file OgreAnimationTrack.h. |
|
Returns the KeyFrame at the specified index.
|
|
Gets the 2 KeyFrame objects which are active at the time given, and the blend value between them.
|
|
Returns the number of keyframes in this animation.
|
|
Returns the parent Animation object for this track.
Definition at line 232 of file OgreAnimationTrack.h. |
|
Get the target mode.
Definition at line 532 of file OgreAnimationTrack.h. |
|
Returns the morph KeyFrame at the specified index.
|
|
Returns the pose KeyFrame at the specified index.
|
|
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. |
|
Definition at line 101 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 95 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 89 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 112 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 106 of file OgreMemoryAllocatedObject.h. |
|
placement operator new
Definition at line 73 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 67 of file OgreMemoryAllocatedObject.h. |
|
operator new, with debug line info
Definition at line 62 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 84 of file OgreMemoryAllocatedObject.h. |
|
array operator new, with debug line info
Definition at line 79 of file OgreMemoryAllocatedObject.h. |
|
Optimise the current track by removing any duplicate keyframes.
Reimplemented from Ogre::AnimationTrack. |
|
Internal method for clone implementation.
|
|
Removes all the KeyFrames from this track.
|
|
Removes a KeyFrame by it's index.
|
|
Sets the associated VertexData which this track will update.
Definition at line 525 of file OgreAnimationTrack.h. |
|
Set a listener for this track.
Definition at line 229 of file OgreAnimationTrack.h. |
|
Set the target mode.
Definition at line 530 of file OgreAnimationTrack.h. |
|
Animation type.
Definition at line 548 of file OgreAnimationTrack.h. |
|
Definition at line 237 of file OgreAnimationTrack.h. |
|
Definition at line 242 of file OgreAnimationTrack.h. |
|
Definition at line 235 of file OgreAnimationTrack.h. |
|
Definition at line 238 of file OgreAnimationTrack.h. |
|
Definition at line 236 of file OgreAnimationTrack.h. |
|
Mode to apply.
Definition at line 552 of file OgreAnimationTrack.h. |
|
Target to animate.
Definition at line 550 of file OgreAnimationTrack.h. |
Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 13:46:55 2009