From 12fb8d35fc8df5c26346c51cf3f882af99c1ed98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mael=20Rouxel-Labb=C3=A9?= Date: Thu, 27 Apr 2017 12:03:47 +0200 Subject: [PATCH] Construct_plane() must use bare points arguments --- .../include/CGAL/Regular_triangulation_3.h | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Triangulation_3/include/CGAL/Regular_triangulation_3.h b/Triangulation_3/include/CGAL/Regular_triangulation_3.h index 050f1155d19..439f7438514 100644 --- a/Triangulation_3/include/CGAL/Regular_triangulation_3.h +++ b/Triangulation_3/include/CGAL/Regular_triangulation_3.h @@ -920,7 +920,7 @@ namespace CGAL { } Plane - construct_plane(const Weighted_point &p, const Weighted_point &q, const Weighted_point &r) const + construct_plane(const Bare_point &p, const Bare_point &q, const Bare_point &r) const { return geom_traits().construct_plane_3_object()(p, q, r); } @@ -1595,17 +1595,19 @@ dual(Cell_handle c) const int ind[3] = {(in+1)&3,(in+2)&3,(in+3)&3}; if ( (in&1) == 1 ) std::swap(ind[0], ind[1]); - const Weighted_point& p = n->vertex(ind[0])->point(); - const Weighted_point& q = n->vertex(ind[1])->point(); - const Weighted_point& r = n->vertex(ind[2])->point(); - Line l = - construct_perpendicular_line( construct_plane(p,q,r), - construct_weighted_circumcenter(p,q,r) ); - return construct_object(construct_ray( dual(n), l)); + const Weighted_point& p = point(n->vertex(ind[0])); + const Weighted_point& q = point(n->vertex(ind[1])); + const Weighted_point& r = point(n->vertex(ind[2])); + const Bare_point& bp = construct_point(p); + const Bare_point& bq = construct_point(q); + const Bare_point& br = construct_point(r); + + Line l = construct_perpendicular_line(construct_plane(bp, bq, br), + construct_weighted_circumcenter(p,q,r)); + return construct_object(construct_ray(dual(n), l)); } - template < class Gt, class Tds, class Lds > Oriented_side Regular_triangulation_3::