diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-05-30 10:58:24 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-05-30 11:05:59 +0300 |
commit | d88845324430c4d5d98a828af5cef991f56bcb3f (patch) | |
tree | 0298db193281e9e1ebc16dd49054f509fb06ccdc /source/blender/makesdna | |
parent | d321ed62b8a5d0e9f82c2d7a3229b35a42c49e6d (diff) |
Face Maps: custom-data, UI and RNA API
Add face maps, needed for face-map widgets,
only data structure, widgets will be separate commit.
This comes from 'custom-manipulator' branch with only minor changes.
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_customdata_types.h | 4 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_object_types.h | 13 |
2 files changed, 14 insertions, 3 deletions
diff --git a/source/blender/makesdna/DNA_customdata_types.h b/source/blender/makesdna/DNA_customdata_types.h index 0e8573c8d46..0e0b1d669d9 100644 --- a/source/blender/makesdna/DNA_customdata_types.h +++ b/source/blender/makesdna/DNA_customdata_types.h @@ -92,7 +92,7 @@ typedef enum CustomDataType { CD_MCOL = 6, CD_ORIGINDEX = 7, CD_NORMAL = 8, -/* CD_POLYINDEX = 9, */ + CD_FACEMAP = 9, /* exclusive face group, each face can only be part of one */ CD_PROP_FLT = 10, CD_PROP_INT = 11, CD_PROP_STR = 12, @@ -143,7 +143,7 @@ typedef enum CustomDataType { #define CD_MASK_MCOL (1 << CD_MCOL) #define CD_MASK_ORIGINDEX (1 << CD_ORIGINDEX) #define CD_MASK_NORMAL (1 << CD_NORMAL) -// #define CD_MASK_POLYINDEX (1 << CD_POLYINDEX) +#define CD_MASK_FACEMAP (1 << CD_FACEMAP) #define CD_MASK_PROP_FLT (1 << CD_PROP_FLT) #define CD_MASK_PROP_INT (1 << CD_PROP_INT) #define CD_MASK_PROP_STR (1 << CD_PROP_STR) diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 31fc1c0a5c0..ba42f403a30 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -65,6 +65,14 @@ typedef struct bDeformGroup { /* need this flag for locking weights */ char flag, pad[7]; } bDeformGroup; + +/* Face Maps*/ +typedef struct bFaceMap { + struct bFaceMap *next, *prev; + char name[64]; /* MAX_VGROUP_NAME */ +} bFaceMap; + + #define MAX_VGROUP_NAME 64 /* bDeformGroup->flag */ @@ -142,7 +150,8 @@ typedef struct Object { ListBase effect DNA_DEPRECATED; // XXX deprecated... keep for readfile ListBase defbase; /* list of bDeformGroup (vertex groups) names and flag only */ ListBase modifiers; /* list of ModifierData structures */ - + ListBase fmaps; /* list of facemaps */ + int mode; /* Local object mode */ int restore_mode; /* Keep track of what mode to return to after toggling a mode */ @@ -251,6 +260,8 @@ typedef struct Object { short index; /* custom index, for renderpasses */ unsigned short actdef; /* current deformation group, note: index starts at 1 */ + unsigned short actfmap; /* current face map, note: index starts at 1 */ + unsigned char pad5[6]; float col[4]; /* object color */ int gameflag; |