cgal/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt

130 lines
5.5 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 remeshing_grp Isotropic remeshing
/// \ingroup PkgPolygonMeshProcessing
/// \defgroup reverse_face_orientations_grp CGAL::reverse_face_orientations()
/// \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 PMP_orientation_grp Orientation Functions
/// \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
/*!
\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{Operations on Polyhedra,polyhedron_3.zip}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Parameters ##
Optional parameters of the functions of this package
are implemented as BGL named parameters.
The page \ref namedparameters 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_faces()`
- \link remeshing_grp `CGAL::Polygon_mesh_processing::isotropic_remeshing()` \endlink
- \link remeshing_grp `CGAL::Polygon_mesh_processing::split_long_edges()` \endlink
## 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 and Classes ##
- `CGAL::Polygon_mesh_processing::does_self_intersect()`
- `CGAL::Polygon_mesh_processing::self_intersections()`
## Orientation Functions ##
- `CGAL::Polygon_mesh_processing::is_outward_oriented()`
- \link reverse_face_orientations_grp `CGAL::Polygon_mesh_processing::reverse_face_orientations()` \endlink
- `CGAL::Polygon_mesh_processing::orient_polygon_soup()`
## Combinatorial Repairing Functions ##
- \link PMP_repairing_grp `CGAL::Polygon_mesh_processing::stitch_borders()` \endlink
- `CGAL::Polygon_mesh_processing::polygon_soup_to_polygon_mesh()`
## 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
## Miscellaneous ##
- `CGAL::Polygon_mesh_slicer`
- `CGAL::Side_of_triangle_mesh`
\todo make template parameter names uniform in other packages using BGL. Here we chose PolygonMesh as template parameter.
It can be made short to PM. And TriangleMesh (or TM) specifies when the parameter should be a triangle mesh.
\todo document `BGL/include/CGAL/boost/graph/selection.h`
\todo document `BGL/include/CGAL/boost/graph/split_graph_into_polylines.h`
\todo add in BGL `clear(pmesh)` and use it in `keep_largest_connected_components(pmesh, 0);`
\todo document BGL/include/CGAL/boost/graph/Dual.h and remove the example from dont_submit
\todo fix and restore remove_degenerate_faces in the user and the reference manual
\todo publish `is_polygon_soup_a_polygon_mesh` defined in `polygon_soup_to_polygon_mesh.h`
\todo publish `triangulate_face`. Can be helpful as a preprocessing for isotropic_remeshing
*/