[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [61110] trunk/blender/source/blender/ editors/transform/transform_conversions.c: Bugfix [#36203] Transformation bone constraint breaks Track To / Dumped Track

Joshua Leung aligorith at gmail.com
Tue Nov 5 02:44:39 CET 2013


Revision: 61110
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=61110
Author:   aligorith
Date:     2013-11-05 01:44:38 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Bugfix [#36203] Transformation bone constraint breaks Track To / Dumped Track

Limited crazy-space constraint correction for Transform constraint to only get
applied when only rotating bones with such constraints.

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	2013-11-05 01:29:45 UTC (rev 61109)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c	2013-11-05 01:44:38 UTC (rev 61110)
@@ -4715,13 +4715,12 @@
 			if ((con->flag & CONSTRAINT_DISABLE) == 0 && (con->enforce != 0.0f)) {
 				/* (affirmative) returns for specific constraints here... */
 				/* constraints that require this regardless  */
-				if (ELEM6(con->type,
+				if (ELEM5(con->type,
 				          CONSTRAINT_TYPE_CHILDOF,
 				          CONSTRAINT_TYPE_FOLLOWPATH,
 				          CONSTRAINT_TYPE_CLAMPTO,
 				          CONSTRAINT_TYPE_OBJECTSOLVER,
-				          CONSTRAINT_TYPE_FOLLOWTRACK,
-				          CONSTRAINT_TYPE_TRANSFORM))
+				          CONSTRAINT_TYPE_FOLLOWTRACK))
 				{
 					return true;
 				}
@@ -4734,6 +4733,15 @@
 					if ((data->flag & ROTLIKE_OFFSET) && (t->mode == TFM_ROTATION))
 						return true;
 				}
+				else if (con->type == CONSTRAINT_TYPE_TRANSFORM) {
+					/* Transform constraint needs it for rotation at least (r.57309),
+					 * but doing so when translating may also mess things up [#36203]
+					 */
+					
+					if (t->mode == TFM_ROTATION)
+						return true;
+					/* ??? (t->mode == TFM_SCALE) ? */
+				}
 			}
 		}
 	}




More information about the Bf-blender-cvs mailing list