[Bf-blender-cvs] [30826a5e49c] blender-v2.91-release: Fix new boolean performance bug.

Howard Trickey noreply at git.blender.org
Sat Oct 31 21:48:11 CET 2020


Commit: 30826a5e49c7429d330fa47d0a6bfb2b13a698d1
Author: Howard Trickey
Date:   Sat Oct 31 16:46:11 2020 -0400
Branches: blender-v2.91-release
https://developer.blender.org/rB30826a5e49c7429d330fa47d0a6bfb2b13a698d1

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.

===================================================================

M	source/blender/blenlib/intern/mesh_intersect.cc

===================================================================

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;



More information about the Bf-blender-cvs mailing list