Open Reality Reference Guide
 
Loading...
Searching...
No Matches
FBAnimationNode Class Reference
Inheritance diagram for FBAnimationNode:

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, bool pCheckLocked=false)
 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 ... get the size of the array ex: Light Intensity:1, Translation 3.
 
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, bool pConvertGlobalToLocal=false)
 Read data from animation node.
 
bool ReadData (double *Data, FBTime pTime, bool pConvertGlobalToLocal=false)
 Read data from animation node.
 
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.
 
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 Member Functions inherited from FBComponent
 FBComponent (HIObject pObject)
 Constructor.
 
virtual ~FBComponent ()
 Destructor.
 
virtual bool FBCreate ()
 Open Reality Creation function.
 
virtual void FBDestroy ()
 Open Reality destruction function.
 
virtual void FBDelete () override
 Open Reality deletion function.
 
virtual bool SetHIObject (HIObject pObject, bool pSDKComponent) override
 Assign component to an internal pointer.
 
virtual int PropertyAdd (FBProperty *pProperty)
 Add a property to the component's property manager.
 
bool PropertyAddReferenceProperty (FBProperty *pReferenceProperty)
 Add a reference property to the component's property manager.
 
void PropertyRemove (FBProperty *pProperty)
 Remove a Property from the component's Property manager.
 
void PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags)
 Get list of properties which have been modified since last loading.
 
FBPropertyPropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL)
 Create user or dynamic property.
 
FBObjectFlag GetObjectFlags ()
 Get all Object Flags (concatenated).
 
void SetObjectFlags (FBObjectFlag pFlags)
 SetObjectFlags.
 
bool HasObjectFlags (FBObjectFlag pFlags)
 Check whether a specific object flag is enabled.
 
void EnableObjectFlags (FBObjectFlag pFlags)
 Enable a specific Object Flags.
 
void DisableObjectFlags (FBObjectFlag pFlags)
 Disable a specific Object Flags.
 
void SetObjectStatus (FBObjectStatus pStatus, bool pValue)
 Enable/Disable a specific Object Status.
 
bool GetObjectStatus (FBObjectStatus pStatus)
 Check to see if an object status is enabled.
 
bool ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessNamespaceHierarchy.
 
bool ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessObjectNamespace.
 
virtual const char * ClassName () override
 Get the class name.
 
virtual bool UseCustomPropertyViewSet () const
 Use the custom property viewSet or not.
 
const char * GetFullName (void)
 Get the full name.
 
void SetOwnerNamespace (FBNamespace *pOwnerNSObj)
 Set the owner Namespace object.
 
FBNamespaceGetOwnerNamespace (void)
 Get the owner Namespace object.
 
FBFileReferenceGetOwnerFileReference (void)
 Get the owner FileReference object.
 
void HardSelect ()
 HardSelect.
 
virtual bool Is (int pTypeId) override
 Returns true if object is of type TypeId.
 
virtual int GetTypeId () override
 GetTypeId( int pTypeId )
 
- Public Member Functions inherited from FBWrapperHolder
FBScriptWrapperGetWrapper ()
 Return the wrapper interface of this FBObject.
 
void AddWrapper (FBScriptWrapper *)
 
void RemoveWrapper (FBScriptWrapper *)
 

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.
 
FBPropertyAnimationNodeConnectorType ConnectorType
 Read Only Property: Animation node connector type.
 
FBPropertyListAnimationNode Nodes
 List: List of animation nodes.
 
FBPropertyEventAnimationNode OnChange
 Event: Called when the value of this property is modified
 
- Public Attributes inherited from FBComponent
FBPropertyManager PropertyList
 Read Only Property: Manages all of the properties for the component.
 
FBPropertyListComponent Components
 List: List of components.
 
FBPropertyListComponent Parents
 List: Parents.
 
FBPropertyBool Selected
 Read Write Property: Selected property.
 
FBPropertyString Name
 Read Write Property: Unique name of object.
 
FBPropertyString LongName
 Read Write Property: Name and namespace for object.

 
FBPropertyFolder Folder
 Read Write Property: The folder that contain this component.
 

