Recent change to bmesh_jekv caused assert
Note that the mesh was valid, this just stops the radial check from failing.
This commit is contained in:
@@ -1744,6 +1744,8 @@ BMEdge *bmesh_jekv(
|
||||
}
|
||||
else {
|
||||
BMEdge *e_splice;
|
||||
BLI_SMALLSTACK_DECLARE(faces_degenerate, BMFace *);
|
||||
BMLoop *l_kill_next;
|
||||
|
||||
#ifndef NDEBUG
|
||||
/* For verification later, count valence of v_old and tv */
|
||||
@@ -1765,8 +1767,7 @@ BMEdge *bmesh_jekv(
|
||||
radlen = bmesh_radial_length(e_kill->l);
|
||||
#endif
|
||||
if (e_kill->l) {
|
||||
BLI_SMALLSTACK_DECLARE(faces_degenerate, BMFace *);
|
||||
BMLoop *l_kill_next;
|
||||
|
||||
|
||||
/* fix the neighboring loops of all loops in e_kill's radial cycle */
|
||||
l_kill = e_kill->l;
|
||||
@@ -1800,12 +1801,6 @@ BMEdge *bmesh_jekv(
|
||||
edok = bmesh_radial_validate(radlen, e_old->l);
|
||||
BMESH_ASSERT(edok != false);
|
||||
#endif
|
||||
if (kill_degenerate_faces) {
|
||||
BMFace *f_kill;
|
||||
while ((f_kill = BLI_SMALLSTACK_POP(faces_degenerate))) {
|
||||
BM_face_kill(bm, f_kill);
|
||||
}
|
||||
}
|
||||
}
|
||||
/* deallocate edge */
|
||||
bm_kill_only_edge(bm, e_kill);
|
||||
@@ -1839,7 +1834,6 @@ BMEdge *bmesh_jekv(
|
||||
BM_CHECK_ELEMENT(l->f);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (check_edge_double) {
|
||||
if (e_splice) {
|
||||
/* removes e_splice */
|
||||
@@ -1847,6 +1841,13 @@ BMEdge *bmesh_jekv(
|
||||
}
|
||||
}
|
||||
|
||||
if (kill_degenerate_faces) {
|
||||
BMFace *f_kill;
|
||||
while ((f_kill = BLI_SMALLSTACK_POP(faces_degenerate))) {
|
||||
BM_face_kill(bm, f_kill);
|
||||
}
|
||||
}
|
||||
|
||||
BM_CHECK_ELEMENT(v_old);
|
||||
BM_CHECK_ELEMENT(tv);
|
||||
BM_CHECK_ELEMENT(e_old);
|
||||
|
||||
Reference in New Issue
Block a user