diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-09-04 11:53:10 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-09-04 11:53:10 +0400 |
commit | 5e3b63a22bfd2f0b6fb683f1ebcac1dc96fc1627 (patch) | |
tree | 04e10370564c2114d6d36e0dbaf676df296a5e22 /source/blender/editors/armature/armature_skinning.c | |
parent | 94f35ecf1b619b756e503122434f10bc492fb37a (diff) |
Fix T41463: Mirror Modifier breaks Automatic-Weights in weight-paint mode
The problem was it used copied verts on the opposite side.
Diffstat (limited to 'source/blender/editors/armature/armature_skinning.c')
-rw-r--r-- | source/blender/editors/armature/armature_skinning.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/source/blender/editors/armature/armature_skinning.c b/source/blender/editors/armature/armature_skinning.c index 57ae03ccebe..fbc18e977ce 100644 --- a/source/blender/editors/armature/armature_skinning.c +++ b/source/blender/editors/armature/armature_skinning.c @@ -180,15 +180,6 @@ static int dgroup_skinnable_cb(Object *ob, Bone *bone, void *datap) return 0; } -static void add_vgroups__mapFunc(void *userData, int index, const float co[3], - const float UNUSED(no_f[3]), const short UNUSED(no_s[3])) -{ - /* DerivedMesh mapFunc for getting final coords in weight paint mode */ - - float (*verts)[3] = userData; - copy_v3_v3(verts[index], co); -} - static void envelope_bone_weighting(Object *ob, Mesh *mesh, float (*verts)[3], int numbones, Bone **bonelist, bDeformGroup **dgrouplist, bDeformGroup **dgroupflip, float (*root)[3], float (*tip)[3], const int *selected, float scale) @@ -374,7 +365,7 @@ static void add_verts_to_dgroups(ReportList *reports, Scene *scene, Object *ob, DerivedMesh *dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH); if (dm->foreachMappedVert) { - dm->foreachMappedVert(dm, add_vgroups__mapFunc, (void *)verts, DM_FOREACH_NOP); + mesh_get_mapped_verts_coords(dm, verts, mesh->totvert); vertsfilled = 1; } |