#include <OgreAnimation.h>
Public Types | |
typedef std::map< unsigned short, NodeAnimationTrack * > | NodeTrackList |
typedef ConstMapIterator< NodeTrackList > | NodeTrackIterator |
typedef std::map< unsigned short, NumericAnimationTrack * > | NumericTrackList |
typedef ConstMapIterator< NumericTrackList > | NumericTrackIterator |
typedef std::map< unsigned short, VertexAnimationTrack * > | VertexTrackList |
typedef ConstMapIterator< VertexTrackList > | VertexTrackIterator |
typedef std::set< ushort > | TrackHandleList |
A list of track handles. | |
enum | InterpolationMode { IM_LINEAR, IM_SPLINE } |
The types of animation interpolation available. More... | |
enum | RotationInterpolationMode { RIM_LINEAR, RIM_SPHERICAL } |
The types of rotational interpolation available. More... | |
Public Member Functions | |
Animation (const String &name, Real length) | |
You should not use this constructor directly, use the parent object such as Skeleton instead. | |
virtual | ~Animation () |
const String & | getName (void) const |
Gets the name of this animation. | |
Real | getLength (void) const |
Gets the total length of the animation. | |
NodeAnimationTrack * | createNodeTrack (unsigned short handle) |
Creates a NodeAnimationTrack for animating a Node. | |
NumericAnimationTrack * | createNumericTrack (unsigned short handle) |
Creates a NumericAnimationTrack for animating any numeric value. | |
VertexAnimationTrack * | createVertexTrack (unsigned short handle, VertexAnimationType animType) |
Creates a VertexAnimationTrack for animating vertex position data. | |
NodeAnimationTrack * | createNodeTrack (unsigned short handle, Node *node) |
Creates a new AnimationTrack automatically associated with a Node. | |
NumericAnimationTrack * | createNumericTrack (unsigned short handle, const AnimableValuePtr &anim) |
Creates a NumericAnimationTrack and associates it with an animable. | |
VertexAnimationTrack * | createVertexTrack (unsigned short handle, VertexData *data, VertexAnimationType animType) |
Creates a VertexAnimationTrack and associates it with VertexData. | |
unsigned short | getNumNodeTracks (void) const |
Gets the number of NodeAnimationTrack objects contained in this animation. | |
NodeAnimationTrack * | getNodeTrack (unsigned short handle) const |
Gets a node track by it's handle. | |
bool | hasNodeTrack (unsigned short handle) const |
Does a track exist with the given handle? | |
unsigned short | getNumNumericTracks (void) const |
Gets the number of NumericAnimationTrack objects contained in this animation. | |
NumericAnimationTrack * | getNumericTrack (unsigned short handle) const |
Gets a numeric track by it's handle. | |
bool | hasNumericTrack (unsigned short handle) const |
Does a track exist with the given handle? | |
unsigned short | getNumVertexTracks (void) const |
Gets the number of VertexAnimationTrack objects contained in this animation. | |
VertexAnimationTrack * | getVertexTrack (unsigned short handle) const |
Gets a Vertex track by it's handle. | |
bool | hasVertexTrack (unsigned short handle) const |
Does a track exist with the given handle? | |
void | destroyNodeTrack (unsigned short handle) |
Destroys the node track with the given handle. | |
void | destroyNumericTrack (unsigned short handle) |
Destroys the numeric track with the given handle. | |
void | destroyVertexTrack (unsigned short handle) |
Destroys the Vertex track with the given handle. | |
void | destroyAllTracks (void) |
Removes and destroys all tracks making up this animation. | |
void | destroyAllNodeTracks (void) |
Removes and destroys all tracks making up this animation. | |
void | destroyAllNumericTracks (void) |
Removes and destroys all tracks making up this animation. | |
void | destroyAllVertexTracks (void) |
Removes and destroys all tracks making up this animation. | |
void | apply (Real timePos, Real weight=1.0, Real scale=1.0f) |
Applies an animation given a specific time point and weight. | |
void | apply (Skeleton *skeleton, Real timePos, Real weight=1.0, Real scale=1.0f) |
Applies all node tracks given a specific time point and weight to a given skeleton. | |
void | apply (Entity *entity, Real timePos, Real weight, bool software, bool hardware) |
Applies all vertex tracks given a specific time point and weight to a given entity. | |
void | setInterpolationMode (InterpolationMode im) |
Tells the animation how to interpolate between keyframes. | |
InterpolationMode | getInterpolationMode (void) const |
Gets the current interpolation mode of this animation. | |
void | setRotationInterpolationMode (RotationInterpolationMode im) |
Tells the animation how to interpolate rotations. | |
RotationInterpolationMode | getRotationInterpolationMode (void) const |
Gets the current rotation interpolation mode of this animation. | |
const NodeTrackList & | _getNodeTrackList (void) const |
Fast access to NON-UPDATEABLE node track list. | |
NodeTrackIterator | getNodeTrackIterator (void) const |
Get non-updateable iterator over node tracks. | |
const NumericTrackList & | _getNumericTrackList (void) const |
Fast access to NON-UPDATEABLE numeric track list. | |
NumericTrackIterator | getNumericTrackIterator (void) const |
Get non-updateable iterator over node tracks. | |
const VertexTrackList & | _getVertexTrackList (void) const |
Fast access to NON-UPDATEABLE Vertex track list. | |
VertexTrackIterator | getVertexTrackIterator (void) const |
Get non-updateable iterator over node tracks. | |
void | optimise (bool discardIdentityNodeTracks=true) |
Optimise an animation by removing unnecessary tracks and keyframes. | |
void | _collectIdentityNodeTracks (TrackHandleList &tracks) const |
Internal method for collecting identity node tracks. | |
void | _destroyNodeTracks (const TrackHandleList &tracks) |
Internal method for destroy given node tracks. | |
Animation * | clone (const String &newName) const |
Clone this animation. | |
void | _keyFrameListChanged (void) |
Internal method used to tell the animation that keyframe list has been changed, which may cause it to rebuild some internal data. | |
TimeIndex | _getTimeIndex (Real timePos) const |
Internal method used to convert time position to time index object. | |
Static Public Member Functions | |
static void | setDefaultInterpolationMode (InterpolationMode im) |
Sets the default animation interpolation mode. | |
static InterpolationMode | getDefaultInterpolationMode (void) |
Gets the default interpolation mode for all animations. | |
static void | setDefaultRotationInterpolationMode (RotationInterpolationMode im) |
Sets the default rotation interpolation mode. | |
static RotationInterpolationMode | getDefaultRotationInterpolationMode (void) |
Gets the default rotation interpolation mode for all animations. | |
Protected Types | |
typedef std::vector< Real > | KeyFrameTimeList |
Global keyframe time list used to search global keyframe index. | |
Protected Member Functions | |
void | optimiseNodeTracks (bool discardIdentityTracks) |
void | optimiseVertexTracks (void) |
void | buildKeyFrameTimeList (void) const |
Internal method to build global keyframe time list. | |
Protected Attributes | |
NodeTrackList | mNodeTrackList |
Node tracks, indexed by handle. | |
NumericTrackList | mNumericTrackList |
Numeric tracks, indexed by handle. | |
VertexTrackList | mVertexTrackList |
Vertex tracks, indexed by handle. | |
String | mName |
Real | mLength |
InterpolationMode | mInterpolationMode |
RotationInterpolationMode | mRotationInterpolationMode |
KeyFrameTimeList | mKeyFrameTimes |
bool | mKeyFrameTimesDirty |
Dirty flag indicate that keyframe time list need to rebuild. | |
Static Protected Attributes | |
static InterpolationMode | msDefaultInterpolationMode |
static RotationInterpolationMode | msDefaultRotationInterpolationMode |
Definition at line 52 of file OgreAnimation.h.
|
Global keyframe time list used to search global keyframe index.
Definition at line 389 of file OgreAnimation.h. |
|
Definition at line 281 of file OgreAnimation.h. |
|
Definition at line 280 of file OgreAnimation.h. |
|
Definition at line 284 of file OgreAnimation.h. |
|
Definition at line 283 of file OgreAnimation.h. |
|
A list of track handles.
Definition at line 332 of file OgreAnimation.h. |
|
Definition at line 287 of file OgreAnimation.h. |
|
Definition at line 286 of file OgreAnimation.h. |
|
The types of animation interpolation available.
Definition at line 57 of file OgreAnimation.h. |
|
The types of rotational interpolation available.
Definition at line 66 of file OgreAnimation.h. |
|
You should not use this constructor directly, use the parent object such as Skeleton instead.
|
|
|
|
Internal method for collecting identity node tracks.
|
|
Internal method for destroy given node tracks.
|
|
Fast access to NON-UPDATEABLE node track list.
|
|
Fast access to NON-UPDATEABLE numeric track list.
|
|
Internal method used to convert time position to time index object.
|
|
Fast access to NON-UPDATEABLE Vertex track list.
|
|
Internal method used to tell the animation that keyframe list has been changed, which may cause it to rebuild some internal data.
Definition at line 357 of file OgreAnimation.h. |
|
Applies all vertex tracks given a specific time point and weight to a given entity.
|
|
Applies all node tracks given a specific time point and weight to a given skeleton.
|
|
Applies an animation given a specific time point and weight.
|
|
Internal method to build global keyframe time list.
|
|
Clone this animation.
|
|
Creates a new AnimationTrack automatically associated with a Node.
|
|
Creates a NodeAnimationTrack for animating a Node.
|
|
Creates a NumericAnimationTrack and associates it with an animable.
|
|
Creates a NumericAnimationTrack for animating any numeric value.
|
|
Creates a VertexAnimationTrack and associates it with VertexData.
|
|
Creates a VertexAnimationTrack for animating vertex position data.
|
|
Removes and destroys all tracks making up this animation.
|
|
Removes and destroys all tracks making up this animation.
|
|
Removes and destroys all tracks making up this animation.
|
|
Removes and destroys all tracks making up this animation.
|
|
Destroys the node track with the given handle.
|
|
Destroys the numeric track with the given handle.
|
|
Destroys the Vertex track with the given handle.
|
|
Gets the default interpolation mode for all animations.
|
|
Gets the default rotation interpolation mode for all animations.
|
|
Gets the current interpolation mode of this animation.
|
|
Gets the total length of the animation.
|
|
Gets the name of this animation.
|
|
Gets a node track by it's handle.
|
|
Get non-updateable iterator over node tracks.
Definition at line 293 of file OgreAnimation.h. |
|
Gets a numeric track by it's handle.
|
|
Get non-updateable iterator over node tracks.
Definition at line 300 of file OgreAnimation.h. |
|
Gets the number of NodeAnimationTrack objects contained in this animation.
|
|
Gets the number of NumericAnimationTrack objects contained in this animation.
|
|
Gets the number of VertexAnimationTrack objects contained in this animation.
|
|
Gets the current rotation interpolation mode of this animation.
|
|
Gets a Vertex track by it's handle.
|
|
Get non-updateable iterator over node tracks.
Definition at line 307 of file OgreAnimation.h. |
|
Does a track exist with the given handle?
|
|
Does a track exist with the given handle?
|
|
Does a track exist with the given handle?
|
|
Optimise an animation by removing unnecessary tracks and keyframes.
|
|
|
|
|
|
Sets the default animation interpolation mode.
|
|
Sets the default rotation interpolation mode.
|
|
Tells the animation how to interpolate between keyframes.
|
|
Tells the animation how to interpolate rotations.
|
|
Definition at line 382 of file OgreAnimation.h. |
|
Definition at line 390 of file OgreAnimation.h. |
|
Dirty flag indicate that keyframe time list need to rebuild.
Definition at line 392 of file OgreAnimation.h. |
|
Definition at line 380 of file OgreAnimation.h. |
|
Definition at line 378 of file OgreAnimation.h. |
|
Node tracks, indexed by handle.
Definition at line 373 of file OgreAnimation.h. |
|
Numeric tracks, indexed by handle.
Definition at line 375 of file OgreAnimation.h. |
|
Definition at line 383 of file OgreAnimation.h. |
|
Definition at line 385 of file OgreAnimation.h. |
|
Definition at line 386 of file OgreAnimation.h. |
|
Vertex tracks, indexed by handle.
Definition at line 377 of file OgreAnimation.h. |
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 25 13:03:26 2007