[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54793] trunk/blender/source/blender/ modifiers/intern/MOD_shrinkwrap.c: Fix #34358: shrinkwrap modifier project along normal did not work correctly

Brecht Van Lommel brechtvanlommel at pandora.be
Sat Feb 23 21:23:59 CET 2013


Revision: 54793
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54793
Author:   blendix
Date:     2013-02-23 20:23:59 +0000 (Sat, 23 Feb 2013)
Log Message:
-----------
Fix #34358: shrinkwrap modifier project along normal did not work correctly
after other modifiers. It needs normals and those were not calculated.

Modified Paths:
--------------
    trunk/blender/source/blender/modifiers/intern/MOD_shrinkwrap.c

Modified: trunk/blender/source/blender/modifiers/intern/MOD_shrinkwrap.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_shrinkwrap.c	2013-02-23 18:50:33 UTC (rev 54792)
+++ trunk/blender/source/blender/modifiers/intern/MOD_shrinkwrap.c	2013-02-23 20:23:59 UTC (rev 54793)
@@ -161,7 +161,16 @@
 		                 DAG_RL_OB_DATA | DAG_RL_DATA_DATA, "Shrinkwrap Modifier");
 }
 
+static int dependsOnNormals(ModifierData *md)
+{
+	ShrinkwrapModifierData *smd = (ShrinkwrapModifierData *)md;
 
+	if (smd->target && smd->shrinkType == MOD_SHRINKWRAP_PROJECT)
+		return (smd->projAxis == MOD_SHRINKWRAP_PROJECT_OVER_NORMAL);
+	
+	return false;
+}
+
 ModifierTypeInfo modifierType_Shrinkwrap = {
 	/* name */              "Shrinkwrap",
 	/* structName */        "ShrinkwrapModifierData",
@@ -185,7 +194,7 @@
 	/* isDisabled */        isDisabled,
 	/* updateDepgraph */    updateDepgraph,
 	/* dependsOnTime */     NULL,
-	/* dependsOnNormals */  NULL,
+	/* dependsOnNormals */  dependsOnNormals,
 	/* foreachObjectLink */ foreachObjectLink,
 	/* foreachIDLink */     NULL,
 	/* foreachTexLink */    NULL,




More information about the Bf-blender-cvs mailing list