29 #ifndef __AnimationTrack_H__
30 #define __AnimationTrack_H__
65 static const uint INVALID_KEY_INDEX = (
uint)-1;
72 , mKeyIndex(INVALID_KEY_INDEX)
89 return mKeyIndex != INVALID_KEY_INDEX;
146 unsigned short getHandle(
void)
const {
return mHandle; }
149 virtual unsigned short getNumKeyFrames(
void)
const;
152 virtual KeyFrame* getKeyFrame(
unsigned short index)
const;
176 unsigned short* firstKeyIndex = 0)
const;
188 virtual void removeKeyFrame(
unsigned short index);
191 virtual void removeAllKeyFrames(
void);
203 virtual void getInterpolatedKeyFrame(
const TimeIndex& timeIndex,
KeyFrame* kf)
const = 0;
212 virtual void apply(
const TimeIndex& timeIndex,
Real weight = 1.0,
Real scale = 1.0f) = 0;
284 virtual void getInterpolatedKeyFrame(
const TimeIndex& timeIndex,
KeyFrame* kf)
const;
287 virtual void apply(
const TimeIndex& timeIndex,
Real weight = 1.0,
Real scale = 1.0f);
298 Real weight = 1.0,
Real scale = 1.0f);
345 virtual Node* getAssociatedNode(
void)
const;
348 virtual void setAssociatedNode(
Node* node);
351 virtual void applyToNode(
Node* node,
const TimeIndex& timeIndex,
Real weight = 1.0,
355 virtual void setUseShortestRotationPath(
bool useShortestPath);
358 virtual bool getUseShortestRotationPath()
const;
361 virtual void getInterpolatedKeyFrame(
const TimeIndex& timeIndex,
KeyFrame* kf)
const;
364 virtual void apply(
const TimeIndex& timeIndex,
Real weight = 1.0,
Real scale = 1.0f);
367 void _keyFrameDataChanged(
void)
const;
377 virtual bool hasNonZeroKeyFrames(
void)
const;
380 virtual void optimise(
void);
385 void _applyBaseKeyFrame(
const KeyFrame* base);
391 virtual void buildInterpolationSplines(
void)
const;
496 VertexData* targetData, TargetMode target = TM_SOFTWARE);
502 bool getVertexAnimationIncludesNormals()
const;
519 virtual void getInterpolatedKeyFrame(
const TimeIndex& timeIndex,
KeyFrame* kf)
const;
522 virtual void apply(
const TimeIndex& timeIndex,
Real weight = 1.0,
Real scale = 1.0f);
526 virtual void applyToVertexData(
VertexData* data,
551 virtual bool hasNonZeroKeyFrames(
void)
const;
554 virtual void optimise(
void);
559 void _applyBaseKeyFrame(
const KeyFrame* base);