FBApplication Class Reference
 
 
 
FBApplication Class Reference

#include <fbsystem.h>


Class Description

FBApplication is used mainly to manage files.

It provides functionality like that in the MotionBuilder file menu, for example, open file, save file.

Note that event registration is instanced-based. When an FBApplication object is destroyed, all the event callbacks are unregistered. If you want to have a tool to be notified of events, it needs to have a FBApplication data member.

Definition at line 567 of file fbsystem.h.

Inheritance diagram for FBApplication:
FBComponent FBPlug FBWrapperHolder

Public Member Functions

  FBApplication (HIObject pObject=NULL)
  Constructor.
bool  Minimize (bool pBlocking=true)
  Minimize window.
bool  Maximize ()
  Maximize window (minimized).
void  UpdateAllWidgets ()
  Request to refresh display of all UI widgets.
void  FlushEventQueue ()
  Flush event queue.
bool  FileNew (bool pAskUser=false, bool pClearSceneName=true)
  Command FILE->NEW in the menus.
bool  FileOpen (const char *pFilename, bool pShowUIMsg=false, FBFbxOptions *pOptions=NULL)
  Open a file, replacing the current scene.
bool  FileOpen (void *pBuffer, kULong pBufferLength)
  Open a file from memory.
bool  GetMaxFrameCount (void *pBuffer, kULong pBufferLength, kLong *pFrameCount, int pTimeScale)
  Get max frame count from a scene file in memory.
bool  FileMerge (const char *pFilename, bool pShowUIMsg=false, FBFbxOptions *pOptions=NULL)
  Merge a file with the current scene.
bool  FileMerge (FBStringList &pPathlist, bool pShowUIMsg=false, FBFbxOptions *pOptions=NULL)
  Merge multiple files with the current scene.
bool  FileAppend (const char *pFilename, bool pShowUIMsg=false, FBFbxOptions *pOptions=NULL)
  Append a file to the current scene.
bool  FileSave (const char *pFilename=NULL, FBFbxOptions *pOptions=NULL)
  Save the file under another name.
void  FileExit (bool pSave=false)
  Quit application.
bool  FileImport (FBString pFilename, bool pMatchModels=false, bool pCreateUnmatchedModels=true)
  Import a motion file.
bool  FileExport (FBString pFilename)
  Export a motion file.
FBBatchStatus  FileBatch (FBBatchOptions *pBatchOptions, FBPlotOptions *pPlotOptions=NULL)
  Start a batch.
bool  FileImportBatch (const char *pName, FBBatchOptions *pBatchOptions, FBModel *pReference)
  Import a motion file using batch options.
bool  FileExportBatch (const char *pName, FBTake *pTake, FBBatchOptions *pBatchOptions, FBModelList &pExportModels)
  Export a motion file using batch options.
bool  SaveCharacterRigAndAnimation (const char *pFileName, FBCharacter *pCharacter, FBFbxOptions *pFbxOptions)
  Save the rig and its animation in a file.
bool  LoadAnimationOnCharacter (const char *pFileName, FBCharacter *pCharacter, FBFbxOptions *pFbxOptions, FBPlotOptions *pPlotOptions)
  Load a rig and its animation from a file.
bool  IsValidBatchFile (const char *pFilename)
  Verify motion file readability.
bool  OneClickSendAsNewScene (FBOneClickApplication pApplication)
  Send the current scene as a new scene in the specified application.
bool  OneClickUpdateCurrentScene ()
  Send the scene to update the current scene in the specified application.
bool  OneClickAddToCurrentScene ()
  Send the scene and add it to the current scene in the specified application.
void  OneClickSelectPreviouslySentObject ()
  Select, in MotionBuilder, the object that were sent.
FBOneClickApplication  OneClickIsConnectedTo ()
  Return the other application that MotionBuilder is connected to.
bool  FileRender (FBVideoGrabOptions *pRenderOptions=NULL)
  Render current scene to media file.
bool  AudioRender (FBAudioRenderOptions *pAudioRenderOptions=NULL)
  Render audio of current scene to media file, currently WAV file only.
bool  ExecuteScript (FBString pFilename)
  Execute a python script file.
void  SwitchViewerCamera (FBCamera &pCamera)
  Switch the current viewer's camera.
virtual bool  FBCreate ()
  Open Reality Creation function.
virtual void  FBDestroy ()
  Open Reality destruction function.
virtual void  FBDelete () override
  Open Reality deletion function.
virtual bool  SetHIObject (HIObject pObject, bool pSDKComponent) override
  Assign component to an internal pointer.
virtual int  PropertyAdd (FBProperty *pProperty)
  Add a property to the component's property manager.
bool  PropertyAddReferenceProperty (FBProperty *pReferenceProperty)
  Add a reference property to the component's property manager.
void  PropertyRemove (FBProperty *pProperty)
  Remove a Property from the component's Property manager.
void  PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags)
  Get list of properties which have been modified since last loading.
FBProperty PropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL)
  Create user or dynamic property.
FBObjectFlag  GetObjectFlags ()
  Get all Object Flags (concatenated).
void  SetObjectFlags (FBObjectFlag pFlags)
  SetObjectFlags.
bool  HasObjectFlags (FBObjectFlag pFlags)
  Check whether a specific object flag is enabled.
void  EnableObjectFlags (FBObjectFlag pFlags)
  Enable a specific Object Flags.
void  DisableObjectFlags (FBObjectFlag pFlags)
  Disable a specific Object Flags.
void  SetObjectStatus (FBObjectStatus pStatus, bool pValue)
  Enable/Disable a specific Object Status.
bool  GetObjectStatus (FBObjectStatus pStatus)
  Check to see if an object status is enabled.
bool  ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
  ProcessNamespaceHierarchy.
bool  ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
  ProcessObjectNamespace.
