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 78 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
void  RegisterObject (KFbxPlug const *pPlug)
  Register object.
void  UnregisterObject (KFbxPlug const *pPlug)
  Unregister object.
int  GetSrcObjectCount (KFbxNode const *) const
  Get the count of KFbxNode.
KFbxNode GetSrcObject (KFbxNode const *, int pIndex=0) const
  Get the (pIndex)th KFbxNode.
int  GetSrcObjectCount (KFbxTexture const *) const
  Get the count of KFbxTexture.
KFbxTexture GetSrcObject (KFbxTexture const *, int pIndex=0) const
  Get the (pIndex)th KFbxTexture.
int  GetSrcObjectCount (KFbxCluster const *) const
  Get the count of KFbxCluster.
KFbxCluster GetSrcObject (KFbxCluster const *, int pIndex=0) const
  Get the (pIndex)th KFbxCluster.
int  GetSrcObjectCount (KFbxScene const *) const
  Get the count of KFbxScene.
KFbxScene GetSrcObject (KFbxScene const *, int pIndex=0) const
  Get the (pIndex)th KFbxScene.
int  GetSrcObjectCount (KFbxDocument const *) const
  Get the count of KFbxDocument.
KFbxDocument GetSrcObject (KFbxDocument const *, int pIndex=0) const
  Get the (pIndex)th KFbxDocument.
int  GetSrcObjectCount (KFbxSurfaceMaterial const *) const
  Get the count of KFbxSurfaceMaterial.
KFbxSurfaceMaterial GetSrcObject (KFbxSurfaceMaterial const *, int pIndex=0) const
  Get the (pIndex)th KFbxSurfaceMaterial.

Memory Management

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

FBX SDK Manager Creation/Destruction/retrieval

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) const
  Find class.
kFbxClassId  FindFbxFileClass (const char *pFbxFileTypeName, const char *pFbxFileSubTypeName) const
  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 () const
  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.

IOSettings Object

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

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 () const
  Retrieve the main object Libraries.
KFbxLibrary GetSystemLibraries () const
  Retrieve the main object Libraries.
KFbxLibrary GetUserLibraries () const
  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 () const
  get plugins count
KFbxPlugin FindPlugin (const char *pName, const char *pVersion) const
  Find plug in.

IO Settings

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

Reference Management

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

Static Public Member Functions

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

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  )  const

Find class.

Parameters:
pClassName 

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

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 (  )  const

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 

virtual KFbxIOSettings* 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 ( KFbxIOSettings pIOSettings  )  [virtual]

Set the IOSettings pointer.

Parameters:
pIOSettings 

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 (  )  const

Retrieve the main object Libraries.

Returns:
The Root library

KFbxLibrary* GetSystemLibraries (  )  const

Retrieve the main object Libraries.

Returns:
The Root library

KFbxLibrary* GetUserLibraries (  )  const

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 (  )  const

get plugins count

Returns:
The number of plugins.

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

Find plug in.

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

void FillIOSettingsForReadersRegistered ( KFbxIOSettings pIOS  ) 

Fill IO Settings for registered readers.

Parameters:
pIOS  The properties hierarchies to fill.

void FillIOSettingsForWritersRegistered ( KFbxIOSettings pIOS  ) 

Fill IO Settings for registered writers.

Parameters:
pIOS  The properties hierarchies to fill.

void FillCommonIOSettings ( KFbxIOSettings pIOS,
bool  pImport  
)

Fill common IO Settings.

Parameters:
pIOS  The properties hierarchies to fill.
pImport  If true, import properties are set, otherwise export properties are set.

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 ( KFbxNode const *   )  const [inline]

Get the count of KFbxNode.

Definition at line 518 of file kfbxsdkmanager.h.

Referenced by KFbxGetSrcCount().

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

Get the (pIndex)th KFbxNode.

Parameters:
pIndex  the index.

Definition at line 522 of file kfbxsdkmanager.h.

Referenced by KFbxGetSrc().

int GetSrcObjectCount ( KFbxTexture const *   )  const [inline]

Get the count of KFbxTexture.

Definition at line 528 of file kfbxsdkmanager.h.

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

Get the (pIndex)th KFbxTexture.

Parameters:
pIndex  the index.

Definition at line 532 of file kfbxsdkmanager.h.

int GetSrcObjectCount ( KFbxCluster const *   )  const [inline]

Get the count of KFbxCluster.

Definition at line 538 of file kfbxsdkmanager.h.

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

Get the (pIndex)th KFbxCluster.

Parameters:
pIndex  the index.

Definition at line 542 of file kfbxsdkmanager.h.

int GetSrcObjectCount ( KFbxScene const *   )  const [inline]

Get the count of KFbxScene.

Definition at line 548 of file kfbxsdkmanager.h.

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

Get the (pIndex)th KFbxScene.

Parameters:
pIndex  the index.

Definition at line 552 of file kfbxsdkmanager.h.

int GetSrcObjectCount ( KFbxDocument const *   )  const [inline]

Get the count of KFbxDocument.

Definition at line 558 of file kfbxsdkmanager.h.

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

Get the (pIndex)th KFbxDocument.

Parameters:
pIndex  the index.

Definition at line 562 of file kfbxsdkmanager.h.

int GetSrcObjectCount ( KFbxSurfaceMaterial const *   )  const [inline]

Get the count of KFbxSurfaceMaterial.

Definition at line 568 of file kfbxsdkmanager.h.

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

Get the (pIndex)th KFbxSurfaceMaterial.

Parameters:
pIndex  the index.

Definition at line 572 of file kfbxsdkmanager.h.

int GetReferenceCount (  )  const

Get number of references.

Returns:
Number of references.

KFbxReference* GetReference ( int  pIndex  )  const

Get reference at given index.

Parameters:
pIndex  Position in the list of references.
Returns:
Pointer to the reference or NULL if index is out of bounds.

int AddReference ( KFbxReference pReference  ) 

Add a reference.

Parameters:
pReference  The 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 ( KFbxReference pReference  ) 

Remove the specified reference from reference list.

Parameters:
pReference  The 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 ( KFbxReference pReference  ) 

Clear the specified reference from the SDK manager.

Parameters:
pReference  The 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 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.

Member Data Documentation

Definition at line 501 of file kfbxsdkmanager.h.

KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager
KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager KFbxSdkManager