FCollada.h

00001 /*
00002     Copyright (C) 2005-2007 Feeling Software Inc.
00003     Portions of the code are:
00004     Copyright (C) 2005-2007 Sony Computer Entertainment America
00005     
00006     MIT License: http://www.opensource.org/licenses/mit-license.php
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 /* MMMM.NNNN */
00063 
00068 #define FCOLLADA_BUILDSTR "B"
00069 
00070 // The main FCollada class: the document object.
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_

Generated on Thu Feb 14 16:58:34 2008 for FCollada by  doxygen 1.4.6-NO