#include <OgreAnimationTrack.h>
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. | |||||||||||||
VertexAnimationTrack (Animation *parent, unsigned short handle, VertexAnimationType animType, VertexData *targetData, TargetMode target=TM_SOFTWARE) | |||||||||||||
Constructor, associates with target VertexData and temp buffer (for software). | |||||||||||||
VertexAnimationType | getAnimationType (void) const | ||||||||||||
Get the type of vertex animation we're performing. | |||||||||||||
virtual VertexMorphKeyFrame * | createVertexMorphKeyFrame (Real timePos) | ||||||||||||
Creates a new morph KeyFrame and adds it to this animation at the given time index. | |||||||||||||
virtual VertexPoseKeyFrame * | createVertexPoseKeyFrame (Real timePos) | ||||||||||||
Creates the single pose KeyFrame and adds it to this animation. | |||||||||||||
void | getInterpolatedKeyFrame (Real timeIndex, KeyFrame *kf) const | ||||||||||||
This method in fact does nothing, since interpolation is not performed inside the keyframes for this type of track. | |||||||||||||
void | apply (Real timePos, Real weight=1.0, bool accumulate=false, Real scale=1.0f) | ||||||||||||
| |||||||||||||
virtual void | applyToVertexData (VertexData *data, Real timePos, Real weight=1.0, const PoseList *poseList=0) | ||||||||||||
As the 'apply' method but applies to specified VertexData instead of associated data. | |||||||||||||
VertexMorphKeyFrame * | getVertexMorphKeyFrame (unsigned short index) const | ||||||||||||
Returns the morph KeyFrame at the specified index. | |||||||||||||
VertexPoseKeyFrame * | getVertexPoseKeyFrame (unsigned short index) const | ||||||||||||
Returns the pose KeyFrame at the specified index. | |||||||||||||
void | setAssociatedVertexData (VertexData *data) | ||||||||||||
Sets the associated VertexData which this track will update. | |||||||||||||
VertexData * | getAssociatedVertexData (void) const | ||||||||||||
Gets the associated VertexData which this track will update. | |||||||||||||
void | setTargetMode (TargetMode m) | ||||||||||||
Set the target mode. | |||||||||||||
TargetMode | getTargetMode (void) const | ||||||||||||
Get the target mode. | |||||||||||||
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. | |||||||||||||
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 (Real timePos, 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 | _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. | |||||||||||||
Protected Types | |||||||||||||
typedef std::vector< KeyFrame * > | KeyFrameList | ||||||||||||
Protected Member Functions | |||||||||||||
KeyFrame * | createKeyFrameImpl (Real time) | ||||||||||||
| |||||||||||||
void | applyPoseToVertexData (const Pose *pose, VertexData *data, Real influence) | ||||||||||||
Utility method for applying pose animation. | |||||||||||||
Protected Attributes | |||||||||||||
VertexAnimationType | mAnimationType | ||||||||||||
Animation type. | |||||||||||||
VertexData * | mTargetVertexData | ||||||||||||
Target to animate. | |||||||||||||
TargetMode | mTargetMode | ||||||||||||
Mode to apply. | |||||||||||||
KeyFrameList | mKeyFrames | ||||||||||||
Animation * | mParent | ||||||||||||
unsigned short | mHandle |
Definition at line 367 of file OgreAnimationTrack.h.
|
Definition at line 151 of file OgreAnimationTrack.h. |
|
The target animation mode.
Definition at line 371 of file OgreAnimationTrack.h. |
|
Constructor.
|
|
Constructor, associates with target VertexData and temp buffer (for software).
|
|
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 139 of file OgreAnimationTrack.h. |
|
Implements Ogre::AnimationTrack. |
|
Utility method for applying pose animation.
|
|
As the 'apply' method but applies to specified VertexData instead of associated data.
|
|
Creates a new KeyFrame and adds it to this animation at the given time index.
|
|
Implements Ogre::AnimationTrack. |
|
Creates a new morph KeyFrame and adds it to this animation at the given time index.
|
|
Creates the single pose KeyFrame and adds it to this animation.
|
|
Get the type of vertex animation we're performing.
Definition at line 386 of file OgreAnimationTrack.h. |
|
Gets the associated VertexData which this track will update.
Definition at line 426 of file OgreAnimationTrack.h. |
|
Get the handle associated with this track.
Definition at line 66 of file OgreAnimationTrack.h. |
|
This method in fact does nothing, since interpolation is not performed inside the keyframes for this type of track.
Implements Ogre::AnimationTrack. Definition at line 404 of file OgreAnimationTrack.h. |
|
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.
|
|
Get the target mode.
Definition at line 431 of file OgreAnimationTrack.h. |
|
Returns the morph KeyFrame at the specified index.
|
|
Returns the pose KeyFrame at the specified index.
|
|
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. |
|
Optimise the current track by removing any duplicate keyframes.
Reimplemented from Ogre::AnimationTrack. |
|
Removes all the KeyFrames from this track.
|
|
Removes a KeyFrame by it's index.
|
|
Sets the associated VertexData which this track will update.
Definition at line 424 of file OgreAnimationTrack.h. |
|
Set the target mode.
Definition at line 429 of file OgreAnimationTrack.h. |
|
Animation type.
Definition at line 445 of file OgreAnimationTrack.h. |
|
Definition at line 154 of file OgreAnimationTrack.h. |
|
Definition at line 152 of file OgreAnimationTrack.h. |
|
Definition at line 153 of file OgreAnimationTrack.h. |
|
Mode to apply.
Definition at line 449 of file OgreAnimationTrack.h. |
|
Target to animate.
Definition at line 447 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 Jul 23 10:05:48 2006