KFbxCharacter Class Reference

#include <kfbxcharacter.h>

Inherits KFbxConstraint.

Inheritance diagram for KFbxCharacter:

Inheritance graph
List of all members.

Detailed Description

This class contains all methods to setup an exported character or query information on an imported character.

This class also contains some methods for manipulating the KFbxCharacterLink, KFbxControlSet, and KFbxFilterSet.

The most important part of a KFbxCharacter is the KFbxCharacterLink. There is one KFbxCharacterLink for each characterized node. This class contains the associated KFbxNode to the node represented by this link and also the characterization offset of this node. For more information see KFbxCharacterLink class documentation.

The character's control set can be accessed by getting a KFbxControlSet reference with the function KFbxCharacter::GetControlSet(). All character parameters can be accessed by getting a KFbxFilterSet reference with the function KFbxCharacter::GetFilterSet().

Definition at line 410 of file kfbxcharacter.h.

Public Types

enum  EError
 Error identifiers. More...

Public Member Functions

void Reset ()
 Reset to default values.
void SetInput (ECharacterInputType pInputType, KFbxObject *pInputObject=NULL)
 Set input type and index.
ECharacterInputType GetInputType () const
 Get input type.
KFbxObjectGetInputObject () const
 Get input actor or character.
bool SetCharacterLink (ECharacterNodeId pCharacterNodeId, const KFbxCharacterLink &pCharacterLink, bool pUpdateObjectList=true)
 Associate a character link to a given character node ID.
bool GetCharacterLink (ECharacterNodeId pCharacterNodeId, KFbxCharacterLink *pCharacterLink=NULL) const
 Get a character link associated with a given character node ID.
KFbxControlSetGetControlSet () const
 Get control set associated with the character.
KFbxFilterSetGetFilterSet () const
 Get filter set associated with the character.

Static Public Member Functions

static int GetCharacterGroupCount (ECharacterGroupId pCharacterGroupId)
 Get number of elements in a given character group.
static ECharacterNodeId GetCharacterGroupElementByIndex (ECharacterGroupId pCharacterGroupId, int pIndex)
 Get character node ID of an element in a given character group.
static char * GetCharacterGroupNameByIndex (ECharacterGroupId pCharacterGroupId, int pIndex)
 Get character node name of an element in a given character group.
static int GetCharacterGroupVersionByIndex (ECharacterGroupId pCharacterGroupId, int pIndex)
 Get character node version of an element in a given character group.
static bool FindCharacterGroupIndexByName (char *pName, bool pForceGroupId, ECharacterGroupId &pCharacterGroupId, int &pIndex)
 Find the character group index associated with a given character node name.
static bool GetCharacterGroupIndexByElement (ECharacterNodeId pCharacterNodeId, ECharacterGroupId &pCharacterGroupId, int &pIndex)
 Get character node group and index of a given character node ID.
static bool GetCharacterGroupVersionByElement (ECharacterNodeId pCharacterNodeId, int &pVersion)
 Get character node version of a given character node ID.
static bool GetCharacterNodeNameFromNodeId (ECharacterNodeId pCharacterNodeId, char *&pName)
 Get character node name associated with a given character node ID.
static bool GetCharacterNodeIdFromNodeName (char *pName, ECharacterNodeId &pCharacterNodeId)
 Get the character node ID associated with a given character node name.


Member Enumeration Documentation

enum EError

Error identifiers.

  • eERROR
  • eERROR_COUNT

Reimplemented from KFbxConstraint.

Definition at line 535 of file kfbxcharacter.h.


Member Function Documentation

void Reset (  ) 

Reset to default values.

  • Input type will be set to eCharacterInputStance.
  • Input object will be set to NULL.
  • Each Character link will be reset.
  • The control set will be reset.

void SetInput ( ECharacterInputType  pInputType,
KFbxObject pInputObject = NULL 
)

Set input type and index.

Parameters:
pInput Input type.
pInputObject Pointer to input character if input type equals eCharacterInputCharacter, otherwise NULL.

ECharacterInputType GetInputType (  )  const

Get input type.

KFbxObject* GetInputObject (  )  const

Get input actor or character.

Returns:
Pointer or Null, depending on the input type.
  • If the input type is set to eCharacterInputCharacter. The returned pointer can be casted to a pointer of type KFbxCharacter.
  • Null pointer if the input object has not been set, or if the input type is not set to eCharacterInputCharacter.

