Easy3D 2.5.3
|
Detects/Removes duplicate and folding faces for a triangle mesh. More...
#include <easy3d/algo_ext/overlapping_faces.h>
Public Member Functions | |
void | detect (SurfaceMesh *mesh, std::vector< std::pair< SurfaceMesh::Face, SurfaceMesh::Face > > &duplicate_faces, std::vector< std::pair< SurfaceMesh::Face, SurfaceMesh::Face > > &folding_faces, double dist_threshold=1e-6) |
Detects duplicate faces and folding faces. More... | |
unsigned int | remove (SurfaceMesh *mesh, bool folding_faces=false, double dist_threshold=1e-6) |
Removes duplicate faces and and folding faces. More... | |
Detects/Removes duplicate and folding faces for a triangle mesh.
void detect | ( | SurfaceMesh * | mesh, |
std::vector< std::pair< SurfaceMesh::Face, SurfaceMesh::Face > > & | duplicate_faces, | ||
std::vector< std::pair< SurfaceMesh::Face, SurfaceMesh::Face > > & | folding_faces, | ||
double | dist_threshold = 1e-6 |
||
) |
Detects duplicate faces and folding faces.
Two triangle faces are said duplicate if they have the same geometry (vertices within a distance threshold). Two triangle faces are said folding if they are coplanar, share one edge (i.e., have the same edge geometry), and partially overlap.
mesh | The input surface mesh. |
duplicate_faces | Returns the duplicate face pairs found. |
folding_faces | Returns the folding face pairs found. |
dist_threshold | Two vertices are considered coincident if there distance is smaller than it. |
unsigned int remove | ( | SurfaceMesh * | mesh, |
bool | folding_faces = false , |
||
double | dist_threshold = 1e-6 |
||
) |
Removes duplicate faces and and folding faces.
Two triangle faces are said duplicate if they have the same geometry (vertices within a distance threshold). Two triangle faces are said folding if they are coplanar, share one edge (i.e., have the same edge geometry), and partially overlap.
mesh | The input surface mesh. |
folding_faces | true also to remove folding faces. |