diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-10-16 20:09:57 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-10-16 20:09:57 +0400 |
commit | 4957d50b790aa6c9b149531faacdeae1d8856aae (patch) | |
tree | 7b81206959b517169543e9624305caa4495bceed /source/blender/editors/object/object_shapekey.c | |
parent | 863e661cc363067fbbe39f4e876e35268bb97ab8 (diff) |
shape key mirror failed with center verts
Diffstat (limited to 'source/blender/editors/object/object_shapekey.c')
-rw-r--r-- | source/blender/editors/object/object_shapekey.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/editors/object/object_shapekey.c b/source/blender/editors/object/object_shapekey.c index 442b86abd98..61ea9ab44a0 100644 --- a/source/blender/editors/object/object_shapekey.c +++ b/source/blender/editors/object/object_shapekey.c @@ -507,7 +507,12 @@ static int ED_object_shape_key_mirror(bContext *C, Scene *scene, Object *ob) for(i1=0, mv=me->mvert; i1<me->totvert; i1++, mv++) { i2= mesh_get_x_mirror_vert(ob, i1); - if(i2 != -1) { + if(i2==i1) { + fp1= ((float *)kb->data) + i1*3; + fp1[0] = -fp1[0]; + tag_elem[i1]= 1; + } + else if(i2 != -1) { if(tag_elem[i1]==0 && tag_elem[i2]==0) { fp1= ((float *)kb->data) + i1*3; fp2= ((float *)kb->data) + i2*3; @@ -522,7 +527,6 @@ static int ED_object_shape_key_mirror(bContext *C, Scene *scene, Object *ob) } tag_elem[i1]= tag_elem[i2]= 1; } - } mesh_octree_table(ob, NULL, NULL, 'e'); |