Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends

FbxManager Class Reference

This reference page is linked to from the following overview topics: FBX SDK 2014, FBX SDK 2013, Your First FBX SDK Program, I/O Settings, Importing a Scene, Exporting a Scene, Customizing File Formats with FBX SDK I/O Plug-ins, FBX SDK Object Model, Managing Memory with the FBX SDK Manager, FBX Objects, Customizing the FBX SDK, Merging Two Scenes, Using Python FBX with Eclipse, List of Python Fbx classes.


Search for all occurrences

Detailed Description

SDK object manager.

The SDK manager is in charge of:

It is possible to override memory allocation functions throughout the FBX SDK by providing system memory allocation functions using the handler set functions below. It must be done before the first FbxManager creation.

FbxSetMallocHandler(); FbxSetCallocHandler(); FbxSetReallocHandler(); FbxSetFreeHandler();

Upon destruction, all objects allocated by the SDK manager and not explicitly destroyed are destroyed as well. A derived class can be defined to allocate and deallocate specialized scene elements.

Remarks:
You could create more than one SDK manager. However, it's better to NOT share the same object among different managers.

Definition at line 55 of file fbxmanager.h.

#include <fbxmanager.h>

List of all members.

Public Member Functions

int GetDocumentCount ()
 Get the count of document available in this manager.
FbxDocumentGetDocument (int pIndex)
 Get the document at pIndex in the manager's list.
void CreateMissingBindPoses (FbxScene *pScene)
int GetBindPoseCount (FbxScene *pScene) const
int GetFbxClassCount () const
FbxClassId GetNextFbxClass (FbxClassId pClassId) const

Static Public Member Functions

static FbxString PrefixName (char const *pPrefix, char const *pName)
 Add a prefix to a name.
static FbxManagerGetDefaultManager ()

Protected Member Functions

 FbxManager ()
virtual ~FbxManager ()
void Clear ()
void ClassInit ()
void ClassRelease ()
void DataTypeInit ()
void DataTypeRelease ()

Friends

class FbxObject

FBX SDK Manager Creation/Destruction

static FbxManagerCreate ()
 SDK manager allocation method.
virtual void Destroy ()
 Destructor.

Versions Queries

static const char * GetVersion (bool pFull=true)
 Get FBX SDK version string.
static void GetFileFormatVersion (int &pMajor, int &pMinor, int &pRevision)
 Get the current default FBX file format version number for this version of the FBX SDK.

Object Registration, Definition and Management

template<typename T1 , typename T2 >
FbxClassId RegisterFbxClass (char const *pName, const T1 *, const T2 *, const char *pFbxFileTypeName=0, const char *pFbxFileSubTypeName=0)
 Class registration.
template<typename T >
FbxClassId RegisterRuntimeFbxClass (char const *pName, const T *, const char *pFbxFileTypeName=0, const char *pFbxFileSubTypeName=0)
 Runtime class registration.
void UnregisterRuntimeFbxClass (char const *pName)
 Runtime class unregistration.
template<typename T1 , typename T2 >
FbxClassId OverrideFbxClass (const T1 *pFBX_TYPE_Class, const T2 *pFBX_TYPE_OverridenClass)
 Override class.
FbxObjectCreateNewObjectFromClassId (FbxClassId pClassId, char const *pName, FbxObject *pContainer=NULL, const FbxObject *pCloneFrom=NULL)
 Create a new object of the specified ClassId.
FbxClassId FindClass (const char *pClassName) const
 Find class by the specified name.
FbxClassId FindFbxFileClass (const char *pFbxFileTypeName, const char *pFbxFileSubTypeName) const
 Find file class.
template<typename T >
void UnregisterFbxClass (const T *pFBX_TYPE_Class)
 Class unregistration.

Data Type Management

FbxDataType CreateDataType (const char *pName, const EFbxType pType)
 Register a new data type to the manager.
int GetDataTypeCount () const
 List the data types.
FbxDataTypeGetDataType (const int pIndex) const
 Find a data types at pIndex.
FbxDataTypeGetDataTypeFromName (const char *pDataType) const
 Find a data type from the type name.

User Notification Object

FbxUserNotificationGetUserNotification () const
 Access to the unique UserNotification object.
