CGAL 4.7 - Polygon Mesh Processing
|
Functions | |
template<typename PolygonMesh , typename HalfedgePairsRange , typename NamedParameters > | |
void | CGAL::Polygon_mesh_processing::stitch_borders (PolygonMesh &pmesh, const HalfedgePairsRange &hedge_pairs_to_stitch, const NamedParameters &np) |
Stitches together border halfedges in a polygon mesh. More... | |
template<typename PolygonMesh , class NamedParameters > | |
void | CGAL::Polygon_mesh_processing::stitch_borders (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... | |
void CGAL::Polygon_mesh_processing::stitch_borders | ( | PolygonMesh & | pmesh, |
const HalfedgePairsRange & | hedge_pairs_to_stitch, | ||
const NamedParameters & | np | ||
) |
Stitches together border halfedges in a polygon mesh.
The halfedges to be stitched are provided in hedge_pairs_to_stitch
. For each pair p
in this vector, p.second and its opposite will be removed from pmesh
.
The vertices that get removed from pmesh
are selected as follows: The pair of halfedges in hedge_pairs_to_stitch
are processed linearly. Let p
be such a pair. If the target of p.first
has not been marked for deletion, then the source of p.second
is. If the target of p.second
has not been marked for deletion, then the source of p.first
is. A vertex is marked for deletion if its corresponding point has already be seen with a vertex previously handled.
hedge_pairs_to_stitch
, the corresponding edge is neither degenerated nor incident to a degenerate edge.PolygonMesh | a model of FaceListGraph and MutableFaceGraph that has a property map for boost::vertex_point_t |
HalfedgePairsRange | a range of std::pair<boost::graph_traits<PolygonMesh>::halfedge_descriptor, boost::graph_traits<PolygonMesh>::halfedge_descriptor> , model of Range . Its iterator type is InputIterator . |
NamedParameters | a sequence of Named Parameters |
pmesh | the polygon mesh to be modified by stitching |
hedge_pairs_to_stitch | a range of std::pair of halfedges to be stitched together |
np | optional Named Parameters described below |
vertex_point_map | the property map with the points associated to the vertices of pmesh |
#include <CGAL/Polygon_mesh_processing/stitch_borders.h>
void CGAL::Polygon_mesh_processing::stitch_borders | ( | 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.
Two border halfedges h1
and h2
are set to be stitched if the points associated to the source and target vertices of h1
are the same as those of the target and source vertices of h2
respectively.
pmesh
does not contains any degenerate border edge.PolygonMesh | a model of FaceListGraph and MutableFaceGraph that has a property map for boost::vertex_point_t |
NamedParameters | a sequence of Named Parameters |
pmesh | the polygon mesh to be modified by stitching |
np | optional sequence of Named Parameters among the ones listed below |
vertex_point_map | the property map with the points associated to the vertices of pmesh |
#include <CGAL/Polygon_mesh_processing/stitch_borders.h>