Public Member Functions | Public Attributes | Friends

FBAnimationNode Class Reference

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.


Search for all occurrences

Detailed Description

Definition at line 495 of file fbdata.h.

#include <fbdata.h>

Inheritance diagram for FBAnimationNode:
Inheritance graph
[legend]

List of all members.

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.
FBAnimationNodeGetAnimationToRecord ()
 Get animation node to record to.
FBAnimationNodeGetAnimationToPlay ()
 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

Constructor & Destructor Documentation

FBAnimationNode ( const char *  pName = NULL,
HIObject  pObject = NULL 
)

Constructor.

Parameters:
pNameName of animation node (default is NULL).
pObjectFor internal use only (default is NULL).

Member Function Documentation

void KeyAdd ( const FBTime pTime,
double *  pData,
FBInterpolation  pInterpolation = kFBInterpolationCubic,
FBTangentMode  pTangentMode = kFBTangentModeAuto 
)

Add a key to the animation node.

Parameters:
pTimeTime to add key at.
pDataValue of data to add at pTime.
pInterpolationInterpolation type of the inserted key, default value is Cubic interpolation.
pTangentModeTangent 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.

Parameters:
pDataValue of data to add.
pInterpolationInterpolation type of the inserted key, default value is Cubic interpolation.
pTangentModeTangent calculation method of the inserted key, default value is Auto (Smooth).
bool SetCandidate ( double *  Data)

Set the current candidate values for current time.

Returns:
true if successful.
void SetBufferType ( bool  pGlobal)

Set buffer type for ANIMATIONNODE_TYPE_LOCAL_TRANSLATION, ANIMATIONNODE_TYPE_LOCAL_ROTATION and ANIMATIONNODE_TYPE_LOCAL_SCALE.

Parameters:
pGlobalIs buffer local or global.
void KeyCandidate ( FBTime  pTime = FBTime::Infinity)

Keys the current candidate values if no time is specified, at current time.

Parameters:
pTimeTime 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

Returns:
Size of DataPtr array.
bool WriteData ( double *  Data,
FBEvaluateInfo pEvaluateInfo 
)

Write data to animation node.

Parameters:
DataData to write to animation node.
pEvaluateInfoNode evaluation information (access to system and local time).
Returns:
true if successful.
bool WriteGlobalData ( double *  Data,
FBEvaluateInfo pEvaluateInfo 
)

Write global data to animation node.

Parameters:
DataData to write to animation node.
pEvaluateInfoNode evaluation information (access to system and local time).
Returns:
true if successful.
bool ReadData ( double *  Data,
FBEvaluateInfo pEvaluateInfo 
)

Read data from animation node.

Parameters:
DataData to read from animation node.
pEvaluateInfoNode evaluation information (access to system and local time).
Returns:
true if successful.
bool ReadData ( double *  Data,
FBTime  pTime 
)

Read data from animation node.

Parameters:
DataData to read from animation node.
pTimeTime to read.
Returns:
true if successful.

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.

Parameters:
DataData to read from animation node.
Returns:
true if successful.
bool Evaluate ( double *  Data,
FBTime  pTime,
bool  pEvaluateCandidate = true 
)

Evaluate the animation node data for a given time.

Parameters:
DataData to read from animation node.
pTimeTime to evaluate the node.
pEvaluateCandidateDo evaluate the candidate or not.
Returns:
Status of animation node.
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())

Parameters:
pEvaluateInfoEvaluation synchronization object (contains evaluation id).
Note:
Disabling of animation nodes that were not write is performed to save performance.
bool IsKey ( )

Verifies if there is a key at the current.

Returns:
true if there is a key at the current time.
void KeyRemove ( )

Remove key at current time.

void KeyRemoveAt ( FBTime  pTime)

Remove key at the specified time.

Parameters:
pTimeTime for the key
FBAnimationNode* GetAnimationToRecord ( )

Get animation node to record to.

Returns:
Animation node to record to.
FBAnimationNode* GetAnimationToPlay ( )

Get animation node to play from.

Returns:
Animation node to be played.
FBTime ConvertGlobalToNodeTime ( FBTime pKeyTime)

Convert global time to node time.

(NOTE: Only used in the context of a story clip)

Parameters:
pKeyTimeTime of the key to convert.
FBTime ConvertNodeToGlobalTime ( FBTime pKeyTime)

Convert node time to global time.

(NOTE: Only used in the context of a story clip)

Parameters:
pKeyTimeTime of the key to convert.

Friends And Related Function Documentation

friend class FBBox [friend]

Definition at line 654 of file fbdata.h.


Member Data Documentation

Read Write Property: Label (UI Name).

Definition at line 640 of file fbdata.h.

Read Only Property: Name of animation node.

Definition at line 641 of file fbdata.h.

Read Write Property: User-defined reference.

Definition at line 642 of file fbdata.h.

Read Only Property: Number of keys.

Definition at line 643 of file fbdata.h.

FBPropertyFCurve FCurve

Read Write Property: FCurve for animation.

Definition at line 644 of file fbdata.h.

Read Write Property: Is animation live?

Definition at line 645 of file fbdata.h.

Read Write Property: Is the node in recording mode (device connectors)?

Definition at line 646 of file fbdata.h.

FBPropertyAnimationNode Parent

Read Only Property: Parent animation node.

Definition at line 647 of file fbdata.h.

FBPropertyInterpolation DefaultInterpolation

Read Write Property: Default type of interpolation.

Definition at line 648 of file fbdata.h.

List: List of animation nodes.

Definition at line 650 of file fbdata.h.

Event: Called when the value of this property is modified

Definition at line 652 of file fbdata.h.


The documentation for this class was generated from the following file:

FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode
FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode FBAnimationNode