fbsystem.h File Reference

Basic system interaction. More...

#include <kaydaradef.h>
#include <fbsdk/fbcomponent.h>
#include <fbsdk/fbdata.h>
#include <fbsdk/fbio.h>
#include <fbsdk/fbshader.h>
#include <fbsdk/fbmodel.h>
#include <fbsdk/fbevaluateinfo.h>
#include <fbsdk/fbaudio.h>
#include <fbsdk/fbvideo.h>
#include <fbsdk/fbdeck.h>
#include <fbsdk/fbassetmng.h>
#include <fbsdk/fbmanipulator.h>

Go to the source code of this file.

Classes

class   FBSystem
  Provides access to the underlying system, and the MotionBuilder scene. More...
class   FBTriggerManager
  Trigger engine management. More...
class   FBBatchOptions
  Option parameters for the batch process. More...
class   FBPlotOptions
  Option parameters for plotting. More...
class   FBAudioRenderOptions
  Audio Render Options structure. More...
class   FBApplication
  FBApplication is used mainly to manage files. More...
class   FBPlayerControl
  Player control. More...
class   FBEvaluateManager
class   FBKeyControl
  Key control. More...
class   FBPointCacheManager
  Point Cache Manager Interface to the point cache manager. More...
class   FBEventFileChange
  File change event class. More...
class   FBFileMonitoringManager
  File Change Monitornig Interface to the file change monitoring. More...
class   FBCriticalSection
  High priority critical section class. More...
class   FBFastLock
  FBFastLock. More...
class   FBReferenceTime
  Reference time class. More...
class   FBVisitDirectoryCallback
  Loop over directory content. More...

Defines

#define  FBSDK_DLL   K_DLLIMPORT
  Be sure that FBSDK_DLL is defined only once...

Typedefs

typedef FBVideoGrabOptions HFBVideoGrabOptions
  typedef FBVideoGrabOptions* HFBVideoGrabOptions;
typedef class FBSDK_DLL
FBArrayTemplate< FBPickInfos
FBPickInfosList
  typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList
typedef FBAudioRenderOptions HFBAudioRenderOptions
  typedef FBAudioRenderOptions* HFBAudioRenderOptions
typedef void(*  kFBEvaluationGlobalFunctionCallback )(FBEvaluateInfo *pEvaluteInfo)

Enumerations

enum   FBBatchProcessType { kFBBatchProcessTypeLoad, kFBBatchProcessTypeSave, kFBBatchProcessTypeConvert }
 

Different process type for the batch.

More...
enum   FBBatchFileFormat {
  kFBBatchFileFormatTRC, kFBBatchFileFormatC3D, kFBBatchFileFormatAMC, kFBBatchFileFormatBVH,
  kFBBatchFileFormatHTR, kFBBatchFileFormatFBX
}
 

Different file formats for the batch.

More...
enum   FBBatchOnTakeExist { kFBBatchOnTakeExistOverwrite, kFBBatchOnTakeExistSkip }
 

Different actions to perform when a take already exist while in a batch process.

More...
enum   FBBatchOnContainsBatchTakes { kFBBatchOnContainsBatchTakesSaveBatchTakesOnly, kFBBatchOnContainsBatchTakesSaveAllTakes }
 

Different actions to perform when a scene already contains batch takes while in a batch process.

More...
enum   FBBatchStatus {
  kFBBatchStatusSuccess, kFBBatchStatusError, kFBBatchStatusCharacterNotSpecified, kFBBatchStatusCharacterNotCharacterized,
  kFBBatchStatusCharacterHasNoReference, kFBBatchStatusInputActorNotSpecified, kFBBatchStatusActorInputMarkersetNotSpecified, kFBBatchStatusActorInputMarkersetHasNoReferenceModel,
  kFBBatchStatusActorInputMarkersetNotCorrectlyAssociated, kFBBatchStatusInputCharacterNotCharacterized, kFBBatchStatusInputCharacterHasNoReference, kFBBatchStatusInputDirectoryNotValid,
  kFBBatchStatusAsfSkeletonFileNotSpecified, kFBBatchStatusCantOpenAsfSkeletonFile, kFBBatchStatusOutputDirectoryNotValid
}
 

