00001
00002
00003
00004
00005
00006
00007
00008
00025 #ifndef _FCOLLADA_H_
00026 #define _FCOLLADA_H_
00027
00036 #ifdef _DEBUG
00037 #define FCOLLADA_EXCEPTION 0
00038 #define _FTRY
00039 #define _FCATCH_ALL for (int x = 0; x != 0;)
00040 #else
00041 #define FCOLLADA_EXCEPTION 1
00042 #define _FTRY try
00043 #define _FCATCH_ALL catch (...)
00044 #endif
00045
00046 #define PREMIUM
00047
00048 #ifndef _F_UTILS_H_
00049 #include "FUtils/FUtils.h"
00050 #endif // _F_UTILS_H_
00051
00062 #define FCOLLADA_VERSION 0x00030005
00063
00068 #define FCOLLADA_BUILDSTR "B"
00069
00070
00071 class FCDocument;
00072 class FUTestBed;
00073 class FColladaPluginManager;
00074 typedef fm::pvector<FCDocument> FCDocumentList;
00075 class FUPlugin;
00076 typedef IFunctor0<bool>* CancelLoadingCallback;
00077
00081 namespace FCollada
00082 {
00087 FCOLLADA_EXPORT unsigned long GetVersion();
00088
00096 FCOLLADA_EXPORT void Initialize();
00097
00106 FCOLLADA_EXPORT size_t Release();
00107
00114 FCOLLADA_EXPORT FCDocument* NewTopDocument();
00115
00121 FCOLLADA_EXPORT FCDocument* NewDocument();
00122
00125 FCOLLADA_EXPORT size_t GetTopDocumentCount();
00126
00130 FCOLLADA_EXPORT FCDocument* GetTopDocument(size_t index);
00131
00135 FCOLLADA_EXPORT bool IsTopDocument(FCDocument* document);
00136
00140 FCOLLADA_EXPORT void GetAllDocuments(FCDocumentList& documents);
00141
00145 FCOLLADA_EXPORT bool LoadDocumentFromFile(FCDocument* document, const fchar* filename);
00146 DEPRECATED(3.05A, LoadDocumentFromFile) inline bool LoadDocument(FCDocument* document, const fchar* filename) { return LoadDocumentFromFile(document, filename); }
00147 DEPRECATED(3.05A, NewTopDocument and LoadDocumentFromFile) FCOLLADA_EXPORT FCDocument* LoadDocument(const fchar* filename);
00148
00155 FCOLLADA_EXPORT bool LoadDocumentFromMemory(const fchar* filename, FCDocument* document, void* data, size_t length);
00156
00161 FCOLLADA_EXPORT bool SaveDocument(FCDocument* document, const fchar* filename);
00162
00168 FCOLLADA_EXPORT bool GetDereferenceFlag();
00169
00175 FCOLLADA_EXPORT void SetDereferenceFlag(bool flag);
00176
00180 DEPRECATED(3.05A, GetPluginManager()->RegisterPlugin) FCOLLADA_EXPORT bool RegisterPlugin(FUPlugin* plugin);
00181
00184 FCOLLADA_EXPORT FColladaPluginManager* GetPluginManager();
00185
00186 #ifndef RETAIL
00187
00190 FCOLLADA_EXPORT void RunTests(FUTestBed& testBed);
00191 #endif // RETAIL
00192
00196 FCOLLADA_EXPORT void SetCancelLoadingCallback(CancelLoadingCallback callback);
00197
00200 FCOLLADA_EXPORT bool CancelLoading();
00201 }
00202
00207 #endif // _FCOLLADA_H_