This reference page is linked to from the following overview topics: MotionBuilder 2014, MotionBuilder 2013, Your First Python Program, FBProperty - Object Properties, FBCamera - Cameras, Animation, Model templates.
#include <fbdata.h>
Public Member Functions | |
FBAnimationNode (const char *pName=NULL, HIObject pObject=NULL) | |
Constructor. | |
void | KeyAdd (const FBTime &pTime, double *pData, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto) |
Add a key to the animation node. | |
void | KeyAdd (double *pData, FBInterpolation pInterpolation=kFBInterpolationCubic, FBTangentMode pTangentMode=kFBTangentModeAuto) |
Add a key to the animation node at current time. | |
bool | SetCandidate (double *Data) |
Set the current candidate values for current time. | |
void | SetBufferType (bool pGlobal) |
Set buffer type for ANIMATIONNODE_TYPE_LOCAL_TRANSLATION, ANIMATIONNODE_TYPE_LOCAL_ROTATION and ANIMATIONNODE_TYPE_LOCAL_SCALE. | |
void | KeyCandidate (FBTime pTime=FBTime::Infinity) |
Keys the current candidate values if no time is specified, at current time. | |
int | GetSizeOfData () |
Get sizeof void Data Ptr. | |
int | GetDataDoubleArrayCount () |
If the DataPtr is of numeric value type ... | |
bool | WriteData (double *Data, FBEvaluateInfo *pEvaluateInfo) |
Write data to animation node. | |
bool | WriteGlobalData (double *Data, FBEvaluateInfo *pEvaluateInfo) |
Write global data to animation node. | |
bool | ReadData (double *Data, FBEvaluateInfo *pEvaluateInfo) |
Read data from animation node. | |
bool | ReadData (double *Data, FBTime pTime) |
Read data from animation node. | |
bool | ReadData (double *Data) |
Read the last data evaluated for this animation node ... | |
bool | Evaluate (double *Data, FBTime pTime, bool pEvaluateCandidate=true) |
Evaluate the animation node data for a given time. | |
bool | IsEvaluationRecursive (FBEvaluateInfo *pEvaluateInfo) |
Return true if the animation node had valid data for pEvaluateInfo and read from this connector caused recursion for owner of this evaluation (works only for background evaluation) | |
void | DisableIfNotWritten (FBEvaluateInfo *pEvaluateInfo) |
AnimationNodeNotify is called on FBBox for every animation node that data was pulled by system. | |
bool | IsKey () |
Verifies if there is a key at the current. | |
void | KeyRemove () |
Remove key at current time. | |
void | KeyRemoveAt (FBTime pTime) |
Remove key at the specified time. | |
FBAnimationNode * | GetAnimationToRecord () |
Get animation node to record to. | |
FBAnimationNode * | GetAnimationToPlay () |
Get animation node to play from. | |
FBTime | ConvertGlobalToNodeTime (FBTime &pKeyTime) |
Convert global time to node time. | |
FBTime | ConvertNodeToGlobalTime (FBTime &pKeyTime) |
Convert node time to global time. | |
Public Attributes | |
FBPropertyString | Label |
Read Write Property: Label (UI Name). | |
FBPropertyString | UserName |
Read Only Property: Name of animation node. | |
FBPropertykReference | Reference |
Read Write Property: User-defined reference. | |
FBPropertyInt | KeyCount |
Read Only Property: Number of keys. | |
FBPropertyFCurve | FCurve |
Read Write Property: FCurve for animation. | |
FBPropertyBool | Live |
Read Write Property: Is animation live? | |
FBPropertyBool | RecordMode |
Read Write Property: Is the node in recording mode (device connectors)? | |
FBPropertyAnimationNode | Parent |
Read Only Property: Parent animation node. | |
FBPropertyInterpolation | DefaultInterpolation |
Read Write Property: Default type of interpolation. | |
FBPropertyListAnimationNode | Nodes |
List: List of animation nodes. | |
FBPropertyEventAnimationNode | OnChange |
Event: Called when the value of this property is modified | |
Friends | |
class | FBBox |
FBAnimationNode | ( | const char * | pName = NULL , |
HIObject | pObject = NULL |
||
) |
Constructor.
pName | Name of animation node (default is NULL). |
pObject | For internal use only (default is NULL). |
void KeyAdd | ( | const FBTime & | pTime, |
double * | pData, | ||
FBInterpolation | pInterpolation = kFBInterpolationCubic , |
||
FBTangentMode | pTangentMode = kFBTangentModeAuto |
||
) |
Add a key to the animation node.
pTime | Time to add key at. |
pData | Value of data to add at pTime. |
pInterpolation | Interpolation type of the inserted key, default value is Cubic interpolation. |
pTangentMode | Tangent calculation method of the inserted key, default value is Auto (Smooth). |
void KeyAdd | ( | double * | pData, |
FBInterpolation | pInterpolation = kFBInterpolationCubic , |
||
FBTangentMode | pTangentMode = kFBTangentModeAuto |
||
) |
Add a key to the animation node at current time.
pData | Value of data to add. |
pInterpolation | Interpolation type of the inserted key, default value is Cubic interpolation. |
pTangentMode | Tangent calculation method of the inserted key, default value is Auto (Smooth). |
bool SetCandidate | ( | double * | Data | ) |
Set the current candidate values for current time.
void SetBufferType | ( | bool | pGlobal | ) |
Set buffer type for ANIMATIONNODE_TYPE_LOCAL_TRANSLATION, ANIMATIONNODE_TYPE_LOCAL_ROTATION and ANIMATIONNODE_TYPE_LOCAL_SCALE.
pGlobal | Is buffer local or global. |
void KeyCandidate | ( | FBTime | pTime = FBTime::Infinity | ) |
Keys the current candidate values if no time is specified, at current time.
pTime | Time at which to insert the key. |
int GetSizeOfData | ( | ) |
Get sizeof void Data Ptr.
int GetDataDoubleArrayCount | ( | ) |
If the DataPtr is of numeric value type ...
get the size of the array ex: Light Intensity:1, Translation 3
bool WriteData | ( | double * | Data, |
FBEvaluateInfo * | pEvaluateInfo | ||
) |
Write data to animation node.
Data | Data to write to animation node. |
pEvaluateInfo | Node evaluation information (access to system and local time). |
bool WriteGlobalData | ( | double * | Data, |
FBEvaluateInfo * | pEvaluateInfo | ||
) |
Write global data to animation node.
Data | Data to write to animation node. |
pEvaluateInfo | Node evaluation information (access to system and local time). |
bool ReadData | ( | double * | Data, |
FBEvaluateInfo * | pEvaluateInfo | ||
) |
Read data from animation node.
Data | Data to read from animation node. |
pEvaluateInfo | Node evaluation information (access to system and local time). |
bool ReadData | ( | double * | Data, |
FBTime | pTime | ||
) |
Read data from animation node.
Data | Data to read from animation node. |
pTime | Time to read. |
This will launch a new evaluation buffer to read the data and therefore this call is only safe if it is executed from the main thread, e.g. within a tool. In all other cases, you should use ReadData( double *Data, FBEvaluateInfo* pEvalInfo );
bool ReadData | ( | double * | Data | ) |
Read the last data evaluated for this animation node ...
this call doesn't generate a pull on the connection attached to this AnimationNode. No validation is done on the pointer size. You must provide a buffer that is at least GetSizerOfData() size.
Data | Data to read from animation node. |
bool Evaluate | ( | double * | Data, |
FBTime | pTime, | ||
bool | pEvaluateCandidate = true |
||
) |
Evaluate the animation node data for a given time.
Data | Data to read from animation node. |
pTime | Time to evaluate the node. |
pEvaluateCandidate | Do evaluate the candidate or not. |
bool IsEvaluationRecursive | ( | FBEvaluateInfo * | pEvaluateInfo | ) |
Return true if the animation node had valid data for pEvaluateInfo and read from this connector caused recursion for owner of this evaluation (works only for background evaluation)
void DisableIfNotWritten | ( | FBEvaluateInfo * | pEvaluateInfo | ) |
AnimationNodeNotify is called on FBBox for every animation node that data was pulled by system.
Typically constraints are performing one evaluation per cycle (pEvaluationInfo->GetEvaluationID()) and write to output animation nodes. In case when not all output animation nodes were written, system may call AnimationNodeNotify again for unwritten animation nodes. To prevent this, we can call DisableIfNotWritten, which will make sure that AnimationNodeNotify not to be called again for give pEvaluationInfo (based on GetEvaluationID())
pEvaluateInfo | Evaluation synchronization object (contains evaluation id). |
bool IsKey | ( | ) |
Verifies if there is a key at the current.
void KeyRemove | ( | ) |
Remove key at current time.
void KeyRemoveAt | ( | FBTime | pTime | ) |
FBAnimationNode* GetAnimationToRecord | ( | ) |
FBAnimationNode* GetAnimationToPlay | ( | ) |
Convert global time to node time.
(NOTE: Only used in the context of a story clip)
pKeyTime | Time of the key to convert. |
Convert node time to global time.
(NOTE: Only used in the context of a story clip)
pKeyTime | Time of the key to convert. |
friend class FBBox [friend] |
Read Write Property: Label (UI Name).
Read Only Property: Name of animation node.
Read Write Property: User-defined reference.
Read Only Property: Number of keys.
FBPropertyFCurve FCurve |
Read Write Property: FCurve for animation.
Read Write Property: Is animation live?
Read Write Property: Is the node in recording mode (device connectors)?
FBPropertyAnimationNode Parent |
Read Only Property: Parent animation node.
FBPropertyInterpolation DefaultInterpolation |
Read Write Property: Default type of interpolation.
Event: Called when the value of this property is modified