Different return values of the Batch process.

More...
enum   FBRotationFilter { kFBRotationFilterNone, kFBRotationFilterGimbleKiller, kFBRotationFilterUnroll }
 

Rotation filters.

More...
enum   FBViewerMode {
  kFBViewerModeOneWindow, kFBViewerModeTwoWindow, kFBViewerModeThreeWindow, kFBViewerModeFourWindow,
  kFBViewerModeSchematic
}
 

Different viewer modes for the 3D viewer.

More...
enum   FBTransportMode {
  kFBTransportPlay, kFBTransportPlayPrepare, kFBTransportPlayReady, kFBTransportStop,
  kFBTransportStopPost, kFBTransportStopReady, kFBTransportShuttle, kFBTransportShuttlePrepare,
  kFBTransportShuttleReady, kFBTransportPlayReverse, kFBTransportPlayReversePrepare, kFBTransportPlayReverseReady,
  kFBTransportJog, kFBTransportJogPrepare, kFBTransportJogReady, kFBTransportGoto,
  kFBTransportGotoPrepare, kFBTransportGotoReady, kFBTransportStepForward, kFBTransportStepForwardPrepare,
  kFBTransportStepForwardReady, kFBTransportStepBackward, kFBTransportStepBackwardPrepare, kFBTransportStepBackwardReady
}
 

Transport modes.

More...
enum   FBTransportTimeFormat { kFBTimeFormatTimecode, kFBTimeFormatFrame }
 

Available transport control time display.

More...
enum   FBTransportPlaySpeed {
  kFBSpeed_1_10x, kFBSpeed_1_5x, kFBSpeed_1_4x, kFBSpeed_1_3x,
  kFBSpeed_1_2x, kFBSpeed_1x, kFBSpeed_ALL_FR, kFBSpeed_2x,
  kFBSpeed_3x, kFBSpeed_4x, kFBSpeed_5x, kFBSpeed_10x
}
 

Available transport control play speed.

More...
enum   FBTransportSnapMode { kFBTransportSnapModeNoSnap, kFBTransportSnapModeSnapOnFrames, kFBTransportSnapModePlayOnFrames, kFBTransportSnapModeSnapAndPlayOnFrames }
 

Available snap methods for the transport control.

More...
enum   FBParallelScheduleType { kFBParallelScheduleSerial, kFBParallelScheduleSimple, kFBParallelScheduleAdvanced }
 

DEPRICATED use ParallelEvaluation on FBEvaluateManager insteadAvailable DAG parallel schedule algorithm

More...
enum   FBGlobalEvalCallbackTiming { kFBGlobalEvalCallbackBeforeDAG, kFBGlobalEvalCallbackAfterDAG, kFBGlobalEvalCallbackAfterDeform }
 

Global Evaluation callback timing.

More...
enum   FBFileMonitoringType { kFBFileMonitoring_InvalidIndex, kFBFileMonitoring_MAINSCENE, kFBFileMonitoring_ANIMATIONCLIP }
 

File Monitoring Type.

More...

Functions

  FB_FORWARD (FBCharacter)
  FB_DEFINE_COMPONENT (FBSDK_DLL, Take)
  FB_DEFINE_COMPONENT (FBSDK_DLL, Renderer)
FBSDK_DLL HIObject  FBGetFBObject (HIObject pObject, bool pAutoCreate=false)
  Get the SDK object from an Internal Object.
