Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   Compound Members  

CSLMixer Class Reference

#include <Mixer.h>

Inheritance diagram for CSLMixer::

CSLTemplate CSIBCNode List of all members.

Public Methods


Detailed Description

The animation mixer provides high-level control over animation. The mixer contains a database of short animations called action sources (CSLAction). An action source can be instantiated in the form of an action clip (CSLActionClip) in tracks (CSLTrack) to compose complex animation. You can create an animation mixer with the CSLModel::CreateMixer method.

Note:
This template is not supported by SI3D.
See also:
CSLAction , CSLActionClip , CSLModel , CSLTrack


Constructor & Destructor Documentation

CSLMixer::CSLMixer CSLScene   in_pScene,
CSLModel   in_pModel,
CdotXSITemplate   in_pTemplate
 

Constructor

Parameters:
in_pScene  Pointer to the scene containing the mixer
in_pModel  Pointer to the model containing the mixer
in_pTemplate  Pointer to the CdotXSITemplate containing the mixer


Member Function Documentation

CSLAction * CSLMixer::AddAction  
 

Adds a new action

Returns:
CSLAction Pointer to the newly added action

CSLTrack * CSLMixer::AddTrack  
 

Adds a new track

Returns:
CSLTrack Pointer to the newly added track

SI_Error CSLMixer::ClearActions  
 

Removes all actions

Returns:
SI_Error Whether or not removal was successful

SI_Error CSLMixer::ClearTracks  
 

Removes all Tracks

Returns:
SI_Error Whether or not removal was successful

CSLAction * CSLMixer::ConnectAction CSLAction   in_pNewAction
 

Adds a preallocated action to the action list

Parameters:
CSLAction  Pointer to the action to add
Returns:
CSLAction The newly added action or null if it was already added

CSLTrack * CSLMixer::ConnectTrack CSLTrack   in_pNewTrack
 

Adds a preallocated Track to the Track list

Parameters:
CSLTrack  Pointer to the Track to add
Returns:
CSLTrack The newly added Track or null if it was already added

SI_Int CSLMixer::GetActionCount  
 

Get the total number of actions

Returns:
SI_Int The number of actions

CSLAction ** CSLMixer::GetActionList  
 

Gets the list of all actions

Returns:
Pointer to the list of pointer of all actions

SI_Bool CSLMixer::GetActive  
 

Determines if the animation mixer is active or not

Returns:
SI_Bool Value of the flag

SI_Bool CSLMixer::GetAutoTransition  
 

Determines if inter-clip interpolation is enabled or not

Returns:
SI_Bool Value of the flag

SI_Bool CSLMixer::GetMaintainContinuity  
 

Gets the Maintain Continuity Flag

Return values:
True  Maintain Continuity is enabled
False  Maintain Continuity is disabled
Note:
When you select Quaternion for Rotation Mixing, this option generates more continuous rotation curves, especially for operations such as plotting/freezing rotation parameters driven by the animation mixer.

SI_Bool CSLMixer::GetNormalize  
 

Gets how the mix is calculated

Return values:
True  Mixes are a weighted averages. The results are mixes that fall in-between the values of the separate clips.
False  mixes are additive. The values of the separate clips are added on top of each other.

SI_Bool CSLMixer::GetQuaternionMixing  
 

Gets the Quaternion Mixing Flag

Return values:
True  Rotation values are mixed according to their Quaternion values
False  Rotation values are mixed according to their Euler values
Note:
Quaternions usually result in smoother rotations; however, if you are mixing two or more rotations and using Quaternion, there may be some unexpected flips in the animation. Using Euler will probably solve this problem.

SI_Bool CSLMixer::GetRemoveSpins  
 

Gets the Remove Spins Flag

Returns:
SI_Bool Value of the flag

SI_Int CSLMixer::GetTrackCount  
 

Get the total number of tracks

Returns:
SI_Int The number of tracks

CSLTrack ** CSLMixer::GetTrackList  
 

