KFbxCharacterPose Class Reference

#include <kfbxcharacterpose.h>
Inheritance diagram for KFbxCharacterPose:
Inheritance graph
[legend]

List of all members.


Detailed Description

A character pose is a character and an associated hierarchy of nodes.

Only the default position of the nodes is considered, the animation data is ignored.

You can access the content of a character pose, using the functions KFbxCharacterPose::GetOffset(), KFbxCharacterPose::GetLocalPosition(), and KFbxCharacterPose::GetGlobalPosition(). Their source code is provided inline as examples on how to access the character pose data.

To create a character pose, You must first create a hierarchy of nodes under the root node provided by function KFbxCharacterPose::GetRootNode(). Then, feed this hierarchy of nodes into the character returned by function KFbxCharacterPose::GetCharacter(). Offsets are set in the character links. Local positions are set using KFbxNode::SetDefaultT(), KFbxNode::SetDefaultR(), and KFbxNode::SetDefaultS().

To set local positions from global positions:

  1. Declare lCharacterPose as a valid pointer to a KFbxCharacterPose;
  2. Call lCharacterPose->GetRootNode()->SetLocalStateId(0, true);
  3. Call lCharacterPose->GetRootNode()->SetGlobalStateId(1, true);
  4. Call KFbxNode::SetGlobalState() for all nodes found in the hierarchy under lCharacterPose->GetRootNode();
  5. Call lCharacterPose->GetRootNode()->ComputeLocalState(1, true);
  6. Call lCharacterPose->GetRootNode()->SetCurrentTakeFromLocalState(KTIME_ZERO, true).

Definition at line 86 of file kfbxcharacterpose.h.


Public Member Functions

void  Reset ()
  Reset to an empty character pose.
KFbxNode *  GetRootNode () const
  Get the root node.
KFbxCharacter *  GetCharacter () const
  Get the character.
bool  GetOffset (ECharacterNodeId pCharacterNodeId, KFbxXMatrix &pOffset)
  Get offset matrix for a given character node.
bool  GetLocalPosition (ECharacterNodeId pCharacterNodeId, KFbxVector4 &pLocalT, KFbxVector4 &pLocalR, KFbxVector4 &pLocalS)
  Get local position for a given character node.
bool  GetGlobalPosition (ECharacterNodeId pCharacterNodeId, KFbxXMatrix &pGlobalPosition)
  Get global position for a given character node.

Member Function Documentation

void Reset (  ) 

Reset to an empty character pose.

KFbxNode* GetRootNode (  )  const

Get the root node.

Returns:
Pointer to the root node.

KFbxCharacter* GetCharacter (  )  const

Get the character.

Returns:
Pointer to the character.

bool GetOffset ( ECharacterNodeId  pCharacterNodeId,
KFbxXMatrix &  pOffset  
) [inline]

Get offset matrix for a given character node.

Parameters:
pCharacterNodeId  Character Node ID.
pOffset  Receives offset matrix.
Returns:
true if successful, false otherwise.

Definition at line 109 of file kfbxcharacterpose.h.

References KFbxCharacterLink::mOffsetR, KFbxCharacterLink::mOffsetS, KFbxCharacterLink::mOffsetT, and KFbxXMatrix::SetTRS().

bool GetLocalPosition ( ECharacterNodeId  pCharacterNodeId,
KFbxVector4 &  pLocalT,
KFbxVector4 &  pLocalR,
KFbxVector4 &  pLocalS  
) [inline]

Get local position for a given character node.

Parameters:
pCharacterNodeId  Character Node ID.
pLocalT  Receives local translation vector.
pLocalR  Receives local rotation vector.
pLocalS  Receives local scaling vector.
Returns:
true if successful, false otherwise.

Definition at line 129 of file kfbxcharacterpose.h.

References KFbxNode::GetLocalRFromDefaultTake(), KFbxNode::GetLocalSFromDefaultTake(), KFbxNode::GetLocalTFromDefaultTake(), and KFbxCharacterLink::mNode.

bool GetGlobalPosition ( ECharacterNodeId  pCharacterNodeId,
KFbxXMatrix &  pGlobalPosition  
) [inline]

Get global position for a given character node.

Parameters:
pCharacterNodeId  Character Node ID.
pGlobalPosition  Receives global position.
Returns:
true if successful, false otherwise.

Definition at line 149 of file kfbxcharacterpose.h.

References KFbxNode::GetGlobalFromDefaultTake(), and KFbxCharacterLink::mNode.

KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose
KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose KFbxCharacterPose