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