The principal interface for animation evaluators.
The animation evaluator is used to compute node transforms and property values at specific times during an animation. Evaluators simplify the process of computing transform matrices by taking into account all of the parameters, such as pre- and post-rotations. This class is abstract so that SDK users can implement their own evaluator if needed. The default evaluator used by the FBX SDK is a FbxAnimEvalClassic. The default evaluator can be queried with the function FbxScene::GetEvaluator(), and can be changed using FbxScene::SetEvaluator().
When working with scene nodes, the evaluator will always return an affine transform matrix that contains the translation, rotation and scale of that node.
When working with object properties, the evaluator will always return a structure that can contain as many components as the property can have. For example, an RGB color property would return a structure containing 3 channels. The class FbxAnimCurveNode is used as a data container to store those values, because it can handle as many channels as needed, even if the property is not a real curve node .
Below is a typical usage of the evaluator class to retrieve the global transform matrix of each node in a scene:
{
FbxAMatrix& NodeGlobalTransform = MyScene->GetEvaluator()->GetNodeGlobalTransform(CurrentNode);
}
Another typical usage of the evaluator class, but this time to retrieve the value of an animated color property on a material:
FbxColor Color = MyMaterial->GetDiffuseColor()->EvaluateValue();
- Note
- Note that all the methods to retrieve global/local matrices as well as property values returns references. This is important for performance purposes, to prevent an extra memory copy.
- See also
- FbxScene, FbxAnimEvalClassic, FbxAnimCurveNode
Definition at line 61 of file fbxanimevaluator.h.
|
virtual FbxClassId | GetClassId () const |
|
FbxAMatrix & | GetNodeGlobalTransform (FbxNode *pNode, const FbxTime &pTime=FbxTime((0x7fffffffffffffffLL)), FbxNode::EPivotSet pPivotSet=FbxNode::eSourcePivot, bool pApplyTarget=false, bool pForceEval=false) |
| Returns a node's global transformation matrix at the specified time. More...
|
|
FbxAMatrix & | GetNodeLocalTransform (FbxNode *pNode, const FbxTime &pTime=FbxTime((0x7fffffffffffffffLL)), FbxNode::EPivotSet pPivotSet=FbxNode::eSourcePivot, bool pApplyTarget=false, bool pForceEval=false) |
| Returns a node's local transformation matrix at the specified time. More...
|
|
FbxVector4 & | GetNodeLocalTranslation (FbxNode *pNode, const FbxTime &pTime=FbxTime((0x7fffffffffffffffLL)), FbxNode::EPivotSet pPivotSet=FbxNode::eSourcePivot, bool pApplyTarget=false, bool pForceEval=false) |
| Returns the value of a node's LclTranslation property at the specified time. More...
|
|
FbxVector4 & | GetNodeLocalRotation (FbxNode *pNode, const FbxTime &pTime=FbxTime((0x7fffffffffffffffLL)), FbxNode::EPivotSet pPivotSet=FbxNode::eSourcePivot, bool pApplyTarget=false, bool pForceEval=false) |
| Returns the value of a node's LclRotation property at the specified time. More...
|
|
FbxVector4 & | GetNodeLocalScaling (FbxNode *pNode, const FbxTime &pTime=FbxTime((0x7fffffffffffffffLL)), FbxNode::EPivotSet pPivotSet=FbxNode::eSourcePivot, bool pApplyTarget=false, bool pForceEval=false) |
| Returns the value of a node's LclScaling property at the specified time. More...
|
|
template<class T > |
T | GetPropertyValue (FbxProperty &pProperty, const FbxTime &pTime, bool pForceEval=false) |
| Get a property's value at the specified time using the template type provided. More...
|
|
FbxPropertyValue & | GetPropertyValue (FbxProperty &pProperty, const FbxTime &pTime, bool pForceEval=false) |
| Get a property's value at the specified time. More...
|
|
FbxAnimCurveNode * | GetPropertyCurveNode (FbxProperty &pProperty, FbxAnimLayer *pAnimLayer) |
| Get a property curve node from the evaluation state for quick access. More...
|
|
FbxTime | ValidateTime (const FbxTime &pTime) |
| Validate if the given time value is within animation stack time span range. More...
|
|
void | Reset () |
| Completely reset the evaluation state cache by deleting all entries. More...
|
|
void | Flush (FbxNode *pNode) |
| Clears the specified node evaluation state cache, so the next time the evaluation is called for this node it get refreshed. More...
|
|
void | Flush (FbxProperty &pProperty) |
| Clears the specified property evaluation state cache, so the next time the evaluation is called for this property it get refreshed. More...
|
|
void | ComputeLocalTRSFromGlobal (FbxVector4 &pRetLT, FbxVector4 &pRetLR, FbxVector4 &pRetLS, FbxNode *pNode, FbxAMatrix &pGX, const FbxTime &pTime=FbxTime((0x7fffffffffffffffLL)), FbxNode::EPivotSet pPivotSet=FbxNode::eSourcePivot, bool pApplyTarget=false, bool pForceEval=false) |
| Compute node local TRS from global transform. More...
|
|
virtual void | Compact () |
| Compact the memory used by this object. More...
|
|
template<class T > |
bool | Is () const |
| Templated test if this class is a hierarchical children of the specified class type. More...
|
|
FbxManager * | GetFbxManager () const |
| Retrieve the FbxManager this object belongs to. More...
|
|
FbxDocument * | GetDocument () const |
| Returns a const pointer to the document that contains this object. More...
|
|
FbxDocument * | GetRootDocument () const |
| Returns a const pointer to the root document that contains this object. More...
|
|
FbxScene * | GetScene () const |
| Returns a const pointer to the scene that contains this object. More...
|
|
void | Destroy (bool pRecursive=false) |
| Unregister and delete this object from memory. More...
|
|
void | ResetProperties () |
| Reset all the properties of this object to their default values. More...
|
|
virtual bool | GetSelected () |
| Returns if this object is currently in a selected state. More...
|
|
virtual void | SetSelected (bool pSelected) |
| Sets whether this object is currently selected. More...
|
|
void | SetUserDataPtr (const FbxUInt64 &pUserID, void *pUserData) |
| Sets the data pointer for an user data record whose ID is pUserID. More...
|
|
void * | GetUserDataPtr (const FbxUInt64 &pUserID) const |
| Returns the data pointer of an user data record whose ID is pUserID. More...
|
|
void | SetUserDataPtr (void *pUserData) |
| Sets the data pointer for the user data record whose ID is the object ID. More...
|
|
void * | GetUserDataPtr () const |
| Returns the data pointer of the user data record whose ID is the object ID. More...
|
|
bool | ConnectSrcObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone) |
| Connects this object to a source object. More...
|
|
bool | IsConnectedSrcObject (const FbxObject *pObject) const |
| Judges whether this object connects with the source object. More...
|
|
bool | DisconnectSrcObject (FbxObject *pObject) |
| Disconnects this object from a source object. More...
|
|
bool | DisconnectAllSrcObject () |
| Disconnects this object from all source objects. More...
|
|
bool | DisconnectAllSrcObject (const FbxCriteria &pCriteria) |
| Disconnects this object from all source objects that satisfy a given criteria. More...
|
|
int | GetSrcObjectCount () const |
| Returns the number of source objects with which this object connects. More...
|
|
int | GetSrcObjectCount (const FbxCriteria &pCriteria) const |
| Returns the number of source objects that satisfy the given criteria with which this object connects. More...
|
|
FbxObject * | GetSrcObject (int pIndex=0) const |
| Returns the source object with which this object connects at the specified index. More...
|
|
FbxObject * | GetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const |
| Returns the source object that satisfies the criteria at the specified index with which this object connects. More...
|
|
FbxObject * | FindSrcObject (const char *pName, int pStartIndex=0) const |
| Searches the source object with the specified name, starting at the specified index. More...
|
|
FbxObject * | FindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
| Searches the source object with the specified name which satisfies the given criteria, starting at the specified index. More...
|
|
template<class T > |
bool | DisconnectAllSrcObject () |
| Disconnects this object from all source objects of the specified class type. More...
|
|
template<class T > |
bool | DisconnectAllSrcObject (const FbxCriteria &pCriteria) |
| Disconnects this object from all source objects that are of the specified class type and that satisfy the given criteria. More...
|
|
template<class T > |
int | GetSrcObjectCount () const |
| Returns the number of source objects of a specific class type with which this object connects. More...
|
|
template<class T > |
int | GetSrcObjectCount (const FbxCriteria &pCriteria) const |
| Returns the number of source objects with which this object connects that are the specified class type and that satisfy the given criteria. More...
|
|
template<class T > |
T * | GetSrcObject (int pIndex=0) const |
| Returns the source object of the specified class type at the specified index. More...
|
|
template<class T > |
T * | GetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const |
| Returns the source object that is the specified class type and that satisfies the given criteria at the specified index. More...
|
|
template<class T > |
T * | FindSrcObject (const char *pName, int pStartIndex=0) const |
| Searches the source object with the specified name that is the specified class type, starting at the specified index. More...
|
|
template<class T > |
T * | FindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
| Searches the source object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More...
|
|
bool | ConnectDstObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone) |
| Connects this object to one destination object. More...
|
|
bool | IsConnectedDstObject (const FbxObject *pObject) const |
| Judges whether this object connects with the destination object. More...
|
|
bool | DisconnectDstObject (FbxObject *pObject) |
| Disconnects this object from the destination object. More...
|
|
bool | DisconnectAllDstObject () |
| Disconnects this object from all destination objects. More...
|
|
bool | DisconnectAllDstObject (const FbxCriteria &pCriteria) |
| Disconnects this object from all destination objects that satisfy given criteria. More...
|
|
int | GetDstObjectCount () const |
| Returns the number of destination objects with which this object connects. More...
|
|
int | GetDstObjectCount (const FbxCriteria &pCriteria) const |
| Returns the number of destination objects with which this object connects that satisfy the given criteria. More...
|
|
FbxObject * | GetDstObject (int pIndex=0) const |
| Returns the destination object at the specified index with which this object connects. More...
|
|
FbxObject * | GetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const |
| Returns the destination object with which this object connects that satisfies the given criteria at the specified index. More...
|
|
FbxObject * | FindDstObject (const char *pName, int pStartIndex=0) const |
| Searches the destination object with the specified name, starting at the specified index. More...
|
|
FbxObject * | FindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
| Searches the destination object with the specified name which satisfies the given criteria, starting at the specified index. More...
|
|
template<class T > |
bool | DisconnectAllDstObject () |
| Disconnects this object from all destination objects of the specified class type. More...
|
|
template<class T > |
bool | DisconnectAllDstObject (const FbxCriteria &pCriteria) |
| Disconnects this object from all destination objects that are the specified class type and that satisfy the given criteria. More...
|
|
template<class T > |
int | GetDstObjectCount () const |
| Returns the number of destination objects of the specified class type with which this object connects. More...
|
|
template<class T > |
int | GetDstObjectCount (const FbxCriteria &pCriteria) const |
| Returns the number of destination objects with which this object connects that are the specified class type and that satisfy the given criteria. More...
|
|
template<class T > |
T * | GetDstObject (int pIndex=0) const |
| Returns the destination object with which this object connects that is the specified class type at the specified index. More...
|
|
template<class T > |
T * | GetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const |
| Returns the destination object with which this object connects that is the specified class type and that satisfies the given criteria at the specified index. More...
|
|
template<class T > |
T * | FindDstObject (const char *pName, int pStartIndex=0) const |
| Searches the destination object with the specified name which is of the specified class type, starting at the specified index. More...
|
|
template<class T > |
T * | FindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const |
| Searches the destination object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More...
|
|
FbxProperty | GetFirstProperty () const |
| Returns the first property of this object. More...
|
|
FbxProperty | GetNextProperty (const FbxProperty &pProperty) const |
| Returns the next property of this object that follows the specified property. More...
|
|
FbxProperty | FindProperty (const char *pName, bool pCaseSensitive=true) const |
| Searches a property by name. More...
|
|
FbxProperty | FindProperty (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const |
| Searches a property by name and data type. More...
|
|
FbxProperty | FindPropertyHierarchical (const char *pName, bool pCaseSensitive=true) const |
| Searches a property by full name. More...
|
|
FbxProperty | FindPropertyHierarchical (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const |
| Searches a property by full name and data type. More...
|
|
FbxProperty | GetClassRootProperty () |
| Returns the class root property. More...
|
|
bool | ConnectSrcProperty (const FbxProperty &pProperty) |
| Connects this object to a source property. More...
|
|
bool | IsConnectedSrcProperty (const FbxProperty &pProperty) |
| Determines whether this object connects with the specified source property. More...
|
|
bool | DisconnectSrcProperty (const FbxProperty &pProperty) |
| Disconnects this object from the specified source property. More...
|
|
int | GetSrcPropertyCount () const |
| Returns the number of source properties with which this object connects. More...
|
|
FbxProperty | GetSrcProperty (int pIndex=0) const |
| Returns the source property at the specified index with which this object connects. More...
|
|
FbxProperty | FindSrcProperty (const char *pName, int pStartIndex=0) const |
| Searches a source property with which this object connects that has a specific name, starting at the specified index. More...
|
|
bool | ConnectDstProperty (const FbxProperty &pProperty) |
| Connects this object to a destination property. More...
|
|
bool | IsConnectedDstProperty (const FbxProperty &pProperty) |
| Determines if this object connects with the specified destination property. More...
|
|
bool | DisconnectDstProperty (const FbxProperty &pProperty) |
| Disconnects this object from the specified destination property. More...
|
|
int | GetDstPropertyCount () const |
| Returns the number of destination properties with which this object connects. More...
|
|
FbxProperty | GetDstProperty (int pIndex=0) const |
| Returns the destination property at the specified index with which this object connects. More...
|
|
FbxProperty | FindDstProperty (const char *pName, int pStartIndex=0) const |
| Searches a destination property with which this object connects that has a specific name, starting at the specified index. More...
|
|
int | ContentUnload () |
| Unloads this object's content using the offload peripheral that is currently set in the document then flushes it from memory. More...
|
|
int | ContentLoad () |
| Loads this object's content using the offload peripheral that is currently set in the document. More...
|
|
bool | ContentIsLoaded () const |
| Judges if this object's content is loaded. More...
|
|
void | ContentDecrementLockCount () |
| Decreases the content lock count of an object. More...
|
|
void | ContentIncrementLockCount () |
| Increases the content lock count of an object. More...
|
|
bool | ContentIsLocked () const |
| Judges if this object's content is locked. More...
|
|
virtual bool | ContentWriteTo (FbxStream &pStream) const |
| Writes the content of the object to the given stream. More...
|
|
virtual bool | ContentReadFrom (const FbxStream &pStream) |
| Reads the content of the object from the given stream. More...
|
|
void | EmitMessage (FbxMessage *pMessage) const |
| Emits a message in all available message emitters in the document or SDK manager. More...
|
|
virtual const char * | Localize (const char *pID, const char *pDefault=((void *) 0)) const |
| Localization helper function, it calls the implementation of FBX SDK manager. More...
|
|
FbxLibrary * | GetParentLibrary () const |
| Returns a handle on the parent library of this object. More...
|
|
bool | AddImplementation (FbxImplementation *pImplementation) |
| Adds an implementation. More...
|
|
bool | RemoveImplementation (FbxImplementation *pImplementation) |
| Removes an implementation. More...
|
|
bool | HasDefaultImplementation (void) const |
| Determines if this shading node has a default implementation. More...
|
|
FbxImplementation * | GetDefaultImplementation (void) const |
| Returns the default implementation of this shading node. More...
|
|
bool | SetDefaultImplementation (FbxImplementation *pImplementation) |
| Sets the default implementation of this shading node. More...
|
|
int | GetImplementationCount (const FbxImplementationFilter *pCriteria=((void *) 0)) const |
| Returns the number of implementations that satisfy a given criteria. More...
|
|
FbxImplementation * | GetImplementation (int pIndex, const FbxImplementationFilter *pCriteria=((void *) 0)) const |
| Returns the implementation at the specified index that satisfies the given criteria. More...
|
|
virtual FbxString | GetUrl () const |
| Returns the URL of this object. More...
|
|
virtual bool | SetUrl (char *pUrl) |
| Sets the URL of this object. More...
|
|
void | SetRuntimeClassId (const FbxClassId &pClassId) |
| Set the run-time ClassId for this class. More...
|
|
FbxClassId | GetRuntimeClassId () const |
| Retrieve the run-time ClassId for this object. More...
|
|
bool | IsRuntime (const FbxClassId &pClassId) const |
| Test if this class is a hierarchical children of the specified class type. More...
|
|
bool | IsRuntimePlug () const |
| Find out if the ClassId was registered during run-time rather than at compile time. More...
|
|
void | SetObjectFlags (EObjectFlag pFlags, bool pValue) |
| Set the state of object flags. More...
|
|
bool | GetObjectFlags (EObjectFlag pFlags) const |
| Get the state of object flags. More...
|
|
void | SetAllObjectFlags (FbxUInt pFlags) |
| Override all object flags at once. More...
|
|
FbxUInt | GetAllObjectFlags () const |
| Get all object flags at once. More...
|
|
virtual FbxObject & | Copy (const FbxObject &pObject) |
| Copy an object content into this object. More...
|
|
virtual FbxObject * | Clone (FbxObject::ECloneType pCloneType=eDeepClone, FbxObject *pContainer=((void *) 0), void *pSet=((void *) 0)) const |
| Creates a clone of this object. More...
|
|
bool | IsAReferenceTo () const |
| Checks if this object is a reference clone of another object. More...
|
|
FbxObject * | GetReferenceTo () const |
| If this object is a reference clone, returns the original object (from which the clone originates). More...
|
|
bool | IsReferencedBy () const |
| Checks if any objects are reference cloned from this object. More...
|
|
int | GetReferencedByCount () const |
| Returns the number of objects that are reference clones of this object. More...
|
|
FbxObject * | GetReferencedBy (int pIndex) const |
| Returns a reference clone of this object at the specified index. More...
|
|
void | SetName (const char *pName) |
| Sets the name of this object. More...
|
|
const char * | GetName () const |
| Returns the full name of this object. More...
|
|
FbxString | GetNameWithoutNameSpacePrefix () const |
| Returns the name of the object without the namespace qualifier. More...
|
|
FbxString | GetNameWithNameSpacePrefix () const |
| Returns the name of the object with the namespace qualifier. More...
|
|
void | SetInitialName (const char *pName) |
| Sets the initial name of the object. More...
|
|
const char * | GetInitialName () const |
| Returns the initial name of the object. More...
|
|
FbxString | GetNameSpaceOnly () |
| Returns the namespace of the object. More...
|
|
void | SetNameSpace (FbxString pNameSpace) |
| Sets the namespace of the object. More...
|
|
FbxArray< FbxString * > | GetNameSpaceArray (char identifier) |
| Returns an array of all the namespaces for this object. More...
|
|
FbxString | GetNameOnly () const |
| Returns only the name (no namespace or prefix) of the object. More...
|
|
FbxString | GetNameSpacePrefix () const |
| Returns the namespace qualifier. More...
|
|
const FbxUInt64 & | GetUniqueID () const |
| Returns the unique ID of this object. More...
|
|
void | AddListener (FbxEventHandler &pHandler) |
| Add the specified event handler to current emitter list. More...
|
|
void | RemoveListener (FbxEventHandler &pHandler) |
| Remove the specified event handler from current emitter list. More...
|
|
template<typename EventType > |
void | Emit (const EventType &pEvent) const |
| Emit an event with the specified the event type. More...
|
|