fbsystem.h File Reference


Detailed Description

fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h fbsystem.h
Basic system interaction.

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

Definition in file fbsystem.h.

#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/fbaudio.h>
#include <fbsdk/fbvideo.h>
#include <fbsdk/fbdeck.h>
#include <fbsdk/fbassetmng.h>
#include <fbsdk/fbmanipulator.h>

Include dependency graph for fbsystem.h:
This graph shows which files directly or indirectly include this file:

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   FBApplication
  FBApplication is used mainly to manage files. More...
class   FBPlayerControl
  Player control. More...
class   FBKeyControl
  Key control. More...
class   FBCriticalSection
  High priority critical section class. More...
class   FBReferenceTime
  Reference time class. 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
K_DLLIMPORT
FBArrayTemplate
< FBPickInfos
FBPickInfosList
  typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList

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

Functions

K_DLLIMPORT 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.
K_DLLIMPORT FBModelList FBCreateModelList ()
  Create a FBModelList object.
K_DLLIMPORT void  FBDestroyModelList (FBModelList *pModelList)
  Delete a FBModelList object.
K_DLLIMPORT
FBPickInfosList
FBCreatePickInfosList ()
  Create a FBPickInfosList object.
K_DLLIMPORT void  FBDestroyPickInfosList (FBPickInfosList *pPickInfosList)
  Delete a FBPickInfosList object.
K_DLLIMPORT
FBComponentList
FBCreateComponentList ()
  Create a FBObjectList object.
K_DLLIMPORT void  FBDestroyComponentList (FBComponentList *pObjectList)
  Delete a FBObjectList object.
K_DLLIMPORT void  FBSleep (unsigned long MilliSeconds)
  Sleep function Puts system to sleep for specified time.
K_DLLIMPORT HFBModel  FBFindModelByName (char *pModelName, HFBModel pParent=NULL)
  Find a model in the hierarchy.
K_DLLIMPORT HFBModel  FBLoadFbxPrimitivesModel (char *pModelName)
  Load a model.
K_DLLIMPORT void  FBFindModelsOfType (FBModelList &pList, int pTypeInfo, HFBModel pParent=NULL)
  Find all models of a certain type in the scene.
K_DLLIMPORT void  FBGetSelectedModels (FBModelList &pList, HFBModel 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.
K_DLLIMPORT void  FBSelectObjectsByNamespace (char *pNameSpaceName, bool pSelect, bool pSearchExclusive=true)
  FBSelectObjectsByNamespace.
K_DLLIMPORT void  FBFindObjectsByName (const char *pNamePattern, FBComponentList &pList, bool pIncludeNamespace=true, bool pModelsOnly=false)
  FBFindObjectsByName.
K_DLLIMPORT void  FBFindObjectsByNamespace (const char *pNamePattern, FBComponentList &pList)
  FBFindObjectsByName.
K_DLLIMPORT void  FBTrace (char *pFormatString,...)
  This function prints useful debugging strings in the console.
K_DLLIMPORT bool  FBPopNormalTool (char *pToolName, bool pSetFocus=true)
  This function is used to bring up a specific tool in the GUI.

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 class K_DLLIMPORT FBArrayTemplate<FBPickInfos> FBPickInfosList

typedef class FBSDK_DLL FBArrayTemplate<FBPickInfos> FBPickInfosList

Definition at line 94 of file fbsystem.h.

typedef FBVideoGrabOptions* HFBVideoGrabOptions

typedef FBVideoGrabOptions* HFBVideoGrabOptions;

Definition at line 88 of file fbsystem.h.


Enumeration Type Documentation

enum FBBatchFileFormat

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

enum FBBatchOnContainsBatchTakes

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

enum FBBatchOnTakeExist

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

enum FBBatchProcessType

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

enum FBBatchStatus

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

enum FBRotationFilter

Rotation filters.

Enumerator:
kFBRotationFilterNone 
kFBRotationFilterGimbleKiller 
kFBRotationFilterUnroll 

Definition at line 364 of file fbsystem.h.

enum FBTransportMode

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

enum FBTransportPlaySpeed

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

enum FBTransportSnapMode

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

enum FBTransportTimeFormat

Available transport control time display.

Enumerator:
kFBTimeFormatTimecode  Timecode time display mode.
kFBTimeFormatFrame  Frame time display mode.

Definition at line 650 of file fbsystem.h.

enum FBViewerMode

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


Function Documentation

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

References FBGetFBObject().

K_DLLIMPORT FBComponentList* FBCreateComponentList (  ) 

Create a FBObjectList object.

This is to get around memory management issues when mixing debug and release runtime libraties 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.

K_DLLIMPORT FBModelList* FBCreateModelList (  ) 

Create a FBModelList object.

This is to get around memory management issues when mixing debug and release runtime libraties 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.

K_DLLIMPORT FBPickInfosList* FBCreatePickInfosList (  ) 

Create a FBPickInfosList object.

This is to get around memory management issues when mixing debug and release runtime libraties 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.

K_DLLIMPORT void FBDestroyComponentList ( FBComponentList pObjectList  ) 

Delete a FBObjectList object.

Parameters:
pObjectList  pointer to the object created with a call to FBCreateObjectList().

K_DLLIMPORT void FBDestroyModelList ( FBModelList pModelList  ) 

Delete a FBModelList object.

Parameters:
pModelList  pointer to the object created with a call to FBCreateModelList().

K_DLLIMPORT void FBDestroyPickInfosList ( FBPickInfosList pPickInfosList  ) 

Delete a FBPickInfosList object.

Parameters:
pPickInfosList  pointer to the object created with a call to FBCreatePickInfosList().

K_DLLIMPORT HFBModel FBFindModelByName ( char *  pModelName,
HFBModel  pParent = NULL  
)

Find a model in the hierarchy.

Searches the scene for a model, based on the model's unique name.

Parameters:
pModelName  Name of model to search for.
pParent  Root model to search from (default=NULL(root)).
Returns:
A handle onto the model that was found, returns NULL if no model was found by the search.

K_DLLIMPORT void FBFindModelsOfType ( FBModelList pList,
int  pTypeInfo,
HFBModel  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)).

K_DLLIMPORT 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

K_DLLIMPORT void FBFindObjectsByNamespace ( const char *  pNamePattern,
FBComponentList pList  
)

FBFindObjectsByName.

This function will query the system for objects fulfilling a particular namespace 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

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

Referenced by FBCast().

K_DLLIMPORT void FBGetSelectedModels ( FBModelList pList,
HFBModel  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

K_DLLIMPORT HFBModel FBLoadFbxPrimitivesModel ( 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.

K_DLLIMPORT bool FBPopNormalTool ( 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.

K_DLLIMPORT void FBSelectObjectsByNamespace ( char *  pNameSpaceName,
bool  pSelect,
bool  pSearchExclusive = true  
)

FBSelectObjectsByNamespace.

This function will select objects in the current scene according to the parameters you provide

Parameters:
pNameSpaceName  Indicate the name to search for selection/deselection.
pSelect  Indicate if we select or unselect the objects
pSearchExclusive  "true" will select object that are exclusive to that namespace(pNameSpaceName), "false" will select object that could be part of that namespace as well as others namespace.

K_DLLIMPORT void FBSleep ( unsigned long  MilliSeconds  ) 

Sleep function Puts system to sleep for specified time.

Parameters:
MilliSeconds  Time to sleep for.

K_DLLIMPORT void FBTrace ( 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.


Please send us your comments about this page.