- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# 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_