13 #ifndef _FBXSDK_SCENE_LIBRARY_H_
14 #define _FBXSDK_SCENE_LIBRARY_H_
23 class FbxLocalizationManager;
41 void SystemLibrary(
bool pSystemLibrary);
44 bool IsSystemLibrary()
const;
53 void LocalizationBaseNamePrefix(
const char* pPrefix);
56 FbxString LocalizationBaseNamePrefix()
const;
74 bool RemoveSubLibrary(
FbxLibrary* pSubLibrary);
77 int GetSubLibraryCount(
void)
const;
169 template <
class T > T* InstantiateMember(
const T* pFBX_TYPE,
const FbxObjectFilter& pFilter,
bool pRecurse =
true,
FbxObject* pOptContainer =
NULL);
180 FbxLocalizationManager& GetLocalizationManager()
const;
188 virtual const char*
Localize(
const char* pID,
const char* pDefault =
NULL )
const;
199 bool AddShadingObject(
FbxObject* pShadingObject);
204 bool RemoveShadingObject(
FbxObject* pShadingObject);
207 int GetShadingObjectCount(
void)
const;
213 FbxObject* GetShadingObject(
int pIndex)
const;
233 #ifndef DOXYGEN_SHOULD_SKIP_THIS
236 virtual void Destruct(
bool pRecursive);
238 mutable FbxLocalizationManager* mLocalizationManager;
245 #ifndef DOXYGEN_SHOULD_SKIP_THIS
250 for(
int i = 0; i < GetMemberCount<T>(); ++i )
252 T* lObject = GetMember<T>(i);
253 if( pFilter.
Match(lObject) )
254 return FbxCast<T>(
CloneAsset(lObject,pOptContainer));
260 for(
int i = 0; i < GetMemberCount<FbxLibrary>(); ++i )
262 FbxLibrary* lLibrary = GetMember<FbxLibrary>(i);
263 T* lClonedObject = lLibrary->
InstantiateMember(pFBX_TYPE, pFilter, pRecurse, pOptContainer);
265 return lClonedObject;
272 class FBXSDK_DLL FbxEventPopulateSystemLibrary :
public FbxEvent<FbxEventPopulateSystemLibrary>
277 FbxEventPopulateSystemLibrary(
FbxLibrary* pLibrary) { mLibrary = pLibrary; }
278 inline FbxLibrary* GetLibrary()
const {
return mLibrary; }
284 class FBXSDK_DLL FbxEventUpdateSystemLibrary :
public FbxEvent<FbxEventUpdateSystemLibrary>
289 FbxEventUpdateSystemLibrary(
FbxLibrary *pLibrary) { mLibrary = pLibrary; }
290 inline FbxLibrary* GetLibrary()
const {
return mLibrary; }
296 class FBXSDK_DLL FbxEventWriteLocalization :
public FbxEvent<FbxEventWriteLocalization>
301 FbxEventWriteLocalization(
FbxLibrary* pAssetLibrary) { mAssetLibrary = pAssetLibrary; }
302 inline FbxLibrary* GetLibrary()
const {
return mAssetLibrary; }
308 class FBXSDK_DLL FbxEventMapAssetFileToAssetObject :
public FbxEvent<FbxEventMapAssetFileToAssetObject>
313 FbxEventMapAssetFileToAssetObject(const
char* pFile) :
319 inline const char* GetFilePath()
const {
return mFilePath; }
#define FBXSDK_OBJECT_DECLARE(Class, Parent)
Macro used to declare a new class derived from FbxObject.
FBX SDK environment definition.
virtual bool Match(const FbxObject *pObjectPtr) const =0
Tells if this filter match the given object.
This object represents a filter criteria on an object.
Utility class to manipulate strings.
FbxDocument is a base class for FbxScene and FbxLibrary classes.
FbxLibrary * GetParentLibrary() const
Returns a handle on the parent library of this object.
The base class of most FBX objects.
This object represents a shading node filter criteria based on the shading node implementation.
virtual void Construct(const FbxObject *pFrom)
Optional constructor override, automatically called by default constructor.
Defines a filtering criteria for a query of objects, connections and properties, so that only those s...
FbxObject * CloneAsset(FbxObject *pToClone, FbxObject *pOptionalDestinationContainer=NULL) const
Clones the specified asset.
#define FBXSDK_EVENT_DECLARE(Class)
virtual const char * Localize(const char *pID, const char *pDefault=NULL) const
Localization helper function, it calls the implementation of FBX SDK manager.
This library class represents libraries that store sub-libraries and shading objects.
virtual void Destruct(bool pRecursive)
Optional destructor override, automatically called by default destructor.
T * InstantiateMember(const T *pFBX_TYPE, const FbxObjectFilter &pFilter, bool pRecurse=true, FbxObject *pOptContainer=NULL)
Returns a new instance of a library member.
FBX event class, derived from FbxEventBase, and it contains a type ID for event.