Ignore:
Timestamp:
04/26/06 16:00:29 (19 years ago)
Author:
gumbau
Message:

Added LodTreeLibrary? working only for trunks

Location:
GTP/trunk/Lib/Geom/shared/GTGeometry/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodStripsLibrary.h

    r774 r829  
    99        *       @file   GeoLodStripsLibrary.h 
    1010/*===========================================================================*/ 
     11 
     12#ifndef _GEOLODSTRIPSLIBRARY 
     13#define _GEOLODSTRIPSLIBRARY 
    1114 
    1215#include        "GeoMesh.h" 
     
    150153 
    151154                        //      (New)   Get the number of strips. 
    152                         uint32  GetStripCount(); 
     155                        uint32  GetStripCount() const; 
     156                        uint32  GetIndexCountByStrip(uint32) const; 
    153157        }; 
    154158} 
    155159 
     160 
     161#endif 
  • GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodTreeLibrary.h

    r774 r829  
    1 #include "GeoBase.h" 
     1//#include <string> 
     2//#include <exception> 
     3//#include "vertexdata.h" 
    24 
     5#ifndef _GEOLODSTREELIBRARY 
     6#define _GEOLODSTREELIBRARY 
     7 
     8#include "GeoMesh.h" 
     9#include "GeoLodStripsLibrary.h" 
     10 
     11/*class LodStrip; 
     12class Arbol; 
     13class Foliage; 
     14class Point3D; 
     15*/ 
    316namespace Geometry 
    4 { 
    5         /// LodTreeLibrary interface class. 
    6         /** This module contains functions that handle the levels of detail of the input multiresolution trees. 
    7         For Any given resolution and object this module returns two thins: a set of triangle strips representing the trunk  
    8         and the branches at that resolution, and a triangle list representing the leaves at the same resolution.  
    9         \n\n 
    10  
    11 Inputs:\n 
    12         - The module receives a file describing a multiresolution tree object. 
    13         . 
    14  
    15 Outputs:\n 
    16         - The module returns a strip set that represents the level of deatil demanded for the trunk and a triangle list  
    17         that representes the level of detail for leaves. 
    18         . 
    19  
    20         */ 
     17{        
    2118        class LodTreeLibrary 
    2219        { 
    2320        public: 
    24                 /// Constructor, receives as a parameter the name of the file including the multiresolution object. 
    25                 LodTreeLibrary (std::string); 
     21/*              LodTreeLibrary( const LodTreeLibrary &); 
     22                LodTreeLibrary(LodTreeLibrary*);*/ 
     23                LodTreeLibrary( std::string trunkSimpSeqFile, 
     24                                                Geometry::Mesh *treeGeoMesh 
     25                                                /*, 
     26                                                std::string foliage_verts, 
     27                                                std::string foliage_leafs, 
     28                                                std::string foliage_simpl, 
     29                                                uint32 leafSubMeshID, 
     30                                                CREATEVERTEXDATAFUNC vdfun=NULL,  
     31                                                CREATEINDEXDATAFUNC idfun=NULL, 
     32                                                CREATEMULTIINDEXDATAFUNC midfun=NULL*/); // throws a FileNotFound exception 
     33                ~LodTreeLibrary(void); 
     34                uint32 GetUniqueID(void) const { return  uniqueID; } 
    2635 
    27                 /// Destructor. 
    28                 ~LodTreeLibrary (void); 
     36                // funciones ya descritas en la API 
     37                uint32 GoToTrunkLod(uint32 newlod); 
     38                uint32 MinTrunkLod(void) const; 
     39                uint32 MaxTrunkLod(void) const; 
     40/*              uint32 GoToFoliageLod(uint32 newlod); 
     41                uint32 MinFoliageLod(void) const; 
     42                uint32 MaxFoliageLod(void) const;*/ 
    2943 
    30                 /// Copy constructor 
    31                 //LodTreeLibrary(const LodTreeLibrary&); 
     44                // funciones nuevas propuestas 
     45//              uint32 Get_Trunk_VertexCount(void) const; 
     46//              uint32 Get_Trunk_MaxIndexCount(uint32 istrip) const; 
     47                uint32 CurrentLOD_Trunk_StripCount(void) const; 
     48//              uint32 CurrentLOD_Trunk_IndexCount(void) const; 
     49                uint32 CurrentLOD_Trunk_IndexCountByStrip(uint32 istrip) const; 
     50/*              const VertexData* Get_Trunk_VertexData(void) const; 
     51//              const MultiIndexData* CurrentLOD_Trunk_Indices(void) const;*/ 
    3252 
    33                 /// Assignment operator 
    34                 //LodTreeLibrary& operator =(const LodTreeLibrary&); 
     53//              uint32 Get_Foliage_VertexCount(void) const; 
     54//              uint32 Get_Foliage_MaxIndexCount(void) const; 
     55//              uint32 CurrentLOD_Foliage_IndexCount(void) const; 
     56/*              const IndexData* CurrentLOD_Foliage_Indices(void) const; 
     57                const VertexData* Get_Foliage_VertexData(void) const; 
     58*/ 
     59//              Geometry::IndexData *trunk_all_indices; 
     60//              unsigned int *indices_offsets; 
    3561 
    36                 /// Returns the highest LOD of the foliage. 
    37                 uint32 MaxFoliageLod(); 
     62                const Geometry::SmallIntVector & GetStrip(uint32 istrip) const { return trunk->mStrips[istrip]; } 
    3863 
    39                 /// Returns the highest LOD of the trunk. 
    40                 uint32 MaxTrunkLod(); 
    41  
    42                 /// Returns the lowest LOD of the foliage. 
    43                 uint32 MinFoliageLod(); 
    44  
    45                 /// Returns the lowest LOD of the trunk. 
    46                 uint32 MinTrunkLod(); 
    47  
    48                 /// Returns de current foliage LOD and changes to the specified LOD. 
    49                 uint32 GoToFoliageLod(uint32); 
    50  
    51                 /// Returns de current trunk LOD and changes to the specified LOD. 
    52                 uint32 GoToTrunkLod(uint32); 
    53  
    54                 /// Establishes the new LOD range. 
    55                 /// Only the LODs in that range are stored and used. 
    56                 void TrimFoliageByLod(uint32, uint32); 
    57  
    58                 /// Establishes the new LOD range. 
    59                 /// Only the LODs in that range are stored and used. 
    60                 void TrimTrunkByLod(uint32, uint32); 
    61  
    62                 /// Returns the number of triangles of the foliage at the highest LOD. 
    63                 uint32 MaxFoliageFaces(); 
    64  
    65                 /// Returns the number of triangles of the trunk at the highest LOD. 
    66                 uint32 MaxTrunkFaces(); 
    67  
    68                 /// Returns the number of triangles of the foliage at the lowest LOD. 
    69                 uint32 MinFoliageFaces(); 
    70  
    71                 /// Returns the number of triangles of the trunk at the lowest LOD. 
    72                 uint32 MinTrunkFaces(); 
    73  
    74                 /// Returns the number of vertices of the foliage at the highest LOD. 
    75                 uint32 MaxFoliageVertices(); 
    76  
    77                 /// Returns the number of vertices of the trunk at the highest LOD. 
    78                 uint32 MaxTrunkVertices(); 
    79  
    80                 /// Returns the number of vertices of the foliage at the lowest LOD. 
    81                 uint32 MinFoliageVertices(); 
    82  
    83                 /// Returns the number of vertices of the trunk at the lowest LOD. 
    84                 uint32 MinTrunkVertices(); 
     64        private: 
     65                uint32 uniqueID; 
     66                Geometry::LodStripsLibrary *trunk; 
     67//              Arbol *arbol; 
     68//              Foliage *foliage; 
    8569 
    8670        }; 
    8771} 
     72 
     73#endif 
Note: See TracChangeset for help on using the changeset viewer.