[Bf-blender-cvs] [099a99dbc9c] master: Select similar for bones by group index
Campbell Barton
noreply at git.blender.org
Thu Nov 30 04:30:39 CET 2017
Commit: 099a99dbc9c4f166bb29bd91ea1048eb35c663d5
Author: Campbell Barton
Date: Thu Nov 30 14:33:58 2017 +1100
Branches: master
https://developer.blender.org/rB099a99dbc9c4f166bb29bd91ea1048eb35c663d5
Select similar for bones by group index
D2931 by @col-one
===================================================================
M source/blender/editors/armature/armature_select.c
===================================================================
diff --git a/source/blender/editors/armature/armature_select.c b/source/blender/editors/armature/armature_select.c
index 07ff7f15ce4..fc295647ed5 100644
--- a/source/blender/editors/armature/armature_select.c
+++ b/source/blender/editors/armature/armature_select.c
@@ -801,6 +801,7 @@ enum {
SIMEDBONE_PREFIX,
SIMEDBONE_SUFFIX,
SIMEDBONE_LAYER,
+ SIMEDBONE_GROUP,
SIMEDBONE_SHAPE,
};
@@ -813,6 +814,7 @@ static const EnumPropertyItem prop_similar_types[] = {
{SIMEDBONE_PREFIX, "PREFIX", 0, "Prefix", ""},
{SIMEDBONE_SUFFIX, "SUFFIX", 0, "Suffix", ""},
{SIMEDBONE_LAYER, "LAYER", 0, "Layer", ""},
+ {SIMEDBONE_GROUP, "GROUP", 0, "Group", ""},
{SIMEDBONE_SHAPE, "SHAPE", 0, "Shape", ""},
{0, NULL, 0, NULL, NULL}
};
@@ -1003,6 +1005,9 @@ static int armature_select_similar_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
+#define STRUCT_SIZE_AND_OFFSET(_struct, _member) \
+ sizeof(((_struct *)NULL)->_member), offsetof(_struct, _member)
+
switch (type) {
case SIMEDBONE_CHILDREN:
select_similar_children(arm, ebone_act);
@@ -1028,13 +1033,20 @@ static int armature_select_similar_exec(bContext *C, wmOperator *op)
case SIMEDBONE_LAYER:
select_similar_layer(arm, ebone_act);
break;
+ case SIMEDBONE_GROUP:
+ select_similar_data_pchan(
+ arm, obedit, ebone_act,
+ STRUCT_SIZE_AND_OFFSET(bPoseChannel, agrp_index));
+ break;
case SIMEDBONE_SHAPE:
select_similar_data_pchan(
arm, obedit, ebone_act,
- sizeof(void *), offsetof(bPoseChannel, custom));
+ STRUCT_SIZE_AND_OFFSET(bPoseChannel, custom));
break;
}
+#undef STRUCT_SIZE_AND_OFFSET
+
WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, obedit);
return OPERATOR_FINISHED;
More information about the Bf-blender-cvs
mailing list