Blender  V3.3
Classes | Macros | Typedefs | Enumerations
DNA_customdata_types.h File Reference
#include "DNA_defs.h"

Go to the source code of this file.

Classes

struct  CustomDataLayer
 
struct  CustomDataExternal
 
struct  CustomData
 
struct  CustomData_MeshMasks
 

Macros

#define MAX_CUSTOMDATA_LAYER_NAME   64
 
#define CD_MASK_MVERT   (1 << CD_MVERT)
 
#define CD_MASK_MDEFORMVERT   (1 << CD_MDEFORMVERT)
 
#define CD_MASK_MEDGE   (1 << CD_MEDGE)
 
#define CD_MASK_MFACE   (1 << CD_MFACE)
 
#define CD_MASK_MTFACE   (1 << CD_MTFACE)
 
#define CD_MASK_MCOL   (1 << CD_MCOL)
 
#define CD_MASK_ORIGINDEX   (1 << CD_ORIGINDEX)
 
#define CD_MASK_NORMAL   (1 << CD_NORMAL)
 
#define CD_MASK_FACEMAP   (1 << CD_FACEMAP)
 
#define CD_MASK_PROP_FLOAT   (1 << CD_PROP_FLOAT)
 
#define CD_MASK_PROP_INT32   (1 << CD_PROP_INT32)
 
#define CD_MASK_PROP_STRING   (1 << CD_PROP_STRING)
 
#define CD_MASK_ORIGSPACE   (1 << CD_ORIGSPACE)
 
#define CD_MASK_ORCO   (1 << CD_ORCO)
 
#define CD_MASK_MLOOPUV   (1 << CD_MLOOPUV)
 
#define CD_MASK_PROP_BYTE_COLOR   (1 << CD_PROP_BYTE_COLOR)
 
#define CD_MASK_TANGENT   (1 << CD_TANGENT)
 
#define CD_MASK_MDISPS   (1 << CD_MDISPS)
 
#define CD_MASK_PREVIEW_MCOL   (1 << CD_PREVIEW_MCOL)
 
#define CD_MASK_CLOTH_ORCO   (1 << CD_CLOTH_ORCO)
 
#define CD_MASK_MPOLY   (1 << CD_MPOLY)
 
#define CD_MASK_MLOOP   (1 << CD_MLOOP)
 
#define CD_MASK_SHAPE_KEYINDEX   (1 << CD_SHAPE_KEYINDEX)
 
#define CD_MASK_SHAPEKEY   (1 << CD_SHAPEKEY)
 
#define CD_MASK_BWEIGHT   (1 << CD_BWEIGHT)
 
#define CD_MASK_CREASE   (1 << CD_CREASE)
 
#define CD_MASK_ORIGSPACE_MLOOP   (1LL << CD_ORIGSPACE_MLOOP)
 
#define CD_MASK_PREVIEW_MLOOPCOL   (1LL << CD_PREVIEW_MLOOPCOL)
 
#define CD_MASK_BM_ELEM_PYPTR   (1LL << CD_BM_ELEM_PYPTR)
 
#define CD_MASK_PAINT_MASK   (1LL << CD_PAINT_MASK)
 
#define CD_MASK_GRID_PAINT_MASK   (1LL << CD_GRID_PAINT_MASK)
 
#define CD_MASK_MVERT_SKIN   (1LL << CD_MVERT_SKIN)
 
#define CD_MASK_FREESTYLE_EDGE   (1LL << CD_FREESTYLE_EDGE)
 
#define CD_MASK_FREESTYLE_FACE   (1LL << CD_FREESTYLE_FACE)
 
#define CD_MASK_MLOOPTANGENT   (1LL << CD_MLOOPTANGENT)
 
#define CD_MASK_TESSLOOPNORMAL   (1LL << CD_TESSLOOPNORMAL)
 
#define CD_MASK_CUSTOMLOOPNORMAL   (1LL << CD_CUSTOMLOOPNORMAL)
 
#define CD_MASK_SCULPT_FACE_SETS   (1LL << CD_SCULPT_FACE_SETS)
 
#define CD_MASK_PROP_COLOR   (1ULL << CD_PROP_COLOR)
 
#define CD_MASK_PROP_FLOAT3   (1ULL << CD_PROP_FLOAT3)
 
