CAReferencePSD Class Reference

#include <lib_ca.h>

Detailed Description

Allows to access the PSD referential data and functions. Only used with a point pose in PSD Mode.

Since
R19

Private Member Functions

 CAReferencePSD ()
 
 ~CAReferencePSD ()
 

Interpolation Mode

void SetInterpolationMode (CAMORPH_PSDINTERPOLATION_MODE interpMode)
 
CAMORPH_PSDINTERPOLATION_MODE GetInterpolationMode () const
 

User Defined Driver

Bool ForceJointAsDriver (Int32 jointIndex, Bool forceDriver)
 
Bool IsJointForcedAsDriver (Int32 jointIndex) const
 
void ClearAllForcedDrivers ()
 

Pose Management

void RestoreReferencePose ()
 
void UpdateReferencePose ()
 

External Controllers Management

void ClearAllExternalControllers ()
 
Int32 GetExternalControllerCount () const
 
BaseObjectGetExternalController (Int32 controllerIndex)
 
Matrix GetExternalControllerMatrix (Int32 controllerIndex) const
 
Int32 SetExternalControllerMatrix (BaseObject *controller, const Matrix &globalMatrix)
 
Bool RemoveExternalController (Int32 controllerIndex)
 

Constructor & Destructor Documentation

◆ CAReferencePSD()

CAReferencePSD ( )
private

◆ ~CAReferencePSD()

~CAReferencePSD ( )
private

Member Function Documentation

◆ SetInterpolationMode()

void SetInterpolationMode ( CAMORPH_PSDINTERPOLATION_MODE  interpMode)

Sets the auto weighting interpolation mode.

Parameters
[in]interpModeThe interpolation mode to set: CAMORPH_PSDINTERPOLATION_MODE

◆ GetInterpolationMode()

CAMORPH_PSDINTERPOLATION_MODE GetInterpolationMode ( ) const

Returns the auto weighting interpolation mode.

Returns
The interpolation mode: CAMORPH_PSDINTERPOLATION_MODE

◆ ForceJointAsDriver()

Bool ForceJointAsDriver ( Int32  jointIndex,
Bool  forceDriver 
)

Forces the joint index to be a driver.

Note
If any of the joints is marked as a forced driver, only those are considered in automatic weighting.
Parameters
[in]jointIndexThe weight tag joint index to use as driver.
[in]forceDrivertrue if the joint is used as a driver, otherwise false.

◆ IsJointForcedAsDriver()

Bool IsJointForcedAsDriver ( Int32  jointIndex) const

Checks if the joint index is a user forced driver.

Note
If any of the joints is marked as a forced driver, only those are considered in automatic weighting.
Parameters
[in]jointIndexThe weight tag joint index.
Returns
true if joint is forced as a driver, otherwise false.

◆ ClearAllForcedDrivers()

void ClearAllForcedDrivers ( )

Removes all user defined joint as driver and let the system manage it automatically.

◆ RestoreReferencePose()

void RestoreReferencePose ( )

Displays skeleton and user defined controller at the reference pose.

◆ UpdateReferencePose()

void UpdateReferencePose ( )

Updates the current skeleton state as the PSD reference pose.

◆ ClearAllExternalControllers()

void ClearAllExternalControllers ( )

Removes all external controllers assigned to the reference pose.

◆ GetExternalControllerCount()

Int32 GetExternalControllerCount ( ) const

Returns the number of external controllers associated with the reference pose.

Returns
The external controllers count.

◆ GetExternalController()

BaseObject* GetExternalController ( Int32  controllerIndex)

Returns the controller assigned to the given index.

Parameters
[in]controllerIndexThe controller index: 0 <= controllerIndex < GetExternalControllerCount().
Returns
The external controller.

◆ GetExternalControllerMatrix()

Matrix GetExternalControllerMatrix ( Int32  controllerIndex) const

Returns the matrix stored at the given index.

Parameters
[in]controllerIndexThe controller index: 0 <= controllerIndex < GetExternalControllerCount().
Returns
The external controller global matrix.

◆ SetExternalControllerMatrix()

Int32 SetExternalControllerMatrix ( BaseObject controller,
const Matrix globalMatrix 
)

Adds or adjusts the given controller global matrix to be part of the reference pose.

Parameters
[in]controllerThe object used as a controller. The caller owns the pointed BaseObject.
[in]globalMatrixThe global matrix used as a reference.
Returns
The index of the controller, NOTOK if invalid.

◆ RemoveExternalController()

Bool RemoveExternalController ( Int32  controllerIndex)

Removes Controller at the given index.

Parameters
[in]controllerIndexThe controller index: 0 <= controllerIndex < GetExternalControllerCount().
Returns
true if successful, otherwise false.