mirror of https://github.com/CGAL/cgal
196 lines
8.8 KiB
Plaintext
196 lines
8.8 KiB
Plaintext
/// \defgroup PkgPolygonMeshProcessing Polygon Mesh Processing Reference
|
|
/// \defgroup PkgPolygonMeshProcessingConcepts Concepts
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
/// \defgroup keep_connected_components_grp Connected Components
|
|
///
|
|
/// Two faces are in the same <em>connected component</em> if there is a path
|
|
/// of adjacent faces such that all edges between two consecutive faces of the
|
|
/// path are not marked as constrained.
|
|
///
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
|
|
/// \defgroup hole_filling_grp Hole Filling
|
|
/// Functions to fill holes given as a range of halfedges or as range of points.
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
/// \defgroup PMP_meshing_grp Meshing
|
|
/// Functions to triangulate faces, and to refine and fair regions of a polygon mesh.
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
/// \defgroup PMP_normal_grp Normal Computation
|
|
/// Functions to compute unit normals for individual/all vertices or faces.
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
/// \defgroup measure_grp Geometric Measure Functions
|
|
/// Functions to compute lengths of edges and borders, areas of faces and patches, as well as volumes of closed meshes.
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
/// \defgroup PMP_orientation_grp Orientation Functions
|
|
/// Functions to compute or change the orientation of faces and surfaces.
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
/// \defgroup PMP_intersection_grp Intersection Functions
|
|
/// Functions to test if there are self intersections, and to report faces that do intersect.
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
/// \defgroup PMP_repairing_grp Combinatorial Repairing
|
|
/// Functions to orient polygon soups and to stitch geometrically identical boundaries.
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
/// \defgroup PMP_distance_grp Distance Functions
|
|
/// Functions to compute the distance between meshes, between a mesh and a point set and between a point set and a mesh.
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
/// \defgroup PMP_corefinement_grp Corefinement and Boolean Operations
|
|
/// Functions to corefine triangulated surface meshes and compute triangulated
|
|
/// surface meshes of the union, difference and intersection
|
|
/// of the bounded volumes.
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
/// \defgroup PMP_detect_features_grp Feature Detection Functions
|
|
/// Functions to detect sharp edges and surface patches of polygon meshes.
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
|
|
/// \defgroup PMP_predicates_grp Intersection Detection Functions
|
|
/// Functions to detect intersections.
|
|
/// Note that those functions will be exact as long as the underlying do-intersect predicates used are exact.
|
|
/// In practice, it means that the 3D point type used must come from a \cgal kernel with exact predicates.
|
|
/// \ingroup PkgPolygonMeshProcessing
|
|
/*!
|
|
\addtogroup PkgPolygonMeshProcessing
|
|
|
|
\cgalPkgDescriptionBegin{Polygon Mesh Processing, PkgPolygonMeshProcessingSummary}
|
|
\cgalPkgPicture{hole_filling_ico.png}
|
|
|
|
\cgalPkgSummaryBegin
|
|
\cgalPkgAuthor{Sébastien Loriot, Jane Tournois, Ilker %O. Yaz}
|
|
\cgalPkgDesc{This package provides
|
|
a collection of methods and classes for polygon mesh processing,
|
|
ranging from basic operations on simplices, to complex geometry processing algorithms.}
|
|
\cgalPkgManuals{Chapter_PolygonMeshProcessing,PkgPolygonMeshProcessing}
|
|
\cgalPkgSummaryEnd
|
|
|
|
\cgalPkgShortInfoBegin
|
|
\cgalPkgSince{4.7}
|
|
\cgalPkgDependsOn{documented for each function; \ref PkgSolverSummary}
|
|
\cgalPkgBib{cgal:lty-pmp}
|
|
\cgalPkgLicense{\ref licensesGPL "GPL"}
|
|
\cgalPkgDemo{Polyhedron demo,polyhedron_3.zip}
|
|
\cgalPkgShortInfoEnd
|
|
|
|
\cgalPkgDescriptionEnd
|
|
|
|
|
|
\cgalClassifedRefPages
|
|
|
|
## Parameters ##
|
|
|
|
Optional parameters of the functions of this package
|
|
are implemented as \ref BGLNamedParameters.
|
|
The page \ref pmp_namedparameters "Named Parameters" describes their usage
|
|
and provides a list of the parameters that are used in this package.
|
|
|
|
## Meshing Functions ##
|
|
- `CGAL::Polygon_mesh_processing::fair()`
|
|
- `CGAL::Polygon_mesh_processing::refine()`
|
|
- `CGAL::Polygon_mesh_processing::triangulate_face()`
|
|
- `CGAL::Polygon_mesh_processing::triangulate_faces()`
|
|
- \link PMP_meshing_grp `CGAL::Polygon_mesh_processing::isotropic_remeshing()` \endlink
|
|
- \link PMP_meshing_grp `CGAL::Polygon_mesh_processing::split_long_edges()` \endlink
|
|
- `CGAL::Polygon_mesh_processing::random_perturbation()`
|
|
- `CGAL::Polygon_mesh_processing::extrude_mesh()`
|
|
|
|
## Hole Filling Functions ##
|
|
- `CGAL::Polygon_mesh_processing::triangulate_hole()`
|
|
- `CGAL::Polygon_mesh_processing::triangulate_and_refine_hole()`
|
|
- `CGAL::Polygon_mesh_processing::triangulate_refine_and_fair_hole()`
|
|
- `CGAL::Polygon_mesh_processing::triangulate_hole_polyline()`
|
|
|
|
## Predicate Functions ##
|
|
- `CGAL::Polygon_mesh_processing::does_self_intersect()`
|
|
- `CGAL::Polygon_mesh_processing::self_intersections()`
|
|
- \link PMP_predicates_grp `CGAL::Polygon_mesh_processing::do_intersect()` \endlink
|
|
- `CGAL::Polygon_mesh_processing::intersecting_meshes()`
|
|
- `CGAL::Polygon_mesh_processing::is_degenerate_edge()`
|
|
- `CGAL::Polygon_mesh_processing::degenerate_edges()`
|
|
- `CGAL::Polygon_mesh_processing::is_degenerate_triangle_face()`
|
|
- `CGAL::Polygon_mesh_processing::degenerate_faces()`
|
|
- `CGAL::Polygon_mesh_processing::is_needle_triangle_face()`
|
|
- `CGAL::Polygon_mesh_processing::is_cap_triangle_face()`
|
|
|
|
## Orientation Functions ##
|
|
- `CGAL::Polygon_mesh_processing::orient_polygon_soup()`
|
|
- `CGAL::Polygon_mesh_processing::orient()`
|
|
- `CGAL::Polygon_mesh_processing::orient_to_bound_a_volume()`
|
|
- `CGAL::Polygon_mesh_processing::is_outward_oriented()`
|
|
- `CGAL::Polygon_mesh_processing::reverse_face_orientations()`
|
|
|
|
## Combinatorial Repairing Functions ##
|
|
- \link PMP_repairing_grp `CGAL::Polygon_mesh_processing::stitch_borders()` \endlink
|
|
- `CGAL::Polygon_mesh_processing::is_polygon_soup_a_polygon_mesh()`
|
|
- `CGAL::Polygon_mesh_processing::polygon_soup_to_polygon_mesh()`
|
|
- `CGAL::Polygon_mesh_processing::remove_isolated_vertices()`
|
|
- `CGAL::Polygon_mesh_processing::is_non_manifold_vertex()`
|
|
- `CGAL::Polygon_mesh_processing::duplicate_non_manifold_vertices()`
|
|
- `CGAL::Polygon_mesh_processing::merge_duplicated_vertices_in_boundary_cycle()`
|
|
- `CGAL::Polygon_mesh_processing::merge_duplicated_vertices_in_boundary_cycles()`
|
|
|
|
## Normal Computation Functions ##
|
|
- `CGAL::Polygon_mesh_processing::compute_face_normal()`
|
|
- `CGAL::Polygon_mesh_processing::compute_face_normals()`
|
|
- `CGAL::Polygon_mesh_processing::compute_vertex_normal()`
|
|
- `CGAL::Polygon_mesh_processing::compute_vertex_normals()`
|
|
- `CGAL::Polygon_mesh_processing::compute_normals()`
|
|
|
|
## Connected Components ##
|
|
- `CGAL::Polygon_mesh_processing::connected_component()`
|
|
- `CGAL::Polygon_mesh_processing::connected_components()`
|
|
- `CGAL::Polygon_mesh_processing::keep_large_connected_components()`
|
|
- `CGAL::Polygon_mesh_processing::keep_largest_connected_components()`
|
|
- \link keep_connected_components_grp `CGAL::Polygon_mesh_processing::keep_connected_components()` \endlink
|
|
- \link keep_connected_components_grp `CGAL::Polygon_mesh_processing::remove_connected_components()` \endlink
|
|
|
|
## Corefinement and Boolean Operation Functions ##
|
|
- `CGAL::Polygon_mesh_processing::corefine_and_compute_union()`
|
|
- `CGAL::Polygon_mesh_processing::corefine_and_compute_difference()`
|
|
- `CGAL::Polygon_mesh_processing::corefine_and_compute_intersection()`
|
|
- `CGAL::Polygon_mesh_processing::corefine_and_compute_boolean_operations()`
|
|
- `CGAL::Polygon_mesh_processing::corefine()`
|
|
- `CGAL::Polygon_mesh_processing::surface_intersection()`
|
|
- `CGAL::Polygon_mesh_processing::clip()`
|
|
- `CGAL::Polygon_mesh_processing::does_bound_a_volume()`
|
|
|
|
## Geometric Measure Functions ##
|
|
- \link measure_grp `CGAL::Polygon_mesh_processing::face_area()` \endlink
|
|
- \link measure_grp `CGAL::Polygon_mesh_processing::area()` \endlink
|
|
- \link measure_grp `CGAL::Polygon_mesh_processing::volume()` \endlink
|
|
- \link measure_grp `CGAL::Polygon_mesh_processing::edge_length()` \endlink
|
|
- \link measure_grp `CGAL::Polygon_mesh_processing::face_border_length()` \endlink
|
|
|
|
## Distance Functions ##
|
|
- `CGAL::Polygon_mesh_processing::approximate_Hausdorff_distance()`
|
|
- `CGAL::Polygon_mesh_processing::approximate_symmetric_Hausdorff_distance()`
|
|
- `CGAL::Polygon_mesh_processing::approximate_max_distance_to_point_set()`
|
|
- `CGAL::Polygon_mesh_processing::max_distance_to_triangle_mesh()`
|
|
- `CGAL::Polygon_mesh_processing::sample_triangle_mesh()`
|
|
|
|
## Feature Detection Functions ##
|
|
- `CGAL::Polygon_mesh_processing::sharp_edges_segmentation()`
|
|
- `CGAL::Polygon_mesh_processing::detect_sharp_edges()`
|
|
- `CGAL::Polygon_mesh_processing::detect_vertex_incident_patches()`
|
|
|
|
## Miscellaneous ##
|
|
- `CGAL::Polygon_mesh_slicer`
|
|
- `CGAL::Side_of_triangle_mesh`
|
|
- `CGAL::Polygon_mesh_processing::bbox()`
|
|
- `CGAL::Polygon_mesh_processing::vertex_bbox()`
|
|
- `CGAL::Polygon_mesh_processing::edge_bbox()`
|
|
- `CGAL::Polygon_mesh_processing::face_bbox()`
|
|
- `CGAL::Polygon_mesh_processing::border_halfedges()`
|
|
- `CGAL::Polygon_mesh_processing::extract_boundary_cycles()`
|
|
- `CGAL::Polygon_mesh_processing::transform()`
|
|
|
|
*/
|