fix [#37013] Mesh > bisect can't fill the cut if it lines up with two or more adjacent vertices

This commit is contained in:
Campbell Barton
2013-10-16 03:21:55 +00:00
parent 4ae564bfa6
commit 1ae0de2f3a

View File

@@ -372,7 +372,7 @@ void BM_mesh_bisect_plane(BMesh *bm, float plane[4],
BM_VERT_DIR(v_new) = 0;
BM_VERT_DIST(v_new) = 0.0f;
}
else {
else if (side[0] == 0 || side[1] == 0) {
/* check if either edge verts are aligned,
* if so - tag and push all faces that use it into the stack */
unsigned int j;
@@ -394,6 +394,13 @@ void BM_mesh_bisect_plane(BMesh *bm, float plane[4],
}
}
}
/* if both verts are on the center - tag it */
if (oflag_center) {
if (side[0] == 0 && side[1] == 0) {
BMO_elem_flag_enable(bm, e, oflag_center);
}
}
}
}