Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2008-02-21 17:28:20 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2008-02-21 17:28:20 +0300
commit36c41c96e73a77af9c59c36fc27b74e6e139fff7 (patch)
tree200f7993610d7c56d04dcf92da5723981ff14456 /source/blender/src/transform_manipulator.c
parent9be47ba25cce3976881fd24f15e8fae58f762f2f (diff)
Fix for bug #5986: snap circle too big when far away from the origin
(e.g. 1000 blender units).
Diffstat (limited to 'source/blender/src/transform_manipulator.c')
-rw-r--r--source/blender/src/transform_manipulator.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/src/transform_manipulator.c b/source/blender/src/transform_manipulator.c
index 36e5da7f51e..8fcb329f2f9 100644
--- a/source/blender/src/transform_manipulator.c
+++ b/source/blender/src/transform_manipulator.c
@@ -1359,13 +1359,13 @@ static void draw_manipulator_rotate_cyl(float mat[][4], int moving, int drawflag
/* ********************************************* */
-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 @@ float get_drawsize(View3D *v3d)
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;