diff --git a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h index a30f19dacb5..a7234b61810 100644 --- a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h +++ b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -648,7 +649,8 @@ public: // but point() -like functions have return type Point template // can be Point or Point_3 - Point_3 construct_point(const P& p) const { + typename boost::result_of::type + construct_point(const P& p) const { return geom_traits().construct_point_3_object()(p); } diff --git a/Triangulation_2/include/CGAL/Triangulation_2.h b/Triangulation_2/include/CGAL/Triangulation_2.h index de91b826848..079dcc18a11 100644 --- a/Triangulation_2/include/CGAL/Triangulation_2.h +++ b/Triangulation_2/include/CGAL/Triangulation_2.h @@ -45,6 +45,7 @@ #include #include #include +#include #ifndef CGAL_TRIANGULATION_2_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO #include @@ -295,9 +296,13 @@ public: Face_handle &fr) const; // GEOMETRIC FEATURES AND CONSTRUCTION - Point_2 construct_point(const Point& p) const; + template // Point or Point_2 + typename boost::result_of::type + construct_point(const P& p) const { return geom_traits().construct_point_2_object()(p); } + const Point& point(Face_handle c, int i) const; const Point& point(Vertex_handle v) const; + Segment segment(Face_handle f, int i) const; Segment segment(const Edge& e) const; Segment segment(const Edge_circulator& ec) const; @@ -1064,14 +1069,6 @@ is_face(Vertex_handle v1, return _tds.is_face(v1, v2, v3, fr); } -template -typename Triangulation_2::Point_2 -Triangulation_2:: -construct_point(const Point& p) const -{ - return geom_traits().construct_point_2_object()(p); -} - template const typename Triangulation_2::Point& Triangulation_2:: diff --git a/Triangulation_3/include/CGAL/Triangulation_3.h b/Triangulation_3/include/CGAL/Triangulation_3.h index 6f2f1f6807f..b1aabfce09d 100644 --- a/Triangulation_3/include/CGAL/Triangulation_3.h +++ b/Triangulation_3/include/CGAL/Triangulation_3.h @@ -563,7 +563,8 @@ protected: public: template // Point or Point_3 - Point_3 construct_point(const P& p) const + typename boost::result_of::type + construct_point(const P& p) const { return geom_traits().construct_point_3_object()(p); }