template<class T >
T *  FBCast (HIObject pObject, bool pAutoCreate=false)
  Cast the SDK object using it's IObject interface into the proper class.
  __FB_FORWARD (FBSystem)
  __FB_FORWARD (FBTriggerManager)
  FB_FORWARD (FBBatchOptions)
  FB_DEFINE_ENUM (FBSDK_DLL, BatchProcessType)
  FB_DEFINE_ENUM (FBSDK_DLL, BatchFileFormat)
  FB_DEFINE_ENUM (FBSDK_DLL, BatchOnTakeExist)
  FB_DEFINE_ENUM (FBSDK_DLL, BatchOnContainsBatchTakes)
  FB_FORWARD (FBPlotOptions)
  FB_DEFINE_ENUM (FBSDK_DLL, RotationFilter)
  FB_FORWARD (FBAudioRenderOptions)
  __FB_FORWARD (FBApplication)
  __FB_FORWARD (FBCharacter)
  __FB_FORWARD (FBActor)
  FB_DEFINE_COMPONENT (FBSDK_DLL, Character)
  FB_DEFINE_COMPONENT (FBSDK_DLL, Actor)
  __FB_FORWARD (FBPlayerControl)
  FB_DEFINE_ENUM (FBSDK_DLL, TransportMode)
  FB_DEFINE_ENUM (FBSDK_DLL, TransportTimeFormat)
  FB_DEFINE_ENUM (FBSDK_DLL, TransportPlaySpeed)
  FB_DEFINE_ENUM (FBSDK_DLL, TransportSnapMode)
  FB_DEFINE_ENUM (FBSDK_DLL, ParallelScheduleType)
  __FB_FORWARD (FBEvaluateManager)
  Evaluate Manager.
  __FB_FORWARD (FBKeyControl)
  __FB_FORWARD (FBPointCacheManager)
  __FB_FORWARD (FBFileMonitoringManager)
  FB_DEFINE_ENUM (FBSDK_DLL, FileMonitoringType)
  __FB_FORWARD (FBEventFileChange)
  FB_FORWARD (FBCriticalSection)
  FB_FORWARD (FBFastLock)
  __FB_FORWARD (FBReferenceTime)
FBSDK_DLL FBModelList FBCreateModelList ()
  Create a FBModelList object.
FBSDK_DLL void  FBDestroyModelList (FBModelList *pModelList)
  Delete a FBModelList object.
FBSDK_DLL FBPickInfosList FBCreatePickInfosList ()
  Create a FBPickInfosList object.
FBSDK_DLL void  FBDestroyPickInfosList (FBPickInfosList *pPickInfosList)
  Delete a FBPickInfosList object.
FBSDK_DLL FBPlugList FBCreatePlugList ()
  Create a FBPlugList object.
FBSDK_DLL void  FBDestroyPlugList (FBPlugList *pPlugList)
  Delete a FBObjectList object.
FBSDK_DLL FBComponentList FBCreateComponentList ()
  Create a FBObjectList object.
FBSDK_DLL void  FBDestroyComponentList (FBComponentList *pObjectList)
  Delete a FBObjectList object.
FBSDK_DLL void  FBSleep (kULong MilliSeconds)
  Sleep function Puts system to sleep for specified time.
FBSDK_DLL void  FBSchedulingDependencyOutput (bool pEnable)
  Debug function for MT dependency debug.
K_DEPRECATED FBSDK_DLL FBModel FBFindModelByName (const char *pModelName, FBModel *pParent=NULL)
FBSDK_DLL FBModel FBFindModelByLabelName (const char *pModelLabelName)
  Find a model in the scene by its label name.
FBSDK_DLL FBModel FBFindModelByUniqueColorId (const FBColor &pColor)
  Find a model in the scene by its unique color id.
FBSDK_DLL FBModel FBLoadFbxPrimitivesModel (const char *pModelName)
  Load a model.
FBSDK_DLL void  FBFindModelsOfType (FBModelList &pList, int pTypeInfo, FBModel *pParent=NULL)
  Find all models of a certain type in the scene.
FBSDK_DLL void  FBGetSelectedModels (FBModelList &pList, FBModel *pParent=NULL, bool pSelected=true, bool pSortBySelectOrder=false)
  Find all models that are selected (if pSelected is true) Searches recursively from a root model for models that are selected, and adds them to a list of models.
