Functions to repair polygon soups and polygon meshes.
|
template<typename PolygonMesh > |
bool | CGAL::Polygon_mesh_processing::is_non_manifold_vertex (typename boost::graph_traits< PolygonMesh >::vertex_descriptor v, const PolygonMesh &pm) |
| returns whether a vertex of a polygon mesh is non-manifold. More...
|
|
template<typename PolygonMesh , typename OutputIterator > |
OutputIterator | CGAL::Polygon_mesh_processing::non_manifold_vertices (const PolygonMesh &pm, OutputIterator out) |
| collects the non-manifold vertices (if any) present in the mesh. More...
|
|
template<typename PolygonMesh , typename NamedParameters > |
std::size_t | CGAL::Polygon_mesh_processing::duplicate_non_manifold_vertices (PolygonMesh &pm, const NamedParameters &np) |
| duplicates all the non-manifold vertices of the input mesh. More...
|
|
template<class PolygonMesh , class NamedParameter > |
void | CGAL::Polygon_mesh_processing::merge_duplicated_vertices_in_boundary_cycle (typename boost::graph_traits< PolygonMesh >::halfedge_descriptor h, PolygonMesh &pm, const NamedParameter &np) |
| merges identical vertices around a cycle of boundary edges. More...
|
|
template<class PolygonMesh , class NamedParameter > |
void | CGAL::Polygon_mesh_processing::merge_duplicated_vertices_in_boundary_cycles (PolygonMesh &pm, const NamedParameter &np) |
| extracts boundary cycles and merges the duplicated vertices of each cycle. More...
|
|
template<typename PolygonMesh , typename PointRange , typename PolygonRange , typename NamedParameters > |
void | CGAL::Polygon_mesh_processing::polygon_mesh_to_polygon_soup (const PolygonMesh &mesh, PointRange &points, PolygonRange &polygons, const NamedParameters &np) |
| adds the vertices and faces of a mesh into a (possibly non-empty) polygon soup. More...
|
|
template<typename PolygonRange > |
bool | CGAL::Polygon_mesh_processing::is_polygon_soup_a_polygon_mesh (const PolygonRange &polygons) |
| returns true if the soup of polygons defines a valid polygon mesh that can be handled by CGAL::Polygon_mesh_processing::polygon_soup_to_polygon_mesh() . More...
|
|
template<typename PolygonMesh , typename PointRange , typename PolygonRange , typename NamedParameters_PS , typename NamedParameters_PM > |
void | CGAL::Polygon_mesh_processing::polygon_soup_to_polygon_mesh (const PointRange &points, const PolygonRange &polygons, PolygonMesh &out, const NamedParameters_PS &np_ps, const NamedParameters_PM &np_pm) |
| builds a polygon mesh from a soup of polygons. More...
|
|
template<class PolygonMesh > |
std::size_t | CGAL::Polygon_mesh_processing::remove_isolated_vertices (PolygonMesh &pmesh) |
| removes the isolated vertices from any polygon mesh. More...
|
|
template<typename TriangleMesh , typename NamedParameters > |
std::size_t | CGAL::Polygon_mesh_processing::remove_connected_components_of_negligible_size (TriangleMesh &tmesh, const NamedParameters &np) |
| removes connected components whose area or volume is under a certain threshold value. More...
|
|
template<typename PointRange , typename PolygonRange > |
std::size_t | CGAL::Polygon_mesh_processing::remove_isolated_points_in_polygon_soup (PointRange &points, PolygonRange &polygons) |
| removes the isolated points from a polygon soup. More...
|
|
template<typename PointRange , typename PolygonRange , typename NamedParameters > |
std::size_t | CGAL::Polygon_mesh_processing::merge_duplicate_points_in_polygon_soup (PointRange &points, PolygonRange &polygons, const NamedParameters &np) |
| merges the duplicate points in a polygon soup. More...
|
|
template<typename PointRange , typename PolygonRange , typename NamedParameters > |
std::size_t | CGAL::Polygon_mesh_processing::merge_duplicate_polygons_in_polygon_soup (const PointRange &points, PolygonRange &polygons, const NamedParameters &np) |
| merges the duplicate polygons in a polygon soup. More...
|
|
template<typename PointRange , typename PolygonRange , typename NamedParameters > |
void | CGAL::Polygon_mesh_processing::repair_polygon_soup (PointRange &points, PolygonRange &polygons, const NamedParameters &np) |
| cleans a given polygon soup through various repairing operations. More...
|
|
template<typename PolygonMesh , typename NamedParameters > |
bool | CGAL::Polygon_mesh_processing::is_degenerate_edge (typename boost::graph_traits< PolygonMesh >::edge_descriptor e, const PolygonMesh &pm, const NamedParameters &np) |
| checks whether an edge is degenerate. More...
|
|
template<typename EdgeRange , typename TriangleMesh , typename OutputIterator , typename NamedParameters > |
OutputIterator | CGAL::Polygon_mesh_processing::degenerate_edges (const EdgeRange &edges, const TriangleMesh &tm, OutputIterator out, const NamedParameters &np) |
| collects the degenerate edges within a given range of edges. More...
|
|
template<typename TriangleMesh , typename OutputIterator , typename NamedParameters > |
OutputIterator | CGAL::Polygon_mesh_processing::degenerate_edges (const TriangleMesh &tm, OutputIterator out, const NamedParameters &np) |
| calls the function degenerate_edges() with the range: edges(tm) . More...
|
|
template<typename TriangleMesh , typename NamedParameters > |
bool | CGAL::Polygon_mesh_processing::is_degenerate_triangle_face (typename boost::graph_traits< TriangleMesh >::face_descriptor f, const TriangleMesh &tm, const NamedParameters &np) |
| checks whether a triangle face is degenerate. More...
|
|
template<typename FaceRange , typename TriangleMesh , typename OutputIterator , typename NamedParameters > |
OutputIterator | CGAL::Polygon_mesh_processing::degenerate_faces (const FaceRange &faces, const TriangleMesh &tm, OutputIterator out, const NamedParameters &np) |
| collects the degenerate faces within a given range of faces. More...
|
|
template<typename TriangleMesh , typename OutputIterator , typename NamedParameters > |
OutputIterator | CGAL::Polygon_mesh_processing::degenerate_faces (const TriangleMesh &tm, OutputIterator out, const NamedParameters &np) |
| calls the function degenerate_faces() with the range: faces(tm) . More...
|
|
template<typename TriangleMesh , typename NamedParameters > |
boost::graph_traits< TriangleMesh >::halfedge_descriptor | CGAL::Polygon_mesh_processing::is_needle_triangle_face (typename boost::graph_traits< TriangleMesh >::face_descriptor f, const TriangleMesh &tm, const double threshold, const NamedParameters &np) |
| checks whether a triangle face is needle. More...
|
|
template<typename TriangleMesh , typename NamedParameters > |
boost::graph_traits< TriangleMesh >::halfedge_descriptor | CGAL::Polygon_mesh_processing::is_cap_triangle_face (typename boost::graph_traits< TriangleMesh >::face_descriptor f, const TriangleMesh &tm, const double threshold, const NamedParameters &np) |
| checks whether a triangle face is a cap. More...
|
|
template<typename PolygonMesh , typename NamedParameters > |
std::size_t | CGAL::Polygon_mesh_processing::stitch_boundary_cycle (const typename boost::graph_traits< PolygonMesh >::halfedge_descriptor h, PolygonMesh &pmesh, const NamedParameters &np) |
| stitches together, whenever possible, two halfedges belonging to the boundary cycle described by the halfedge h . More...
|
|
template<typename BorderHalfedgeRange , typename PolygonMesh , typename NamedParameters > |
std::size_t | CGAL::Polygon_mesh_processing::stitch_boundary_cycles (const BorderHalfedgeRange &boundary_cycle_representatives, PolygonMesh &pmesh, const NamedParameters &np) |
| stitches together, whenever possible, two halfedges belonging to the same boundary cycle. More...
|
|
template<typename PolygonMesh , typename HalfedgePairsRange > |
std::size_t | CGAL::Polygon_mesh_processing::stitch_borders (PolygonMesh &pmesh, const HalfedgePairsRange &hedge_pairs_to_stitch) |
| stitches together border halfedges in a polygon mesh. More...
|
|
template<typename BorderHalfedgeRange , typename PolygonMesh , typename NamedParameters > |
std::size_t | CGAL::Polygon_mesh_processing::stitch_borders (const BorderHalfedgeRange &boundary_cycle_representatives, PolygonMesh &pmesh, const NamedParameters &np) |
| Same as the other overload, but the pairs of halfedges to be stitched are automatically found amongst all border halfedges. More...
|
|