Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoward Trickey <howard.trickey@gmail.com>2020-11-01 00:21:18 +0300
committerHoward Trickey <howard.trickey@gmail.com>2020-11-01 00:21:18 +0300
commitc249eb7a8d61e08b7564102a6a97c52ee7ce1595 (patch)
tree3d27a3d9ceb65d3d8dbcdb348ed581f1908a75aa /source/blender/blenlib/intern/mesh_intersect.cc
parent64faa59846f20fbcdcdd8047aa86319b82243ccd (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.cc2
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;