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

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

GeoLodObject? added as a parent class for GeoLodStripsLibrary? and GeoLodTreeLibrary?

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