diff options
Diffstat (limited to 'source/blender/makesdna/DNA_object_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_object_types.h | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index d00e00a697e..ca594c66f50 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -142,6 +142,10 @@ typedef struct Object_Runtime { * It has deforemation only modifiers applied on it. */ struct Mesh *mesh_deform_eval; + + + /* Runtime evaluated curve-specific data, not stored in the file. */ + struct CurveCache *curve_cache; } Object_Runtime; typedef struct Object { @@ -176,7 +180,9 @@ 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 greasepencil_modifiers; /* list of GpencilModifierData structures */ ListBase fmaps; /* list of facemaps */ + ListBase shader_fx; /* list of viewport effects. Actually only used by grease pencil */ int mode; /* Local object mode */ int restore_mode; @@ -280,10 +286,6 @@ typedef struct Object { uint64_t lastDataMask; /* the custom data layer mask that was last used to calculate derivedDeform and derivedFinal */ uint64_t customdata_mask; /* (extra) custom data layer mask to use for creating derivedmesh, set by depsgraph */ - /* Runtime valuated curve-specific data, not stored in the file */ - struct CurveCache *curve_cache; - - ListBase gpulamp; /* runtime, for glsl lamp display only */ ListBase pc_ids; struct RigidBodyOb *rigidbody_object; /* settings for Bullet rigid body */ @@ -352,6 +354,9 @@ enum { /* 23 and 24 are for life and sector (old file compat.) */ OB_ARMATURE = 25, +/* Grease Pencil object used in 3D view but not used for annotation in 2D */ + OB_GPENCIL = 26, + OB_TYPE_MAX, }; @@ -362,9 +367,9 @@ enum { /* check if the object type supports materials */ #define OB_TYPE_SUPPORT_MATERIAL(_type) \ - (ELEM(_type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL, OB_GROOM)) + (ELEM(_type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL, OB_GROOM, OB_GPENCIL)) #define OB_TYPE_SUPPORT_VGROUP(_type) \ - (ELEM(_type, OB_MESH, OB_LATTICE)) + (ELEM(_type, OB_MESH, OB_LATTICE, OB_GPENCIL)) #define OB_TYPE_SUPPORT_EDITMODE(_type) \ (ELEM(_type, OB_MESH, OB_FONT, OB_CURVE, OB_SURF, OB_MBALL, OB_LATTICE, OB_ARMATURE, OB_GROOM)) #define OB_TYPE_SUPPORT_PARVERT(_type) \ @@ -376,10 +381,10 @@ enum { /* is this ID type used as object data */ #define OB_DATA_SUPPORT_ID(_id_type) \ - (ELEM(_id_type, ID_ME, ID_CU, ID_MB, ID_LA, ID_SPK, ID_LP, ID_CA, ID_LT, ID_AR, ID_GM)) + (ELEM(_id_type, ID_ME, ID_CU, ID_MB, ID_LA, ID_SPK, ID_LP, ID_CA, ID_LT, ID_AR, ID_GD, ID_GM)) #define OB_DATA_SUPPORT_ID_CASE \ - ID_ME: case ID_CU: case ID_MB: case ID_LA: case ID_SPK: case ID_LP: case ID_CA: case ID_LT: case ID_AR: case ID_GM + ID_ME: case ID_CU: case ID_MB: case ID_LA: case ID_SPK: case ID_LP: case ID_CA: case ID_LT: case ID_AR: case ID_GD: case ID_GM /* partype: first 4 bits: type */ enum { @@ -467,6 +472,13 @@ enum { OB_EMPTY_IMAGE = 8, }; +/* gpencil add types */ +enum { + GP_EMPTY = 0, + GP_STROKE = 1, + GP_MONKEY = 2 +}; + /* boundtype */ enum { OB_BOUND_BOX = 0, |