diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-06-12 20:20:07 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-06-12 20:24:07 +0300 |
commit | 1b8a785d83c85c2b9d605985c377191663ea13fb (patch) | |
tree | e034491af83b51862fcfa0eb294a39c6667f597d /source/blender/editors/armature/armature_utils.c | |
parent | 07562a4afb301cf61bdaf9ed4b2b0f37150da6dd (diff) |
Armature: add armature dissolve
Works like mesh dissolve (access from delete or Ctrl+X)
Diffstat (limited to 'source/blender/editors/armature/armature_utils.c')
-rw-r--r-- | source/blender/editors/armature/armature_utils.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/editors/armature/armature_utils.c b/source/blender/editors/armature/armature_utils.c index 18351950462..09284860ec4 100644 --- a/source/blender/editors/armature/armature_utils.c +++ b/source/blender/editors/armature/armature_utils.c @@ -276,18 +276,19 @@ EditBone *ED_armature_bone_get_mirrored(const ListBase *edbo, EditBone *ebo) /* helper function for tools to work on mirrored parts. * it leaves mirrored bones selected then too, which is a good indication of what happened */ -void armature_select_mirrored(bArmature *arm) +void armature_select_mirrored_ex(bArmature *arm, const int flag) { + BLI_assert((flag & ~(BONE_SELECTED | BONE_ROOTSEL | BONE_TIPSEL)) == 0); /* Select mirrored bones */ if (arm->flag & ARM_MIRROR_EDIT) { EditBone *curBone, *ebone_mirr; for (curBone = arm->edbo->first; curBone; curBone = curBone->next) { if (arm->layer & curBone->layer) { - if (curBone->flag & BONE_SELECTED) { + if (curBone->flag & flag) { ebone_mirr = ED_armature_bone_get_mirrored(arm->edbo, curBone); if (ebone_mirr) - ebone_mirr->flag |= BONE_SELECTED; + ebone_mirr->flag |= (curBone->flag & flag); } } } @@ -295,6 +296,11 @@ void armature_select_mirrored(bArmature *arm) } +void armature_select_mirrored(bArmature *arm) +{ + armature_select_mirrored_ex(arm, BONE_SELECTED); +} + void armature_tag_select_mirrored(bArmature *arm) { EditBone *curBone; |