virtual const char *  ClassName () override
  Get the class name.
virtual bool  UseCustomPropertyViewSet () const
  Use the custom property viewSet or not.
const char *  GetFullName (void)
  Get the full name.
void  SetOwnerNamespace (FBNamespace *pOwnerNSObj)
  Set the owner Namespace object.
FBNamespace GetOwnerNamespace (void)
  Get the owner Namespace object.
FBFileReference GetOwnerFileReference (void)
  Get the owner FileReference object.
void  HardSelect ()
  HardSelect.
  IObject_Declare (K_IMPLEMENTATION)
  ICallback_Declare (K_IMPLEMENTATION)
virtual bool  Is (int pTypeId)
  Returns true if object is of type TypeId.
virtual int  GetTypeId ()
  GetTypeId( int pTypeId )
void  KObjectEvent (HIRegister pView, HKEventBase pEvent)
virtual HIObject  GetHIObject () const
  Return an internal pointer.
bool  IsSDKComponent ()
  Return whether or not item is an SDK component.
bool  ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
  Add a source connection.
bool  ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
  Add a destination connection.
bool  ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
  Add a source connection.
bool  ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
  Add a destination connection.
bool  DisconnectDst (FBPlug *pDst)
  Remove a destination connection.
bool  DisconnectSrc (FBPlug *pSrc)
  Remove a source connection.
void  DisconnectAllSrc ()
  Remove all source connections.
void  DisconnectAllDst ()
  Remove all destination connections.
bool  DisconnectDstAt (int pIndex)
  Remove a destination connection at a specified index.
bool  DisconnectSrcAt (int pIndex)
  Remove a source connection at a specified index.
bool  ReplaceDstAt (int pIndex, FBPlug *pDst)
  Replace a destination connection at a specified index.
bool  ReplaceSrcAt (int pIndex, FBPlug *pSrc)
  Replace a source connection at a specified index.
bool  SwapSrc (int pIndexA, int pIndexB)
  Swap source connection at index A with source connection at index B.
bool  MoveSrcAt (int pIndex, int pAtIndex)
  Move source connection at pIndex to pAtIndex.
bool  MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc)
  Move source connection pSrc to the position of pAtSrc.
int  GetSrcCount ()
  Get source connection count.
FBPlug GetSrc (int pIndex)
  Get a source connection's plug at specified index.
FBConnectionType  GetSrcType (int pIndex)
  Get a source connection's type at specified index.
int  GetDstCount ()
  Get destination connection count.
FBPlug GetDst (int pIndex)
  Get a destination connection's plug at specified index.
FBConnectionType  GetDstType (int pIndex)
  Get a destination connection's type at specified index.
bool  BeginChange ()
  Begins a change on multiple plugs.
void  EndChange ()
  Ends a change on multiple plugs.
void  SetSelfModified (FBPlugModificationFlag pFlag, bool pBool)
  Set the plug's self modification flag.
bool  GetSelfModified (FBPlugModificationFlag pFlag)
  Tell if the plug's self has changed.
void  SetContentModified (FBPlugModificationFlag pFlag, bool pBool)
  Set the plug's owned property/object's modification flag.
bool  GetContentModified (FBPlugModificationFlag pFlag)
  Tell if the plug's content has changed.
int  GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove)
  Get plug's modified src/dst property/object connection added/removed List.
bool  RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask)
  Revert the plug's modification to original status.
void  SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue)
  Set the plug's status flag.
bool  GetStatusFlag (FBPlugStatusFlag pStatus) const
  Tell if the plug's status has changed.
FBPlug GetOwner ()
  Get the owner of this plug.
FBPlug GetOwned (int pIndex)
  Get the owned plug at specified index.
int  GetOwnedCount ()
  Get the owned plug count.
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.
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.
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.
FBScriptWrapper GetWrapper ()
  Return the wrapper interface of this FBObject.
void  AddWrapper (FBScriptWrapper *)
void  RemoveWrapper (FBScriptWrapper *)
void *  operator new (size_t stAllocateBlock)
void *  operator new (size_t stAllocateBlock, int blockType, const char *filename, int linenumber)
void  operator delete (void *pvMem)
void  RegisterPropertyEvent (FBPropertyEvent *pPropertyEvent)
void  UnregisterPropertyEvent (FBPropertyEvent *pPropertyEvent)
void  InvalidatePropertyEventsParents ()

Static Public Member Functions

static FBApplication TheOne ()
  Get the global object for this class.
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 void  PrintClassDefinitions ()
  Print out internal Class (ID) Definition table.

Public Attributes

FBPropertyEvent  OnFileNewCompleted
  Event: A File New has been completed.
FBPropertyEvent  OnFileNew
  Event: A File New has been requested, nothing has been destroyed yet.
FBPropertyEvent  OnFileOpenCompleted
  Event: A File Open has been completed.
FBPropertyEvent  OnFileOpen
  Event: A File Open has been requested, nothing has been loaded yet.
FBPropertyEvent  OnFileMerge
  Event: A File Merge has been requested, nothing has been loaded yet.
FBPropertyEvent  OnFileSaveCompleted
  Event: A File Save has been completed.
FBPropertyEvent  OnFileSave
  Event: A File Save has been requested, nothing has been saved yet.
FBPropertyEvent  OnFileExit
  Event: A File Exit as been requested, nothing has been destroyed yet.
FBPropertyString  FBXFileName
  Read Write Property: Current scene filename.
FBPropertyActor  CurrentActor
  Read Write Property: Indicate the current actor, as used by the character tool.
FBPropertyCharacter  CurrentCharacter
  Read Write Property: Indicate the current character, as used by the character tool.
DataFBComponent *  mLocalPtr
  Handle on DataFBComponent.
FBPropertyManager  PropertyList
  Read Only Property: Manages all of the properties for the component.
