Go to the documentation of this file.
29 #ifndef __Animation_H__
30 #define __Animation_H__
64 virtual unsigned short getNumAnimations(
void)
const = 0;
67 virtual Animation* getAnimation(
unsigned short index)
const = 0;
76 virtual bool hasAnimation(
const String& name)
const = 0;
79 virtual void removeAnimation(
const String& name) = 0;
125 const String& getName(
void)
const;
128 Real getLength(
void)
const;
134 void setLength(
Real len);
185 unsigned short getNumNodeTracks(
void)
const;
191 bool hasNodeTrack(
unsigned short handle)
const;
194 unsigned short getNumNumericTracks(
void)
const;
200 bool hasNumericTrack(
unsigned short handle)
const;
203 unsigned short getNumVertexTracks(
void)
const;
209 bool hasVertexTrack(
unsigned short handle)
const;
212 void destroyNodeTrack(
unsigned short handle);
215 void destroyNumericTrack(
unsigned short handle);
218 void destroyVertexTrack(
unsigned short handle);
221 void destroyAllTracks(
void);
224 void destroyAllNodeTracks(
void);
226 void destroyAllNumericTracks(
void);
228 void destroyAllVertexTracks(
void);
240 void apply(
Real timePos,
Real weight = 1.0,
Real scale = 1.0f);
252 void applyToNode(
Node* node,
Real timePos,
Real weight = 1.0,
Real scale = 1.0f);
278 void apply(
Skeleton* skeleton,
Real timePos,
float weight,
289 void apply(
Entity* entity,
Real timePos,
Real weight,
bool software,
324 void setInterpolationMode(InterpolationMode im);
330 InterpolationMode getInterpolationMode(
void)
const;
341 void setRotationInterpolationMode(RotationInterpolationMode im);
347 RotationInterpolationMode getRotationInterpolationMode(
void)
const;
356 static void setDefaultInterpolationMode(InterpolationMode im);
359 static InterpolationMode getDefaultInterpolationMode(
void);
367 static void setDefaultRotationInterpolationMode(RotationInterpolationMode im);
370 static RotationInterpolationMode getDefaultRotationInterpolationMode(
void);
389 const NumericTrackList& _getNumericTrackList(
void)
const;
396 const VertexTrackList& _getVertexTrackList(
void)
const;
421 void optimise(
bool discardIdentityNodeTracks =
true);
492 bool getUseBaseKeyFrame()
const;
494 Real getBaseKeyFrameTime()
const;
496 const String& getBaseKeyFrameAnimationName()
const;
499 void _applyBaseKeyFrame();
533 void optimiseNodeTracks(
bool discardIdentityTracks);
534 void optimiseVertexTracks(
void);
537 void buildKeyFrameTimeList(
void)
const;
546 #endif // __Animation_H__
virtual ~AnimationContainer()
NumericTrackIterator getNumericTrackIterator(void) const
Get non-updateable iterator over node tracks.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
InterpolationMode
The types of animation interpolation available.
String mBaseKeyFrameAnimationName
VertexAnimationType
Type of vertex animation.
VertexTrackIterator getVertexTrackIterator(void) const
Get non-updateable iterator over node tracks.
Specialised AnimationTrack for dealing with generic animable values.
map< unsigned short, NumericAnimationTrack * >::type NumericTrackList
ConstMapIterator< NodeTrackList > NodeTrackIterator
@ IM_LINEAR
Values are interpolated along straight lines.
map< unsigned short, VertexAnimationTrack * >::type VertexTrackList
Specialised AnimationTrack for dealing with changing vertex position information.
Defines an instance of a discrete, movable object based on a Mesh.
NumericTrackList mNumericTrackList
Numeric tracks, indexed by handle.
Summary class collecting together vertex source information.
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
NodeTrackList mNodeTrackList
Node tracks, indexed by handle.
bool mKeyFrameTimesDirty
Dirty flag indicate that keyframe time list need to rebuild.
ConstMapIterator< VertexTrackList > VertexTrackIterator
Specialised AnimationTrack for dealing with node transforms.
@ RIM_LINEAR
Values are interpolated linearly.
RotationInterpolationMode mRotationInterpolationMode
vector< float >::type BoneBlendMask
Typedef for an array of float values used as a bone blend mask.
NodeTrackIterator getNodeTrackIterator(void) const
Get non-updateable iterator over node tracks.
VertexTrackList mVertexTrackList
Vertex tracks, indexed by handle.
static InterpolationMode msDefaultInterpolationMode
A collection of Bone objects used to animate a skinned mesh.
vector< Real >::type KeyFrameTimeList
Global keyframe time list used to search global keyframe index.
KeyFrameTimeList mKeyFrameTimes
RotationInterpolationMode
The types of rotational interpolation available.
map< unsigned short, NodeAnimationTrack * >::type NodeTrackList
float Real
Software floating point type.
InterpolationMode mInterpolationMode
void _keyFrameListChanged(void)
Internal method used to tell the animation that keyframe list has been changed, which may cause it to...
Concrete IteratorWrapper for const access to the underlying key-value container.
static RotationInterpolationMode msDefaultRotationInterpolationMode
Class representing a general-purpose node an articulated scene graph.
AnimationContainer * mContainer
Time index object used to search keyframe at the given position.
ConstMapIterator< NumericTrackList > NumericTrackIterator
set< ushort >::type TrackHandleList
A list of track handles.
An animation container interface, which allows generic access to sibling animations.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Tue Apr 13 2021 08:53:15