Revision: 34419
          http://brlcad.svn.sourceforge.net/brlcad/?rev=34419&view=rev
Author:   bob1961
Date:     2009-05-05 21:06:27 +0000 (Tue, 05 May 2009)

Log Message:
-----------
Need to convert/scale points to local units before calling routines that expect 
local units.

Modified Paths:
--------------
    brlcad/trunk/src/libtclcad/ged_obj.c

Modified: brlcad/trunk/src/libtclcad/ged_obj.c
===================================================================
--- brlcad/trunk/src/libtclcad/ged_obj.c        2009-05-05 20:43:08 UTC (rev 
34418)
+++ brlcad/trunk/src/libtclcad/ged_obj.c        2009-05-05 21:06:27 UTC (rev 
34419)
@@ -2966,8 +2966,9 @@
        dy = gdvp->gdv_view->gv_maxMouseDelta;
 
     inv_width = 1.0 / (fastf_t)gdvp->gdv_dmp->dm_width;
-    dx *= inv_width * gdvp->gdv_view->gv_size;
-    dy *= inv_width * gdvp->gdv_view->gv_size;
+    /* ged_move_arb_edge expects things to be in local units */
+    dx *= inv_width * gdvp->gdv_view->gv_size * 
gedp->ged_wdbp->dbip->dbi_base2local;
+    dy *= inv_width * gdvp->gdv_view->gv_size * 
gedp->ged_wdbp->dbip->dbi_base2local;
     VSET(view, dx, dy, 0.0);
     bn_mat_inv(inv_rot, gdvp->gdv_view->gv_rotation);
     MAT4X3PNT(model, inv_rot, view);
@@ -3062,8 +3063,9 @@
        dy = gdvp->gdv_view->gv_maxMouseDelta;
 
     inv_width = 1.0 / (fastf_t)gdvp->gdv_dmp->dm_width;
-    dx *= inv_width * gdvp->gdv_view->gv_size;
-    dy *= inv_width * gdvp->gdv_view->gv_size;
+    /* ged_move_arb_face expects things to be in local units */
+    dx *= inv_width * gdvp->gdv_view->gv_size * 
gedp->ged_wdbp->dbip->dbi_base2local;
+    dy *= inv_width * gdvp->gdv_view->gv_size * 
gedp->ged_wdbp->dbip->dbi_base2local;
     VSET(view, dx, dy, 0.0);
     bn_mat_inv(inv_rot, gdvp->gdv_view->gv_rotation);
     MAT4X3PNT(model, inv_rot, view);
@@ -3357,8 +3359,9 @@
        dy = gdvp->gdv_view->gv_maxMouseDelta;
 
     inv_width = 1.0 / (fastf_t)gdvp->gdv_dmp->dm_width;
-    dx *= inv_width * gdvp->gdv_view->gv_size;
-    dy *= inv_width * gdvp->gdv_view->gv_size;
+    /* ged_otranslate expects things to be in local units */
+    dx *= inv_width * gdvp->gdv_view->gv_size * 
gedp->ged_wdbp->dbip->dbi_base2local;
+    dy *= inv_width * gdvp->gdv_view->gv_size * 
gedp->ged_wdbp->dbip->dbi_base2local;
     VSET(view, dx, dy, 0.0);
     bn_mat_inv(inv_rot, gdvp->gdv_view->gv_rotation);
     MAT4X3PNT(model, inv_rot, view);


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to