Revision: 76704
          http://sourceforge.net/p/brlcad/code/76704
Author:   starseeker
Date:     2020-08-11 14:19:35 +0000 (Tue, 11 Aug 2020)
Log Message:
-----------
Merge changes from RELEASE: r76693 through r76703

Modified Paths:
--------------
    brlcad/trunk/src/libged/blast/blast.c
    brlcad/trunk/src/libged/clone/clone.c
    brlcad/trunk/src/libged/draw/draw.c
    brlcad/trunk/src/libged/draw/loadview.c
    brlcad/trunk/src/libged/draw/preview.c
    brlcad/trunk/src/libged/killall/killall.c
    brlcad/trunk/src/libged/osg.cpp
    brlcad/trunk/src/libged/putmat/putmat.c
    brlcad/trunk/src/mged/cmd.c

Property Changed:
----------------
    brlcad/trunk/

Index: brlcad/trunk
===================================================================
--- brlcad/trunk        2020-08-11 13:38:43 UTC (rev 76703)
+++ brlcad/trunk        2020-08-11 14:19:35 UTC (rev 76704)

Property changes on: brlcad/trunk
___________________________________________________________________
Modified: svn:mergeinfo
## -1,4 +1,4 ##
-/brlcad/branches/RELEASE:57439,57447-57860,69901-69913,70323-70333,71915-72242,72525-72534,72826-72858,74376-74454,74964-75140,75372-75685,76001-76451,76693
+/brlcad/branches/RELEASE:57439,57447-57860,69901-69913,70323-70333,71915-72242,72525-72534,72826-72858,74376-74454,74964-75140,75372-75685,76001-76451,76693-76703
 
/brlcad/branches/bioh:75720-75736,75740-75742,75860-75891,75894-75986,76088-76153,76354-76506,76577
 
/brlcad/branches/brep-debug:61373,61375,61404,61427,61429,61470,61544,61567,61576,61999,62018,62094,62098,62107,62117,62406,62416-62519,62521-62584,62593-62614,62623,62658,62660-62674,62681-62771,62876,62901,62907,62910,62925,62928,62931-63025,63027,63051,63054-63056,63069,63071-63073,63122,63160-63161,63165,63171,63184,63187,63189-63190,63193-63196,63200,63202,63205-63210,63213,63219-63225,63232-63233,63236,63238,63338,63350-63353,63481,63618,63669,64173-64174,64176-64177,64229-64233,64242,64244,64360-64362,65165,65245,65249,65334,65833-65834,66370-66375,66931-66932,66934,67012-67015,67018-67019,67021-67022,67406,67740,67746-67748,67950,67952,68144-68145,68636,68640-68643,68820,69081,69109,69168,69206,69289,69346,69460-69461,69582-69583,69719-69721,69857-69859,69927,69995-69996,70148-70149,70347-70349,70377,70526-70527,71006-71007,71009-71022,71046-71047,71049,71096-71100
 /brlcad/branches/bullet:62518
Modified: brlcad/trunk/src/libged/blast/blast.c
===================================================================
--- brlcad/trunk/src/libged/blast/blast.c       2020-08-11 13:38:43 UTC (rev 
76703)
+++ brlcad/trunk/src/libged/blast/blast.c       2020-08-11 14:19:35 UTC (rev 
76704)
@@ -60,6 +60,7 @@
     }
 
     /* Draw the new object(s) */
+    argv[0] = "draw";
     return ged_draw(gedp, argc, argv);
 }
 
@@ -66,17 +67,17 @@
 
 #ifdef GED_PLUGIN
 #include "../include/plugin.h"
-struct ged_cmd_impl blast_cmd_impl = {
-    "blast",
-    ged_blast_core,
-    GED_CMD_DEFAULT
-};
-
+struct ged_cmd_impl blast_cmd_impl = {"blast", ged_blast_core, 
GED_CMD_DEFAULT};
 const struct ged_cmd blast_cmd = { &blast_cmd_impl };
-const struct ged_cmd *blast_cmds[] = { &blast_cmd, NULL };
 
-static const struct ged_plugin pinfo = { blast_cmds, 1 };
+struct ged_cmd_impl B_cmd_impl = {"B", ged_blast_core, GED_CMD_DEFAULT};
+const struct ged_cmd B_cmd = { &B_cmd_impl };
 