Gets the list of all tracks

Returns:
Pointer to the list of pointer of all tracks

SI_Error CSLMixer::RemoveAction CSLAction   in_pToRemove
 

Removes an action

Parameters:
in_pToRemove  Pointer to the action to remove
Return values:
SI_SUCCESS  The element was removed
SI_ERR_BAD_ARGUMENT  The element could not be found

SI_Error CSLMixer::RemoveAction SI_Int    in_nIndex
 

Removes an action

Parameters:
in_nIndex  Index of the CSLAction to remove
Return values:
SI_SUCCESS  The element was removed
SI_ERR_BAD_ARGUMENT  Invalid index

SI_Error CSLMixer::RemoveTrack CSLTrack   in_pToRemove
 

Removes a track

Parameters:
in_pToRemove  Pointer to the track to remove
Return values:
SI_SUCCESS  The element was removed
SI_ERR_BAD_ARGUMENT  The element could not be found

SI_Error CSLMixer::RemoveTrack SI_Int    in_nIndex
 

Removes a track

Parameters:
in_nIndex  Index of the track to remove
Return values:
SI_SUCCESS  The element was removed
SI_ERR_BAD_ARGUMENT  Invalid index

SI_Void CSLMixer::SetActive SI_Bool    in_bNew
 

Toggles the animation mixer evaluation

Parameters:
in_bNew  Value of the flag

SI_Void CSLMixer::SetAutoTransition SI_Bool    in_bNew
 

Toggles inter-clip interpolation

Parameters:
in_bNew  Value of the flag

SI_Void CSLMixer::SetMaintainContinuity SI_Bool    in_bNew
 

Sets the Maintain Continuity Flag

Parameters:
in_bNew  True to enable, false to disable
Note:
When you select Quaternion for Rotation Mixing, this option generates more continuous rotation curves, especially for operations such as plotting/freezing rotation parameters driven by the animation mixer.
Warning:
This flag is ignored unless QuaternionMixing is enabled.
See also:
CSLMixer::SetQuaternionMixing

SI_Void CSLMixer::SetNormalize SI_Bool    in_bNew
 

Sets how the mix is calculated

Parameters:
in_bNew  Value of the flag
Note:
When set to True, mixes are a weighted averages. The results are mixes that fall in-between the values of the separate clips. When set to False, mixes are additive. The values of the separate clips are added on top of each other.

SI_Void CSLMixer::SetQuaternionMixing SI_Bool    in_bNew
 

Sets the Quaternion Mixing Flag

Parameters:
in_bNew  Value of the flag
Note:
Controls whether rotation values are mixed according to their Quaternion values (True) or their Euler values (False). Quaternions usually result in smoother rotations; however, if you are mixing two or more rotations and using Quaternion, there may be some unexpected flips in the animation. Using Euler will probably solve this problem.

SI_Void CSLMixer::SetRemoveSpins SI_Bool    in_bNew
 

Sets the Remove Spins Flag

Parameters:
in_bNew  Value of the flag
Note:
When set to True, this option removes extra spinning that may occur in a rotation so that the object's rotation values are only between -180 and 180. For example, you can sometimes get rotation values with extra "spins," such as [-591, 1015, 15]. This option gives you the same rotation but without the spins.
Warning:
This flag is ignored unless Quaternion Mixing is disabled.
See also:
CSLMixer::SetQuaternionMixing

SI_Error CSLMixer::Synchronize   [virtual]
 

Synchronize will ensure that the animated parameter is up to date.

Returns:
SI_Error Error code

Reimplemented from CSLTemplate.

CSLTemplate::ETemplateType CSLMixer::Type   [inline, virtual]
 

Returns the type of this template

Return values:
CSLTemplate::XSI_MIXER 

Reimplemented from CSLTemplate.


The documentation for this class was generated from the following files: © Copyright 2001-2003 Avid Technology, Inc. All rights reserved.

© Copyright 2001-2003 Avid Technology, Inc. All rights reserved.