#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. | |
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 |
| KeyFrameIndexMap | mKeyFrameIndexMap |
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 222 of file OgreAnimationTrack.h. |
|
|
Definition at line 216 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 197 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 125 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.
|
|
|
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 203 of file OgreAnimationTrack.h. |
|
|
Optimise the current track by removing any duplicate keyframes.
Reimplemented in Ogre::NodeAnimationTrack, and Ogre::VertexAnimationTrack. Definition at line 206 of file OgreAnimationTrack.h. |
|
|
Internal method for clone implementation.
|
|
|
Removes all the KeyFrames from this track.
|
|
|
Removes a KeyFrame by it's index.
|
|
|
Definition at line 219 of file OgreAnimationTrack.h. |
|
|
Definition at line 223 of file OgreAnimationTrack.h. |
|
|
Definition at line 217 of file OgreAnimationTrack.h. |
|
|
Definition at line 218 of file OgreAnimationTrack.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:51:02 2007