Fix AND boolean operation with CGAL::possibly

This commit is contained in:
Simon Giraudot
2018-01-16 12:19:28 +01:00
parent bf03a53e1c
commit 886c7bce5b
2 changed files with 4 additions and 4 deletions
@@ -1762,10 +1762,10 @@ namespace CartesianKernelFunctors {
// to avoid badly defined vectors with coordinates all close
// to 0 when the plane is almost horizontal, we ignore the
// smallest coordinate instead of always ignoring Z
if (CGAL::possibly(a <= b && a <= c))
if (CGAL::possibly(CGAL_AND (a <= b, a <= c)))
return Vector_3(FT(0), -h.c(), h.b());
if (CGAL::possibly(b <= a && b <= c))
if (CGAL::possibly(CGAL_AND (b <= a, b <= c)))
return Vector_3(-h.c(), FT(0), h.a());
return Vector_3(-h.b(), h.a(), FT(0));
@@ -272,9 +272,9 @@ point_on_planeC3(const FT &pa, const FT &pb, const FT &pc, const FT &pd,
// to avoid badly defined point with an overly large coordinate when
// the plane is almost orthogonal to one axis, we use the largest
// scalar coordinate instead of always using the first non-null
if (CGAL::possibly(abs_pa >= abs_pb && abs_pa >= abs_pc))
if (CGAL::possibly(CGAL_AND (abs_pa >= abs_pb, abs_pa >= abs_pc)))
x = -pd/pa;
else if (CGAL::possibly(abs_pb >= abs_pa && abs_pb >= abs_pc))
else if (CGAL::possibly(CGAL_AND (abs_pb >= abs_pa, abs_pb >= abs_pc)))
y = -pd/pb;
else
z = -pd/pc;