From 94900beec62bbcb72bed571c1919d0bc142933bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mael=20Rouxel-Labb=C3=A9?= Date: Sat, 24 Sep 2022 16:48:15 +0200 Subject: [PATCH] Do not return point copies in HT2::point() --- .../Hyperbolic_Delaunay_triangulation_2.h | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/Hyperbolic_triangulation_2/include/CGAL/Hyperbolic_Delaunay_triangulation_2.h b/Hyperbolic_triangulation_2/include/CGAL/Hyperbolic_Delaunay_triangulation_2.h index bca9812801e..14e4ad40579 100644 --- a/Hyperbolic_triangulation_2/include/CGAL/Hyperbolic_Delaunay_triangulation_2.h +++ b/Hyperbolic_triangulation_2/include/CGAL/Hyperbolic_Delaunay_triangulation_2.h @@ -928,34 +928,32 @@ public: } public: - - const Point point(const Vertex_handle vh) const + const Point& point(const Vertex_handle vh) const { + CGAL_precondition(!is_infinite(vh)); return vh->point(); } - const Point point(const Face_handle fh, const int i) const + const Point& point(const Face_handle fh, const int i) const { - CGAL_triangulation_precondition(0 <= i); - CGAL_triangulation_precondition(i <= 2); + CGAL_precondition(!is_infinite(fh->vertex(i))); + CGAL_precondition(0 <= i && i <= 2); return fh->vertex(i)->point(); } - - Point point(const Vertex_handle vh) + Point& point(const Vertex_handle vh) { + CGAL_precondition(!is_infinite(vh)); return vh->point(); } - Point point(const Face_handle fh, const int i) + Point& point(const Face_handle fh, const int i) { - CGAL_triangulation_precondition(0 <= i); - CGAL_triangulation_precondition(i <= 2); + CGAL_precondition(!is_infinite(fh->vertex(i))); + CGAL_precondition(0 <= i && i <= 2); return fh->vertex(i)->point(); } - - bool is_valid() { if (Base::is_valid())