#include <OgreAnimationTrack.h>
Inheritance diagram for Ogre::AnimationTrack:
Public Member Functions | |
AnimationTrack (Animation *parent, unsigned short handle) | |
Constructor. | |
virtual | ~AnimationTrack () |
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 | getInterpolatedKeyFrame (const TimeIndex &timeIndex, KeyFrame *kf) const =0 |
Gets a KeyFrame object which contains the interpolated transforms at the time index specified. | |
virtual void | apply (const TimeIndex &timeIndex, Real weight=1.0, Real scale=1.0f)=0 |
Applies an animation track to the designated target. | |
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 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. | |
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 | |
virtual KeyFrame * | createKeyFrameImpl (Real time)=0 |
Create a keyframe implementation - must be overridden. | |
virtual void | populateClone (AnimationTrack *clone) const |
Internal method for clone implementation. | |
Protected Attributes | |
KeyFrameList | mKeyFrames |
Animation * | mParent |
unsigned short | mHandle |
Listener * | mListener |
KeyFrameIndexMap | mKeyFrameIndexMap |
Classes | |
class | Listener |
Listener allowing you to override certain behaviour of a track, for example to drive animation procedurally. More... |
a sequence of keyframes which affect a certain type of animable object.
Since the most common animable object is a Node, there are options in this class for associating the track with a Node which will receive keyframe updates automatically when the 'apply' method is called.
By default rotation is done using shortest-path algorithm. It is possible to change this behaviour using setUseShortestRotationPath() method.
Definition at line 116 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. |
|
Constructor.
|
|
|
|
Internal method to build keyframe time index map to translate global lower bound index to local lower bound index.
|
|
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. |
|
Applies an animation track to the designated target.
Implemented in Ogre::NumericAnimationTrack, Ogre::NodeAnimationTrack, and Ogre::VertexAnimationTrack. |
|
Creates a new KeyFrame and adds it to this animation at the given time index.
|
|
Create a keyframe implementation - must be overridden.
Implemented in Ogre::NumericAnimationTrack, Ogre::NodeAnimationTrack, and Ogre::VertexAnimationTrack. |
|
Get the handle associated with this track.
Definition at line 140 of file OgreAnimationTrack.h. |
|
Gets a KeyFrame object which contains the interpolated transforms at the time index specified.
Implemented in Ogre::NumericAnimationTrack, Ogre::NodeAnimationTrack, and Ogre::VertexAnimationTrack. |
|
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. |
|
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 in Ogre::NodeAnimationTrack, and Ogre::VertexAnimationTrack. Definition at line 216 of file OgreAnimationTrack.h. |
|
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 in Ogre::NodeAnimationTrack, and Ogre::VertexAnimationTrack. Definition at line 219 of file OgreAnimationTrack.h. |
|
Internal method for clone implementation.
|
|
Removes all the KeyFrames from this track.
|
|
Removes a KeyFrame by it's index.
|
|
Set a listener for this track.
Definition at line 229 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. |
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:54 2009