+
+const struct ged_cmd *blast_cmds[] = { &blast_cmd, &B_cmd, NULL };
+
+static const struct ged_plugin pinfo = { blast_cmds, 2 };
+
 COMPILER_DLLEXPORT const struct ged_plugin *ged_plugin_info()
 {
     return &pinfo;

Modified: brlcad/trunk/src/libged/clone/clone.c
===================================================================
--- brlcad/trunk/src/libged/clone/clone.c       2020-08-11 13:38:43 UTC (rev 
76703)
+++ brlcad/trunk/src/libged/clone/clone.c       2020-08-11 14:19:35 UTC (rev 
76704)
@@ -420,7 +420,7 @@
        bu_vls_strcpy(&obj_list.names[idx].dest[i], bu_vls_addr(name));
 
        /* actually copy the primitive to the new name */
-       argv[0] = "clone_copy";
+       argv[0] = "copy";
        argv[1] = proto->d_namep;
        argv[2] = bu_vls_addr(name);
        argv[3] = (char *)0;

Modified: brlcad/trunk/src/libged/draw/draw.c
===================================================================
--- brlcad/trunk/src/libged/draw/draw.c 2020-08-11 13:38:43 UTC (rev 76703)
+++ brlcad/trunk/src/libged/draw/draw.c 2020-08-11 14:19:35 UTC (rev 76704)
@@ -1315,9 +1315,6 @@
 struct ged_cmd_impl e_cmd_impl = {"e", ged_draw_core, GED_CMD_DEFAULT};
 const struct ged_cmd e_cmd = { &e_cmd_impl };
 
-struct ged_cmd_impl B_cmd_impl = {"B", ged_draw_core, GED_CMD_DEFAULT};
-const struct ged_cmd B_cmd = { &B_cmd_impl };
-
 struct ged_cmd_impl ev_cmd_impl = {"ev", ged_ev_core, GED_CMD_DEFAULT};
 const struct ged_cmd ev_cmd = { &ev_cmd_impl };
 
@@ -1329,9 +1326,9 @@
 struct ged_cmd_impl preview_cmd_impl = {"preview", ged_preview_core, 
GED_CMD_DEFAULT};
 const struct ged_cmd preview_cmd = { &preview_cmd_impl };
 
-const struct ged_cmd *draw_cmds[] = { &draw_cmd, &e_cmd, &B_cmd, &ev_cmd, 
&loadview_cmd, &preview_cmd, NULL };
+const struct ged_cmd *draw_cmds[] = { &draw_cmd, &e_cmd, &ev_cmd, 
&loadview_cmd, &preview_cmd, NULL };
 
-static const struct ged_plugin pinfo = { draw_cmds, 6 };
+static const struct ged_plugin pinfo = { draw_cmds, 5 };
 
 COMPILER_DLLEXPORT const struct ged_plugin *ged_plugin_info()
 {

Modified: brlcad/trunk/src/libged/draw/loadview.c
===================================================================
--- brlcad/trunk/src/libged/draw/loadview.c     2020-08-11 13:38:43 UTC (rev 
76703)
+++ brlcad/trunk/src/libged/draw/loadview.c     2020-08-11 14:19:35 UTC (rev 
76704)
@@ -199,7 +199,8 @@
             * TODO: should only zap if the objects to be displayed
             * all exist.
             */
-           (void)ged_zap(gedp, 1, NULL);
+           const char *Z_cmd = "Z";
+           (void)ged_zap(gedp, 1, &Z_cmd);
 
            /* now get the objects listed */
            ret = fscanf(fp, "%10000s", objects);

Modified: brlcad/trunk/src/libged/draw/preview.c
===================================================================
--- brlcad/trunk/src/libged/draw/preview.c      2020-08-11 13:38:43 UTC (rev 
76703)
+++ brlcad/trunk/src/libged/draw/preview.c      2020-08-11 14:19:35 UTC (rev 
76704)
@@ -236,8 +236,8 @@
 };
 
 
-int
-ged_loadframe(struct ged *gedp, FILE *fp)
+static int
+_loadframe(struct ged *gedp, FILE *fp)
 {
     char *cmd;
 
@@ -401,7 +401,7 @@
            bu_vls_strcpy(&name, image_name);
        }
     }
