#include <OgreAnimationTrack.h>
Public Methods | |
AnimationTrack (Animation *parent) | |
Constructor. | |
AnimationTrack (Animation *parent, Node *targetNode) | |
Constructor, associates with a Node. | |
virtual | ~AnimationTrack () |
unsigned short | getNumKeyFrames (void) const |
Returns the number of keyframes in this animation. | |
KeyFrame * | getKeyFrame (unsigned short index) const |
Returns the KeyFrame at the specified index. | |
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. | |
KeyFrame * | createKeyFrame (Real timePos) |
Creates a new KeyFrame and adds it to this animation at the given time index. | |
void | removeKeyFrame (unsigned short index) |
Removes a KeyFrame by it's index. | |
void | removeAllKeyFrames (void) |
Removes all the KeyFrames from this track. | |
KeyFrame | getInterpolatedKeyFrame (Real timeIndex) const |
Gets a KeyFrame object which contains the interpolated transforms at the time index specified. | |
void | apply (Real timePos, Real weight=1.0, bool accumulate=false) |
Applies an animation track at a certain position to the target node. | |
Node * | getAssociatedNode (void) const |
Returns a pointer to the associated Node object (if any). | |
void | setAssociatedNode (Node *node) |
Sets the associated Node object which will be automatically affected by calls to 'apply'. | |
void | applyToNode (Node *node, Real timePos, Real weight=1.0, bool accumulate=false) |
As the 'apply' method but applies to a specified Node instead of associated node. | |
void | setUseShortestRotationPath (bool useShortestPath) |
Sets the method of rotation calculation. | |
bool | getUseShortestRotationPath () const |
Gets the method of rotation calculation. | |
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 Methods | |
void | buildInterpolationSplines (void) const |
Protected Attributes | |
KeyFrameList | mKeyFrames |
Real | mMaxKeyFrameTime |
Animation * | mParent |
Node * | mTargetNode |
bool | mSplineBuildNeeded |
SimpleSpline | mPositionSpline |
SimpleSpline | mScaleSpline |
RotationalSpline | mRotationSpline |
bool | mUseShortestRotationPath |
Defines if rotation is done using shortest path. |
Definition at line 54 of file OgreAnimationTrack.h.
|
Definition at line 153 of file OgreAnimationTrack.h. |
|
Constructor.
Definition at line 41 of file OgreAnimationTrack.cpp. References mMaxKeyFrameTime, mSplineBuildNeeded, mTargetNode, and mUseShortestRotationPath. |
|
Constructor, associates with a Node.
Definition at line 49 of file OgreAnimationTrack.cpp. References mMaxKeyFrameTime, mSplineBuildNeeded, and mUseShortestRotationPath. |
|
Definition at line 57 of file OgreAnimationTrack.cpp. References removeAllKeyFrames(). |
|
Internal method used to tell the track that keyframe data has been changed, which may cause it to rebuild some internal data.
Definition at line 369 of file OgreAnimationTrack.cpp. References mSplineBuildNeeded. Referenced by createKeyFrame(), removeAllKeyFrames(), removeKeyFrame(), Ogre::KeyFrame::setRotation(), Ogre::KeyFrame::setScale(), and Ogre::KeyFrame::setTranslate(). |
|
Applies an animation track at a certain position to the target node.
Definition at line 269 of file OgreAnimationTrack.cpp. References applyToNode(), mTargetNode, and Ogre::Real. |
|
As the 'apply' method but applies to a specified Node instead of associated node.
Definition at line 285 of file OgreAnimationTrack.cpp. References Ogre::Node::_weightedTransform(), getInterpolatedKeyFrame(), Ogre::KeyFrame::getRotation(), Ogre::KeyFrame::getScale(), Ogre::KeyFrame::getTranslate(), Ogre::Real, Ogre::Node::rotate(), Ogre::Node::scale(), and Ogre::Node::translate(). Referenced by apply(). |
|
Definition at line 329 of file OgreAnimationTrack.cpp. References Ogre::RotationalSpline::addPoint(), Ogre::SimpleSpline::addPoint(), Ogre::RotationalSpline::clear(), Ogre::SimpleSpline::clear(), mKeyFrames, mPositionSpline, mRotationSpline, mScaleSpline, mSplineBuildNeeded, Ogre::RotationalSpline::recalcTangents(), Ogre::SimpleSpline::recalcTangents(), Ogre::RotationalSpline::setAutoCalculate(), and Ogre::SimpleSpline::setAutoCalculate(). Referenced by getInterpolatedKeyFrame(). |
|
Creates a new KeyFrame and adds it to this animation at the given time index.
Definition at line 139 of file OgreAnimationTrack.cpp. References _keyFrameDataChanged(), mKeyFrames, mMaxKeyFrameTime, and Ogre::Real. Referenced by Ogre::SkeletonSerializer::readKeyFrame(). |
|
Returns a pointer to the associated Node object (if any).
Definition at line 275 of file OgreAnimationTrack.cpp. References mTargetNode. Referenced by Ogre::Skeleton::_dumpContents(), and Ogre::SkeletonSerializer::writeAnimationTrack(). |
|
Gets a KeyFrame object which contains the interpolated transforms at the time index specified.
Definition at line 200 of file OgreAnimationTrack.cpp. References buildInterpolationSplines(), Ogre::Animation::getInterpolationMode(), getKeyFramesAtTime(), Ogre::KeyFrame::getRotation(), Ogre::KeyFrame::getScale(), Ogre::KeyFrame::getTranslate(), Ogre::SimpleSpline::interpolate(), Ogre::RotationalSpline::interpolate(), mParent, mPositionSpline, mRotationSpline, mScaleSpline, mUseShortestRotationPath, Ogre::Real, Ogre::KeyFrame::setRotation(), Ogre::KeyFrame::setScale(), and Ogre::KeyFrame::setTranslate(). Referenced by applyToNode(). |
|
Returns the KeyFrame at the specified index.
Definition at line 67 of file OgreAnimationTrack.cpp. References mKeyFrames, and Ogre::ushort. Referenced by Ogre::Skeleton::_dumpContents(), Ogre::SkeletonSerializer::calcAnimationTrackSize(), and Ogre::SkeletonSerializer::writeAnimationTrack(). |
|
Gets the 2 KeyFrame objects which are active at the time given, and the blend value between them.
Definition at line 75 of file OgreAnimationTrack.cpp. References Ogre::Animation::getLength(), Ogre::KeyFrame::getTime(), mKeyFrames, mParent, and Ogre::Real. Referenced by getInterpolatedKeyFrame(). |
|
Returns the number of keyframes in this animation.
Definition at line 62 of file OgreAnimationTrack.cpp. References mKeyFrames. Referenced by Ogre::Skeleton::_dumpContents(), Ogre::SkeletonSerializer::calcAnimationTrackSize(), and Ogre::SkeletonSerializer::writeAnimationTrack(). |
|
Gets the method of rotation calculation.
Definition at line 364 of file OgreAnimationTrack.cpp. References mUseShortestRotationPath. |
|
Removes all the KeyFrames from this track.
Definition at line 185 of file OgreAnimationTrack.cpp. References _keyFrameDataChanged(), and mKeyFrames. Referenced by ~AnimationTrack(). |
|
Removes a KeyFrame by it's index.
Definition at line 167 of file OgreAnimationTrack.cpp. References _keyFrameDataChanged(), mKeyFrames, and Ogre::ushort. |
|
Sets the associated Node object which will be automatically affected by calls to 'apply'.
Definition at line 280 of file OgreAnimationTrack.cpp. References mTargetNode. Referenced by Ogre::Animation::createTrack(). |
|
Sets the method of rotation calculation.
Definition at line 358 of file OgreAnimationTrack.cpp. References mUseShortestRotationPath. |
|
Definition at line 154 of file OgreAnimationTrack.h. Referenced by buildInterpolationSplines(), createKeyFrame(), getKeyFrame(), getKeyFramesAtTime(), getNumKeyFrames(), removeAllKeyFrames(), and removeKeyFrame(). |
|
Definition at line 155 of file OgreAnimationTrack.h. Referenced by AnimationTrack(), and createKeyFrame(). |
|
Definition at line 156 of file OgreAnimationTrack.h. Referenced by getInterpolatedKeyFrame(), and getKeyFramesAtTime(). |
|
Definition at line 164 of file OgreAnimationTrack.h. Referenced by buildInterpolationSplines(), and getInterpolatedKeyFrame(). |
|
Definition at line 166 of file OgreAnimationTrack.h. Referenced by buildInterpolationSplines(), and getInterpolatedKeyFrame(). |
|
Definition at line 165 of file OgreAnimationTrack.h. Referenced by buildInterpolationSplines(), and getInterpolatedKeyFrame(). |
|
Definition at line 163 of file OgreAnimationTrack.h. Referenced by _keyFrameDataChanged(), AnimationTrack(), and buildInterpolationSplines(). |
|
Definition at line 157 of file OgreAnimationTrack.h. Referenced by AnimationTrack(), apply(), getAssociatedNode(), and setAssociatedNode(). |
|
Defines if rotation is done using shortest path.
Definition at line 168 of file OgreAnimationTrack.h. Referenced by AnimationTrack(), getInterpolatedKeyFrame(), getUseShortestRotationPath(), and setUseShortestRotationPath(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Fri May 14 23:25:50 2004