Page Menu
Home
Search
Configure Global Search
Log In
Files
F5785
grouppatch.diff
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Authored By
Roland Hess (harkyman)
Nov 13 2013, 1:25 PM
Size
1 KB
Subscribers
None
grouppatch.diff
View Options
Index: /Users/rolandhess/Documents/bf-blender-cvs/blender/source/blender/src/editaction.c
===================================================================
--- /Users/rolandhess/Documents/bf-blender-cvs/blender/source/blender/src/editaction.c (revision 13906)
+++ /Users/rolandhess/Documents/bf-blender-cvs/blender/source/blender/src/editaction.c (working copy)
@@ -2461,6 +2461,24 @@
}
}
+/* selects all action channels (and therefore bones) of an
+action channel group. Have to iterate over all channels and
+look for matches, because the linked list in the group points to
+all channels in the action after the first one in the group */
+static void select_actionchannels_by_group(bAction *act, bActionGroup *agrp, int selectmode)
+{
+ bActionChannel *achan;
+ int select;
+
+ if (!act)
+ return;
+ for (achan = act->chanbase.first; achan; achan= achan->next) {
+ if (achan->grp == agrp) {
+ select = select_channel(act, achan, selectmode);
+ }
+ }
+}
+
/* apparently within active object context */
/* called extern, like on bone selection */
void select_actionchannel_by_name (bAction *act, char *name, int select)
@@ -3423,6 +3441,8 @@
deselect_actionchannels(act, 0);
select_action_group(act, agrp, SELECT_ADD);
}
+ /* select/deselect channels in group */
+ select_actionchannels_by_group(act, agrp, SELECT_ADD);
}
}
break;
File Metadata
Details
Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
14/73/1724f8d694068a7792b5810bf077
Event Timeline
Log In to Comment