#define CD_MASK_PROP_FLOAT2   (1ULL << CD_PROP_FLOAT2)
 
#define CD_MASK_PROP_BOOL   (1ULL << CD_PROP_BOOL)
 
#define CD_MASK_PROP_INT8   (1ULL << CD_PROP_INT8)
 
#define CD_MASK_HAIRLENGTH   (1ULL << CD_HAIRLENGTH)
 
#define CD_MASK_MULTIRES_GRIDS   (CD_MASK_MDISPS | CD_GRID_PAINT_MASK)
 
#define CD_MASK_ALL   (~0LL)
 
#define CD_MASK_PROP_ALL
 
#define CD_MASK_COLOR_ALL   (CD_MASK_PROP_COLOR | CD_MASK_PROP_BYTE_COLOR)
 
#define MAX_MTFACE   8
 
#define DYNTOPO_NODE_NONE   -1
 

Typedefs

typedef struct CustomDataLayer CustomDataLayer
 
typedef struct CustomDataExternal CustomDataExternal
 
typedef struct CustomData CustomData
 
typedef enum eCustomDataType eCustomDataType
 
typedef struct CustomData_MeshMasks CustomData_MeshMasks
 

Enumerations

enum  eCustomDataType {
  CD_AUTO_FROM_NAME = -1 , CD_MVERT = 0 , CD_MDEFORMVERT = 2 , CD_MEDGE = 3 ,
  CD_MFACE = 4 , CD_MTFACE = 5 , CD_MCOL = 6 , CD_ORIGINDEX = 7 ,
  CD_NORMAL = 8 , CD_FACEMAP = 9 , CD_PROP_FLOAT = 10 , CD_PROP_INT32 = 11 ,
  CD_PROP_STRING = 12 , CD_ORIGSPACE = 13 , CD_ORCO = 14 , CD_MLOOPUV = 16 ,
  CD_PROP_BYTE_COLOR = 17 , CD_TANGENT = 18 , CD_MDISPS = 19 , CD_PREVIEW_MCOL = 20 ,
  CD_CLOTH_ORCO = 23 , CD_MPOLY = 25 , CD_MLOOP = 26 , CD_SHAPE_KEYINDEX = 27 ,
  CD_SHAPEKEY = 28 , CD_BWEIGHT = 29 , CD_CREASE = 30 , CD_ORIGSPACE_MLOOP = 31 ,
  CD_PREVIEW_MLOOPCOL = 32 , CD_BM_ELEM_PYPTR = 33 , CD_PAINT_MASK = 34 , CD_GRID_PAINT_MASK = 35 ,
  CD_MVERT_SKIN = 36 , CD_FREESTYLE_EDGE = 37 , CD_FREESTYLE_FACE = 38 , CD_MLOOPTANGENT = 39 ,
  CD_TESSLOOPNORMAL = 40 , CD_CUSTOMLOOPNORMAL = 41 , CD_SCULPT_FACE_SETS = 42 , CD_PROP_INT8 = 45 ,
  CD_PROP_COLOR = 47 , CD_PROP_FLOAT3 = 48 , CD_PROP_FLOAT2 = 49 , CD_PROP_BOOL = 50 ,
  CD_HAIRLENGTH = 51 , CD_NUMTYPES = 52
}
 
enum  {
  CD_FLAG_NOCOPY = (1 << 0) , CD_FLAG_NOFREE = (1 << 1) , CD_FLAG_TEMPORARY = ((1 << 2) | CD_FLAG_NOCOPY) , CD_FLAG_EXTERNAL = (1 << 3) ,
  CD_FLAG_IN_MEMORY = (1 << 4) , CD_FLAG_COLOR_ACTIVE = (1 << 5) , CD_FLAG_COLOR_RENDER = (1 << 6)
}
 

Detailed Description

Used for custom mesh data types (stored per vert/edge/loop/face)

Definition in file DNA_customdata_types.h.

Macro Definition Documentation

◆ CD_MASK_ALL

#define CD_MASK_ALL   (~0LL)

Definition at line 222 of file DNA_customdata_types.h.

◆ CD_MASK_BM_ELEM_PYPTR

#define CD_MASK_BM_ELEM_PYPTR   (1LL << CD_BM_ELEM_PYPTR)

Definition at line 199 of file DNA_customdata_types.h.

◆ CD_MASK_BWEIGHT

#define CD_MASK_BWEIGHT   (1 << CD_BWEIGHT)

Definition at line 195 of file DNA_customdata_types.h.

◆ CD_MASK_CLOTH_ORCO

#define CD_MASK_CLOTH_ORCO   (1 << CD_CLOTH_ORCO)

Definition at line 188 of file DNA_customdata_types.h.

◆ CD_MASK_COLOR_ALL

#define CD_MASK_COLOR_ALL   (CD_MASK_PROP_COLOR | CD_MASK_PROP_BYTE_COLOR)

Definition at line 231 of file DNA_customdata_types.h.

◆ CD_MASK_CREASE

#define CD_MASK_CREASE   (1 << CD_CREASE)

Definition at line 196 of file DNA_customdata_types.h.

◆ CD_MASK_CUSTOMLOOPNORMAL

#define CD_MASK_CUSTOMLOOPNORMAL   (1LL << CD_CUSTOMLOOPNORMAL)

Definition at line 208 of file DNA_customdata_types.h.

◆ CD_MASK_FACEMAP

#define CD_MASK_FACEMAP   (1 << CD_FACEMAP)

Definition at line 176 of file DNA_customdata_types.h.

◆ CD_MASK_FREESTYLE_EDGE

#define CD_MASK_FREESTYLE_EDGE   (1LL << CD_FREESTYLE_EDGE)

Definition at line 204 of file DNA_customdata_types.h.

◆ CD_MASK_FREESTYLE_FACE

#define CD_MASK_FREESTYLE_FACE   (1LL << CD_FREESTYLE_FACE)

Definition at line 205 of file DNA_customdata_types.h.

◆ CD_MASK_GRID_PAINT_MASK

#define CD_MASK_GRID_PAINT_MASK   (1LL << CD_GRID_PAINT_MASK)

Definition at line 202 of file DNA_customdata_types.h.

◆ CD_MASK_HAIRLENGTH

#define CD_MASK_HAIRLENGTH   (1ULL << CD_HAIRLENGTH)

Definition at line 216 of file DNA_customdata_types.h.

◆ CD_MASK_MCOL

#define CD_MASK_MCOL   (1 << CD_MCOL)

Definition at line 173 of file DNA_customdata_types.h.

◆ CD_MASK_MDEFORMVERT

#define CD_MASK_MDEFORMVERT   (1 << CD_MDEFORMVERT)

Definition at line 169 of file DNA_customdata_types.h.

◆ CD_MASK_MDISPS

#define CD_MASK_MDISPS   (1 << CD_MDISPS)

Definition at line 186 of file DNA_customdata_types.h.

◆ CD_MASK_MEDGE

#define CD_MASK_MEDGE   (1 << CD_MEDGE)

Definition at line 170 of file DNA_customdata_types.h.

◆ CD_MASK_MFACE

#define CD_MASK_MFACE   (1 << CD_MFACE)

Definition at line 171 of file DNA_customdata_types.h.

◆ CD_MASK_MLOOP

#define CD_MASK_MLOOP   (1 << CD_MLOOP)

Definition at line 192 of file DNA_customdata_types.h.

◆ CD_MASK_MLOOPTANGENT

#define CD_MASK_MLOOPTANGENT   (1LL << CD_MLOOPTANGENT)

Definition at line 206 of file DNA_customdata_types.h.

◆ CD_MASK_MLOOPUV

#define CD_MASK_MLOOPUV   (1 << CD_MLOOPUV)

Definition at line 183 of file DNA_customdata_types.h.

◆ CD_MASK_MPOLY

#define CD_MASK_MPOLY   (1 << CD_MPOLY)

Definition at line 191 of file DNA_customdata_types.h.

◆ CD_MASK_MTFACE

#define CD_MASK_MTFACE   (1 << CD_MTFACE)

Definition at line 172 of file DNA_customdata_types.h.

◆ CD_MASK_MULTIRES_GRIDS

#define CD_MASK_MULTIRES_GRIDS   (CD_MASK_MDISPS | CD_GRID_PAINT_MASK)

Multires loop data.

Definition at line 219 of file DNA_customdata_types.h.

◆ CD_MASK_MVERT

#define CD_MASK_MVERT   (1 << CD_MVERT)

Definition at line 167 of file DNA_customdata_types.h.

◆ CD_MASK_MVERT_SKIN

#define CD_MASK_MVERT_SKIN   (1LL << CD_MVERT_SKIN)

Definition at line 203 of file DNA_customdata_types.h.

◆ CD_MASK_NORMAL

#define CD_MASK_NORMAL   (1 << CD_NORMAL)

Definition at line 175 of file DNA_customdata_types.h.

◆ CD_MASK_ORCO

#define CD_MASK_ORCO   (1 << CD_ORCO)

Definition at line 181 of file DNA_customdata_types.h.

◆ CD_MASK_ORIGINDEX

#define CD_MASK_ORIGINDEX   (1 << CD_ORIGINDEX)

Definition at line 174 of file DNA_customdata_types.h.

◆ CD_MASK_ORIGSPACE

#define CD_MASK_ORIGSPACE   (1 << CD_ORIGSPACE)

Definition at line 180 of file DNA_customdata_types.h.

◆ CD_MASK_ORIGSPACE_MLOOP

#define CD_MASK_ORIGSPACE_MLOOP   (1LL << CD_ORIGSPACE_MLOOP)

Definition at line 197 of file DNA_customdata_types.h.

◆ CD_MASK_PAINT_MASK

#define CD_MASK_PAINT_MASK   (1LL << CD_PAINT_MASK)

Definition at line 201 of file DNA_customdata_types.h.

◆ CD_MASK_PREVIEW_MCOL

#define CD_MASK_PREVIEW_MCOL   (1 << CD_PREVIEW_MCOL)

Definition at line 187 of file DNA_customdata_types.h.

◆ CD_MASK_PREVIEW_MLOOPCOL

#define CD_MASK_PREVIEW_MLOOPCOL   (1LL << CD_PREVIEW_MLOOPCOL)

Definition at line 198 of file DNA_customdata_types.h.

◆ CD_MASK_PROP_ALL

#define CD_MASK_PROP_ALL
Value:
CD_MASK_PROP_INT8)
#define CD_MASK_PROP_BYTE_COLOR
#define CD_MASK_PROP_FLOAT3
#define CD_MASK_PROP_FLOAT2
#define CD_MASK_PROP_BOOL
#define CD_MASK_PROP_INT32
#define CD_MASK_PROP_STRING
#define CD_MASK_PROP_FLOAT

Definition at line 225 of file DNA_customdata_types.h.

◆ CD_MASK_PROP_BOOL

#define CD_MASK_PROP_BOOL   (1ULL << CD_PROP_BOOL)

Definition at line 213 of file DNA_customdata_types.h.

◆ CD_MASK_PROP_BYTE_COLOR

#define CD_MASK_PROP_BYTE_COLOR   (1 << CD_PROP_BYTE_COLOR)

Definition at line 184 of file DNA_customdata_types.h.

◆ CD_MASK_PROP_COLOR

#define CD_MASK_PROP_COLOR   (1ULL << CD_PROP_COLOR)

Definition at line 210 of file DNA_customdata_types.h.

◆ CD_MASK_PROP_FLOAT

#define CD_MASK_PROP_FLOAT   (1 << CD_PROP_FLOAT)

Definition at line 177 of file DNA_customdata_types.h.

◆ CD_MASK_PROP_FLOAT2

#define CD_MASK_PROP_FLOAT2   (1ULL << CD_PROP_FLOAT2)

Definition at line 212 of file DNA_customdata_types.h.

◆ CD_MASK_PROP_FLOAT3

#define CD_MASK_PROP_FLOAT3   (1ULL << CD_PROP_FLOAT3)

Definition at line 211 of file DNA_customdata_types.h.

◆ CD_MASK_PROP_INT32

#define CD_MASK_PROP_INT32   (1 << CD_PROP_INT32)

Definition at line 178 of file DNA_customdata_types.h.

◆ CD_MASK_PROP_INT8

#define CD_MASK_PROP_INT8   (1ULL << CD_PROP_INT8)

Definition at line 214 of file DNA_customdata_types.h.

◆ CD_MASK_PROP_STRING

#define CD_MASK_PROP_STRING   (1 << CD_PROP_STRING)

Definition at line 179 of file DNA_customdata_types.h.

◆ CD_MASK_SCULPT_FACE_SETS

#define CD_MASK_SCULPT_FACE_SETS   (1LL << CD_SCULPT_FACE_SETS)

Definition at line 209 of file DNA_customdata_types.h.

◆ CD_MASK_SHAPE_KEYINDEX

#define CD_MASK_SHAPE_KEYINDEX   (1 << CD_SHAPE_KEYINDEX)

Definition at line 193 of file DNA_customdata_types.h.

◆ CD_MASK_SHAPEKEY

#define CD_MASK_SHAPEKEY   (1 << CD_SHAPEKEY)

Definition at line 194 of file DNA_customdata_types.h.

◆ CD_MASK_TANGENT

#define CD_MASK_TANGENT   (1 << CD_TANGENT)

Definition at line 185 of file DNA_customdata_types.h.

◆ CD_MASK_TESSLOOPNORMAL

#define CD_MASK_TESSLOOPNORMAL   (1LL << CD_TESSLOOPNORMAL)

Definition at line 207 of file DNA_customdata_types.h.

◆ DYNTOPO_NODE_NONE

#define DYNTOPO_NODE_NONE   -1

Definition at line 260 of file DNA_customdata_types.h.

◆ MAX_CUSTOMDATA_LAYER_NAME

#define MAX_CUSTOMDATA_LAYER_NAME   64

Definition at line 51 of file DNA_customdata_types.h.

◆ MAX_MTFACE

#define MAX_MTFACE   8

Definition at line 258 of file DNA_customdata_types.h.

Typedef Documentation

◆ CustomData

typedef struct CustomData CustomData

Structure which stores custom element data associated with mesh elements (vertices, edges or faces). The custom data is organized into a series of layers, each with a data type (e.g. MTFace, MDeformVert, etc.).

◆ CustomData_MeshMasks

◆ CustomDataExternal

◆ CustomDataLayer

Descriptor and storage for a custom data layer.

◆ eCustomDataType

#CustomData.type

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

#CustomData.flag

Enumerator
CD_FLAG_NOCOPY 
CD_FLAG_NOFREE 
CD_FLAG_TEMPORARY 
CD_FLAG_EXTERNAL 
CD_FLAG_IN_MEMORY 
CD_FLAG_COLOR_ACTIVE 
CD_FLAG_COLOR_RENDER 

Definition at line 242 of file DNA_customdata_types.h.

◆ eCustomDataType

#CustomData.type

Enumerator
CD_AUTO_FROM_NAME 
CD_MVERT 
CD_MDEFORMVERT 
CD_MEDGE 
CD_MFACE 
CD_MTFACE 
CD_MCOL 
CD_ORIGINDEX 
CD_NORMAL 

Used for derived face corner normals on mesh ldata, since currently they are not computed lazily. Derived vertex and polygon normals are stored in Mesh_Runtime.

CD_FACEMAP 
CD_PROP_FLOAT 
CD_PROP_INT32 
CD_PROP_STRING 
CD_ORIGSPACE 
CD_ORCO 
CD_MLOOPUV 
CD_PROP_BYTE_COLOR 
CD_TANGENT 
CD_MDISPS 
CD_PREVIEW_MCOL 
CD_CLOTH_ORCO 
CD_MPOLY 
CD_MLOOP 
CD_SHAPE_KEYINDEX 
CD_SHAPEKEY 
CD_BWEIGHT 
CD_CREASE 

Usage of CD_CREASE depends on where on the Mesh the layer is added:

  • For vertex creasing, this is persistent data across all modes and is stored in the file.
  • For edge creasing, it is runtime data which is only used in edit-mode before being copied to MEdge when exiting edit-mode.
CD_ORIGSPACE_MLOOP 
CD_PREVIEW_MLOOPCOL 
CD_BM_ELEM_PYPTR 
CD_PAINT_MASK 
CD_GRID_PAINT_MASK 
CD_MVERT_SKIN 
CD_FREESTYLE_EDGE 
CD_FREESTYLE_FACE 
CD_MLOOPTANGENT 
CD_TESSLOOPNORMAL 
CD_CUSTOMLOOPNORMAL 
CD_SCULPT_FACE_SETS 
CD_PROP_INT8 
CD_PROP_COLOR 
CD_PROP_FLOAT3 
CD_PROP_FLOAT2 
CD_PROP_BOOL 
CD_HAIRLENGTH 
CD_NUMTYPES 

Definition at line 84 of file DNA_customdata_types.h.