[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34592] trunk/blender/source/blender/ editors/transform/transform_conversions.c: Bugfix [#25885] Auto IK ignores full rotation locks

Joshua Leung aligorith at gmail.com
Tue Feb 1 01:43:30 CET 2011


Revision: 34592
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34592
Author:   aligorith
Date:     2011-02-01 00:43:28 +0000 (Tue, 01 Feb 2011)
Log Message:
-----------
Bugfix [#25885] Auto IK ignores full rotation locks

... actually, this was just an off-by-one bug again.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/transform/transform_conversions.c

Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c	2011-02-01 00:41:15 UTC (rev 34591)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c	2011-02-01 00:43:28 UTC (rev 34592)
@@ -862,15 +862,16 @@
 		data->flag= CONSTRAINT_IK_TIP;
 	data->flag |= CONSTRAINT_IK_TEMP|CONSTRAINT_IK_AUTO;
 	VECCOPY(data->grabtarget, pchan->pose_tail);
-	data->rootbone= 1;
+	data->rootbone= 0; /* watch-it! has to be 0 here, since we're still on the same bone for the first time through the loop [#25885] */
 	
 	/* we only include bones that are part of a continual connected chain */
 	while (pchan) {
 		/* here, we set ik-settings for bone from pchan->protectflag */
+		// XXX: careful with quats/axis-angle rotations where we're locking 4d components
 		if (pchan->protectflag & OB_LOCK_ROTX) pchan->ikflag |= BONE_IK_NO_XDOF_TEMP;
 		if (pchan->protectflag & OB_LOCK_ROTY) pchan->ikflag |= BONE_IK_NO_YDOF_TEMP;
 		if (pchan->protectflag & OB_LOCK_ROTZ) pchan->ikflag |= BONE_IK_NO_ZDOF_TEMP;
-
+		
 		/* now we count this pchan as being included */
 		data->rootbone++;
 		




More information about the Bf-blender-cvs mailing list