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

Revision 774, 2.6 KB checked in by gumbau, 18 years ago (diff)

GTGeometry and GeoTool? initial imports

Line 
1#include "GeoBase.h"
2
3namespace 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
11Inputs:\n
12        - The module receives a file describing a multiresolution tree object.
13        .
14
15Outputs:\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        */
21        class LodTreeLibrary
22        {
23        public:
24                /// Constructor, receives as a parameter the name of the file including the multiresolution object.
25                LodTreeLibrary (std::string);
26
27                /// Destructor.
28                ~LodTreeLibrary (void);
29
30                /// Copy constructor
31                //LodTreeLibrary(const LodTreeLibrary&);
32
33                /// Assignment operator
34                //LodTreeLibrary& operator =(const LodTreeLibrary&);
35
36                /// Returns the highest LOD of the foliage.
37                uint32 MaxFoliageLod();
38
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();
85
86        };
87}
Note: See TracBrowser for help on using the repository browser.