From 66c441c2f859936cfb38d28bc2d35ff51c2a128e Mon Sep 17 00:00:00 2001 From: Daniel Zint Date: Fri, 16 Sep 2022 12:39:20 +0200 Subject: [PATCH] Add description of Dual Contouring. --- .../include/CGAL/Dual_contouring_3.h | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Isosurfacing_3/include/CGAL/Dual_contouring_3.h b/Isosurfacing_3/include/CGAL/Dual_contouring_3.h index 8de63d134c1..a993477f4c1 100644 --- a/Isosurfacing_3/include/CGAL/Dual_contouring_3.h +++ b/Isosurfacing_3/include/CGAL/Dual_contouring_3.h @@ -21,6 +21,28 @@ namespace CGAL { namespace Isosurfacing { +/** + * \ingroup PkgIsosurfacing3Ref + * + * \brief Creates an indexed face set that represents an isosurface using the Dual Contouring algorithm. + * + * \details + * + * \tparam ConcurrencyTag determines if the algorithm is executed sequentially or in parallel. + * + * \tparam Domain_ must be a model of `IsosurfacingDomain`. + * + * \tparam PointRange is a model of the concept `RandomAccessContainer` and `BackInsertionSequence` whose value type can + * be constructed from the point type of the polygon mesh. + * \tparam PolygonRange a model of the concept + * `RandomAccessContainer` and `BackInsertionSequence` whose value type is itself a model of the concepts + * `RandomAccessContainer` and `BackInsertionSequence` whose value type is `std::size_t`. + * + * \param domain the domain providing input data and its topology + * \param iso_value value of the isosurface + * \param points points making the polygons of the indexed face set + * \param polygons each element in the vector describes a polygon using the indices of the points in points + */ template > void dual_contouring(const Domain_& domain, const typename Domain_::FT iso_value, PointRange& points,