svn merge ^/trunk/blender -r42918:42920
authorCampbell Barton <ideasman42@gmail.com>
Wed, 28 Dec 2011 11:20:45 +0000 (11:20 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 28 Dec 2011 11:20:45 +0000 (11:20 +0000)
1  2 
source/blender/makesdna/DNA_meshdata_types.h
source/blender/makesdna/DNA_modifier_types.h

index bab9d84bb0c6bc7877ae38949c3c83782d0bc38a,52a9a6017f77284683fd0323fc758b0a07c3d6e1..c4e25b85ab44060d0c5fd26c56369aa58fe4032e
@@@ -37,7 -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;
@@@ -67,48 -66,23 +67,48 @@@ 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;
 +      int totloop; /* keep signed since we need to subtract when getting the previous loop */
 +      short mat_nr;
 +      char flag, pad;
 +} MPoly;
 +
 +/*the e here is because we want to move away from
 +  relying on edge hashes.*/
 +typedef struct MLoop {
 +      unsigned int v; /*vertex index*/
 +      unsigned int e; /*edge index*/
 +} MLoop;
 +
  typedef struct MTexPoly {
        struct Image *tpage;
        char flag, transp;
        short mode,tile,unwrap;
- }MTexPoly;
+ } MTexPoly;
  
  typedef struct MLoopUV {
        float uv[2];
- }MLoopUV;
 +      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;
  } MLoopCol;
@@@ -122,7 -96,6 +122,7 @@@ typedef struct MSelect 
        int type; /* EDITVERT/EDITEDGE/EDITFACE */
  } MSelect;
  
 +/*tesselation uv face data*/
  typedef struct MTFace {
        float uv[4][2];
        struct Image *tpage;
  } MTFace;
  
  /*Custom Data Properties*/
- typedef struct MFloatProperty{
+ typedef struct MFloatProperty {
        float   f;
  } MFloatProperty;
  typedef struct MIntProperty {
@@@ -200,7 -173,7 +200,7 @@@ typedef struct Multires 
  
  /** End Multires **/
  
- typedef struct MRecast{
+ typedef struct MRecast {
        int             i;
  } 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_POLY_LOOP_PREV(mloop, mp, i)  (&(mloop)[(mp)->loopstart + (((i) + (mp)->totloop - 1) % (mp)->totloop)])
 +#define ME_POLY_LOOP_NEXT(mloop, mp, i)  (&(mloop)[(mp)->loopstart + (((i) + 1) % (mp)->totloop)])
 +
 +/* mselect->type */
 +#define ME_VSEL       0
 +#define ME_ESEL 1
 +#define ME_FSEL 2
 +
 +/* mloop->v */
 +#define ME_LOOP_INVALID_INDEX ((unsigned int) -1)
 +
  /* mtface->flag */
  #define TF_SELECT     1 /* use MFace hide flag (after 2.43), should be able to reuse after 2.44 */
  #define TF_ACTIVE     2 /* deprecated! */
index 0ace54fdb3ad96d70a911f981681a3817f8ca89f,da77f7a85cfe279958c24185891a6bfb99f74c09..41ca37c88635e05cd45e4debb79d964be7e655aa
@@@ -76,9 -76,6 +76,9 @@@ typedef enum ModifierType 
        eModifierType_WeightVGProximity,
        eModifierType_Ocean,
        eModifierType_DynamicPaint,
 +
 +      /* BMESH ONLY - keeps getting bumped by new modifiers in trunk */
 +      eModifierType_NgonInterp,
        NUM_MODIFIER_TYPES
  } ModifierType;
  
@@@ -683,7 -680,6 +683,7 @@@ typedef struct ShrinkwrapModifierData 
  #define MOD_SHRINKWRAP_PROJECT_OVER_Z_AXIS            (1<<2)
  #define MOD_SHRINKWRAP_PROJECT_OVER_NORMAL                    0       /* projection over normal is used if no axis is selected */
  
 +
  typedef struct SimpleDeformModifierData {
        ModifierData modifier;
  
  #define MOD_SIMPLEDEFORM_LOCK_AXIS_Y                  (1<<1)
  
  /* indicates whether simple deform should use the local
-    coordinates or global coordinates of origin */
+  * coordinates or global coordinates of origin */
  #define MOD_SIMPLEDEFORM_ORIGIN_LOCAL                 (1<<0)
  
  #define MOD_UVPROJECT_MAX                             10
@@@ -816,14 -812,9 +816,14 @@@ typedef struct OceanModifierData 
  #define MOD_OCEAN_GENERATE_NORMALS    2
  
  
 -typedef struct WarpModifierData {
 +/* BMESH_ONLY */
 +typedef struct NgonInterpModifierData {
        ModifierData modifier;
 +      int             resolution, pad0;
 +} NgonInterpModifierData;
  
 +typedef struct WarpModifierData {
 +      ModifierData modifier;
        /* keep in sync with MappingInfoModifierData */
        struct Tex *texture;
        struct Object *map_object;