|
Developer Documentation
|
Fix a mesh. More...
#include <Plugin-MeshRepair/MeshFixingT.hh>
Classes | |
| struct | Face |
| Internal face type. More... | |
| struct | Vertex |
| Internal vertex type. More... | |
Public Member Functions | |
| MeshFixing (MeshT &_mesh, double _epsilon) | |
| bool | fix () |
Private Types | |
|
typedef std::map< ACG::Vec3d, int, CompareVectors > | VertexMap |
| typedef VertexMap::iterator | MapIter |
Private Member Functions | |
| void | add_face (const ACG::Vec3d &_p0, const ACG::Vec3d &_p1, const ACG::Vec3d &_p2) |
| Add a face to the fixing data. More... | |
| void | fix_topology () |
| Fix the mesh topology. More... | |
| void | fix_orientation () |
| int | neighbor (unsigned int _f, unsigned int _v0, unsigned int _v1) |
| int | add_vertex (const ACG::Vec3d &_p) |
Private Attributes | |
| TriMesh & | mesh_ |
| std::vector< Vertex > | vertices_ |
| std::vector< Face > | faces_ |
| VertexMap | vmap_ |
Fix a mesh.
Definition at line 89 of file MeshFixingT.hh.
|
private |
Add a face to the fixing data.
Degenerated faces will already be discarded in this step
Definition at line 99 of file MeshFixingT.cc.
|
private |
Add a vertex to the map
| _p | New vertex |
Definition at line 93 of file MeshFixingT.cc.
|
private |
Tries to ensure that all faces in one component have the same orientation.
Definition at line 308 of file MeshFixingT.cc.
|
private |
Fix the mesh topology.
Separates all components that are incident to the vertices by adding new vertices. Required to always get a manifold configuration
Definition at line 142 of file MeshFixingT.cc.
|
private |
Get the neighbor
| _f | Current face |
| _v0 | Center vertex |
| _v1 | Test vertex |
Definition at line 271 of file MeshFixingT.cc.