FBPropertyListComponent  Components
  List: List of components.
FBPropertyListComponent  Parents
  List: Parents.
FBPropertyBool  Selected
  Read Write Property: Selected property.
FBPropertyString  Name
  Read Write Property: Unique name of object.
FBPropertyString  LongName
  Read Write Property: Name and namespace for object.
FBPropertyFolder  Folder
  Read Write Property: The folder that contain this component.
KObject *  mDummyObject
  Internal Dummy Object for non KObject Components.
bool  mAllocated
  Contain the Allocation State of the Component.

Static Public Attributes

static int  TypeInfo
  Contains the Type information of the object.
static const char *  ClassGroupName
  ClassGroupName of the object.

Protected Attributes

FBString  mName
  Name of the component.
HIObject  mObject
  Handle on the Plug.
bool  mSDKComponent
  bool Plug is an SDK component.

Static Protected Attributes

static int  mGlobalTypeInfo
  Represente the Type Index.

Friends

K_DLLIMPORT friend int  __FBRegisterTypeInfo (int pInternalClassId)
  __FBRegisterTypeInfo For internal use only, Register the TypeInfo mapped to internal class id.

Constructor & Destructor Documentation

FBApplication::FBApplication ( HIObject  pObject = NULL )

Constructor.

Parameters:
pObject Internal parent object(default=NULL).

Member Function Documentation

bool FBApplication::Minimize ( bool  pBlocking = true )

Minimize window.

Parameters:
pBlocking Is the minimization blocking operation (default = true).
Returns:
Operation was successful (true or false).
bool FBApplication::Maximize ( )

Maximize window (minimized).

Returns:
Operation was successful (true or false).
void FBApplication::UpdateAllWidgets ( )

Request to refresh display of all UI widgets.

void FBApplication::FlushEventQueue ( )

Flush event queue.

Processes all pending events for the calling thread until there are no more events to process. You can call this function occasionally when your code is busy performing a long operation (e.g. copying a file).

bool FBApplication::FileNew ( bool  pAskUser = false,
bool  pClearSceneName = true 
)

Command FILE->NEW in the menus.

Parameters:
pAskUser Set to true to cause a save dialog to popup. Default is false.
pClearSceneName Set to true to clear the scene name, set to false to retain it. Default is true.
Returns:
true if successful.
bool FBApplication::FileOpen ( const char *  pFilename,
bool  pShowUIMsg = false,
FBFbxOptions pOptions = NULL 
)

Open a file, replacing the current scene.

Command File->Open in the menus.

Parameters:
pFilename File to open.
pShowUIMsg Set false if don't want to popup any UI dialog or messages (default=false).
pOptions Provide finer control on file open options (default=NULL). if not null, Option dialog will only show if both option's ShowOptionsDialog property and pShowUIMsg are true.
Returns:
true if file open successfully.
bool FBApplication::FileOpen ( void *  pBuffer,
kULong  pBufferLength 
)

Open a file from memory.

Warning:
this is advanced & not supported function, use with caution.
Parameters:
pBuffer the memory buffer for the file. Raw memory address is expected in pyfbsdk.
pBufferLength the memory buffer size.
Returns:
true if file opened successfully.
bool FBApplication::GetMaxFrameCount ( void *  pBuffer,
kULong  pBufferLength,
kLong pFrameCount,
int  pTimeScale 
)

Get max frame count from a scene file in memory.

Warning:
this is advanced & not supported function, use with caution.
Parameters:
pBuffer the memory buffer for the file. Raw memory address is expected in pyfbsdk.
pBufferLength the memory buffer size.
pFrameCount out parameter to hold max frame count. this parameter is not needed in pyfbsdk.
pTimeScale Time scale.
Returns:
true if file opened successfully. In pyfbsdk, a tuple (bool, kLong) will return instead, the first one is ORSDK function return value, the second is for max frame count.
bool FBApplication::FileMerge ( const char *  pFilename,
bool  pShowUIMsg = false,
FBFbxOptions pOptions = NULL 
)

Merge a file with the current scene.

Command File->Merge in the menus.

Parameters:
pFilename File to merge.
pShowUIMsg Set false if don't want to popup any UI dialog or messages (default=false).
pOptions Provide finer control on file open options (default=NULL). if not null, Option dialog will only show if both option's ShowOptionsDialog property and pShowUIMsg are true.
Returns:
true if successful.
bool FBApplication::FileMerge ( FBStringList pPathlist,
bool  pShowUIMsg = false,
FBFbxOptions pOptions = NULL 
)

Merge multiple files with the current scene.

Command File->Merge in the menus.

Parameters:
pPathlist Files to merge.
pShowUIMsg Set false if don't want to popup any UI dialog or messages (default=false).
pOptions Provide finer control on file open options (default=NULL). if not null, Option dialog will only show if both option's ShowOptionsDialog property and pShowUIMsg are true.
Returns:
true if successful.
bool FBApplication::FileAppend ( const char *  pFilename,
bool  pShowUIMsg = false,
FBFbxOptions pOptions = NULL 
)

Append a file to the current scene.

Same as File->Merge in the menus with all options set to append. In earlier versions of MotionBuilder, a namespace could be specified with a parameter in this function, or FBFbxOptions::CustomImportNamespace, Now this is now done with FBFbxOptions::NamespaceList.

Parameters:
pFilename File to merge.
pShowUIMsg Set false if don't want to popup any UI dialog or messages (default=false).
pOptions Provide finer control on file open options (default=NULL). if not null, Option dialog will only show if both option's ShowOptionsDialog property and pShowUIMsg are true.
Returns:
true if successful.
bool FBApplication::FileSave ( const char *  pFilename = NULL,
FBFbxOptions pOptions = NULL 
)

Save the file under another name.

Command File->SaveAs in the menus.

