From 8d4e63bbe9cada8720b99a6faaeb92bebd8d2862 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Fri, 7 Jan 2022 13:48:04 +0100 Subject: [PATCH] more simplification and use existing classes --- .../CGAL/boost/graph/named_params_helper.h | 40 +++---------------- .../include/CGAL/mst_orient_normals.h | 4 +- 2 files changed, 8 insertions(+), 36 deletions(-) diff --git a/BGL/include/CGAL/boost/graph/named_params_helper.h b/BGL/include/CGAL/boost/graph/named_params_helper.h index fe73f9ab756..e3515a9ba1b 100644 --- a/BGL/include/CGAL/boost/graph/named_params_helper.h +++ b/BGL/include/CGAL/boost/graph/named_params_helper.h @@ -321,16 +321,7 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits::fa typedef typename Geom_traits::FT FT; // public - struct DummyNormalMap - { - typedef typename Geom_traits::Vector_3 value_type; - typedef Value_type key_type; - typedef value_type reference; - typedef boost::read_write_property_map_tag category; - - friend value_type get(const DummyNormalMap&, const key_type&) { return CGAL::NULL_VECTOR; } - friend void put(const DummyNormalMap&, const key_type&, const value_type&) { } - }; + typedef Constant_property_map DummyNormalMap; typedef typename internal_np::Lookup_named_param_def< internal_np::normal_t, @@ -413,17 +404,7 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits::fa template class GetPlaneIndexMap { - struct DummyPlaneIndexMap - { - typedef std::size_t key_type; - typedef int value_type; - typedef value_type reference; - typedef boost::readable_property_map_tag category; - - typedef DummyPlaneIndexMap Self; - friend value_type get(const Self&, const key_type&) { return -1; } - }; - + typedef Constant_property_map DummyPlaneIndexMap; public: typedef DummyPlaneIndexMap NoMap; typedef typename internal_np::Lookup_named_param_def < @@ -436,23 +417,14 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits::fa template class GetIsConstrainedMap { - struct DummyConstrainedMap - { - typedef typename std::iterator_traits::value_type key_type; - typedef bool value_type; - typedef value_type reference; - typedef boost::readable_property_map_tag category; - - typedef DummyConstrainedMap Self; - friend value_type get(const Self&, const key_type&) { return false; } - }; - + typedef Static_boolean_property_map< + typename std::iterator_traits::value_type, + false> Default_map; public: - typedef DummyConstrainedMap NoMap; typedef typename internal_np::Lookup_named_param_def < internal_np::point_is_constrained_t, NamedParameters, - DummyConstrainedMap //default + Default_map //default > ::type type; }; diff --git a/Point_set_processing_3/include/CGAL/mst_orient_normals.h b/Point_set_processing_3/include/CGAL/mst_orient_normals.h index 61f51c30140..daf6fdf1ab5 100644 --- a/Point_set_processing_3/include/CGAL/mst_orient_normals.h +++ b/Point_set_processing_3/include/CGAL/mst_orient_normals.h @@ -608,6 +608,7 @@ mst_orient_normals( { using parameters::choose_parameter; using parameters::get_parameter; + using parameters::is_default_parameter; CGAL_TRACE_STREAM << "Calls mst_orient_normals()\n"; @@ -664,8 +665,7 @@ mst_orient_normals( // or vertex j is in the k-neighborhood of vertex i. Riemannian_graph riemannian_graph; - if (boost::is_same::NoMap>::value) + if (is_default_parameter(get_parameter(np, internal_np::point_is_constrained))) riemannian_graph = create_riemannian_graph(points, point_map, normal_map, index_map, Default_constrained_map