Open Reality Reference Guide
FBEvaluateManager Class Reference
Inheritance diagram for FBEvaluateManager:

Public Member Functions

void InvalidateDAG ()
 Invalidate the DAG and trigger parallel scheduling at the next frame. More...
 
bool IsInteractiveMode () const
 Check if the application main loop is in interactive or offline render mode. More...
 
- Public Member Functions inherited from FBComponent
 FBComponent (HIObject pObject)
 Constructor. More...
 
virtual ~FBComponent ()
 Destructor. More...
 
virtual bool FBCreate ()
 Open Reality Creation function. More...
 
virtual void FBDestroy ()
 Open Reality destruction function. More...
 
virtual void FBDelete () override
 Open Reality deletion function. More...
 
virtual bool SetHIObject (HIObject pObject, bool pSDKComponent) override
 Assign component to an internal pointer. More...
 
virtual int PropertyAdd (FBProperty *pProperty)
 Add a property to the component's property manager. More...
 
bool PropertyAddReferenceProperty (FBProperty *pReferenceProperty)
 Add a reference property to the component's property manager. More...
 
void PropertyRemove (FBProperty *pProperty)
 Remove a Property from the component's Property manager. More...
 
void PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags)
 Get list of properties which have been modified since last loading. More...
 
FBPropertyPropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL)
 Create user or dynamic property. More...
 
FBObjectFlag GetObjectFlags ()
 Get all Object Flags (concatenated). More...
 
void SetObjectFlags (FBObjectFlag pFlags)
 SetObjectFlags. More...
 
bool HasObjectFlags (FBObjectFlag pFlags)
 Check whether a specific object flag is enabled. More...
 
void EnableObjectFlags (FBObjectFlag pFlags)
 Enable a specific Object Flags. More...
 
void DisableObjectFlags (FBObjectFlag pFlags)
 Disable a specific Object Flags. More...
 
void SetObjectStatus (FBObjectStatus pStatus, bool pValue)
 Enable/Disable a specific Object Status. More...
 
bool GetObjectStatus (FBObjectStatus pStatus)
 Check to see if an object status is enabled. More...
 
bool ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessNamespaceHierarchy. More...
 
bool ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessObjectNamespace. More...
 
virtual const char * ClassName () override
 Get the class name. More...
 
virtual bool UseCustomPropertyViewSet () const
 Use the custom property viewSet or not. More...
 
const char * GetFullName (void)
 Get the full name. More...
 
void SetOwnerNamespace (FBNamespace *pOwnerNSObj)
 Set the owner Namespace object. More...
 
FBNamespaceGetOwnerNamespace (void)
 Get the owner Namespace object. More...
 
FBFileReferenceGetOwnerFileReference (void)
 Get the owner FileReference object. More...
 
void HardSelect ()
 HardSelect. More...
 
virtual bool Is (int pTypeId) override
 Returns true if object is of type TypeId. More...
 
virtual int GetTypeId () override
 GetTypeId( int pTypeId ) More...
 
- Public Member Functions inherited from FBWrapperHolder
FBScriptWrapperGetWrapper ()
 Return the wrapper interface of this FBObject. More...
 
void AddWrapper (FBScriptWrapper *)
 
void RemoveWrapper (FBScriptWrapper *)
 

Public Attributes

FBPropertyBool ParallelPipeline
 Read/Write Property: true if transformation is evaluated in parallel. More...
 
FBPropertyBool ParallelDeformation
 Read/Write Property: true if deformation is evaluated in parallel. More...
 
FBPropertyBool UseGPUDeformation
 Read/Write Property: true if GPU deformation is used. More...
 
FBPropertyBool FrameSkipOptimization
 Read/Write Property: if true, apply frame skip optimization during playback. off-line rendering don't use frame skip optimization. More...
 
FBPropertyParallelScheduleType ParallelScheduleType
  DEPRICATED Read/Write Property: choose between serial and parallel DAG schedule algorithm. kFBParallelScheduleSimple and kFBParallelScheduleAdvanced will set ParallelEvalution to true. kFBParallelScheduleSerial will set ParallelEvalution to false More...
 
FBPropertyBool ParallelEvaluation
 Read/Write Property: true if parallel DAG schedule algorithm is being used. false when serial algorithm is being used. More...
 
FBPropertyBool DualQuaternionSkinning
 Read/Write Property: Using state of the Dual Quaternion for skinning (CPU Skinning or GPU Skinning). More...
 
FBPropertyInt NodeCount
 Read only Property: Number of nodes to evaluate. More...
 
FBPropertyInt DeviceCount
 Read only Property: Number of devices to evaluate. More...
 
- Public Attributes inherited from FBComponent
FBPropertyManager PropertyList
 Read Only Property: Manages all of the properties for the component. More...
 
