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