[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