Blender V4.3
bActionGroup Struct Reference

#include <DNA_action_types.h>

Inherited by blender::animrig::ChannelGroup.

Public Attributes

struct bActionGroupnext
 
struct bActionGroupprev
 
ListBase channels
 
int fcurve_range_start
 
int fcurve_range_length
 
struct ActionChannelBagchannel_bag
 
int flag
 
int customCol
 
char name [64]
 
ThemeWireColor cs
 

Detailed Description

Action-Channel Group (agrp)

These are stored as a list per-Action, and are only used to group that Action's channels in an Animation Editor.

Even though all FCurves live in a big list per Action, each group they are in also holds references to the achans within that list which belong to it. Care must be taken to ensure that action-groups never end up being the sole 'owner' of a channel.

This is also exploited for bone-groups. Bone-Groups are stored per bPose, and are used primarily to color bones in the 3d-view. There are other benefits too, but those are mostly related to Action-Groups.

Note that these two uses each have their own RNA 'ActionGroup' and 'BoneGroup'.

Definition at line 676 of file DNA_action_types.h.

Member Data Documentation

◆ channel_bag

◆ channels

◆ cs

ThemeWireColor bActionGroup::cs

Color set to use when customCol == -1.

Definition at line 721 of file DNA_action_types.h.

Referenced by action_group_colors_set(), action_group_colors_sync(), get_actiongroup_color(), and version_bonegroup_migrate_color().

◆ customCol

int bActionGroup::customCol

Index of custom color set to use when used for bones (0=default - used for all old files, -1=custom set).

Definition at line 716 of file DNA_action_types.h.

Referenced by action_group_colors_set(), action_group_colors_sync(), get_actiongroup_color(), and version_bonegroup_migrate_color().

◆ fcurve_range_length

◆ fcurve_range_start

int bActionGroup::fcurve_range_start

Span of channels in this group for layered actions.

This specifies that span as a range of items in a ChannelBag's fcurve array.

Note that empty groups (fcurve_range_length == 0) are allowed, and they still have a position in the fcurves array, as specified by fcurve_range_start. You can imagine these cases as a zero-width range that sits at the border between the element at fcurve_range_start and the element just before it.

Definition at line 699 of file DNA_action_types.h.

Referenced by action_group_to_keylist(), agrp_keyframes_loop(), animchannels_delete_exec(), animfilter_action_slot(), blender::animrig::ChannelBag::channel_group_create(), blender::animrig::ChannelBag::channel_group_move(), blender::animrig::ChannelBag::channel_group_remove(), blender::animrig::ChannelBag::fcurve_assign_to_channel_group(), blender::animrig::ChannelGroup::fcurves(), blender::animrig::ChannelGroup::fcurves(), rearrange_layered_action_fcurves(), blender::animrig::tests::TEST_F(), blender::animrig::tests::TEST_F(), blender::animrig::tests::TEST_F(), blender::animrig::tests::TEST_F(), blender::animrig::tests::TEST_F(), blender::animrig::tests::TEST_F(), blender::animrig::tests::TEST_F(), and blender::animrig::tests::TEST_F().

◆ flag

◆ name

◆ next

struct bActionGroup* bActionGroup::next

◆ prev

struct bActionGroup * bActionGroup::prev

Definition at line 677 of file DNA_action_types.h.

Referenced by action_groups_add_channel(), and blender::bke::tests::TEST().


The documentation for this struct was generated from the following file: