svn merge -r41722:41723 ^/trunk/blender
authorCampbell Barton <ideasman42@gmail.com>
Fri, 11 Nov 2011 06:25:45 +0000 (06:25 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 11 Nov 2011 06:25:45 +0000 (06:25 +0000)
32 files changed:
1  2 
release/scripts/startup/bl_ui/properties_data_modifier.py
source/blender/CMakeLists.txt
source/blender/blenkernel/BKE_customdata.h
source/blender/blenkernel/CMakeLists.txt
source/blender/blenkernel/intern/DerivedMesh.c
source/blender/blenkernel/intern/bvhutils.c
source/blender/blenkernel/intern/cdderivedmesh.c
source/blender/blenkernel/intern/customdata.c
source/blender/blenkernel/intern/particle.c
source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/blenlib/BLI_math_geom.h
source/blender/blenlib/BLI_threads.h
source/blender/blenlib/intern/math_geom.c
source/blender/blenlib/intern/threads.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/editors/include/ED_mesh.h
source/blender/editors/mesh/mesh_data.c
source/blender/editors/space_view3d/drawmesh.c
source/blender/editors/space_view3d/drawobject.c
source/blender/makesdna/DNA_modifier_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/intern/CMakeLists.txt
source/blender/makesrna/intern/rna_modifier.c
source/blender/modifiers/CMakeLists.txt
source/blender/modifiers/MOD_modifiertypes.h
source/blender/modifiers/intern/MOD_util.c
source/blender/modifiers/intern/MOD_util.h
source/blender/modifiers/intern/MOD_uvproject.c
source/blender/modifiers/intern/MOD_wave.c
source/blender/render/intern/source/convertblender.c
source/blenderplayer/bad_level_call_stubs/stubs.c

Simple merge
index 22ffbcbdd46cefaf93215f254535a50219139b06,98a317d684d55f014eeb4f4513f4ece65afcdda4..148f5aabf8d1971cc82067242d75d6f6357c91df
@@@ -90,8 -89,8 +90,9 @@@ set(SR
        intern/deform.c
        intern/depsgraph.c
        intern/displist.c
+       intern/dynamicpaint.c
        intern/effect.c
 +      intern/editderivedbmesh.c
        intern/fcurve.c
        intern/fluidsim.c
        intern/fmodifier.c
index a6d912712186dbf4953aa9fd24fb6a4bee52fd71,4400c895b78a2d98996b00a48e27e861e7b1f866..deb201793b8ccadfdae6a0a26aa6552622962cef
@@@ -1095,9 -1921,9 +1095,9 @@@ static void mesh_calc_modifiers(Scene *
        Mesh *me = ob->data;
        ModifierData *firstmd, *md;
        LinkNode *datamasks, *curr;
-       CustomDataMask mask, nextmask;
+       CustomDataMask mask, nextmask, append_mask = 0;
        float (*deformedVerts)[3] = NULL;
 -      DerivedMesh *dm, *orcodm, *clothorcodm, *finaldm;
 +      DerivedMesh *dm=NULL, *orcodm, *clothorcodm, *finaldm;
        int numVerts = me->totvert;
        int required_mode;
        int isPrevDeform= FALSE;
Simple merge
index 7680da03a90b3f157e8ecb090053d102a43e927f,d2ac24cd9da08d2af8ed9428a6cabcc276256920..09ff650d50ad9bca1d95495f5e34b0c2c78ca5cc
@@@ -294,12 -240,8 +294,13 @@@ int ED_mesh_uv_texture_add(struct bCont
  int ED_mesh_uv_texture_remove(struct bContext *C, struct Object *ob, struct Mesh *me);
  int ED_mesh_color_add(struct bContext *C, struct Scene *scene, struct Object *ob, struct Mesh *me, const char *name, int active_set);
  int ED_mesh_color_remove(struct bContext *C, struct Object *ob, struct Mesh *me);
+ int ED_mesh_color_remove_named(struct bContext *C, struct Object *ob, struct Mesh *me, const char *name);
  
 +void EDBM_selectmode_to_scene(struct bContext *C);
 +void EDBM_ClearMesh(struct BMEditMesh *em);
 +
 +#include "../mesh/editbmesh_bvh.h"
 +
  #ifdef __cplusplus
  }
  #endif
index 56215f6523ca04559f71b9b0fc04b594e11d85c0,ade3a65054f6cc3009f95999f0cb2c7bba606252..29a35187719bcc26a9a9bcc993c0cb100fae3d91
@@@ -797,20 -780,18 +807,20 @@@ static int tex_mat_set_face_mesh_cb(voi
        return !(mface->flag & ME_HIDE);
  }
  
 -static int tex_mat_set_face_editmesh_cb(void *UNUSED(userData), int index)
 +static int tex_mat_set_face_editmesh_cb(void *userData, int index)
  {
        /* editmode face hiding */
 -      EditFace *efa= EM_get_face_for_index(index);
 +      TexMatCallback *data= (TexMatCallback*)userData;
 +      Mesh *me = (Mesh*)data->me;
 +      BMFace *efa= EDBM_get_face_for_index(me->edit_btmesh, index);
  
 -      return !(efa->h);
 +      return !BM_TestHFlag(efa, BM_HIDDEN);
  }
  
- void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, DerivedMesh *dm, int faceselect)
+ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, DerivedMesh *dm, int draw_flags)
  {
-       if(!scene_use_new_shading_nodes(scene)) {
-               draw_mesh_textured_old(scene, v3d, rv3d, ob, dm, faceselect);
+       if((!scene_use_new_shading_nodes(scene)) || (draw_flags & DRAW_DYNAMIC_PAINT_PREVIEW)) {
+               draw_mesh_textured_old(scene, v3d, rv3d, ob, dm, draw_flags);
                return;
        }
  
Simple merge
index 30895a865c7352e5186a7ab352c1d1d6997b2223,32665bef065e0394b6446307b672364b12464fcb..ad238e344824a589b9c3a709fd1fa2ab03a7f8e9
@@@ -94,7 -95,7 +95,8 @@@ EnumPropertyItem modifier_type_items[] 
        {eModifierType_Smoke, "SMOKE", ICON_MOD_SMOKE, "Smoke", ""},
        {eModifierType_Softbody, "SOFT_BODY", ICON_MOD_SOFT, "Soft Body", ""},
        {eModifierType_Surface, "SURFACE", ICON_MOD_PHYSICS, "Surface", ""},
+       {eModifierType_DynamicPaint, "DYNAMIC_PAINT", ICON_MOD_DYNAMICPAINT, "Dynamic Paint", ""},
 +      {eModifierType_NgonInterp, "NGONINTERP", ICON_MOD_LATTICE, "Precision UV Interpolation", ""},
        {0, NULL, 0, NULL, NULL}};
  
  #ifdef RNA_RUNTIME
@@@ -2902,7 -2909,7 +2931,8 @@@ void RNA_def_modifier(BlenderRNA *brna
        rna_def_modifier_weightvgedit(brna);
        rna_def_modifier_weightvgmix(brna);
        rna_def_modifier_weightvgproximity(brna);
+       rna_def_modifier_dynamic_paint(brna);
 +      rna_def_modifier_ngoninterp(brna);
  }
  
  #endif
index 48830e05bcde230357eae7685630e24b15e7ab85,8ffb7803bb13e59235e6e15259eab0b993f8d244..5b58c4101bfedf305b5dac31648f2b06c77bb1e5
@@@ -74,7 -74,7 +74,8 @@@ extern ModifierTypeInfo modifierType_Na
  extern ModifierTypeInfo modifierType_WeightVGEdit;
  extern ModifierTypeInfo modifierType_WeightVGMix;
  extern ModifierTypeInfo modifierType_WeightVGProximity;
+ extern ModifierTypeInfo modifierType_DynamicPaint;
 +extern ModifierTypeInfo modifierType_NgonInterp;
  
  /* MOD_util.c */
  void modifier_type_init(ModifierTypeInfo *types[]);
index 8d83bbecaac714440d045032806ba13360e2640e,38abb96aa7c3ce128dc43ed2c9852efee66545d4..73d44487a159ac4cb9e2df884a5bb0c35c618afa
@@@ -176,27 -176,8 +176,8 @@@ void modifier_vgroup_cache(ModifierDat
        /* lattice/mesh modifier too */
  }
  
- void validate_layer_name(const CustomData *data, int type, char *name, char *outname)
- {
-       int index = -1;
-       /* if a layer name was given, try to find that layer */
-       if(name[0])
-               index = CustomData_get_named_layer_index(data, type, name);
-       if(index < 0) {
-               /* either no layer was specified, or the layer we want has been
-               * deleted, so assign the active layer to name
-               */
-               index = CustomData_get_active_layer_index(data, type);
-               strcpy(outname, data->layers[index].name);
-       }
-       else
-               strcpy(outname, name);
- }
  /* returns a cdderivedmesh if dm == NULL or is another type of derivedmesh */
 -DerivedMesh *get_cddm(Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*vertexCos)[3])
 +DerivedMesh *get_cddm(Object *ob, struct BMEditMesh *em, DerivedMesh *dm, float (*vertexCos)[3])
  {
        if(dm && dm->type == DM_TYPE_CDDM)
                return dm;
@@@ -296,6 -277,6 +277,7 @@@ void modifier_type_init(ModifierTypeInf
        INIT_TYPE(WeightVGEdit);
        INIT_TYPE(WeightVGMix);
        INIT_TYPE(WeightVGProximity);
+       INIT_TYPE(DynamicPaint);
 +      INIT_TYPE(NgonInterp);
  #undef INIT_TYPE
  }
index 82e04468c86a80f00675c61a48ef4ba2b203d7c1,262f27f0f1b311a5d0bf79f273e5aaa95314b03a..abc36653082fb5a11fde67e85fb886e4dca54461
@@@ -47,9 -47,8 +47,8 @@@ struct TexResult
  void get_texture_value(struct Tex *texture, float *tex_co, struct TexResult *texres);
  void get_texture_coords(struct MappingInfoModifierData *dmd, struct Object *ob, struct DerivedMesh *dm, float (*co)[3], float (*texco)[3], int numVerts);
  void modifier_vgroup_cache(struct ModifierData *md, float (*vertexCos)[3]);
- void validate_layer_name(const struct CustomData *data, int type, char *name, char *outname);
 -struct DerivedMesh *get_cddm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3]);
 -struct DerivedMesh *get_dm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3], int orco);
 +struct DerivedMesh *get_cddm(struct Object *ob, struct BMEditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3]);
 +struct DerivedMesh *get_dm(struct Object *ob, struct BMEditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3], int orco);
  void modifier_get_vgroup(struct Object *ob, struct DerivedMesh *dm, const char *name, struct MDeformVert **dvert, int *defgrp_index);
  
  #endif /* MOD_UTIL_H */