Fix new boolean performance bug.
The code that decided to use a faster double version of plane side testing forgot to take an absolute value, so half the time the exact code was being used when it was unnecessary.
This commit is contained in:
@@ -1550,7 +1550,7 @@ static int filter_plane_side(const double3 &p,
|
||||
}
|
||||
double supremum = double3::dot(abs_p + abs_plane_p, abs_plane_no);
|
||||
double err_bound = supremum * index_plane_side * DBL_EPSILON;
|
||||
if (d > err_bound) {
|
||||
if (fabs(d) > err_bound) {
|
||||
return d > 0 ? 1 : -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user