CSLMixer Class Reference
This class represents an XSI_Mixer template.
More...#include <Mixer.h>
Inheritance diagram for CSLMixer:
List of all members.
Detailed Description
This class represents an XSI_Mixer template.
The animation mixer provides high-level control over animation (see the XSI_Mixer template reference). 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
Constructor
- Parameters:
-
| [in] |
in_pScene |
Pointer to the scene containing the mixer |
| [in] |
in_pModel |
Pointer to the model containing the mixer |
| [in] |
in_pTemplate |
Pointer to the CdotXSITemplate containing the mixer |
Member Function Documentation
| virtual SI_Error Synchronize |
( |
|
) |
[virtual] |
Synchronizes internal data to be coherent with the IO layer
- Returns:
- success or failure
Reimplemented from CSLTemplate.
Returns the type of this template
- Return values:
-
Implements CSLTemplate.
Determines if the animation mixer is active or not
- Returns:
- Value of the flag
| SI_Void SetActive |
( |
SI_Bool |
in_bNew |
) |
|
Toggles the animation mixer evaluation
- Parameters:
-
| [in] |
in_bNew |
Value of the flag |
| SI_Bool GetAutoTransition |
( |
|
) |
|
Determines if inter-clip interpolation is enabled or not
- Returns:
- Value of the flag
| SI_Void SetAutoTransition |
( |
SI_Bool |
in_bNew |
) |
|
Toggles inter-clip interpolation
- Parameters:
-
| [in] |
in_bNew |
Value of the flag |
| SI_Bool GetMaintainContinuity |
( |
|
) |
|
Returns the Maintain Continuity Flag
- 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.
- Return values:
-
|
|
true |
Maintain Continuity is enabled |
|
|
false |
Maintain Continuity is disabled |
| SI_Void SetMaintainContinuity |
( |
SI_Bool |
in_bNew |
) |
|
Sets the Maintain Continuity Flag
- 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.
- Parameters:
-
| [in] |
in_bNew |
True to enable, false to disable |
- See also:
- CSLMixer::SetQuaternionMixing
Returns 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_Void SetNormalize |
( |
SI_Bool |
in_bNew |
) |
|
Sets how the mix is calculated
- 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.
- Parameters:
-
| [in] |
in_bNew |
Value of the flag |
| SI_Bool GetQuaternionMixing |
( |
|
) |
|
Returns the Quaternion Mixing Flag
- 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.
- Return values:
-
|
|
true |
Rotation values are mixed according to their Quaternion values |
|
|
false |
Rotation values are mixed according to their Euler values |
| SI_Void SetQuaternionMixing |
( |
SI_Bool |
in_bNew |
) |
|
Sets the Quaternion Mixing 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.
- Parameters:
-
| [in] |
in_bNew |
Value of the flag |
| SI_Bool GetRemoveSpins |
( |
|
) |
|
Returns the Remove Spins Flag
- Returns:
- Value of the flag
| SI_Void SetRemoveSpins |
( |
SI_Bool |
in_bNew |
) |
|
Sets the Remove Spins 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.
- Parameters:
-
| [in] |
in_bNew |
Value of the flag |
- See also:
- CSLMixer::SetQuaternionMixing
| SI_Error RemoveAction |
( |
SI_Int |
in_nIndex |
) |
|
Removes an action
- Parameters:
-
| [in] |
in_nIndex |
Index of the CSLAction to remove |
- Return values:
-
Removes an action
- Parameters:
-
| [in] |
in_pToRemove |
Pointer to the action to remove |
- Return values:
-
Returns the list of all actions
- Returns:
- Pointer to the list of pointer of all actions
| SI_Int GetActionCount |
( |
|
) |
|
Returns the total number of actions
- Returns:
- The number of actions
Adds a new action
- Returns:
- Pointer to the newly added action
Reimplemented in CSLCOLLADAMixer.
Removes all actions
- Returns:
- Whether or not removal was successful
Adds a preallocated action to the action list
- Parameters:
-
| [in] |
in_pNewAction |
Pointer to the action to add |
- Returns:
- The newly added action or null if it was already added
| CSLAction* FindAction |
( |
SI_Char * |
in_pActionName |
) |
|
Searches for an action with the specifed name in the action list
- Parameters:
-
| [in] |
in_pActionName |
The action name we're looking for |
- Returns:
- The action found or NULL
| SI_Error RemoveTrack |
( |
SI_Int |
in_nIndex |
) |
|
Removes a track
- Parameters:
-
| [in] |
in_nIndex |
Index of the track to remove |
- Return values:
-
Removes a track
- Parameters:
-
| [in,out] |
io_pToRemove |
Pointer to the track to remove |
- Return values:
-
Returns the list of all tracks
- Returns:
- Pointer to the list of pointer of all tracks
Returns the total number of tracks
- Returns:
- The number of tracks
Adds a new track
- Returns:
- Pointer to the newly added track
Removes all Tracks
- Returns:
- Whether or not removal was successful
Adds a preallocated Track to the Track list
- Parameters:
-
| [in] |
in_pNewTrack |
Pointer to the Track to add |
- Returns:
- The newly added Track or null if it was already added
The documentation for this class was generated from the following file: