OGRE-Next
3.0.0
Object-Oriented Graphics Rendering Engine
|
A 'track' in an animation sequence, i.e. More...
#include <OgreAnimationTrack.h>
Classes | |
class | Listener |
Listener allowing you to override certain behaviour of a track, for example to drive animation procedurally. More... | |
Public Member Functions | |
AnimationTrack (Animation *parent, unsigned short handle) | |
Constructor. More... | |
virtual | ~AnimationTrack () |
virtual void | _applyBaseKeyFrame (const KeyFrame *base) |
Internal method to re-base the keyframes relative to a given keyframe. More... | |
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. More... | |
virtual void | _collectKeyFrameTimes (vector< Real >::type &keyFrameTimes) |
Internal method to collect keyframe times, in unique, ordered format. More... | |
virtual void | _keyFrameDataChanged () const |
Internal method used to tell the track that keyframe data has been changed, which may cause it to rebuild some internal data. More... | |
virtual void | apply (const TimeIndex &timeIndex, Real weight=1.0, Real scale=1.0f)=0 |
Applies an animation track to the designated target. More... | |
virtual KeyFrame * | createKeyFrame (Real timePos) |
Creates a new KeyFrame and adds it to this animation at the given time index. More... | |
unsigned short | getHandle () const |
Get the handle associated with this track. More... | |
virtual void | getInterpolatedKeyFrame (const TimeIndex &timeIndex, KeyFrame *kf) const =0 |
Gets a KeyFrame object which contains the interpolated transforms at the time index specified. More... | |
virtual KeyFrame * | getKeyFrame (unsigned short index) const |
Returns the KeyFrame at the specified index. More... | |
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. More... | |
virtual unsigned short | getNumKeyFrames () const |
Returns the number of keyframes in this animation. More... | |
Animation * | getParent () const |
Returns the parent Animation object for this track. More... | |
virtual bool | hasNonZeroKeyFrames () 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. More... | |
virtual void | optimise () |
Optimise the current track by removing any duplicate keyframes. More... | |
virtual void | removeAllKeyFrames () |
Removes all the KeyFrames from this track. More... | |
virtual void | removeKeyFrame (unsigned short index) |
Removes a KeyFrame by it's index. More... | |
virtual void | setListener (Listener *l) |
Set a listener for this track. More... | |
A 'track' in an animation sequence, i.e.
a sequence of keyframes which affect a certain type of animable object.
Ogre::v1::AnimationTrack::AnimationTrack | ( | Animation * | parent, |
unsigned short | handle | ||
) |
Constructor.
|
virtual |
|
virtual |
Internal method to re-base the keyframes relative to a given keyframe.
Reimplemented in Ogre::v1::VertexAnimationTrack, Ogre::v1::OldNodeAnimationTrack, and Ogre::v1::NodeAnimationTrack.
|
virtual |
Internal method to build keyframe time index map to translate global lower bound index to local lower bound index.
|
virtual |
Internal method to collect keyframe times, in unique, ordered format.
|
inlinevirtual |
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::v1::OldNodeAnimationTrack, and Ogre::v1::NodeAnimationTrack.
|
pure 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. |
Implemented in Ogre::v1::VertexAnimationTrack, Ogre::v1::OldNodeAnimationTrack, Ogre::v1::NodeAnimationTrack, and Ogre::v1::NumericAnimationTrack.
Creates a new KeyFrame and adds it to this animation at the given time index.
timePos | The time from which this KeyFrame will apply. |
|
inline |
Get the handle associated with this track.
Referenced by Ogre::Lod0Stripifier::StripLod0Vertices().
|
pure 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 |
Implemented in Ogre::v1::VertexAnimationTrack, Ogre::v1::OldNodeAnimationTrack, Ogre::v1::NodeAnimationTrack, and Ogre::v1::NumericAnimationTrack.
|
virtual |
Returns the KeyFrame at the specified index.
|
virtual |
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. |
|
virtual |
Returns the number of keyframes in this animation.
Referenced by Ogre::VerticesRemapInfo::performAnimationTrackRemap().
|
inline |
Returns the parent Animation object for this track.
|
inlinevirtual |
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::v1::VertexAnimationTrack, Ogre::v1::OldNodeAnimationTrack, and Ogre::v1::NodeAnimationTrack.
|
inlinevirtual |
Optimise the current track by removing any duplicate keyframes.
Reimplemented in Ogre::v1::VertexAnimationTrack, Ogre::v1::OldNodeAnimationTrack, and Ogre::v1::NodeAnimationTrack.
|
virtual |
Removes all the KeyFrames from this track.
|
virtual |
Removes a KeyFrame by it's index.
|
inlinevirtual |
Set a listener for this track.