Parameters:
pFilename Save file as pFilename. A value of NULL will use the current file name.
pOptions Provide finer control on file save options (default=NULL)
Returns:
true if successful.
void FBApplication::FileExit ( bool  pSave = false )

Quit application.

Command File->Exit in the menus.

Parameters:
pSave true if file is saved on exit(default=false).
bool FBApplication::FileImport ( FBString  pFilename,
bool  pMatchModels = false,
bool  pCreateUnmatchedModels = true 
)

Import a motion file.

Command File->Motion File Import... in the menus.

Parameters:
pFilename The file to import. To import two files at the same time (ex: .amc & .asf), separate the two files path with a comma ("Path1,Path2").
pMatchModels If there is already a model in the scene with the same name, the model will not be created and we replace the animation of the given model.
pCreateUnmatchedModels Whether unmatched models will be created. This flag matters only when pMatchModels is true. when pMatchModels is false, all the models are created.
Returns:
True if the import succeeded.
Remarks:
No models selected, all the models in the scene will be checked for a potential name match.
If there are models selected in the scene, only these models will be checked for a potential name match.
If only one model is selected (ex: hips), this models and its hierarchy will be used.
The data will be imported in the current take.
The last two parameter are only used for motion files.
For now, you cannot import custom file types.
Currently, only the default import options are used.
Warning:
The signature of this function might change in the future to support import options.
bool FBApplication::FileExport ( FBString  pFilename )

Export a motion file.

Command File->Motion File Export... in the menus.

Parameters:
pFilename The file to create. To create two files at the same time (ex: .amc & .asf), separate the two files path with a comma ("Path1,Path2").
Returns:
True if the export succeeded.
Remarks:
If the file exists, it will be overwritten.
current take is use.
The last parameter is only used for motion files.
For now, you cannot export custom file types.
Currently, only the default export options are used.
Warning:
The signature of this function might change in the future to support export options.
FBBatchStatus FBApplication::FileBatch ( FBBatchOptions pBatchOptions,
FBPlotOptions pPlotOptions = NULL 
)

Start a batch.

Command File->Batch... in the menus.

Parameters:
pBatchOptions The options for the batch process (same as in the batch UI).
pPlotOptions The options for plotting (same as in the plot UI)(default=NULL).
Returns:
The status of the operation.
bool FBApplication::FileImportBatch ( const char *  pName,
FBBatchOptions pBatchOptions,
FBModel pReference 
)

Import a motion file using batch options.

Import used for loading files in batch process.

Parameters:
pName The name of the file without extension. Extension and path will be taken from batch options.
pBatchOptions The options for the import.
pReference Reference model for the import.
Returns:
True if the import succeeded.
Remarks:
Not all options have to be set, only those that belong to process.
bool FBApplication::FileExportBatch ( const char *  pName,
FBTake pTake,
FBBatchOptions pBatchOptions,
FBModelList pExportModels 
)

Export a motion file using batch options.

Export used for saving files in batch process.

Parameters:
pName The name of the file without extension. Extension and path will be taken from batch options.
pTake Animation take to the export.
pBatchOptions The options for the export.
pExportModels Models to the export.
Returns:
True if the export succeeded.
Remarks:
Not all options have to be set, only those that belong to process.
bool FBApplication::SaveCharacterRigAndAnimation ( const char *  pFileName,
FBCharacter pCharacter,
FBFbxOptions pFbxOptions 
)

Save the rig and its animation in a file.

Parameters:
pFileName File name.
pCharacter Character to save.
pFbxOptions The options for the character rig and animation export
Warning:
After save, the current scene selection will be reset.
bool FBApplication::LoadAnimationOnCharacter ( const char *  pFileName,
FBCharacter pCharacter,
FBFbxOptions pFbxOptions,
FBPlotOptions pPlotOptions 
)

Load a rig and its animation from a file.

Parameters:
pFileName File name.
pCharacter Target character.
pFbxOptions The options for the character rig and animation load
pPlotOptions If the animation should be plotted on the target rig, these plot options will be used. Set to NULL if animation will not be plotted.
Returns:
true if successful.
bool FBApplication::IsValidBatchFile ( const char *  pFilename )

Verify motion file readability.

Parameters:
pFilename The file to test.
Returns:
True if file was opened successfully (file is closed at the end).
bool FBApplication::OneClickSendAsNewScene ( FBOneClickApplication  pApplication )

Send the current scene as a new scene in the specified application.

Parameters:
pApplication The application that will receive the scene.
Returns:
True if transfer successful.
bool FBApplication::OneClickUpdateCurrentScene ( )

Send the scene to update the current scene in the specified application.

Returns:
True if transfer successful.
bool FBApplication::OneClickAddToCurrentScene ( )

Send the scene and add it to the current scene in the specified application.

Returns:
True if transfer successful.
void FBApplication::OneClickSelectPreviouslySentObject ( )

Select, in MotionBuilder, the object that were sent.

FBOneClickApplication FBApplication::OneClickIsConnectedTo ( )

Return the other application that MotionBuilder is connected to.

Returns:
The application that MotionBuilder is connected to.
bool FBApplication::FileRender ( FBVideoGrabOptions pRenderOptions = NULL )

Render current scene to media file.

Command FILE->RENDER in the menus.

Parameters:
pRenderOptions The options used when rendering the scene. If you don't specify them, current one are used.
Returns:
True if the file was rendered successfully otherwise False and FBVideoGrabber.GetLastErrorMsg() contains the description of the error.
Remarks:
Render options can be changed if they are not valid.
Warning:
If the destination media file exist, it will be overwritten by default.
bool FBApplication::AudioRender ( FBAudioRenderOptions pAudioRenderOptions = NULL )

Render audio of current scene to media file, currently WAV file only.

