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__