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.