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
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.
-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;