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.
|
|
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.
|
|
template<typename PolygonMesh , typename NamedParameters = parameters::Default_named_parameters> |
std::size_t | CGAL::Polygon_mesh_processing::duplicate_non_manifold_vertices (PolygonMesh &pm, const NamedParameters &np=parameters::default_values()) |
| duplicates all the non-manifold vertices of the input mesh.
|
|
template<class PolygonMesh , class NamedParameters = parameters::Default_named_parameters> |
void | CGAL::Polygon_mesh_processing::merge_duplicated_vertices_in_boundary_cycle (typename boost::graph_traits< PolygonMesh >::halfedge_descriptor h, PolygonMesh &pm, const NamedParameters &np=parameters::default_values()) |
| merges identical vertices around a cycle of boundary edges.
|
|
template<class PolygonMesh , class NamedParameters = parameters::Default_named_parameters> |
void | CGAL::Polygon_mesh_processing::merge_duplicated_vertices_in_boundary_cycles (PolygonMesh &pm, const NamedParameters &np=parameters::default_values()) |
| extracts boundary cycles and merges the duplicated vertices of each cycle.
|
|
template<typename PolygonMesh , typename PointRange , typename PolygonRange , typename NamedParameters = parameters::Default_named_parameters> |
void | CGAL::Polygon_mesh_processing::polygon_mesh_to_polygon_soup (const PolygonMesh &mesh, PointRange &points, PolygonRange &polygons, const NamedParameters &np=parameters::default_values()) |
| adds the vertices and faces of a mesh into a (possibly non-empty) polygon soup.
|
|
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() .
|
|
template<typename PolygonMesh , typename PointRange , typename PolygonRange , typename NamedParameters_PS = parameters::Default_named_parameters, typename NamedParameters_PM = parameters::Default_named_parameters> |
void | CGAL::Polygon_mesh_processing::polygon_soup_to_polygon_mesh (const PointRange &points, const PolygonRange &polygons, PolygonMesh &out, const NamedParameters_PS &np_ps=parameters::default_values(), const NamedParameters_PM &np_pm=parameters::default_values()) |
| builds a polygon mesh from a soup of polygons.
|
|
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.
|
|
template<typename PointRange , typename PolygonRange , typename NamedParameters = parameters::Default_named_parameters> |
std::size_t | CGAL::Polygon_mesh_processing::merge_duplicate_points_in_polygon_soup (PointRange &points, PolygonRange &polygons, const NamedParameters &np=parameters::default_values()) |
| merges the duplicate points in a polygon soup.
|
|
template<typename PointRange , typename PolygonRange , typename NamedParameters = parameters::Default_named_parameters> |
std::size_t | CGAL::Polygon_mesh_processing::merge_duplicate_polygons_in_polygon_soup (const PointRange &points, PolygonRange &polygons, const NamedParameters &np=parameters::default_values()) |
| merges the duplicate polygons in a polygon soup.
|
|
template<typename PointRange , typename PolygonRange , typename NamedParameters = parameters::Default_named_parameters> |
void | CGAL::Polygon_mesh_processing::repair_polygon_soup (PointRange &points, PolygonRange &polygons, const NamedParameters &np=parameters::default_values()) |
| cleans a given polygon soup through various repairing operations.
|
|
template<typename PolygonMesh , typename NamedParameters = CGAL::parameters::Default_named_parameters> |
std::size_t | CGAL::Polygon_mesh_processing::stitch_boundary_cycle (const typename boost::graph_traits< PolygonMesh >::halfedge_descriptor h, PolygonMesh &pmesh, const NamedParameters &np=parameters::default_values()) |
| stitches together, whenever possible, two halfedges belonging to the boundary cycle described by the halfedge h .
|
|
template<typename BorderHalfedgeRange , typename PolygonMesh , typename NamedParameters = CGAL::parameters::Default_named_parameters> |
std::size_t | CGAL::Polygon_mesh_processing::stitch_boundary_cycles (const BorderHalfedgeRange &boundary_cycle_representatives, PolygonMesh &pmesh, const NamedParameters &np=parameters::default_values()) |
| stitches together, whenever possible, two halfedges belonging to the same boundary cycle.
|
|
template<typename PolygonMesh , typename HalfedgePairsRange , typename NamedParameters = CGAL::parameters::Default_named_parameters> |
std::size_t | CGAL::Polygon_mesh_processing::stitch_borders (PolygonMesh &pmesh, const HalfedgePairsRange &hedge_pairs_to_stitch, const NamedParameters &np=parameters::default_values(), std::enable_if_t< boost::has_range_iterator< HalfedgePairsRange >::value > *=0) |
| stitches together border halfedges in a polygon mesh.
|
|
template<typename PolygonMesh , typename NamedParameters = CGAL::parameters::Default_named_parameters> |
std::size_t | CGAL::Polygon_mesh_processing::stitch_borders (PolygonMesh &pmesh, const NamedParameters &np=parameters::default_values()) |
| Same as the other overload, but the pairs of halfedges to be stitched are automatically found amongst all border halfedges.
|
|
template<typename BorderHalfedgeRange , typename PolygonMesh , typename NamedParameters = CGAL::parameters::Default_named_parameters> |
std::size_t | CGAL::Polygon_mesh_processing::stitch_borders (const BorderHalfedgeRange &boundary_cycle_representatives, PolygonMesh &pmesh, const NamedParameters &np=parameters::default_values()) |
| Same as the other overload, but the pairs of halfedges to be stitched are automatically found amongst halfedges in cycles described by boundary_cycle_representatives .
|
|