Revision: 75325
http://sourceforge.net/p/brlcad/code/75325
Author: starseeker
Date: 2020-04-09 18:36:04 +0000 (Thu, 09 Apr 2020)
Log Message:
-----------
Revert r74969 - the change to enable transparency had the side effect of
breaking illumination, which meant (among other things) that the wireframes of
solids vanished when trying to edit them. This breaks transparency again -
we'll have to back up and take another look at it.
Modified Paths:
--------------
brlcad/trunk/NEWS
brlcad/trunk/src/libdm/dm-generic.c
brlcad/trunk/src/mged/dozoom.c
Modified: brlcad/trunk/NEWS
===================================================================
--- brlcad/trunk/NEWS 2020-04-09 18:02:59 UTC (rev 75324)
+++ brlcad/trunk/NEWS 2020-04-09 18:36:04 UTC (rev 75325)
@@ -14,7 +14,8 @@
--- 20XX-XX-XX Release 7.XX.X ---
----------------------------------------------------------------------
-* add .r suffixes to region names in 3dm-g conversion - Cliff Yapp
+* repaired wireframe visualization during MGED solid edit - Cliff Yapp
+* added .r suffixes to region names in 3dm-g conversion - Cliff Yapp
----------------------------------------------------------------------
Modified: brlcad/trunk/src/libdm/dm-generic.c
===================================================================
--- brlcad/trunk/src/libdm/dm-generic.c 2020-04-09 18:02:59 UTC (rev 75324)
+++ brlcad/trunk/src/libdm/dm-generic.c 2020-04-09 18:36:04 UTC (rev 75325)
@@ -944,8 +944,6 @@
struct solid *sp;
fastf_t ratio;
int ndrawn = 0;
- int opaque = 0;
- int opaque_only = EQUAL(transparency_threshold, 1.0);
gdlp = BU_LIST_NEXT(display_list, dl);
while (BU_LIST_NOT_HEAD(gdlp, dl)) {
@@ -958,17 +956,8 @@
if ((sp->s_iflag == UP && !draw_edit) || (sp->s_iflag != UP &&
draw_edit))
continue;
- opaque = EQUAL(sp->s_transparency, 1.0);
- if (opaque_only) {
- if (!opaque) {
- continue;
- }
- } else {
- /* transparent only */
- if (opaque || !(sp->s_transparency > transparency_threshold ||
EQUAL(sp->s_transparency, transparency_threshold))) {
- continue;
- }
- }
+ if (!((sp->s_transparency > transparency_threshold) ||
(EQUAL(sp->s_transparency, transparency_threshold))))
+ continue;
if (dm_get_bound_flag(dmp)) {
ratio = sp->s_size * inv_viewsize;
Modified: brlcad/trunk/src/mged/dozoom.c
===================================================================
--- brlcad/trunk/src/mged/dozoom.c 2020-04-09 18:02:59 UTC (rev 75324)
+++ brlcad/trunk/src/mged/dozoom.c 2020-04-09 18:36:04 UTC (rev 75325)
@@ -1,7 +1,7 @@
/* D O Z O O M . C
* BRL-CAD
*
- * Copyright (c) 1985-2020 United States Government as represented by
+ * Copyright (c) 1985-2019 United States Government as represented by
* the U.S. Army Research Laboratory.
*
* This program is free software; you can redistribute it and/or
@@ -35,6 +35,10 @@
#include "./sedit.h"
#include "./mged_dm.h"
+#if defined(HAVE_NEXTAFTER) && !defined(HAVE_DECL_NEXTAFTER)
+extern double nextafter(double x, double y);
+#endif
+
mat_t perspective_mat;
mat_t incr_change;
mat_t modelchanges;
@@ -161,31 +165,36 @@
}
#endif
- /* First, draw opaque stuff */
+ if (dm_get_transparency(DMP)) {
+ /* First, draw opaque stuff */
- ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, 1.0,
inv_viewsize,
- r, g, b, mged_variables->mv_linewidth,
mged_variables->mv_dlist, 0,
- geometry_default_color, 1,
mged_variables->mv_dlist);
+ ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, 1.0,
inv_viewsize,
+ r, g, b, mged_variables->mv_linewidth,
mged_variables->mv_dlist, 0,
+ geometry_default_color, 1,
mged_variables->mv_dlist);
- /* The vectorThreshold stuff in libdm may turn the Tcl-crank causing
curr_dm_list to change. */
- if (curr_dm_list != save_dm_list) curr_dm_list = save_dm_list;
+ /* The vectorThreshold stuff in libdm may turn the Tcl-crank causing
curr_dm_list to change. */
+ if (curr_dm_list != save_dm_list) curr_dm_list = save_dm_list;
- curr_dm_list->dml_ndrawn += ndrawn;
+ curr_dm_list->dml_ndrawn += ndrawn;
- if (dm_get_transparency(DMP)) {
/* disable write to depth buffer */
dm_set_depth_mask(DMP, 0);
- }
- /* Second, draw transparent stuff */
+ /* Second, draw transparent stuff */
- ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, 0.0,
inv_viewsize,
- r, g, b, mged_variables->mv_linewidth,
mged_variables->mv_dlist, 0,
- geometry_default_color, 0,
mged_variables->mv_dlist);
+ ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay,
nextafter(1.0, 0.0), inv_viewsize,
+ r, g, b, mged_variables->mv_linewidth,
mged_variables->mv_dlist, 0,
+ geometry_default_color, 0,
mged_variables->mv_dlist);
- if (dm_get_transparency(DMP)) {
/* re-enable write of depth buffer */
dm_set_depth_mask(DMP, 1);
+
+ } else {
+
+ ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, 0.0,
inv_viewsize,
+ r, g, b, mged_variables->mv_linewidth,
mged_variables->mv_dlist, 0,
+ geometry_default_color, 1,
mged_variables->mv_dlist);
+
}
/* The vectorThreshold stuff in libdm may turn the Tcl-crank causing
curr_dm_list to change. */
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