Parameters:
pAudioRenderOptions The options used when rendering audio of the scene. Default value: 2 channels, 16 bits, 44100 hz, the begin and end time span for current time referential, Default file name is "Output.wav" in the last audio output path, ro the default document path if the last path doesn't exist.
Returns:
True if the file was rendered successfully
Warning:
If the destination media file exist, it will be overwritten by default. If the destination media file is opened by other application, the audio render process may not success because of not able to open it.
bool FBApplication::ExecuteScript ( FBString  pFilename )

Execute a python script file.

Parameters:
pFilename The script file to execute.
Returns:
True if the script file was found and executed.
Remarks:
This function can only be used in the UI thread.
void FBApplication::SwitchViewerCamera ( FBCamera pCamera )

Switch the current viewer's camera.

Parameters:
pCamera Camera to switch current viewer to.
static FBApplication& FBApplication::TheOne ( ) [static]

Get the global object for this class.

Returns:
the global object.
FBComponent::GetInternalClassId ( ) [static, inherited]
Returns:
Internal class Id

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

virtual bool FBComponent::FBCreate ( ) [virtual, inherited]
virtual void FBComponent::FBDestroy ( ) [virtual, inherited]
virtual bool FBComponent::SetHIObject ( HIObject  pObject,
bool  pSDKComponent 
) [override, virtual, inherited]

Assign component to an internal pointer.

Reimplemented from FBPlug.

virtual int FBComponent::PropertyAdd ( FBProperty pProperty ) [virtual, inherited]

Add a property to the component's property manager.

Parameters:
pProperty The property to add to the property manager.
Returns:
Index in the property array where property was inserted.
bool FBComponent::PropertyAddReferenceProperty ( FBProperty pReferenceProperty ) [inherited]

Add a reference property to the component's property manager.

Parameters:
pReferenceProperty The property to from an other object to add a reference to (property cannot be a custom ORSDK property).
Returns:
True if the reference property could be added.
void FBComponent::PropertyRemove ( FBProperty pProperty ) [inherited]

Remove a Property from the component's Property manager.

If the property was dynamically allocated, it is deleted.

Parameters:
pProperty The property to remove from the property manager.
void FBComponent::PropertyGetModifiedList ( FBArrayTemplate< FBProperty * > &  pPropList,
FBPlugModificationFlag  pModificationFlags 
) [inherited]

Get list of properties which have been modified since last loading.

Parameters:
pPropList property list to hold the modified properties.
pModificationFlags type of modification to query.
FBProperty* FBComponent::PropertyCreate ( const char *  pName,
FBPropertyType  pType,
const char *  pDataType,
bool  pAnimatable,
bool  pIsUser = false,
FBProperty pReferenceSource = NULL 
) [inherited]

Create user or dynamic property.

Parameters:
pName The name of the property.
pType Type of the property. See enum FBPropertyType.
pDataType DataType of the property.
pAnimatable To specify if the property can be animated.
pIsUser To specify if the property is available as a custom property or dynamic and attached to the object.
pReferenceSource Specifies the property that a reference refers to.
FBObjectFlag FBComponent::GetObjectFlags ( ) [inherited]

Get all Object Flags (concatenated).

Returns:
Get all object flags in one call. Flags can be concatenated.
void FBComponent::SetObjectFlags ( FBObjectFlag  pFlags ) [inherited]

SetObjectFlags.

Parameters:
pFlags Set flag values. Note: this function overwrites all flags with those passed in parameter.
bool FBComponent::HasObjectFlags ( FBObjectFlag  pFlags ) [inherited]

Check whether a specific object flag is enabled.

Parameters:
pFlags Flags to check if they are present.
Returns:
True if all flags in pFlags are enabled.
void FBComponent::EnableObjectFlags ( FBObjectFlag  pFlags ) [inherited]

Enable a specific Object Flags.

Parameters:
pFlags Flags to enable.
void FBComponent::DisableObjectFlags ( FBObjectFlag  pFlags ) [inherited]

Disable a specific Object Flags.

Parameters:
pFlags Flags to disable.
void FBComponent::SetObjectStatus ( FBObjectStatus  pStatus,
bool  pValue 
) [inherited]

Enable/Disable a specific Object Status.

Parameters:
pStatus Status to change.
pValue Value to change the status to.
bool FBComponent::GetObjectStatus ( FBObjectStatus  pStatus ) [inherited]

Check to see if an object status is enabled.

Parameters:
pStatus Status to query.
bool FBComponent::ProcessNamespaceHierarchy ( FBNamespaceAction  pNamespaceAction,
const char *  pNamespaceName,
const char *  pReplaceTo = NULL,
bool  pAddRight = true 
) [inherited]

ProcessNamespaceHierarchy.

New Namespace name should only contains alphabet, digit and '_', Can't start with digit. This recursive function goes through the whole hierarchy (children) to add/replace the prefix. If you need to work on a single object, use the ProcessObjectPrefix function.

Parameters:
pNamespaceAction Which operation to do on the hierarchy (children).
pNamespaceName The Namespace name on Add/Delete or the prefix to replace in case of replace.
pReplaceTo The new Namespace Name or NULL in case of add or delete.
pAddRight Whether to add the namespace on right-most or left-most side or other namespace.
Returns:
return true if process successful.
bool FBComponent::ProcessObjectNamespace ( FBNamespaceAction  pNamespaceAction,
const char *  pNamespaceName,
const char *  pReplaceTo = NULL,
bool  pAddRight = true 
) [inherited]

ProcessObjectNamespace.

New Namespace name should only contains alphabet, digit and '_', Can't start with digit. This function is the same as ProcessNamespaceHierarchy except that it applies only on the current object and not to the object's children.

Parameters:
pNamespaceAction Which operation to do on the hierarchy (children).
pNamespaceName The Namespace name on Add/Delete or the prefix to replace in case of replace.
pReplaceTo The new Namespace Name or NULL in case of add or delete.
pAddRight Whether to add the namespace on right-most or left-most side or other namespace.
Returns:
return true if process successful.
virtual const char* FBComponent::ClassName ( ) [override, virtual, inherited]

