merge with trunk at r27259 and commit of a patch by anthony jones to fix msvc (though...
[blender-staging.git] / source / blender / makesdna / DNA_meshdata_types.h
index 94713cf0d769597905809d543172033c4031a7c1..1cfbd9d8d513fae6661ac8b20be93b3d7586cd53 100644 (file)
@@ -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.
@@ -35,6 +35,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;
@@ -65,7 +66,8 @@ typedef struct MVert {
        char flag, bweight, pad[2];
 } MVert;
 
-/* at the moment alpha is abused for vertex painting
+/* tesselation vertex color data.
+ * at the moment alpha is abused for vertex painting
  * and not used for transperency, note that red and blue are swapped */
 typedef struct MCol {
        char a, r, g, b;        
@@ -95,12 +97,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 transperency, 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];
@@ -111,6 +120,7 @@ typedef struct MSelect {
        int type;
 } MSelect;
 
+/*tesselation uv face data*/
 typedef struct MTFace {
        float uv[4][2];
        struct Image *tpage;
@@ -197,10 +207,12 @@ typedef struct PartialVisibility {
 } PartialVisibility;
 
 /* mvert->flag (1=SELECT) */
-#define ME_SPHERETEST  2
-#define ME_SPHERETEMP  4
-#define ME_HIDE                        16
+#define ME_SPHERETEST          2
+#define ME_VERT_TMP_TAG                4
+#define ME_HIDE                                16
+#define ME_PIN                 64
 #define ME_VERT_MERGED         (1<<6)
+#define ME_VERT_PBVH_UPDATE    (1<<7)
 
 /* medge->flag (1=SELECT)*/
 #define ME_EDGEDRAW                    (1<<1)