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

Revision 1078, 2.3 KB checked in by gumbau, 18 years ago (diff)

Extended Mesh implementation

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#include "GeoTreeSimpSequence.h"
11#include "GeoLodObject.h"
12
13class Foliage;
14
15namespace Geometry
16{       
17        class IndexData;
18        class VertexData;
19        class LodTreeLibrary : public Geometry::LodObject
20        {
21        public:
22/*              LodTreeLibrary( const LodTreeLibrary &);
23                LodTreeLibrary(LodTreeLibrary*);*/
24                LodTreeLibrary( const LodStripsLibraryData &,
25                                                const TreeSimplificationSequence &,
26                                                Geometry::Mesh *treeGeoMesh,
27                                                uint32 leafSubMeshID
28                                                /*std::string foliage_verts,
29                                                std::string foliage_leafs,
30                                                std::string foliage_simpl/*,
31                                                uint32 leafSubMeshID,
32                                                CREATEVERTEXDATAFUNC vdfun=NULL,
33                                                CREATEINDEXDATAFUNC idfun=NULL,
34                                                CREATEMULTIINDEXDATAFUNC midfun=NULL*/); // throws a FileNotFound exception
35                ~LodTreeLibrary(void);
36
37                // funciones ya descritas en la API
38/*              uint32 GoToTrunkLod(uint32 newlod);
39                uint32 MinTrunkLod(void) const;
40                uint32 MaxTrunkLod(void) const;
41                uint32 GoToFoliageLod(uint32 newlod);
42                uint32 MinFoliageLod(void) const;
43                uint32 MaxFoliageLod(void) const;*/
44
45                void GoToTrunkLod(Real);
46                void GoToFoliageLod(Real);
47
48                // changes the lod of the entire object (trunk and leaves)
49                virtual void GoToLod(Real);
50
51                // new proposed functions
52//              uint32 Get_Trunk_VertexCount(void) const;
53//              uint32 Get_Trunk_MaxIndexCount(uint32 istrip) const;
54//              uint32 CurrentLOD_Trunk_StripCount(void) const;
55//              uint32 CurrentLOD_Trunk_IndexCount(void) const;
56//              uint32 CurrentLOD_Trunk_IndexCountByStrip(uint32 istrip) const;
57/*              const VertexData* Get_Trunk_VertexData(void) const;*/
58                const IndexData* CurrentLOD_Trunk_Indices(void) const;
59
60//              uint32 Get_Foliage_VertexCount(void) const;
61                uint32 Get_Foliage_MaxIndexCount(void) const;
62                uint32 CurrentLOD_Foliage_IndexCount(void) const;
63                const IndexData* CurrentLOD_Foliage_Indices(void) const;
64                const VertexData* Get_Foliage_VertexData(void) const;
65
66//              Geometry::IndexData *trunk_all_indices;
67//              unsigned int *indices_offsets;
68
69//              const Geometry::SmallIntVector & GetStrip(uint32 istrip) const { return trunk->mStrips[istrip]; }
70                Geometry::LodStripsLibrary *trunk;
71
72        private:
73                Foliage *foliage;
74
75        };
76}
77
78#endif
Note: See TracBrowser for help on using the repository browser.