diff options
Diffstat (limited to 'source/blender/makesdna/DNA_meshdata_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_meshdata_types.h | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/source/blender/makesdna/DNA_meshdata_types.h b/source/blender/makesdna/DNA_meshdata_types.h index be7b985412f..3a8fecc133c 100644 --- a/source/blender/makesdna/DNA_meshdata_types.h +++ b/source/blender/makesdna/DNA_meshdata_types.h @@ -37,6 +37,7 @@ struct Bone; struct Image; +/*tesselation face, see MLoop/MPoly for the real face data*/ typedef struct MFace { unsigned int v1, v2, v3, v4; short mat_nr; @@ -66,13 +67,29 @@ typedef struct MVert { char flag, bweight; } MVert; -/* at the moment alpha is abused for vertex painting - * and not used for transperency, note that red and blue are swapped */ +/* tesselation vertex color data. + * at the moment alpha is abused for vertex painting + * and not used for transparency, note that red and blue are swapped */ typedef struct MCol { char a, r, g, b; } MCol; -/*bmesh custom data stuff*/ +/*new face structure, replaces MFace, which is now + only used for storing tesselations.*/ +typedef struct MPoly { + /*offset into loop array and number of loops in the face*/ + int loopstart, totloop; + short mat_nr; + short flag; +} MPoly; + +/*the e here is because we want to move away from + relying on edge hashes.*/ +typedef struct MLoop { + int v; /*vertex index*/ + int e; /*edge index*/ +} MLoop; + typedef struct MTexPoly{ struct Image *tpage; char flag, transp; @@ -81,12 +98,19 @@ typedef struct MTexPoly{ typedef struct MLoopUV{ float uv[2]; + int flag; }MLoopUV; +/*mloopuv->flag*/ +#define MLOOPUV_EDGESEL 1 +#define MLOOPUV_VERTSEL 2 +#define MLOOPUV_PINNED 4 + +/* at the moment alpha is abused for vertex painting + * and not used for transparency, note that red and blue are swapped */ typedef struct MLoopCol{ char a, r, g, b; - int pad; /*waste!*/ -}MLoopCol; +} MLoopCol; typedef struct MSticky { float co[2]; @@ -97,6 +121,7 @@ typedef struct MSelect { int type; } MSelect; +/*tesselation uv face data*/ typedef struct MTFace { float uv[4][2]; struct Image *tpage; @@ -223,10 +248,12 @@ typedef struct MRecast{ /* flag (mface) */ #define ME_SMOOTH 1 #define ME_FACE_SEL 2 - /* flag ME_HIDE==16 is used here too */ +/* flag ME_HIDE==16 is used here too */ +#define ME_DRAW_ACT 4 + /* mselect->type */ -#define ME_VSEl 0 -#define ME_ESEl 1 +#define ME_VSEL 0 +#define ME_ESEL 1 #define ME_FSEL 2 /* mtface->flag */ |