19 #include "cal3d/global.h" 20 #include "cal3d/animation.h" 21 #include "cal3d/quaternion.h" 38 CalAnimation::CompositionFunction compositionFunction_;
41 enum CalMixerBoneAdjustmentFlag {
42 CalMixerBoneAdjustmentFlagPosRot = 1,
43 CalMixerBoneAdjustmentFlagMeshScale = 2
73 #define CalMixerBoneAdjustmentsMax ( 20 ) // Arbitrary. 173 virtual void updateAnimation(
float deltaTime) = 0;
191 virtual void updateSkeleton() = 0;
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);
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();
Definition: animation_cycle.h:22
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...
virtual bool isDefaultMixer() const
Is the object an instance of the default mixer (i.e.
Definition: mixer.h:154
CalAbstractMixer defines the API that CalModel relies on for blending and scheduling animations...
Definition: mixer.h:140
virtual bool isDefaultMixer() const
Is the object an instance of the default mixer (i.e.
Definition: mixer.h:201
Definition: animation_action.h:22
The vector class.
Definition: vector.h:36
Definition: animation.h:21
The quaternion class.
Definition: quaternion.h:35