From 3bf31c6d234537e2207fc71b1ef016f800803ca9 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 4 May 2017 01:32:16 +1000 Subject: Move pose-bone colors into draw_data Also only allocate necessary number of bone segments. --- source/blender/makesdna/DNA_action_types.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'source/blender/makesdna/DNA_action_types.h') diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h index d4fd54ce7ad..87749c3b768 100644 --- a/source/blender/makesdna/DNA_action_types.h +++ b/source/blender/makesdna/DNA_action_types.h @@ -180,6 +180,16 @@ typedef enum eMotionPaths_BakeFlag { MOTIONPATH_BAKE_HAS_PATHS = (1 << 2) } eMotionPath_BakeFlag; +# +# +typedef struct bPoseChannelDrawData { + float solid_color[4]; + float wire_color[4]; + + int bbone_matrix_len; + float bbone_matrix[32][4][4]; +} bPoseChannelDrawData; + /* ************************************************ */ /* Poses */ @@ -261,11 +271,9 @@ typedef struct bPoseChannel { struct bPoseChannel *bbone_prev; /* next/prev bones to use as handle references when calculating bbones (optional) */ struct bPoseChannel *bbone_next; - float disp_solid_color[4]; /* for display only */ - float disp_wire_color[4]; - void *temp; /* use for outliner */ - void *draw_data; /* Used to cache each bbone's segment matrix. */ + /* Runtime data for color and bbone segment matrix. */ + bPoseChannelDrawData *draw_data; } bPoseChannel; -- cgit v1.2.3