KFbxAnimEvaluator Class Reference

#include <kfbxanimevaluator.h>
Inheritance diagram for KFbxAnimEvaluator:
Inheritance graph
[legend]

List of all members.


Detailed Description

This class is an abstract representation of an evaluator object to evaluate animated scenes.

Definition at line 52 of file kfbxanimevaluator.h.


Public Member Functions

void  SetContext (KFbxAnimStack *pAnimStack)
  Set the evaluator context (animation stack to evaluate).
KFbxAnimStack *  GetContext ()
  Get the evaluator context (animation stack to evaluate).
KFbxXMatrix &  GetNodeGlobalTransform (KFbxNode *pNode, KTime pTime=KTIME_INFINITE, KFbxNode::EPivotSet pPivotSet=KFbxNode::eSOURCE_SET, bool pApplyTarget=false, bool pForceEval=false)
  Get a node's global transform matrix at the specified time.
KFbxXMatrix &  GetNodeLocalTransform (KFbxNode *pNode, KTime pTime=KTIME_INFINITE, KFbxNode::EPivotSet pPivotSet=KFbxNode::eSOURCE_SET, bool pApplyTarget=false, bool pForceEval=false)
  Get a node's local transform matrix at the specified time.
KFbxAnimCurveNode &  GetPropertyValue (KFbxProperty &pProperty, KTime pTime, bool pForceEval=false)
  Get a property's value at the specified time.
KTime  ValidateTime (KTime pTime)
  Validate if the given time value is within animation stack time span range.
KFbxXMatrix &  GetNodeGlobalTransformFast (KFbxNode *pNode, int &pDirectIndex, KTime pTime=KTIME_INFINITE, KFbxNode::EPivotSet pPivotSet=KFbxNode::eSOURCE_SET, bool pApplyTarget=false, bool pForceEval=false)
  Get a node's global transform matrix at the specified time.
KFbxXMatrix &  GetNodeLocalTransformFast (KFbxNode *pNode, int &pDirectIndex, KTime pTime=KTIME_INFINITE, KFbxNode::EPivotSet pPivotSet=KFbxNode::eSOURCE_SET, bool pApplyTarget=false, bool pForceEval=false)
  Get a node's local transform matrix at the specified time.
KFbxAnimCurveNode &  GetPropertyValueFast (KFbxProperty &pProperty, int &pDirectIndex, KTime pTime=KTIME_INFINITE, bool pForceEval=false)
  Get a property's value at the specified time.
void  InvalidateNode (KFbxNode *pNode)
  Invalidate a node evaluation state cache.
void  InvalidateProperty (KFbxProperty &pProperty)
  Invalidate a property evaluation state cache.

Member Function Documentation

void SetContext ( KFbxAnimStack *  pAnimStack  ) 

Set the evaluator context (animation stack to evaluate).

Parameters:
pAnimStack  Animation Stack to use with this evaluator.

KFbxAnimStack* GetContext (  ) 

Get the evaluator context (animation stack to evaluate).

Remarks:
If no context is set, the first one found in the scene is used if available.

KFbxXMatrix& GetNodeGlobalTransform ( KFbxNode *  pNode,
KTime  pTime = KTIME_INFINITE,
KFbxNode::EPivotSet  pPivotSet = KFbxNode::eSOURCE_SET,
bool  pApplyTarget = false,
bool  pForceEval = false  
)

Get a node's global transform matrix at the specified time.

Parameters:
pNode  The transform node to evaluate.
pTime  The time used for evaluate. If KTIME_INFINITE is used, this returns the default value, without animation curves evaluation.
pPivotSet  The pivot set to take into account
pApplyTarget  Applies the necessary transform to align into the target node
pForceEval  Force the evaluator to refresh the evaluation state cache even if its already up-to-date.
Returns:
The resulting global transform of the specified node for the specified time.

Referenced by KFbxCharacterPose::GetGlobalPosition().

KFbxXMatrix& GetNodeLocalTransform ( KFbxNode *  pNode,
KTime  pTime = KTIME_INFINITE,
KFbxNode::EPivotSet  pPivotSet = KFbxNode::eSOURCE_SET,
bool  pApplyTarget = false,
bool  pForceEval = false  
)

Get a node's local transform matrix at the specified time.

