Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2008-01-20 05:55:35 +0300
committerJoshua Leung <aligorith@gmail.com>2008-01-20 05:55:35 +0300
commitcd137f28985cd0a7d730f9feb4cdecf50ca4072f (patch)
treeffee43c7c2ae632436b5e33379247f2f78d07ebe /source/blender/makesdna/DNA_action_types.h
parente3b202d0b935d991f055a4db9f03419f3bfdd59f (diff)
== Bone Groups ==
I'm committing some work-in-progress code for "bone groups" now, as I there have been are some major bugs caused by the timeoffset stuff (some of my test files were not loading, and other files were showing all sorts of weird problems). Anyway, in this commit, the following things for "bone groups" have been done: * Bone groups are stored per armature (internally, this is per bPose block) * Added controls for editing bone-groups per armature - "add", "remove", "rename". These can be found in the "Links and Materials" panel in PoseMode, beside the settings for PoseLib. * Reorganised buttons for editing selected bones in PoseMode. I've replaced the "dist" and "weight" buttons (they existed in EditMode anyway) with a menu to choose the bone-group and the custom-shape-ob field. In the place of the old custom-shape-ob field, I've restored the "Hide" button. This might break muscle-memory a bit, but there isn't a lot of space to play with there. Some stuff I'd been originally planning to do before committing: * When adding keyframes for bones, an action-group with the same name as the bone's group will be added to the action, and the action-channel will be made a member of that. * New action/bone groups have unique names (renaming/adding new should check if name exists before assigning it) * There's a setting under Bone-Groups stuff which sets which custom-colour set is used to colour that group's bones. Currently, this is non-functional, as the necessary drawing code for armatures is not in place yet.
Diffstat (limited to 'source/blender/makesdna/DNA_action_types.h')
-rw-r--r--source/blender/makesdna/DNA_action_types.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h
index ea145e7ef79..977abaffeb4 100644
--- a/source/blender/makesdna/DNA_action_types.h
+++ b/source/blender/makesdna/DNA_action_types.h
@@ -51,7 +51,7 @@ typedef struct bPoseChannel {
short ikflag; /* settings for IK bones */
short selectflag; /* copy of bone flag, so you can work with library armatures */
short protectflag; /* protect channels from being transformed */
- short customCol; /* index of custom color set to use (0=default - used for all old files) */
+ short agrp_index; /* index of action-group this bone belongs to (0 = default/no group) */
int pathlen; /* for drawing paths, the amount of frames */
int pathsf; /* for drawing paths, the start frame number */
@@ -98,6 +98,12 @@ typedef struct bPose {
float ctime; /* local action time of this pose */
float stride_offset[3]; /* applied to object */
float cyclic_offset[3]; /* result of match and cycles, applied in where_is_pose() */
+
+
+ ListBase agroups; /* list of bActionGroups */
+
+ int active_group; /* index of active group (starts from 1) */
+ int pad;
} bPose;
@@ -114,7 +120,7 @@ typedef struct bActionGroup {
struct bActionGroup *next, *prev;
int flag; /* settings for this action-group */
- int pad;
+ int customCol; /* index of custom color set to use when used for bones (0=default - used for all old files) */
char name[32]; /* name of the group */
ListBase channels; /* Note: this must not be touched by standard listbase functions */
@@ -197,6 +203,7 @@ typedef enum AGRP_FLAG {
AGRP_ACTIVE = (1<<1),
AGRP_PROTECTED = (1<<2),
AGRP_EXPANDED = (1<<3),
+
AGRP_TEMP = (1<<30),
AGRP_MOVED = (1<<31)
} AGRP_FLAG;