[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14528] branches/soc-2008-jaguarandi/ source/blender: Added simple UI to configure some shrinkwrap modifier properties ( simple commit to try svn)
André Pinto
andresusanopinto at gmail.com
Wed Apr 23 14:44:15 CEST 2008
Revision: 14528
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14528
Author: jaguarandi
Date: 2008-04-23 14:44:10 +0200 (Wed, 23 Apr 2008)
Log Message:
-----------
Added simple UI to configure some shrinkwrap modifier properties (simple commit to try svn)
Modified Paths:
--------------
branches/soc-2008-jaguarandi/source/blender/blenkernel/intern/modifier.c
branches/soc-2008-jaguarandi/source/blender/makesdna/DNA_modifier_types.h
branches/soc-2008-jaguarandi/source/blender/src/buttons_editing.c
Modified: branches/soc-2008-jaguarandi/source/blender/blenkernel/intern/modifier.c
===================================================================
--- branches/soc-2008-jaguarandi/source/blender/blenkernel/intern/modifier.c 2008-04-23 11:38:10 UTC (rev 14527)
+++ branches/soc-2008-jaguarandi/source/blender/blenkernel/intern/modifier.c 2008-04-23 12:44:10 UTC (rev 14528)
@@ -6970,6 +6970,17 @@
dm->release(dm);
}
+
+/* Shrinkwrap */
+
+static DerivedMesh *shrinkwrapModifier_applyModifier(
+ ModifierData *md, Object *ob, DerivedMesh *derivedData,
+ int useRenderParams, int isFinalCalc)
+{
+ return derivedData;
+}
+
+
/***/
static ModifierTypeInfo typeArr[NUM_MODIFIER_TYPES];
@@ -7290,6 +7301,12 @@
mti->requiredDataMask = explodeModifier_requiredDataMask;
mti->applyModifier = explodeModifier_applyModifier;
+ mti = INIT_TYPE(Shrinkwrap);
+ mti->type = eModifierTypeType_Constructive;
+ mti->flags = eModifierTypeFlag_AcceptsMesh
+ | eModifierTypeFlag_SupportsMapping;
+ mti->applyModifier = shrinkwrapModifier_applyModifier;
+
typeArrInit = 0;
#undef INIT_TYPE
}
Modified: branches/soc-2008-jaguarandi/source/blender/makesdna/DNA_modifier_types.h
===================================================================
--- branches/soc-2008-jaguarandi/source/blender/makesdna/DNA_modifier_types.h 2008-04-23 11:38:10 UTC (rev 14527)
+++ branches/soc-2008-jaguarandi/source/blender/makesdna/DNA_modifier_types.h 2008-04-23 12:44:10 UTC (rev 14528)
@@ -35,6 +35,7 @@
eModifierType_Cloth,
eModifierType_Collision,
eModifierType_Bevel,
+ eModifierType_Shrinkwrap,
NUM_MODIFIER_TYPES
} ModifierType;
@@ -488,4 +489,17 @@
float protect;
} ExplodeModifierData;
+typedef struct ShrinkwrapModifierData {
+ ModifierData modifier;
+
+ char name[32]; /* optional vertexgroup name */
+ short shrinkType; /* shrink type projection */
+ short pad[3];
+} ShrinkwrapModifierData;
+
+/* Shrinkwrap->shrinkType */
+#define MOD_SHRINKWRAP_NEAREST 0
+#define MOD_SHRINKWRAP_NORMAL 1
+
+
#endif
Modified: branches/soc-2008-jaguarandi/source/blender/src/buttons_editing.c
===================================================================
--- branches/soc-2008-jaguarandi/source/blender/src/buttons_editing.c 2008-04-23 11:38:10 UTC (rev 14527)
+++ branches/soc-2008-jaguarandi/source/blender/src/buttons_editing.c 2008-04-23 12:44:10 UTC (rev 14528)
@@ -1820,6 +1820,8 @@
height = 94;
} else if (md->type==eModifierType_Explode) {
height = 94;
+ } else if (md->type==eModifierType_Shrinkwrap) {
+ height = 48;
}
/* roundbox 4 free variables: corner-rounding, nop, roundbox type, shade */
uiDefBut(block, ROUNDBOX, 0, "", x-10, y-height-2, width, height-2, NULL, 5.0, 0.0, 12, 40, "");
@@ -2432,6 +2434,14 @@
uiDefButBitS(block, TOG, eExplodeFlag_Unborn, B_MODIFIER_RECALC, "Unborn", lx, (cy-=19), buttonWidth/3,19, &emd->flag, 0, 0, 0, 0, "Show mesh when particles are unborn");
uiDefButBitS(block, TOG, eExplodeFlag_Alive, B_MODIFIER_RECALC, "Alive", lx+buttonWidth/3, cy, buttonWidth/3,19, &emd->flag, 0, 0, 0, 0, "Show mesh when particles are alive");
uiDefButBitS(block, TOG, eExplodeFlag_Dead, B_MODIFIER_RECALC, "Dead", lx+buttonWidth*2/3, cy, buttonWidth/3,19, &emd->flag, 0, 0, 0, 0, "Show mesh when particles are dead");
+ } else if (md->type==eModifierType_Shrinkwrap) {
+ ShrinkwrapModifierData *smd = (ShrinkwrapModifierData*) md;
+
+ char shrinktypemenu[]="Shrinkwrap type%t|nearest point %x0|normal projection %x1";
+ uiDefButS(block, MENU, B_MODIFIER_RECALC, shrinktypemenu, lx,(cy-=19),buttonWidth,19, &smd->shrinkType, 0, 0, 0, 0, "Selects type of shrinkwrap algorithm for target position.");
+
+ but=uiDefBut(block, TEX, B_MODIFIER_RECALC, "VGroup: ", lx, (cy-=19), buttonWidth,19, &smd->name, 0.0, 31.0, 0, 0, "Vertex Group name");
+ uiButSetCompleteFunc(but, autocomplete_vgroup, (void *)ob);
}
uiBlockEndAlign(block);
More information about the Bf-blender-cvs
mailing list