40#ifndef GEOGRAM_MESH_MESH_REPAIR
41#define GEOGRAM_MESH_MESH_REPAIR
85 double colocate_epsilon = 0.0
163 double colocate_epsilon=0.0
203 Mesh& M,
double colocate_epsilon=0.0
216 Mesh& M,
bool check_duplicates=
true
Common include file, providing basic definitions. Should be included before anything else by all head...
Vector with aligned memory allocation.
Types and functions for memory manipulation.
Global Vorpaline namespace.
void mesh_postprocess_RDT(Mesh &M)
Post-processes a Restricted Delaunay Triangulation.
void mesh_reorient(Mesh &M, vector< index_t > *moebius_facets=nullptr)
Reorients the facets of a mesh coherently.
void mesh_remove_bad_facets_no_check(Mesh &M, bool check_duplicates=true)
Removes the degenerate and the duplicated facets in a surface mesh.
void mesh_detect_degenerate_facets(const Mesh &M, vector< index_t > &f_is_degenerate)
Detects degenerate facets in a mesh.
MeshRepairMode
Determines the operating mode of mesh_repair(). The flags can be combined with the 'bitwise or' (|) o...
@ MESH_REPAIR_TRIANGULATE
@ MESH_REPAIR_RECONSTRUCT
void mesh_detect_isolated_vertices(const Mesh &M, vector< index_t > &v_is_isolated)
Detects isolated vertices in a mesh.
void mesh_connect_and_reorient_facets_no_check(Mesh &M)
Connects the facets and consistently orient manifold components.
void mesh_detect_colocated_vertices(const Mesh &M, vector< index_t > &v_colocated_index, double colocate_epsilon=0.0)
Detects colocated vertices in a mesh.
void mesh_colocate_vertices_no_check(Mesh &M, double colocate_epsilon=0.0)
Merges the vertices of a mesh that are at the same geometric location.
void mesh_repair(Mesh &M, MeshRepairMode mode=MESH_REPAIR_DEFAULT, double colocate_epsilon=0.0)
Fixes some defaults in a mesh.