cgal/Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt

97 lines
4.1 KiB
Plaintext

/// \defgroup PkgPolygonMeshProcessing Polygon Mesh Processing Reference
/// \defgroup PkgPolygonMeshProcessingConcepts Concepts
/// \ingroup PkgPolygonMeshProcessing
/// \defgroup stitching_grp CGAL::Polygon_mesh_processing::stitch_borders()
/// \ingroup PkgPolygonMeshProcessing
/// \defgroup reverse_face_orientations_grp CGAL::reverse_face_orientations()
/// \ingroup PkgPolygonMeshProcessing
/// \defgroup keep_connected_components_grp CGAL::keep_connected_components()
/// \ingroup PkgPolygonMeshProcessing
/// \defgroup remove_connected_components_grp CGAL::remove_connected_components()
/// \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{\ref PkgTriangulation3Summary, Sparse square solver such as those from \ref thirdpartyEigen}
\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()`
## 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()`
- `CGAL::Side_of_triangle_mesh`
## Orientation Functions ##
- `CGAL::Polygon_mesh_processing::is_outward_oriented()`
- `CGAL::Polygon_mesh_processing::reverse_face_orientations()`
## Combinatorial Repairing Functions ##
- \link stitching_grp `CGAL::Polygon_mesh_processing::stitch_borders()` \endlink
- `CGAL::Polygon_mesh_processing::polygon_soup_to_polygon_mesh()`
- `CGAL::Polygon_mesh_processing::orient_polygon_soup()`
- \link reverse_face_orientations_grp `CGAL::Polygon_mesh_processing::remove_degenerate_faces()` \endlink
## 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_largest_connected_components()`
- \link keep_connected_components_grp `CGAL::Polygon_mesh_processing::keep_connected_components()` \endlink
- \link remove_connected_components_grp `CGAL::Polygon_mesh_processing::remove_connected_components()` \endlink
## Miscellaneous ##
- `CGAL::Polygon_mesh_slicer`
\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
*/