diff options
author | Howard Trickey <howard.trickey@gmail.com> | 2020-11-21 19:55:14 +0300 |
---|---|---|
committer | Howard Trickey <howard.trickey@gmail.com> | 2020-11-21 19:55:14 +0300 |
commit | df8cc5662b9a03fb0cbec05bb9f9bad103b8870b (patch) | |
tree | 9e4b543ec5e10d629c8a354239636495e4fa3616 /source/blender/blenlib/tests | |
parent | 38fe962d9542296e94b5881f45043ae5afe8e20e (diff) |
Improve speed of Constrained Delaunay Triangulation with exact arith.
By using floating point filters, the speed improves by a factor of 2 to 10.
This will help speed up some cases of the Exact Boolean modifier.
Changed the interface of mpq2::isect_seg_seg to not return mu, as it was
not needed and not calculating it saved 15% time.
Diffstat (limited to 'source/blender/blenlib/tests')
-rw-r--r-- | source/blender/blenlib/tests/BLI_delaunay_2d_test.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/blenlib/tests/BLI_delaunay_2d_test.cc b/source/blender/blenlib/tests/BLI_delaunay_2d_test.cc index 338d6f96bef..487afc095f9 100644 --- a/source/blender/blenlib/tests/BLI_delaunay_2d_test.cc +++ b/source/blender/blenlib/tests/BLI_delaunay_2d_test.cc @@ -21,6 +21,7 @@ extern "C" { #include "BLI_array.hh" #include "BLI_double2.hh" +#include "BLI_math_boolean.hh" #include "BLI_math_mpq.hh" #include "BLI_mpq2.hh" #include "BLI_vector.hh" @@ -1696,7 +1697,7 @@ void rand_delaunay_test(int test_kind, in.vert[ic][1] = T((param * sin(angle3))); /* Put the coordinates in ccw order. */ in.face[i].append(ia); - int orient = vec2<T>::orient2d(in.vert[ia], in.vert[ib], in.vert[ic]); + int orient = orient2d(in.vert[ia], in.vert[ib], in.vert[ic]); if (orient >= 0) { in.face[i].append(ib); in.face[i].append(ic); |