-    while (ged_loadframe(gedp, fp) == GED_OK) {
+    while (_loadframe(gedp, fp) == GED_OK) {
        if (image_name) {
            struct bu_vls fullname = BU_VLS_INIT_ZERO;
            const char *screengrab_args[3];
@@ -413,7 +413,6 @@
                           preview_currentframe, bu_vls_addr(&extension));
            screengrab_args[screengrab_argc++] = bu_vls_addr(&fullname);
 
-           /* ged_png(gedp, screengrab_argc, screengrab_args); */
            ged_screen_grab(gedp, screengrab_argc, screengrab_args);
 
            bu_vls_free(&fullname);

Modified: brlcad/trunk/src/libged/killall/killall.c
===================================================================
--- brlcad/trunk/src/libged/killall/killall.c   2020-08-11 13:38:43 UTC (rev 
76703)
+++ brlcad/trunk/src/libged/killall/killall.c   2020-08-11 14:19:35 UTC (rev 
76704)
@@ -67,6 +67,7 @@
        nflag = 0;
 
     gedp->ged_internal_call = 1;
+    argv[0] = "killrefs";
     if ((ret = ged_killrefs(gedp, argc, argv)) != GED_OK) {
        gedp->ged_internal_call = 0;
        bu_vls_printf(gedp->ged_result_str, "KILL skipped because of earlier 
errors.\n");

Modified: brlcad/trunk/src/libged/osg.cpp
===================================================================
--- brlcad/trunk/src/libged/osg.cpp     2020-08-11 13:38:43 UTC (rev 76703)
+++ brlcad/trunk/src/libged/osg.cpp     2020-08-11 14:19:35 UTC (rev 76704)
@@ -42,7 +42,7 @@
 
 
 __BEGIN_DECLS
-void ged_osgLoadScene(struct bu_list *hdlp, void *osgData);
+void _ged_osgLoadScene(struct bu_list *hdlp, void *osgData);
 __END_DECLS
 
 
@@ -69,7 +69,7 @@
     int begin;
     int nverts;
 
-    bu_log("ged_osgLoadSolid: enter\n");
+    bu_log("_ged_osgLoadSolid: enter\n");
 
 
 
@@ -101,7 +101,7 @@
                    normals->push_back(osg::Vec3(0.0f,-1.0f,0.0f));
                    begin += nverts;
                    nverts = 1;
-                   //bu_log("ged_osgLoadSolid: loaded point - (%lf %lf 
%lf)\n", (*pt)[X], (*pt)[Y], (*pt)[Z]);
+                   //bu_log("_ged_osgLoadSolid: loaded point - (%lf %lf 
%lf)\n", (*pt)[X], (*pt)[Y], (*pt)[Z]);
                    break;
                case BN_VLIST_POLY_START:
                    normals->push_back(osg::Vec3d((*pt)[X], (*pt)[Y], 
(*pt)[Z]));
@@ -115,7 +115,7 @@
                    vertices->push_back(osg::Vec3d((*pt)[X], (*pt)[Y], 
(*pt)[Z]));
                    ++nverts;
 
-                   //bu_log("ged_osgLoadSolid: loaded point - (%lf %lf 
%lf)\n", (*pt)[X], (*pt)[Y], (*pt)[Z]);
+                   //bu_log("_ged_osgLoadSolid: loaded point - (%lf %lf 
%lf)\n", (*pt)[X], (*pt)[Y], (*pt)[Z]);
                    break;
                case BN_VLIST_POLY_END:
                    //vertices->push_back(osg::Vec3d((*pt)[X], (*pt)[Y], 
(*pt)[Z]));
@@ -142,12 +142,12 @@
        //geode->addDrawable(geom);
     }
 
-    bu_log("ged_osgLoadSolid: leave\n");
+    bu_log("_ged_osgLoadSolid: leave\n");
 }
 
 
 void