FBSDK_DLL void  FBFindObjectsByName (const char *pNamePattern, FBComponentList &pList, bool pIncludeNamespace=true, bool pModelsOnly=false)
  FBFindObjectsByName.
FBSDK_DLL FBComponent FBFindObjectByFullName (const char *pObjectFullName)
  FBFindObjectByFullName.
FBSDK_DLL int  FBDeleteObjectsByName (const char *pNamePattern, const char *pNameSpace=NULL, const char *pGroupName=NULL)
  FBDeleteObjectsByName.
FBSDK_DLL void  FBBeginChangeAllModels ()
  Call begin change to all models (need to be closed).
FBSDK_DLL void  FBEndChangeAllModels ()
  Call end change to all models (should be first open).
FBSDK_DLL void  FBMergeTransactionBegin ()
  Call begin merge multiple files (need to be closed).
FBSDK_DLL void  FBMergeTransactionEnd ()
  Call end merge multiple files (should be first open).
FBSDK_DLL void  FBTrace (const char *pFormatString,...)
  This function prints useful debugging strings in the console.
FBSDK_DLL void  FBMakeFullPath (FBString &pFullPath, const char *pRootPath, const char *pFilePath)
  Get the given file's full path.
FBSDK_DLL bool  FBPopNormalTool (const char *pToolName, bool pSetFocus=true)
  This function is used to bring up a specific tool in the GUI.

Detailed Description

Basic system interaction.

The FBSystem file contains the necessary data structure to interface with the underlying system.

Definition in file fbsystem.h.


Define Documentation

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 50 of file fbsystem.h.


Typedef Documentation

typedef FBVideoGrabOptions* HFBVideoGrabOptions;

Definition at line 91 of file fbsystem.h.

typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList

typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList

Definition at line 97 of file fbsystem.h.

typedef FBAudioRenderOptions* HFBAudioRenderOptions

Definition at line 442 of file fbsystem.h.

typedef void(* kFBEvaluationGlobalFunctionCallback)(FBEvaluateInfo *pEvaluteInfo)

Definition at line 980 of file fbsystem.h.


Enumeration Type Documentation

Different process type for the batch.

Enumerator:
kFBBatchProcessTypeLoad 

Load the files and plot the character with every take.

kFBBatchProcessTypeSave 

Save the takes in different files.

kFBBatchProcessTypeConvert 

Does the load and save.

Definition at line 290 of file fbsystem.h.

Different file formats for the batch.

Enumerator:
kFBBatchFileFormatTRC 

File format for Motion Analysis TRC.

kFBBatchFileFormatC3D 

File format for Vicon C3D.

kFBBatchFileFormatAMC 

File format for Acclaim AMC.

kFBBatchFileFormatBVH 

File format for Biovision BVH.

kFBBatchFileFormatHTR 

File format for Motion Analysis HTR.

kFBBatchFileFormatFBX 

File format for FBX (animation only).

Definition at line 299 of file fbsystem.h.

Different actions to perform when a take already exist while in a batch process.

Enumerator:
kFBBatchOnTakeExistOverwrite 

Overwrite the take.

kFBBatchOnTakeExistSkip 

Skip the take.

Definition at line 311 of file fbsystem.h.

Different actions to perform when a scene already contains batch takes while in a batch process.

Enumerator:
kFBBatchOnContainsBatchTakesSaveBatchTakesOnly 

Save only the batch takes.

kFBBatchOnContainsBatchTakesSaveAllTakes 

Save all the takes.

Definition at line 319 of file fbsystem.h.

Different return values of the Batch process.

Enumerator:
kFBBatchStatusSuccess 
kFBBatchStatusError 
kFBBatchStatusCharacterNotSpecified 
kFBBatchStatusCharacterNotCharacterized 
kFBBatchStatusCharacterHasNoReference 
kFBBatchStatusInputActorNotSpecified 
kFBBatchStatusActorInputMarkersetNotSpecified 
kFBBatchStatusActorInputMarkersetHasNoReferenceModel 
kFBBatchStatusActorInputMarkersetNotCorrectlyAssociated 
kFBBatchStatusInputCharacterNotCharacterized 
kFBBatchStatusInputCharacterHasNoReference 
kFBBatchStatusInputDirectoryNotValid 
kFBBatchStatusAsfSkeletonFileNotSpecified 
kFBBatchStatusCantOpenAsfSkeletonFile 
kFBBatchStatusOutputDirectoryNotValid 

