1 | #ifndef __GEO_LODSTRIPS_CONSTRUCTOR__
|
---|
2 | #define __GEO_LODSTRIPS_CONSTRUCTOR__
|
---|
3 |
|
---|
4 | #include "GeoMeshSimpSequence.h"
|
---|
5 | #include "GeoMesh.h"
|
---|
6 |
|
---|
7 | namespace Geometry
|
---|
8 | {
|
---|
9 | /// Construction module for general multiresolution models.
|
---|
10 | /** This module stores general mesh multiresolution representations using our own specific file format.
|
---|
11 | It takes as inputs the strips provided by the stripification module and the edge collapse sequence computed by the simplification module.
|
---|
12 | It builds a multiresolution representation and generates a LODStrips file.\n
|
---|
13 |
|
---|
14 | The LodStrips file begins with a line stating the name of the mesh file it refers to.
|
---|
15 | This filetype has three different kinds of records storing the information required for the multiresolution model. All the records of the same kind are output following the right order.
|
---|
16 |
|
---|
17 | Those lines starting with a 'd' include:\n
|
---|
18 |
|
---|
19 | -# Strip to modify.\n
|
---|
20 | -# Number of collapses.\n
|
---|
21 | -# Number of vertex repetitions.\n
|
---|
22 | -# Number of edge repetitions.\n
|
---|
23 | .
|
---|
24 | \n
|
---|
25 | Those beginning with a 'p' include the number of strips affected by a LOD change.\n\n
|
---|
26 |
|
---|
27 | And finally, the ones starting with a 'b' include all the information needed for collapses and repetitions.
|
---|
28 | \n\n
|
---|
29 | Inputs:\n
|
---|
30 | - A strip set provided by the stripification module (Geometry::Mesh class).\n
|
---|
31 | - An edge collapse sequence computed by the simplification module (Geometry::MeshSimplificationSequence class).
|
---|
32 | .
|
---|
33 | Outputs:\n
|
---|
34 | - The module writes a file with the LODStrips information.
|
---|
35 | - It also writes the LODStrips mesh into a file.
|
---|
36 | . */
|
---|
37 | class LodStripsConstructor : public Serializable
|
---|
38 | {
|
---|
39 | public:
|
---|
40 | /// Constructor, gets a stripified mesh and a simplification sequence, and generates the multiresolution model.
|
---|
41 | LodStripsConstructor(const Mesh *,const MeshSimplificationSequence *);
|
---|
42 |
|
---|
43 | /// Destructor
|
---|
44 | ~LodStripsConstructor(void);
|
---|
45 |
|
---|
46 | /// Copy constructor
|
---|
47 | //LodStripsConstructor(const LodStripsConstructor&);
|
---|
48 |
|
---|
49 | /// Assignment operator
|
---|
50 | //LodStripsConstructor& operator =(const LodStripsConstructor&);
|
---|
51 |
|
---|
52 | /// Saves the multiresolution model into a LODStrip file and the LODStrips mesh using the serializer given as a parameter.
|
---|
53 | void Save (Serializer &s);
|
---|
54 |
|
---|
55 | /// Load
|
---|
56 | void Load(Serializer &s);
|
---|
57 | };
|
---|
58 |
|
---|
59 | }
|
---|
60 |
|
---|
61 | #endif |
---|