- Cal3D 0.11 API Reference -

Public Member Functions | Protected Attributes | List of all members
CalMixer Class Reference
Inheritance diagram for CalMixer:
CalAbstractMixer

Public Member Functions

 CalMixer (CalModel *pModel)
 Constructs the mixer instance. More...
 
virtual ~CalMixer ()
 Destructs the mixer instance. More...
 
virtual bool isDefaultMixer ()
 Is the object an instance of the default mixer (i.e. More...
 
bool blendCycle (int id, float weight, float delay)
 Interpolates the weight of an animation cycle. More...
 
bool clearCycle (int id, float delay)
 Fades an animation cycle out. More...
 
bool executeAction (int id, float delayIn, float delayOut, float weightTarget=1.0f, bool autoLock=false)
 Executes an animation action. More...
 
bool removeAction (int id)
 Clears an active animation action. More...
 
virtual void updateAnimation (float deltaTime)
 Updates all active animations. More...
 
virtual void updateSkeleton ()
 Updates the skeleton of the corresponding CalModel (as provided to the create method) to match the current animation state (as updated by the last call to updateAnimation). More...
 
float getAnimationTime ()
 Returns the animation time. More...
 
float getAnimationDuration ()
 Returns the animation duration. More...
 
void setAnimationTime (float animationTime)
 Sets the animation time. More...
 
void setTimeFactor (float timeFactor)
 Set the time factor. More...
 
float getTimeFactor ()
 Get the time factor. More...
 
CalModelgetCalModel ()
 Get the model. More...
 
std::vector< CalAnimation * > & getAnimationVector ()
 Get the animation vector. More...
 
std::list< CalAnimationAction * > & getAnimationActionList ()
 Get the list of the action animation. More...
 
std::list< CalAnimationCycle * > & getAnimationCycle ()
 Get the list of the cycle animation. More...
 

Protected Attributes

CalModelm_pModel
 
std::vector< CalAnimation * > m_vectorAnimation
 
std::list< CalAnimationAction * > m_listAnimationAction
 
std::list< CalAnimationCycle * > m_listAnimationCycle
 
float m_animationTime
 
float m_animationDuration
 
float m_timeFactor
 

Constructor & Destructor Documentation

CalMixer::CalMixer ( CalModel pModel)

Constructs the mixer instance.

This function is the default constructor of the mixer instance.

CalMixer::~CalMixer ( )
virtual

Destructs the mixer instance.

This function is the destructor of the mixer instance.

Member Function Documentation

bool CalMixer::blendCycle ( int  id,
float  weight,
float  delay 
)

Interpolates the weight of an animation cycle.

This function interpolates the weight of an animation cycle to a new value in a given amount of time. If the specified animation cycle is not active yet, it is activated.

Parameters
idThe ID of the animation cycle that should be blended.
weightThe weight to interpolate the animation cycle to.
delayThe time in seconds until the new weight should be reached.
Returns
One of the following values:
  • true if successful
  • false if an error happend
bool CalMixer::clearCycle ( int  id,
float  delay 
)

Fades an animation cycle out.

This function fades an animation cycle out in a given amount of time.

Parameters
idThe ID of the animation cycle that should be faded out.
delayThe time in seconds until the the animation cycle is completely removed.
Returns
One of the following values:
  • true if successful
  • false if an error happend
bool CalMixer::executeAction ( int  id,
float  delayIn,
float  delayOut,
float  weightTarget = 1.0f,
bool  autoLock = false 
)

Executes an animation action.

This function executes an animation action.

Parameters
idThe ID of the animation action that should be blended.
delayInThe time in seconds until the animation action reaches the full weight from the beginning of its execution.
delayOutThe time in seconds in which the animation action reaches zero weight at the end of its execution.
weightTargetThe weight to interpolate the animation action to.
autoLockThis prevents the Action from being reset and removed on the last keyframe if true.
Returns
One of the following values:
  • true if successful
  • false if an error happend
std::list< CalAnimationAction * > & CalMixer::getAnimationActionList ( )

Get the list of the action animation.

This function return the list of the action animation of the mixer instance.

std::list< CalAnimationCycle * > & CalMixer::getAnimationCycle ( )

Get the list of the cycle animation.

This function return the list of the cycle animation of the mixer instance.

float CalMixer::getAnimationDuration ( )

Returns the animation duration.

This function returns the animation duration of the mixer instance.

Returns
The animation duration in seconds.
float CalMixer::getAnimationTime ( )

Returns the animation time.

This function returns the animation time of the mixer instance.

Returns
The animation time in seconds.
std::vector< CalAnimation * > & CalMixer::getAnimationVector ( )

Get the animation vector.

This function return the animation vector of the mixer instance.

CalModel * CalMixer::getCalModel ( )

Get the model.

This function return the CalModel of the mixer instance.

float CalMixer::getTimeFactor ( )

Get the time factor.

This function return the time factor of the mixer instance.

virtual bool CalMixer::isDefaultMixer ( )
inlinevirtual

Is the object an instance of the default mixer (i.e.

an instance of CalMixer) ?

Returns

Reimplemented from CalAbstractMixer.

bool CalMixer::removeAction ( int  id)

Clears an active animation action.

This function removes an animation action from the blend list. This is particularly useful with auto-locked actions on their last frame.

Parameters
idThe ID of the animation action that should be removed.
Returns
One of the following values:
  • true if successful
  • false if an error happened or action was not found
void CalMixer::setAnimationTime ( float  animationTime)

Sets the animation time.

This function sets the animation time of the mixer instance.

void CalMixer::setTimeFactor ( float  timeFactor)

Set the time factor.

This function sets the time factor of the mixer instance. this time factor affect only sync animation

void CalMixer::updateAnimation ( float  deltaTime)
virtual

Updates all active animations.

This function updates all active animations of the mixer instance for a given amount of time.

Parameters
deltaTimeThe elapsed time in seconds since the last update.

Implements CalAbstractMixer.

void CalMixer::updateSkeleton ( )
virtual

Updates the skeleton of the corresponding CalModel (as provided to the create method) to match the current animation state (as updated by the last call to updateAnimation).

The tracks of each active animation are blended to compute the position and orientation of each bone of the skeleton. The updateAnimation method should be called just before calling updateSkeleton to define the set of active animations.

The CalModel::update method will call updateSkeleton immediately after updateAnimation if the instance was allocated by CalModel::create (in which case it is a CalMixer instance) or if the instance was set via CalModel::setAbstractMixer.

Implements CalAbstractMixer.


The documentation for this class was generated from the following files:

Generated at Sat Aug 16 2014 01:39:52 by The Cal3D Team with Doxygen 1.8.7