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-10-09 17:30:26 +0300
committerHoward Trickey <howard.trickey@gmail.com>2020-10-09 17:43:07 +0300
commit16ca29527883d6bc6fcdaacfe063d74dc51d03c2 (patch)
tree0449faa90b0875b1aa8e3e4df9c6326cf2411e7b /source/blender/blenlib
parent14c53c5018abaa1ab05f1821cdb1b2e0b7824d21 (diff)
Fix New Boolean bug that left some stray vertices.
The routine to find dissolvable vertices had a check to ensure that the vertex was exactly in line with the two neighbors. I have convinced myself that this check is unneccesary (it was failing with only a 1e-9 difference from 0 on a cross check), so have removed it.
Diffstat (limited to 'source/blender/blenlib')
-rw-r--r--source/blender/blenlib/intern/mesh_boolean.cc12
1 files changed, 2 insertions, 10 deletions
diff --git a/source/blender/blenlib/intern/mesh_boolean.cc b/source/blender/blenlib/intern/mesh_boolean.cc
index a6ab30a3b26..169687cf9d1 100644
--- a/source/blender/blenlib/intern/mesh_boolean.cc
+++ b/source/blender/blenlib/intern/mesh_boolean.cc
@@ -3113,16 +3113,8 @@ static Array<bool> find_dissolve_verts(IMesh &imesh_out, int *r_count_dissolve)
const std::pair<const Vert *, const Vert *> &nbrs = neighbors[v_out];
if (nbrs.first != nullptr) {
BLI_assert(nbrs.second != nullptr);
- const mpq3 &co1 = nbrs.first->co_exact;
- const mpq3 &co2 = nbrs.second->co_exact;
- const mpq3 &co = imesh_out.vert(v_out)->co_exact;
- mpq3 dir1 = co - co1;
- mpq3 dir2 = co2 - co;
- mpq3 cross = mpq3::cross(dir1, dir2);
- if (cross[0] == 0 && cross[1] == 0 && cross[2] == 0) {
- dissolve[v_out] = true;
- ++count;
- }
+ dissolve[v_out] = true;
+ ++count;
}
}
}