FBPropertyListComponent Components
 List: List of components. More...
 
FBPropertyListComponent Parents
 List: Parents. More...
 
FBPropertyBool Selected
 Read Write Property: Selected property. More...
 
FBPropertyString Name
 Read Write Property: Unique name of object. More...
 
FBPropertyString LongName
 Read Write Property: Name and namespace for object.
More...
 
FBPropertyFolder Folder
 Read Write Property: The folder that contain this component. More...
 

Callback function management for critical timing in the pipeline.

User could register two set of callback functions, one is to use global free function via RegisterEvaluationGlobalFunction / UnregisterEvaluationGlobalFunction, the other is to use class (with ICallback interface) member function via FBPropertyEvent (OnEvaluationPipelineEvent, OnRenderingPipelineEvent and OnSynchronizationEvent).

Global free functions will be called first before all registered ICallback member functions. Users are expected to use these per frame callback for lightweight tasks, otherwise performance may be dropped.

FBPropertyEventCallbackEvalPipeline OnEvaluationPipelineEvent
  For callback events at evaluation pipeline. More...
 
FBPropertyEventCallbackRenderPipeline OnRenderingPipelineEvent
  For callback events at rendering pipeline. More...
 
FBPropertyEventCallbackSynPoint OnSynchronizationEvent
  For callback events at synchronization point. More...
 
void RegisterEvaluationGlobalFunction (kFBEvaluationGlobalFunctionCallback pCallback, FBGlobalEvalCallbackTiming pTiming)
 Register free callback function to critical timings / stages in the pipeline. More...
 
void UnregisterEvaluationGlobalFunction (kFBEvaluationGlobalFunctionCallback pCallback, FBGlobalEvalCallbackTiming pTiming)
 Register free callback function to critical timings / stages in the pipeline. More...
 
static FBEvaluateManagerTheOne ()
 Get the global object for this class. More...
 

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. More...
 
- Protected Member Functions inherited from FBPlug
bool IsSDKComponent ()
 Return whether or not item is an SDK component. More...
 
bool ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool DisconnectDst (FBPlug *pDst)
 Remove a destination connection. More...
 
bool DisconnectSrc (FBPlug *pSrc)
 Remove a source connection. More...
 
void DisconnectAllSrc ()
 Remove all source connections. More...
 
void DisconnectAllDst ()
 Remove all destination connections. More...
 
bool DisconnectDstAt (int pIndex)
 Remove a destination connection at a specified index. More...
 
bool DisconnectSrcAt (int pIndex)
 Remove a source connection at a specified index. More...
 
bool ReplaceDstAt (int pIndex, FBPlug *pDst)
 Replace a destination connection at a specified index. More...
 
bool ReplaceSrcAt (int pIndex, FBPlug *pSrc)
 Replace a source connection at a specified index. More...
 
bool SwapSrc (int pIndexA, int pIndexB)
 Swap source connection at index A with source connection at index B. More...
 
bool MoveSrcAt (int pIndex, int pAtIndex)
 Move source connection at pIndex to pAtIndex. More...
 
bool MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc)
 Move source connection pSrc to the position of pAtSrc. More...
 
int GetSrcCount ()
 Get source connection count. More...
 
FBPlugGetSrc (int pIndex)
 Get a source connection's plug at specified index. More...
 
FBConnectionType GetSrcType (int pIndex)
 Get a source connection's type at specified index. More...
 
int GetDstCount ()
 Get destination connection count. More...
 
FBPlugGetDst (int pIndex)
 Get a destination connection's plug at specified index. More...
 
FBConnectionType GetDstType (int pIndex)
 Get a destination connection's type at specified index. More...
 
bool BeginChange ()
 Begins a change on multiple plugs. More...
 
void EndChange ()
 Ends a change on multiple plugs. More...
 
void SetSelfModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's self modification flag. More...
 
bool GetSelfModified (FBPlugModificationFlag pFlag)
 Tell if the plug's self has changed. More...
 
void SetContentModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's owned property/object's modification flag. More...
 
bool GetContentModified (FBPlugModificationFlag pFlag)
 Tell if the plug's content has changed. More...
 
int GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove)
 Get plug's modified src/dst property/object connection added/removed List. More...
 
bool RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask)
 Revert the plug's modification to original status. More...
 
void SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue)
 Set the plug's status flag. More...
 
bool GetStatusFlag (FBPlugStatusFlag pStatus) const
 Tell if the plug's status has changed. More...
 
FBPlugGetOwner ()
 Get the owner of this plug. More...
 
FBPlugGetOwned (int pIndex)
 Get the owned plug at specified index. More...
 
int GetOwnedCount ()
 Get the owned plug count. More...
 
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. More...
 
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. More...
 
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. More...
 
- Static Protected Member Functions inherited from FBPlug
static int GetInternalClassId ()
 Internal class Id. More...
 
