[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45103] trunk/blender/source/blender/ blenkernel/intern/armature.c: Fix for [#30438] x= zero not accepted for a bone tail.

Bastien Montagne montagne29 at wanadoo.fr
Fri Mar 23 10:18:14 CET 2012


Revision: 45103
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45103
Author:   mont29
Date:     2012-03-23 09:18:00 +0000 (Fri, 23 Mar 2012)
Log Message:
-----------
Fix for [#30438] x=zero not accepted for a bone tail.

In fact, problem was in vec_roll_to_mat3(), which has to detect when the bone is aligned with its Y axis, using a threshold. This one have been raised to quite a high value due to bug [#23954], then lowered a bit due to [#27675] (which is imho in fine the same problem as 30438).

Reset it to its org value (very low 1e-13), as testing file given with firt bug did not show any problem anymore... So now, instead of 1/1000 of bone length from Y axis, we have about 3.25*10-7... Only (hardly) noticeable at max zoom level in 3D view.

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

Modified: trunk/blender/source/blender/blenkernel/intern/armature.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/armature.c	2012-03-23 07:08:28 UTC (rev 45102)
+++ trunk/blender/source/blender/blenkernel/intern/armature.c	2012-03-23 09:18:00 UTC (rev 45103)
@@ -1513,8 +1513,11 @@
 	 *
 	 * was 0.00001, causes bug [#27675], with 0.00000495,
 	 * so a value inbetween these is needed.
+	 *
+	 * was 0.000001, causes bug [#30438] (which is same as [#27675, imho).
+	 * Reseting it to org value seems to cause no more [#23954]...
 	 */
-	if (dot_v3v3(axis,axis) > 0.000001f) {
+	if (dot_v3v3(axis,axis) > 1.0e-13f) {
 		/* if nor is *not* a multiple of target ... */
 		normalize_v3(axis);
 




More information about the Bf-blender-cvs mailing list