void SetUserNotification (FbxUserNotification *pUN)
 Set the user notification.

IOSettings Object

virtual FbxIOSettingsGetIOSettings () const
 Access to a IOSettings object.
virtual void SetIOSettings (FbxIOSettings *pIOSettings)
 Set the IOSettings pointer.

Message Emitter (for Message Logging)

FbxMessageEmitter & GetMessageEmitter ()
 Access to the unique FbxMessageEmitter object.
bool SetMessageEmitter (FbxMessageEmitter *pMessageEmitter)
 Sets to the unique FbxMessageEmitter object.

Localization Hierarchy

void AddLocalization (FbxLocalizationManager *pLocManager)
 Add a localization object to the known localization providers.
void RemoveLocalization (FbxLocalizationManager *pLocManager)
 Remove a localization object from the known localization providers.
bool SetLocale (const char *pLocale)
 Select the current locale for localization.
const char * Localize (const char *pID, const char *pDefault=NULL) const
 Localization helper function.

XRef Manager

FbxXRefManagerGetXRefManager ()
 Retrieve the manager responsible for managing object XRef resolution.

Library Management

FbxLibraryGetRootLibrary () const
 Retrieve the main object Libraries.
FbxLibraryGetSystemLibraries () const
FbxLibraryGetUserLibraries () const

Plug-in Registry Object

FbxIOPluginRegistryGetIOPluginRegistry () const
 Access to the unique FbxIOPluginRegistry object.

Fbx Generic Plugins Management

bool LoadPluginsDirectory (const char *pFilename, const char *pExtensions=NULL)
 Load plug-ins directory.
bool LoadPlugin (const char *pFilename)
 Load plug-in.
bool UnloadPlugins ()
 Unload all plug-ins.
bool EmitPluginsEvent (const FbxEventBase &pEvent)
 Emit plugins event.
FbxArray< const FbxPlugin * > GetPlugins () const
 Get plugins.
int GetPluginCount () const
 get plugins count
FbxPluginFindPlugin (const char *pName, const char *pVersion) const
 Find plug in.

IO Settings

void FillIOSettingsForReadersRegistered (FbxIOSettings &pIOS)
 Fill IO Settings for registered readers.
void FillIOSettingsForWritersRegistered (FbxIOSettings &pIOS)
 Fill IO Settings for registered writers.
void FillCommonIOSettings (FbxIOSettings &pIOS, bool pImport)
 Fill common IO Settings.

Global Object Management

void RegisterObject (FbxObject *pObject)
 Register object with the manager.
void UnregisterObject (FbxObject *pObject)
 Unregister object with the manager.
void RegisterObjects (const FbxArray< FbxObject * > &pArray)
 Register a list of objects with the manager.
void UnregisterObjects (const FbxArray< FbxObject * > &pArray)
 Unregister a list of objects with the manager.
void IncreaseDestroyingSceneFlag ()
 Increment the scene destroying counter.
void DecreaseDestroyingSceneFlag ()
 Shrink the object list and decrements the scene destroying counter.

Reference Management

int GetReferenceCount () const
 Get number of references.
FbxSceneReferenceGetReference (int pIndex) const
 Get reference at given index.
int AddReference (FbxSceneReference *pReference)
 Add a reference.
bool RemoveReference (FbxSceneReference *pReference)
 Remove the specified reference from reference list.
bool ClearReference (FbxSceneReference *pReference)
 Clear the specified reference from the SDK manager.

Constructor & Destructor Documentation

FbxManager ( ) [protected]
virtual ~FbxManager ( ) [protected, virtual]

Member Function Documentation

static FbxManager* Create ( ) [static]

SDK manager allocation method.

Returns:
A pointer to the SDK manager or NULL if this is an evaluation copy of the FBX SDK and it is expired.
virtual void Destroy ( ) [virtual]

Destructor.

Deallocates all object previously created by the SDK manager.

static const char* GetVersion ( bool  pFull = true) [static]

Get FBX SDK version string.

Parameters:
pFullIf true, the complete version string including revision number and release date will be returned, otherwise only the version numbering is returned.
static void GetFileFormatVersion ( int &  pMajor,
int &  pMinor,
int &  pRevision 
) [static]

Get the current default FBX file format version number for this version of the FBX SDK.

