Public Member Functions | Static Public Member Functions | Public Attributes

FBEvaluateManager Class Reference

This reference page is linked to from the following overview topics: MotionBuilder 2014, MotionBuilder 2013, Updated Objects.


Search for all occurrences

Detailed Description

Definition at line 1136 of file fbsystem.h.

#include <fbsystem.h>

Inheritance diagram for FBEvaluateManager:
Inheritance graph
[legend]

List of all members.

Public Member Functions

void InvalidateDAG ()
 Invalidate the DAG and trigger parallel scheduling at the next frame.
bool IsInteractiveMode () const
 Check if the application main loop is in interactive or offline render mode.

Static Public Member Functions

static FBEvaluateManagerTheOne ()
 Get the global object for this class.

Public Attributes

FBPropertyBool ParallelPipeline
 Read/Write Property: true if transformation is evaluated in parallel.
FBPropertyBool ParallelDeformation
 Read/Write Property: true if deformation is evaluated in parallel.
FBPropertyBool UseGPUDeformation
 Read/Write Property: true if GPU deformation is used.
FBPropertyBool FrameSkipOptimization
 Read/Write Property: if true, apply frame skip optimization during playback.
FBPropertyParallelScheduleType ParallelScheduleType
  DEPRICATED Read/Write Property: choose between serial and parallel DAG schedule algorithm.
FBPropertyBool ParallelEvaluation
 Read/Write Property: true if parallel DAG schedule algorithm is being used.
FBPropertyInt NodeCount
 Read only Property: Number of nodes to evaluate.
FBPropertyInt DeviceCount
 Read only Property: Number of devices to evaluate.

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.
FBPropertyEventCallbackRenderPipeline OnRenderingPipelineEvent
  For callback events at rendering pipeline.
FBPropertyEventCallbackSynPoint OnSynchronizationEvent
  For callback events at synchronization point.
void RegisterEvaluationGlobalFunction (kFBEvaluationGlobalFunctionCallback pCallback, FBGlobalEvalCallbackTiming pTiming)
 Register free callback function to critical timings / stages in the pipeline.
void UnregisterEvaluationGlobalFunction (kFBEvaluationGlobalFunctionCallback pCallback, FBGlobalEvalCallbackTiming pTiming)
 Register free callback function to critical timings / stages in the pipeline.

Member Function Documentation

void InvalidateDAG ( )

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

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.
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.
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
static FBEvaluateManager& TheOne ( ) [static]

Get the global object for this class.

Returns:
the global object.

Member Data Documentation

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

Definition at line 1147 of file fbsystem.h.

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

Definition at line 1148 of file fbsystem.h.

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

Definition at line 1149 of file fbsystem.h.

Read/Write Property: if true, apply frame skip optimization during playback.

off-line rendering don't use frame skip optimization.

Definition at line 1150 of file fbsystem.h.

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 1151 of file fbsystem.h.

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

false when serial algorithm is being used.

Definition at line 1152 of file fbsystem.h.

Read only Property: Number of nodes to evaluate.

Definition at line 1154 of file fbsystem.h.

Read only Property: Number of devices to evaluate.

Definition at line 1155 of file fbsystem.h.

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 1193 of file fbsystem.h.

For callback events at rendering pipeline.

Definition at line 1194 of file fbsystem.h.

For callback events at synchronization point.

Definition at line 1195 of file fbsystem.h.


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

FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager
FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager FBEvaluateManager