Get the class name.

Returns:
The class name (i.e. "FBComponent").

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

virtual bool FBComponent::UseCustomPropertyViewSet ( ) const [inline, virtual, inherited]

Use the custom property viewSet or not.

To have custom property view for custom subclass, modification bin/config/propertyview.fbx is required.

Returns:
False if to use internal corresponding object's viewSet of the parent class.

Definition at line 791 of file fbcomponent.h.

{ return true; }
const char* FBComponent::GetFullName ( void  ) [inherited]

Get the full name.

Returns:
the full name of the component.
void FBComponent::SetOwnerNamespace ( FBNamespace pOwnerNSObj ) [inherited]

Set the owner Namespace object.

FBNamespace* FBComponent::GetOwnerNamespace ( void  ) [inherited]

Get the owner Namespace object.

Returns:
the owner Namespace object
FBFileReference* FBComponent::GetOwnerFileReference ( void  ) [inherited]

Get the owner FileReference object.

Returns:
the owner FileReference object
void FBComponent::HardSelect ( ) [inherited]

HardSelect.

Selects the object, and emits a hard select event for UI update notification.

void* FBComponent::operator new ( size_t  stAllocateBlock ) [inherited]
void* FBComponent::operator new ( size_t  stAllocateBlock,
int  blockType,
const char *  filename,
int  linenumber 
) [inherited]
void FBComponent::operator delete ( void *  pvMem ) [inherited]
void FBComponent::RegisterPropertyEvent ( FBPropertyEvent pPropertyEvent ) [inherited]
void FBComponent::UnregisterPropertyEvent ( FBPropertyEvent pPropertyEvent ) [inherited]
void FBComponent::InvalidatePropertyEventsParents ( ) [inherited]
FBComponent::ICallback_Declare ( K_IMPLEMENTATION  ) [inherited]

Reimplemented from FBPlug.

Reimplemented in FBModel, and FBVisualComponent.

virtual bool FBComponent::Is ( int  pTypeId ) [virtual, inherited]

Returns true if object is of type TypeId.

Parameters:
pTypeId TypeId to compare object to.
Returns:
Result of the comparison.

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

virtual int FBComponent::GetTypeId ( ) [virtual, inherited]

GetTypeId( int pTypeId )

Returns:
The TypeInfo of the object

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

static void FBComponent::FBComponentSetName ( FBComponent pObject,
const char *  pName 
) [static, inherited]
static const char* FBComponent::FBComponentGetName ( FBComponent pObject ) [static, inherited]
static void FBComponent::FBComponentSetLongName ( FBComponent pObject,
const char *  pName 
) [static, inherited]
static const char* FBComponent::FBComponentGetLongName ( FBComponent pObject ) [static, inherited]
void FBComponent::KObjectEvent ( HIRegister  pView,
HKEventBase  pEvent 
) [inherited]
virtual HIObject FBPlug::GetHIObject ( ) const [virtual, inherited]

Return an internal pointer.

bool FBPlug::IsSDKComponent ( ) [inherited]

Return whether or not item is an SDK component.

bool FBPlug::ConnectSrc ( FBPlug pSrc,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
) [inherited]

Add a source connection.

Parameters:
pSrc Source plug.
pConnectionType Type of connection, taken from FBConnectionType. Default value should work in all cases.
Returns:
A boolean indicating success (True) or failure (False).
bool FBPlug::ConnectDst ( FBPlug pDst,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
) [inherited]

Add a destination connection.

Parameters:
pDst Destination plug.
pConnectionType Type of connection, taken from FBConnectionType. Default value should work in all cases.
Returns:
A boolean indicating success (True) or failure (False)
bool FBPlug::ConnectSrcAt ( int  pDst_SrcIndex,
FBPlug pSrc,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
) [inherited]

Add a source connection.

Parameters:
pDst_SrcIndex Index that tells where to add this source connection in the destination's connection list. if index is out of bound, and this source connection will be appended at the end.
pSrc Source plug.
pConnectionType Type of connection, taken from FBConnectionType. Default value should work in all cases.
Returns:
A boolean indicating success (True) or failure (False).
bool FBPlug::ConnectDstAt ( int  pSrc_DstIndex,
FBPlug pDst,
FBConnectionType  pConnectionType = kFBConnectionTypeNone 
) [inherited]

Add a destination connection.

Parameters:
pSrc_DstIndex Index that tells where to add this destination connection in the source's connection list. if index is out of bound, and this destination connection will be appended at the end.
pDst Destination plug.
pConnectionType Type of connection, taken from FBConnectionType. Default value should work in all cases.
Returns:
A boolean indicating success (True) or failure (False).
bool FBPlug::DisconnectDst ( FBPlug pDst ) [inherited]

Remove a destination connection.

Parameters:
pDst Destination plug.
Returns:
A boolean indicating success (True) or failure (False).
bool FBPlug::DisconnectSrc ( FBPlug pSrc ) [inherited]

Remove a source connection.

Parameters:
pSrc Source plug.
Returns:
A boolean indicating success (True) or failure (False).
void FBPlug::DisconnectAllSrc ( ) [inherited]

Remove all source connections.

void FBPlug::DisconnectAllDst ( ) [inherited]

Remove all destination connections.

bool FBPlug::DisconnectDstAt ( int  pIndex ) [inherited]

Remove a destination connection at a specified index.

Parameters:
pIndex Destination plug index.
Returns:
A boolean indicating success (True) or failure (False).
bool FBPlug::DisconnectSrcAt ( int  pIndex ) [inherited]

Remove a source connection at a specified index.