Parameters:
pMajorVersion major number.
pMinorVersion minor number.
pRevisionVersion revision number.
FbxClassId RegisterFbxClass ( char const *  pName,
const T1 *  ,
const T2 *  ,
const char *  pFbxFileTypeName = 0,
const char *  pFbxFileSubTypeName = 0 
) [inline]

Class registration.

Parameters:
pNameThe class name. For example, "FbxMesh" for FbxMesh class.
T1FBX type of the specified class.
T2FBX type of parent class.
pFbxFileTypeNameThe type name of the class in FBX file.
pFbxFileSubTypeNameThe sub type name of the class in FBX file.
Returns:
The class Id of the newly register class. Such as:

Definition at line 107 of file fbxmanager.h.

        {
            T1::ClassId = Internal_RegisterFbxClass(pName, T2::ClassId, (FbxObjectCreateProc)T1::Allocate, pFbxFileTypeName, pFbxFileSubTypeName);
            return T1::ClassId;
        }
FbxClassId RegisterRuntimeFbxClass ( char const *  pName,
const T *  ,
const char *  pFbxFileTypeName = 0,
const char *  pFbxFileSubTypeName = 0 
) [inline]

Runtime class registration.

Parameters:
pNameThe class name. For example, "FbxUIWidgetBoolean".
TFBX type of parent class.
pFbxFileTypeNameThe type name of the class in FBX file.
pFbxFileSubTypeNameThe sub type name of the class in FBX file.
Returns:
The class Id of the newly register class. Such as:
 RegisterRuntimeFbxClass( "FbxUIWidgetBoolean", FBX_TYPE(FbxUIWidgetDefinition), NULL, "FbxUIWidgetBoolean"); 

Definition at line 122 of file fbxmanager.h.

        {
            return Internal_RegisterFbxClass(pName, T::ClassId, (FbxObjectCreateProc)T::Allocate, pFbxFileTypeName, pFbxFileSubTypeName);
        }
void UnregisterRuntimeFbxClass ( char const *  pName) [inline]

Runtime class unregistration.

Parameters:
pNameThe class name.

Definition at line 130 of file fbxmanager.h.

        {
            FbxClassId lClassId = FindClass(pName);
            if( !(lClassId == FbxClassId()) )
            {
                Internal_UnregisterFbxClass(lClassId);
            }
        }
FbxClassId OverrideFbxClass ( const T1 *  pFBX_TYPE_Class,
const T2 *  pFBX_TYPE_OverridenClass 
) [inline]

Override class.

Parameters:
pFBX_TYPE_ClassFBX type of class.
pFBX_TYPE_OverridenClassFBX type of overridden class.
Returns:
The class Id

Definition at line 144 of file fbxmanager.h.

        {
            T1::ClassId  = Internal_OverrideFbxClass(T2::ClassId,(FbxObjectCreateProc)T1::Allocate );
            return T1::ClassId;
        }
FbxObject* CreateNewObjectFromClassId ( FbxClassId  pClassId,
char const *  pName,
FbxObject pContainer = NULL,
const FbxObject pCloneFrom = NULL 
)

Create a new object of the specified ClassId.

Parameters:
pClassIdThe ClassId of the object to be created.
pNameThe name given to the newly created object.
pContainerAn optional parameter to specify which object will "contain" the new object. By contain, we mean the new object will become a source to the container, connection-wise.
pCloneFromA valid object pointer to use as the reference for cloning the object upon construction.
Returns:
If not null, a new instance of the specified class.
Remarks:
This function will return NULL if the ClassId used is invalid. New ClassId can be registered using the function RegisterFbxClass().
FbxClassId FindClass ( const char *  pClassName) const

Find class by the specified name.

Parameters:
pClassNameClass Name to find.
FbxClassId FindFbxFileClass ( const char *  pFbxFileTypeName,
const char *  pFbxFileSubTypeName 
) const

Find file class.

Parameters:
pFbxFileTypeNameSpecify the type name in FBX file to find.
pFbxFileSubTypeNameSpecify by The sub type name in FBX file to find.
void UnregisterFbxClass ( const T *  pFBX_TYPE_Class) [inline]

Class unregistration.