- Protected Attributes inherited from FBPlug
bool mAllocated
 Contain the Allocation State of the Component. More...
 
HIObject mObject
 Handle on the Plug. More...
 
bool mSDKComponent
 bool Plug is an SDK component.
More...
 
- Static Protected Attributes inherited from FBPlug
static const char * ClassGroupName
 ClassGroupName of the object. More...
 
static int TypeInfo
 TypeInfo. More...
 
static int mGlobalTypeInfo
 Represente the Type Index. More...
 

Detailed Description

Definition at line 132 of file fbevaluatemanager.h.

Member Function Documentation

◆ InvalidateDAG()

void InvalidateDAG ( )

Invalidate the DAG and trigger parallel scheduling at the next frame.

◆ IsInteractiveMode()

bool IsInteractiveMode ( ) const

Check if the application main loop is in interactive or offline render mode.

Returns
true if is application is is interactive mode.

◆ RegisterEvaluationGlobalFunction()

void RegisterEvaluationGlobalFunction ( kFBEvaluationGlobalFunctionCallback  pCallback,
FBGlobalEvalCallbackTiming  pTiming 
)

Register free callback function to critical timings / stages in the pipeline.

Parameters
pCallbackfree function to be registered
pTimingcallback timing to be registered
Note
Global callback functions calling order is same as registration order, which is different from FBPropertyEvent callbacks.

◆ TheOne()

static FBEvaluateManager& TheOne ( )
static

Get the global object for this class.

Returns
the global object.

◆ UnregisterEvaluationGlobalFunction()

void UnregisterEvaluationGlobalFunction ( kFBEvaluationGlobalFunctionCallback  pCallback,
FBGlobalEvalCallbackTiming  pTiming 
)

Register free callback function to critical timings / stages in the pipeline.

Parameters
pCallbackfree callback to be unregistered
pTimingcallback timing to be unregistered

Member Data Documentation

◆ DeviceCount

FBPropertyInt DeviceCount

Read only Property: Number of devices to evaluate.

Definition at line 152 of file fbevaluatemanager.h.

◆ DualQuaternionSkinning

FBPropertyBool DualQuaternionSkinning

Read/Write Property: Using state of the Dual Quaternion for skinning (CPU Skinning or GPU Skinning).

Definition at line 149 of file fbevaluatemanager.h.

◆ FrameSkipOptimization

FBPropertyBool FrameSkipOptimization

Read/Write Property: if true, apply frame skip optimization during playback. off-line rendering don't use frame skip optimization.

Definition at line 146 of file fbevaluatemanager.h.

◆ NodeCount

FBPropertyInt NodeCount

Read only Property: Number of nodes to evaluate.

Definition at line 151 of file fbevaluatemanager.h.

◆ OnEvaluationPipelineEvent

FBPropertyEventCallbackEvalPipeline OnEvaluationPipelineEvent

For callback events at evaluation pipeline.

This callback will be invoked from different thread than the main thread in parallel pipeline setup. And this property is not exposed to pyfbsdk because pyfbsdk doesn't support multi-thread properly yet.

Definition at line 190 of file fbevaluatemanager.h.

◆ OnRenderingPipelineEvent

FBPropertyEventCallbackRenderPipeline OnRenderingPipelineEvent

For callback events at rendering pipeline.

Definition at line 191 of file fbevaluatemanager.h.

◆ OnSynchronizationEvent

FBPropertyEventCallbackSynPoint OnSynchronizationEvent

For callback events at synchronization point.

Definition at line 192 of file fbevaluatemanager.h.

◆ ParallelDeformation

FBPropertyBool ParallelDeformation

Read/Write Property: true if deformation is evaluated in parallel.

Definition at line 144 of file fbevaluatemanager.h.

◆ ParallelEvaluation

FBPropertyBool ParallelEvaluation

Read/Write Property: true if parallel DAG schedule algorithm is being used. false when serial algorithm is being used.

Definition at line 148 of file fbevaluatemanager.h.

◆ ParallelPipeline

FBPropertyBool ParallelPipeline

Read/Write Property: true if transformation is evaluated in parallel.

Definition at line 143 of file fbevaluatemanager.h.

◆ ParallelScheduleType

FBPropertyParallelScheduleType ParallelScheduleType

DEPRICATED Read/Write Property: choose between serial and parallel DAG schedule algorithm. kFBParallelScheduleSimple and kFBParallelScheduleAdvanced will set ParallelEvalution to true. kFBParallelScheduleSerial will set ParallelEvalution to false

Definition at line 147 of file fbevaluatemanager.h.

◆ UseGPUDeformation

FBPropertyBool UseGPUDeformation

Read/Write Property: true if GPU deformation is used.

Definition at line 145 of file fbevaluatemanager.h.


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