KFbxSdkManager Class Reference

#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 line 79 of file kfbxsdkmanager.h.


Error Management

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

Global Object Management

KArrayTemplate< KFbxObject * >  mObjectArray
static KString  PrefixName (char const *pPrefix, char const *pName)
  Add a prefix to a name.
void  RegisterObject (KFbxPlug const *pPlug)
  Register object.
void  UnregisterObject (KFbxPlug const *pPlug)
  Unregister object.
int  GetSrcObjectCount (KFbxImageConverter const *)
  Get the count of KFbxImageConverter.
KFbxImageConverter GetSrcObject (KFbxImageConverter const *, int pIndex=0)
  Get the (pIndex)th KFbxImageConverter.
int  GetSrcObjectCount (KFbxNode const *)
  Get the count of KFbxNode.
KFbxNode GetSrcObject (KFbxNode const *, int pIndex=0)
  Get the (pIndex)th KFbxNode.
int  GetSrcObjectCount (KFbxTexture const *)
  Get the count of KFbxTexture.
KFbxTexture GetSrcObject (KFbxTexture const *, int pIndex=0)
  Get the (pIndex)th KFbxTexture.
int  GetSrcObjectCount (KFbxCluster const *)
  Get the count of KFbxCluster.
KFbxCluster GetSrcObject (KFbxCluster const *, int pIndex=0)
  Get the (pIndex)th KFbxCluster.
int  GetSrcObjectCount (KFbxScene const *)
  Get the count of KFbxScene.
KFbxScene GetSrcObject (KFbxScene const *, int pIndex=0)
  Get the (pIndex)th KFbxScene.
int  GetSrcObjectCount (KFbxDocument const *)
  Get the count of KFbxDocument.
KFbxDocument GetSrcObject (KFbxDocument const *, int pIndex=0)
  Get the (pIndex)th KFbxDocument.
int  GetSrcObjectCount (KFbxSurfaceMaterial const *)
  Get the count of KFbxSurfaceMaterial.
KFbxSurfaceMaterial GetSrcObject (KFbxSurfaceMaterial const *, int pIndex=0)
  Get the (pIndex)th KFbxSurfaceMaterial.

Memory Management

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

FBX SDK Manager Creation/Destruction

static KFbxSdkManager Create ()
  SDK manager allocation method.
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.
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)
  Runtime class registration.
void  UnregisterRuntimeFbxClass (char const *pName)
  Runtime class unregistration.
template<typename T1, typename T2>
kFbxClassId  OverrideFbxClass (T1 const *pFBX_TYPE_Class, T2 const *pFBX_TYPE_OverridenClass)
  Override class.
KFbxPlug CreateClass (kFbxClassId pClassId, char const *pName, const char *pFBXType=0, const char *pFBXSubType=0)
  Create class.
KFbxPlug CreateClass (KFbxObject *pContainer, kFbxClassId pClassId, const char *pName, const char *pFBXType=0, const char *pFBXSubType=0)
  Create class.
kFbxClassId  FindClass (const char *pClassName)
  Find class.
kFbxClassId  FindFbxFileClass (const char *pFbxFileTypeName, const char *pFbxFileSubTypeName)
  Find file class.
template<typename T>
void  UnregisterFbxClass (T const *pFBX_TYPE_Class)
  Class unregistration.

Data Type Management

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

User Notification Object

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

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

KFbxLibrary GetRootLibrary ()
  Retrieve the main object Libraries.
KFbxLibrary GetSystemLibraries ()
  Retrieve the main object Libraries.
KFbxLibrary GetUserLibraries ()
  Retrieve the main object Libraries.

Plug-in Registry Object

KFbxIOPluginRegistry GetIOPluginRegistry () const
  Access to the unique KFbxIOPluginRegistry object.

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 (KFbxEventBase const &pEvent)
  Emit plugins event.
KArrayTemplate< KFbxPlugin
const * > 
GetPlugins () const
  Get plugins.
int  GetPluginCount ()
  get plugins count
KFbxPlugin FindPlugin (char *pName, char *pVersion)
  Find plug in.

IO Settings

