Gizmo3D

gzDbManager_pfb.h

Go to the documentation of this file.
00001 //*****************************************************************************
00002 // File         : gzDbManager_pfb.h
00003 // Module       : 
00004 // Description  : Class definition of the Pfb binary 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  000105  Created file    
00020 //
00021 //******************************************************************************
00022 #ifndef __GZ_DB_PFB_H__
00023 #define __GZ_DB_PFB_H__
00024 
00030 #include "gzNode.h"
00031 #include "gzGeometry.h"
00032 
00033 // UserData Db INFO attributes
00034 const gzString GZ_DB_INFO_TYPE_PERFORMER    ="pfb";
00035 
00036 class gzDbManager_pfb : public gzDbManager  
00037 {
00038 public:
00039 
00040     GZ_DB_EXPORT gzDbManager_pfb();
00041     GZ_DB_EXPORT virtual ~gzDbManager_pfb(){};
00042 
00043     GZ_DB_EXPORT virtual gzNode *   loadDB(gzSerializeAdapter *adapter);
00044 
00045     //GZ_DB_EXPORT virtual gzBool       saveDB(gzNode *node ,gzSerializeAdapter *adapter);
00046 
00047     GZ_DB_EXPORT virtual gzString   getExtensions();
00048 
00049     GZ_DB_EXPORT virtual gzULong    getVersion(const gzString &extension);
00050 
00051 
00052 protected:
00053 
00054     // Utility Functions
00055 
00056     gzULong read_VLIST( gzULong length , gzULong list_number);
00057     gzULong read_NLIST( gzULong length , gzULong list_number);
00058     gzULong read_LLIST( gzULong length , gzULong list_number);
00059     gzULong read_CLIST( gzULong length , gzULong list_number);
00060     gzULong read_TLIST( gzULong length , gzULong list_number);
00061     gzULong read_ILIST( gzULong length , gzULong list_number);
00062 
00063 
00064     gzULong read_MTL(   gzULong length , gzULong list_number);
00065     gzULong read_TEX(   gzULong length , gzULong list_number);
00066     gzULong read_TENV(  gzULong length , gzULong list_number);
00067     gzULong read_GSET(  gzULong length , gzULong list_number);
00068     gzULong read_GSTATE(gzULong length , gzULong list_number);
00069     gzULong read_NODE(  gzULong length , gzULong list_number);
00070     gzULong read_IMAGE( gzULong length , gzULong list_number);
00071 
00072     gzULong read_Shared_List_Type( gzULong length, gzInt *size);
00073 
00074 
00075     gzVoid resolveChildren();
00076 
00077 private:
00078 
00079     gzDynamicArray< gzArray< gzVec3 > >     m_list_VLIST;
00080     gzDynamicArray< gzArray< gzVec3 > >     m_list_NLIST;
00081     gzDynamicArray< gzArray< gzVec4 > >     m_list_CLIST;
00082     gzDynamicArray< gzArray< gzUShort > >   m_list_ILIST;
00083     gzDynamicArray< gzArray< gzVec2 > >     m_list_TLIST;
00084     gzDynamicArray< gzArray< gzULong > >    m_list_LLIST;
00085 
00086     gzDynamicArray< gzRefPointer< gzMaterial > >    m_list_MTL;
00087     gzDynamicArray< gzRefPointer< gzTexEnv > >      m_list_TENV;
00088     gzDynamicArray< gzRefPointer< gzTexture > >     m_list_TEX;
00089     gzDynamicArray< gzRefPointer< gzGeometry > >    m_list_GEOM;
00090     gzDynamicArray< gzRefPointer< gzNode > >        m_list_NODES;
00091     gzDynamicArray< gzRefPointer< gzState > >       m_list_STATES;
00092 
00093     gzDynamicArray< gzRefPointer< gzRefData< gzArray<gzUByte> > > > m_list_IMAGES;
00094 
00095     gzDynamicArray< gzArray<gzULong> >              m_list_CHILD;
00096 
00097     gzULong                                         m_currentVersion;
00098 
00099     gzBool                                          m_useBigEnedian;
00100 
00101     gzMutex                                         m_locker;
00102 
00103     gzSerializeAdapter *                            m_adapter;
00104 
00105 };
00106 
00107 
00108 
00109 
00110 #endif

Documentation for Gizmo3D generated at Wed Feb 20 11:54:03 2008 by   Saab Training Systems AB, ¸ (c) 2003-and beyond