diff --git a/Packages/Triangulation_3/include/CGAL/Regular_triangulation_euclidean_traits_3.h b/Packages/Triangulation_3/include/CGAL/Regular_triangulation_euclidean_traits_3.h index a3e32d2bc85..ff3fc4200f3 100644 --- a/Packages/Triangulation_3/include/CGAL/Regular_triangulation_euclidean_traits_3.h +++ b/Packages/Triangulation_3/include/CGAL/Regular_triangulation_euclidean_traits_3.h @@ -43,8 +43,13 @@ CGAL_BEGIN_NAMESPACE +#ifndef CGAL_CFG_TYPENAME_BUG template < class Repres, class Weight = typename Repres::RT> class Regular_triangulation_euclidean_traits_3 +#else +template < class Repres, class Weight = Repres::RT> +class Regular_triangulation_euclidean_traits_3 +#endif // CGAL_CFG_TYPENAME_BUG : public Triangulation_geom_traits_3 { public: diff --git a/Packages/Triangulation_3/include/CGAL/Triangulation_3.h b/Packages/Triangulation_3/include/CGAL/Triangulation_3.h index d029c115295..b06f62eee69 100644 --- a/Packages/Triangulation_3/include/CGAL/Triangulation_3.h +++ b/Packages/Triangulation_3/include/CGAL/Triangulation_3.h @@ -1768,7 +1768,7 @@ locate(const Point & p, case 0: { Vertex_iterator vit = finite_vertices_begin(); - if ( p != vit->point() ) { + if ( ! geom_traits().equal( p, vit->point() ) ) { lt = OUTSIDE_AFFINE_HULL; } else { diff --git a/Packages/Triangulation_3/include/CGAL/Triangulation_geom_traits_3.h b/Packages/Triangulation_3/include/CGAL/Triangulation_geom_traits_3.h index aef322f364f..4b19f5607f0 100644 --- a/Packages/Triangulation_3/include/CGAL/Triangulation_geom_traits_3.h +++ b/Packages/Triangulation_3/include/CGAL/Triangulation_geom_traits_3.h @@ -65,7 +65,9 @@ public: bool equal(const Point & p, const Point & q) const { - return (p == q); + return ( CGAL::compare_x(p, q)== EQUAL && + CGAL::compare_y(p, q)== EQUAL && + CGAL::compare_z(p, q)== EQUAL ); } Comparison_result compare_x(const Point & p, const Point & q) const