merge with trunk at r27259 and commit of a patch by anthony jones to fix msvc (though...
[blender-staging.git] / source / blender / makesdna / DNA_mesh_types.h
index 9f8d07b987fd0c4d5af971f67ad58b685676347e..e29dfd6894b5b83b1bcecbc77df2a8989e2824cf 100644 (file)
@@ -44,6 +44,11 @@ struct MCol;
 struct MSticky;
 struct Mesh;
 struct OcInfo;
+struct MPoly;
+struct MTexPoly;
+struct MLoop;
+struct MLoopUV;
+struct MLoopCol;
 struct Multires;
 struct PartialVisibility;
 struct EditMesh;
@@ -60,23 +65,35 @@ typedef struct Mesh {
        struct Ipo *ipo;                // XXX depreceated... old animation system
        struct Key *key;
        struct Material **mat;
-
-       struct MFace *mface;    /* array of mesh object mode faces */
-       struct MTFace *mtface;  /* store face UV's and texture here */
+       
+       /*new face structures*/
+       struct MPoly *mpoly;
+       struct MTexPoly *mtpoly;
+       struct MLoop *mloop;
+       struct MLoopUV *mloopuv;
+       struct MLoopCol *mloopcol;
+
+       /*mface stores the tesselation (triangulation) of the mesh,
+         real faces are now stored in nface.*/
+       struct MFace *mface;    /* array of mesh object mode faces for tesselation */
+       struct MTFace *mtface;  /* store tesselation face UV's and texture here */
        struct TFace *tface;    /* depecrated, use mtface */
        struct MVert *mvert;    /* array of verts */
        struct MEdge *medge;    /* array of edges */
        struct MDeformVert *dvert;      /* deformgroup vertices */
-       struct MCol *mcol;              /* array of colors, this must be the number of faces * 4 */
+       
+       /* array of colors for the tesselated faces, must be number of tesselated
+          faces * 4 in length */
+       struct MCol *mcol;              
        struct MSticky *msticky;
        struct Mesh *texcomesh;
        struct MSelect *mselect;
        
-       struct EditMesh *edit_mesh;     /* not saved in file! */
+       struct BMEditMesh *edit_btmesh; /* not saved in file! */
 
-       struct CustomData vdata, edata, fdata;
+       struct CustomData vdata, edata, fdata, pdata, ldata;
 
-       int totvert, totedge, totface, totselect;
+       int totvert, totedge, totface, totpoly, totloop, totselect;
        
        /* the last selected vertex/edge/face are used for the active face however
         * this means the active face must always be selected, this is to keep track
@@ -157,6 +174,8 @@ typedef struct TFace {
 #define ME_DRAW_FACEAREA (1 << 11)
 #define ME_DRAW_EDGEANG  (1 << 12)
 
+#define ME_DRAW_PINS (1 << 13)
+
 /* old global flags:
 #define G_DRAWEDGES            (1 << 18)
 #define G_DRAWFACES            (1 <<  7)