diff options
author | Ton Roosendaal <ton@blender.org> | 2010-12-28 19:02:47 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2010-12-28 19:02:47 +0300 |
commit | 98ec317d2b6e6ebd245b07cdb41c4848369b367b (patch) | |
tree | 212b2de28c0707fc33753e61a755b34c1c9c3990 /source/blender/editors/mesh | |
parent | 4eb806b0a4a526069100a4fa2ddb8bed5356b397 (diff) |
Bugfix #25395
Mesh "Add grid" was quite broken:
- it added an edge to a previous (not selected) vertex
- it ignored cursor location
- and it didn't use 'align to view'
Now it does behave :)
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r-- | source/blender/editors/mesh/editmesh_add.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/editors/mesh/editmesh_add.c b/source/blender/editors/mesh/editmesh_add.c index 16f629f0450..5d6ed426152 100644 --- a/source/blender/editors/mesh/editmesh_add.c +++ b/source/blender/editors/mesh/editmesh_add.c @@ -1059,7 +1059,7 @@ static void make_prim(Object *obedit, int type, float mat[4][4], int tot, int se vec[2]= 0.0f; eve= addvertlist(em, vec, NULL); eve->f= 1+2+4; - addedgelist(em, eve->prev, eve, NULL); + if(a < tot -1) addedgelist(em, eve->prev, eve, NULL); } /* extrude and translate */ vec[0]= vec[2]= 0.0; @@ -1069,7 +1069,17 @@ static void make_prim(Object *obedit, int type, float mat[4][4], int tot, int se extrudeflag_vert(obedit, em, 2, nor, 0); // nor unused translateflag(em, 2, vec); } + + /* and now do imat */ + eve= em->verts.first; + while(eve) { + if(eve->f & SELECT) { + mul_m4_v3(mat,eve->co); + } + eve= eve->next; + } break; + case PRIM_UVSPHERE: /* UVsphere */ /* clear all flags */ |