KFbxSdkManager
#include<kfbxsdkmanager.h>

List of all members.

Detailed Description

SDK object manager.

The SDK manager is in charge of:

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 a set of specialized scene elements.

Definition at line87of filekfbxsdkmanager.h.


Error Management

enum EError{
  eOBJECT_NOT_FOUND,
  eNAME_ALREADY_IN_USE,
  eERROR_COUNT
}
 Error codes.More...
KErrorGetError()
 Retrieve error object.
EError GetLastErrorID() const
 Get last error code.
const char * GetLastErrorString() const
 Get last error string.

Global Object Management

KArrayTemplate<KFbxObject*> mObjectArray
staticKString PrefixName(char const *pPrefix, char const *pName)
 Add a prefix to a name.
void RegisterObject(KFbxPlugconst *pPlug)
 Register object.
void UnregisterObject(KFbxPlugconst *pPlug)
 Unregister object.
int GetSrcObjectCount(KFbxImageConverterconst *)
KFbxImageConverterGetSrcObject(KFbxImageConverterconst *, int pIndex=0)
int GetSrcObjectCount(KFbxNodeconst *)
KFbxNodeGetSrcObject(KFbxNodeconst *, int pIndex=0)
int GetSrcObjectCount(KFbxTextureconst *)
KFbxTextureGetSrcObject(KFbxTextureconst *, int pIndex=0)
int GetSrcObjectCount(KFbxClusterconst *)
KFbxClusterGetSrcObject(KFbxClusterconst *, int pIndex=0)
int GetSrcObjectCount(KFbxSceneconst *)
KFbxSceneGetSrcObject(KFbxSceneconst *, int pIndex=0)
int GetSrcObjectCount(KFbxDocumentconst *)
KFbxDocumentGetSrcObject(KFbxDocumentconst *, int pIndex=0)
int GetSrcObjectCount(KFbxSurfaceMaterialconst *)
KFbxSurfaceMaterialGetSrcObject(KFbxSurfaceMaterialconst *, int pIndex=0)

Memory Management

static bool SetMemoryAllocator(KFbxMemoryAllocator*pMemoryAllocator)
 SDK Memory management.

FBX SDK Manager Creation/Destruction

staticKFbxSdkManagerCreate()
 SDK manager allocation method.
virtual void Destroy()
 Destructor.

Plug and Object Definition and Management

template<typename T1, typename T2>
kFbxClassId RegisterFbxClass(char const *pName, T1 const *pFBX_TYPE_Class, T2 const *pFBX_TYPE_ParentClass, const char *pFbxFileTypeName=0, const char *pFbxFileSubTypeName=0)
 Class registration.
template<typename T>
kFbxClassId RegisterRuntimeFbxClass(char const *pName, T const *pFBX_TYPE_ParentClass, const char *pFbxFileTypeName=0, const char *pFbxFileSubTypeName=0)
 Class registration.
void UnregisterRuntimeFbxClass(char const *pName)
 Class registration.
template<typename T1, typename T2>
kFbxClassId OverrideFbxClass(T1 const *pFBX_TYPE_Class, T2 const *pFBX_TYPE_OverridenClass)
 Class registration.
KFbxPlugCreateClass(kFbxClassIdpClassId, char const *pName, const char *pFBXType=0, const char *pFBXSubType=0)
 Class registration.
KFbxPlugCreateClass(KFbxObject*pContainer,kFbxClassIdpClassId, const char *pName, const char *pFBXType=0, const char *pFBXSubType=0)
 Class registration.
kFbxClassId FindClass(const char *pClassName)
 Class registration.
kFbxClassId FindFbxFileClass(const char *pFbxFileTypeName, const char *pFbxFileSubTypeName)
 Class registration.
template<typename T>
void UnregisterFbxClass(T const *pFBX_TYPE_Class)
 Class registration.

Data Type Management

KFbxDataType CreateFbxDataType(const char *pName, EFbxType pType)
 Register a new data type to the manager.
KFbxDataTypeconst& GetFbxDataTypeFromName(const char *pDataType)
 Find a data type.
int GetFbxDataTypeCount()
 List the data types.
KFbxDataTypeGetFbxDataType(int pIndex)
 Find a data types.

User Notification Object

KFbxUserNotificationGetUserNotification() const
 Access to the unique UserNotification object.
