reference documentation

This commit is contained in:
hoskillua 2023-11-07 11:06:50 +03:00
parent 41b726e12c
commit e37f5688ab
3 changed files with 50 additions and 7 deletions

View File

@ -60,6 +60,7 @@ Polygon_mesh_processing/geometric_repair Polygon Mesh Processing - Geometric Rep
Polygon_mesh_processing/miscellaneous Polygon Mesh Processing - Miscellaneous Polygon_mesh_processing/miscellaneous Polygon Mesh Processing - Miscellaneous
Polygon_mesh_processing/detect_features Polygon Mesh Processing - Feature Detection Polygon_mesh_processing/detect_features Polygon Mesh Processing - Feature Detection
Polygon_mesh_processing/collision_detection Polygon Mesh Processing - Collision Detection Polygon_mesh_processing/collision_detection Polygon Mesh Processing - Collision Detection
Polygon_mesh_processing/remeshing Polygon Mesh Processing - ACVD Simplification and Remeshing
Polyhedron 3D Polyhedral Surface Polyhedron 3D Polyhedral Surface
Polyline_simplification_2 2D Polyline Simplification Polyline_simplification_2 2D Polyline Simplification
Polytope_distance_d Optimal Distances Polytope_distance_d Optimal Distances

View File

@ -12,6 +12,10 @@
/// Functions to fill holes given as a range of halfedges or as range of points. /// Functions to fill holes given as a range of halfedges or as range of points.
/// \ingroup PkgPolygonMeshProcessingRef /// \ingroup PkgPolygonMeshProcessingRef
/// \defgroup PMP_acvd_grp ACVD Simplification
/// Functions to simplify and remesh triangle meshes based on Approximated Centroidal Voronoi Diagrams (ACVD) with a variety of metrics.
/// \ingroup PkgPolygonMeshProcessingRef
/// \defgroup PMP_meshing_grp Meshing /// \defgroup PMP_meshing_grp Meshing
/// Functions to triangulate faces, and to refine and fair regions of a polygon mesh. /// Functions to triangulate faces, and to refine and fair regions of a polygon mesh.
/// \ingroup PkgPolygonMeshProcessingRef /// \ingroup PkgPolygonMeshProcessingRef
@ -75,7 +79,7 @@
\cgalPkgPicture{hole_filling_ico.png} \cgalPkgPicture{hole_filling_ico.png}
\cgalPkgSummaryBegin \cgalPkgSummaryBegin
\cgalPkgAuthors{Sébastien Loriot, Mael Rouxel-Labbé, Jane Tournois, and Ilker %O. Yaz} \cgalPkgAuthors{Sébastien Loriot, Mael Rouxel-Labbé, Hossam Saeed, Jane Tournois, Sébastien Valette, and Ilker %O. Yaz}
\cgalPkgDesc{This package provides a collection of methods and classes for polygon mesh processing, \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 such as ranging from basic operations on simplices, to complex geometry processing algorithms such as
Boolean operations, remeshing, repairing, collision and intersection detection, and more.} Boolean operations, remeshing, repairing, collision and intersection detection, and more.}
@ -130,6 +134,10 @@ The page \ref bgl_namedparameters "Named Parameters" describes their usage.
- `CGAL::Polygon_mesh_processing::smooth_shape()` - `CGAL::Polygon_mesh_processing::smooth_shape()`
- `CGAL::Polygon_mesh_processing::random_perturbation()` - `CGAL::Polygon_mesh_processing::random_perturbation()`
\cgalCRPSection{ACVD Simplification Functions}
- \link PMP_acvd_grp `CGAL::Polygon_mesh_processing::acvd_isotropic_simplification()` \endlink
- \link PMP_acvd_grp `CGAL::Polygon_mesh_processing::acvd_isotropic_simplification_polygon_soup()` \endlink
\cgalCRPSection{Orientation Functions} \cgalCRPSection{Orientation Functions}
- `CGAL::Polygon_mesh_processing::orient_polygon_soup()` - `CGAL::Polygon_mesh_processing::orient_polygon_soup()`
- `CGAL::Polygon_mesh_processing::orient()` - `CGAL::Polygon_mesh_processing::orient()`

View File

