diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/EdgeIntersectionOracle_3.h b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingEdgeIntersectionOracle_3.h similarity index 91% rename from Isosurfacing_3/doc/Isosurfacing_3/Concepts/EdgeIntersectionOracle_3.h rename to Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingEdgeIntersectionOracle_3.h index 91fff4bd7ef..8fc7e9e0c1c 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/EdgeIntersectionOracle_3.h +++ b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingEdgeIntersectionOracle_3.h @@ -3,7 +3,7 @@ \cgalConcept -The concept `EdgeIntersectionOracle_3` describes the requirements for the edge-isosurface +The concept `IsosurfacingEdgeIntersectionOracle_3` describes the requirements for the edge-isosurface intersection oracle template parameter of the domain classes `CGAL::Isosurfacing::Marching_cubes_domain_3` and `CGAL::Isosurfacing::Dual_contouring_domain_3`. @@ -13,7 +13,7 @@ intersection oracle template parameter of the domain classes \cgalHasModels{CGAL::Isosurfacing::Linear_interpolation_edge_intersection} \cgalHasModelsEnd */ -class EdgeIntersectionOracle_3 +class IsosurfacingEdgeIntersectionOracle_3 { public: /*! diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/GradientField_3.h b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingGradientField_3.h similarity index 84% rename from Isosurfacing_3/doc/Isosurfacing_3/Concepts/GradientField_3.h rename to Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingGradientField_3.h index 682e4d8ca66..f17108756ea 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/GradientField_3.h +++ b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingGradientField_3.h @@ -3,7 +3,7 @@ \cgalConcept -The concept `GradientField_3` describes the set of requirements to be fulfilled +The concept `IsosurfacingGradientField_3` describes the set of requirements to be fulfilled by the gradient field template parameter of the domain class `CGAL::Isosurfacing::Dual_contouring_domain_3`. Gradient fields must be continuous and defined over the geometric span of the @@ -16,9 +16,9 @@ space partitioning data structure (also known as "partition") being used. \cgalHasModelsEnd \sa `IsosurfacingTraits_3` -\sa `ValueField_3` +\sa `IsosurfacingValueField_3` */ -class GradientField_3 +class IsosurfacingGradientField_3 { public: /*! diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/InterpolationScheme_3.h b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingInterpolationScheme_3.h similarity index 92% rename from Isosurfacing_3/doc/Isosurfacing_3/Concepts/InterpolationScheme_3.h rename to Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingInterpolationScheme_3.h index 5c2f4d1b418..ff027af527c 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/InterpolationScheme_3.h +++ b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingInterpolationScheme_3.h @@ -5,14 +5,14 @@ \cgalRefines{DefaultConstructible, CopyConstructible, Assignable} -The concept `InterpolationScheme_3` describes the set of requirements to be fulfilled +The concept `IsosurfacingInterpolationScheme_3` describes the set of requirements to be fulfilled by the interpolation scheme template parameter of the domain classes `CGAL::Isosurfacing::Interpolated_discrete_values_3` and `CGAL::Isosurfacing::Interpolated_discrete_gradients_3`. \cgalHasModelsBegin \cgalHasModels{CGAL::Isosurfacing::Trilinear_interpolation} \cgalHasModelsEnd */ -class InterpolationScheme_3 +class IsosurfacingInterpolationScheme_3 { public: /*! diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/Partition_3.h b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingPartition_3.h similarity index 86% rename from Isosurfacing_3/doc/Isosurfacing_3/Concepts/Partition_3.h rename to Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingPartition_3.h index ef18a3a29d1..6ddedee6c0f 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/Partition_3.h +++ b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingPartition_3.h @@ -3,7 +3,7 @@ \cgalConcept -The concept `Partition_3` describes the set of requirements to be fulfilled +The concept `IsosurfacingPartition_3` describes the set of requirements to be fulfilled by the partition template parameter of the domain classes `CGAL::Isosurfacing::Marching_cubes_domain_3` and `CGAL::Isosurfacing::Dual_contouring_domain_3`. @@ -17,7 +17,7 @@ This is similar to graph traits in \ref PkgBGL. \cgalHasModels{`CGAL::Isosurfacing::Cartesian_grid_3`} \cgalHasModelsEnd */ -class Partition_3 +class IsosurfacingPartition_3 { public: /*! @@ -30,4 +30,4 @@ public: * \returns the geometric traits. */ Geom_traits geom_traits(); -}; \ No newline at end of file +}; diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/ValueField_3.h b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingValueField_3.h similarity index 80% rename from Isosurfacing_3/doc/Isosurfacing_3/Concepts/ValueField_3.h rename to Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingValueField_3.h index 3ddb6d8bdce..95ee7bbb9e1 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/ValueField_3.h +++ b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/IsosurfacingValueField_3.h @@ -3,7 +3,7 @@ \cgalConcept -The concept `ValueField_3` describes the set of requirements to be fulfilled +The concept `IsosurfacingValueField_3` describes the set of requirements to be fulfilled by the value field template parameter of the domain classes `CGAL::Isosurfacing::Marching_cubes_domain_3` and `CGAL::Isosurfacing::Dual_contouring_domain_3`. Value fields must be continuous and defined over the geometric span of the @@ -15,9 +15,9 @@ space partitioning data structure (also known as "partition") being used. \cgalHasModelsEnd \sa `IsosurfacingTraits_3` -\sa `GradientField_3` +\sa `IsosurfacingGradientField_3` */ -class ValueField_3 +class IsosurfacingValueField_3 { public: /*! @@ -31,7 +31,7 @@ public: typedef unspecified_type Point_3; /*! - * A descriptor that uniquely identifies a vertex (see `Partition_3`). + * A descriptor that uniquely identifies a vertex (see `IsosurfacingPartition_3`). */ typedef unspecified_type Vertex_descriptor; diff --git a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/partition_traits.h b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/partition_traits.h index 6dc11a73e1e..2d4446910c0 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/Concepts/partition_traits.h +++ b/Isosurfacing_3/doc/Isosurfacing_3/Concepts/partition_traits.h @@ -4,19 +4,17 @@ namespace Isosurfacing { /*! * \ingroup PkgIsosurfacing3Concepts * - * \cgalConcept + * \relates IsosurfacingPartition_3 * - * \relates Partition_3 - * - * The class `partition_traits` is the API compatibility layer between a model of `Partition_3` + * The class `partition_traits` is the API compatibility layer between a model of `IsosurfacingPartition_3` * and the isosurfacing domain classes `CGAL::Isosurfacing::Marching_cubes_domain_3` and * `CGAL::Isosurfacing::Dual_contouring_domain_3`. * - * For each model of `Partition_3`, a partial specialization of `partition_traits` must be provided, + * For each model of `IsosurfacingPartition_3`, a partial specialization of `partition_traits` must be provided, * providing the types and functions listed below. Such a partial specialization is provided * for `CGAL::Isosurfacing::Cartesian_grid_3`. */ -template +template class partition_traits { public: @@ -62,27 +60,27 @@ public: /*! * \returns the 3D position of the vertex `v`. */ - static Point_3 point(const Vertex_descriptor& v, const Partition_3& partition); + static Point_3 point(const Vertex_descriptor& v, const IsosurfacingPartition_3& partition); /*! * \returns the two vertices incident to the edge `e`. */ - static Vertices_incident_to_edge incident_vertices(const Edge_descriptor& e, const Partition_3& partition); + static Vertices_incident_to_edge incident_vertices(const Edge_descriptor& e, const IsosurfacingPartition_3& partition); /*! * \returns all the cells incident to the edge `e`, in a geometrically ordered manner around the edge. */ - static Cells_incident_to_edge incident_cells(const Edge_descriptor& e, const Partition_3& partition); + static Cells_incident_to_edge incident_cells(const Edge_descriptor& e, const IsosurfacingPartition_3& partition); /*! * \returns all the vertices of the cell `c`. */ - static Cell_vertices cell_vertices(const Cell_descriptor& c, const Partition_3& partition); + static Cell_vertices cell_vertices(const Cell_descriptor& c, const IsosurfacingPartition_3& partition); /*! * \returns all the edges of the cell `c`. */ - static Cell_edges cell_edges(const Cell_descriptor& c, const Partition_3& partition); + static Cell_edges cell_edges(const Cell_descriptor& c, const IsosurfacingPartition_3& partition); /*! * iterates over all vertices, and calls the functor `f` on each one. @@ -95,7 +93,7 @@ public: * \param partition the partition whose vertices are being iterated */ template - static void for_each_vertex(Functor& f, const Partition_3& partition); + static void for_each_vertex(Functor& f, const IsosurfacingPartition_3& partition); /*! * iterates over all edges, and calls the functor `f` on each one. @@ -108,7 +106,7 @@ public: * \param partition the partition whose edges are being iterated */ template - static void for_each_edge(Functor& f, const Partition_3& partition); + static void for_each_edge(Functor& f, const IsosurfacingPartition_3& partition); /*! * iterates over all cells, and calls the functor `f` on each one. @@ -121,7 +119,7 @@ public: * \param partition the partition whose cells are being iterated */ template - static void for_each_cell(Functor& f, const Partition_3& partition); + static void for_each_cell(Functor& f, const IsosurfacingPartition_3& partition); }; } // namespace Isosurfacing diff --git a/Isosurfacing_3/doc/Isosurfacing_3/PackageDescription.txt b/Isosurfacing_3/doc/Isosurfacing_3/PackageDescription.txt index 468695d74d1..32d83e8251c 100644 --- a/Isosurfacing_3/doc/Isosurfacing_3/PackageDescription.txt +++ b/Isosurfacing_3/doc/Isosurfacing_3/PackageDescription.txt @@ -55,11 +55,11 @@ The output is a polygon soup (i.e., a container of point coordinates and indexed \cgalCRPSection{Concepts} - `IsosurfacingTraits_3` -- `Partition_3` -- `ValueField_3` -- `GradientField_3` -- `InterpolationScheme_3` -- `EdgeIntersectionOracle_3` +- `IsosurfacingPartition_3` +- `IsosurfacingValueField_3` +- `IsosurfacingGradientField_3` +- `IsosurfacingInterpolationScheme_3` +- `IsosurfacingEdgeIntersectionOracle_3` - `IsosurfacingDomain_3` - `IsosurfacingDomainWithGradient_3` diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Cartesian_grid_3.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Cartesian_grid_3.h index 65ff51fd8e1..a4cc64752bc 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Cartesian_grid_3.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Cartesian_grid_3.h @@ -127,7 +127,7 @@ struct Cartesian_grid_position /** * \ingroup IS_Partitions_grp * - * \cgalModels{Partition_3} + * \cgalModels{IsosurfacingPartition_3} * * \brief The class `Cartesian_grid_3` represents a 3D %Cartesian grid, that is the partition of * an iso-cuboid into identical iso-cuboidal cells. diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Dual_contouring_domain_3.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Dual_contouring_domain_3.h index 692001e8ac0..5a16a9413f6 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Dual_contouring_domain_3.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Dual_contouring_domain_3.h @@ -33,10 +33,10 @@ namespace Isosurfacing { * the values and gradients that define the isosurface. The optional template parameter * `EdgeIntersectionOracle` gives control over the method used to computate edge-isosurface intersection points. * - * \tparam Partition must be a model of `Partition_3` - * \tparam ValueField must be a model of `ValueField_3` - * \tparam GradientField must be a model of `GradientField_3` - * \tparam EdgeIntersectionOracle must be a model of `EdgeIntersectionOracle_3` + * \tparam Partition must be a model of `IsosurfacingPartition_3` + * \tparam ValueField must be a model of `IsosurfacingValueField_3` + * \tparam GradientField must be a model of `IsosurfacingGradientField_3` + * \tparam EdgeIntersectionOracle must be a model of `IsosurfacingEdgeIntersectionOracle_3` * * \sa `CGAL::Isosurfacing::dual_contouring()` * \sa `CGAL::Isosurfacing::Marching_cubes_domain_3()` @@ -78,10 +78,10 @@ public: * * \brief creates a new instance of a domain that can be used with the %Dual Contouring algorithm. * - * \tparam Partition must be a model of `Partition_3` - * \tparam ValueField must be a model of `ValueField_3` - * \tparam GradientField must be a model of `GradientField_3` - * \tparam EdgeIntersectionOracle must be a model of `EdgeIntersectionOracle_3` + * \tparam Partition must be a model of `IsosurfacingPartition_3` + * \tparam ValueField must be a model of `IsosurfacingValueField_3` + * \tparam GradientField must be a model of `IsosurfacingGradientField_3` + * \tparam EdgeIntersectionOracle must be a model of `IsosurfacingEdgeIntersectionOracle_3` * * \param partition the space partitioning data structure * \param values a continuous field of scalar values, defined over the geometric span of `partition` diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Finite_difference_gradient_3.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Finite_difference_gradient_3.h index 3f4d2e65727..b6dd0fc1cfc 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Finite_difference_gradient_3.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Finite_difference_gradient_3.h @@ -25,7 +25,7 @@ namespace Isosurfacing { /** * \ingroup IS_Fields_grp * - * \cgalModels{GradientField_3} + * \cgalModels{IsosurfacingGradientField_3} * * \brief Class template for a gradient that is calculated using finite differences. * diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Gradient_function_3.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Gradient_function_3.h index 6f8cc5d290a..c7eca506b70 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Gradient_function_3.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Gradient_function_3.h @@ -25,12 +25,12 @@ namespace Isosurfacing { /** * \ingroup IS_Fields_grp * - * \cgalModels{GradientField_3} + * \cgalModels{IsosurfacingGradientField_3} * * \brief The class `Gradient_function_3` represents a field of vectors computed * using a user-provided unary function. * - * \tparam Partition must be a model of `Partition_3` + * \tparam Partition must be a model of `IsosurfacingPartition_3` * * \sa `CGAL::Isosurfacing::Dual_contouring_domain_3` */ diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Interpolated_discrete_gradients_3.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Interpolated_discrete_gradients_3.h index 29ef335da6e..9e60b238250 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Interpolated_discrete_gradients_3.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Interpolated_discrete_gradients_3.h @@ -28,12 +28,12 @@ namespace Isosurfacing { /** * \ingroup IS_Domain_helpers_grp * - * \cgalModels{ValueField_3} + * \cgalModels{IsosurfacingValueField_3} * * \brief Class template for a gradient that is calculated using discrete values and trilinear interpolation. * * \tparam Grid must be `CGAL::Isosurfacing::Cartesian_grid_3`, with `GeomTraits` a model of `IsosurfacingTraits_3` - * \tparam InterpolationScheme must be a model of `InterpolationScheme_3` + * \tparam InterpolationScheme must be a model of `IsosurfacingInterpolationScheme_3` */ template > @@ -64,7 +64,7 @@ public: } // computes and stores gradients at the vertices of the grid - // \tparam must be ValueField a model of `ValueField_3` + // \tparam must be ValueField a model of `IsosurfacingValueField_3` // \param values a field of values whose gradient are being computed template void compute_discrete_gradients(const ValueField& values) diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Interpolated_discrete_values_3.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Interpolated_discrete_values_3.h index 06325d4b510..45a3257d4b6 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Interpolated_discrete_values_3.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Interpolated_discrete_values_3.h @@ -28,12 +28,12 @@ namespace Isosurfacing { /** * \ingroup IS_Domain_helpers_grp * - * \cgalModels{ValueField_3} + * \cgalModels{IsosurfacingValueField_3} * * \brief Class template for a field of values that are calculated using discrete values and interpolation. * * \tparam Grid must be `CGAL::Isosurfacing::Cartesian_grid_3`, with `GeomTraits` a model of `IsosurfacingTraits_3` - * \tparam InterpolationScheme must be a model of `InterpolationScheme_3` + * \tparam InterpolationScheme must be a model of `IsosurfacingInterpolationScheme_3` */ template > diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Marching_cubes_domain_3.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Marching_cubes_domain_3.h index 230563669e7..394f912eefb 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Marching_cubes_domain_3.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Marching_cubes_domain_3.h @@ -33,9 +33,9 @@ namespace Isosurfacing { * the values that define the isosurface. The optional template parameter * `EdgeIntersectionOracle` gives control over the method used to computate edge-isosurface intersection points. * - * \tparam Partition must be a model of `Partition_3` - * \tparam ValueField must be a model of `ValueField_3` - * \tparam EdgeIntersectionOracle must be a model of `EdgeIntersectionOracle_3` + * \tparam Partition must be a model of `IsosurfacingPartition_3` + * \tparam ValueField must be a model of `IsosurfacingValueField_3` + * \tparam EdgeIntersectionOracle must be a model of `IsosurfacingEdgeIntersectionOracle_3` * * \sa `CGAL::Isosurfacing::marching_cubes_3()` * \sa `CGAL::Isosurfacing::Dual_contouring_domain_3` @@ -74,9 +74,9 @@ public: * * \brief creates a new instance of a domain that can be used with the Marching Cubes algorithm. * - * \tparam Partition must be a model of `Partition_3` - * \tparam ValueField must be a model of `ValueField_3` - * \tparam EdgeIntersectionOracle must be a model of `EdgeIntersectionOracle_3` + * \tparam Partition must be a model of `IsosurfacingPartition_3` + * \tparam ValueField must be a model of `IsosurfacingValueField_3` + * \tparam EdgeIntersectionOracle must be a model of `IsosurfacingEdgeIntersectionOracle_3` * * \param partition the space partitioning data structure * \param values a continuous field of scalar values, defined over the geometric span of `partition` diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Value_function_3.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Value_function_3.h index e82b3dbafdb..20c8148321d 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Value_function_3.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Value_function_3.h @@ -25,12 +25,12 @@ namespace Isosurfacing { /** * \ingroup IS_Domain_helpers_grp * - * \cgalModels{ValueField_3} + * \cgalModels{IsosurfacingValueField_3} * * \brief The class `Value_function_3` represents a field of scalars computed * using a user-provided unary function. * - * \tparam Partition must be a model of `Partition_3` + * \tparam Partition must be a model of `IsosurfacingPartition_3` * * \sa `CGAL::Isosurfacing::Marching_cubes_domain_3` * \sa `CGAL::Isosurfacing::Dual_contouring_domain_3` diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/edge_intersection_oracles_3.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/edge_intersection_oracles_3.h index cc3050fb759..070e66f82c9 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/edge_intersection_oracles_3.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/edge_intersection_oracles_3.h @@ -23,7 +23,7 @@ namespace Isosurfacing { /** * \ingroup IS_Domain_helpers_grp * - * \cgalModels{EdgeIntersectionOracle_3} + * \cgalModels{IsosurfacingEdgeIntersectionOracle_3} * * \brief The class `Dichotomy_edge_intersection` uses a dichotomy to find the intersection point * between an edge and the isosurface. @@ -116,7 +116,7 @@ struct Dichotomy_edge_intersection /** * \ingroup IS_Domain_helpers_grp * - * \cgalModels{EdgeIntersectionOracle_3} + * \cgalModels{IsosurfacingEdgeIntersectionOracle_3} * * \brief The class `Linear_interpolation_edge_intersection` uses linear interpolation * to find the intersection point between an edge and the isosurface. @@ -178,7 +178,7 @@ struct Linear_interpolation_edge_intersection /* * \ingroup IS_Domain_helpers_grp * - * \cgalModels{EdgeIntersectionOracle_3} + * \cgalModels{IsosurfacingEdgeIntersectionOracle_3} * * \brief The class `Ray_marching_edge_intersection` uses ray marching to find the intersection point * between an edge and the isosurface. diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/interpolation_schemes_3.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/interpolation_schemes_3.h index 7f87ee4ce75..dc40896d4d7 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/interpolation_schemes_3.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/interpolation_schemes_3.h @@ -25,7 +25,7 @@ namespace Isosurfacing { /*! * \ingroup IS_Fields_helpers_grp * - * \cgalModels{InterpolationScheme_3} + * \cgalModels{IsosurfacingInterpolationScheme_3} * * The class `Trilinear_interpolation` is the standard interpolation scheme to extrapolate * data defined only at vertices of a %Cartesian grid.