diff options
author | Howard Trickey <howard.trickey@gmail.com> | 2020-11-01 00:21:18 +0300 |
---|---|---|
committer | Howard Trickey <howard.trickey@gmail.com> | 2020-11-01 00:21:18 +0300 |
commit | c249eb7a8d61e08b7564102a6a97c52ee7ce1595 (patch) | |
tree | 3d27a3d9ceb65d3d8dbcdb348ed581f1908a75aa /source/blender/blenlib/intern/mesh_intersect.cc | |
parent | 64faa59846f20fbcdcdd8047aa86319b82243ccd (diff) |
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.
Diffstat (limited to 'source/blender/blenlib/intern/mesh_intersect.cc')
-rw-r--r-- | source/blender/blenlib/intern/mesh_intersect.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/blenlib/intern/mesh_intersect.cc b/source/blender/blenlib/intern/mesh_intersect.cc index c36dfa80be7..a777833dff4 100644 --- a/source/blender/blenlib/intern/mesh_intersect.cc +++ b/source/blender/blenlib/intern/mesh_intersect.cc @@ -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; |