Definition at line 327 of file fbsystem.h.

Rotation filters.

Enumerator:
kFBRotationFilterNone 
kFBRotationFilterGimbleKiller 
kFBRotationFilterUnroll 

Definition at line 391 of file fbsystem.h.

Different viewer modes for the 3D viewer.

Enumerator:
kFBViewerModeOneWindow 

View one pane.

kFBViewerModeTwoWindow 

View two panes.

kFBViewerModeThreeWindow 

View three panes.

kFBViewerModeFourWindow 

View four panes.

kFBViewerModeSchematic 

Schematic view.

Definition at line 463 of file fbsystem.h.

Transport modes.

Enumerator:
kFBTransportPlay 
kFBTransportPlayPrepare 

!< Play mode

kFBTransportPlayReady 
kFBTransportStop 
kFBTransportStopPost 

!< Stop mode

kFBTransportStopReady 
kFBTransportShuttle 
kFBTransportShuttlePrepare 

!< Shuttle mode

kFBTransportShuttleReady 
kFBTransportPlayReverse 
kFBTransportPlayReversePrepare 

!< Play reverse.

kFBTransportPlayReverseReady 
kFBTransportJog 
kFBTransportJogPrepare 

!< Jog.

kFBTransportJogReady 
kFBTransportGoto 
kFBTransportGotoPrepare 

!< Goto.

kFBTransportGotoReady 
kFBTransportStepForward 
kFBTransportStepForwardPrepare 

!< Step forward

kFBTransportStepForwardReady 
kFBTransportStepBackward 
kFBTransportStepBackwardPrepare 

!< Step backward.

kFBTransportStepBackwardReady 

Definition at line 744 of file fbsystem.h.

Available transport control time display.

Enumerator:
kFBTimeFormatTimecode 

Timecode time display mode.

kFBTimeFormatFrame 

Frame time display mode.

Definition at line 757 of file fbsystem.h.

Available transport control play speed.

Enumerator:
kFBSpeed_1_10x 

1/10x.

kFBSpeed_1_5x 

1/5x

kFBSpeed_1_4x 

1/4x

kFBSpeed_1_3x 

1/3x

kFBSpeed_1_2x 

1/2x

kFBSpeed_1x 

1x

kFBSpeed_ALL_FR 

All frames.

kFBSpeed_2x 

2x

kFBSpeed_3x 

3x

kFBSpeed_4x 

4x

kFBSpeed_5x 

5x

kFBSpeed_10x 

10x

Definition at line 767 of file fbsystem.h.

Available snap methods for the transport control.

Enumerator:
kFBTransportSnapModeNoSnap 

No snapping is applied.

kFBTransportSnapModeSnapOnFrames 

Snaps to an exact frame when modifying the current time.

kFBTransportSnapModePlayOnFrames 

When playing, plays to exact frames.

kFBTransportSnapModeSnapAndPlayOnFrames 

Combines both Snap and Play on frames modes.

Definition at line 785 of file fbsystem.h.

DEPRICATED use ParallelEvaluation on FBEvaluateManager insteadAvailable DAG parallel schedule algorithm

Enumerator:
kFBParallelScheduleSerial 

No parallel schedule, use sequential evaluation order instead.

kFBParallelScheduleSimple 

Simple parallel schedule, mainly analyze the task dependency based on Motion Hierarchy (scene graph), but don't across active constraint.

kFBParallelScheduleAdvanced 

Advanced parallel schedule, task dependency analyzation will be able to across ative constraint, and plus motion hierarchy.

Definition at line 963 of file fbsystem.h.

Global Evaluation callback timing.

