[138] | 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 |
---|