Sébastien Loriot, Jane Tournois, Ilker O. Yaz
This package provides a collection of methods and classes for polygon mesh processing, ranging from basic operations on simplices, to complex geometry processing algorithms.
Parameters
Optional parameters of the functions of this package are implemented as BGL named parameters. The page Named Parameters describes their usage and provides a list of the parameters that are used in this package.
Meshing Functions
Hole Filling Functions
Predicate Functions
Orientation Functions
Combinatorial Repairing Functions
Normal Computation Functions
Connected Components
Geometric Measure functions
Miscellaneous
|
| Named Parameters |
| How to use BGL Optional Named Parameters
|
|
| Concepts |
|
| Connected Components |
| Two faces are in the same connected component if there is a path of adjacent faces such that all edges between two consecutive faces of the path are not marked as constrained.
|
|
| Hole Filling |
| Functions to fill holes given as a range of halfedges or as range of points.
|
|
| Meshing |
| Functions to triangulate faces, and to refine and fair regions of a polygon mesh.
|
|
| Normal Computation |
| Functions to compute unit normals for individual/all vertices or faces.
|
|
| Geometric Measure Functions |
| Functions to compute lengths of edges and borders, areas of faces and patches, as well as volunes of closed meshes.
|
|
| Intersection Functions |
| Functions to test if there are self intersections, and to report faces that do intersect.
|
|
| Combinatorial Repairing |
| Functions to orient polygon soups and to stitch geometrically identical boundaries.
|
|
template<typename PolygonMesh , typename NamedParameters >
CGAL::Bbox_3 CGAL::Polygon_mesh_processing::bbox_3 |
( |
const PolygonMesh & |
pmesh, |
|
|
const NamedParameters & |
np |
|
) |
| |
computes a bounding box of a polygon mesh.
- Template Parameters
-
- Parameters
-
pmesh | a polygon mesh |
np | optional sequence of Named Parameters among the ones listed below |
- Named Parameters
vertex_point_map | the property map with the points associated to the vertices of pmesh |
- Returns
- a bounding box of
pmesh
#include <CGAL/Polygon_mesh_processing/bbox.h>
template<typename PolygonMesh , typename FaceRange , typename HalfedgeOutputIterator , typename NamedParameters >
HalfedgeOutputIterator CGAL::Polygon_mesh_processing::border_halfedges |
( |
const FaceRange & |
faces, |
|
|
const PolygonMesh & |
pmesh, |
|
|
HalfedgeOutputIterator |
out, |
|
|
const NamedParameters & |
np |
|
) |
| |
collects the border of a surface patch defined as a face range.
The border is "seen from inside" the patch, i.e. the collected halfedges are the ones that belong to the input faces.
- Template Parameters
-
PolygonMesh | model of HalfedgeGraph |
FaceRange | range of boost::graph_traits<PolygonMesh>::face_descriptor , model of Range . Its iterator type is InputIterator . |
HalfedgeOutputIterator | model of OutputIterator holding boost::graph_traits<PolygonMesh>::halfedge_descriptor for patch border |
NamedParameters | a sequence of Named Parameters |
- Parameters
-
pmesh | the polygon mesh to which faces belong |
faces | the range of faces defining the patch around which the border is collected |
out | the output iterator that collects halfedges that form the border of faces , seen from inside the surface patch |
np | optional sequence of Named Parameters among the ones listed below |
- Named Parameters
face_index_map | a property map containing the index of each face of pmesh |
- Returns
out
#include <CGAL/Polygon_mesh_processing/border.h>
- Examples:
- Polygon_mesh_processing/isotropic_remeshing_example.cpp.
template<class PolygonMesh >
std::size_t CGAL::Polygon_mesh_processing::remove_isolated_vertices |
( |
PolygonMesh & |
pmesh) | |
|
removes the isolated vertices from any polygon mesh.
A vertex is considered isolated if it is not incident to any simplex of higher dimension.
- Template Parameters
-
- Parameters
-
pmesh | the polygon mesh to be repaired |
- Returns
- number of removed isolated vertices
#include <CGAL/Polygon_mesh_processing/repair.h>