Let the user to register callback function at different stage of background evaluation.

Enumerator:
kFBGlobalEvalCallbackBeforeDAG 

The callback will be executed before any DAG (Transformation & Deformation) evaluation tasks.

kFBGlobalEvalCallbackAfterDAG 

The callback will be executed after all DAG (Transformation & Deformation) evaluation tasks.

kFBGlobalEvalCallbackAfterDeform 

The callback will be executed after all deformation tasks.

Definition at line 973 of file fbsystem.h.

File Monitoring Type.

Enumerator:
kFBFileMonitoring_InvalidIndex 

Invalid value.

kFBFileMonitoring_MAINSCENE 

Main Scene change monitoring.

kFBFileMonitoring_ANIMATIONCLIP 

Animation clip change monitoring.

Definition at line 1101 of file fbsystem.h.


Function Documentation

FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
Take   
)
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
Renderer   
)
FBSDK_DLL HIObject FBGetFBObject ( HIObject  pObject,
bool  pAutoCreate = false 
)

Get the SDK object from an Internal Object.

Parameters:
pObject Object to get SDK object for.
pAutoCreate Create object if it doesn't exist? (default = false)
Returns:
SDK object for pObject.
T* FBCast ( HIObject  pObject,
bool  pAutoCreate = false 
) [inline]

Cast the SDK object using it's IObject interface into the proper class.

Parameters:
pObject Object to get SDK object for.
pAutoCreate Create object if it doesn't exist? (default = false)
Returns:
SDK object for pObject.

Definition at line 119 of file fbsystem.h.

{
    HIObject lObject = FBGetFBObject(pObject, pAutoCreate);
    // Should also validate type but not available for now
    return (T*)lObject;
}
FB_DEFINE_ENUM ( FBSDK_DLL  ,
BatchProcessType   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
BatchFileFormat   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
BatchOnTakeExist   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
BatchOnContainsBatchTakes   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
RotationFilter   
)
__FB_FORWARD ( FBActor  )
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
Character   
)
FB_DEFINE_COMPONENT ( FBSDK_DLL  ,
Actor   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
TransportMode   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
TransportTimeFormat   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
TransportPlaySpeed   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
TransportSnapMode   
)
FB_DEFINE_ENUM ( FBSDK_DLL  ,
ParallelScheduleType   
)
__FB_FORWARD ( FBEvaluateManager  )

Evaluate Manager.

Interface to schedule the DAG (Directed Acyclic Graph) tasks to multi-core/CPU (or GPU) to accelerate evaluate process.

FB_DEFINE_ENUM ( FBSDK_DLL  ,
FileMonitoringType   
)
FBSDK_DLL FBModelList* FBCreateModelList ( )

Create a FBModelList object.

This is to get around memory management issues when mixing debug and release runtime libraries on Windows. By using the FBCreateModelList/FBDestroyModelList duo of functions, you ensure that the memory used in the array is allocated, reallocated and freed in the same memory pool.

FBSDK_DLL void FBDestroyModelList ( FBModelList pModelList )

Delete a FBModelList object.

Parameters:
pModelList pointer to the object created with a call to FBCreateModelList().
FBSDK_DLL FBPickInfosList* FBCreatePickInfosList ( )

Create a FBPickInfosList object.

This is to get around memory management issues when mixing debug and release runtime libraries on Windows. By using the FBCreatePickInfosList/FBDestroyPickInfosList duo of functions, you ensure that the memory used in the array is allocated, reallocated and freed in the same memory pool.

FBSDK_DLL void FBDestroyPickInfosList ( FBPickInfosList pPickInfosList )

Delete a FBPickInfosList object.

Parameters:
pPickInfosList pointer to the object created with a call to FBCreatePickInfosList().
FBSDK_DLL FBPlugList* FBCreatePlugList ( )

Create a FBPlugList object.

This is to get around memory management issues when mixing debug and release runtime libraries on Windows. By using the FBCreateObjectList/FBDestroyObjectList duo of functions, you ensure that the memory used in the array is allocated, reallocated and freed in the same memory pool.

