
00001 //***************************************************************************** 00002 // File : gzDbManager_flt.h 00003 // Module : 00004 // Description : Class definition of the flt format 00005 // Author : Anders Modén 00006 // Product : Gizmo3D 2.1.1 00007 // 00008 // Copyright © 2003- Saab Training Systems AB, Sweden 00009 // 00010 // NOTE: Gizmo3D is a high performance 3D Scene Graph and effect visualisation 00011 // C++ toolkit for Linux, Mac OS X, Windows (Win32) and IRIX® for 00012 // usage in Game or VisSim development. 00013 // 00014 // 00015 // Revision History... 00016 // 00017 // Who Date Description 00018 // 00019 // AMO 990401 Created file 00020 // 00021 //****************************************************************************** 00022 #ifndef __GZ_DB_FLT_H__ 00023 #define __GZ_DB_FLT_H__ 00024 00025 #include "gzNode.h" 00026 00032 // UserData Db INFO attributes 00033 const gzString GZ_DB_INFO_TYPE_OPENFLIGHT ="flt"; 00034 00035 00036 //************************ OpenFlight Loader *********************************** 00037 00038 class gzDbManager_flt : public gzDbManager 00039 { 00040 public: 00041 00042 GZ_DB_EXPORT gzDbManager_flt(); 00043 00044 GZ_DB_EXPORT virtual ~gzDbManager_flt(); 00045 00046 GZ_DB_EXPORT virtual gzNode * loadDB(gzSerializeAdapter *adapter); 00047 00048 //GZ_DB_EXPORT virtual gzBool saveDB(gzNode *node ,gzSerializeAdapter *adapter); 00049 00050 GZ_DB_EXPORT virtual gzString getExtensions(); 00051 00052 GZ_DB_EXPORT virtual gzULong getVersion(const gzString &extension); 00053 }; 00054 00055 class gzDFADFlightEncoder : public gzReference 00056 { 00057 public: 00058 00059 virtual gzIntersectMaskValue encodeIntersectMask(gzShort featureID , gzShort surfaceID)=0; 00060 00061 static gzVoid setEncoder(gzDFADFlightEncoder *encoder); 00062 00063 static gzRefPointer<gzDFADFlightEncoder> getEncoder(); 00064 00065 private: 00066 00067 static gzGuard< gzRefPointer<gzDFADFlightEncoder> > s_encoder; 00068 00069 }; 00070 00071 #endif