Revision: 54496
          http://brlcad.svn.sourceforge.net/brlcad/?rev=54496&view=rev
Author:   n_reed
Date:     2013-02-26 23:21:01 +0000 (Tue, 26 Feb 2013)
Log Message:
-----------
have mged redraw after zoom events when adaptive plotting is enabled

Modified Paths:
--------------
    brlcad/trunk/src/mged/chgview.c
    brlcad/trunk/src/mged/dm-generic.c
    brlcad/trunk/src/mged/dodraw.c
    brlcad/trunk/src/mged/mged.h

Modified: brlcad/trunk/src/mged/chgview.c
===================================================================
--- brlcad/trunk/src/mged/chgview.c     2013-02-26 20:22:49 UTC (rev 54495)
+++ brlcad/trunk/src/mged/chgview.c     2013-02-26 23:21:01 UTC (rev 54496)
@@ -2655,9 +2655,14 @@
        set_absolute_tran();
     }
 
+    ret = TCL_OK;
+    if (mged_variables->mv_adaptive_plot) {
+       ret = redraw_visible_objects();
+    }
+
     view_state->vs_flag = 1;
 
-    return TCL_OK;
+    return ret;
 }
 
 

Modified: brlcad/trunk/src/mged/dm-generic.c
===================================================================
--- brlcad/trunk/src/mged/dm-generic.c  2013-02-26 20:22:49 UTC (rev 54495)
+++ brlcad/trunk/src/mged/dm-generic.c  2013-02-26 23:21:01 UTC (rev 54496)
@@ -88,6 +88,19 @@
        return TCL_OK;
 
     if (BU_STR_EQUAL(argv[0], "idle")) {
+
+       /* redraw after scaling */
+       if (mged_variables->mv_adaptive_plot &&
+           (am_mode == AMM_SCALE ||
+            am_mode == AMM_CON_SCALE_X ||
+            am_mode == AMM_CON_SCALE_Y ||
+            am_mode == AMM_CON_SCALE_Z))
+       {
+           if (redraw_visible_objects() == TCL_ERROR) {
+               return TCL_ERROR;
+           }
+       }
+
        am_mode = AMM_IDLE;
        scroll_active = 0;
        if (rubber_band->rb_active) {

Modified: brlcad/trunk/src/mged/dodraw.c
===================================================================
--- brlcad/trunk/src/mged/dodraw.c      2013-02-26 20:22:49 UTC (rev 54495)
+++ brlcad/trunk/src/mged/dodraw.c      2013-02-26 23:21:01 UTC (rev 54496)
@@ -1154,7 +1154,22 @@
     return TCL_OK;
 }
 
+int
+redraw_visible_objects(void)
+{
+    int ret, ac = 1;
+    char *av[] = {NULL, NULL};
 
+    av[0] = "redraw";
+    ret = ged_redraw(gedp, ac, (const char **)av);
+
+    if (ret == GED_ERROR) {
+       return TCL_ERROR;
+    }
+
+    return TCL_OK;
+}
+
 /*
  * Local Variables:
  * mode: C

Modified: brlcad/trunk/src/mged/mged.h
===================================================================
--- brlcad/trunk/src/mged/mged.h        2013-02-26 20:22:49 UTC (rev 54495)
+++ brlcad/trunk/src/mged/mged.h        2013-02-26 23:21:01 UTC (rev 54496)
@@ -508,6 +508,7 @@
 int replot_modified_solid(struct solid *sp, struct rt_db_internal *ip, const 
mat_t mat);
 int replot_original_solid(struct solid *sp);
 void add_solid_path_to_result(Tcl_Interp *interpreter, struct solid *sp);
+int redraw_visible_objects(void);
 
 /* dozoom.c */
 void createDList(struct solid *sp);

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


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to