FBSDK_DLL void FBDestroyPlugList ( FBPlugList pPlugList )

Delete a FBObjectList object.

Parameters:
pObjectList pointer to the object created with a call to FBCreateObjectList().
FBSDK_DLL FBComponentList* FBCreateComponentList ( )

Create a FBObjectList object.

This is to get around memory management issues when mixing debug and release runtime libraries on Windows. By using the FBCreateObjectList/FBDestroyObjectList duo of functions, you ensure that the memory used in the array is allocated, reallocated and freed in the same memory pool.

FBSDK_DLL void FBDestroyComponentList ( FBComponentList pObjectList )

Delete a FBObjectList object.

Parameters:
pObjectList pointer to the object created with a call to FBCreateObjectList().
FBSDK_DLL void FBSleep ( kULong  MilliSeconds )

Sleep function Puts system to sleep for specified time.

Parameters:
MilliSeconds Time to sleep for.
FBSDK_DLL void FBSchedulingDependencyOutput ( bool  pEnable )

Debug function for MT dependency debug.

When enabled log file will be created and updated each time MultiThreaded scheduling is happening (scene rebuild)

Parameters:
pEnable ON/OFF switch. This is not stored in config (should be changed only for debug purpose, because slow down rebuild process )
K_DEPRECATED FBSDK_DLL FBModel* FBFindModelByName ( const char *  pModelName,
FBModel pParent = NULL 
)
Deprecated:
Find a model in the hierarchy.

Searches the scene for a model, based on the model's name. Use it when we have a big scene and know the parent of hierarchy. The wrong model may be returned if there is more than one model in the scene with the same object name but with different namespace.

Parameters:
pModelName Name of model to search for. Could be "FullName", "LabelName" or "ObjectName".
pParent Root model to search from (default=NULL(root)).
Returns:
A handle to the model with any one of the "FullName", "LabelName" or "ObjectName" matching the pModelName, returns NULL if no model was found by the search.
FBSDK_DLL FBModel* FBFindModelByLabelName ( const char *  pModelLabelName )

Find a model in the scene by its label name.

It is faster than FBFindModelByName generally. Searches the scene for a model, based on the model's label name. Label name is "NameSpaceName:ObjectName". also known as "PrefixName::ObjectName" Full name is "GroupName::NameSpaceName:ObjectName".

Parameters:
pModelLabelName LabelName of model to search for. Specify it with schema like "NameSpaceName:ObjectName",or "ObjectName" if no NameSpaceName.
Returns:
A handle onto the model with Label name matching, returns NULL if no model was found by the search.
FBSDK_DLL FBModel* FBFindModelByUniqueColorId ( const FBColor pColor )

Find a model in the scene by its unique color id.

Parameters:
pColor Color channel values are in range of [0,1] with precison 1.0/255
Returns:
A handle onto the model with unique color id matching, returns NULL if no model was found by the search.
FBSDK_DLL FBModel* FBLoadFbxPrimitivesModel ( const char *  pModelName )

Load a model.

Parameters:
pModelName Name of primitive model to load.
Returns:
A handle onto the model that was loaded, returns NULL if no model was found.
FBSDK_DLL void FBFindModelsOfType ( FBModelList pList,
int  pTypeInfo,
FBModel pParent = NULL 
)

Find all models of a certain type in the scene.

Searches recursively from a root model for models of a certain type, and adds them to a list of models.

Return values:
pList List to add found models to.
Parameters:
pTypeInfo Model type to look for.
pParent Root model to look from (default=NULL(root)).
FBSDK_DLL void FBGetSelectedModels ( FBModelList pList,
FBModel pParent = NULL,
bool  pSelected = true,
bool  pSortBySelectOrder = false 
)

Find all models that are selected (if pSelected is true) Searches recursively from a root model for models that are selected, and adds them to a list of models.