Parameters:
pFBX_TYPE_ClassFBX type of unregistered class.

Definition at line 176 of file fbxmanager.h.

        {
            Internal_UnregisterFbxClass(T::ClassId);
            T::ClassId = FbxClassId();
        }
FbxDataType CreateDataType ( const char *  pName,
const EFbxType  pType 
)

Register a new data type to the manager.

Parameters:
pNameThe type name.
pTypeThe data type.
Returns:
The newly created FbxDataType
int GetDataTypeCount ( ) const

List the data types.

Returns:
the number of registered datatypes
FbxDataType& GetDataType ( const int  pIndex) const

Find a data types at pIndex.

Parameters:
pIndexThe data type index.
Returns:
the found datatype. return null if not found
FbxDataType& GetDataTypeFromName ( const char *  pDataType) const

Find a data type from the type name.

Parameters:
pDataTypeThe type name.
Returns:
the found datatype. return null if not found
FbxUserNotification* GetUserNotification ( ) const

Access to the unique UserNotification object.

Returns:
The pointer to the user notification or NULL if the object has not been allocated.
void SetUserNotification ( FbxUserNotification pUN)

Set the user notification.

Parameters:
pUN
virtual FbxIOSettings* GetIOSettings ( ) const [virtual]

Access to a IOSettings object.

Returns:
The pointer to IOSettings or NULL if the object has not been allocated.
virtual void SetIOSettings ( FbxIOSettings pIOSettings) [virtual]

Set the IOSettings pointer.

Parameters:
pIOSettings
FbxMessageEmitter& GetMessageEmitter ( )

Access to the unique FbxMessageEmitter object.

Returns:
The pointer to the message emitter.
bool SetMessageEmitter ( FbxMessageEmitter *  pMessageEmitter)

Sets to the unique FbxMessageEmitter object.

Parameters:
pMessageEmitterthe emitter to use, passing NULL will reset to the default emitter. The object will be deleted when the SDK manager is destroyed, thus ownership is transfered.
void AddLocalization ( FbxLocalizationManager *  pLocManager)

Add a localization object to the known localization providers.

Parameters:
pLocManagerthe localization object to register.
void RemoveLocalization ( FbxLocalizationManager *  pLocManager)

Remove a localization object from the known localization providers.

Parameters:
pLocManagerthe localization object to remove.
bool SetLocale ( const char *  pLocale)

Select the current locale for localization.

Parameters:
pLocalethe locale name, for example "fr" or "en-US".
const char* Localize ( const char *  pID,
const char *  pDefault = NULL 
) const

Localization helper function.

Calls each registered localization manager until one can localizes the text.

Parameters:
pIDthe identifier for the text to localize.
pDefaultthe default text. Uses pID if NULL.
Returns:
the potentially localized text. May return the parameter passed in.
FbxXRefManager& GetXRefManager ( )

Retrieve the manager responsible for managing object XRef resolution.

Returns:
The XRef manager for this SDK manager.
FbxLibrary* GetRootLibrary ( ) const

Retrieve the main object Libraries.

Returns:
The Root library
FbxLibrary* GetSystemLibraries ( ) const
FbxLibrary* GetUserLibraries ( ) const
FbxIOPluginRegistry* GetIOPluginRegistry ( ) const

Access to the unique FbxIOPluginRegistry object.

Returns:
The pointer to the user FbxIOPluginRegistry
bool LoadPluginsDirectory ( const char *  pFilename,
const char *  pExtensions = NULL 
)

Load plug-ins directory.

Parameters:
pFilenameThe directory path.
pExtensionsThe plug in extension.
Returns:
True
bool LoadPlugin ( const char *  pFilename)

Load plug-in.

Parameters:
pFilenameThe file name
Returns:
True
bool UnloadPlugins ( )

Unload all plug-ins.

bool EmitPluginsEvent ( const FbxEventBase pEvent)

Emit plugins event.

Parameters:
pEventThe event to be emitted.
FbxArray<const FbxPlugin*> GetPlugins ( ) const
int GetPluginCount ( ) const

get plugins count

Returns:
The number of plugins.
FbxPlugin* FindPlugin ( const char *  pName,
const char *  pVersion 
) const

Find plug in.

