From 72f82ca1ffd7b301ffe12dcab01e9f331824a65e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mael=20Rouxel-Labb=C3=A9?= Date: Wed, 18 Jan 2023 11:00:48 +0100 Subject: [PATCH] Describe what concepts are for --- .../Concepts/IsosurfacingDomainWithGradient_3.h | 4 ++++ .../Concepts/IsosurfacingDomain_3.h | 17 +++++++++++------ .../Concepts/IsosurfacingTraits_3.h | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingDomainWithGradient_3.h b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingDomainWithGradient_3.h index 5e790b5735c..c5e36386381 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingDomainWithGradient_3.h +++ b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingDomainWithGradient_3.h @@ -8,6 +8,10 @@ \brief The concept `IsosurfacingDomainWithGradient_3` describes the set of requirements to be fulfilled by any class used as input data for some isosurfacing algorithms. +This concept refines `IsosurfacingDomain_3` to add a `gradient()` function which is used +by isosurfacing domains to query the domain for the gradient of the implicit function +at a 3D point (not necessarily a vertex) in space. + \cgalHasModel `CGAL::Isosurfacing::Explicit_Cartesian_grid_domain_3` \cgalHasModel `CGAL::Isosurfacing::Implicit_Cartesian_grid_domain_3` */ diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingDomain_3.h b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingDomain_3.h index 35f6e2e6ab8..d90fe783b62 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingDomain_3.h +++ b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingDomain_3.h @@ -3,8 +3,13 @@ \cgalConcept -The concept `IsosurfacingDomain_3` describes the set of requirements to be -fulfilled by any class used as input data for any isosurfacing algorithms. +\brief The concept `IsosurfacingDomain_3` describes the set of requirements to be +fulfilled by any class used as input data for isosurfacing algorithms. + +A model of the concept `IsosurfacingDomain_3` provides a discrete representation +of an implicit function through a partition of the Euclidean space in cells. +The isosurfacing algorithms will traverse these cells and query the domain class +at the vertices of each cell, using the functions `point()` and `value()`. \cgalHasModel `CGAL::Isosurfacing::Explicit_Cartesian_grid_domain_3` \cgalHasModel `CGAL::Isosurfacing::Implicit_Cartesian_grid_domain_3` @@ -57,19 +62,19 @@ public: /*! A container for the cells incident to an edge. - Must be a model of the concept `Container` whose value type is `Cell_descriptor`. + Must be a model of the concept `Range` whose value type is `Cell_descriptor`. */ typedef unspecified_type Cells_incident_to_edge; /*! A container for the vertices of a cell. - Must be a model of the concept `Container` whose value type is `Vertex_descriptor`. + Must be a model of the concept `Range` whose value type is `Vertex_descriptor`. */ typedef unspecified_type Cell_vertices; /*! A container for the edges of a cell. - Must be a model of the concept `Container` whose value type is `Edge_descriptor`. + Must be a model of the concept `Range` whose value type is `Edge_descriptor`. */ typedef unspecified_type Cell_edges; @@ -91,7 +96,7 @@ public: Point_3 point(const Vertex_descriptor& v) const; /*! - gets the value of the function at a vertex + gets the value of the implicit function at a vertex */ FT value(const Vertex_descriptor& v) const; diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingTraits_3.h b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingTraits_3.h index 883737b880c..f654588763e 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingTraits_3.h +++ b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingTraits_3.h @@ -4,7 +4,7 @@ \cgalConcept The concept `IsosurfacingTraits_3` describes the set of requirements to be -fulfilled by any traits class of a model of `IsosurfacingDomain_3`. +fulfilled by the traits class of a model of `IsosurfacingDomain_3`. \cgalHasModel All models of `Kernel`. */