-ged_osgLoadScene(struct bu_list *hdlp, void *osgData)
+_ged_osgLoadScene(struct bu_list *hdlp, void *osgData)
 {
     register struct display_list *gdlp;
     register struct display_list *next_gdlp;
@@ -154,7 +154,7 @@
     struct solid *sp;
     struct osg_stuff *osp = (struct osg_stuff *)osgData;
 
-    bu_log("ged_osgLoadScene: part B\n");
+    bu_log("_ged_osgLoadScene: part B\n");
     osg::Group* root = new osg::Group();
 
     // create the Geode (Geometry Node) to contain all our osg::Geometry 
objects.
@@ -161,7 +161,7 @@
     osg::Geode* geode = new osg::Geode();
 
     bu_log("before: max frame rate - %lf\n", 
osp->viewer->getRunMaxFrameRate());
-    bu_log("ged_osgLoadScene: enter\n");
+    bu_log("_ged_osgLoadScene: enter\n");
     gdlp = BU_LIST_NEXT(display_list, hdlp);
     while (BU_LIST_NOT_HEAD(gdlp, hdlp)) {
        next_gdlp = BU_LIST_PNEXT(display_list, gdlp);
@@ -192,7 +192,7 @@
     bu_log("after: max frame rate - %lf\n", osp->viewer->getRunMaxFrameRate());
 
 
-    bu_log("ged_osgLoadScene: loaded geode\n");
+    bu_log("_ged_osgLoadScene: loaded geode\n");
 }
 
 // Local Variables:

Modified: brlcad/trunk/src/libged/putmat/putmat.c
===================================================================
--- brlcad/trunk/src/libged/putmat/putmat.c     2020-08-11 13:38:43 UTC (rev 
76703)
+++ brlcad/trunk/src/libged/putmat/putmat.c     2020-08-11 14:19:35 UTC (rev 
76704)
@@ -32,8 +32,8 @@
 #include "../ged_private.h"
 
 
-int
-ged_getmat(struct ged *gedp, int argc, const char *argv[])
+static int
+_getmat(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *dp;
     struct rt_db_internal intern;
@@ -196,7 +196,7 @@
     }
 
     if (argc == 2)
-       return ged_getmat(gedp, argc, argv);
+       return _getmat(gedp, argc, argv);
 
     if (argc < 3 || 18 < argc) {
        bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);

Modified: brlcad/trunk/src/mged/cmd.c
===================================================================
--- brlcad/trunk/src/mged/cmd.c 2020-08-11 13:38:43 UTC (rev 76703)
+++ brlcad/trunk/src/mged/cmd.c 2020-08-11 14:19:35 UTC (rev 76704)
@@ -1807,29 +1807,75 @@
 extern int edit_com(int argc, const char *argv[], int kind);
 
 /**
- * ZAP the display -- then edit anew
+ * Run ged_blast, then update the views
  * Format: B object
  */
 int
 cmd_blast(ClientData UNUSED(clientData), Tcl_Interp *UNUSED(interpreter), int 
argc, const char *argv[])
 {
-    const char *av[2];
     int ret;
 
     if (GEDP == GED_NULL)
        return TCL_OK;
 
-    av[0] = "Z";
-    av[1] = (char *)0;
-
-    ret = ged_zap(GEDP, 1, av);
+    ret = ged_blast(GEDP, argc, argv);
     if (ret)
        return TCL_ERROR;
 
-    if (argc == 1) /* "B" alone is same as "Z" */
-       return TCL_OK;
+    /* update and resize the views */
+    struct dm_list *save_dmlp = curr_dm_list;
+    struct cmd_list *save_cmd_list = curr_cmd_list;
+    struct dm_list *dmlp;
+    struct display_list *gdlp;
+    struct display_list *next_gdlp;
+    FOR_ALL_DISPLAYS(dmlp, &head_dm_list.l) {
+       int non_empty = 0; /* start out empty */
 
-    return edit_com(argc, argv, 1);
+       set_curr_dm(dmlp);
+
+       if (curr_dm_list->dml_tie) {
+           curr_cmd_list = curr_dm_list->dml_tie;
+       } else {
+           curr_cmd_list = &head_cmd_list;
+       }
+
+       GEDP->ged_gvp = view_state->vs_gvp;
+
+       gdlp = BU_LIST_NEXT(display_list, GEDP->ged_gdp->gd_headDisplay);
+
+       while (BU_LIST_NOT_HEAD(gdlp, GEDP->ged_gdp->gd_headDisplay)) {
+           next_gdlp = BU_LIST_PNEXT(display_list, gdlp);
+
+           if (BU_LIST_NON_EMPTY(&gdlp->dl_headSolid)) {
+               non_empty = 1;
+               break;
+           }
+
+           gdlp = next_gdlp;
+       }
+
+       if (mged_variables->mv_autosize && non_empty) {
+           struct view_ring *vrp;
+           char *av[2];
+
+           av[0] = "autoview";
+           av[1] = (char *)0;
+           ged_autoview(GEDP, 1, (const char **)av);
+
+           (void)mged_svbase();
+
+           for (BU_LIST_FOR(vrp, view_ring, &view_state->vs_headView.l)) {
+               vrp->vr_scale = view_state->vs_gvp->gv_scale;
+           }
+       }
+    }
+
+    set_curr_dm(save_dmlp);
+    curr_cmd_list = save_cmd_list;
+    GEDP->ged_gvp = view_state->vs_gvp;
+
+
+    return TCL_OK;
 }
 
 

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