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

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