#include <OgreAnimationTrack.h>
Collaboration diagram for Ogre::AnimationTrack:
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. | |
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 149 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(). |
|
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 mKeyFrames, mMaxKeyFrameTime, mSplineBuildNeeded, 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 mKeyFrames, and mSplineBuildNeeded. Referenced by ~AnimationTrack(). |
|
Removes a KeyFrame by it's index.
Definition at line 167 of file OgreAnimationTrack.cpp. References mKeyFrames, mSplineBuildNeeded, 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 150 of file OgreAnimationTrack.h. Referenced by buildInterpolationSplines(), createKeyFrame(), getKeyFrame(), getKeyFramesAtTime(), getNumKeyFrames(), removeAllKeyFrames(), and removeKeyFrame(). |
|
Definition at line 151 of file OgreAnimationTrack.h. Referenced by AnimationTrack(), and createKeyFrame(). |
|
Definition at line 152 of file OgreAnimationTrack.h. Referenced by getInterpolatedKeyFrame(), and getKeyFramesAtTime(). |
|
Definition at line 160 of file OgreAnimationTrack.h. Referenced by buildInterpolationSplines(), and getInterpolatedKeyFrame(). |
|
Definition at line 162 of file OgreAnimationTrack.h. Referenced by buildInterpolationSplines(), and getInterpolatedKeyFrame(). |
|
Definition at line 161 of file OgreAnimationTrack.h. Referenced by buildInterpolationSplines(), and getInterpolatedKeyFrame(). |
|
Definition at line 159 of file OgreAnimationTrack.h. Referenced by AnimationTrack(), buildInterpolationSplines(), createKeyFrame(), removeAllKeyFrames(), and removeKeyFrame(). |
|
Definition at line 153 of file OgreAnimationTrack.h. Referenced by AnimationTrack(), apply(), getAssociatedNode(), and setAssociatedNode(). |
|
Defines if rotation is done using shortest path.
Definition at line 164 of file OgreAnimationTrack.h. Referenced by AnimationTrack(), getInterpolatedKeyFrame(), getUseShortestRotationPath(), and setUseShortestRotationPath(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:16:39 2004