Specialised AnimationTrack for dealing with generic animable values. More...
#include <OgreAnimationTrack.h>
Public Member Functions | |
NumericAnimationTrack (Animation *parent, unsigned short handle) | |
Constructor. More... | |
NumericAnimationTrack (Animation *parent, unsigned short handle, AnimableValuePtr &target) | |
Constructor, associates with an AnimableValue. 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... | |
NumericAnimationTrack * | _clone (Animation *newParent) const |
Clone this track (internal use only) More... | |
virtual void | _collectKeyFrameTimes (vector< Real >::type &keyFrameTimes) |
Internal method to collect keyframe times, in unique, ordered format. More... | |
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. More... | |
virtual void | apply (const TimeIndex &timeIndex, Real weight=1.0, Real scale=1.0f) |
Applies an animation track to the designated target. More... | |
void | applyToAnimable (const AnimableValuePtr &anim, const TimeIndex &timeIndex, Real weight=1.0, Real scale=1.0f) |
Applies an animation track to a given animable value. More... | |
virtual KeyFrame * | createKeyFrame (Real timePos) |
Creates a new KeyFrame and adds it to this animation at the given time index. More... | |
virtual NumericKeyFrame * | createNumericKeyFrame (Real timePos) |
Creates a new KeyFrame and adds it to this animation at the given time index. More... | |
virtual const AnimableValuePtr & | getAssociatedAnimable (void) const |
Returns a pointer to the associated animable object (if any). More... | |
unsigned short | getHandle (void) const |
Get the handle associated with this track. More... | |
virtual void | getInterpolatedKeyFrame (const TimeIndex &timeIndex, KeyFrame *kf) const |
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... | |
NumericKeyFrame * | getNumericKeyFrame (unsigned short index) const |
Returns the KeyFrame at the specified index. More... | |
virtual unsigned short | getNumKeyFrames (void) 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 (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. More... | |
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 *) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
virtual void | optimise (void) |
Optimise the current track by removing any duplicate keyframes. More... | |
virtual void | removeAllKeyFrames (void) |
Removes all the KeyFrames from this track. More... | |
virtual void | removeKeyFrame (unsigned short index) |
Removes a KeyFrame by it's index. More... | |
virtual void | setAssociatedAnimable (const AnimableValuePtr &val) |
Sets the associated animable object which will be automatically affected by calls to 'apply'. More... | |
virtual void | setListener (Listener *l) |
Set a listener for this track. More... | |
Protected Types | |
typedef vector< ushort >::type | KeyFrameIndexMap |
Map used to translate global keyframe time lower bound index to local lower bound index. More... | |
typedef vector< KeyFrame * >::type | KeyFrameList |
Protected Member Functions | |
KeyFrame * | createKeyFrameImpl (Real time) |
Create a keyframe implementation - must be overridden. More... | |
virtual void | populateClone (AnimationTrack *clone) const |
Internal method for clone implementation. More... | |
Protected Attributes | |
unsigned short | mHandle |
KeyFrameIndexMap | mKeyFrameIndexMap |
KeyFrameList | mKeyFrames |
Listener * | mListener |
Animation * | mParent |
AnimableValuePtr | mTargetAnim |
Target to animate. More... | |
Specialised AnimationTrack for dealing with generic animable values.
Definition at line 261 of file OgreAnimationTrack.h.
|
protectedinherited |
Map used to translate global keyframe time lower bound index to local lower bound index.
Definition at line 246 of file OgreAnimationTrack.h.
|
protectedinherited |
Definition at line 239 of file OgreAnimationTrack.h.
Ogre::NumericAnimationTrack::NumericAnimationTrack | ( | Animation * | parent, |
unsigned short | handle | ||
) |
Constructor.
Ogre::NumericAnimationTrack::NumericAnimationTrack | ( | Animation * | parent, |
unsigned short | handle, | ||
AnimableValuePtr & | target | ||
) |
Constructor, associates with an AnimableValue.
|
virtualinherited |
Internal method to build keyframe time index map to translate global lower bound index to local lower bound index.
NumericAnimationTrack* Ogre::NumericAnimationTrack::_clone | ( | Animation * | newParent | ) | const |
Clone this track (internal use only)
|
virtualinherited |
Internal method to collect keyframe times, in unique, ordered format.
|
inlinevirtualinherited |
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 215 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.
void Ogre::NumericAnimationTrack::applyToAnimable | ( | const AnimableValuePtr & | anim, |
const TimeIndex & | timeIndex, | ||
Real | weight = 1.0 , |
||
Real | scale = 1.0f |
||
) |
Applies an animation track to a given animable value.
anim | The AnimableValue to which to apply the animation |
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. |
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 KeyFrame and adds it to this animation at the given time index.
timePos | The time from which this KeyFrame will apply. |
|
virtual |
Returns a pointer to the associated animable object (if any).
|
inlineinherited |
Get the handle associated with this track.
Definition at line 145 of file OgreAnimationTrack.h.
|
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. |
NumericKeyFrame* Ogre::NumericAnimationTrack::getNumericKeyFrame | ( | unsigned short | index | ) | const |
Returns the KeyFrame at the specified index.
|
virtualinherited |
Returns the number of keyframes in this animation.
|
inlineinherited |
Returns the parent Animation object for this track.
Definition at line 237 of file OgreAnimationTrack.h.
|
inlinevirtualinherited |
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::VertexAnimationTrack, and Ogre::NodeAnimationTrack.
Definition at line 221 of file OgreAnimationTrack.h.
|
inlineinherited |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
|
inlinevirtualinherited |
Optimise the current track by removing any duplicate keyframes.
Reimplemented in Ogre::VertexAnimationTrack, and Ogre::NodeAnimationTrack.
Definition at line 224 of file OgreAnimationTrack.h.
|
protectedvirtualinherited |
Internal method for clone implementation.
|
virtualinherited |
Removes all the KeyFrames from this track.
|
virtualinherited |
Removes a KeyFrame by it's index.
|
virtual |
Sets the associated animable object which will be automatically affected by calls to 'apply'.
|
inlinevirtualinherited |
Set a listener for this track.
Definition at line 234 of file OgreAnimationTrack.h.
|
protectedinherited |
Definition at line 242 of file OgreAnimationTrack.h.
|
protectedinherited |
Definition at line 247 of file OgreAnimationTrack.h.
|
protectedinherited |
Definition at line 240 of file OgreAnimationTrack.h.
|
protectedinherited |
Definition at line 243 of file OgreAnimationTrack.h.
|
protectedinherited |
Definition at line 241 of file OgreAnimationTrack.h.
|
protected |
Target to animate.
Definition at line 312 of file OgreAnimationTrack.h.