Blender V4.3

Enumerations for DNA_ID.h. More...

Go to the source code of this file.

Macros

#define IDP_NUMTYPES   11
 
#define MAKE_ID2(c, d)   ((d) << 8 | (c))
 
#define ID_LINK_PLACEHOLDER   MAKE_ID2('I', 'D') /* (internal use only) */
 
#define ID_SCRN   MAKE_ID2('S', 'N')
 
#define ID_SEQ   MAKE_ID2('S', 'Q')
 
#define ID_CO   MAKE_ID2('C', 'O')
 
#define ID_PO   MAKE_ID2('A', 'C')
 
#define ID_NLA   MAKE_ID2('N', 'L')
 
#define ID_FLUIDSIM   MAKE_ID2('F', 'S')
 

Typedefs

typedef enum eIDPropertyType eIDPropertyType
 
typedef enum eIDPropertySubType eIDPropertySubType
 
typedef enum eIDPropertyFlag eIDPropertyFlag
 
typedef enum ID_Type ID_Type
 

Enumerations

enum  eIconSizes { ICON_SIZE_ICON = 0 , ICON_SIZE_PREVIEW = 1 , NUM_ICON_SIZES }
 
enum  eIDPropertyType {
  IDP_STRING = 0 , IDP_INT = 1 , IDP_FLOAT = 2 , IDP_ARRAY = 5 ,
  IDP_GROUP = 6 , IDP_ID = 7 , IDP_DOUBLE = 8 , IDP_IDPARRAY = 9 ,
  IDP_BOOLEAN = 10
}
 
enum  {
  IDP_TYPE_FILTER_STRING = 1 << IDP_STRING , IDP_TYPE_FILTER_INT = 1 << IDP_INT , IDP_TYPE_FILTER_FLOAT = 1 << IDP_FLOAT , IDP_TYPE_FILTER_ARRAY = 1 << IDP_ARRAY ,
  IDP_TYPE_FILTER_GROUP = 1 << IDP_GROUP , IDP_TYPE_FILTER_ID = 1 << IDP_ID , IDP_TYPE_FILTER_DOUBLE = 1 << IDP_DOUBLE , IDP_TYPE_FILTER_IDPARRAY = 1 << IDP_IDPARRAY ,
  IDP_TYPE_FILTER_BOOLEAN = 1 << IDP_BOOLEAN
}
 
enum  eIDPropertySubType { IDP_STRING_SUB_UTF8 = 0 , IDP_STRING_SUB_BYTE = 1 }
 
enum  eIDPropertyFlag { IDP_FLAG_OVERRIDABLE_LIBRARY = 1 << 0 , IDP_FLAG_OVERRIDELIBRARY_LOCAL = 1 << 1 , IDP_FLAG_STATIC_TYPE = 1 << 4 , IDP_FLAG_GHOST = 1 << 7 }
 
enum  ID_Type {
  ID_SCE = MAKE_ID2('S', 'C') , ID_LI = MAKE_ID2('L', 'I') , ID_OB = MAKE_ID2('O', 'B') , ID_ME = MAKE_ID2('M', 'E') ,
  ID_CU_LEGACY = MAKE_ID2('C', 'U') , ID_MB = MAKE_ID2('M', 'B') , ID_MA = MAKE_ID2('M', 'A') , ID_TE = MAKE_ID2('T', 'E') ,
  ID_IM = MAKE_ID2('I', 'M') , ID_LT = MAKE_ID2('L', 'T') , ID_LA = MAKE_ID2('L', 'A') , ID_CA = MAKE_ID2('C', 'A') ,
  ID_IP = MAKE_ID2('I', 'P') , ID_KE = MAKE_ID2('K', 'E') , ID_WO = MAKE_ID2('W', 'O') , ID_SCR = MAKE_ID2('S', 'R') ,
  ID_VF = MAKE_ID2('V', 'F') , ID_TXT = MAKE_ID2('T', 'X') , ID_SPK = MAKE_ID2('S', 'K') , ID_SO = MAKE_ID2('S', 'O') ,
  ID_GR = MAKE_ID2('G', 'R') , ID_AR = MAKE_ID2('A', 'R') , ID_AC = MAKE_ID2('A', 'C') , ID_NT = MAKE_ID2('N', 'T') ,
  ID_BR = MAKE_ID2('B', 'R') , ID_PA = MAKE_ID2('P', 'A') , ID_GD_LEGACY = MAKE_ID2('G', 'D') , ID_WM = MAKE_ID2('W', 'M') ,
  ID_MC = MAKE_ID2('M', 'C') , ID_MSK = MAKE_ID2('M', 'S') , ID_LS = MAKE_ID2('L', 'S') , ID_PAL = MAKE_ID2('P', 'L') ,
  ID_PC = MAKE_ID2('P', 'C') , ID_CF = MAKE_ID2('C', 'F') , ID_WS = MAKE_ID2('W', 'S') , ID_LP = MAKE_ID2('L', 'P') ,
  ID_CV = MAKE_ID2('C', 'V') , ID_PT = MAKE_ID2('P', 'T') , ID_VO = MAKE_ID2('V', 'O') , ID_GP = MAKE_ID2('G', 'P')
}
 

Detailed Description

Enumerations for DNA_ID.h.

Definition in file DNA_ID_enums.h.

Macro Definition Documentation

◆ ID_CO

#define ID_CO   MAKE_ID2('C', 'O')

Definition at line 169 of file DNA_ID_enums.h.

Referenced by get_rna_access().

