diff --git a/BGL/include/CGAL/boost/graph/named_params_helper.h b/BGL/include/CGAL/boost/graph/named_params_helper.h index 5ac5eb53316..307cba50161 100644 --- a/BGL/include/CGAL/boost/graph/named_params_helper.h +++ b/BGL/include/CGAL/boost/graph/named_params_helper.h @@ -267,6 +267,17 @@ namespace CGAL { > ::type const_type; }; + template + class GetFT + { + public: + typedef typename Kernel_traits< + typename std::iterator_traits< + typename PointRange::iterator + >::value_type + >::Kernel::FT type; + }; + template class GetQueryPointMap { diff --git a/Point_set_3/include/CGAL/Point_set_3.h b/Point_set_3/include/CGAL/Point_set_3.h index 8ca128407f7..65b406f19c1 100644 --- a/Point_set_3/include/CGAL/Point_set_3.h +++ b/Point_set_3/include/CGAL/Point_set_3.h @@ -1180,6 +1180,13 @@ Point_set_3& operator+=(Point_set_3& ps, /// \cond SKIP_IN_MANUAL namespace Point_set_processing_3 { + template + class GetFT > + { + public: + typedef typename Kernel_traits::Kernel::FT type; + }; + namespace parameters { template diff --git a/Point_set_processing_3/include/CGAL/compute_average_spacing.h b/Point_set_processing_3/include/CGAL/compute_average_spacing.h index 9c94cf5db11..74aee8a854a 100644 --- a/Point_set_processing_3/include/CGAL/compute_average_spacing.h +++ b/Point_set_processing_3/include/CGAL/compute_average_spacing.h @@ -241,7 +241,7 @@ compute_average_spacing( // variant with default NP template -typename Kernel_traits::value_type>::Kernel::FT +typename Point_set_processing_3::GetFT::type compute_average_spacing( const PointRange& points, unsigned int k) ///< number of neighbors. diff --git a/Point_set_processing_3/include/CGAL/estimate_scale.h b/Point_set_processing_3/include/CGAL/estimate_scale.h index 1e00f4c7b04..57cd2b6943e 100644 --- a/Point_set_processing_3/include/CGAL/estimate_scale.h +++ b/Point_set_processing_3/include/CGAL/estimate_scale.h @@ -731,7 +731,7 @@ estimate_global_range_scale( /// \cond SKIP_IN_MANUAL // variant with default NP template -typename Kernel_traits::value_type>::Kernel::FT +typename Point_set_processing_3::GetFT::type estimate_global_range_scale(const PointRange& points) { return estimate_global_range_scale diff --git a/Polyhedron/demo/Polyhedron/include/Point_set_3.h b/Polyhedron/demo/Polyhedron/include/Point_set_3.h index 821d619cfac..eacd14e1708 100644 --- a/Polyhedron/demo/Polyhedron/include/Point_set_3.h +++ b/Polyhedron/demo/Polyhedron/include/Point_set_3.h @@ -562,6 +562,13 @@ namespace CGAL { namespace Point_set_processing_3 { + template + class GetFT<::Point_set_3 > + { + public: + typedef typename Kernel::FT type; + }; + namespace parameters { template