New particle collisions code:
[blender.git] / source / blender / makesdna / DNA_mesh_types.h
index 7da057efdb1d5a8b9cf9fabd314ca7053586bba2..bd2a6a996b554fbb6446fe77399ce388d8934959 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$ 
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
 #ifndef DNA_MESH_TYPES_H
 #define DNA_MESH_TYPES_H
 
+/** \file DNA_mesh_types.h
+ *  \ingroup DNA
+ */
+
 #include "DNA_listBase.h"
 #include "DNA_ID.h"
 #include "DNA_customdata_types.h"
@@ -47,15 +51,17 @@ struct OcInfo;
 struct Multires;
 struct PartialVisibility;
 struct EditMesh;
+struct AnimData;
 
 typedef struct Mesh {
        ID id;
+       struct AnimData *adt;           /* animation data (must be immediately after id for utilities to use it) */
 
        struct BoundBox *bb;
 
        ListBase effect;
        
-       struct Ipo *ipo;
+       struct Ipo *ipo;                // XXX depreceated... old animation system
        struct Key *key;
        struct Material **mat;
 
@@ -82,15 +88,16 @@ typedef struct Mesh {
         * the face does not need to be selected, -1 is inactive */
        int act_face; 
        
-       int texflag;
+       short texflag, editflag;
        
        /* texture space, copied as one block in editobject.c */
        float loc[3];
        float size[3];
        float rot[3];
        
-       float cubemapsize, pad;
-
+       float cubemapsize;
+       
+       int drawflag;
        short smoothresh, flag;
 
        short subdiv, subdivr;
@@ -115,9 +122,18 @@ typedef struct TFace {
 /* texflag */
 #define AUTOSPACE      1
 
+/* me->editflag */
+#define ME_EDIT_MIRROR_X (1 << 0)
+#define ME_EDIT_MIRROR_Y (1 << 1) // unused so far
+#define ME_EDIT_MIRROR_Z (1 << 2) // unused so far
+
+#define ME_EDIT_PAINT_MASK (1 << 3)
+#define ME_EDIT_MIRROR_TOPO (1 << 4) // unused so far
+
+
 /* me->flag */
-#define ME_ISDONE              1
-#define ME_NOPUNOFLIP  2
+/* #define ME_ISDONE           1 */
+#define ME_DEPRECATED  2
 #define ME_TWOSIDED            4
 #define ME_UVEFFECT            8
 #define ME_VCOLEFFECT  16
@@ -125,6 +141,46 @@ typedef struct TFace {
 #define ME_SMESH               64
 #define ME_SUBSURF             128
 #define ME_OPT_EDGES   256
+#define ME_DS_EXPAND   512
+
+/* me->drawflag, int */ 
+#define ME_DRAWEDGES   (1 << 0)
+#define ME_DRAWFACES   (1 << 1)
+#define ME_DRAWNORMALS (1 << 2)
+#define ME_DRAW_VNORMALS (1 << 3)
+
+#define ME_ALLEDGES            (1 << 4)
+#define ME_HIDDENEDGES  (1 << 5)
+
+#define ME_DRAWCREASES (1 << 6)
+#define ME_DRAWSEAMS    (1 << 7)
+#define ME_DRAWSHARP    (1 << 8)
+#define ME_DRAWBWEIGHTS        (1 << 9)
+
+#define ME_DRAWEXTRA_EDGELEN  (1 << 10)
+#define ME_DRAWEXTRA_FACEAREA (1 << 11)
+#define ME_DRAWEXTRA_FACEANG  (1 << 12)
+
+/* old global flags:
+#define G_DRAWEDGES            (1 << 18)
+#define G_DRAWFACES            (1 <<  7)
+#define G_DRAWNORMALS  (1 <<  6)
+#define G_DRAW_VNORMALS        (1 << 14)
+
+#define G_ALLEDGES             (1 << 11)
+#define G_HIDDENEDGES   (1 << 21)
+
+#define G_DRAWCREASES  (1 << 19)
+#define G_DRAWSEAMS     (1 << 20)
+#define G_DRAWSHARP     (1 << 28)
+#define G_DRAWBWEIGHTS (1 << 31)
+
+#define G_DRAW_EDGELEN  (1 << 22) 
+#define G_DRAW_FACEAREA (1 << 23)
+#define G_DRAW_EDGEANG  (1 << 24)
+*/
+
+
 
 /* Subsurf Type */
 #define ME_CC_SUBSURF          0