13 #ifndef _FBXSDK_CORE_MANAGER_H_ 
   14 #define _FBXSDK_CORE_MANAGER_H_ 
   27 class FbxMessageEmitter;
 
   28 class FbxLocalizationManager;
 
   30 class FbxManager_internal;
 
   32 #ifndef FBXSDK_ENV_WINSTORE 
   72         virtual void Destroy();
 
   83         static const char* GetVersion(
bool pFull=
true);
 
   90         static void GetFileFormatVersion(
int& pMajor, 
int& pMinor, 
int& pRevision);
 
  108         template <
typename T1, 
typename T2> 
inline FbxClassId RegisterFbxClass(
const char* pName, 
const T1* , 
const T2* , 
const char* pFbxFileTypeName=0, 
const char* pFbxFileSubTypeName=0)
 
  110             T1::ClassId = Internal_RegisterFbxClass(pName, T2::ClassId, (
FbxObjectCreateProc)T1::Allocate, pFbxFileTypeName, pFbxFileSubTypeName);
 
  125             return Internal_RegisterFbxClass(pName, T::ClassId, (
FbxObjectCreateProc)T::Allocate, pFbxFileTypeName, pFbxFileSubTypeName);
 
  136                 Internal_UnregisterFbxClass(lClassId);
 
  166         FbxClassId FindClass(
const char* pClassName) 
const;
 
  172         FbxClassId FindFbxFileClass(
const char* pFbxFileTypeName, 
const char* pFbxFileSubTypeName) 
const;
 
  179             Internal_UnregisterFbxClass(T::ClassId);
 
  198         int GetDataTypeCount() 
const;
 
  210         FbxDataType& GetDataTypeFromName(
const char* pDataType) 
const;
 
  253         FbxMessageEmitter& GetMessageEmitter();
 
  258         bool SetMessageEmitter(FbxMessageEmitter* pMessageEmitter);
 
  269         void AddLocalization(FbxLocalizationManager* pLocManager);
 
  274         void RemoveLocalization(FbxLocalizationManager* pLocManager);
 
  279         bool SetLocale(
const char* pLocale);
 
  287         const char* Localize(
const char* pID, 
const char* pDefault=
NULL) 
const;
 
  326     #ifndef FBXSDK_ENV_WINSTORE 
  332         bool LoadPluginsDirectory(
const char* pFilename, 
const char* pExtensions=
NULL);
 
  338         bool LoadPlugin(
const char* pFilename);
 
  342         bool UnloadPlugins();
 
  355         int GetPluginCount() 
const;
 
  362         FbxPlugin* FindPlugin(
const char* pName, 
const char* pVersion) 
const;
 
  376         void FillIOSettingsForReadersRegistered(
FbxIOSettings& pIOS);
 
  381         void FillIOSettingsForWritersRegistered(
FbxIOSettings& pIOS);
 
  387         void FillCommonIOSettings(
FbxIOSettings& pIOS, 
bool pImport);
 
  405         void UnregisterObject(
FbxObject* pObject);
 
  422         void IncreaseDestroyingSceneFlag();
 
  427         void DecreaseDestroyingSceneFlag();
 
  435         int GetReferenceCount() 
const;
 
  474     static FbxString PrefixName(
const char* pPrefix, 
const char* pName);
 
  479     int GetDocumentCount();
 
  490 #ifndef DOXYGEN_SHOULD_SKIP_THIS 
  492     void                CreateMissingBindPoses(
FbxScene* pScene);
 
  493     int                 GetBindPoseCount(
FbxScene *pScene) 
const;
 
  494     int                 GetFbxClassCount() 
const;
 
  505     void DataTypeRelease();
 
  508     bool        CanAutoDestroySrcObject(
FbxObject* pObject, 
FbxObject* pSrcObject, 
bool pRecursive) 
const;
 
  510     void        Create_Common_Import_IOSettings_Groups(
FbxIOSettings& pIOS);
 
  511     void        Create_Common_Export_IOSettings_Groups(
FbxIOSettings& pIOS);
 
  518     bool        Internal_RegisterFbxClass(
FbxClassId pClassId);
 
  520     void        Internal_UnregisterFbxClass(
FbxClassId pClassId);
 
  522     void        RemoveObjectsOfType(
const FbxClassId& pClassId);
 
  532     FbxMessageEmitter*                  mMessageEmitter;
 
  539     int                                 mIsDestroyingScene;
 
  541     FbxManager_internal*                mInternal;
 
This class serves as the registrar for file formats. 
 
FBX SDK environment definition. 
 
#define FBXSDK_FRIEND_NEW()
 
Contains information about a referenced file. 
 
void UnregisterFbxClass(const T *pFBX_TYPE_Class)
Class unregistration. 
 
Utility class to manipulate strings. 
 
FbxDocument is a base class for FbxScene and FbxLibrary classes. 
 
FbxClassId RegisterFbxClass(const char *pName, const T1 *, const T2 *, const char *pFbxFileTypeName=0, const char *pFbxFileSubTypeName=0)
Class registration. 
 
This class accumulates user notifications and sends them to any device opened by the derived classes...
 
FbxObject *(* FbxObjectCreateProc)(FbxManager &pManager, const char *pName, const FbxObject *pFrom)
The function pointer type for object constructor functions. 
 
FbxIOSettings is a collection of properties, arranged as a tree, that can be used by FBX file readers...
 
The base class to inherit from when creating new plug-ins for the FBX SDK. 
 
FbxClassId OverrideFbxClass(const T1 *pFBX_TYPE_Class, const T2 *pFBX_TYPE_OverridenClass)
Override class. 
 
EFbxType
Type identifier constants. 
 
void UnregisterRuntimeFbxClass(const char *pName)
Runtime class unregistration. 
 
The base class of most FBX objects. 
 
Represents an element in the scene graph. 
 
This class contains the description of a 3D scene. 
 
FBX SDK event base class. 
 
This class manages external references to files. 
 
The principal interface for animation evaluators. 
 
FbxClassId RegisterRuntimeFbxClass(const char *pName, const T *, const char *pFbxFileTypeName=0, const char *pFbxFileSubTypeName=0)
Runtime class registration. 
 
Internal class used to differentiate objects during run-time. 
 
Class to hold user properties. 
 
This library class represents libraries that store sub-libraries and shading objects. 
 
Class for array of basic elements such as pointers and basic types.