[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55105] trunk/blender/source/blender/ editors/armature/editarmature_generate.c: [#34541] Sketching bones created bones with 0 radius for envelope

Joshua Leung aligorith at gmail.com
Fri Mar 8 03:23:46 CET 2013


Revision: 55105
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55105
Author:   aligorith
Date:     2013-03-08 02:23:43 +0000 (Fri, 08 Mar 2013)
Log Message:
-----------
[#34541] Sketching bones created bones with 0 radius for envelope

This commit is just a stopgap measure (i.e. it fixes the symptoms but not the
real underlying cause) of this bug. For some reason, iter->size is nearly always
an "effectively zero but not truly zero" value. Hence, the envelope sizes would
get adjusted, but would be scaled to an impossibly small value (taken from
iter->size).

>From my investigations so far, iter->size is mostly either set to (or left as)
0, except in a rare case when dealing with volume snapping, when the values
somehow get propagated there from various intermediate data points. But, that
almost never works either.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/armature/editarmature_generate.c

Modified: trunk/blender/source/blender/editors/armature/editarmature_generate.c
===================================================================
--- trunk/blender/source/blender/editors/armature/editarmature_generate.c	2013-03-08 02:15:08 UTC (rev 55104)
+++ trunk/blender/source/blender/editors/armature/editarmature_generate.c	2013-03-08 02:23:43 UTC (rev 55105)
@@ -263,7 +263,7 @@
 	parent = ED_armature_edit_bone_add(arm, "Bone");
 	copy_v3_v3(parent->head, iter->p);
 	
-	if (iter->size > 0) {
+	if (iter->size > FLT_EPSILON) {
 		parent->rad_head = iter->size * size_buffer;
 	}
 	
@@ -278,7 +278,7 @@
 		child->parent = parent;
 		child->flag |= BONE_CONNECTED;
 		
-		if (iter->size > 0) {
+		if (iter->size > FLT_EPSILON) {
 			child->rad_head = iter->size * size_buffer;
 			parent->rad_tail = iter->size * size_buffer;
 		}
@@ -299,7 +299,7 @@
 	iter->tail(iter);
 
 	copy_v3_v3(parent->tail, iter->p);
-	if (iter->size > 0) {
+	if (iter->size > FLT_EPSILON) {
 		parent->rad_tail = iter->size * size_buffer;
 	}
 		




More information about the Bf-blender-cvs mailing list