Revision: 75470
          http://sourceforge.net/p/brlcad/code/75470
Author:   n_reed
Date:     2020-04-20 17:36:15 +0000 (Mon, 20 Apr 2020)
Log Message:
-----------
Take another stab at r74969.

Fix transparency, but without breaking highlight on solid editing. I just 
missed updating the last call to dm_draw_display_list for the editing solids on 
the first go-around.

Modified Paths:
--------------
    brlcad/trunk/src/libdm/dm-generic.c
    brlcad/trunk/src/mged/dozoom.c

Modified: brlcad/trunk/src/libdm/dm-generic.c
===================================================================
--- brlcad/trunk/src/libdm/dm-generic.c 2020-04-20 15:59:40 UTC (rev 75469)
+++ brlcad/trunk/src/libdm/dm-generic.c 2020-04-20 17:36:15 UTC (rev 75470)
@@ -944,6 +944,8 @@
     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)) {
@@ -956,8 +958,17 @@
            if ((sp->s_iflag == UP && !draw_edit) || (sp->s_iflag != UP && 
draw_edit))
                continue;
 
-           if (!((sp->s_transparency > transparency_threshold) || 
(EQUAL(sp->s_transparency, transparency_threshold))))
-               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 (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-20 15:59:40 UTC (rev 75469)
+++ brlcad/trunk/src/mged/dozoom.c      2020-04-20 17:36:15 UTC (rev 75470)
@@ -35,10 +35,6 @@
 #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;
@@ -182,7 +178,7 @@
 
        /* Second, draw transparent stuff */
 
-       ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, 
nextafter(1.0, 0.0), inv_viewsize,
+       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);
 
@@ -191,7 +187,7 @@
 
     } else {
 
-       ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, 0.0, 
inv_viewsize,
+       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);
 
@@ -233,7 +229,7 @@
              color_scheme->cs_geo_hl[2], 1, 1.0);
 
 
-    ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, -1.0, 
inv_viewsize,
+    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, 1,
                                  geometry_default_color, 0, 
mged_variables->mv_dlist);
 

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