bool SetCharacterLink ( ECharacterNodeId  pCharacterNodeId,
const KFbxCharacterLink pCharacterLink,
bool  pUpdateObjectList = true 
)

Associate a character link to a given character node ID.

If a character link already exists for this character node ID, the character link will be removed.

Parameters:
pCharacterNodeId Character node ID.
pCharacterLink Character link.
pUpdateObjectList Set to true to update the object list (default value).
Returns:
true if successful, false otherwise.

bool GetCharacterLink ( ECharacterNodeId  pCharacterNodeId,
KFbxCharacterLink pCharacterLink = NULL 
) const

Get a character link associated with a given character node ID.

Parameters:
pCharacterNodeId ID of character node requested.
pCharacterLink Optional pointer to receive the character link if function succeeds.
Returns:
true if successful, false otherwise.

KFbxControlSet& GetControlSet (  )  const

Get control set associated with the character.

Returns:
Return the control set associated with the character.

KFbxFilterSet& GetFilterSet (  )  const

Get filter set associated with the character.

Returns:
Return the filter set associated with the character.

static int GetCharacterGroupCount ( ECharacterGroupId  pCharacterGroupId  )  [static]

Get number of elements in a given character group.

Parameters:
pCharacterGroupId Character group ID.
Returns:
The number of elements in the pCharacterGroupId character group.

static ECharacterNodeId GetCharacterGroupElementByIndex ( ECharacterGroupId  pCharacterGroupId,
int  pIndex 
) [static]

Get character node ID of an element in a given character group.

Parameters:
pCharacterGroupId Character group ID.
pIndex Character index ID.
Returns:
Character node ID.

static char* GetCharacterGroupNameByIndex ( ECharacterGroupId  pCharacterGroupId,
int  pIndex 
) [static]

Get character node name of an element in a given character group.

Parameters:
pCharacterGroupId Character group ID.
pIndex Character index ID.
Returns:
Character node name.

static int GetCharacterGroupVersionByIndex ( ECharacterGroupId  pCharacterGroupId,
int  pIndex 
) [static]

Get character node version of an element in a given character group.

Parameters:
pCharacterGroupId Character group ID.
pIndex Character index ID.
Returns:
Character node version.

static bool FindCharacterGroupIndexByName ( char *  pName,
bool  pForceGroupId,
ECharacterGroupId pCharacterGroupId,
int &  pIndex 
) [static]

Find the character group index associated with a given character node name.

Parameters:
pName Character node name.
pForceGroupId Set to true to force the character group ID.
pCharacterGroupId Receives character group ID.
pIndex Receives character index ID.
Returns:
true if successful, otherwise false.

static bool GetCharacterGroupIndexByElement ( ECharacterNodeId  pCharacterNodeId,
ECharacterGroupId pCharacterGroupId,
int &  pIndex 
) [static]

Get character node group and index of a given character node ID.

Parameters:
pCharacterNodeId Character node ID.
pVersion if the Character node ID is found, the method returns the group ID through this parameter
pIndex if the Character node ID is found, the method returns the index through this parameter
Remarks:
Only works for a character node ID that is part of a group.
Returns:
true if successful, false otherwise.

static bool GetCharacterGroupVersionByElement ( ECharacterNodeId  pCharacterNodeId,
int &  pVersion 
) [static]

Get character node version of a given character node ID.

Parameters:
pCharacterNodeId Character node ID to get version.
pVersion if the node ID is found, the method returns the version through this parameter
Remarks:
Only works for a character node ID is part of a group.
Returns:
true if successful, false otherwise.

static bool GetCharacterNodeNameFromNodeId ( ECharacterNodeId  pCharacterNodeId,
char *&  pName 
) [static]

Get character node name associated with a given character node ID.

Parameters:
pCharacterNodeId Character node ID to get name.
pName if the node ID is found, the method returns the node name through this parameter Since the Pointer points to internal data, it is not necessary to allocate a string buffer before calling this function.
Returns:
true if a name exists for the given node ID.

static bool GetCharacterNodeIdFromNodeName ( char *  pName,
ECharacterNodeId pCharacterNodeId 
) [static]

Get the character node ID associated with a given character node name.

Parameters:
pName Character node name to get node ID.
pCharacterNodeId if the node name is found, this method returns the node ID through this parameter
Returns:
true if a node ID exists for the given node name.