Return values:
pList List to add found models to.
Parameters:
pParent Root model to look from (default=NULL(root)).
pSelected true to find selected models, false to find unselected models(default=true).
pSortBySelectOrder true to sort the result by selection order, first selected model in the first part of the list; false to sort the result by scene graph order
FBSDK_DLL void FBFindObjectsByName ( const char *  pNamePattern,
FBComponentList pList,
bool  pIncludeNamespace = true,
bool  pModelsOnly = false 
)

FBFindObjectsByName.

This function will query the system for objects fulfilling a particular name pattern

Parameters:
pNamePattern Indicate the name pattern to search. This pattern can contain any amount of *. (ex: *tr*mod*scene )
pList List that contains the objects
pIncludeNamespace Does the search use the complete name (with namespace)
pModelsOnly Is the search on models or all types of objects
FBSDK_DLL FBComponent* FBFindObjectByFullName ( const char *  pObjectFullName )

FBFindObjectByFullName.

This function will query the system for an object with its FullName matching. Full name is "GroupName::NameSpaceName:ObjectName". Label name is "NameSpaceName:ObjectName". also known as "PrefixName::ObjectName"

Parameters:
pObjectFullName Full Name of object to search for. Specify it with schema like "GroupName::NameSpaceName:ObjectName",or "GroupName::ObjectName" if no NameSpaceName.
Returns:
A handle onto the object with Full name matching pObjectFullName, returns NULL if no object was found by the search.
FBSDK_DLL int FBDeleteObjectsByName ( const char *  pNamePattern,
const char *  pNameSpace = NULL,
const char *  pGroupName = NULL 
)

FBDeleteObjectsByName.

This function will query the system for objects fulfilling a particular name pattern and delete them. specify a namespace prefered, delete all objects with the group name without specified a namespace specified may lead to inconsistent in scene. If use FBDeleteObjectsByName continuously multiple times to delete objects, wrapping all these deletes in one KEntity_MergeTransactionBegin()/KEntity_MergeTransactionEnd() improve performance.

Parameters:
pNamePattern if not NULL, indicate the name pattern to search. This pattern can contain any amount of *. (ex: *tr*mod*scene ). if is NULL or Empty string, "*" will be used for match all.
pNameSpace if not NULL, the objects must be inside the given namespace.
pGroupName if not NULL, indicate the object group name (type).
Returns:
the count of objects found and deleted.
FBSDK_DLL void FBBeginChangeAllModels ( )

Call begin change to all models (need to be closed).

Useful for selection of many models that can trigger many related callbacks)

FBSDK_DLL void FBEndChangeAllModels ( )

Call end change to all models (should be first open).

FBSDK_DLL void FBMergeTransactionBegin ( )

Call begin merge multiple files (need to be closed).

Useful to consecutively merge multiple files into scene.

FBSDK_DLL void FBMergeTransactionEnd ( )

Call end merge multiple files (should be first open).

FBSDK_DLL void FBTrace ( const char *  pFormatString,
  ... 
)

This function prints useful debugging strings in the console.

By passing the argument "-console" when launching MotionBuilder, it is possible to print formatted messages, as a printf would. On Mac OSX, the strings are simply sent to stderr.

Parameters:
pFormatString A printf-style format string, to use the following arguments in the list.
Warning:
There is currently a limitation which sets the maximum length of the resulting string to be limited to 2048 bytes.
Not thread safe, as an static array is used internally.
FBSDK_DLL void FBMakeFullPath ( FBString pFullPath,
const char *  pRootPath,
const char *  pFilePath 
)

Get the given file's full path.

Return values:
pFullPath If the given file path is not root path, return the new path with the given file path behind the given root path, if the given path is root path, directly return the given path.
Parameters:
pRootPath The given root path.
pFilePath The given file path.
FBSDK_DLL bool FBPopNormalTool ( const char *  pToolName,
bool  pSetFocus = true 
)

This function is used to bring up a specific tool in the GUI.

Parameters:
pToolName The name of the tool as shown in the Open Reality menu.
pSetFocus Indicate if the tool will have the focus.
Returns:
If the tool was brought up successfully.