[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