Additional Inherited Members

- Static Public Member Functions inherited from FBComponent
static int GetInternalClassId ()
 
static void FBComponentSetName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetName (FBComponent *pObject)
 
static void FBComponentSetLongName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetLongName (FBComponent *pObject)
 
- Static Public Attributes inherited from FBComponent
static int TypeInfo
 Contains the Type information of the object.
 
- Protected Member Functions inherited from FBPlug
bool IsSDKComponent ()
 Return whether or not item is an SDK component.
 
bool ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection.
 
bool ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection.
 
bool ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection.
 
bool ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection.
 
bool DisconnectDst (FBPlug *pDst)
 Remove a destination connection.
 
bool DisconnectSrc (FBPlug *pSrc)
 Remove a source connection.
 
void DisconnectAllSrc ()
 Remove all source connections.
 
void DisconnectAllDst ()
 Remove all destination connections.
 
bool DisconnectDstAt (int pIndex)
 Remove a destination connection at a specified index.
 
bool DisconnectSrcAt (int pIndex)
 Remove a source connection at a specified index.
 
bool ReplaceDstAt (int pIndex, FBPlug *pDst)
 Replace a destination connection at a specified index.
 
bool ReplaceSrcAt (int pIndex, FBPlug *pSrc)
 Replace a source connection at a specified index.
 
bool SwapSrc (int pIndexA, int pIndexB)
 Swap source connection at index A with source connection at index B.
 
bool MoveSrcAt (int pIndex, int pAtIndex)
 Move source connection at pIndex to pAtIndex.
 
bool MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc)
 Move source connection pSrc to the position of pAtSrc.
 
int GetSrcCount ()
 Get source connection count.
 
FBPlugGetSrc (int pIndex)
 Get a source connection's plug at specified index.
 
FBConnectionType GetSrcType (int pIndex)
 Get a source connection's type at specified index.
 
int GetDstCount ()
 Get destination connection count.
 
FBPlugGetDst (int pIndex)
 Get a destination connection's plug at specified index.
 
FBConnectionType GetDstType (int pIndex)
 Get a destination connection's type at specified index.
 
bool BeginChange ()
 Begins a change on multiple plugs.
 
void EndChange ()
 Ends a change on multiple plugs.
 
void SetSelfModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's self modification flag.
 
bool GetSelfModified (FBPlugModificationFlag pFlag)
 Tell if the plug's self has changed.
 
void SetContentModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's owned property/object's modification flag.
 
bool GetContentModified (FBPlugModificationFlag pFlag)
 Tell if the plug's content has changed.
 
int GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove)
 Get plug's modified src/dst property/object connection added/removed List.
 
bool RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask)
 Revert the plug's modification to original status.
 
void SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue)
 Set the plug's status flag.
 
bool GetStatusFlag (FBPlugStatusFlag pStatus) const
 Tell if the plug's status has changed.
 
FBPlugGetOwner ()
 Get the owner of this plug.
 
FBPlugGetOwned (int pIndex)
 Get the owned plug at specified index.
 
int GetOwnedCount ()
 Get the owned plug count.
 
virtual const char * ClassName ()
 internal System vars.
 
virtual bool Is (int pTypeId)
 Is( int pTypeId )
 
virtual int GetTypeId ()
 GetTypeId( int pTypeId )
 
virtual bool PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only.
 
virtual bool PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only.
 
virtual bool PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=NULL, FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=NULL)
 PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only.
 
virtual void FBDelete ()
 Actual destructor for a FBPlug.
 
- Static Protected Member Functions inherited from FBPlug
static int GetInternalClassId ()
 Internal class Id.
 
- Protected Attributes inherited from FBPlug
bool mAllocated
 Contain the Allocation State of the Component.
 
HIObject mObject
 Handle on the Plug.
 
bool mSDKComponent
 bool Plug is an SDK component.

 
- Static Protected Attributes inherited from FBPlug
static const char * ClassGroupName
 ClassGroupName of the object.
 
static int TypeInfo
 TypeInfo.
 
