From f18dab65ad4af5e96ac439b68a773ddbb9c0074c Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 19 Mar 2012 21:09:16 +0000 Subject: Fix #30531: mirror modifier with vertex groups did not add both the left and right groups to merged vertices, only one. This made the result asymmetric, now merged vertices will be part of both groups with half weight. --- source/blender/modifiers/intern/MOD_mirror.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern/MOD_mirror.c') diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index 29b37acaeaf..b4129483c8d 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -272,8 +272,12 @@ static DerivedMesh *doMirrorOnAxis(MirrorModifierData *mmd, flip_map= defgroup_flip_map(ob, &flip_map_len, FALSE); if (flip_map) { - for (i = maxVerts; i-- > 0; dvert++) { - defvert_flip(dvert, flip_map, flip_map_len); + for (i = 0; i < maxVerts; dvert++, i++) { + /* merged vertices get both groups, others get flipped */ + if(do_vtargetmap && (vtargetmap[i] != -1)) + defvert_flip_merged(dvert, flip_map, flip_map_len); + else + defvert_flip(dvert, flip_map, flip_map_len); } MEM_freeN(flip_map); -- cgit v1.2.3