@ -158,10 +158,6 @@ void upsample_subdivision_property(PolygonMesh& pmesh, const NamedParameters& np
// unordered_set of old vertices // unordered_set of old vertices
std::unordered_set<Vertex_descriptor> old_vertices; std::unordered_set<Vertex_descriptor> old_vertices;
// // make a copy of the property map
// typename VPCDM vpcd_map_new = get(CGAL::dynamic_vertex_property_t<Principal_curvatures_and_directions<GT>>(), pmesh);
bool curvatures_available = !is_default_parameter<NamedParameters, internal_np::vertex_principal_curvatures_and_directions_map_t>::value; bool curvatures_available = !is_default_parameter<NamedParameters, internal_np::vertex_principal_curvatures_and_directions_map_t>::value;
unsigned int step = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 1); unsigned int step = choose_parameter(get_parameter(np, internal_np::number_of_iterations), 1);
@ -703,7 +699,7 @@ std::pair<
} // namespace internal } // namespace internal
/** /**
* \ingroup ACVD_grp * \ingroup PMP_acvd_grp
* *
* Performs uniform (isotropic) centroidal voronoi diagram simplification on a polygon mesh. * Performs uniform (isotropic) centroidal voronoi diagram simplification on a polygon mesh.
* This can also be used for remeshing by setting the number of clusters to the desired number of vertices. * This can also be used for remeshing by setting the number of clusters to the desired number of vertices.
@ -718,6 +714,23 @@ std::pair<
* `GT` stands for the type of the object provided to the named parameter `geom_traits()`. * `GT` stands for the type of the object provided to the named parameter `geom_traits()`.
* *
* \cgalNamedParamsBegin * \cgalNamedParamsBegin
*
* \cgalParamNBegin{vertex_principal_curvatures_and_directions_map}
* \cgalParamDescription{a property map associating principal curvatures and directions to the vertices of `pmesh`, used for adaptive clustering.}
* \cgalParamType{a class model of `ReadWritePropertyMap` with
* `boost::graph_traits<PolygonMesh>::%vertex_descriptor`
* as key type and `Principal_curvatures_and_directions<GT>` as value type.}
* \cgalParamExtra{If this parameter is omitted, but `gradation_factor` is not (and is > 0), an internal property map
* will be created and curvature values will be computed.}
* \cgalParamNEnd
*
* \cgalParamNBegin{gradation_factor}
* \cgalParamDescription{a factor used to gradate the weights of the vertices based on their curvature values.}
* \cgalParamType{`GT::FT`}
* \cgalParamDefault{0}
* \cgalParamExtra{If this parameter is omitted, no adaptive clustering will be performed.}
* \cgalParamNEnd
*
* \cgalParamNBegin{vertex_point_map} * \cgalParamNBegin{vertex_point_map}
* \cgalParamDescription{a property map associating points to the vertices of `pmesh`.} * \cgalParamDescription{a property map associating points to the vertices of `pmesh`.}
* \cgalParamType{a class model of `ReadablePropertyMap` with * \cgalParamType{a class model of `ReadablePropertyMap` with
@ -737,6 +750,8 @@ std::pair<
* *
* \cgalNamedParamsEnd * \cgalNamedParamsEnd
* *
* @pre only triangle meshes are supported for now
* @return a pair of vectors of points and polygons representing the simplified mesh as a polygon soup
*/ */
template <typename PolygonMesh, template <typename PolygonMesh,
@ -758,7 +773,7 @@ std::pair<
} }
/** /**
* \ingroup ACVD_grp * \ingroup PMP_acvd_grp
* *
* Performs uniform (isotropic) centroidal voronoi diagram simplification on a polygon mesh. * Performs uniform (isotropic) centroidal voronoi diagram simplification on a polygon mesh.
* This can also be used for remeshing by setting the number of clusters to the desired number of vertices. * This can also be used for remeshing by setting the number of clusters to the desired number of vertices.
@ -773,6 +788,23 @@ std::pair<
* `GT` stands for the type of the object provided to the named parameter `geom_traits()`. * `GT` stands for the type of the object provided to the named parameter `geom_traits()`.
* *
* \cgalNamedParamsBegin * \cgalNamedParamsBegin
*
* \cgalParamNBegin{vertex_principal_curvatures_and_directions_map}
* \cgalParamDescription{a property map associating principal curvatures and directions to the vertices of `pmesh`, used for adaptive clustering.}
* \cgalParamType{a class model of `ReadWritePropertyMap` with
* `boost::graph_traits<PolygonMesh>::%vertex_descriptor`
* as key type and `Principal_curvatures_and_directions<GT>` as value type.}
* \cgalParamExtra{If this parameter is omitted, but `gradation_factor` is not (and is > 0), an internal property map
* will be created and curvature values will be computed.}
* \cgalParamNEnd
*
* \cgalParamNBegin{gradation_factor}
* \cgalParamDescription{a factor used to gradate the weights of the vertices based on their curvature values.}
* \cgalParamType{`GT::FT`}
* \cgalParamDefault{0}
* \cgalParamExtra{If this parameter is omitted, no adaptive clustering will be performed.}
* \cgalParamNEnd
*
* \cgalParamNBegin{vertex_point_map} * \cgalParamNBegin{vertex_point_map}
* \cgalParamDescription{a property map associating points to the vertices of `pmesh`.} * \cgalParamDescription{a property map associating points to the vertices of `pmesh`.}
* \cgalParamType{a class model of `ReadablePropertyMap` with * \cgalParamType{a class model of `ReadablePropertyMap` with
@ -792,6 +824,8 @@ std::pair<
* *
* \cgalNamedParamsEnd * \cgalNamedParamsEnd
* *
* @pre only triangle meshes are supported for now
* @return the simplified mesh as a PolygonMesh
*/ */
template <typename PolygonMesh, template <typename PolygonMesh,