Fix #28427: smooth faces flash momentarily when extruded using "extrude and move on normals" tool (E key)

Update normals just after extrude -- topology is changing when extruding
and normals for non-extruded faces should be recalculated after this.
This commit is contained in:
2011-08-30 15:30:38 +00:00
parent 131c2a3208
commit 9eb9d9b7d2

View File

@@ -1141,6 +1141,9 @@ short extrudeflag_face_indiv(EditMesh *em, short UNUSED(flag), float *UNUSED(nor
EM_select_flush(em);
/* step 5; update normals after extrude */
recalc_editnormals(em);
return 'n';
}
@@ -1206,6 +1209,9 @@ short extrudeflag_edges_indiv(EditMesh *em, short flag, float *nor)
if(eed->v1->f & eed->v2->f & flag) eed->f |= flag;
}
/* update normals after extrude */
recalc_editnormals(em);
if(is_zero_v3(nor)) return 'g'; // g is grab
return 'n'; // n is for normal constraint
}
@@ -1485,6 +1491,9 @@ static short extrudeflag_edge(Object *obedit, EditMesh *em, short UNUSED(flag),
EM_select_flush(em);
/* step 8; update normals after extrude */
recalc_editnormals(em);
if(is_zero_v3(nor)) return 'g'; // grab
return 'n'; // normal constraint
}