Parameters:
pNameThe plug in name.
pVersionThe plug in version.
Returns:
The plugin, null if not found.
void FillIOSettingsForReadersRegistered ( FbxIOSettings pIOS)

Fill IO Settings for registered readers.

Parameters:
pIOSThe properties hierarchies to fill.
void FillIOSettingsForWritersRegistered ( FbxIOSettings pIOS)

Fill IO Settings for registered writers.

Parameters:
pIOSThe properties hierarchies to fill.
void FillCommonIOSettings ( FbxIOSettings pIOS,
bool  pImport 
)

Fill common IO Settings.

Parameters:
pIOSThe properties hierarchies to fill.
pImportIf true, import properties are set, otherwise export properties are set.
void RegisterObject ( FbxObject pObject)

Register object with the manager.

Parameters:
pObjectThe object to be registered.
void UnregisterObject ( FbxObject pObject)

Unregister object with the manager.

Parameters:
pObjectThe object to be unregistered.
void RegisterObjects ( const FbxArray< FbxObject * > &  pArray)

Register a list of objects with the manager.

Parameters:
pArrayThe list of object to be registered.
void UnregisterObjects ( const FbxArray< FbxObject * > &  pArray)

Unregister a list of objects with the manager.

Parameters:
pArrayThe list of object to be unregistered.
void IncreaseDestroyingSceneFlag ( )

Increment the scene destroying counter.

Remarks:
Call this function before the destroying list is changed.
void DecreaseDestroyingSceneFlag ( )

Shrink the object list and decrements the scene destroying counter.

Remarks:
Call this function after the destroying is changed. Use IncreasDestroyingSceneFlag() and DecreaseDestroyingSceneFlag() in pairs.
int GetReferenceCount ( ) const

Get number of references.

Returns:
Number of references.
FbxSceneReference* GetReference ( int  pIndex) const

Get reference at given index.

Parameters:
pIndexPosition in the list of references.
Returns:
Pointer to the reference or NULL if index is out of bounds.
int AddReference ( FbxSceneReference pReference)

Add a reference.

Parameters:
pReferenceThe reference to be added.
Returns:
If the reference is correctly added to the scene, return true otherwise, if the reference is already there, returns false.
bool RemoveReference ( FbxSceneReference pReference)

Remove the specified reference from reference list.

Parameters:
pReferenceThe reference to be removed.
Returns:
If the reference was successfully removed, return true otherwise, if the reference could not be found returns false.
bool ClearReference ( FbxSceneReference pReference)

Clear the specified reference from the SDK manager.

Parameters:
pReferenceThe reference to be removed.
Returns:
If the reference was successfully cleared from the SDK manager, return true otherwise, if the reference could not be found returns false.
static FbxString PrefixName ( char const *  pPrefix,
char const *  pName 
) [static]

Add a prefix to a name.

Parameters:
pPrefixThe prefix to be added to the pName. This string must contain the "::" characters in order to be considered as a prefix.
pNameThe name to be prefix.
Returns:
The prefixed string
Remarks:
If a prefix already exists, it is removed before adding pPrefix.
int GetDocumentCount ( )

Get the count of document available in this manager.

Returns:
The count of document owned by this manager.
FbxDocument* GetDocument ( int  pIndex)

Get the document at pIndex in the manager's list.

Parameters:
pIndexThe index of the document to retrieve.
Returns:
The document at the specified index. Will return NULL if index is invalid.
static FbxManager* GetDefaultManager ( ) [static]
void CreateMissingBindPoses ( FbxScene pScene)
int GetBindPoseCount ( FbxScene pScene) const
int GetFbxClassCount ( ) const
FbxClassId GetNextFbxClass ( FbxClassId  pClassId) const
void Clear ( ) [protected]
void ClassInit ( ) [protected]
void ClassRelease ( ) [protected]
void DataTypeInit ( ) [protected]
void DataTypeRelease ( ) [protected]

Friends And Related Function Documentation

friend class FbxObject [friend]

Definition at line 541 of file fbxmanager.h.


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

FbxManager FbxManager FbxManager FbxManager FbxManager FbxManager FbxManager FbxManager FbxManager FbxManager
FbxManager FbxManager FbxManager FbxManager FbxManager FbxManager FbxManager FbxManager FbxManager FbxManager