Revision: 75372
          http://sourceforge.net/p/brlcad/code/75372
Author:   starseeker
Date:     2020-04-13 13:08:06 +0000 (Mon, 13 Apr 2020)
Log Message:
-----------
Cherrypick r75325 to fix MGED solid editing (disables transparency)

Modified Paths:
--------------
    brlcad/branches/RELEASE/NEWS
    brlcad/branches/RELEASE/src/libdm/dm-generic.c
    brlcad/branches/RELEASE/src/mged/dozoom.c

Property Changed:
----------------
    brlcad/branches/RELEASE/

Index: brlcad/branches/RELEASE
===================================================================
--- brlcad/branches/RELEASE     2020-04-13 13:05:47 UTC (rev 75371)
+++ brlcad/branches/RELEASE     2020-04-13 13:08:06 UTC (rev 75372)

Property changes on: brlcad/branches/RELEASE
___________________________________________________________________
Modified: svn:mergeinfo
## -6,4 +6,4 ##
 /brlcad/branches/opencl:65867-66137
 /brlcad/branches/osg:62110-62113
 /brlcad/branches/prep-cache:68236-68933
-/brlcad/trunk:36844-37285,37571-38764,38777-38845,41559-43155,43159-43908,44241-44324,44326-44385,44710-45373,45377,45379-47342,47370-68122,68125-74976
\ No newline at end of property
+/brlcad/trunk:36844-37285,37571-38764,38777-38845,41559-43155,43159-43908,44241-44324,44326-44385,44710-45373,45377,45379-47342,47370-68122,68125-74976,75325
\ No newline at end of property
Modified: brlcad/branches/RELEASE/NEWS
===================================================================
--- brlcad/branches/RELEASE/NEWS        2020-04-13 13:05:47 UTC (rev 75371)
+++ brlcad/branches/RELEASE/NEWS        2020-04-13 13:08:06 UTC (rev 75372)
@@ -9,7 +9,13 @@
 descriptive text that emphasizes or further describes significant
 changes made.  See document footer for additional details.
 
+----------------------------------------------------------------------
+--- 2020-0X-XX  Release 7.30.X                                     ---
+----------------------------------------------------------------------
 
+* fixed solid editing in MGED (reverts transparency change) Cliff Yapp
+
+
 ----------------------------------------------------------------------
 --- 2020-03-19  Release 7.30.6                                     ---
 ----------------------------------------------------------------------

Modified: brlcad/branches/RELEASE/src/libdm/dm-generic.c
===================================================================
--- brlcad/branches/RELEASE/src/libdm/dm-generic.c      2020-04-13 13:05:47 UTC 
(rev 75371)
+++ brlcad/branches/RELEASE/src/libdm/dm-generic.c      2020-04-13 13:08:06 UTC 
(rev 75372)
@@ -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/branches/RELEASE/src/mged/dozoom.c
===================================================================
--- brlcad/branches/RELEASE/src/mged/dozoom.c   2020-04-13 13:05:47 UTC (rev 
75371)
+++ brlcad/branches/RELEASE/src/mged/dozoom.c   2020-04-13 13:08:06 UTC (rev 
75372)
@@ -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

Reply via email to