[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35870] trunk/blender/source/blender/ blenkernel/intern/effect.c: Fix for [#26665] Force field absorption does not work

Janne Karhu jhkarh at gmail.com
Tue Mar 29 14:50:43 CEST 2011


Revision: 35870
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35870
Author:   jhk
Date:     2011-03-29 12:50:43 +0000 (Tue, 29 Mar 2011)
Log Message:
-----------
Fix for [#26665] Force field absorption does not work
* Old bug fix led to all kinds of wrong behavior with "plane" shaped effectors, now things are working properly again.

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

Modified: trunk/blender/source/blender/blenkernel/intern/effect.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/effect.c	2011-03-29 12:10:41 UTC (rev 35869)
+++ trunk/blender/source/blender/blenkernel/intern/effect.c	2011-03-29 12:50:43 UTC (rev 35870)
@@ -687,13 +687,16 @@
 		/* use z-axis as normal*/
 		normalize_v3_v3(efd->nor, ob->obmat[2]);
 
-		/* for vortex the shape chooses between old / new force */
 		if(eff->pd && eff->pd->shape == PFIELD_SHAPE_PLANE) {
-			/* efd->loc is closes point on effector xy-plane */
 			float temp[3], translate[3];
 			sub_v3_v3v3(temp, point->loc, ob->obmat[3]);
 			project_v3_v3v3(translate, temp, efd->nor);
-			add_v3_v3v3(efd->loc, ob->obmat[3], translate);
+
+			/* for vortex the shape chooses between old / new force */
+			if(eff->pd->forcefield == PFIELD_VORTEX)
+				add_v3_v3v3(efd->loc, ob->obmat[3], translate);
+			else /* normally efd->loc is closest point on effector xy-plane */
+				sub_v3_v3v3(efd->loc, point->loc, translate);
 		}
 		else {
 			VECCOPY(efd->loc, ob->obmat[3]);




More information about the Bf-blender-cvs mailing list