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:
authorSergey Sharybin <sergey.vfx@gmail.com>2011-08-30 19:30:38 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2011-08-30 19:30:38 +0400
commit9eb9d9b7d2492b12cf61859597093980b565694c (patch)
treed56d8a6e59e1ceace394d9e95ac00d863c7a55c8 /source/blender/editors/mesh/editmesh_lib.c
parent131c2a3208842f36c1958d6f9ff19dde5c2bd76c (diff)
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.
Diffstat (limited to 'source/blender/editors/mesh/editmesh_lib.c')
-rw-r--r--source/blender/editors/mesh/editmesh_lib.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/editors/mesh/editmesh_lib.c b/source/blender/editors/mesh/editmesh_lib.c
index b7ed6ec14ca..0afa2d01702 100644
--- a/source/blender/editors/mesh/editmesh_lib.c
+++ b/source/blender/editors/mesh/editmesh_lib.c
@@ -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
}