[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29314] trunk/blender/source/blender/ blenkernel/intern/shrinkwrap.c: Fix #22487: Shrinkwrap ignores preceding deform modifiers

Sergey Sharybin g.ulairi at gmail.com
Mon Jun 7 19:38:52 CEST 2010


Revision: 29314
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29314
Author:   nazgul
Date:     2010-06-07 19:38:52 +0200 (Mon, 07 Jun 2010)

Log Message:
-----------
Fix #22487: Shrinkwrap ignores preceding deform modifiers

ShrinkwrapCalcData->vert contains verts from derivedMesh this coordinated
are deformed by vertexCos only for normal projection (to get correct normals)
for other cases this field contains undeformed dm's coordinates and
vertexCos should be used

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/shrinkwrap.c

Modified: trunk/blender/source/blender/blenkernel/intern/shrinkwrap.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/shrinkwrap.c	2010-06-07 16:24:24 UTC (rev 29313)
+++ trunk/blender/source/blender/blenkernel/intern/shrinkwrap.c	2010-06-07 17:38:52 UTC (rev 29314)
@@ -355,11 +355,16 @@
 
 			if(calc->vert)
 			{
-				VECCOPY(tmp_co, calc->vert[i].co);
-				if(calc->smd->projAxis == MOD_SHRINKWRAP_PROJECT_OVER_NORMAL)
+				/* calc->vert contains verts from derivedMesh  */
+				/* this coordinated are deformed by vertexCos only for normal projection (to get correct normals) */
+				/* for other cases calc->varts contains undeformed coordinates and vertexCos should be used */
+				if(calc->smd->projAxis == MOD_SHRINKWRAP_PROJECT_OVER_NORMAL) {
+					VECCOPY(tmp_co, calc->vert[i].co);
 					normal_short_to_float_v3(tmp_no, calc->vert[i].no);
-				else
+				} else {
+					VECCOPY(tmp_co, co);
 					VECCOPY(tmp_no, proj_axis);
+				}
 			}
 			else
 			{





More information about the Bf-blender-cvs mailing list