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.