KFbxControlSet Class Reference

#include <kfbxcontrolset.h>

List of all members.


Detailed Description

This class contains all methods to either set-up an exported control rig or query information on an imported control rig.

This class also contains some methods to manipulate the KFbxEffector and KFbxControlSetLink.

The KFbxControlSet class contains FK rig (Forward Kinematics) and IK rig (Inverse Kinematics) animation. The FK rig is represented by a list of nodes while the IK rig is represented by a list of effectors.

You can access the FK rig with the KFbxControlSetLink class, using the functions KFbxControlSet::SetControlSetLink() and KFbxControlSet::GetControlSetLink().

You can access the IK rig with the KFbxEffector class, using the functions KFbxControlSet::SetEffector() and KFbxControlSet::GetEffector().

Definition at line 217 of file kfbxcontrolset.h.

Public Types

enum  EType
 Control rig type. More...

Public Member Functions

void Reset ()
 Reset to default values.
void SetType (EType pType)
 Set type.
EType GetType ()
 Get type.
void SetUseAxis (bool pUseAxis)
 Set use axis flag.
bool GetUseAxis ()
 Get use axis flag.
void SetLockTransform (bool pLockTransform)
 Set lock transform flag.
bool GetLockTransform ()
 Get lock transform flag.
void SetLock3DPick (bool pLock3DPick)
 Set lock 3D pick flag.
bool GetLock3DPick ()
 Get lock 3D pick flag.
bool SetControlSetLink (ECharacterNodeId pCharacterNodeId, const KFbxControlSetLink &pControlSetLink)
 Set a control set link for a character node ID.
bool GetControlSetLink (ECharacterNodeId pCharacterNodeId, KFbxControlSetLink *pControlSetLink=NULL)
 Get the control set link associated with a character node ID.
bool SetEffector (EEffectorNodeId pEffectorNodeId, KFbxEffector pEffector)
 Set an effector node for an effector node ID.
bool GetEffector (EEffectorNodeId pEffectorNodeId, KFbxEffector *pEffector=NULL)
 Get the effector associated with an effector node ID.
bool SetEffectorAux (EEffectorNodeId pEffectorNodeId, KFbxNode *pNode, EEffectorSetId pEffectorSetId=eEffectorSetAux1)
 Set an auxiliary effector node for an effector node ID.
bool GetEffectorAux (EEffectorNodeId pEffectorNodeId, KFbxNode **pNode=NULL, EEffectorSetId pEffectorSetId=eEffectorSetAux1)
 Get the auxiliary effector associated with an effector node ID.

Static Public Member Functions

static char * GetEffectorNodeName (EEffectorNodeId pEffectorNodeId)
 Get the name associated with an effector node ID.
static EEffectorNodeId GetEffectorNodeId (char *pEffectorNodeName)
 Get ID associated with an effector node name.


Member Enumeration Documentation

enum EType

Control rig type.

  • eNone No Control rig.
  • eFkIk Both an FK rig and IK rig.
  • eIkOnly Only an IK rig.

Definition at line 232 of file kfbxcontrolset.h.


Member Function Documentation

void Reset (  ) 

Reset to default values.

Reset all effector and control set links.

void SetType ( EType  pType  ) 

Set type.

EType GetType (  ) 

Get type.

void SetUseAxis ( bool  pUseAxis  ) 

Set use axis flag.

bool GetUseAxis (  ) 

Get use axis flag.

void SetLockTransform ( bool  pLockTransform  ) 

Set lock transform flag.

bool GetLockTransform (  ) 

Get lock transform flag.

void SetLock3DPick ( bool  pLock3DPick  ) 

Set lock 3D pick flag.

bool GetLock3DPick (  ) 

Get lock 3D pick flag.

bool SetControlSetLink ( ECharacterNodeId  pCharacterNodeId,
const KFbxControlSetLink pControlSetLink 
)

Set a control set link for a character node ID.

Parameters:
pCharacterNodeId Character node ID.
pControlSetLink Control set link to be associated with the Character node ID.
Returns:
true if successful, false otherwise.
Remarks:
You should avoid setting a control set link for eCharacterLeftFloor, eCharacterRightFloor, eCharacterLeftHandFloor, eCharacterRightHandFloor, eCharacterProps0, eCharacterProps1, eCharacterProps2, eCharacterProps3 or eCharacterProps4. None of these nodes are part of a control set.

bool GetControlSetLink ( ECharacterNodeId  pCharacterNodeId,
KFbxControlSetLink pControlSetLink = NULL 
)

Get the control set link associated with a character node ID.

Parameters:
pCharacterNodeId Requested character node ID.
pControlSetLink Optional pointer that returns the control set link if the function succeeds.
Returns:
true if successful, false otherwise.
Remarks:
You should avoid getting a control set link for eCharacterLeftFloor, eCharacterRightFloor, eCharacterLeftHandFloor, eCharacterRightHandFloor, eCharacterProps0, eCharacterProps1, eCharacterProps2, eCharacterProps3 or eCharacterProps4. None of these nodes are part of a control set.

bool SetEffector ( EEffectorNodeId  pEffectorNodeId,
KFbxEffector  pEffector 
)

Set an effector node for an effector node ID.

Parameters:
pEffectorNodeId Effector node ID.
pEffector Effector to be associated with the effector node ID.
Returns:
true if successful, false otherwise.

bool GetEffector ( EEffectorNodeId  pEffectorNodeId,
KFbxEffector pEffector = NULL 
)

Get the effector associated with an effector node ID.

Parameters:
pEffectorNodeId ID of requested effector node.
pEffector Optional pointer that returns the effector if the function succeeds.
Returns:
true if successful, false otherwise.

bool SetEffectorAux ( EEffectorNodeId  pEffectorNodeId,
KFbxNode pNode,
EEffectorSetId  pEffectorSetId = eEffectorSetAux1 
)

Set an auxiliary effector node for an effector node ID.

Parameters:
pEffectorNodeId Effector node ID.
pNode Auxiliary effector node to be associated with the effector node ID.
pEffectorSetId Effector set ID. Set to eEffectorSetAux1 by default.
Returns:
true if successful, false otherwise.

bool GetEffectorAux ( EEffectorNodeId  pEffectorNodeId,
KFbxNode **  pNode = NULL,
EEffectorSetId  pEffectorSetId = eEffectorSetAux1 
)

Get the auxiliary effector associated with an effector node ID.

Parameters:
pEffectorNodeId ID of requested auxilliary effector node.
pNode Optional pointer that returns the auxiliary effector node if the function succeeds.
pEffectorSetId Effector set ID. Set to eEffectorSetAux1 by default.
Returns:
true if successful, false otherwise.

static char* GetEffectorNodeName ( EEffectorNodeId  pEffectorNodeId  )  [static]

Get the name associated with an effector node ID.

Parameters:
pEffectorNodeId Effector node ID.
Returns:
Name associated with the effector node ID.

static EEffectorNodeId GetEffectorNodeId ( char *  pEffectorNodeName  )  [static]

Get ID associated with an effector node name.

Parameters:
pEffectorNodeName Effector node name.
Returns:
Effector node ID associated with the given effector node name, or -1 if no effector node with pEffectorNodeName exists.