[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13797] trunk/blender/source/blender:

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Feb 21 15:28:20 CET 2008


Revision: 13797
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13797
Author:   blendix
Date:     2008-02-21 15:28:20 +0100 (Thu, 21 Feb 2008)

Log Message:
-----------

Fix for bug #5986: snap circle too big when far away from the origin
(e.g. 1000 blender units).

Modified Paths:
--------------
    trunk/blender/source/blender/include/transform.h
    trunk/blender/source/blender/src/transform_manipulator.c
    trunk/blender/source/blender/src/transform_snap.c

Modified: trunk/blender/source/blender/include/transform.h
===================================================================
--- trunk/blender/source/blender/include/transform.h	2008-02-21 13:15:21 UTC (rev 13796)
+++ trunk/blender/source/blender/include/transform.h	2008-02-21 14:28:20 UTC (rev 13797)
@@ -376,7 +376,7 @@
 /*********************** exported from transform_manipulator.c ********** */
 void draw_manipulator_ext(struct ScrArea *sa, int type, char axis, int col, float vec[3], float mat[][3]);
 int calc_manipulator_stats(struct ScrArea *sa);
-float get_drawsize(struct View3D *v3d);
+float get_drawsize(struct View3D *v3d, float *co);
 
 /*********************** TransData Creation and General Handling *********** */
 void createTransData(TransInfo *t);

Modified: trunk/blender/source/blender/src/transform_manipulator.c
===================================================================
--- trunk/blender/source/blender/src/transform_manipulator.c	2008-02-21 13:15:21 UTC (rev 13796)
+++ trunk/blender/source/blender/src/transform_manipulator.c	2008-02-21 14:28:20 UTC (rev 13797)
@@ -1359,13 +1359,13 @@
 
 /* ********************************************* */
 
-float get_drawsize(View3D *v3d)
+float get_drawsize(View3D *v3d, float *co)
 {
 	ScrArea *sa = v3d->area;
 	float size, vec[3], len1, len2;
 	
 	/* size calculus, depending ortho/persp settings, like initgrabz() */
-	size= v3d->persmat[0][3]*v3d->twmat[3][0]+ v3d->persmat[1][3]*v3d->twmat[3][1]+ v3d->persmat[2][3]*v3d->twmat[3][2]+ v3d->persmat[3][3];
+	size= v3d->persmat[0][3]*co[0]+ v3d->persmat[1][3]*co[1]+ v3d->persmat[2][3]*co[2]+ v3d->persmat[3][3];
 	
 	VECCOPY(vec, v3d->persinv[0]);
 	len1= Normalize(vec);
@@ -1384,7 +1384,7 @@
 static float get_manipulator_drawsize(ScrArea *sa)
 {
 	View3D *v3d= sa->spacedata.first;
-	float size = get_drawsize(v3d);
+	float size = get_drawsize(v3d, v3d->twmat[3]);
 	
 	size*= (float)U.tw_size;
 

Modified: trunk/blender/source/blender/src/transform_snap.c
===================================================================
--- trunk/blender/source/blender/src/transform_snap.c	2008-02-21 13:15:21 UTC (rev 13796)
+++ trunk/blender/source/blender/src/transform_snap.c	2008-02-21 14:28:20 UTC (rev 13797)
@@ -126,7 +126,7 @@
 			
 			glDisable(GL_DEPTH_TEST);
 	
-			size = get_drawsize(G.vd);
+			size = get_drawsize(G.vd, t->tsnap.snapPoint);
 			
 			size *= 0.5f * BIF_GetThemeValuef(TH_VERTEX_SIZE);
 			





More information about the Bf-blender-cvs mailing list