Revision: 76140
          http://sourceforge.net/p/brlcad/code/76140
Author:   starseeker
Date:     2020-06-12 19:47:36 +0000 (Fri, 12 Jun 2020)
Log Message:
-----------
Per user request, added units to the faceplate scale display in Archer

Modified Paths:
--------------
    brlcad/trunk/NEWS
    brlcad/trunk/include/dm.h
    brlcad/trunk/src/libdm/dm_obj.c
    brlcad/trunk/src/libdm/scale.c
    brlcad/trunk/src/libtclcad/tclcad_obj.c
    brlcad/trunk/src/tclscripts/lib/Display.tcl

Modified: brlcad/trunk/NEWS
===================================================================
--- brlcad/trunk/NEWS   2020-06-12 15:49:56 UTC (rev 76139)
+++ brlcad/trunk/NEWS   2020-06-12 19:47:36 UTC (rev 76140)
@@ -13,6 +13,7 @@
 --- 20XX-XX-XX  Release 7.3X.X                                     ---
 ----------------------------------------------------------------------
 
+* added units label to the Archer in-scene scale graphic - Cliff Yapp
 * improved output path sorting of search command - Cliff Yapp
 * added 3dm-g failure message about supported versions - Cliff Yapp
 * fixed bw-png writing corrupted png files on Windows - Sean Morrison

Modified: brlcad/trunk/include/dm.h
===================================================================
--- brlcad/trunk/include/dm.h   2020-06-12 15:49:56 UTC (rev 76139)
+++ brlcad/trunk/include/dm.h   2020-06-12 19:47:36 UTC (rev 76140)
@@ -312,6 +312,7 @@
 /* scale.c */
 DM_EXPORT extern void dm_draw_scale(dm *dmp,
                                    fastf_t viewSize,
+                                   const char *unit,
                                    int *lineColor,
                                    int *textColor);
 

Modified: brlcad/trunk/src/libdm/dm_obj.c
===================================================================
--- brlcad/trunk/src/libdm/dm_obj.c     2020-06-12 15:49:56 UTC (rev 76139)
+++ brlcad/trunk/src/libdm/dm_obj.c     2020-06-12 19:47:36 UTC (rev 76140)
@@ -1173,7 +1173,7 @@
  * Draw a scale.
  *
  * Usage:
- * drawScale vsize color
+ * drawScale vsize unit color
  *
  */
 int
@@ -1181,12 +1181,13 @@
                  int argc,
                  const char **argv)
 {
+    const char *unit;
     int color[3];
     double scan;
     fastf_t viewSize;
     struct bu_vls vls = BU_VLS_INIT_ZERO;
 
-    if (argc != 3) {
+    if (argc != 4) {
        bu_vls_printf(&vls, "helplib_alias dm_drawScale %s", argv[0]);
        Tcl_Eval(dmop->interp, bu_vls_addr(&vls));
        bu_vls_free(&vls);
@@ -1203,7 +1204,10 @@
     /* convert double to fastf_t */
     viewSize = scan;
 
-    if (sscanf(argv[2], "%d %d %d",
+
+    unit = argv[2];
+
+    if (sscanf(argv[3], "%d %d %d",
               &color[0],
               &color[1],
               &color[2]) != 3) {
@@ -1227,7 +1231,7 @@
        return BRLCAD_ERROR;
     }
 
-    dm_draw_scale(dmop->dmo_dmp, viewSize, color, color);
+    dm_draw_scale(dmop->dmo_dmp, viewSize, unit, color, color);
 
     return BRLCAD_OK;
 }
@@ -1235,7 +1239,7 @@
 
 /*
  * Usage:
- * objname drawScale vsize color
+ * objname drawScale vsize unit color
  */
 HIDDEN int
 dmo_drawScale_tcl(void *clientData, int argc, const char **argv)

Modified: brlcad/trunk/src/libdm/scale.c
===================================================================
--- brlcad/trunk/src/libdm/scale.c      2020-06-12 15:49:56 UTC (rev 76139)
+++ brlcad/trunk/src/libdm/scale.c      2020-06-12 19:47:36 UTC (rev 76140)
@@ -38,6 +38,7 @@
 void
 dm_draw_scale(dm *dmp,
              fastf_t   viewSize,
+             const char *unit,
              int       *lineColor,
              int       *textColor)
 {
@@ -53,6 +54,9 @@
     dm_set_line_attr(dmp, dmp->dm_lineWidth, 0);  /* solid lines */
 
     bu_vls_printf(&vls, "%g", viewSize*0.5);
+    if (unit) {
+       bu_vls_printf(&vls, "%s", unit);
+    }
     soffset = (int)(strlen(bu_vls_addr(&vls)) * 0.5);
 
     xpos1 = -0.5;

Modified: brlcad/trunk/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-06-12 15:49:56 UTC (rev 
76139)
+++ brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-06-12 19:47:36 UTC (rev 
76140)
@@ -15685,6 +15685,7 @@
     if (gdvp->gdv_view->gv_view_scale.gos_draw)
        dm_draw_scale(gdvp->gdv_dmp,
                      
gdvp->gdv_view->gv_size*gop->go_gedp->ged_wdbp->dbip->dbi_base2local,
+                     
bu_units_string(1/gop->go_gedp->ged_wdbp->dbip->dbi_base2local),
                      gdvp->gdv_view->gv_view_scale.gos_line_color,
                      gdvp->gdv_view->gv_view_params.gos_text_color);
 

Modified: brlcad/trunk/src/tclscripts/lib/Display.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/lib/Display.tcl 2020-06-12 15:49:56 UTC (rev 
76139)
+++ brlcad/trunk/src/tclscripts/lib/Display.tcl 2020-06-12 19:47:36 UTC (rev 
76140)
@@ -750,7 +750,7 @@
        }
 
        if {$itk_option(-scaleEnable)} {
-           Dm::drawScale [View::size] $itk_option(-scaleColor)
+           Dm::drawScale [View::size] [View::units] $itk_option(-scaleColor)
        }
 
        if {$itk_option(-primitiveLabels) != {}} {

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



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to