From 88c79dc23713ac9525562e66a938de479f10d328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mael=20Rouxel-Labb=C3=A9?= Date: Mon, 9 Jan 2023 11:06:54 +0100 Subject: [PATCH] Remove pointless template from Zero_gradient --- .../Implicit_cartesian_grid_domain.h | 2 +- .../Isosurfacing_3/Implicit_octree_domain.h | 2 +- .../CGAL/Isosurfacing_3/Zero_gradient.h | 25 ++++++------------- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Implicit_cartesian_grid_domain.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Implicit_cartesian_grid_domain.h index c10c45a3bd2..ff06eccf050 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Implicit_cartesian_grid_domain.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Implicit_cartesian_grid_domain.h @@ -74,7 +74,7 @@ using Implicit_cartesian_grid_domain = */ template > + typename Gradient_ = Zero_gradient> Implicit_cartesian_grid_domain create_implicit_cartesian_grid_domain(const Bbox_3& bbox, const typename GeomTraits::Vector_3& spacing, diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Implicit_octree_domain.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Implicit_octree_domain.h index 9412587006c..1dc9d8efe43 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Implicit_octree_domain.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Implicit_octree_domain.h @@ -71,7 +71,7 @@ using Implicit_octree_domain = */ template > + typename Gradient_ = Zero_gradient> Implicit_octree_domain create_implicit_octree_domain(const std::shared_ptr > octree, const PointFunction& point_function, diff --git a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Zero_gradient.h b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Zero_gradient.h index 3d4a7d57c65..10a3b3e82b8 100644 --- a/Isosurfacing_3/include/CGAL/Isosurfacing_3/Zero_gradient.h +++ b/Isosurfacing_3/include/CGAL/Isosurfacing_3/Zero_gradient.h @@ -14,6 +14,8 @@ #include +#include + namespace CGAL { namespace Isosurfacing { @@ -23,32 +25,19 @@ namespace Isosurfacing { * \brief Class template for a gradient that is always zero. * * \details This gradient function can be used for Marching Cubes, which does not require a gradient. - * - * \tparam GeomTraits the traits for this gradient. */ -template -class Zero_gradient +struct Zero_gradient { -public: - using Geom_traits = GeomTraits; - using Point = typename Geom_traits::Point_3; - using Vector = typename Geom_traits::Vector_3; - -public: /** * \ingroup PkgIsosurfacing3Ref * - * \brief Evaluate the gradient at a point in space. - * - * \param point the point at which the gradient is computed + * \return the null vector */ - Vector operator()(const Point& point) const + template + Null_vector operator()(const P&) const { - return zero; + return NULL_VECTOR; } - -private: - const Vector zero = Vector(0, 0, 0); }; } // namespace Isosurfacing