Merged changes in the trunk up to revision 47056.
[blender-staging.git] / source / blender / makesdna / DNA_meshdata_types.h
index 89ed3ba055f6d4e491cf0f9636fc8b01b462cb1b..dc8115b556cadd4d9202c2a72b7806c30fa7d6d9 100644 (file)
@@ -95,7 +95,7 @@ typedef struct MLoop {
 typedef struct MTexPoly {
        struct Image *tpage;
        char flag, transp;
-       short mode,tile,unwrap;
+       short mode, tile, unwrap;
 } MTexPoly;
 
 /* can copy from/to MTexPoly/MTFace */
@@ -189,9 +189,9 @@ typedef struct MDisps {
        float (*disps)[3];
        
        /* Used for hiding parts of a multires mesh. Essentially the multires
-          equivalent of MVert.flag's ME_HIDE bit.
-       
-          This is a bitmap, keep in sync with type used in BLI_bitmap.h */
+        * equivalent of MVert.flag's ME_HIDE bit.
+        *
+        * This is a bitmap, keep in sync with type used in BLI_bitmap.h */
        unsigned int *hidden;
 } MDisps;
 
@@ -247,6 +247,37 @@ typedef struct MRecast {
        int             i;
 } MRecast;
 
+typedef struct GridPaintMask {
+       /* The data array contains gridsize*gridsize elements */
+       float *data;
+
+       /* The maximum multires level associated with this grid */
+       unsigned int level;
+
+       int pad;
+} GridPaintMask;
+
+typedef enum MVertSkinFlag {
+       /* Marks a vertex as the edge-graph root, used for calculating
+          rotations for all connected edges (recursively.) Also used to
+          choose a root when generating an armature. */
+       MVERT_SKIN_ROOT = 1,
+
+       /* Marks a branch vertex (vertex with more than two connected
+          edges) so that it's neighbors are directly hulled together,
+          rather than the default of generating intermediate frames. */
+       MVERT_SKIN_LOOSE = 2
+} MVertSkinFlag;
+
+typedef struct MVertSkin {
+       /* Radii of the skin, define how big the generated frames
+          are. Currently only the first two elements are used. */
+       float radius[3];
+
+       /* MVertSkinFlag */
+       int flag;
+} MVertSkin;
+
 /* mvert->flag (1=SELECT) */
 #define ME_SPHERETEST          2
 #define ME_VERT_TMP_TAG                4
@@ -263,6 +294,7 @@ typedef struct MRecast {
 #define ME_LOOSEEDGE           (1<<7)
 /* #define ME_SEAM_LAST                (1<<8) */ /* UNUSED */
 #define ME_SHARP                       (1<<9)    /* only reason this flag remains a 'short' */
+#define ME_FREESTYLE_EDGE      (1<<10)
 
 /* puno = vertexnormal (mface) */
 #define ME_PROJXY              16
@@ -279,6 +311,7 @@ typedef struct MRecast {
 /* flag (mface) */
 #define ME_SMOOTH                      1
 #define ME_FACE_SEL                    2
+#define ME_FREESTYLE_FACE      4
 /* flag ME_HIDE==16 is used here too */ 
 
 #define ME_POLY_LOOP_PREV(mloop, mp, i)  (&(mloop)[(mp)->loopstart + (((i) + (mp)->totloop - 1) % (mp)->totloop)])