19#include "cal3d/global.h"
20#include "cal3d/animation.h"
21#include "cal3d/quaternion.h"
38 CalAnimation::CompositionFunction compositionFunction_;
41enum CalMixerBoneAdjustmentFlag {
42 CalMixerBoneAdjustmentFlagPosRot = 1,
43 CalMixerBoneAdjustmentFlagMeshScale = 2
73#define CalMixerBoneAdjustmentsMax ( 20 )
202 bool blendCycle(
int id,
float weight,
float delay);
203 bool clearCycle(
int id,
float delay);
204 bool executeAction(
int id,
float delayIn,
float delayOut,
float weightTarget = 1.0f,
bool autoLock=
false);
205 bool removeAction(
int id);
206 virtual void updateAnimation(
float deltaTime);
207 virtual void updateSkeleton();
208 float getAnimationTime()
const;
209 float getAnimationDuration()
const;
210 void setAnimationTime(
float animationTime);
211 void setTimeFactor(
float timeFactor);
212 float getTimeFactor()
const;
214 const CalModel *getCalModel()
const;
215 std::vector<CalAnimation *> &getAnimationVector();
216 const std::vector<CalAnimation *> &getAnimationVector()
const;
217 std::list<CalAnimationAction *> &getAnimationActionList();
218 const std::list<CalAnimationAction *> &getAnimationActionList()
const;
219 std::list<CalAnimationCycle *> &getAnimationCycle();
220 const std::list<CalAnimationCycle *> &getAnimationCycle()
const;
221 bool actionOn(
int coreAnimationId );
222 bool stopAction(
int coreAnimationId );
223 bool addManualAnimation(
int coreAnimationId );
224 bool removeManualAnimation(
int coreAnimationId );
225 bool setManualAnimationOn(
int coreAnimationId,
bool );
226 bool setManualAnimationTime(
int coreAnimationId,
float seconds );
227 bool setManualAnimationWeight(
int coreAnimationId,
float );
228 bool setManualAnimationScale(
int coreAnimationId,
float p );
229 bool setManualAnimationRampValue(
int coreAnimationId,
float p );
230 bool setManualAnimationCompositionFunction(
int coreAnimationId, CalAnimation::CompositionFunction p );
232 bool animationDuration(
int coreAnimationId,
float * result );
234 bool removeBoneAdjustment(
int boneId );
235 void removeAllBoneAdjustments();
236 unsigned int numActiveOneShotAnimations();
239 std::vector<CalAnimation *> m_vectorAnimation;
240 std::list<CalAnimationAction *> m_listAnimationAction;
241 std::list<CalAnimationCycle *> m_listAnimationCycle;
242 float m_animationTime;
243 float m_animationDuration;
245 unsigned int m_numBoneAdjustments;
252 bool setManualAnimationCompositionFunction(
CalAnimationAction *, CalAnimation::CompositionFunction p );
258 void applyBoneAdjustments();
CalAbstractMixer defines the API that CalModel relies on for blending and scheduling animations.
Definition: mixer.h:141
virtual bool isDefaultMixer() const
Is the object an instance of the default mixer (i.e.
Definition: mixer.h:154
virtual void updateAnimation(float deltaTime)=0
Notifies the instance that updateAnimation was last called deltaTime seconds ago.
virtual void updateSkeleton()=0
Updates the skeleton of the corresponding CalModel (as provided to the create method) to match the cu...
Definition: animation_action.h:23
Definition: animation_cycle.h:23
Definition: animation.h:22
virtual bool isDefaultMixer() const
Is the object an instance of the default mixer (i.e.
Definition: mixer.h:201
The quaternion class.
Definition: quaternion.h:36
The vector class.
Definition: vector.h:37