Parameters:
pNode  The transform node to evaluate.
pTime  The time used for evaluate. If KTIME_INFINITE is used, this returns the default value, without animation curves evaluation.
pPivotSet  The pivot set to take into account
pApplyTarget  Applies the necessary transform to align into the target node
pForceEval  Force the evaluator to refresh the evaluation state cache even if its already up-to-date.
Returns:
The resulting local transform of the specified node for the specified time.

Referenced by KFbxCharacterPose::GetLocalPosition().

KFbxAnimCurveNode& GetPropertyValue ( KFbxProperty &  pProperty,
KTime  pTime,
bool  pForceEval = false  
)

Get a property's value at the specified time.

Parameters:
pProperty  The property to evaluate.
pTime  The time used for evaluate.
pForceEval  Force the evaluator to refresh the evaluation state cache even if its already up-to-date.
Returns:
The property value at the specified time stored in a curve node structure for easier access of complex types.

KTime ValidateTime ( KTime  pTime  ) 

Validate if the given time value is within animation stack time span range.

Parameters:
pTime  The time value to validate.
Returns:
The new validated time, limited by the animation stack time span range.
Remarks:
If no animation stack are found, time zero is returned.

KFbxXMatrix& GetNodeGlobalTransformFast ( KFbxNode *  pNode,
int &  pDirectIndex,
KTime  pTime = KTIME_INFINITE,
KFbxNode::EPivotSet  pPivotSet = KFbxNode::eSOURCE_SET,
bool  pApplyTarget = false,
bool  pForceEval = false  
)

Get a node's global transform matrix at the specified time.

Parameters:
pNode  The transform node to evaluate.
pDirectIndex  The index used to retrieve the information in the evaluation state. The first time you evaluate a specific node, it must be set to -1. Then the returned index can be used for a quicker access to the evaluation state array.
pTime  The time used for evaluate. If KTIME_INFINITE is used, this returns the default value, without animation curves evaluation.
pPivotSet  The pivot set to take into account
pApplyTarget  Applies the necessary transform to align into the target node
pForceEval  Force the evaluator to refresh the evaluation state cache even if its already up-to-date.
Returns:
The resulting global transform of the specified node for the specified time.
Remarks:
If the scene change in the application, all direct indexes must be updated, and the evaluation state cache must be invalidated.

KFbxXMatrix& GetNodeLocalTransformFast ( KFbxNode *  pNode,
int &  pDirectIndex,
KTime  pTime = KTIME_INFINITE,
KFbxNode::EPivotSet  pPivotSet = KFbxNode::eSOURCE_SET,
bool  pApplyTarget = false,
bool  pForceEval = false  
)

Get a node's local transform matrix at the specified time.

Parameters:
pNode  The transform node to evaluate.
pDirectIndex  The index used to retrieve the information in the evaluation state. The first time you evaluate a specific node, it must be set to -1. Then the returned index can be used for a quicker access to the evaluation state array (no find).
pTime  The time used for evaluate. If KTIME_INFINITE is used, this returns the default value, without animation curves evaluation.
pPivotSet  The pivot set to take into account
pApplyTarget  Applies the necessary transform to align into the target node
pForceEval  Force the evaluator to refresh the evaluation state cache even if its already up-to-date.
Returns:
The resulting local transform of the specified node for the specified time.
Remarks:
If the scene change in the application, all direct indexes must be updated, and the evaluation state cache must be invalidated.

KFbxAnimCurveNode& GetPropertyValueFast ( KFbxProperty &  pProperty,
int &  pDirectIndex,
KTime  pTime = KTIME_INFINITE,
bool  pForceEval = false  
)

Get a property's value at the specified time.

Parameters:
pProperty  The property to evaluate.
pTime  The time used for evaluate.
pDirectIndex  The index used to retrieve the information in the evaluation state. The first time you evaluate a specific property, it must be set to -1. Then the returned index can be used for a quicker access to the evaluation state array.
pForceEval  Force the evaluator to refresh the evaluation state cache even if its already up-to-date.
Returns:
The property value at the specified time stored in a curve node structure for easier access of complex types.
Remarks:
If the scene change in the application, all direct indexes must be updated, and the evaluation state cache must be invalidated.

void InvalidateNode ( KFbxNode *  pNode  ) 

Invalidate a node evaluation state cache.

Parameters:
pNode  The node that needs to be re-evaluated in next evaluation.

void InvalidateProperty ( KFbxProperty &  pProperty  ) 

Invalidate a property evaluation state cache.

Parameters:
pProperty  The property that needs to be re-evaluated in next evaluation.
KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator
KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator KFbxAnimEvaluator