Parameters:
pIndex Source plug index.
Returns:
A boolean indicating success (True) or failure (False).
bool FBPlug::ReplaceDstAt ( int  pIndex,
FBPlug pDst 
) [inherited]

Replace a destination connection at a specified index.

Parameters:
pIndex Destination plug index.
pDst Plug that will replace the other at index.
Returns:
A boolean indicating success (True) or failure (False).
bool FBPlug::ReplaceSrcAt ( int  pIndex,
FBPlug pSrc 
) [inherited]

Replace a source connection at a specified index.

Parameters:
pIndex Source plug index.
pSrc Plug that will replace the other at index.
Returns:
A boolean indicating success (True) or failure (False).
bool FBPlug::SwapSrc ( int  pIndexA,
int  pIndexB 
) [inherited]

Swap source connection at index A with source connection at index B.

Parameters:
pIndexA Plug index.
pIndexB Other plug index.
Returns:
A boolean indicating success (True) or failure (False).
bool FBPlug::MoveSrcAt ( int  pIndex,
int  pAtIndex 
) [inherited]

Move source connection at pIndex to pAtIndex.

Parameters:
pIndex Plug current index.
pAtIndex Plug new index.
Returns:
A boolean indicating success (True) or failure (False).
Remarks:
This is not like the swap function since the connection at pAtIndex is untouched.
bool FBPlug::MoveSrcAt ( FBPlug pSrc,
FBPlug pAtSrc 
) [inherited]

Move source connection pSrc to the position of pAtSrc.

Parameters:
pSrc Plug.
pAtSrc Plug that mark where we want to insert (will insert before this one).
Returns:
A boolean indicating success (True) or failure (False).
Remarks:
This is not like the swap function since the connection at pAtSrc is untouched.
int FBPlug::GetSrcCount ( ) [inherited]

Get source connection count.

Returns:
Total sources connections count.
FBPlug* FBPlug::GetSrc ( int  pIndex ) [inherited]

Get a source connection's plug at specified index.

Parameters:
pIndex Index of the source connection's plug.
Returns:
Source plug at specified index.
FBConnectionType FBPlug::GetSrcType ( int  pIndex ) [inherited]

Get a source connection's type at specified index.

Parameters:
pIndex Index of the source connection's type.
Returns:
Source connection's type at specified index.
int FBPlug::GetDstCount ( ) [inherited]

Get destination connection count.

Returns:
Total destinations connections count.
FBPlug* FBPlug::GetDst ( int  pIndex ) [inherited]

Get a destination connection's plug at specified index.

Parameters:
pIndex Index of the destination connection's plug.
Returns:
Destination plug at specified index.
FBConnectionType FBPlug::GetDstType ( int  pIndex ) [inherited]

Get a destination connection's type at specified index.

Parameters:
pIndex Index of the destination connection's type.
Returns:
Destination connection's type at specified index.
bool FBPlug::BeginChange ( ) [inherited]

Begins a change on multiple plugs.

Returns:
A boolean indicating success (True) or failure (False).
void FBPlug::EndChange ( ) [inherited]

Ends a change on multiple plugs.

void FBPlug::SetSelfModified ( FBPlugModificationFlag  pFlag,
bool  pBool 
) [inherited]

Set the plug's self modification flag.

Parameters:
pFlag bitwise AND of self modification flags.
pBool true if self changed.
bool FBPlug::GetSelfModified ( FBPlugModificationFlag  pFlag ) [inherited]

Tell if the plug's self has changed.

Parameters:
pFlag bitwise AND of self modification flags.
Returns:
true if self changed
void FBPlug::SetContentModified ( FBPlugModificationFlag  pFlag,
bool  pBool 
) [inherited]

Set the plug's owned property/object's modification flag.

Parameters:
pFlag bitwise AND of content modification flags.
pBool true if content has modification.
bool FBPlug::GetContentModified ( FBPlugModificationFlag  pFlag ) [inherited]

Tell if the plug's content has changed.

Parameters:
pFlag bitwise AND of content modification flags.
Returns:
true if content connection changed.
int FBPlug::GetPlugConnectionModifiedList ( FBPlugList pPlugList,
FBPlugModificationFlag  pConnectionModificatonFlag,
bool  pAddRemove 
) [inherited]

Get plug's modified src/dst property/object connection added/removed List.

Parameters:
pPlugList plug list to fill up.
pConnectionModificatonFlag Src/Dst Property/Object connection modification flag.
pAddRemove Ask for the added list if true, removed list if false.
Returns:
count of list;
bool FBPlug::RevertModification ( FBPlugModificationFlag  pFlag = kFBAllModifiedMask ) [inherited]

Revert the plug's modification to original status.

Parameters:
pFlag the type of modification to be reverted.
Returns:
true if revert successfully.
void FBPlug::SetStatusFlag ( FBPlugStatusFlag  pStatus,
bool  pValue 
) [inherited]

Set the plug's status flag.

Parameters:
pStatus bitwise AND of status flags.
pValue true if status has modification.
bool FBPlug::GetStatusFlag ( FBPlugStatusFlag  pStatus ) const [inherited]

Tell if the plug's status has changed.

Parameters:
pStatus bitwise AND of self modification flags.
Returns:
true if self changed
FBPlug* FBPlug::GetOwner ( ) [inherited]

Get the owner of this plug.

Very useful for properties since they are plugs too.

Returns:
The owner of this plug.
FBPlug* FBPlug::GetOwned ( int  pIndex ) [inherited]

Get the owned plug at specified index.

Parameters:
pIndex Index of the owned plug to get.
Returns:
The owned plug at specified index.
int FBPlug::GetOwnedCount ( ) [inherited]

Get the owned plug count.

Returns:
The owned plug count.
virtual bool FBPlug::PlugDataNotify ( FBConnectionAction  pAction,
FBPlug pThis,
void *  pData = NULL,
void *  pDataOld = NULL,
int  pDataSize = 0 
) [virtual, inherited]

PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only.

Parameters:
pAction Plug action, the event type.
pThis Plug concerned.
pData Current data, meaning depends of plug action.
pDataOld Previous data, meaning depends of plug action.
pDataSize Size of data.
Returns:
unused should return true
virtual bool FBPlug::PlugStateNotify ( FBConnectionAction  pAction,
FBPlug pThis,
void *  pData = NULL,
void *  pDataOld = NULL,
int  pDataSize = 0 
) [virtual, inherited]

PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only.

Parameters:
pAction Plug action, the event type.
pThis Plug concerned.
pData Current data, meaning depends of plug action.
pDataOld Previous data, meaning depends of plug action.
pDataSize Size of data.
Returns:
unused should return true except in the case of property rename kFBRename
virtual bool FBPlug::PlugNotify ( FBConnectionAction  pAction,
FBPlug pThis,
int  pIndex,
FBPlug pPlug = NULL,
FBConnectionType  pConnectionType = kFBConnectionTypeNone,
FBPlug pNewPlug = NULL 
) [virtual, inherited]

PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only.

Parameters:
pAction Plug action, the event type.
pThis Plug concerned.
pIndex Index of the plug.
pPlug Other plug concerned.
pConnectionType Connection type between the plugs.
pNewPlug New plug (for the replace event).
Returns:
should by default return true except in the case of connection requests (kFBRequestConnectSrc or kFBRequestConnectDst)
static void FBPlug::PrintClassDefinitions ( ) [static, inherited]

Print out internal Class (ID) Definition table.

For internal debug purpose only.

FBScriptWrapper* FBWrapperHolder::GetWrapper ( ) [inherited]

Return the wrapper interface of this FBObject.

void FBWrapperHolder::AddWrapper ( FBScriptWrapper ) [inherited]
void FBWrapperHolder::RemoveWrapper ( FBScriptWrapper ) [inherited]

Friends And Related Function Documentation

K_DLLIMPORT friend int __FBRegisterTypeInfo ( int  pInternalClassId ) [friend, inherited]

__FBRegisterTypeInfo For internal use only, Register the TypeInfo mapped to internal class id.


Member Data Documentation

Event: A File New has been completed.

Definition at line 576 of file fbsystem.h.

Event: A File New has been requested, nothing has been destroyed yet.

Definition at line 577 of file fbsystem.h.

Event: A File Open has been completed.

Definition at line 578 of file fbsystem.h.

Event: A File Open has been requested, nothing has been loaded yet.

Definition at line 579 of file fbsystem.h.

Event: A File Merge has been requested, nothing has been loaded yet.

Definition at line 580 of file fbsystem.h.

Event: A File Save has been completed.

Definition at line 581 of file fbsystem.h.

Event: A File Save has been requested, nothing has been saved yet.

Definition at line 582 of file fbsystem.h.

Event: A File Exit as been requested, nothing has been destroyed yet.

Definition at line 583 of file fbsystem.h.

Read Write Property: Current scene filename.

Definition at line 829 of file fbsystem.h.

FBPropertyActor FBApplication::CurrentActor

Read Write Property: Indicate the current actor, as used by the character tool.

Can be NULL. If not null, CurrentCharacter must be null, as the character tool works on only one item at a time.

Definition at line 831 of file fbsystem.h.

FBPropertyCharacter FBApplication::CurrentCharacter

Read Write Property: Indicate the current character, as used by the character tool.

Can be NULL. If not null, CurrentActor must be null, as the character tool works on only one item at a time.

Definition at line 834 of file fbsystem.h.

DataFBComponent* FBComponent::mLocalPtr [inherited]

Handle on DataFBComponent.

Reimplemented in FBCustomManager.

Definition at line 650 of file fbcomponent.h.

FBString FBComponent::mName [protected, inherited]

Name of the component.

Definition at line 653 of file fbcomponent.h.

int FBComponent::TypeInfo [static, inherited]

Contains the Type information of the object.

Reimplemented from FBPlug.

Reimplemented in FBCustomManager.

Definition at line 658 of file fbcomponent.h.

Read Only Property: Manages all of the properties for the component.

Definition at line 838 of file fbcomponent.h.

List: List of components.

Reimplemented in FBScene, and FBPropertyInspector.

Definition at line 839 of file fbcomponent.h.

List: Parents.

Definition at line 840 of file fbcomponent.h.

Read Write Property: Selected property.

Definition at line 841 of file fbcomponent.h.

Read Write Property: Unique name of object.

Reimplemented in FBAssetMng, FBConsoleChannel, FBTriggerGroup, FBTrigger, FBMotionClip, and FBTool.

Definition at line 842 of file fbcomponent.h.

Read Write Property: Name and namespace for object.

Definition at line 843 of file fbcomponent.h.

FBPropertyFolder FBComponent::Folder [inherited]

Read Write Property: The folder that contain this component.

Definition at line 846 of file fbcomponent.h.

KObject* FBComponent::mDummyObject [inherited]

Internal Dummy Object for non KObject Components.

Definition at line 871 of file fbcomponent.h.

const char* FBPlug::ClassGroupName [static, inherited]

ClassGroupName of the object.

Definition at line 444 of file fbplug.h.

bool FBPlug::mAllocated [inherited]

Contain the Allocation State of the Component.

Definition at line 450 of file fbplug.h.

int FBPlug::mGlobalTypeInfo [static, protected, inherited]

Represente the Type Index.

Definition at line 500 of file fbplug.h.

HIObject FBPlug::mObject [protected, inherited]

Handle on the Plug.

Definition at line 502 of file fbplug.h.

bool FBPlug::mSDKComponent [protected, inherited]

bool Plug is an SDK component.

Definition at line 503 of file fbplug.h.


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