Revision: 16744
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16744
Author:   jaguarandi
Date:     2008-09-26 15:47:41 +0200 (Fri, 26 Sep 2008)

Log Message:
-----------
Fixed a UI bug on shrinkwrap constraint
Fixed vertexs weights on simpledeform modifier (they weren't working if the 
modifier was the first on stack, since it wasnt receiving a DerivedMesh with 
vertex weights)

Modified Paths:
--------------
    branches/soc-2008-jaguarandi/source/blender/blenkernel/intern/modifier.c
    branches/soc-2008-jaguarandi/source/blender/src/buttons_object.c

Modified: 
branches/soc-2008-jaguarandi/source/blender/blenkernel/intern/modifier.c
===================================================================
--- branches/soc-2008-jaguarandi/source/blender/blenkernel/intern/modifier.c    
2008-09-26 08:58:15 UTC (rev 16743)
+++ branches/soc-2008-jaguarandi/source/blender/blenkernel/intern/modifier.c    
2008-09-26 13:47:41 UTC (rev 16744)
@@ -7380,16 +7380,6 @@
        memcpy(tsmd->limit, smd->limit, sizeof(tsmd->limit));
 }
 
-static void simpledeformModifier_deformVerts(ModifierData *md, Object *ob, 
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
-{
-       SimpleDeformModifier_do((SimpleDeformModifierData*)md, ob, derivedData, 
vertexCos, numVerts);
-}
-
-static void simpledeformModifier_deformVertsEM(ModifierData *md, Object *ob, 
EditMesh *editData, DerivedMesh *derivedData, float (*vertexCos)[3], int 
numVerts)
-{
-       SimpleDeformModifier_do((SimpleDeformModifierData*)md, ob, derivedData, 
vertexCos, numVerts);
-}
-
 static CustomDataMask simpledeformModifier_requiredDataMask(ModifierData *md)
 {
        SimpleDeformModifierData *smd = (SimpleDeformModifierData *)md;
@@ -7416,6 +7406,57 @@
                dag_add_relation(forest, dag_get_node(forest, smd->origin), 
obNode, DAG_RL_OB_DATA, "SimpleDeform Modifier");
 }
 
+static void simpledeformModifier_deformVerts(ModifierData *md, Object *ob, 
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
+{
+       DerivedMesh *dm = NULL;
+       CustomDataMask dataMask = simpledeformModifier_requiredDataMask(md);
+
+       /* We implement requiredDataMask but thats not really usefull since 
mesh_calc_modifiers pass a NULL derivedData or without the modified vertexs 
applied */
+       if(dataMask)
+       {
+               if(derivedData) dm = CDDM_copy(derivedData);
+               else if(ob->type==OB_MESH) dm = CDDM_from_mesh(ob->data, ob);
+               else return;
+
+               if(dataMask & CD_MVERT)
+               {
+                       CDDM_apply_vert_coords(dm, vertexCos);
+                       CDDM_calc_normals(dm);
+               }
+       }
+
+       SimpleDeformModifier_do((SimpleDeformModifierData*)md, ob, dm, 
vertexCos, numVerts);
+
+       if(dm)
+               dm->release(dm);
+
+}
+
+static void simpledeformModifier_deformVertsEM(ModifierData *md, Object *ob, 
EditMesh *editData, DerivedMesh *derivedData, float (*vertexCos)[3], int 
numVerts)
+{
+       DerivedMesh *dm = NULL;
+       CustomDataMask dataMask = simpledeformModifier_requiredDataMask(md);
+
+       /* We implement requiredDataMask but thats not really usefull since 
mesh_calc_modifiers pass a NULL derivedData or without the modified vertexs 
applied */
+       if(dataMask)
+       {
+               if(derivedData) dm = CDDM_copy(derivedData);
+               else if(ob->type==OB_MESH) dm = CDDM_from_editmesh(editData, 
ob->data);
+               else return;
+
+               if(dataMask & CD_MVERT)
+               {
+                       CDDM_apply_vert_coords(dm, vertexCos);
+                       CDDM_calc_normals(dm);
+               }
+       }
+
+       SimpleDeformModifier_do((SimpleDeformModifierData*)md, ob, dm, 
vertexCos, numVerts);
+
+       if(dm)
+               dm->release(dm);
+}
+
 /***/
 
 static ModifierTypeInfo typeArr[NUM_MODIFIER_TYPES];

Modified: branches/soc-2008-jaguarandi/source/blender/src/buttons_object.c
===================================================================
--- branches/soc-2008-jaguarandi/source/blender/src/buttons_object.c    
2008-09-26 08:58:15 UTC (rev 16743)
+++ branches/soc-2008-jaguarandi/source/blender/src/buttons_object.c    
2008-09-26 13:47:41 UTC (rev 16744)
@@ -1747,7 +1747,7 @@
                                bShrinkwrapConstraint *data = con->data;
                                char shrinktypemenu[]="Shrinkwrap 
type%t|nearest surface point %x0|projection %x1|nearest vertex %x2";
 
-                               height = 60;
+                               height = 78;
                                if(data->shrinkType == MOD_SHRINKWRAP_PROJECT)
                                        height += 18;
 


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to