void  Fill_Motion_Base_ReaderIOSettings (KFbxIOSettings &pIOS)
  Fill IO Settings for motion base readers.
void  Fill_Motion_Base_WriterIOSettings (KFbxIOSettings &pIOS)
  Fill IO Settings for motion base writers.

Member Enumeration Documentation

enum EError

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 line 227 of file kfbxsdkmanager.h.


Member Function Documentation

static bool SetMemoryAllocator ( KFbxMemoryAllocator pMemoryAllocator  )  [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.

Parameters:
pMemoryAllocator  The memory allocator to set.
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.

static KFbxSdkManager* 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 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:
pMajor  Version major number.
pMinor  Version minor number.
pRevision  Version revision number.

kFbxClassId RegisterFbxClass ( 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:
pName 
pFBX_TYPE_Class 
pFBX_TYPE_ParentClass 
pFbxFileTypeName 
pFbxFileSubTypeName 
Returns:
The class Id of the newly register class

Definition at line 137 of file kfbxsdkmanager.h.

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

Runtime class registration.

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

Definition at line 149 of file kfbxsdkmanager.h.

void UnregisterRuntimeFbxClass ( char const *  pName  )  [inline]

Runtime class unregistration.

Parameters:
pName  The class name.

Definition at line 156 of file kfbxsdkmanager.h.

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

Override class.

Parameters:
pFBX_TYPE_Class 
pFBX_TYPE_OverridenClass 
Returns:
The class Id

Definition at line 171 of file kfbxsdkmanager.h.

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

Create class.

Parameters:
pClassId 
pName 
pFBXType 
pFBXSubType 

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

Create class.

Parameters:
pContainer 
pClassId 
pName 
pFBXType 
pFBXSubType 

kFbxClassId FindClass ( const char *  pClassName  ) 

Find class.

Parameters:
pClassName 

kFbxClassId FindFbxFileClass ( const char *  pFbxFileTypeName,
const char *  pFbxFileSubTypeName  
)

Find file class.

Parameters:
pFbxFileTypeName 
pFbxFileSubTypeName 

void UnregisterFbxClass ( T const *  pFBX_TYPE_Class  )  [inline]

Class unregistration.

Parameters:
pFBX_TYPE_Class 

Definition at line 207 of file kfbxsdkmanager.h.

KError& GetError (  ) 

Retrieve error object.

Returns:
Reference to the Manager's error object.

EError GetLastErrorID (  )  const

Get last error code.

Returns:
Last error code.

const char* GetLastErrorString (  )  const

Get last error string.

Returns:
Textual description of the last error.

KFbxDataType CreateFbxDataType ( const char *  pName,
EFbxType  pType  
)

Register a new data type to the manager.

Parameters:
pName  The type name.
pType  The data type.
Returns:
The newly created KFbxDataType

KFbxDataType const& GetFbxDataTypeFromName ( const char *  pDataType  ) 

Find a data type from the type name.

Parameters:
pDataType  The type name.
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 at pIndex.

Parameters:
pIndex  The data type index.
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 or NULL if the object has not been allocated.

void SetUserNotification ( KFbxUserNotification pUN  ) 

Set the user notification.

Parameters:
pUN 

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 unique KFbxIOPluginRegistry object.

Returns:
The pointer to the user KFbxIOPluginRegistry

bool LoadPluginsDirectory ( char *  pFilename,
char *  pExtensions  
)

Load plug-ins directory.

Parameters:
pFilename  The directory path.
pExtensions  The plug in extension.
Returns:
True

bool LoadPlugin ( char *  pFilename  ) 

Load plug-in.

Parameters:
pFilename  The file name
Returns:
True

bool UnloadPlugins (  ) 

Unload all plug-ins.

bool EmitPluginsEvent ( KFbxEventBase const &  pEvent  ) 

Emit plugins event.

Parameters:
pEvent  The event to be emitted.

KArrayTemplate<KFbxPlugin const*> GetPlugins (  )  const

Get plugins.

int GetPluginCount (  ) 

get plugins count

Returns:
The number of plugins.

KFbxPlugin* FindPlugin ( char *  pName,
char *  pVersion  
)

Find plug in.

Parameters:
pName  The plug in name.
pVersion  The plug in version.
Returns:
The plugin, null if not found.

void Fill_Motion_Base_ReaderIOSettings ( KFbxIOSettings pIOS  ) 

Fill IO Settings for motion base readers.

Parameters:
pIOS  The properties hierarchies to fill.

void Fill_Motion_Base_WriterIOSettings ( KFbxIOSettings pIOS  ) 

Fill IO Settings for motion base writers.

Parameters:
pIOS  The properties hierarchies to fill.

void RegisterObject ( KFbxPlug const *  pPlug  ) 

Register object.

Parameters:
pPlug  The object to be registered.

void UnregisterObject ( KFbxPlug const *  pPlug  ) 

Unregister object.

Parameters:
pPlug  The object to be unregistered.

int GetSrcObjectCount ( KFbxImageConverter const *   )  [inline]

Get the count of KFbxImageConverter.

Definition at line 509 of file kfbxsdkmanager.h.

KFbxImageConverter* GetSrcObject ( KFbxImageConverter const *  ,
int  pIndex = 0  
) [inline]

Get the (pIndex)th KFbxImageConverter.

Parameters:
pIndex  the index.

Definition at line 513 of file kfbxsdkmanager.h.

int GetSrcObjectCount ( KFbxNode const *   )  [inline]

Get the count of KFbxNode.

Definition at line 519 of file kfbxsdkmanager.h.

KFbxNode* GetSrcObject ( KFbxNode const *  ,
int  pIndex = 0  
) [inline]

Get the (pIndex)th KFbxNode.

Parameters:
pIndex  the index.

Definition at line 523 of file kfbxsdkmanager.h.

int GetSrcObjectCount ( KFbxTexture const *   )  [inline]

Get the count of KFbxTexture.

Definition at line 529 of file kfbxsdkmanager.h.

KFbxTexture* GetSrcObject ( KFbxTexture const *  ,
int  pIndex = 0  
) [inline]

Get the (pIndex)th KFbxTexture.

Parameters:
pIndex  the index.

Definition at line 533 of file kfbxsdkmanager.h.

int GetSrcObjectCount ( KFbxCluster const *   )  [inline]

Get the count of KFbxCluster.

Definition at line 539 of file kfbxsdkmanager.h.

KFbxCluster* GetSrcObject ( KFbxCluster const *  ,
int  pIndex = 0  
) [inline]

Get the (pIndex)th KFbxCluster.

Parameters:
pIndex  the index.

Definition at line 543 of file kfbxsdkmanager.h.

int GetSrcObjectCount ( KFbxScene const *   )  [inline]

Get the count of KFbxScene.

Definition at line 549 of file kfbxsdkmanager.h.

KFbxScene* GetSrcObject ( KFbxScene const *  ,
int  pIndex = 0  
) [inline]

Get the (pIndex)th KFbxScene.

Parameters:
pIndex  the index.

Definition at line 553 of file kfbxsdkmanager.h.

int GetSrcObjectCount ( KFbxDocument const *   )  [inline]

Get the count of KFbxDocument.

Definition at line 559 of file kfbxsdkmanager.h.

KFbxDocument* GetSrcObject ( KFbxDocument const *  ,
int  pIndex = 0  
) [inline]

Get the (pIndex)th KFbxDocument.

Parameters:
pIndex  the index.

Definition at line 563 of file kfbxsdkmanager.h.

int GetSrcObjectCount ( KFbxSurfaceMaterial const *   )  [inline]

Get the count of KFbxSurfaceMaterial.

Definition at line 569 of file kfbxsdkmanager.h.

KFbxSurfaceMaterial* GetSrcObject ( KFbxSurfaceMaterial const *  ,
int  pIndex = 0  
) [inline]

Get the (pIndex)th KFbxSurfaceMaterial.

Parameters:
pIndex  the index.

Definition at line 573 of file kfbxsdkmanager.h.

static KString PrefixName ( char const *  pPrefix,
char const *  pName  
) [static]

Add a prefix to a name.

Parameters:
pPrefix  The prefix to be added to the pName. 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 adding pPrefix.
KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager
KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager