|  | OGRE
    1.11.6
    Object-Oriented Graphics Rendering Engine | 
Specialised AnimationTrack for dealing with changing vertex position information. More...
#include <OgreAnimationTrack.h>
 Inheritance diagram for Ogre::VertexAnimationTrack:
 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.  More... | |
| VertexAnimationTrack (Animation *parent, unsigned short handle, VertexAnimationType animType, VertexData *targetData, TargetMode target=TM_SOFTWARE) | |
| Constructor, associates with target VertexData and temp buffer (for software)  More... | |
| void | _applyBaseKeyFrame (const KeyFrame *base) | 
| Internal method to re-base the keyframes relative to a given keyframe.  More... | |
| 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.  More... | |
| VertexAnimationTrack * | _clone (Animation *newParent) const | 
| Clone this track (internal use only)  More... | |
| virtual void | _collectKeyFrameTimes (std::vector< Real > &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... | |
| 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.  More... | |
| virtual KeyFrame * | createKeyFrame (Real timePos) | 
| Creates a new KeyFrame and adds it to this animation at the given time index.  More... | |
| virtual VertexMorphKeyFrame * | createVertexMorphKeyFrame (Real timePos) | 
| Creates a new morph KeyFrame and adds it to this animation at the given time index.  More... | |
| virtual VertexPoseKeyFrame * | createVertexPoseKeyFrame (Real timePos) | 
| Creates the single pose KeyFrame and adds it to this animation.  More... | |
| VertexAnimationType | getAnimationType (void) const | 
| Get the type of vertex animation we're performing.  More... | |
| VertexData * | getAssociatedVertexData (void) const | 
| Gets the associated VertexData which this track will update.  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... | |
| 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... | |
| TargetMode | getTargetMode (void) const | 
| Get the target mode.  More... | |
| bool | getVertexAnimationIncludesNormals () const | 
| Whether the vertex animation (if present) includes normals.  More... | |
| VertexMorphKeyFrame * | getVertexMorphKeyFrame (unsigned short index) const | 
| Returns the morph KeyFrame at the specified index.  More... | |
| VertexPoseKeyFrame * | getVertexPoseKeyFrame (unsigned short index) const | 
| Returns the pose KeyFrame at the specified index.  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... | |
| 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... | |
| void | setAssociatedVertexData (VertexData *data) | 
| Sets the associated VertexData which this track will update.  More... | |
| virtual void | setListener (Listener *l) | 
| Set a listener for this track.  More... | |
| void | setTargetMode (TargetMode m) | 
| Set the target mode.  More... | |
Specialised AnimationTrack for dealing with changing vertex position information.
| Ogre::VertexAnimationTrack::VertexAnimationTrack | ( | Animation * | parent, | 
| unsigned short | handle, | ||
| VertexAnimationType | animType | ||
| ) | 
Constructor.
| Ogre::VertexAnimationTrack::VertexAnimationTrack | ( | Animation * | parent, | 
| unsigned short | handle, | ||
| VertexAnimationType | animType, | ||
| VertexData * | targetData, | ||
| TargetMode | target = TM_SOFTWARE | ||
| ) | 
Constructor, associates with target VertexData and temp buffer (for software)
| 
 | inline | 
Get the type of vertex animation we're performing.
Referenced by Ogre::Lod0Stripifier::~Lod0Stripifier().
| bool Ogre::VertexAnimationTrack::getVertexAnimationIncludesNormals | ( | ) | const | 
Whether the vertex animation (if present) includes normals.
| 
 | virtual | 
Creates a new morph KeyFrame and adds it to this animation at the given time index.
| timePos | The time from which this KeyFrame will apply. | 
| 
 | virtual | 
Creates the single pose KeyFrame and adds it to this animation.
| 
 | 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.
| 
 | 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.
| 
 | virtual | 
As the 'apply' method but applies to specified VertexData instead of associated data.
| VertexMorphKeyFrame* Ogre::VertexAnimationTrack::getVertexMorphKeyFrame | ( | unsigned short | index | ) | const | 
Returns the morph KeyFrame at the specified index.
Referenced by Ogre::Lod0Stripifier::~Lod0Stripifier().
| VertexPoseKeyFrame* Ogre::VertexAnimationTrack::getVertexPoseKeyFrame | ( | unsigned short | index | ) | const | 
Returns the pose KeyFrame at the specified index.
| 
 | inline | 
Sets the associated VertexData which this track will update.
| 
 | inline | 
Gets the associated VertexData which this track will update.
| 
 | inline | 
Set the target mode.
| 
 | inline | 
Get the target mode.
| 
 | virtual | 
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.
| 
 | virtual | 
Optimise the current track by removing any duplicate keyframes.
Reimplemented from Ogre::AnimationTrack.
| VertexAnimationTrack* Ogre::VertexAnimationTrack::_clone | ( | Animation * | newParent | ) | const | 
Clone this track (internal use only)
| 
 | virtual | 
Internal method to re-base the keyframes relative to a given keyframe.
Reimplemented from Ogre::AnimationTrack.
| 
 | inlineinherited | 
Get the handle associated with this track.
Referenced by Ogre::Lod0Stripifier::StripLod0Vertices().
| 
 | virtualinherited | 
Returns the number of keyframes in this animation.
Referenced by Ogre::Lod0Stripifier::~Lod0Stripifier().
| 
 | 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. | 
Creates a new KeyFrame and adds it to this animation at the given time index.
| timePos | The time from which this KeyFrame will apply. | 
| 
 | virtualinherited | 
Removes a KeyFrame by it's index.
| 
 | virtualinherited | 
Removes all the KeyFrames from this track.
| 
 | 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.
| 
 | virtualinherited | 
Internal method to collect keyframe times, in unique, ordered format.
| 
 | virtualinherited | 
Internal method to build keyframe time index map to translate global lower bound index to local lower bound index.
| 
 | inlinevirtualinherited | 
Set a listener for this track.
| 
 | inlineinherited | 
Returns the parent Animation object for this track.