diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex index 081e16cfef3..ecdd47bdf6f 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex @@ -90,6 +90,8 @@ replacing operators, especially for equality testing. \ccGlue \ccNestedType{Component_accessor_d}{} \ccGlue +\ccNestedType{Compute_coordinate_d}{} +\ccGlue \ccNestedType{Contained_in_affine_hull_d}{} \ccGlue \ccNestedType{Contained_in_linear_hull_d}{} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/main.tex b/Kernel_d/doc_tex/Kernel_d_ref/main.tex index 3d8216ad6c0..8bd81972aa0 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/main.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/main.tex @@ -78,6 +78,7 @@ \input{Kernel_d_ref/Kernel_Center_of_sphere_d.tex} \input{Kernel_d_ref/Kernel_Compare_lexicographically_d.tex} \input{Kernel_d_ref/Kernel_Component_accessor_d.tex} +\input{Kernel_d_ref/Kernel_Compute_coordinate_d.tex} \input{Kernel_d_ref/Kernel_ConstructConstIterator_d.tex} \input{Kernel_d_ref/Kernel_Contained_in_affine_hull_d.tex} \input{Kernel_d_ref/Kernel_Contained_in_linear_hull_d.tex} diff --git a/Kernel_d/include/CGAL/Cartesian_d.h b/Kernel_d/include/CGAL/Cartesian_d.h index defd98d85bf..6d889e0116d 100644 --- a/Kernel_d/include/CGAL/Cartesian_d.h +++ b/Kernel_d/include/CGAL/Cartesian_d.h @@ -234,6 +234,7 @@ public: { return Construct_aff_transformation_d(); } // function objects: + typedef Compute_coordinateCd Compute_coordinate_d; typedef Lift_to_paraboloidCd Lift_to_paraboloid_d; typedef Project_along_d_axisCd Project_along_d_axis_d; typedef MidpointCd Midpoint_d; @@ -257,6 +258,8 @@ public: typedef Linearly_independentCd Linearly_independent_d; typedef Linear_baseCd Linear_base_d; + Compute_coordinate_d compute_coordinate_d_object() const + { return Compute_coordinate_d(); } Lift_to_paraboloid_d lift_to_paraboloid_d_object() const { return Lift_to_paraboloid_d(); } Project_along_d_axis_d project_along_d_axis_d_object() const diff --git a/Kernel_d/include/CGAL/Homogeneous_d.h b/Kernel_d/include/CGAL/Homogeneous_d.h index 94f69a4f702..994abdfbc5d 100644 --- a/Kernel_d/include/CGAL/Homogeneous_d.h +++ b/Kernel_d/include/CGAL/Homogeneous_d.h @@ -236,6 +236,7 @@ public: { return Construct_aff_transformation_d(); } // function objects: + typedef Compute_coordinateHd Compute_coordinate_d; typedef Lift_to_paraboloidHd Lift_to_paraboloid_d; typedef Project_along_d_axisHd Project_along_d_axis_d; typedef MidpointHd Midpoint_d; @@ -259,6 +260,8 @@ public: typedef Linearly_independentHd Linearly_independent_d; typedef Linear_baseHd Linear_base_d; + Compute_coordinate_d compute_coordinate_d_object() const + { return Compute_coordinate_d(); } Lift_to_paraboloid_d lift_to_paraboloid_d_object() const { return Lift_to_paraboloid_d(); } Project_along_d_axis_d project_along_d_axis_d_object() const diff --git a/Kernel_d/include/CGAL/Kernel_d/function_objectsCd.h b/Kernel_d/include/CGAL/Kernel_d/function_objectsCd.h index e0ac49d7570..69edd4b09e0 100644 --- a/Kernel_d/include/CGAL/Kernel_d/function_objectsCd.h +++ b/Kernel_d/include/CGAL/Kernel_d/function_objectsCd.h @@ -36,6 +36,19 @@ namespace CGAL { +template +class Compute_coordinateCd { + typedef typename K::FT FT; + typedef typename K::Point_d Point_d; + public: + typedef FT result_type; + const result_type + operator()(const Point_d& p, int i) const + { + return p.cartesian(i); + } +}; + template struct Lift_to_paraboloidCd { typedef typename R::Point_d Point_d; diff --git a/Kernel_d/include/CGAL/Kernel_d/function_objectsHd.h b/Kernel_d/include/CGAL/Kernel_d/function_objectsHd.h index 3cd7d3bc19e..eaedbc5ec1e 100644 --- a/Kernel_d/include/CGAL/Kernel_d/function_objectsHd.h +++ b/Kernel_d/include/CGAL/Kernel_d/function_objectsHd.h @@ -35,6 +35,19 @@ namespace CGAL { +template +class Compute_coordinateHd { + typedef typename K::FT FT; + typedef typename K::Point_d Point_d; + public: + typedef FT result_type; + const result_type + operator()(const Point_d& p, int i) const + { + return p.cartesian(i); + } +}; + template struct Lift_to_paraboloidHd { typedef typename R::Point_d Point_d;