1#ifndef __FBEVALUATEMANAGER_H__
2#define __FBEVALUATEMANAGER_H__
43#include <kaydaradef.h>
48#define FBSDK_DLL K_DLLIMPORT
54#ifdef FBSDKUseNamespace
55namespace FBSDKNamespace {;
83typedef void (*kFBEvaluationGlobalFunctionCallback)(
FBEvaluateInfo* pEvaluteInfo);
107 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
108 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
115 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
116 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
123 virtual void Add ( HICallback pOwner, kICallbackHandler pHandler );
124 virtual void Remove ( HICallback pOwner, kICallbackHandler pHandler );
209#ifdef FBSDKUseNamespace
MotionBuilder SDK base class.
AnimationNodeNotify evaluation information.
FBPropertyBool DualQuaternionSkinning
Read/Write Property: Using state of the Dual Quaternion for skinning (CPU Skinning or GPU Skinning).
FBPropertyBool ParallelPipeline
Read/Write Property: true if transformation is evaluated in parallel.
FBPropertyBool UseGPUDeformation
Read/Write Property: true if GPU deformation is used.
bool IsInteractiveMode() const
Check if the application main loop is in interactive or offline render mode.
FBPropertyEventCallbackRenderPipeline OnRenderingPipelineEvent
For callback events at rendering pipeline.
FBPropertyBool ParallelDeformation
Read/Write Property: true if deformation is evaluated in parallel.
FBPropertyEventCallbackEvalPipeline OnEvaluationPipelineEvent
For callback events at evaluation 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.
FBPropertyBool FrameSkipOptimization
Read/Write Property: if true, apply frame skip optimization during playback. off-line rendering don't...
void UnregisterEvaluationGlobalFunction(kFBEvaluationGlobalFunctionCallback pCallback, FBGlobalEvalCallbackTiming pTiming)
Register free callback function to critical timings / stages in the pipeline.
void InvalidateDAG()
Invalidate the DAG and trigger parallel scheduling at the next frame.
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. false when serial algorit...
FBPropertyInt DeviceCount
Read only Property: Number of devices to evaluate.
static FBEvaluateManager & TheOne()
Get the global object for this class.
FBPropertyInt NodeCount
Read only Property: Number of nodes to evaluate.
Event: Global Evaluation pipeline critical timing callback event.
FBGlobalEvalCallbackTiming GetTiming() const
Get Callback Timing.
FBEventEvalGlobalCallback(HKEventBase pEvent)
Constructor.
FBEvaluateInfo * GetEvaluateInfo() const
Returns the Evaluation Info object associated with this callback event.
PropertyEvent: Callback at evaluation pipeline (for kFBGlobalEvalCallbackBeforeDAG,...
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
PropertyEvent: Callback at evaluation pipeline (for kFBGlobalEvalCallbackBeforeRender,...
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
PropertyEvent: Callback at synchronization point (for kFBGlobalEvalCallbackSyn)
virtual void Add(HICallback pOwner, kICallbackHandler pHandler)
Add/Remove a callback.
PropertyEvent: Base event class.
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
K_DLLIMPORT void FBSchedulingDependencyOutput(bool pEnable)
Debug function for MT dependency debug.
FBGlobalEvalCallbackTiming
Global Evaluation callback timing.
@ kFBGlobalEvalCallbackBeforePlottingFrame
Invoked before plotting a frame.
@ kFBGlobalEvalCallbackBeforeRender
Invoked in rendering pipeline, before any rendering tasks start (immediately after clearing GL back b...
@ kFBGlobalEvalCallbackAfterPlottingFrame
Invoked after plotting a frame.
@ kFBGlobalEvalCallbackSyn
Invoked when both evaluation & rendering pipelines / threads are stopped. Useful for some complicated...
@ kFBGlobalEvalCallbackBeforeDAG
Invoked before any DAG (Transformation & Deformation) evaluation tasks started in evaluation pipeline...
@ kFBGlobalEvalCallbackAfterDeform
Invoked after all deformation tasks finished in evaluation pipeline / thread.
@ kFBGlobalEvalCallbackAfterRender
Invoked in rendering pipeline, after any rendering tasks finish (just before swapping GL back/front b...
@ kFBGlobalEvalCallbackAfterDAG
Invoked after all DAG (Transformation & Deformation) evaluation tasks finished in evaluation pipeline...
FBParallelScheduleType
DEPRICATED use ParallelEvaluation on FBEvaluateManager insteadAvailable DAG parallel schedule algorit...
@ kFBParallelScheduleAdvanced
Advanced parallel schedule, task dependency analyzation will be able to across ative constraint,...
@ kFBParallelScheduleSimple
Simple parallel schedule, mainly analyze the task dependency based on Motion Hierarchy (scene graph),...
@ kFBParallelScheduleSerial
No parallel schedule, use sequential evaluation order instead.
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.