[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40532] trunk/blender/source/blender/ editors/space_view3d: added bone envelope to the editbone UI, also use more BLI_math functions for armature drawing.

Campbell Barton ideasman42 at gmail.com
Sun Sep 25 07:48:17 CEST 2011


Revision: 40532
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40532
Author:   campbellbarton
Date:     2011-09-25 05:48:16 +0000 (Sun, 25 Sep 2011)
Log Message:
-----------
added bone envelope to the editbone UI, also use more BLI_math functions for armature drawing.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/drawarmature.c
    trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c

Modified: trunk/blender/source/blender/editors/space_view3d/drawarmature.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawarmature.c	2011-09-25 04:55:04 UTC (rev 40531)
+++ trunk/blender/source/blender/editors/space_view3d/drawarmature.c	2011-09-25 05:48:16 UTC (rev 40532)
@@ -697,14 +697,10 @@
 			vec[0]= - *(si+a) * dirvec[0] + *(co+a) * norvec[0];
 			vec[1]= - *(si+a) * dirvec[1] + *(co+a) * norvec[1];
 			vec[2]= - *(si+a) * dirvec[2] + *(co+a) * norvec[2];
+
+			madd_v3_v3v3fl(vec1, headvec, vec, head);
+			madd_v3_v3v3fl(vec2, headvec, vec, head + dist);
 			
-			vec1[0]= headvec[0] + head*vec[0];
-			vec1[1]= headvec[1] + head*vec[1];
-			vec1[2]= headvec[2] + head*vec[2];
-			vec2[0]= headvec[0] + (head+dist)*vec[0];
-			vec2[1]= headvec[1] + (head+dist)*vec[1];
-			vec2[2]= headvec[2] + (head+dist)*vec[2];
-			
 			glColor4ub(255, 255, 255, 50);
 			glVertex3fv(vec1);
 			//glColor4ub(255, 255, 255, 0);
@@ -715,14 +711,10 @@
 			vec[0]= *(si+a) * dirvec[0] + *(co+a) * norvec[0];
 			vec[1]= *(si+a) * dirvec[1] + *(co+a) * norvec[1];
 			vec[2]= *(si+a) * dirvec[2] + *(co+a) * norvec[2];
+
+			madd_v3_v3v3fl(vec1, tailvec, vec, tail);
+			madd_v3_v3v3fl(vec2, tailvec, vec, tail + dist);
 			
-			vec1[0]= tailvec[0] + tail*vec[0];
-			vec1[1]= tailvec[1] + tail*vec[1];
-			vec1[2]= tailvec[2] + tail*vec[2];
-			vec2[0]= tailvec[0] + (tail+dist)*vec[0];
-			vec2[1]= tailvec[1] + (tail+dist)*vec[1];
-			vec2[2]= tailvec[2] + (tail+dist)*vec[2];
-			
 			//glColor4ub(255, 255, 255, 50);
 			glVertex3fv(vec1);
 			//glColor4ub(255, 255, 255, 0);
@@ -733,14 +725,10 @@
 		vec[0]= - *(si) * dirvec[0] + *(co) * norvec[0];
 		vec[1]= - *(si) * dirvec[1] + *(co) * norvec[1];
 		vec[2]= - *(si) * dirvec[2] + *(co) * norvec[2];
-		
-		vec1[0]= headvec[0] + head*vec[0];
-		vec1[1]= headvec[1] + head*vec[1];
-		vec1[2]= headvec[2] + head*vec[2];
-		vec2[0]= headvec[0] + (head+dist)*vec[0];
-		vec2[1]= headvec[1] + (head+dist)*vec[1];
-		vec2[2]= headvec[2] + (head+dist)*vec[2];
-		
+
+		madd_v3_v3v3fl(vec1, headvec, vec, head);
+		madd_v3_v3v3fl(vec2, headvec, vec, head + dist);
+
 		//glColor4ub(255, 255, 255, 50);
 		glVertex3fv(vec1);
 		//glColor4ub(255, 255, 255, 0);
@@ -839,21 +827,17 @@
 			glLoadName(id | BONESEL_BONE);
 		
 		glBegin(GL_LINES);
-		vec[0]= headvec[0] + norvech[0];
-		vec[1]= headvec[1] + norvech[1];
-		vec[2]= headvec[2] + norvech[2];
+
+		add_v3_v3v3(vec, headvec, norvech);
 		glVertex3fv(vec);
-		vec[0]= tailvec[0] + norvect[0];
-		vec[1]= tailvec[1] + norvect[1];
-		vec[2]= tailvec[2] + norvect[2];
+
+		add_v3_v3v3(vec, tailvec, norvect);
 		glVertex3fv(vec);
-		vec[0]= headvec[0] - norvech[0];
-		vec[1]= headvec[1] - norvech[1];
-		vec[2]= headvec[2] - norvech[2];
+
+		sub_v3_v3v3(vec, headvec, norvech);
 		glVertex3fv(vec);
-		vec[0]= tailvec[0] - norvect[0];
-		vec[1]= tailvec[1] - norvect[1];
-		vec[2]= tailvec[2] - norvect[2];
+
+		sub_v3_v3v3(vec, tailvec, norvect);
 		glVertex3fv(vec);
 		
 		glEnd();

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c	2011-09-25 04:55:04 UTC (rev 40531)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c	2011-09-25 05:48:16 UTC (rev 40532)
@@ -986,6 +986,7 @@
 	uiItemR(col, &eboneptr, "tail_radius", 0, "Radius", ICON_NONE);
 	
 	uiItemR(col, &eboneptr, "roll", 0, "Roll", ICON_NONE);
+	uiItemR(col, &eboneptr, "envelope_distance", 0, "Envelope", ICON_NONE);
 }
 
 static void v3d_editmetaball_buts(uiLayout *layout, Object *ob)




More information about the Bf-blender-cvs mailing list