Fix T93695: Discontinuous cutting with the knife tool

An important check to reject edge linehits when a vertex of that edge
was already hit was accidentally removed in
rB6e77afe6ec7b6a73f218f1fef264758abcbc778a
This commit is contained in:
Cian Jinks 2022-01-05 18:27:52 +00:00 committed by Philipp Oeser
parent ed397ff507
commit 72aefef9d2
Notes: blender-bot 2023-02-14 08:08:54 +01:00
Referenced by issue #93695, Discontinuous cutting with the knife tool
Referenced by issue #93479, 3.0 Potential candidates for corrective releases
1 changed files with 6 additions and 0 deletions

View File

@ -3009,6 +3009,12 @@ static void knife_find_line_hits(KnifeTool_OpData *kcd)
for (val = BLI_smallhash_iternew(&kfes, &hiter, (uintptr_t *)&kfe); val;
val = BLI_smallhash_iternext(&hiter, (uintptr_t *)&kfe)) {
/* If we intersect any of the vertices, don't attempt to intersect the edge. */
if (BLI_smallhash_lookup(&kfvs, (intptr_t)kfe->v1) ||
BLI_smallhash_lookup(&kfvs, (intptr_t)kfe->v2)) {
continue;
}
knife_project_v2(kcd, kfe->v1->cageco, se1);
knife_project_v2(kcd, kfe->v2->cageco, se2);
int isect_kind = 1;