discovered an illegal comparison between points (not using the traits class)

in Triangulation_3
problem with typenames in  Regular_triangulation_euclidean_traits_3
equal(p,q) changed in Triangulation_geom_traits_3.h
This commit is contained in:
Monique Teillaud 1999-09-16 13:09:06 +00:00
parent 0ba8ca03b7
commit d1e2f14971
3 changed files with 9 additions and 2 deletions

View File

@ -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<Repres>
{
public:

View File

@ -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 {

View File

@ -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