From 52059278920e161a89b8817131d31857bf4d7973 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 20 Sep 2012 00:53:25 +0000 Subject: Fix #32596: bones in armature created from skin modifier have wrong envelope values. --- source/blender/editors/object/object_modifier.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'source/blender') diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c index 67c99a12428..6fe7ad05a70 100644 --- a/source/blender/editors/object/object_modifier.c +++ b/source/blender/editors/object/object_modifier.c @@ -1692,11 +1692,9 @@ static void skin_armature_bone_create(Object *skin_ob, v = (e->v1 == parent_v ? e->v2 : e->v1); - bone = MEM_callocN(sizeof(EditBone), - "skin_armature_bone_create EditBone"); + bone = ED_armature_edit_bone_add(arm, "Bone"); bone->parent = parent_bone; - bone->layer = 1; bone->flag |= BONE_CONNECTED; copy_v3_v3(bone->head, mvert[parent_v].co); @@ -1704,8 +1702,6 @@ static void skin_armature_bone_create(Object *skin_ob, bone->rad_head = bone->rad_tail = 0.25; BLI_snprintf(bone->name, sizeof(bone->name), "Bone.%.2d", endx); - BLI_addtail(arm->edbo, bone); - /* add bDeformGroup */ if ((dg = ED_vgroup_add_name(skin_ob, bone->name))) { ED_vgroup_vert_add(skin_ob, dg, parent_v, 1, WEIGHT_REPLACE); @@ -1770,16 +1766,13 @@ static Object *modifier_skin_armature_create(struct Scene *scene, * a fake root bone (have it going off in the Y direction * (arbitrary) */ if (emap[v].count > 1) { - bone = MEM_callocN(sizeof(EditBone), "EditBone"); + bone = ED_armature_edit_bone_add(arm, "Bone"); copy_v3_v3(bone->head, me->mvert[v].co); copy_v3_v3(bone->tail, me->mvert[v].co); - bone->layer = 1; bone->head[1] = 1.0f; bone->rad_head = bone->rad_tail = 0.25; - - BLI_addtail(arm->edbo, bone); } if (emap[v].count >= 1) { -- cgit v1.2.3