source: GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodTreeLibrary.h @ 831

Revision 831, 2.1 KB checked in by gumbau, 18 years ago (diff)
Line 
1//#include <string>
2//#include <exception>
3//#include "vertexdata.h"
4
5#ifndef _GEOLODSTREELIBRARY
6#define _GEOLODSTREELIBRARY
7
8#include "GeoMesh.h"
9#include "GeoLodStripsLibrary.h"
10
11class Arbol;
12class Foliage;
13class Point3D;
14
15namespace Geometry
16{       
17        class IndexData;
18        class LodTreeLibrary
19        {
20        public:
21/*              LodTreeLibrary( const LodTreeLibrary &);
22                LodTreeLibrary(LodTreeLibrary*);*/
23                LodTreeLibrary( std::string trunkSimpSeqFile,
24                                                Geometry::Mesh *treeGeoMesh,
25                                                std::string foliage_verts,
26                                                std::string foliage_leafs,
27                                                std::string foliage_simpl/*,
28                                                uint32 leafSubMeshID,
29                                                CREATEVERTEXDATAFUNC vdfun=NULL,
30                                                CREATEINDEXDATAFUNC idfun=NULL,
31                                                CREATEMULTIINDEXDATAFUNC midfun=NULL*/); // throws a FileNotFound exception
32                ~LodTreeLibrary(void);
33                uint32 GetUniqueID(void) const { return  uniqueID; }
34
35                // funciones ya descritas en la API
36                uint32 GoToTrunkLod(uint32 newlod);
37                uint32 MinTrunkLod(void) const;
38                uint32 MaxTrunkLod(void) const;
39                uint32 GoToFoliageLod(uint32 newlod);
40                uint32 MinFoliageLod(void) const;
41                uint32 MaxFoliageLod(void) const;
42
43                // funciones nuevas propuestas
44//              uint32 Get_Trunk_VertexCount(void) const;
45//              uint32 Get_Trunk_MaxIndexCount(uint32 istrip) const;
46                uint32 CurrentLOD_Trunk_StripCount(void) const;
47//              uint32 CurrentLOD_Trunk_IndexCount(void) const;
48                uint32 CurrentLOD_Trunk_IndexCountByStrip(uint32 istrip) const;
49/*              const VertexData* Get_Trunk_VertexData(void) const;
50//              const MultiIndexData* CurrentLOD_Trunk_Indices(void) const;*/
51
52//              uint32 Get_Foliage_VertexCount(void) const;
53                uint32 Get_Foliage_MaxIndexCount(void) const;
54                uint32 CurrentLOD_Foliage_IndexCount(void) const;
55                const IndexData* CurrentLOD_Foliage_Indices(void) const;
56/*              const VertexData* Get_Foliage_VertexData(void) const;
57*/
58//              Geometry::IndexData *trunk_all_indices;
59//              unsigned int *indices_offsets;
60
61                const Geometry::SmallIntVector & GetStrip(uint32 istrip) const { return trunk->mStrips[istrip]; }
62
63        private:
64                uint32 uniqueID;
65                Geometry::LodStripsLibrary *trunk;
66                Arbol *arbol;
67                Foliage *foliage;
68
69        };
70}
71
72#endif
Note: See TracBrowser for help on using the repository browser.