void SetUserNotification(KFbxUserNotification*pUN)
 Access to the unique UserNotification object.

Message Emitter (for Message Logging)

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

Localization Hierarchy

void AddLocalization(KFbxLocalizationManager *pLocManager)
 Add a localization object to the known localization providers.
void RemoveLocalization(KFbxLocalizationManager *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.

Sub-Manager Management

KFbxPreviewManager& GetPreviewManager()
 Retrieve the manager responsible for managing object previews.

XRef Manager

KFbxXRefManager& GetXRefManager()
 Retrieve the manager responsible for managing object XRef resolution.

Library Management

KFbxLibraryGetRootLibrary()
 Retrieve the main object Libraries.
KFbxLibraryGetSystemLibraries()
 Retrieve the main object Libraries.
KFbxLibraryGetUserLibraries()
 Retrieve the main object Libraries.

Plug-in Registry Object

KFbxIOPluginRegistryGetIOPluginRegistry() const
 Access to the uniqueKFbxIOPluginRegistryobject.

Fbx Generic Plugins Management

bool LoadPluginsDirectory(char *pFilename, char *pExtensions)
 Load plug-ins directory.
bool LoadPlugin(char *pFilename)
 Load plug-in.
bool UnloadPlugins()
 Unload all plug-ins.
bool EmitPluginsEvent(KFbxEventBaseconst&pEvent)
 Load plug-ins directory.
KArrayTemplate<KFbxPlugin
const *> 
GetPlugins() const
 Load plug-ins directory.

IO Settings

void FillIOSettingsForReadersRegistered(KFbxIOSettings&pIOS)
 Add IOSettings in hierarchy from different modules.
void FillIOSettingsForWritersRegistered(KFbxIOSettings&pIOS)
 Add IOSettings in hierarchy from different modules.
void FillCommonIOSettings(KFbxIOSettings&pIOS, bool pImport)
 Add IOSettings in hierarchy from different modules.
void Create_Common_Import_IOSettings_Groups(KFbxIOSettings&pIOS)
 Add IOSettings in hierarchy from different modules.
void Create_Common_Export_IOSettings_Groups(KFbxIOSettings&pIOS)
 Add IOSettings in hierarchy from different modules.
void Add_Common_Import_IOSettings(KFbxIOSettings&pIOS)
 Add IOSettings in hierarchy from different modules.
void Add_Common_Export_IOSettings(KFbxIOSettings&pIOS)
 Add IOSettings in hierarchy from different modules.
void Add_Common_RW_Import_IOSettings(KFbxIOSettings&pIOS)
 Add IOSettings in hierarchy from different modules.
void Add_Common_RW_Export_IOSettings(KFbxIOSettings&pIOS)
 Add IOSettings in hierarchy from different modules.
void Fill_Motion_Base_ReaderIOSettings(KFbxIOSettings&pIOS)
 Add IOSettings in hierarchy from different modules.
void Fill_Motion_Base_WriterIOSettings(KFbxIOSettings&pIOS)
 Add IOSettings in hierarchy from different modules.

Member Enumeration Documentation

enumEError

Error codes.

Enumerator:
eOBJECT_NOT_FOUND The requested object was not found in the Manager's database.

eNAME_ALREADY_IN_USE A name clash occurred.

eERROR_COUNT Mark the end of the error enum.

Definition at line188of filekfbxsdkmanager.h.

Member Function Documentation

static bool SetMemoryAllocator(KFbxMemoryAllocatorpMemoryAllocator ) [static]

SDK Memory management.

Use this method to specify custom memory management routines. The FBX SDK will use the provided routines to allocate and deallocate memory.

Remarks:
Important: If you plan to specify custom memory management routines, you must do so BEFORE creating the first SDK manager. Those routines are global and thus shared between different instances of SDK managers.

staticKFbxSdkManager* Create( ) [static]

SDK manager allocation method.

Returns:
A pointer to the SDK manager orNULLif 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.

kFbxClassIdRegisterFbxClass(char const * pName,
T1 const * pFBX_TYPE_Class,
T2 const * pFBX_TYPE_ParentClass,
const char * pFbxFileTypeName=0,
const char * pFbxFileSubTypeName=0 
)[inline]

Class registration.

Parameters:
pFBX_TYPE_Class 
pFBX_TYPE_ParentClass 
pName 
pFbxFileTypeName 
pFbxFileSubTypeName 
Returns:
The class Id of the newly register class

Definition at line139of filekfbxsdkmanager.h.

kFbxClassIdRegisterRuntimeFbxClass(char const * pName,
T const * pFBX_TYPE_ParentClass,
const char * pFbxFileTypeName=0,
const char * pFbxFileSubTypeName=0 
)[inline]

Class registration.

Parameters:
pFBX_TYPE_Class 
pFBX_TYPE_ParentClass 
pName 
pFbxFileTypeName 
pFbxFileSubTypeName 
Returns:
The class Id of the newly register class

Definition at line144of filekfbxsdkmanager.h.

void UnregisterRuntimeFbxClass(char const * pName ) [inline]

Class registration.

Parameters:
pFBX_TYPE_Class 
pFBX_TYPE_ParentClass 
pName 
pFbxFileTypeName 
pFbxFileSubTypeName 
Returns:
The class Id of the newly register class

Definition at line148of filekfbxsdkmanager.h.

kFbxClassIdOverrideFbxClass(T1 const * pFBX_TYPE_Class,
T2 const * pFBX_TYPE_OverridenClass 
)[inline]

Class registration.

Parameters:
pFBX_TYPE_Class 
pFBX_TYPE_ParentClass 
pName 
pFbxFileTypeName 
pFbxFileSubTypeName 
Returns:
The class Id of the newly register class

Definition at line158of filekfbxsdkmanager.h.

KFbxPlug* CreateClass(kFbxClassId pClassId,
char const * pName,
const char * pFBXType=0,
const char * pFBXSubType=0 
)

Class registration.

Parameters:
pFBX_TYPE_Class 
pFBX_TYPE_ParentClass 
pName 
pFbxFileTypeName 
pFbxFileSubTypeName 
Returns:
The class Id of the newly register class

KFbxPlug* CreateClass(KFbxObjectpContainer,
kFbxClassId pClassId,
const char * pName,
const char * pFBXType=0,
const char * pFBXSubType=0 
)

Class registration.

Parameters:
pFBX_TYPE_Class 
pFBX_TYPE_ParentClass 
pName 
pFbxFileTypeName 
pFbxFileSubTypeName 
Returns:
The class Id of the newly register class

kFbxClassIdFindClass(const char * pClassName ) 

Class registration.

Parameters:
pFBX_TYPE_Class 
pFBX_TYPE_ParentClass 
pName 
pFbxFileTypeName 
pFbxFileSubTypeName 
Returns:
The class Id of the newly register class

kFbxClassIdFindFbxFileClass(const char * pFbxFileTypeName,
const char * pFbxFileSubTypeName 
)

Class registration.

Parameters:
pFBX_TYPE_Class 
pFBX_TYPE_ParentClass 
pName 
pFbxFileTypeName 
pFbxFileSubTypeName 
Returns:
The class Id of the newly register class

void UnregisterFbxClass(T const * pFBX_TYPE_Class ) [inline]

Class registration.

Parameters:
pFBX_TYPE_Class 
pFBX_TYPE_ParentClass 
pName 
pFbxFileTypeName 
pFbxFileSubTypeName 
Returns:
The class Id of the newly register class

Definition at line168of filekfbxsdkmanager.h.

KError&GetError( ) 

Retrieve error object.

Returns:
Reference to the Manager's error object.

EErrorGetLastErrorID( ) const

Get last error code.

Returns:
Last error code.

const char* GetLastErrorString( ) const

Get last error string.

Returns:
Textual description of the last error.

KFbxDataTypeCreateFbxDataType(const char * pName,
EFbxType pType 
)

Register a new data type to the manager.

Returns:
true if it success

KFbxDataTypeconst&GetFbxDataTypeFromName(const char * pDataType ) 

Find a data type.

Returns:
the found datatype. return null if not found

int GetFbxDataTypeCount( ) 

List the data types.

Returns:
the number of registered datatypes

KFbxDataType&GetFbxDataType(int pIndex ) 

Find a data types.

Returns:
the found datatype. return null if not found

KFbxUserNotification* GetUserNotification( ) const

Access to the unique UserNotification object.

Returns:
The pointer to the user notification orNULLifthe object has not been allocated.

void SetUserNotification(KFbxUserNotificationpUN ) 

Access to the unique UserNotification object.

Returns:
The pointer to the user notification orNULLifthe object has not been allocated.

KFbxMessageEmitter&GetMessageEmitter( ) 

Access to the unique KFbxMessageEmitter object.

Returns:
The pointer to the message emitter.

bool SetMessageEmitter(KFbxMessageEmitter * pMessageEmitter ) 

Sets to the unique KFbxMessageEmitter object.

Parameters:
pMessageEmitter the 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(KFbxLocalizationManager * pLocManager ) 

Add a localization object to the known localization providers.

Parameters:
pLocManager the localization object to register.

void RemoveLocalization(KFbxLocalizationManager * pLocManager ) 

Remove a localization object from the known localization providers.

Parameters:
pLocManager the localization object to remove.

bool SetLocale(const char * pLocale ) 

Select the current locale for localization.

Parameters:
pLocale the 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:
pID the identifier for the text to localize.
pDefault the default text. Uses pID if NULL.
Returns:
the potentially localized text. May return the parameter passed in.

KFbxPreviewManager&GetPreviewManager( ) 

Retrieve the manager responsible for managing object previews.

Returns:
The Preview manager for this SDK manager.

KFbxXRefManager&GetXRefManager( ) 

Retrieve the manager responsible for managing object XRef resolution.

Returns:
The XRef manager for this SDK manager.

KFbxLibrary* GetRootLibrary( ) 

Retrieve the main object Libraries.

Returns:
The Root library

KFbxLibrary* GetSystemLibraries( ) 

Retrieve the main object Libraries.

Returns:
The Root library

KFbxLibrary* GetUserLibraries( ) 

Retrieve the main object Libraries.

Returns:
The Root library

KFbxIOPluginRegistry* GetIOPluginRegistry( ) const

Access to the uniqueKFbxIOPluginRegistryobject.

Returns:
The pointer to the userKFbxIOPluginRegistry

bool LoadPluginsDirectory(char * pFilename,
char * pExtensions 
)

Load plug-ins directory.

bool LoadPlugin(char * pFilename ) 

Load plug-in.

bool UnloadPlugins( ) 

Unload all plug-ins.

bool EmitPluginsEvent(KFbxEventBaseconst& pEvent ) 

Load plug-ins directory.

KArrayTemplate<KFbxPlugin const*>GetPlugins( ) const

Load plug-ins directory.

void FillIOSettingsForReadersRegistered(KFbxIOSettingspIOS ) 

Add IOSettings in hierarchy from different modules.

void FillIOSettingsForWritersRegistered(KFbxIOSettingspIOS ) 

Add IOSettings in hierarchy from different modules.

void FillCommonIOSettings(KFbxIOSettingspIOS,
bool pImport 
)

Add IOSettings in hierarchy from different modules.

void Create_Common_Import_IOSettings_Groups(KFbxIOSettingspIOS ) 

Add IOSettings in hierarchy from different modules.

void Create_Common_Export_IOSettings_Groups(KFbxIOSettingspIOS ) 

Add IOSettings in hierarchy from different modules.

void Add_Common_Import_IOSettings(KFbxIOSettingspIOS ) 

Add IOSettings in hierarchy from different modules.

void Add_Common_Export_IOSettings(KFbxIOSettingspIOS ) 

Add IOSettings in hierarchy from different modules.

void Add_Common_RW_Import_IOSettings(KFbxIOSettingspIOS ) 

Add IOSettings in hierarchy from different modules.

void Add_Common_RW_Export_IOSettings(KFbxIOSettingspIOS ) 

Add IOSettings in hierarchy from different modules.

void Fill_Motion_Base_ReaderIOSettings(KFbxIOSettingspIOS ) 

Add IOSettings in hierarchy from different modules.

void Fill_Motion_Base_WriterIOSettings(KFbxIOSettingspIOS ) 

Add IOSettings in hierarchy from different modules.

void RegisterObject(KFbxPlugconst * pPlug ) 

Register object.

void UnregisterObject(KFbxPlugconst * pPlug ) 

Unregister object.

staticKStringPrefixName(char const * pPrefix,
char const * pName 
)[static]

Add a prefix to a name.

Parameters:
pPrefix The prefix to be added to thepName. This string must contain the "::" characters in order to be considered as a prefix.
pName The name to be prefix.
Returns:
The prefixed string
Remarks:
If a prefix already exists, it is removed before addingpPrefix.