◆ ID_FLUIDSIM

#define ID_FLUIDSIM   MAKE_ID2('F', 'S')

Definition at line 175 of file DNA_ID_enums.h.

◆ ID_LINK_PLACEHOLDER

◆ ID_NLA

◆ ID_PO

#define ID_PO   MAKE_ID2('A', 'C')

Definition at line 171 of file DNA_ID_enums.h.

Referenced by get_rna_access(), and icu_to_fcurves().

◆ ID_SCRN

#define ID_SCRN   MAKE_ID2('S', 'N')

Definition at line 164 of file DNA_ID_enums.h.

Referenced by blo_read_file_internal(), expand_doit_library(), and screen_blend_write().

◆ ID_SEQ

#define ID_SEQ   MAKE_ID2('S', 'Q')

Definition at line 167 of file DNA_ID_enums.h.

Referenced by get_rna_access(), and SEQ_sequence_alloc().

◆ IDP_NUMTYPES

#define IDP_NUMTYPES   11

Definition at line 40 of file DNA_ID_enums.h.

◆ MAKE_ID2

#define MAKE_ID2 ( c,
d )   ((d) << 8 | (c))

Defines for working with IDs.

The tags represent types! This is a dirty way of enabling RTTI. The sig_byte end endian defines aren't really used much.

Definition at line 106 of file DNA_ID_enums.h.

Typedef Documentation

◆ eIDPropertyFlag

◆ eIDPropertySubType

◆ eIDPropertyType

◆ ID_Type

typedef enum ID_Type ID_Type

ID from database.

Written to BHead.code (for file IO) and the first 2 bytes of ID.name (for runtime checks, see GS macro).

Update ID_TYPE_IS_DEPRECATED() when deprecating types.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Used by some IDP utils, keep values in sync with type enum above.

Enumerator
IDP_TYPE_FILTER_STRING 
IDP_TYPE_FILTER_INT 
IDP_TYPE_FILTER_FLOAT 
IDP_TYPE_FILTER_ARRAY 
IDP_TYPE_FILTER_GROUP 
IDP_TYPE_FILTER_ID 
IDP_TYPE_FILTER_DOUBLE 
IDP_TYPE_FILTER_IDPARRAY 
IDP_TYPE_FILTER_BOOLEAN 

Definition at line 43 of file DNA_ID_enums.h.

◆ eIconSizes

enum eIconSizes
Enumerator
ICON_SIZE_ICON 
ICON_SIZE_PREVIEW 
NUM_ICON_SIZES 

Definition at line 16 of file DNA_ID_enums.h.

◆ eIDPropertyFlag

IDProperty.flag.

Enumerator
IDP_FLAG_OVERRIDABLE_LIBRARY 

This IDProperty may be library-overridden. Should only be used/be relevant for custom properties.

IDP_FLAG_OVERRIDELIBRARY_LOCAL 

This collection item IDProperty has been inserted in a local override. This is used by internal code to distinguish between library-originated items and local-inserted ones, as many operations are not allowed on the former.

IDP_FLAG_STATIC_TYPE 

This IDProperty has a static type, i.e. its eIDPropertyType cannot be changed by assigning a new value to it.

Currently, array length is also considered as fixed (i.e. part of the type) when this flag is set. This allows to avoid IDProperty storing vectors e.g. to see their length modified.

Note
Currently, all overridable IDProp are also statically typed. IDProps used as storage for dynamic RNA properties are also always dynamically typed.
Internal flag, user have no direct way to define or edit it.
IDP_FLAG_GHOST 

This means the property is set but RNA will return false when checking RNA_property_is_set, currently this is a runtime flag.

Definition at line 62 of file DNA_ID_enums.h.

◆ eIDPropertySubType

IDProperty.subtype for IDP_STRING properties.

Enumerator
IDP_STRING_SUB_UTF8 
IDP_STRING_SUB_BYTE 

Definition at line 56 of file DNA_ID_enums.h.

◆ eIDPropertyType

IDProperty.type

Enumerator
IDP_STRING 
IDP_INT 
IDP_FLOAT 
IDP_ARRAY 

Array containing int, floats, doubles or groups.

IDP_GROUP 
IDP_ID 
IDP_DOUBLE 
IDP_IDPARRAY 
IDP_BOOLEAN 

True or false value, backed by an int8_t underlying type for arrays. Values are expected to be 0 or 1.

Definition at line 24 of file DNA_ID_enums.h.

◆ ID_Type

enum ID_Type

ID from database.

Written to BHead.code (for file IO) and the first 2 bytes of ID.name (for runtime checks, see GS macro).

Update ID_TYPE_IS_DEPRECATED() when deprecating types.

Enumerator
ID_SCE 
ID_LI 
ID_OB 
ID_ME 
ID_CU_LEGACY 
ID_MB 
ID_MA 
ID_TE 
ID_IM 
ID_LT 
ID_LA 
ID_CA 
ID_IP 
ID_KE 
ID_WO 
ID_SCR 
ID_VF 
ID_TXT 
ID_SPK 
ID_SO 
ID_GR 
ID_AR 
ID_AC 
ID_NT 
ID_BR 
ID_PA 
ID_GD_LEGACY 
ID_WM 
ID_MC 
ID_MSK 
ID_LS 
ID_PAL 
ID_PC 
ID_CF 
ID_WS 
ID_LP 
ID_CV 
ID_PT 
ID_VO 
ID_GP 

Definition at line 117 of file DNA_ID_enums.h.