static int mGlobalTypeInfo
 Represente the Type Index.
 

Detailed Description

Definition at line 1080 of file fbdata.h.

Constructor & Destructor Documentation

◆ FBAnimationNode()

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

◆ ConvertGlobalToNodeTime()

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.

◆ ConvertNodeToGlobalTime()

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.

◆ DisableIfNotWritten()

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.

◆ Evaluate()

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.

◆ GetAnimationToPlay()

FBAnimationNode * GetAnimationToPlay ( )

Get animation node to play from.

Returns
Animation node to be played.

◆ GetAnimationToRecord()

FBAnimationNode * GetAnimationToRecord ( )

Get animation node to record to.

Returns
Animation node to record to.

◆ GetDataDoubleArrayCount()

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.

◆ GetSizeOfData()

int GetSizeOfData ( )

Get sizeof void Data Ptr.

◆ IsEvaluationRecursive()

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)

◆ IsKey()

bool IsKey ( )

Verifies if there is a key at the current.

Returns
true if there is a key at the current time.

◆ KeyAdd() [1/2]

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).

◆ KeyAdd() [2/2]

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).

◆ KeyCandidate()

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.

◆ KeyRemove()

void KeyRemove ( )

Remove key at current time.

◆ KeyRemoveAt()

void KeyRemoveAt ( FBTime  pTime)

Remove key at the specified time.

Parameters
pTimeTime for the key

◆ ReadData() [1/3]

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.

◆ ReadData() [2/3]

bool ReadData ( double *  Data,
FBEvaluateInfo pEvaluateInfo,
bool  pConvertGlobalToLocal = false 
)

Read data from animation node.

Parameters
DataData to read from animation node.
pEvaluateInfoNode evaluation information (access to system and local time).
pConvertGlobalToLocalIf global transform data is read, convert it to local data.
Returns
true if successful.

◆ ReadData() [3/3]

bool ReadData ( double *  Data,
FBTime  pTime,
bool  pConvertGlobalToLocal = false 
)

Read data from animation node.

Parameters
DataData to read from animation node.
pTimeTime to read.
pConvertGlobalToLocalIf global transform data is read, convert it to local data.
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 );

◆ SetBufferType()

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.

◆ SetCandidate()

bool SetCandidate ( double *  Data,
bool  pCheckLocked = false 
)

Set the current candidate values for current time.

Parameters
pCheckLockedDecides whether to check the locked status.
Returns
true if successful.

◆ WriteData()

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.

◆ WriteGlobalData()

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.

Member Data Documentation

◆ ConnectorType

FBPropertyAnimationNodeConnectorType ConnectorType

Read Only Property: Animation node connector type.

Definition at line 1237 of file fbdata.h.

◆ DefaultInterpolation

FBPropertyInterpolation DefaultInterpolation

Read Write Property: Default type of interpolation.

Definition at line 1236 of file fbdata.h.

◆ FCurve

FBPropertyFCurve FCurve

Read Write Property: FCurve for animation.

Definition at line 1232 of file fbdata.h.

◆ KeyCount

FBPropertyInt KeyCount

Read Only Property: Number of keys.

Definition at line 1231 of file fbdata.h.

◆ Label

Read Write Property: Label (UI Name).

Definition at line 1228 of file fbdata.h.

◆ Live

Read Write Property: Is animation live?

Definition at line 1233 of file fbdata.h.

◆ Nodes

List: List of animation nodes.

Definition at line 1239 of file fbdata.h.

◆ OnChange

Event: Called when the value of this property is modified

Definition at line 1241 of file fbdata.h.

◆ Parent

FBPropertyAnimationNode Parent

Read Only Property: Parent animation node.

Definition at line 1235 of file fbdata.h.

◆ RecordMode

FBPropertyBool RecordMode

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

Definition at line 1234 of file fbdata.h.

◆ Reference

Read Write Property: User-defined reference.

Definition at line 1230 of file fbdata.h.

◆ UserName

FBPropertyString UserName

Read Only Property: Name of animation node.

Definition at line 1229 of file fbdata.h.


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