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:
authorCampbell Barton <ideasman42@gmail.com>2011-04-25 14:04:07 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-04-25 14:04:07 +0400
commitdd00e1f4c636d373e0b3c50aebd890c59ea91daf (patch)
tree4579b3a712451afbcf3790de6a05c60fb87f9501
parent16ba37702622ab7995b52ded156051199108873c (diff)
fix [#27121] Normals always recalculated when adding a mesh in Edit mode
-rw-r--r--source/blender/editors/mesh/editmesh_add.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/editors/mesh/editmesh_add.c b/source/blender/editors/mesh/editmesh_add.c
index b3492a5fb09..8365d88d0c8 100644
--- a/source/blender/editors/mesh/editmesh_add.c
+++ b/source/blender/editors/mesh/editmesh_add.c
@@ -1081,6 +1081,7 @@ static void make_prim(Object *obedit, int type, float mat[4][4], int tot, int se
}
eve= eve->next;
}
+ recalc_editnormals(em);
break;
case PRIM_UVSPHERE: /* UVsphere */
@@ -1102,7 +1103,7 @@ static void make_prim(Object *obedit, int type, float mat[4][4], int tot, int se
eve= addvertlist(em, vec, NULL);
eve->f= 1+2+4;
if(a==0) v1= eve;
- else addedgelist(em, eve->prev, eve, NULL);
+ else addedgelist(em, eve, eve->prev, NULL);
phi+= phid;
}
@@ -1128,6 +1129,7 @@ static void make_prim(Object *obedit, int type, float mat[4][4], int tot, int se
}
eve= eve->next;
}
+ recalc_editnormals(em);
break;
case PRIM_ICOSPHERE: /* Icosphere */
{
@@ -1320,9 +1322,9 @@ static void make_prim(Object *obedit, int type, float mat[4][4], int tot, int se
EM_stats_update(em);
/* simple selection flush OK, based on fact it's a single model */
EM_select_flush(em); /* flushes vertex -> edge -> face selection */
-
- if(type!=PRIM_PLANE && type!=PRIM_MONKEY)
- EM_recalc_normal_direction(em, 0, 0); /* otherwise monkey has eyes in wrong direction */
+
+ if(!ELEM5(type, PRIM_GRID, PRIM_PLANE, PRIM_ICOSPHERE, PRIM_UVSPHERE, PRIM_MONKEY))
+ EM_recalc_normal_direction(em, FALSE, TRUE); /* otherwise monkey has eyes in wrong direction */
BKE_mesh_end_editmesh(obedit->data, em);
}