Revision: 76400
          http://sourceforge.net/p/brlcad/code/76400
Author:   starseeker
Date:     2020-07-21 22:57:45 +0000 (Tue, 21 Jul 2020)
Log Message:
-----------
Now it's getting interesting.  This version of libged is using the plugins, and 
gets as far as launching MGED successfully.  Archer still isn't working yet, 
but that's most likely due to some of the plugin command strings not matching 
what Archer is expecting.

Modified Paths:
--------------
    brlcad/branches/gedplugins/src/libged/3ptarb/3ptarb.c
    brlcad/branches/gedplugins/src/libged/CMakeLists.txt
    brlcad/branches/gedplugins/src/libged/adc/adc.c
    brlcad/branches/gedplugins/src/libged/adjust/adjust.c
    brlcad/branches/gedplugins/src/libged/ae2dir/ae2dir.c
    brlcad/branches/gedplugins/src/libged/analyze/analyze.c
    brlcad/branches/gedplugins/src/libged/annotate/annotate.c
    brlcad/branches/gedplugins/src/libged/arb/arb.c
    brlcad/branches/gedplugins/src/libged/arced/arced.c
    brlcad/branches/gedplugins/src/libged/arot/arot.c
    brlcad/branches/gedplugins/src/libged/attr/attr.cpp
    brlcad/branches/gedplugins/src/libged/autoview/autoview.c
    brlcad/branches/gedplugins/src/libged/bb/bb.c
    brlcad/branches/gedplugins/src/libged/bev/bev.c
    brlcad/branches/gedplugins/src/libged/bigE/bigE.c
    brlcad/branches/gedplugins/src/libged/blast/blast.c
    brlcad/branches/gedplugins/src/libged/bo/bo.c
    brlcad/branches/gedplugins/src/libged/brep/brep.cpp
    brlcad/branches/gedplugins/src/libged/cat/cat.c
    brlcad/branches/gedplugins/src/libged/cc/cc.c
    brlcad/branches/gedplugins/src/libged/check/check.c
    brlcad/branches/gedplugins/src/libged/clone/clone.c
    brlcad/branches/gedplugins/src/libged/coil/coil.c
    brlcad/branches/gedplugins/src/libged/color/color.c
    brlcad/branches/gedplugins/src/libged/comb/comb.c
    brlcad/branches/gedplugins/src/libged/comb_color/comb_color.c
    brlcad/branches/gedplugins/src/libged/comb_std/comb_std.c
    brlcad/branches/gedplugins/src/libged/combmem/combmem.c
    brlcad/branches/gedplugins/src/libged/concat/concat.cpp
    brlcad/branches/gedplugins/src/libged/constraint/constraint.c
    brlcad/branches/gedplugins/src/libged/copy/copy.c
    brlcad/branches/gedplugins/src/libged/copyeval/copyeval.c
    brlcad/branches/gedplugins/src/libged/copymat/copymat.c
    brlcad/branches/gedplugins/src/libged/cpi/cpi.c
    brlcad/branches/gedplugins/src/libged/dag/dag.cpp
    brlcad/branches/gedplugins/src/libged/dbip/dbip.c
    brlcad/branches/gedplugins/src/libged/debug/debug.cpp
    brlcad/branches/gedplugins/src/libged/debugbu/debugbu.c
    brlcad/branches/gedplugins/src/libged/debugdir/debugdir.c
    brlcad/branches/gedplugins/src/libged/debuglib/debuglib.c
    brlcad/branches/gedplugins/src/libged/debugnmg/debugnmg.c
    brlcad/branches/gedplugins/src/libged/decompose/decompose.c
    brlcad/branches/gedplugins/src/libged/delay/delay.c
    brlcad/branches/gedplugins/src/libged/dir2ae/dir2ae.c
    brlcad/branches/gedplugins/src/libged/draw/draw.c
    brlcad/branches/gedplugins/src/libged/dsp/dsp.c
    brlcad/branches/gedplugins/src/libged/dump/dump.c
    brlcad/branches/gedplugins/src/libged/dup/dup.c
    brlcad/branches/gedplugins/src/libged/eac/eac.c
    brlcad/branches/gedplugins/src/libged/echo/echo.c
    brlcad/branches/gedplugins/src/libged/edarb/edarb.c
    brlcad/branches/gedplugins/src/libged/edcodes/edcodes.c
    brlcad/branches/gedplugins/src/libged/edcomb/edcomb.c
    brlcad/branches/gedplugins/src/libged/edit/edit.c
    brlcad/branches/gedplugins/src/libged/editit/editit.c
    brlcad/branches/gedplugins/src/libged/edmater/edmater.c
    brlcad/branches/gedplugins/src/libged/env/env.c
    brlcad/branches/gedplugins/src/libged/erase/erase.c
    brlcad/branches/gedplugins/src/libged/exists/exists.c
    brlcad/branches/gedplugins/src/libged/expand/expand.c
    brlcad/branches/gedplugins/src/libged/eye_pos/eye_pos.c
    brlcad/branches/gedplugins/src/libged/facetize/facetize.cpp
    brlcad/branches/gedplugins/src/libged/fb2pix/fb2pix.c
    brlcad/branches/gedplugins/src/libged/fbclear/fbclear.c
    brlcad/branches/gedplugins/src/libged/find/find.c
    brlcad/branches/gedplugins/src/libged/form/form.c
    brlcad/branches/gedplugins/src/libged/fracture/fracture.c
    brlcad/branches/gedplugins/src/libged/gdiff/gdiff.c
    brlcad/branches/gedplugins/src/libged/ged_private.h
    brlcad/branches/gedplugins/src/libged/ged_util.c
    brlcad/branches/gedplugins/src/libged/get/get.c
    brlcad/branches/gedplugins/src/libged/get_autoview/get_autoview.c
    brlcad/branches/gedplugins/src/libged/get_comb/get_comb.c
    brlcad/branches/gedplugins/src/libged/get_eyemodel/get_eyemodel.c
    brlcad/branches/gedplugins/src/libged/get_type/get_type.c
    brlcad/branches/gedplugins/src/libged/glob/glob.c
    brlcad/branches/gedplugins/src/libged/gqa/gqa.c
    brlcad/branches/gedplugins/src/libged/grid/grid.c
    brlcad/branches/gedplugins/src/libged/grid2model_lu/grid2model_lu.c
    brlcad/branches/gedplugins/src/libged/grid2view_lu/grid2view_lu.c
    brlcad/branches/gedplugins/src/libged/group/group.c
    brlcad/branches/gedplugins/src/libged/heal/heal.c
    brlcad/branches/gedplugins/src/libged/hide/hide.c
    brlcad/branches/gedplugins/src/libged/how/how.c
    brlcad/branches/gedplugins/src/libged/human/human.c
    brlcad/branches/gedplugins/src/libged/illum/illum.c
    brlcad/branches/gedplugins/src/libged/importFg4Section/importFg4Section.c
    brlcad/branches/gedplugins/src/libged/inside/inside.c
    brlcad/branches/gedplugins/src/libged/instance/instance.c
    brlcad/branches/gedplugins/src/libged/isize/isize.c
    brlcad/branches/gedplugins/src/libged/item/item.c
    brlcad/branches/gedplugins/src/libged/joint/joint.c
    brlcad/branches/gedplugins/src/libged/joint2/joint2.c
    brlcad/branches/gedplugins/src/libged/keep/keep.c
    brlcad/branches/gedplugins/src/libged/keypoint/keypoint.c
    brlcad/branches/gedplugins/src/libged/kill/kill.c
    brlcad/branches/gedplugins/src/libged/killall/killall.c
    brlcad/branches/gedplugins/src/libged/killrefs/killrefs.c
    brlcad/branches/gedplugins/src/libged/killtree/killtree.c
    brlcad/branches/gedplugins/src/libged/lc/lc.c
    brlcad/branches/gedplugins/src/libged/lint/lint.cpp
    brlcad/branches/gedplugins/src/libged/list/list.c
    brlcad/branches/gedplugins/src/libged/loadview/loadview.c
    brlcad/branches/gedplugins/src/libged/lod/lod.c
    brlcad/branches/gedplugins/src/libged/log/log.c
    brlcad/branches/gedplugins/src/libged/lookat/lookat.c
    brlcad/branches/gedplugins/src/libged/ls/ls.c
    brlcad/branches/gedplugins/src/libged/lt/lt.c
    brlcad/branches/gedplugins/src/libged/m2v_point/m2v_point.c
    brlcad/branches/gedplugins/src/libged/make/make.c
    brlcad/branches/gedplugins/src/libged/make_name/make_name.c
    brlcad/branches/gedplugins/src/libged/match/match.c
    brlcad/branches/gedplugins/src/libged/mater/mater.cpp
    brlcad/branches/gedplugins/src/libged/mirror/mirror.c
    brlcad/branches/gedplugins/src/libged/model2grid_lu/model2grid_lu.c
    brlcad/branches/gedplugins/src/libged/model2view/model2view.c
    brlcad/branches/gedplugins/src/libged/model2view_lu/model2view_lu.c
    brlcad/branches/gedplugins/src/libged/move/move.c
    brlcad/branches/gedplugins/src/libged/move_all/move_all.c
    brlcad/branches/gedplugins/src/libged/move_arb_edge/move_arb_edge.c
    brlcad/branches/gedplugins/src/libged/move_arb_face/move_arb_face.c
    brlcad/branches/gedplugins/src/libged/mrot/mrot.c
    brlcad/branches/gedplugins/src/libged/nirt/nirt.c
    brlcad/branches/gedplugins/src/libged/nmg/nmg.c
    brlcad/branches/gedplugins/src/libged/ocenter/ocenter.c
    brlcad/branches/gedplugins/src/libged/open/open.c
    brlcad/branches/gedplugins/src/libged/orient/orient.c
    brlcad/branches/gedplugins/src/libged/orotate/orotate.c
    brlcad/branches/gedplugins/src/libged/oscale/oscale.c
    brlcad/branches/gedplugins/src/libged/otranslate/otranslate.c
    brlcad/branches/gedplugins/src/libged/overlay/overlay.c
    brlcad/branches/gedplugins/src/libged/pathlist/pathlist.c
    brlcad/branches/gedplugins/src/libged/pathsum/pathsum.c
    brlcad/branches/gedplugins/src/libged/perspective/perspective.c
    brlcad/branches/gedplugins/src/libged/pix2fb/pix2fb.c
    brlcad/branches/gedplugins/src/libged/plot/plot.c
    brlcad/branches/gedplugins/src/libged/pmat/pmat.c
    brlcad/branches/gedplugins/src/libged/pmodel2view/pmodel2view.c
    brlcad/branches/gedplugins/src/libged/png/png.c
    brlcad/branches/gedplugins/src/libged/png2fb/png2fb.c
    brlcad/branches/gedplugins/src/libged/pnts/pnts.cpp
    brlcad/branches/gedplugins/src/libged/prcolor/prcolor.c
    brlcad/branches/gedplugins/src/libged/prefix/prefix.c
    brlcad/branches/gedplugins/src/libged/preview/preview.c
    brlcad/branches/gedplugins/src/libged/process/process.c
    brlcad/branches/gedplugins/src/libged/protate/protate.c
    brlcad/branches/gedplugins/src/libged/ps/ps.c
    brlcad/branches/gedplugins/src/libged/pscale/pscale.c
    brlcad/branches/gedplugins/src/libged/pset/pset.c
    brlcad/branches/gedplugins/src/libged/ptranslate/ptranslate.c
    brlcad/branches/gedplugins/src/libged/pull/pull.c
    brlcad/branches/gedplugins/src/libged/push/push.c
    brlcad/branches/gedplugins/src/libged/put/put.c
    brlcad/branches/gedplugins/src/libged/put_comb/put_comb.c
    brlcad/branches/gedplugins/src/libged/putmat/putmat.c
    brlcad/branches/gedplugins/src/libged/qray/qray.c
    brlcad/branches/gedplugins/src/libged/qray.h
    brlcad/branches/gedplugins/src/libged/qvrot/qvrot.c
    brlcad/branches/gedplugins/src/libged/rcodes/rcodes.c
    brlcad/branches/gedplugins/src/libged/rect/rect.c
    brlcad/branches/gedplugins/src/libged/red/red.c
    brlcad/branches/gedplugins/src/libged/regdef/regdef.c
    brlcad/branches/gedplugins/src/libged/region/region.c
    brlcad/branches/gedplugins/src/libged/remove/remove.c
    brlcad/branches/gedplugins/src/libged/rfarb/rfarb.c
    brlcad/branches/gedplugins/src/libged/rmap/rmap.c
    brlcad/branches/gedplugins/src/libged/rmat/rmat.c
    brlcad/branches/gedplugins/src/libged/rmater/rmater.c
    brlcad/branches/gedplugins/src/libged/rot/rot.c
    brlcad/branches/gedplugins/src/libged/rot_point/rot_point.c
    brlcad/branches/gedplugins/src/libged/rrt/rrt.c
    brlcad/branches/gedplugins/src/libged/rt/rt.c
    brlcad/branches/gedplugins/src/libged/rtabort/rtabort.c
    brlcad/branches/gedplugins/src/libged/rtcheck/rtcheck.c
    brlcad/branches/gedplugins/src/libged/rtwizard/rtwizard.c
    brlcad/branches/gedplugins/src/libged/savekey/savekey.c
    brlcad/branches/gedplugins/src/libged/saveview/saveview.c
    brlcad/branches/gedplugins/src/libged/scale/scale.c
    brlcad/branches/gedplugins/src/libged/screengrab/screengrab.c
    brlcad/branches/gedplugins/src/libged/search/search.c
    brlcad/branches/gedplugins/src/libged/select/select.c
    brlcad/branches/gedplugins/src/libged/set_output_script/set_output_script.c
    brlcad/branches/gedplugins/src/libged/set_transparency/set_transparency.c
    
brlcad/branches/gedplugins/src/libged/set_uplotOutputMode/set_uplotOutputMode.c
    brlcad/branches/gedplugins/src/libged/setview/setview.c
    brlcad/branches/gedplugins/src/libged/shaded_mode/shaded_mode.c
    brlcad/branches/gedplugins/src/libged/shader/shader.c
    brlcad/branches/gedplugins/src/libged/shells/shells.c
    brlcad/branches/gedplugins/src/libged/showmats/showmats.c
    brlcad/branches/gedplugins/src/libged/simulate/ged_command.cpp
    brlcad/branches/gedplugins/src/libged/slew/slew.c
    brlcad/branches/gedplugins/src/libged/solid_report/solid_report.c
    brlcad/branches/gedplugins/src/libged/solids_on_ray/solids_on_ray.c
    brlcad/branches/gedplugins/src/libged/sphgroup/sphgroup.c
    brlcad/branches/gedplugins/src/libged/summary/summary.c
    brlcad/branches/gedplugins/src/libged/sync/sync.c
    brlcad/branches/gedplugins/src/libged/tables/tables.c
    brlcad/branches/gedplugins/src/libged/tire/tire.c
    brlcad/branches/gedplugins/src/libged/title/title.c
    brlcad/branches/gedplugins/src/libged/tol/tol.c
    brlcad/branches/gedplugins/src/libged/tops/tops.c
    brlcad/branches/gedplugins/src/libged/tra/tra.c
    brlcad/branches/gedplugins/src/libged/track/track.c
    brlcad/branches/gedplugins/src/libged/tree/tree.c
    brlcad/branches/gedplugins/src/libged/typein/typein.c
    brlcad/branches/gedplugins/src/libged/unhide/unhide.c
    brlcad/branches/gedplugins/src/libged/units/units.c
    brlcad/branches/gedplugins/src/libged/v2m_point/v2m_point.c
    brlcad/branches/gedplugins/src/libged/vdraw/vdraw.c
    brlcad/branches/gedplugins/src/libged/version/version.c
    brlcad/branches/gedplugins/src/libged/view/CMakeLists.txt
    brlcad/branches/gedplugins/src/libged/view/snap.c
    brlcad/branches/gedplugins/src/libged/view/view.c
    brlcad/branches/gedplugins/src/libged/view2grid_lu/view2grid_lu.c
    brlcad/branches/gedplugins/src/libged/view2model/view2model.c
    brlcad/branches/gedplugins/src/libged/view2model_lu/view2model_lu.c
    brlcad/branches/gedplugins/src/libged/view2model_vec/view2model_vec.c
    brlcad/branches/gedplugins/src/libged/viewdir/viewdir.c
    brlcad/branches/gedplugins/src/libged/voxelize/voxelize.c
    brlcad/branches/gedplugins/src/libged/vrot/vrot.c
    brlcad/branches/gedplugins/src/libged/wcodes/wcodes.c
    brlcad/branches/gedplugins/src/libged/whatid/whatid.c
    brlcad/branches/gedplugins/src/libged/which/which.cpp
    brlcad/branches/gedplugins/src/libged/which_shader/which_shader.c
    brlcad/branches/gedplugins/src/libged/who/who.c
    brlcad/branches/gedplugins/src/libged/wmater/wmater.c
    brlcad/branches/gedplugins/src/libged/xpush/xpush.c
    brlcad/branches/gedplugins/src/libged/zap/zap.c
    brlcad/branches/gedplugins/src/libged/zoom/zoom.c

Added Paths:
-----------
    brlcad/branches/gedplugins/src/libged/qray.c
    brlcad/branches/gedplugins/src/libged/wdb_importFg4Section.c

Removed Paths:
-------------
    
brlcad/branches/gedplugins/src/libged/importFg4Section/wdb_importFg4Section.c

Modified: brlcad/branches/gedplugins/src/libged/3ptarb/3ptarb.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/3ptarb/3ptarb.c       2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/3ptarb/3ptarb.c       2020-07-21 
22:57:45 UTC (rev 76400)
@@ -49,7 +49,7 @@
 
 
 int
-ged_3ptarb(struct ged *gedp, int argc, const char *argv[])
+ged_3ptarb_core(struct ged *gedp, int argc, const char *argv[])
 {
     int i, solve;
     vect_t vec1;
@@ -259,7 +259,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl threeptarb_cmd_impl = {
     "3ptarb",
-    ged_3ptarb,
+    ged_3ptarb_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/CMakeLists.txt
===================================================================
--- brlcad/branches/gedplugins/src/libged/CMakeLists.txt        2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/CMakeLists.txt        2020-07-21 
22:57:45 UTC (rev 76400)
@@ -48,6 +48,7 @@
 set(LIBGED_SOURCES
   ${LIBGED_SOURCES}
   exec.cpp
+  exec_mapping.cpp
   ged_init.cpp
   libfuncs/libfuncs.c
   columns.c
@@ -61,8 +62,10 @@
   ged_util.c
   get_obj_bounds.c
   get_solid_kp.c
+  inside.c
   path.c
   polyclip.cpp
+  qray.c
   rotate_about.c
   rotate_arb_face.c
   rotate_eto.c
@@ -69,11 +72,19 @@
   rotate_extrude.c
   rotate_hyp.c
   rotate_tgc.c
+  snap.c
   trace.c
+  track.c
   translate_extrude.c
   translate_tgc.c
   vutil.c
+  view/data_lines.c
+  wdb_importFg4Section.c
+  )
 
+if(0)
+set(LIBGED_SOURCES
+  ${LIBGED_SOURCES}
   3ptarb/3ptarb.c
   adc/adc.c
   adjust/adjust.c
@@ -195,7 +206,6 @@
   human/human.c
   illum/illum.c
   importFg4Section/importFg4Section.c
-  importFg4Section/wdb_importFg4Section.c
   inside/inside.c
   instance/instance.c
   isize/isize.c
@@ -340,7 +350,6 @@
   tol/tol.c
   tops/tops.c
   tra/tra.c
-  track/track.c
   tree/tree.c
   typein/typein.c
   unhide/unhide.c
@@ -350,7 +359,6 @@
   version/version.c
   view/aet.c
   view/center.cpp
-  view/data_lines.c
   view/eye.c
   view/quat.c
   view/size.c
@@ -373,8 +381,8 @@
   xpush/xpush.c
   zap/zap.c
   zoom/zoom.c
-  ${LIBGED_CMD_SRCS}
   )
+endif(0)
 
 set_property(SOURCE ged_init.cpp APPEND PROPERTY COMPILE_DEFINITIONS 
"GED_PLUGIN_SUFFIX=\"${CMAKE_SHARED_LIBRARY_SUFFIX}\"")
 

Modified: brlcad/branches/gedplugins/src/libged/adc/adc.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/adc/adc.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/adc/adc.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -105,7 +105,7 @@
  * that multiple attributes can be set with a single command call.
  */
 int
-ged_adc(struct ged *gedp,
+ged_adc_core(struct ged *gedp,
        int argc,
        const char *argv[])
 {
@@ -702,7 +702,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl adc_cmd_impl = {
     "adc",
-    ged_adc,
+    ged_adc_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/adjust/adjust.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/adjust/adjust.c       2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/adjust/adjust.c       2020-07-21 
22:57:45 UTC (rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_adjust(struct ged *gedp, int argc, const char *argv[])
+ged_adjust_core(struct ged *gedp, int argc, const char *argv[])
 {
     int status;
     struct directory *dp;
@@ -89,7 +89,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl adjust_cmd_impl = {
     "adjust",
-    ged_adjust,
+    ged_adjust_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/ae2dir/ae2dir.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/ae2dir/ae2dir.c       2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/ae2dir/ae2dir.c       2020-07-21 
22:57:45 UTC (rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_ae2dir(struct ged *gedp, int argc, const char *argv[])
+ged_ae2dir_core(struct ged *gedp, int argc, const char *argv[])
 {
     double az, el;
     vect_t dir;
@@ -87,7 +87,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl ae2dir_cmd_impl = {
     "ae2dir",
-    ged_ae2dir,
+    ged_ae2dir_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/analyze/analyze.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/analyze/analyze.c     2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/analyze/analyze.c     2020-07-21 
22:57:45 UTC (rev 76400)
@@ -1278,7 +1278,7 @@
 
 
 int
-ged_analyze(struct ged *gedp, int argc, const char *argv[])
+ged_analyze_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *ndp;
     int i;
@@ -1317,7 +1317,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl analyze_cmd_impl = {
     "analyze",
-    ged_analyze,
+    ged_analyze_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/annotate/annotate.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/annotate/annotate.c   2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/annotate/annotate.c   2020-07-21 
22:57:45 UTC (rev 76400)
@@ -119,7 +119,7 @@
 
 
 int
-ged_annotate(struct ged *gedp, int argc, const char *argv[])
+ged_annotate_core(struct ged *gedp, int argc, const char *argv[])
 {
     char **object_argv;
     const char *argv0 = argv[0];
@@ -163,7 +163,7 @@
     }
 
     bu_vls_free(&objects);
-    bu_free((void *)object_argv, "ged_annotate");
+    bu_free((void *)object_argv, "ged_annotate_core");
 
     return GED_OK;
 }
@@ -173,7 +173,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl annotate_cmd_impl = {
     "annotate",
-    ged_annotate,
+    ged_annotate_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/arb/arb.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/arb/arb.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/arb/arb.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -35,7 +35,7 @@
 
 
 int
-ged_arb(struct ged *gedp, int argc, const char *argv[])
+ged_arb_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *dp;
     struct rt_db_internal internal;
@@ -133,7 +133,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl arb_cmd_impl = {
     "arb",
-    ged_arb,
+    ged_arb_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/arced/arced.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/arced/arced.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/arced/arced.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -31,7 +31,7 @@
 
 
 int
-ged_arced(struct ged *gedp, int argc, const char *argv[])
+ged_arced_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct animate *anp;
     struct directory *dp;
@@ -137,7 +137,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl arced_cmd_impl = {
     "arced",
-    ged_arced,
+    ged_arced_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/arot/arot.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/arot/arot.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/arot/arot.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -31,63 +31,9 @@
 
 #include "../ged_private.h"
 
-int
-ged_arot_args(struct ged *gedp, int argc, const char *argv[], mat_t rmat)
-{
-    point_t pt = VINIT_ZERO;
-    vect_t axisv;
-    double axis[3]; /* not fastf_t due to sscanf */
-    double angle; /* not fastf_t due to sscanf */
-    static const char *usage = "x y z angle";
 
-    GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
-    GED_CHECK_VIEW(gedp, GED_ERROR);
-    GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
-
-    /* initialize result */
-    bu_vls_trunc(gedp->ged_result_str, 0);
-
-    /* must be wanting help */
-    if (argc == 1) {
-       bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
-       return GED_HELP;
-    }
-
-    if (argc != 5) {
-       bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
-       return GED_ERROR;
-    }
-
-    if (sscanf(argv[1], "%lf", &axis[X]) != 1) {
-       bu_vls_printf(gedp->ged_result_str, "%s: bad X value - %s\n", argv[0], 
argv[1]);
-       return GED_ERROR;
-    }
-
-    if (sscanf(argv[2], "%lf", &axis[Y]) != 1) {
-       bu_vls_printf(gedp->ged_result_str, "%s: bad Y value - %s\n", argv[0], 
argv[2]);
-       return GED_ERROR;
-    }
-
-    if (sscanf(argv[3], "%lf", &axis[Z]) != 1) {
-       bu_vls_printf(gedp->ged_result_str, "%s: bad Z value - %s\n", argv[0], 
argv[3]);
-       return GED_ERROR;
-    }
-
-    if (sscanf(argv[4], "%lf", &angle) != 1) {
-       bu_vls_printf(gedp->ged_result_str, "%s: bad angle - %s\n", argv[0], 
argv[4]);
-       return GED_ERROR;
-    }
-
-    VUNITIZE(axis);
-    VMOVE(axisv, axis);
-    bn_mat_arb_rot(rmat, pt, axisv, angle*DEG2RAD);
-
-    return GED_OK;
-}
-
-
 int
-ged_arot(struct ged *gedp, int argc, const char *argv[])
+ged_arot_core(struct ged *gedp, int argc, const char *argv[])
 {
     int ret;
     mat_t rmat;
@@ -103,7 +49,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl arot_cmd_impl = {
     "arot",
-    ged_arot,
+    ged_arot_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/attr/attr.cpp
===================================================================
--- brlcad/branches/gedplugins/src/libged/attr/attr.cpp 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/attr/attr.cpp 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -289,7 +289,7 @@
 
 
 extern "C" int
-ged_attr(struct ged *gedp, int argc, const char *argv[])
+ged_attr_core(struct ged *gedp, int argc, const char *argv[])
 {
     int ret = GED_OK;
     size_t i;
@@ -357,7 +357,7 @@
     if (path_cnt == 0) {
        bu_vls_printf(gedp->ged_result_str, "Cannot locate objects matching 
%s\n", argv[2]);
        ret = GED_ERROR;
-       goto ged_attr_memfree;
+       goto ged_attr_core_memfree;
     }
 
     if (scmd == ATTR_SORT) {
@@ -374,7 +374,7 @@
            if (db5_get_attributes(gedp->ged_wdbp->dbip, &avs, dp)) {
                bu_vls_printf(gedp->ged_result_str, "Cannot get attributes for 
object %s\n", dp->d_namep);
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
            bu_sort(&avs.avp[0], avs.count, sizeof(struct 
bu_attribute_value_pair), attr_cmp, NULL);
            /* get a jump on calculating name and value lengths */
@@ -389,7 +389,7 @@
            /* pretty print */
            if ((attr_pretty_print(gedp, dp, argv[2])) != GED_OK) {
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
            if (argc == 3) {
                /* just list the already sorted attribute-value pairs */
@@ -420,7 +420,7 @@
            if (db5_get_attributes(gedp->ged_wdbp->dbip, &avs, dp)) {
                bu_vls_printf(gedp->ged_result_str, "Cannot get attributes for 
object %s\n", dp->d_namep);
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
            bu_sort(&avs.avp[0], avs.count, sizeof(struct 
bu_attribute_value_pair), attr_cmp, NULL);
 
@@ -449,7 +449,7 @@
                                argv[i]);
                        bu_avs_free(&avs);
                        ret = GED_ERROR;
-                       goto ged_attr_memfree;
+                       goto ged_attr_core_memfree;
                    }
                    if (do_separators) {
                        if (c_sep == -1)
@@ -477,7 +477,7 @@
                if (db5_get_attributes(gedp->ged_wdbp->dbip, &avs, dp)) {
                    bu_vls_printf(gedp->ged_result_str, "Cannot get attributes 
for object %s\n", dp->d_namep);
                    ret = GED_ERROR;
-                   goto ged_attr_memfree;
+                   goto ged_attr_core_memfree;
                }
                bu_sort(&avs.avp[0], avs.count, sizeof(struct 
bu_attribute_value_pair), attr_cmp, NULL);
 
@@ -550,7 +550,7 @@
            if (db5_get_attributes(gedp->ged_wdbp->dbip, &lavs, dp)) {
                bu_vls_printf(gedp->ged_result_str, "Cannot get attributes for 
object %s\n", dp->d_namep);
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
            val = bu_avs_get(&lavs, oattr);
            if (val) {
@@ -561,7 +561,7 @@
                            "Error: failed to update attributes\n");
                    bu_avs_free(&lavs);
                    ret = GED_ERROR;
-                   goto ged_attr_memfree;
+                   goto ged_attr_core_memfree;
                }
                /* lavs is freed by db5_update_attributes() */
            } else {
@@ -576,7 +576,7 @@
            bu_vls_printf(gedp->ged_result_str,
                    "Error: attribute names and values must be in pairs!!!\n");
            ret = GED_ERROR;
-           goto ged_attr_memfree;
+           goto ged_attr_core_memfree;
        }
        for (i = 0; i < path_cnt; i++) {
            size_t j = 3;
@@ -587,7 +587,7 @@
            if (db5_get_attributes(gedp->ged_wdbp->dbip, &avs, dp)) {
                bu_vls_printf(gedp->ged_result_str, "Cannot get attributes for 
object %s\n", dp->d_namep);
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
            bu_sort(&avs.avp[0], avs.count, sizeof(struct 
bu_attribute_value_pair), attr_cmp, NULL);
            while (j < (size_t)argc) {
@@ -603,7 +603,7 @@
                        "Error: failed to update attributes\n");
                bu_avs_free(&avs);
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
            /* avs is freed by db5_update_attributes() */
        }
@@ -619,7 +619,7 @@
            if (db5_get_attributes(gedp->ged_wdbp->dbip, &avs, dp)) {
                bu_vls_printf(gedp->ged_result_str, "Cannot get attributes for 
object %s\n", dp->d_namep);
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
            bu_sort(&avs.avp[0], avs.count, sizeof(struct 
bu_attribute_value_pair), attr_cmp, NULL);
 
@@ -635,7 +635,7 @@
                        "Error: failed to update attributes\n");
                bu_avs_free(&avs);
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
            /* avs is freed by db5_replace_attributes() */
        }
@@ -646,7 +646,7 @@
            bu_vls_printf(gedp->ged_result_str,
                          "Error: attribute names and values must be in 
pairs!!!\n");
            ret = GED_ERROR;
-           goto ged_attr_memfree;
+           goto ged_attr_core_memfree;
        }
        for (i = 0; i < path_cnt; i++) {
            size_t j = 3;
@@ -657,7 +657,7 @@
            if (db5_get_attributes(gedp->ged_wdbp->dbip, &avs, dp)) {
                bu_vls_printf(gedp->ged_result_str, "Cannot get attributes for 
object %s\n", dp->d_namep);
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
            bu_sort(&avs.avp[0], avs.count, sizeof(struct 
bu_attribute_value_pair), attr_cmp, NULL);
 
@@ -685,7 +685,7 @@
                        "Error: failed to update attributes\n");
                bu_avs_free(&avs);
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
 
            /* avs is freed by db5_replace_attributes() */
@@ -703,7 +703,7 @@
            if (db5_get_attributes(gedp->ged_wdbp->dbip, &avs, dp)) {
                bu_vls_printf(gedp->ged_result_str, "Cannot get attributes for 
object %s\n", dp->d_namep);
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
 
            /* get a jump on calculating name and value lengths */
@@ -718,7 +718,7 @@
            /* pretty print */
            if ((attr_pretty_print(gedp, dp, dp->d_namep)) != GED_OK) {
                ret = GED_ERROR;
-               goto ged_attr_memfree;
+               goto ged_attr_core_memfree;
            }
 
            if (argc == 3) {
@@ -734,10 +734,10 @@
        bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", cmd_name, usage);
 
        ret = GED_ERROR;
-       goto ged_attr_memfree;
+       goto ged_attr_core_memfree;
     }
 
-ged_attr_memfree:
+ged_attr_core_memfree:
 
     bu_free(paths, "db_ls paths");
 
@@ -749,7 +749,7 @@
 #ifdef GED_PLUGIN
 #include "../include/plugin.h"
 extern "C" {
-    struct ged_cmd_impl attr_cmd_impl = { "attr", ged_attr, GED_CMD_DEFAULT };
+    struct ged_cmd_impl attr_cmd_impl = { "attr", ged_attr_core, 
GED_CMD_DEFAULT };
     const struct ged_cmd attr_pcmd = { &attr_cmd_impl };
     const struct ged_cmd *attr_cmds[] = { &attr_pcmd,  NULL };
 

Modified: brlcad/branches/gedplugins/src/libged/autoview/autoview.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/autoview/autoview.c   2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/autoview/autoview.c   2020-07-21 
22:57:45 UTC (rev 76400)
@@ -35,7 +35,7 @@
  *
  */
 int
-ged_autoview(struct ged *gedp, int argc, const char *argv[])
+ged_autoview_core(struct ged *gedp, int argc, const char *argv[])
 {
     int is_empty = 1;
     vect_t min, max;
@@ -114,7 +114,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl autoview_cmd_impl = {
     "autoview",
-    ged_autoview,
+    ged_autoview_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/bb/bb.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/bb/bb.c       2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/bb/bb.c       2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -38,7 +38,7 @@
 
 
 int
-ged_bb(struct ged *gedp, int argc, const char *argv[])
+ged_bb_core(struct ged *gedp, int argc, const char *argv[])
 {
     point_t rpp_min, rpp_max;
     point_t obj_min, obj_max;
@@ -312,7 +312,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl bb_cmd_impl = {
     "bb",
-    ged_bb,
+    ged_bb_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/bev/bev.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/bev/bev.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/bev/bev.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -78,7 +78,7 @@
 
 
 int
-ged_bev(struct ged *gedp, int argc, const char *argv[])
+ged_bev_core(struct ged *gedp, int argc, const char *argv[])
 {
     static const char *usage = "[-t] new_obj obj1 op obj2 op obj3 ...";
 
@@ -312,7 +312,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl bev_cmd_impl = {
     "bev",
-    ged_bev,
+    ged_bev_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/bigE/bigE.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/bigE/bigE.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/bigE/bigE.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -1979,7 +1979,7 @@
 
 
 int
-ged_E(struct ged *gedp, int argc, const char *argv[])
+ged_E_core(struct ged *gedp, int argc, const char *argv[])
 {
     int i;
     int c;
@@ -2132,7 +2132,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl bigE_cmd_impl = {
     "E",
-    ged_E,
+    ged_E_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/blast/blast.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/blast/blast.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/blast/blast.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -33,7 +33,7 @@
  *
  */
 int
-ged_blast(struct ged *gedp, int argc, const char *argv[])
+ged_blast_core(struct ged *gedp, int argc, const char *argv[])
 {
     static const char *usage = "object(s)";
 
@@ -68,7 +68,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl blast_cmd_impl = {
     "blast",
-    ged_blast,
+    ged_blast_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/bo/bo.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/bo/bo.c       2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/bo/bo.c       2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -35,7 +35,7 @@
 
 
 int
-ged_bo(struct ged *gedp, int argc, const char *argv[])
+ged_bo_core(struct ged *gedp, int argc, const char *argv[])
 {
     int c;
     unsigned int minor_type=0;
@@ -242,7 +242,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl bo_cmd_impl = {
     "bo",
-    ged_bo,
+    ged_bo_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/brep/brep.cpp
===================================================================
--- brlcad/branches/gedplugins/src/libged/brep/brep.cpp 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/brep/brep.cpp 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -1345,7 +1345,7 @@
 }
 
 extern "C" int
-ged_brep(struct ged *gedp, int argc, const char *argv[])
+ged_brep_core(struct ged *gedp, int argc, const char *argv[])
 {
     int help = 0;
     struct _ged_brep_info gb;
@@ -1477,7 +1477,7 @@
 #ifdef GED_PLUGIN
 #include "../include/plugin.h"
 extern "C" {
-    struct ged_cmd_impl brep_cmd_impl = { "brep", ged_brep, GED_CMD_DEFAULT };
+    struct ged_cmd_impl brep_cmd_impl = { "brep", ged_brep_core, 
GED_CMD_DEFAULT };
     const struct ged_cmd brep_cmd = { &brep_cmd_impl };
     const struct ged_cmd *brep_cmds[] = { &brep_cmd,  NULL };
 

Modified: brlcad/branches/gedplugins/src/libged/cat/cat.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/cat/cat.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/cat/cat.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_cat(struct ged *gedp, int argc, const char *argv[])
+ged_cat_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *dp;
     int arg;
@@ -66,7 +66,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl cat_cmd_impl = {
     "cat",
-    ged_cat,
+    ged_cat_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/cc/cc.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/cc/cc.c       2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/cc/cc.c       2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -37,7 +37,7 @@
  * List constraint objects in this database
  */
 int
-ged_cc(struct ged *gedp, int argc, const char *argv[])
+ged_cc_core(struct ged *gedp, int argc, const char *argv[])
 {
     static const char *usage = "name constraint_expression";
 
@@ -84,7 +84,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl cc_cmd_impl = {
     "cc",
-    ged_cc,
+    ged_cc_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/check/check.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/check/check.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/check/check.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -489,7 +489,7 @@
 }
 
 
-int ged_check(struct ged *gedp, int argc, const char *argv[])
+int ged_check_core(struct ged *gedp, int argc, const char *argv[])
 {
     int i;
     int opt_argc, arg_count;
@@ -684,7 +684,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl check_cmd_impl = {
     "check",
-    ged_check,
+    ged_check_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/clone/clone.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/clone/clone.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/clone/clone.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -986,7 +986,7 @@
 
 
 int
-ged_clone(struct ged *gedp, int argc, const char *argv[])
+ged_clone_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct ged_clone_state state;
     struct directory *copy;
@@ -1024,7 +1024,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl clone_cmd_impl = {
     "clone",
-    ged_clone,
+    ged_clone_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/coil/coil.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/coil/coil.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/coil/coil.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -408,7 +408,7 @@
 
 
 int
-ged_coil(struct ged *gedp, int argc, const char *argv[])
+ged_coil_core(struct ged *gedp, int argc, const char *argv[])
 {
 
     struct bu_vls name;
@@ -561,7 +561,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl coil_cmd_impl = {
     "coil",
-    ged_coil,
+    ged_coil_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/color/color.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/color/color.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/color/color.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -266,7 +266,7 @@
 
 
 int
-ged_color(struct ged *gedp, int argc, const char *argv[])
+ged_color_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct mater *newp;
     struct mater *mp;
@@ -362,7 +362,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl color_cmd_impl = {
     "color",
-    ged_color,
+    ged_color_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/comb/comb.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/comb/comb.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/comb/comb.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -550,7 +550,7 @@
 }
 
 int
-ged_comb(struct ged *gedp, int argc, const char *argv[])
+ged_comb_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *dp;
     const char *cmd_name;
@@ -974,7 +974,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl comb_cmd_impl = {
     "comb",
-    ged_comb,
+    ged_comb_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/comb_color/comb_color.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/comb_color/comb_color.c       
2020-07-21 19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/comb_color/comb_color.c       
2020-07-21 22:57:45 UTC (rev 76400)
@@ -27,7 +27,7 @@
 
 
 int
-ged_comb_color(struct ged *gedp, int argc, const char *argv[])
+ged_comb_color_core(struct ged *gedp, int argc, const char *argv[])
 {
     int i;
     int val;
@@ -81,7 +81,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl comb_color_cmd_impl = {
     "comb_color",
-    ged_comb_color,
+    ged_comb_color_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/comb_std/comb_std.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/comb_std/comb_std.c   2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/comb_std/comb_std.c   2020-07-21 
22:57:45 UTC (rev 76400)
@@ -430,7 +430,7 @@
 
 
 int
-ged_comb_std(struct ged *gedp, int argc, const char *argv[])
+ged_comb_std_core(struct ged *gedp, int argc, const char *argv[])
 {
     char *comb_name;
     int ch;
@@ -658,7 +658,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl comb_std_cmd_impl = {
     "comb_std",
-    ged_comb_std,
+    ged_comb_std_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/combmem/combmem.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/combmem/combmem.c     2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/combmem/combmem.c     2020-07-21 
22:57:45 UTC (rev 76400)
@@ -977,7 +977,7 @@
  * Set/get a combinations members.
  */
 int
-ged_combmem(struct ged *gedp, int argc, const char *argv[])
+ged_combmem_core(struct ged *gedp, int argc, const char *argv[])
 {
     int c;
     enum etypes iflag = ETYPES_ABS;
@@ -1083,7 +1083,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl combmem_cmd_impl = {
     "combmem",
-    ged_combmem,
+    ged_combmem_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/concat/concat.cpp
===================================================================
--- brlcad/branches/gedplugins/src/libged/concat/concat.cpp     2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/concat/concat.cpp     2020-07-21 
22:57:45 UTC (rev 76400)
@@ -295,7 +295,7 @@
 
 
 extern "C" int
-ged_concat(struct ged *gedp, int argc, const char *argv[])
+ged_concat_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct db_i *newdbp;
     struct directory *dp;
@@ -528,7 +528,7 @@
 #ifdef GED_PLUGIN
 #include "../include/plugin.h"
 extern "C" {
-    struct ged_cmd_impl concat_cmd_impl = { "concat", ged_concat, 
GED_CMD_DEFAULT };
+    struct ged_cmd_impl concat_cmd_impl = { "concat", ged_concat_core, 
GED_CMD_DEFAULT };
     const struct ged_cmd concat_cmd = { &concat_cmd_impl };
     const struct ged_cmd *concat_cmds[] = { &concat_cmd,  NULL };
 

Modified: brlcad/branches/gedplugins/src/libged/constraint/constraint.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/constraint/constraint.c       
2020-07-21 19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/constraint/constraint.c       
2020-07-21 22:57:45 UTC (rev 76400)
@@ -291,7 +291,7 @@
 
 
 int
-ged_constraint(struct ged *gedp, int argc, const char *argv[])
+ged_constraint_core(struct ged *gedp, int argc, const char *argv[])
 {
     /* Potential constraint attributes:
      *
@@ -360,7 +360,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl constraint_cmd_impl = {
     "constraint",
-    ged_constraint,
+    ged_constraint_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/copy/copy.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/copy/copy.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/copy/copy.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -35,7 +35,7 @@
 
 
 int
-ged_copy(struct ged *gedp, int argc, const char *argv[])
+ged_copy_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *from_dp;
     struct bu_external external;
@@ -81,87 +81,11 @@
     return GED_OK;
 }
 
-
-int
-ged_dbcopy(struct ged *from_gedp, struct ged *to_gedp, const char *from, const 
char *to, int fflag)
-{
-    struct directory *from_dp;
-    struct bu_external external;
-
-    GED_CHECK_DATABASE_OPEN(from_gedp, GED_ERROR);
-    GED_CHECK_DATABASE_OPEN(to_gedp, GED_ERROR);
-    GED_CHECK_READ_ONLY(to_gedp, GED_ERROR);
-
-    /* initialize result */
-    bu_vls_trunc(from_gedp->ged_result_str, 0);
-    bu_vls_trunc(to_gedp->ged_result_str, 0);
-
-    GED_DB_LOOKUP(from_gedp, from_dp, from, LOOKUP_NOISY, GED_ERROR & 
GED_QUIET);
-
-    if (!fflag && db_lookup(to_gedp->ged_wdbp->dbip, to, LOOKUP_QUIET) != 
RT_DIR_NULL) {
-       bu_vls_printf(from_gedp->ged_result_str, "%s already exists.", to);
-       return GED_ERROR;
-    }
-
-    if (db_get_external(&external, from_dp, from_gedp->ged_wdbp->dbip)) {
-       bu_vls_printf(from_gedp->ged_result_str, "Database read error, 
aborting\n");
-       return GED_ERROR;
-    }
-
-    if (wdb_export_external(to_gedp->ged_wdbp, &external, to,
-                           from_dp->d_flags,  from_dp->d_minor_type) < 0) {
-       bu_free_external(&external);
-       bu_vls_printf(from_gedp->ged_result_str,
-                     "Failed to write new object (%s) to database - 
aborting!!\n",
-                     to);
-       return GED_ERROR;
-    }
-
-    bu_free_external(&external);
-
-    /* Need to do something extra for _GLOBAL */
-    if (db_version(to_gedp->ged_wdbp->dbip) > 4 && BU_STR_EQUAL(to, 
DB5_GLOBAL_OBJECT_NAME)) {
-       struct directory *to_dp;
-       struct bu_attribute_value_set avs;
-       const char *val;
-
-       GED_DB_LOOKUP(to_gedp, to_dp, to, LOOKUP_NOISY, GED_ERROR & GED_QUIET);
-
-       bu_avs_init_empty(&avs);
-       if (db5_get_attributes(to_gedp->ged_wdbp->dbip, &avs, to_dp)) {
-           bu_vls_printf(from_gedp->ged_result_str, "Cannot get attributes for 
object %s\n", to_dp->d_namep);
-           return GED_ERROR;
-       }
-
-       if ((val = bu_avs_get(&avs, "title")) != NULL)
-           to_gedp->ged_wdbp->dbip->dbi_title = bu_strdup(val);
-
-       if ((val = bu_avs_get(&avs, "units")) != NULL) {
-           double loc2mm;
-
-           if ((loc2mm = bu_mm_value(val)) > 0) {
-               to_gedp->ged_wdbp->dbip->dbi_local2base = loc2mm;
-               to_gedp->ged_wdbp->dbip->dbi_base2local = 1.0 / loc2mm;
-           }
-       }
-
-       if ((val = bu_avs_get(&avs, "regionid_colortable")) != NULL) {
-           rt_color_free();
-           db5_import_color_table((char *)val);
-       }
-
-       bu_avs_free(&avs);
-    }
-
-    return GED_OK;
-}
-
-
 #ifdef GED_PLUGIN
 #include "../include/plugin.h"
 struct ged_cmd_impl copy_cmd_impl = {
     "copy",
-    ged_copy,
+    ged_copy_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/copyeval/copyeval.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/copyeval/copyeval.c   2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/copyeval/copyeval.c   2020-07-21 
22:57:45 UTC (rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_copyeval(struct ged *gedp, int argc, const char *argv[])
+ged_copyeval_core(struct ged *gedp, int argc, const char *argv[])
 {
     static const char *usage = "path_to_old_prim new_prim";
     struct _ged_trace_data gtd;
@@ -174,7 +174,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl copyeval_cmd_impl = {
     "copyeval",
-    ged_copyeval,
+    ged_copyeval_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/copymat/copymat.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/copymat/copymat.c     2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/copymat/copymat.c     2020-07-21 
22:57:45 UTC (rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_copymat(struct ged *gedp, int argc, const char *argv[])
+ged_copymat_core(struct ged *gedp, int argc, const char *argv[])
 {
     char *child = NULL;
     char *parent = NULL;
@@ -160,7 +160,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl copymat_cmd_impl = {
     "copymat",
-    ged_copymat,
+    ged_copymat_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/cpi/cpi.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/cpi/cpi.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/cpi/cpi.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -35,7 +35,7 @@
 
 
 int
-ged_cpi(struct ged *gedp, int argc, const char *argv[])
+ged_cpi_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *proto;
     struct directory *dp;
@@ -106,7 +106,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl cpi_cmd_impl = {
     "cpi",
-    ged_cpi,
+    ged_cpi_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/dag/dag.cpp
===================================================================
--- brlcad/branches/gedplugins/src/libged/dag/dag.cpp   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/dag/dag.cpp   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -807,7 +807,7 @@
  * Dummy graph function in case no Adaptagrams library is found.
  */
 extern "C" int
-ged_graph(struct ged *gedp, int argc, const char *argv[])
+ged_graph_core(struct ged *gedp, int argc, const char *argv[])
 {
     GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
     GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
@@ -827,7 +827,7 @@
 #ifdef GED_PLUGIN
 #include "../include/plugin.h"
 extern "C" {
-    struct ged_cmd_impl dag_cmd_impl = { "graph", ged_graph, GED_CMD_DEFAULT };
+    struct ged_cmd_impl dag_cmd_impl = { "graph", ged_graph_core, 
GED_CMD_DEFAULT };
     const struct ged_cmd dag_cmd = { &dag_cmd_impl };
     const struct ged_cmd *dag_cmds[] = { &dag_cmd,  NULL };
 

Modified: brlcad/branches/gedplugins/src/libged/dbip/dbip.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/dbip/dbip.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/dbip/dbip.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_dbip(struct ged *gedp, int argc, const char *argv[])
+ged_dbip_core(struct ged *gedp, int argc, const char *argv[])
 {
     GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
     GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
@@ -60,8 +60,8 @@
 #ifdef GED_PLUGIN
 #include "../include/plugin.h"
 struct ged_cmd_impl dbip_cmd_impl = {
-    "dbip",
-    ged_dbip,
+    "get_dbip",
+    ged_dbip_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/debug/debug.cpp
===================================================================
--- brlcad/branches/gedplugins/src/libged/debug/debug.cpp       2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/debug/debug.cpp       2020-07-21 
22:57:45 UTC (rev 76400)
@@ -39,7 +39,7 @@
 #include "./debug_cmd.cpp"
 
 extern "C" int
-ged_debug(struct ged *gedp, int argc, const char **argv)
+ged_debug_core(struct ged *gedp, int argc, const char **argv)
 {
     /* initialize result */
     bu_vls_trunc(gedp->ged_result_str, 0);
@@ -54,7 +54,7 @@
 #ifdef GED_PLUGIN
 #include "../include/plugin.h"
 extern "C" {
-    struct ged_cmd_impl debug_cmd_impl = { "debug", ged_debug, GED_CMD_DEFAULT 
};
+    struct ged_cmd_impl debug_cmd_impl = { "debug", ged_debug_core, 
GED_CMD_DEFAULT };
     const struct ged_cmd debug_pcmd = { &debug_cmd_impl };
     const struct ged_cmd *debug_cmds[] = { &debug_pcmd,  NULL };
 

Modified: brlcad/branches/gedplugins/src/libged/debugbu/debugbu.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/debugbu/debugbu.c     2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/debugbu/debugbu.c     2020-07-21 
22:57:45 UTC (rev 76400)
@@ -34,7 +34,7 @@
 
 
 int
-ged_debugbu(struct ged *gedp, int argc, const char *argv[])
+ged_debugbu_core(struct ged *gedp, int argc, const char *argv[])
 {
     static const char *usage = "[hex_code]";
 
@@ -72,7 +72,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl debugbu_cmd_impl = {
     "debugbu",
-    ged_debugbu,
+    ged_debugbu_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/debugdir/debugdir.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/debugdir/debugdir.c   2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/debugdir/debugdir.c   2020-07-21 
22:57:45 UTC (rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_debugdir(struct ged *gedp, int argc, const char *argv[])
+ged_debugdir_core(struct ged *gedp, int argc, const char *argv[])
 {
     GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
     GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
@@ -56,7 +56,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl debugdir_cmd_impl = {
     "debugdir",
-    ged_debugdir,
+    ged_debugdir_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/debuglib/debuglib.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/debuglib/debuglib.c   2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/debuglib/debuglib.c   2020-07-21 
22:57:45 UTC (rev 76400)
@@ -34,7 +34,7 @@
 
 
 int
-ged_debuglib(struct ged *gedp, int argc, const char *argv[])
+ged_debuglib_core(struct ged *gedp, int argc, const char *argv[])
 {
     static const char *usage = "[hex_code]";
 
@@ -72,7 +72,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl debuglib_cmd_impl = {
     "debuglib",
-    ged_debuglib,
+    ged_debuglib_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/debugnmg/debugnmg.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/debugnmg/debugnmg.c   2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/debugnmg/debugnmg.c   2020-07-21 
22:57:45 UTC (rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_debugnmg(struct ged *gedp, int argc, const char *argv[])
+ged_debugnmg_core(struct ged *gedp, int argc, const char *argv[])
 {
     static const char *usage = "[hex_code]";
 
@@ -71,7 +71,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl debugnmg_cmd_impl = {
     "debugnmg",
-    ged_debugnmg,
+    ged_debugnmg_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/decompose/decompose.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/decompose/decompose.c 2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/decompose/decompose.c 2020-07-21 
22:57:45 UTC (rev 76400)
@@ -32,7 +32,7 @@
 #include "../ged_private.h"
 
 int
-ged_decompose(struct ged *gedp, int argc, const char *argv[])
+ged_decompose_core(struct ged *gedp, int argc, const char *argv[])
 {
     int count;
     struct bu_vls solid_name = BU_VLS_INIT_ZERO;
@@ -204,7 +204,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl decompose_cmd_impl = {
     "decompose",
-    ged_decompose,
+    ged_decompose_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/delay/delay.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/delay/delay.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/delay/delay.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -35,7 +35,7 @@
 
 
 int
-ged_delay(struct ged *gedp, int argc, const char *argv[])
+ged_delay_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct timeval tv;
     static const char *usage = "sec usec";
@@ -69,7 +69,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl delay_cmd_impl = {
     "delay",
-    ged_delay,
+    ged_delay_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/dir2ae/dir2ae.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/dir2ae/dir2ae.c       2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/dir2ae/dir2ae.c       2020-07-21 
22:57:45 UTC (rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_dir2ae(struct ged *gedp, int argc, const char *argv[])
+ged_dir2ae_core(struct ged *gedp, int argc, const char *argv[])
 {
     fastf_t az, el;
     vect_t dir;
@@ -88,7 +88,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl dir2ae_cmd_impl = {
     "dir2ae",
-    ged_dir2ae,
+    ged_dir2ae_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/draw/draw.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/draw/draw.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/draw/draw.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -1258,7 +1258,7 @@
 
 
 int
-ged_draw(struct ged *gedp, int argc, const char *argv[])
+ged_draw_core(struct ged *gedp, int argc, const char *argv[])
 {
     return ged_draw_guts(gedp, argc, argv, _GED_DRAW_WIREFRAME);
 }
@@ -1351,7 +1351,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl draw_cmd_impl = {
     "draw",
-    ged_draw,
+    ged_draw_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/dsp/dsp.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/dsp/dsp.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/dsp/dsp.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -38,7 +38,7 @@
 #include "../librt/primitives/dsp/dsp.h"
 
 int
-ged_dsp(struct ged *gedp, int argc, const char *argv[])
+ged_dsp_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *dsp_dp;
     struct rt_db_internal intern;
@@ -153,7 +153,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl dsp_cmd_impl = {
     "dsp",
-    ged_dsp,
+    ged_dsp_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/dump/dump.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/dump/dump.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/dump/dump.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_dump(struct ged *gedp, int argc, const char *argv[])
+ged_dump_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct rt_wdb *op;
     int ret;
@@ -77,7 +77,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl dump_cmd_impl = {
     "dump",
-    ged_dump,
+    ged_dump_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/dup/dup.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/dup/dup.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/dup/dup.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -146,7 +146,7 @@
 
 
 int
-ged_dup(struct ged *gedp, int argc, const char *argv[])
+ged_dup_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct db_i *newdbp = DBI_NULL;
     struct directory **dirp0 = (struct directory **)NULL;
@@ -241,7 +241,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl dup_cmd_impl = {
     "dup",
-    ged_dup,
+    ged_dup_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/eac/eac.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/eac/eac.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/eac/eac.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_eac(struct ged *gedp, int argc, const char *argv[])
+ged_eac_core(struct ged *gedp, int argc, const char *argv[])
 {
     int j;
     int item;
@@ -96,10 +96,10 @@
        int retval;
        char **new_argv;
 
-       new_argv = (char **)bu_calloc(lim+1, sizeof(char *), "ged_eac: 
new_argv");
+       new_argv = (char **)bu_calloc(lim+1, sizeof(char *), "ged_eac_core: 
new_argv");
        new_argc = bu_argv_from_string(new_argv, lim, bu_vls_addr(&v));
        retval = ged_draw(gedp, new_argc, (const char **)new_argv);
-       bu_free((void *)new_argv, "ged_eac: new_argv");
+       bu_free((void *)new_argv, "ged_eac_core: new_argv");
        bu_vls_free(&v);
        return retval;
     }
@@ -113,7 +113,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl eac_cmd_impl = {
     "eac",
-    ged_eac,
+    ged_eac_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/echo/echo.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/echo/echo.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/echo/echo.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_echo(struct ged *gedp, int argc, const char *argv[])
+ged_echo_core(struct ged *gedp, int argc, const char *argv[])
 {
     int i;
 
@@ -57,7 +57,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl echo_cmd_impl = {
     "echo",
-    ged_echo,
+    ged_echo_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/edarb/edarb.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/edarb/edarb.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/edarb/edarb.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -325,7 +325,7 @@
 
 
 int
-ged_edarb(struct ged *gedp, int argc, const char *argv[])
+ged_edarb_core(struct ged *gedp, int argc, const char *argv[])
 {
     int ret;
     static struct bu_cmdtab arb_cmds[] = {
@@ -365,7 +365,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl edarb_cmd_impl = {
     "edarb",
-    ged_edarb,
+    ged_edarb_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/edcodes/edcodes.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/edcodes/edcodes.c     2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/edcodes/edcodes.c     2020-07-21 
22:57:45 UTC (rev 76400)
@@ -139,7 +139,7 @@
 
 
 int
-ged_edcodes(struct ged *gedp, int argc, const char *argv[])
+ged_edcodes_core(struct ged *gedp, int argc, const char *argv[])
 {
     int i;
     int nflag = 0;
@@ -216,7 +216,7 @@
     if (!fp)
        return GED_ERROR;
 
-    av = (char **)bu_malloc(sizeof(char *)*(argc + 2), "ged_edcodes av");
+    av = (char **)bu_malloc(sizeof(char *)*(argc + 2), "ged_edcodes_core av");
     av[0] = "wcodes";
     av[1] = tmpfil;
     for (i = 2; i < argc + 1; ++i)
@@ -228,7 +228,7 @@
 
     if (ged_wcodes(gedp, argc + 1, (const char **)av) == GED_ERROR) {
        bu_file_delete(tmpfil);
-       bu_free((void *)av, "ged_edcodes av");
+       bu_free((void *)av, "ged_edcodes_core av");
        return GED_ERROR;
     }
 
@@ -272,9 +272,9 @@
        rewind(f_srt);
        for (j = 0; j < line_count; j++) {
            fprintf(f_srt, "%s", line_array[j]);
-           bu_free(line_array[j], "ged_edcodes line array element");
+           bu_free(line_array[j], "ged_edcodes_core line array element");
        }
-       bu_free((char *)line_array, "ged_edcodes line array");
+       bu_free((char *)line_array, "ged_edcodes_core line array");
        fclose(f_srt);
     }
 
@@ -286,7 +286,7 @@
        status = GED_ERROR;
 
     bu_file_delete(tmpfil);
-    bu_free((void *)av, "ged_edcodes av");
+    bu_free((void *)av, "ged_edcodes_core av");
     return status;
 }
 
@@ -295,7 +295,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl edcodes_cmd_impl = {
     "edcodes",
-    ged_edcodes,
+    ged_edcodes_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/edcomb/edcomb.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/edcomb/edcomb.c       2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/edcomb/edcomb.c       2020-07-21 
22:57:45 UTC (rev 76400)
@@ -27,7 +27,7 @@
 
 
 int
-ged_edcomb(struct ged *gedp, int argc, const char *argv[])
+ged_edcomb_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *dp;
     int regionid, air, mat, los;
@@ -96,7 +96,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl edcomb_cmd_impl = {
     "edcomb",
-    ged_edcomb,
+    ged_edcomb_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/edit/edit.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/edit/edit.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/edit/edit.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -1962,7 +1962,7 @@
  * more specific, validation is performed by edit().
  */
 int
-ged_edit(struct ged *gedp, int argc, const char *argv[])
+ged_edit_core(struct ged *gedp, int argc, const char *argv[])
 {
     const char *const cmd_name = argv[0];
     union edit_cmd subcmd;
@@ -2424,7 +2424,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl edit_cmd_impl = {
     "edit",
-    ged_edit,
+    ged_edit_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/editit/editit.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/editit/editit.c       2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/editit/editit.c       2020-07-21 
22:57:45 UTC (rev 76400)
@@ -256,7 +256,7 @@
 
 
 int
-ged_editit(struct ged *gedp, int argc, const char *argv[])
+ged_editit_core(struct ged *gedp, int argc, const char *argv[])
 {
     int ret = 0;
     GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
@@ -281,7 +281,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl editit_cmd_impl = {
     "editit",
-    ged_editit,
+    ged_editit_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/edmater/edmater.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/edmater/edmater.c     2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/edmater/edmater.c     2020-07-21 
22:57:45 UTC (rev 76400)
@@ -38,7 +38,7 @@
 
 
 int
-ged_edmater(struct ged *gedp, int argc, const char *argv[])
+ged_edmater_core(struct ged *gedp, int argc, const char *argv[])
 {
     FILE *fp;
     int i, c;
@@ -106,7 +106,7 @@
     }
 
     bu_file_delete(tmpfil);
-    bu_free((void *)av, "ged_edmater: av");
+    bu_free((void *)av, "ged_edmater_core: av");
 
     return status;
 }
@@ -116,7 +116,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl edmater_cmd_impl = {
     "edmater",
-    ged_edmater,
+    ged_edmater_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/env/env.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/env/env.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/env/env.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -42,7 +42,7 @@
  * Reports on and manipulates environment variables relevant to BRL-CAD.
  */
 int
-ged_env(struct ged *gedp, int argc, const char *argv[])
+ged_env_core(struct ged *gedp, int argc, const char *argv[])
 {
     int ret = GED_OK;
 
@@ -65,7 +65,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl env_cmd_impl = {
     "env",
-    ged_env,
+    ged_env_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/erase/erase.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/erase/erase.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/erase/erase.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -37,7 +37,7 @@
  *
  */
 int
-ged_erase(struct ged *gedp, int argc, const char *argv[])
+ged_erase_core(struct ged *gedp, int argc, const char *argv[])
 {
     size_t i;
     int flag_A_attr=0;
@@ -119,7 +119,7 @@
            return GED_ERROR;
        }
 
-       bu_avs_init(&avs, (argc - last_opt)/2, "ged_erase avs");
+       bu_avs_init(&avs, (argc - last_opt)/2, "ged_erase_core avs");
        i = 0;
        while (i < (size_t)argc) {
            if (*argv[i] == '-') {
@@ -158,8 +158,8 @@
 
        max_count = BU_PTBL_LEN(tbl) + last_opt + 1;
        bu_ptbl_free(tbl);
-       bu_free((char *)tbl, "ged_erase ptbl");
-       new_argv = (char **)bu_calloc(max_count+1, sizeof(char *), "ged_erase 
new_argv");
+       bu_free((char *)tbl, "ged_erase_core ptbl");
+       new_argv = (char **)bu_calloc(max_count+1, sizeof(char *), 
"ged_erase_core new_argv");
        new_argc = bu_argv_from_string(new_argv, max_count, bu_vls_addr(&vls));
 
        for (i = 0; i < (size_t)new_argc; ++i) {
@@ -183,7 +183,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl erase_cmd_impl = {
     "erase",
-    ged_erase,
+    ged_erase_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/exists/exists.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/exists/exists.c       2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/exists/exists.c       2020-07-21 
22:57:45 UTC (rev 76400)
@@ -441,7 +441,7 @@
  * Checks for the existence of a specified object.
  */
 int
-ged_exists(struct ged *gedp, int argc, const char *argv_orig[])
+ged_exists_core(struct ged *gedp, int argc, const char *argv_orig[])
 {
     /* struct directory *dp;*/
     static const char *usage = "object";
@@ -492,7 +492,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl exists_cmd_impl = {
     "exists",
-    ged_exists,
+    ged_exists_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/expand/expand.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/expand/expand.c       2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/expand/expand.c       2020-07-21 
22:57:45 UTC (rev 76400)
@@ -55,7 +55,7 @@
 
 
 int
-ged_expand(struct ged *gedp, int argc, const char *argv[])
+ged_expand_core(struct ged *gedp, int argc, const char *argv[])
 {
     char *pattern;
     struct directory *dp;
@@ -136,7 +136,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl expand_cmd_impl = {
     "expand",
-    ged_expand,
+    ged_expand_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/eye_pos/eye_pos.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/eye_pos/eye_pos.c     2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/eye_pos/eye_pos.c     2020-07-21 
22:57:45 UTC (rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_eye_pos(struct ged *gedp, int argc, const char *argv[])
+ged_eye_pos_core(struct ged *gedp, int argc, const char *argv[])
 {
     point_t eye_pos;
     double scan[3];
@@ -98,7 +98,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl eye_pos_cmd_impl = {
     "eye_pos",
-    ged_eye_pos,
+    ged_eye_pos_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/facetize/facetize.cpp
===================================================================
--- brlcad/branches/gedplugins/src/libged/facetize/facetize.cpp 2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/facetize/facetize.cpp 2020-07-21 
22:57:45 UTC (rev 76400)
@@ -2812,7 +2812,7 @@
 
 
 extern "C" int
-ged_facetize(struct ged *gedp, int argc, const char *argv[])
+ged_facetize_core(struct ged *gedp, int argc, const char *argv[])
 {
     int ret = GED_OK;
     static const char *usage = "Usage: facetize [ -nmhT | [--NMG] [--CM] 
[--SPSR] ] [old_obj1 | new_obj] [old_obj* ...] [old_objN | new_obj]\n";
@@ -2978,7 +2978,7 @@
 #ifdef GED_PLUGIN
 #include "../include/plugin.h"
 extern "C" {
-    struct ged_cmd_impl facetize_cmd_impl = { "facetize", ged_facetize, 
GED_CMD_DEFAULT };
+    struct ged_cmd_impl facetize_cmd_impl = { "facetize", ged_facetize_core, 
GED_CMD_DEFAULT };
     const struct ged_cmd facetize_cmd = { &facetize_cmd_impl };
     const struct ged_cmd *facetize_cmds[] = { &facetize_cmd,  NULL };
 

Modified: brlcad/branches/gedplugins/src/libged/fb2pix/fb2pix.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/fb2pix/fb2pix.c       2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/fb2pix/fb2pix.c       2020-07-21 
22:57:45 UTC (rev 76400)
@@ -102,7 +102,7 @@
 
 
 int
-ged_fb2pix(struct ged *gedp, int argc, const char *argv[])
+ged_fb2pix_core(struct ged *gedp, int argc, const char *argv[])
 {
     int ret;
     char usage[] = "Usage: fb-pix [-h -i -c] \n\
@@ -164,7 +164,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl fb2pix_cmd_impl = {
     "fb2pix",
-    ged_fb2pix,
+    ged_fb2pix_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/fbclear/fbclear.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/fbclear/fbclear.c     2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/fbclear/fbclear.c     2020-07-21 
22:57:45 UTC (rev 76400)
@@ -45,7 +45,7 @@
     (((_v) > (_a)) ? ((_v) < (_b) ? (_v) : (_b)) : (_a))
 
 int
-ged_fbclear(struct ged *gedp, int argc, const char *argv[])
+ged_fbclear_core(struct ged *gedp, int argc, const char *argv[])
 {
     static const char usage[] = "\nUsage: fbclear [rgb]";
 
@@ -105,7 +105,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl fbclear_cmd_impl = {
     "fbclear",
-    ged_fbclear,
+    ged_fbclear_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/find/find.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/find/find.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/find/find.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -61,7 +61,7 @@
 
 
 int
-ged_find(struct ged *gedp, int argc, const char *argv[])
+ged_find_core(struct ged *gedp, int argc, const char *argv[])
 {
     int i, k;
     struct directory *dp;
@@ -136,7 +136,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl find_cmd_impl = {
     "find",
-    ged_find,
+    ged_find_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/form/form.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/form/form.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/form/form.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_form(struct ged *gedp, int argc, const char *argv[])
+ged_form_core(struct ged *gedp, int argc, const char *argv[])
 {
     const struct rt_functab *ftp;
     static const char *usage = "type";
@@ -72,7 +72,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl form_cmd_impl = {
     "form",
-    ged_form,
+    ged_form_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/fracture/fracture.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/fracture/fracture.c   2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/fracture/fracture.c   2020-07-21 
22:57:45 UTC (rev 76400)
@@ -84,7 +84,7 @@
 
 
 int
-ged_fracture(struct ged *gedp, int argc, const char *argv[])
+ged_fracture_core(struct ged *gedp, int argc, const char *argv[])
 {
     int i;
     struct directory *old_dp;
@@ -212,7 +212,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl fracture_cmd_impl = {
     "fracture",
-    ged_fracture,
+    ged_fracture_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/gdiff/gdiff.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/gdiff/gdiff.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/gdiff/gdiff.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -34,7 +34,7 @@
 #include "../ged_private.h"
 
 int
-ged_gdiff(struct ged *gedp, int argc, const char *argv[])
+ged_gdiff_core(struct ged *gedp, int argc, const char *argv[])
 {
     size_t i;
     struct analyze_raydiff_results *results;
@@ -234,7 +234,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl gdiff_cmd_impl = {
     "gdiff",
-    ged_gdiff,
+    ged_gdiff_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/ged_private.h
===================================================================
--- brlcad/branches/gedplugins/src/libged/ged_private.h 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/ged_private.h 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -610,8 +610,8 @@
 _ged_facetize_log_default(struct _ged_facetize_opts *o);
 
 
-
-extern int ged_view_snap(struct ged *gedp, int argc, const char *argv[]);
+GED_EXPORT extern int ged_snap_lines(point_t *out_pt, struct ged *gedp, 
point_t *p);
+GED_EXPORT extern int ged_view_snap(struct ged *gedp, int argc, const char 
*argv[]);
 GED_EXPORT extern int ged_view_data_lines(struct ged *gedp, int argc, const 
char *argv[]);
 
 __END_DECLS

Modified: brlcad/branches/gedplugins/src/libged/ged_util.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/ged_util.c    2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/ged_util.c    2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -35,6 +35,7 @@
 #include "bu/path.h"
 #include "bu/sort.h"
 #include "bu/str.h"
+#include "bu/units.h"
 #include "bu/vls.h"
 
 #include "ged.h"
@@ -504,7 +505,430 @@
     return GED_ERROR;
 }
 
+int
+ged_dbcopy(struct ged *from_gedp, struct ged *to_gedp, const char *from, const 
char *to, int fflag)
+{
+    struct directory *from_dp;
+    struct bu_external external;
 
+    GED_CHECK_DATABASE_OPEN(from_gedp, GED_ERROR);
+    GED_CHECK_DATABASE_OPEN(to_gedp, GED_ERROR);
+    GED_CHECK_READ_ONLY(to_gedp, GED_ERROR);
+
+    /* initialize result */
+    bu_vls_trunc(from_gedp->ged_result_str, 0);
+    bu_vls_trunc(to_gedp->ged_result_str, 0);
+
+    GED_DB_LOOKUP(from_gedp, from_dp, from, LOOKUP_NOISY, GED_ERROR & 
GED_QUIET);
+
+    if (!fflag && db_lookup(to_gedp->ged_wdbp->dbip, to, LOOKUP_QUIET) != 
RT_DIR_NULL) {
+       bu_vls_printf(from_gedp->ged_result_str, "%s already exists.", to);
+       return GED_ERROR;
+    }
+
+    if (db_get_external(&external, from_dp, from_gedp->ged_wdbp->dbip)) {
+       bu_vls_printf(from_gedp->ged_result_str, "Database read error, 
aborting\n");
+       return GED_ERROR;
+    }
+
+    if (wdb_export_external(to_gedp->ged_wdbp, &external, to,
+                           from_dp->d_flags,  from_dp->d_minor_type) < 0) {
+       bu_free_external(&external);
+       bu_vls_printf(from_gedp->ged_result_str,
+                     "Failed to write new object (%s) to database - 
aborting!!\n",
+                     to);
+       return GED_ERROR;
+    }
+
+    bu_free_external(&external);
+
+    /* Need to do something extra for _GLOBAL */
+    if (db_version(to_gedp->ged_wdbp->dbip) > 4 && BU_STR_EQUAL(to, 
DB5_GLOBAL_OBJECT_NAME)) {
+       struct directory *to_dp;
+       struct bu_attribute_value_set avs;
+       const char *val;
+
+       GED_DB_LOOKUP(to_gedp, to_dp, to, LOOKUP_NOISY, GED_ERROR & GED_QUIET);
+
+       bu_avs_init_empty(&avs);
+       if (db5_get_attributes(to_gedp->ged_wdbp->dbip, &avs, to_dp)) {
+           bu_vls_printf(from_gedp->ged_result_str, "Cannot get attributes for 
object %s\n", to_dp->d_namep);
+           return GED_ERROR;
+       }
+
+       if ((val = bu_avs_get(&avs, "title")) != NULL)
+           to_gedp->ged_wdbp->dbip->dbi_title = bu_strdup(val);
+
+       if ((val = bu_avs_get(&avs, "units")) != NULL) {
+           double loc2mm;
+
+           if ((loc2mm = bu_mm_value(val)) > 0) {
+               to_gedp->ged_wdbp->dbip->dbi_local2base = loc2mm;
+               to_gedp->ged_wdbp->dbip->dbi_base2local = 1.0 / loc2mm;
+           }
+       }
+
+       if ((val = bu_avs_get(&avs, "regionid_colortable")) != NULL) {
+           rt_color_free();
+           db5_import_color_table((char *)val);
+       }
+
+       bu_avs_free(&avs);
+    }
+
+    return GED_OK;
+}
+
+int
+ged_snap_to_grid(struct ged *gedp, fastf_t *vx, fastf_t *vy)
+{
+    int nh, nv;                /* whole grid units */
+    point_t view_pt;
+    point_t view_grid_anchor;
+    fastf_t grid_units_h;              /* eventually holds only fractional 
horizontal grid units */
+    fastf_t grid_units_v;              /* eventually holds only fractional 
vertical grid units */
+    fastf_t sf;
+    fastf_t inv_sf;
+
+    if (gedp->ged_gvp == GED_VIEW_NULL)
+       return 0;
+
+    if (ZERO(gedp->ged_gvp->gv_grid.res_h) ||
+       ZERO(gedp->ged_gvp->gv_grid.res_v))
+       return 0;
+
+    sf = gedp->ged_gvp->gv_scale*gedp->ged_wdbp->dbip->dbi_base2local;
+    inv_sf = 1 / sf;
+
+    VSET(view_pt, *vx, *vy, 0.0);
+    VSCALE(view_pt, view_pt, sf);  /* view_pt now in local units */
+
+    MAT4X3PNT(view_grid_anchor, gedp->ged_gvp->gv_model2view, 
gedp->ged_gvp->gv_grid.anchor);
+    VSCALE(view_grid_anchor, view_grid_anchor, sf);  /* view_grid_anchor now 
in local units */
+
+    grid_units_h = (view_grid_anchor[X] - view_pt[X]) / 
(gedp->ged_gvp->gv_grid.res_h * gedp->ged_wdbp->dbip->dbi_base2local);
+    grid_units_v = (view_grid_anchor[Y] - view_pt[Y]) / 
(gedp->ged_gvp->gv_grid.res_v * gedp->ged_wdbp->dbip->dbi_base2local);
+    nh = grid_units_h;
+    nv = grid_units_v;
+
+    grid_units_h -= nh;                /* now contains only the fraction part 
*/
+    grid_units_v -= nv;                /* now contains only the fraction part 
*/
+
+    if (grid_units_h <= -0.5)
+       *vx = view_grid_anchor[X] - ((nh - 1) * gedp->ged_gvp->gv_grid.res_h * 
gedp->ged_wdbp->dbip->dbi_base2local);
+    else if (0.5 <= grid_units_h)
+       *vx = view_grid_anchor[X] - ((nh + 1) * gedp->ged_gvp->gv_grid.res_h * 
gedp->ged_wdbp->dbip->dbi_base2local);
+    else
+       *vx = view_grid_anchor[X] - (nh * gedp->ged_gvp->gv_grid.res_h * 
gedp->ged_wdbp->dbip->dbi_base2local);
+
+    if (grid_units_v <= -0.5)
+       *vy = view_grid_anchor[Y] - ((nv - 1) * gedp->ged_gvp->gv_grid.res_v * 
gedp->ged_wdbp->dbip->dbi_base2local);
+    else if (0.5 <= grid_units_v)
+       *vy = view_grid_anchor[Y] - ((nv + 1) * gedp->ged_gvp->gv_grid.res_v * 
gedp->ged_wdbp->dbip->dbi_base2local);
+    else
+       *vy = view_grid_anchor[Y] - (nv * gedp->ged_gvp->gv_grid.res_v * 
gedp->ged_wdbp->dbip->dbi_base2local);
+
+    *vx *= inv_sf;
+    *vy *= inv_sf;
+
+    return 1;
+}
+
+int
+ged_rot_args(struct ged *gedp, int argc, const char *argv[], char *coord, 
mat_t rmat)
+{
+    vect_t rvec;
+    static const char *usage = "[-m|-v] x y z";
+
+    GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
+    GED_CHECK_VIEW(gedp, GED_ERROR);
+    GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
+
+    /* initialize result */
+    bu_vls_trunc(gedp->ged_result_str, 0);
+
+    /* must be wanting help */
+    if (argc == 1) {
+       bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+       return GED_HELP;
+    }
+
+    /* process possible coord flag */
+    if (argv[1][0] == '-' && (argv[1][1] == 'v' || argv[1][1] == 'm') && 
argv[1][2] == '\0') {
+       *coord = argv[1][1];
+       --argc;
+       ++argv;
+    } else
+       *coord = gedp->ged_gvp->gv_coord;
+
+    if (argc != 2 && argc != 4) {
+       bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+       return GED_ERROR;
+    }
+
+    if (argc == 2) {
+       if (bn_decode_vect(rvec, argv[1]) != 3) {
+           bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+           return GED_ERROR;
+       }
+    } else {
+       double scan[3];
+
+       if (sscanf(argv[1], "%lf", &scan[X]) < 1) {
+           bu_vls_printf(gedp->ged_result_str, "ged_eye: bad X value %s\n", 
argv[1]);
+           return GED_ERROR;
+       }
+
+       if (sscanf(argv[2], "%lf", &scan[Y]) < 1) {
+           bu_vls_printf(gedp->ged_result_str, "ged_eye: bad Y value %s\n", 
argv[2]);
+           return GED_ERROR;
+       }
+
+       if (sscanf(argv[3], "%lf", &scan[Z]) < 1) {
+           bu_vls_printf(gedp->ged_result_str, "ged_eye: bad Z value %s\n", 
argv[3]);
+           return GED_ERROR;
+       }
+
+       /* convert from double to fastf_t */
+       VMOVE(rvec, scan);
+    }
+
+    VSCALE(rvec, rvec, -1.0);
+    bn_mat_angles(rmat, rvec[X], rvec[Y], rvec[Z]);
+
+    return GED_OK;
+}
+
+int
+ged_arot_args(struct ged *gedp, int argc, const char *argv[], mat_t rmat)
+{
+    point_t pt = VINIT_ZERO;
+    vect_t axisv;
+    double axis[3]; /* not fastf_t due to sscanf */
+    double angle; /* not fastf_t due to sscanf */
+    static const char *usage = "x y z angle";
+
+    GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
+    GED_CHECK_VIEW(gedp, GED_ERROR);
+    GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
+
+    /* initialize result */
+    bu_vls_trunc(gedp->ged_result_str, 0);
+
+    /* must be wanting help */
+    if (argc == 1) {
+       bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+       return GED_HELP;
+    }
+
+    if (argc != 5) {
+       bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+       return GED_ERROR;
+    }
+
+    if (sscanf(argv[1], "%lf", &axis[X]) != 1) {
+       bu_vls_printf(gedp->ged_result_str, "%s: bad X value - %s\n", argv[0], 
argv[1]);
+       return GED_ERROR;
+    }
+
+    if (sscanf(argv[2], "%lf", &axis[Y]) != 1) {
+       bu_vls_printf(gedp->ged_result_str, "%s: bad Y value - %s\n", argv[0], 
argv[2]);
+       return GED_ERROR;
+    }
+
+    if (sscanf(argv[3], "%lf", &axis[Z]) != 1) {
+       bu_vls_printf(gedp->ged_result_str, "%s: bad Z value - %s\n", argv[0], 
argv[3]);
+       return GED_ERROR;
+    }
+
+    if (sscanf(argv[4], "%lf", &angle) != 1) {
+       bu_vls_printf(gedp->ged_result_str, "%s: bad angle - %s\n", argv[0], 
argv[4]);
+       return GED_ERROR;
+    }
+
+    VUNITIZE(axis);
+    VMOVE(axisv, axis);
+    bn_mat_arb_rot(rmat, pt, axisv, angle*DEG2RAD);
+
+    return GED_OK;
+}
+
+int
+ged_tra_args(struct ged *gedp, int argc, const char *argv[], char *coord, 
vect_t tvec)
+{
+    static const char *usage = "[-m|-v] x y z";
+
+    GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
+    GED_CHECK_VIEW(gedp, GED_ERROR);
+    GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
+
+    /* initialize result */
+    bu_vls_trunc(gedp->ged_result_str, 0);
+
+    /* must be wanting help */
+    if (argc == 1) {
+       bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+       return GED_HELP;
+    }
+
+    /* process possible coord flag */
+    if (argv[1][0] == '-' && (argv[1][1] == 'v' || argv[1][1] == 'm') && 
argv[1][2] == '\0') {
+       *coord = argv[1][1];
+       --argc;
+       ++argv;
+    } else
+       *coord = gedp->ged_gvp->gv_coord;
+
+    if (argc != 2 && argc != 4) {
+       bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+       return GED_ERROR;
+    }
+
+    if (argc == 2) {
+       if (bn_decode_vect(tvec, argv[1]) != 3) {
+           bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+           return GED_ERROR;
+       }
+    } else {
+       double scan[3];
+
+       if (sscanf(argv[1], "%lf", &scan[X]) != 1) {
+           bu_vls_printf(gedp->ged_result_str, "%s: bad X value %s\n", 
argv[0], argv[1]);
+           return GED_ERROR;
+       }
+
+       if (sscanf(argv[2], "%lf", &scan[Y]) != 1) {
+           bu_vls_printf(gedp->ged_result_str, "%s: bad Y value %s\n", 
argv[0], argv[2]);
+           return GED_ERROR;
+       }
+
+       if (sscanf(argv[3], "%lf", &scan[Z]) != 1) {
+           bu_vls_printf(gedp->ged_result_str, "%s: bad Z value %s\n", 
argv[0], argv[3]);
+           return GED_ERROR;
+       }
+
+       /* convert from double to fastf_t */
+       VMOVE(tvec, scan);
+    }
+
+    return GED_OK;
+}
+
+int
+ged_scale_args(struct ged *gedp, int argc, const char *argv[], fastf_t *sf1, 
fastf_t *sf2, fastf_t *sf3)
+{
+    static const char *usage = "sf (or) sfx sfy sfz";
+    int ret = GED_OK, args_read;
+    double scan;
+
+    GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
+    GED_CHECK_VIEW(gedp, GED_ERROR);
+    GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
+
+    /* initialize result */
+    bu_vls_trunc(gedp->ged_result_str, 0);
+
+    /* must be wanting help */
+    if (argc == 1) {
+       bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+       return GED_HELP;
+    }
+
+    if (argc != 2 && argc != 4) {
+       bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
+       return GED_ERROR;
+    }
+
+    if (argc == 2) {
+       if (!sf1 || sscanf(argv[1], "%lf", &scan) != 1) {
+           bu_vls_printf(gedp->ged_result_str, "\nbad scale factor '%s'", 
argv[1]);
+           return GED_ERROR;
+       }
+       *sf1 = scan;
+    } else {
+       args_read = sscanf(argv[1], "%lf", &scan);
+       if (!sf1 || args_read != 1) {
+           bu_vls_printf(gedp->ged_result_str, "\nbad x scale factor '%s'", 
argv[1]);
+           ret = GED_ERROR;
+       }
+       *sf1 = scan;
+
+       args_read = sscanf(argv[2], "%lf", &scan);
+       if (!sf2 || args_read != 1) {
+           bu_vls_printf(gedp->ged_result_str, "\nbad y scale factor '%s'", 
argv[2]);
+           ret = GED_ERROR;
+       }
+       *sf2 = scan;
+
+       args_read = sscanf(argv[3], "%lf", &scan);
+       if (!sf3 || args_read != 1) {
+           bu_vls_printf(gedp->ged_result_str, "\nbad z scale factor '%s'", 
argv[3]);
+           ret = GED_ERROR;
+       }
+       *sf3 = scan;
+    }
+    return ret;
+}
+
+size_t
+ged_who_argc(struct ged *gedp)
+{
+    struct display_list *gdlp = NULL;
+    size_t visibleCount = 0;
+
+    if (!gedp || !gedp->ged_gdp || !gedp->ged_gdp->gd_headDisplay)
+       return 0;
+
+    for (BU_LIST_FOR(gdlp, display_list, gedp->ged_gdp->gd_headDisplay)) {
+       visibleCount++;
+    }
+
+    return visibleCount;
+}
+
+
+/**
+ * Build a command line vector of the tops of all objects in view.
+ *
+ * Returns the number of items displayed.
+ *
+ * FIXME: crazy inefficient for massive object lists.  needs to work
+ * with preallocated memory.
+ */
+int
+ged_who_argv(struct ged *gedp, char **start, const char **end)
+{
+    struct display_list *gdlp;
+    char **vp = start;
+
+    if (!gedp || !gedp->ged_gdp || !gedp->ged_gdp->gd_headDisplay)
+       return 0;
+
+    if (UNLIKELY(!start || !end)) {
+       bu_vls_printf(gedp->ged_result_str, "INTERNAL ERROR: ged_who_argv() 
called with NULL args\n");
+       return 0;
+    }
+
+    for (BU_LIST_FOR(gdlp, display_list, gedp->ged_gdp->gd_headDisplay)) {
+       if (((struct directory *)gdlp->dl_dp)->d_addr == RT_DIR_PHONY_ADDR)
+           continue;
+
+       if ((vp != NULL) && ((const char **)vp < end)) {
+           *vp++ = bu_strdup(bu_vls_addr(&gdlp->dl_path));
+       } else {
+           bu_vls_printf(gedp->ged_result_str, "INTERNAL ERROR: ged_who_argv() 
ran out of space at %s\n", ((struct directory *)gdlp->dl_dp)->d_namep);
+           break;
+       }
+    }
+
+    if ((vp != NULL) && ((const char **)vp < end)) {
+       *vp = (char *) 0;
+    }
+
+    return vp-start;
+}
+
+
 /*
  * Local Variables:
  * mode: C

Modified: brlcad/branches/gedplugins/src/libged/get/get.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/get/get.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/get/get.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_get(struct ged *gedp, int argc, const char *argv[])
+ged_get_core(struct ged *gedp, int argc, const char *argv[])
 {
     int status;
     struct rt_db_internal intern;
@@ -81,7 +81,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl get_cmd_impl = {
     "get",
-    ged_get,
+    ged_get_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/get_autoview/get_autoview.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/get_autoview/get_autoview.c   
2020-07-21 19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/get_autoview/get_autoview.c   
2020-07-21 22:57:45 UTC (rev 76400)
@@ -38,7 +38,7 @@
  *
  */
 int
-ged_get_autoview(struct ged *gedp, int argc, const char *argv[])
+ged_get_core_autoview(struct ged *gedp, int argc, const char *argv[])
 {
     int is_empty = 1;
     vect_t min, max;
@@ -105,7 +105,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl get_autoview_cmd_impl = {
     "get_autoview",
-    ged_get_autoview,
+    ged_get_core_autoview,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/get_comb/get_comb.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/get_comb/get_comb.c   2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/get_comb/get_comb.c   2020-07-21 
22:57:45 UTC (rev 76400)
@@ -58,7 +58,7 @@
 
 
 int
-ged_get_comb(struct ged *gedp, int argc, const char *argv[])
+ged_get_comb_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *dp;
     struct rt_db_internal intern;
@@ -193,7 +193,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl get_comb_cmd_impl = {
     "get_comb",
-    ged_get_comb,
+    ged_get_comb_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/get_eyemodel/get_eyemodel.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/get_eyemodel/get_eyemodel.c   
2020-07-21 19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/get_eyemodel/get_eyemodel.c   
2020-07-21 22:57:45 UTC (rev 76400)
@@ -37,7 +37,7 @@
  *
  */
 int
-ged_get_eyemodel(struct ged *gedp, int argc, const char *argv[])
+ged_get_eyemodel_core(struct ged *gedp, int argc, const char *argv[])
 {
     quat_t quat;
     vect_t eye_model;
@@ -72,7 +72,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl get_eyemodel_cmd_impl = {
     "get_eyemodel",
-    ged_get_eyemodel,
+    ged_get_eyemodel_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/get_type/get_type.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/get_type/get_type.c   2020-07-21 
19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/get_type/get_type.c   2020-07-21 
22:57:45 UTC (rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_get_type(struct ged *gedp, int argc, const char *argv[])
+ged_get_type_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct rt_db_internal intern;
     int type;
@@ -214,7 +214,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl get_type_cmd_impl = {
     "get_type",
-    ged_get_type,
+    ged_get_type_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/glob/glob.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/glob/glob.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/glob/glob.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -199,7 +199,7 @@
 }
 
 int
-ged_glob(struct ged *gedp, int argc, const char *argv[])
+ged_glob_core(struct ged *gedp, int argc, const char *argv[])
 {
     static const char *usage = "expression";
     int flags = 0;
@@ -242,8 +242,8 @@
 #ifdef GED_PLUGIN
 #include "../include/plugin.h"
 struct ged_cmd_impl glob_cmd_impl = {
-    "glob",
-    ged_glob,
+    "db_glob",
+    ged_glob_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/gqa/gqa.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/gqa/gqa.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/gqa/gqa.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -2243,7 +2243,7 @@
 
 
 int
-ged_gqa(struct ged *gedp, int argc, const char *argv[])
+ged_gqa_core(struct ged *gedp, int argc, const char *argv[])
 {
     int arg_count;
     struct rt_i *rtip;
@@ -2549,7 +2549,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl gqa_cmd_impl = {
     "gqa",
-    ged_gqa,
+    ged_gqa_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/grid/grid.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/grid/grid.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/grid/grid.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -34,62 +34,6 @@
 #include "../ged_private.h"
 
 
-int
-ged_snap_to_grid(struct ged *gedp, fastf_t *vx, fastf_t *vy)
-{
-    int nh, nv;                /* whole grid units */
-    point_t view_pt;
-    point_t view_grid_anchor;
-    fastf_t grid_units_h;              /* eventually holds only fractional 
horizontal grid units */
-    fastf_t grid_units_v;              /* eventually holds only fractional 
vertical grid units */
-    fastf_t sf;
-    fastf_t inv_sf;
-
-    if (gedp->ged_gvp == GED_VIEW_NULL)
-       return 0;
-
-    if (ZERO(gedp->ged_gvp->gv_grid.res_h) ||
-       ZERO(gedp->ged_gvp->gv_grid.res_v))
-       return 0;
-
-    sf = gedp->ged_gvp->gv_scale*gedp->ged_wdbp->dbip->dbi_base2local;
-    inv_sf = 1 / sf;
-
-    VSET(view_pt, *vx, *vy, 0.0);
-    VSCALE(view_pt, view_pt, sf);  /* view_pt now in local units */
-
-    MAT4X3PNT(view_grid_anchor, gedp->ged_gvp->gv_model2view, 
gedp->ged_gvp->gv_grid.anchor);
-    VSCALE(view_grid_anchor, view_grid_anchor, sf);  /* view_grid_anchor now 
in local units */
-
-    grid_units_h = (view_grid_anchor[X] - view_pt[X]) / 
(gedp->ged_gvp->gv_grid.res_h * gedp->ged_wdbp->dbip->dbi_base2local);
-    grid_units_v = (view_grid_anchor[Y] - view_pt[Y]) / 
(gedp->ged_gvp->gv_grid.res_v * gedp->ged_wdbp->dbip->dbi_base2local);
-    nh = grid_units_h;
-    nv = grid_units_v;
-
-    grid_units_h -= nh;                /* now contains only the fraction part 
*/
-    grid_units_v -= nv;                /* now contains only the fraction part 
*/
-
-    if (grid_units_h <= -0.5)
-       *vx = view_grid_anchor[X] - ((nh - 1) * gedp->ged_gvp->gv_grid.res_h * 
gedp->ged_wdbp->dbip->dbi_base2local);
-    else if (0.5 <= grid_units_h)
-       *vx = view_grid_anchor[X] - ((nh + 1) * gedp->ged_gvp->gv_grid.res_h * 
gedp->ged_wdbp->dbip->dbi_base2local);
-    else
-       *vx = view_grid_anchor[X] - (nh * gedp->ged_gvp->gv_grid.res_h * 
gedp->ged_wdbp->dbip->dbi_base2local);
-
-    if (grid_units_v <= -0.5)
-       *vy = view_grid_anchor[Y] - ((nv - 1) * gedp->ged_gvp->gv_grid.res_v * 
gedp->ged_wdbp->dbip->dbi_base2local);
-    else if (0.5 <= grid_units_v)
-       *vy = view_grid_anchor[Y] - ((nv + 1) * gedp->ged_gvp->gv_grid.res_v * 
gedp->ged_wdbp->dbip->dbi_base2local);
-    else
-       *vy = view_grid_anchor[Y] - (nv * gedp->ged_gvp->gv_grid.res_v * 
gedp->ged_wdbp->dbip->dbi_base2local);
-
-    *vx *= inv_sf;
-    *vy *= inv_sf;
-
-    return 1;
-}
-
-
 HIDDEN void
 grid_vsnap(struct ged *gedp)
 {
@@ -147,7 +91,7 @@
  * that multiple attributes can be set with a single command call.
  */
 int
-ged_grid(struct ged *gedp, int argc, const char *argv[])
+ged_grid_core(struct ged *gedp, int argc, const char *argv[])
 {
     char *command;
     char *parameter;
@@ -356,7 +300,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl grid_cmd_impl = {
     "grid",
-    ged_grid,
+    ged_grid_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/grid2model_lu/grid2model_lu.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/grid2model_lu/grid2model_lu.c 
2020-07-21 19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/grid2model_lu/grid2model_lu.c 
2020-07-21 22:57:45 UTC (rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_grid2model_lu(struct ged *gedp, int argc, const char *argv[])
+ged_grid2model_lu_core(struct ged *gedp, int argc, const char *argv[])
 {
     fastf_t f;
     point_t view_pt;
@@ -78,7 +78,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl grid2model_lu_cmd_impl = {
     "grid2model_lu",
-    ged_grid2model_lu,
+    ged_grid2model_lu_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/grid2view_lu/grid2view_lu.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/grid2view_lu/grid2view_lu.c   
2020-07-21 19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/grid2view_lu/grid2view_lu.c   
2020-07-21 22:57:45 UTC (rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_grid2view_lu(struct ged *gedp, int argc, const char *argv[])
+ged_grid2view_lu_core(struct ged *gedp, int argc, const char *argv[])
 {
     fastf_t f;
     point_t view_pt;
@@ -75,7 +75,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl grid2view_lu_cmd_impl = {
     "grid2view_lu",
-    ged_grid2view_lu,
+    ged_grid2view_lu_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/group/group.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/group/group.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/group/group.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -34,7 +34,7 @@
 
 
 int
-ged_group(struct ged *gedp, int argc, const char *argv[])
+ged_group_core(struct ged *gedp, int argc, const char *argv[])
 {
     static const char *usage = "gname object(s)";
 
@@ -64,7 +64,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl group_cmd_impl = {
     "group",
-    ged_group,
+    ged_group_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/heal/heal.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/heal/heal.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/heal/heal.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -37,7 +37,7 @@
 
 
 int
-ged_heal(struct ged *gedp, int argc, const char *argv[])
+ged_heal_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *bot_dp;
     struct rt_db_internal intern;
@@ -84,7 +84,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl heal_cmd_impl = {
     "heal",
-    ged_heal,
+    ged_heal_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/hide/hide.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/hide/hide.c   2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/hide/hide.c   2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -33,7 +33,7 @@
 
 
 int
-ged_hide(struct ged *gedp, int argc, const char *argv[])
+ged_hide_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct directory *dp;
     struct db_i *dbip;
@@ -112,7 +112,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl hide_cmd_impl = {
     "hide",
-    ged_hide,
+    ged_hide_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/how/how.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/how/how.c     2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/how/how.c     2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -42,7 +42,7 @@
  *
  */
 int
-ged_how(struct ged *gedp, int argc, const char *argv[])
+ged_how_core(struct ged *gedp, int argc, const char *argv[])
 {
     int good;
     struct directory **dpp;
@@ -86,7 +86,7 @@
 
 good_label:
     if (dpp != (struct directory **)NULL)
-       bu_free((void *)dpp, "ged_how: directory pointers");
+       bu_free((void *)dpp, "ged_how_core: directory pointers");
 
     return GED_OK;
 }
@@ -171,7 +171,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl how_cmd_impl = {
     "how",
-    ged_how,
+    ged_how_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/human/human.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/human/human.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/human/human.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -2176,12 +2176,12 @@
 
 
 /**
- * ged_human is the function which is called from an outside function
+ * ged_human_core is the function which is called from an outside function
  * in the /shapes directory. It's essentially a main function without
  * main.
  */
 int
-ged_human(struct ged *gedp, int ac, const char *av[])
+ged_human_core(struct ged *gedp, int ac, const char *av[])
 {
     struct wmember human;
     struct wmember boxes;
@@ -2495,7 +2495,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl human_cmd_impl = {
     "human",
-    ged_human,
+    ged_human_core,
     GED_CMD_DEFAULT
 };
 

Modified: brlcad/branches/gedplugins/src/libged/illum/illum.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/illum/illum.c 2020-07-21 19:59:43 UTC 
(rev 76399)
+++ brlcad/branches/gedplugins/src/libged/illum/illum.c 2020-07-21 22:57:45 UTC 
(rev 76400)
@@ -38,7 +38,7 @@
  *
  */
 int
-ged_illum(struct ged *gedp, int argc, const char *argv[])
+ged_illum_core(struct ged *gedp, int argc, const char *argv[])
 {
     struct display_list *gdlp;
     struct display_list *next_gdlp;
@@ -99,7 +99,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl illum_cmd_impl = {
     "illum",
-    ged_illum,
+    ged_illum_core,
     GED_CMD_DEFAULT
 };
 

Modified: 
brlcad/branches/gedplugins/src/libged/importFg4Section/importFg4Section.c
===================================================================
--- brlcad/branches/gedplugins/src/libged/importFg4Section/importFg4Section.c   
2020-07-21 19:59:43 UTC (rev 76399)
+++ brlcad/branches/gedplugins/src/libged/importFg4Section/importFg4Section.c   
2020-07-21 22:57:45 UTC (rev 76400)
@@ -35,7 +35,7 @@
 extern int wdb_importFg4Section_cmd(void *data, int argc, const char *argv[]);
 
 int
-ged_importFg4Section(struct ged *gedp, int argc, const char *argv[])
+ged_importFg4Section_core(struct ged *gedp, int argc, const char *argv[])
 {
     static const char *usage = "obj section";
 
@@ -65,7 +65,7 @@
 #include "../include/plugin.h"
 struct ged_cmd_impl importFg4Section_cmd_impl = {
     "importFg4Section",
-    ged_importFg4Section,
+    ged_importFg4Section_core,
     GED_CMD_DEFAULT
 };
 

Deleted: 
brlcad/branches/gedplugins/src/libged/importFg4Section/wdb_importFg4Section.c
===================================================================
--- 
brlcad/branches/gedplugins/src/libged/importFg4Section/wdb_importFg4Section.c   
    2020-07-21 19:59:43 UTC (rev 76399)
+++ 
brlcad/branches/gedplugins/src/libged/importFg4Section/wdb_importFg4Section.c   
    2020-07-21 22:57:45 UTC (rev 76400)
@@ -1,554 +0,0 @@
-/*              I M P O R T F G 4 S E C T I O N . C
- * BRL-CAD
- *
- * Copyright (c) 1994-2020 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this file; see the file named COPYING for more
- * information.
- */
-/** @addtogroup librt */
-/** @{ */
-/** @file libged/importFg4Section.c
- *
- * Some of this code was taken from conv/fast4-g.c and libwdb/bot.c
- * and modified to behave as a method of the BRL-CAD database object
- * that imports a Fastgen4 section from a string. This section can
- * only contain GRIDs, CTRIs and CQUADs.
- *
- */
-
-#include "common.h"
-
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-
-#include "bu/debug.h"
-#include "bu/str.h"
-#include "rt/db4.h"
-#include "vmath.h"
-#include "nmg.h"
-#include "rt/geom.h"
-#include "raytrace.h"
-#include "ged.h"
-#include "wdb.h"
-#include "bn/plot3.h"
-
-
-static int grid_size;          /* Number of points that will fit in current 
grid_pts array */
-static int max_grid_no=0;      /* Maximum grid number used */
-static int mode=0;             /* Plate mode (1) or volume mode (2), of 
current component */
-static int group_id=(-1);      /* Group identification number from SECTION 
card */
-static int comp_id=(-1);       /* Component identification number from SECTION 
card */
-static int region_id=0;                /* Region id number (group id no X 1000 
+ component id no) */
-static char field[9];          /* Space for storing one field from an input 
line */
-static int bot=0;              /* Flag: >0 -> There are BOT's in current 
component */
-static int debug=0;            /* Debug flag */
-
-static int *FACES=NULL;                /* one triplet per face indexing three 
grid points */
-static fastf_t *THICKNESS;     /* thickness of each face */
-static char *facemode;         /* mode for each face */
-static int face_size=0;                /* actual length of above arrays */
-static int face_count=0;       /* number of faces in above arrays */
-
-#define PLATE_MODE 1
-#define VOLUME_MODE 2
-
-#define POS_CENTER 1   /* face positions for facets */
-#define POS_FRONT 2
-
-#define END_OPEN 1     /* End closure codes for cones */
-#define END_CLOSED 2
-
-#define GRID_BLOCK 256 /* allocate space for grid points in blocks of 256 
points */
-
-#define CLINE 'l'
-#define CHEX1 'p'
-#define CHEX2 'b'
-#define CTRI 't'
-#define CQUAD 'q'
-#define CCONE1 'c'
-#define CCONE2 'd'
-#define CCONE3 'e'
-#define CSPHERE 's'
-#define NMG 'n'
-#define BOT 't'
-#define COMPSPLT 'h'
-
-static point_t *grid_pts;
-
-
-/*************************** code from libwdb/bot.c 
***************************/
-
-static int
-rt_mk_bot_w_normals(
-    struct rt_wdb *fp,
-    const char *name,
-    unsigned char botmode,
-    unsigned char orientation,
-    unsigned char flags,
-    int num_vertices,
-    int num_faces,
-    fastf_t *vertices, /* array of floats for vertices [num_vertices*3] */
-    int *faces,                /* array of ints for faces [num_faces*3] */
-    fastf_t *thickness,        /* array of plate mode thicknesses (corresponds 
to array of faces)
-                        * NULL for modes RT_BOT_SURFACE and RT_BOT_SOLID.
-                        */
-    struct bu_bitv *face_mode, /* a flag for each face indicating thickness is 
appended to hit point,
-                                * otherwise thickness is centered about hit 
point
-                                */
-    int num_normals,   /* number of unit normals in normals array */
-    fastf_t *normals,  /* array of floats for normals [num_normals*3] */
-    int *face_normals) /* array of ints (indices into normals array), must 
have 3*num_faces entries */
-{
-    struct rt_bot_internal *botip;
-    int i;
-
-    if ((num_normals > 0) && (db_version(fp->dbip) < 5)) {
-       bu_log("You are using an old database format which does not support 
surface normals for BOT primitives\n");
-       bu_log("You are attempting to create a BOT primitive named \"%s\" with 
surface normals\n" , name);
-       bu_log("The surface normals will not be saved\n");
-       bu_log("Please upgrade to the current database format by using 
\"dbupgrade\"\n");
-    }
-
-    BU_ALLOC(botip, struct rt_bot_internal);
-    botip->magic = RT_BOT_INTERNAL_MAGIC;
-    botip->mode = botmode;
-    botip->orientation = orientation;
-    botip->bot_flags = flags;
-    botip->num_vertices = num_vertices;
-    botip->num_faces = num_faces;
-    botip->vertices = (fastf_t *)bu_calloc(num_vertices * 3, sizeof(fastf_t), 
"botip->vertices");
-    for (i = 0; i < num_vertices*3; i++)
-       botip->vertices[i] = vertices[i];
-    botip->faces = (int *)bu_calloc(num_faces * 3, sizeof(int), 
"botip->faces");
-    for (i = 0; i < num_faces * 3; i++)
-       botip->faces[i] = faces[i];
-    if (botmode == RT_BOT_PLATE) {
-       botip->thickness = (fastf_t *)bu_calloc(num_faces, sizeof(fastf_t), 
"botip->thickness");
-       for (i = 0; i < num_faces; i++)
-           botip->thickness[i] = thickness[i];
-       botip->face_mode = bu_bitv_dup(face_mode);
-    } else {
-       botip->thickness = (fastf_t *)NULL;
-       botip->face_mode = (struct bu_bitv *)NULL;
-    }
-
-    if ((num_normals > 0) && (db_version(fp->dbip) > 4)) {
-       botip->num_normals = num_normals;
-       botip->num_face_normals = botip->num_faces;
-       botip->normals = (fastf_t *)bu_calloc(botip->num_normals * 3, 
sizeof(fastf_t), "BOT normals");
-       botip->face_normals = (int *)bu_calloc(botip->num_faces * 3, 
sizeof(int), "BOT face normals");
-       memcpy(botip->normals, normals, botip->num_normals * 3 * 
sizeof(fastf_t));
-       memcpy(botip->face_normals, face_normals, botip->num_faces * 3 * 
sizeof(int));
-    } else {
-       botip->bot_flags = 0;
-       botip->num_normals = 0;
-       botip->num_face_normals = 0;
-       botip->normals = (fastf_t *)NULL;
-       botip->face_normals = (int *)NULL;
-    }
-
-    return wdb_export(fp, name, (void *)botip, ID_BOT, 1.0);
-}
-
-
-static int
-rt_mk_bot(
-    struct rt_wdb *fp,
-    const char *name,
-    unsigned char botmode,
-    unsigned char orientation,
-    unsigned char flags,
-    int num_vertices,
-    int num_faces,
-    fastf_t *vertices, /* array of floats for vertices [num_vertices*3] */
-    int *faces,                /* array of ints for faces [num_faces*3] */
-    fastf_t *thickness,        /* array of plate mode thicknesses (corresponds 
to array of faces)
-                        * NULL for modes RT_BOT_SURFACE and RT_BOT_SOLID.
-                        */
-    struct bu_bitv *face_mode) /* a flag for each face indicating thickness is 
appended to hit point,
-                                * otherwise thickness is centered about hit 
point
-                                */
-{
-    return (rt_mk_bot_w_normals(fp, name, botmode, orientation, flags, 
num_vertices, num_faces, vertices,
-                              faces, thickness, face_mode, 0, NULL, NULL));
-}
-
-
-/*************************** code from conv/fast4-g.c 
***************************/
-
-void
-do_grid(char *line)
-{
-    int grid_no;
-    fastf_t x, y, z;
-
-    bu_strlcpy(field,  &line[8], sizeof(field));
-    grid_no = atoi(field);
-
-    if (grid_no < 1) {
-       bu_log("ERROR: grid id number = %d\n", grid_no);
-       bu_bomb("BAD GRID ID NUMBER\n");
-    }
-
-    bu_strlcpy(field,  &line[24], sizeof(field));
-    x = atof(field);
-
-    bu_strlcpy(field,  &line[32], sizeof(field));
-    y = atof(field);
-
-    bu_strlcpy(field,  &line[40], sizeof(field));
-    z = atof(field);
-
-    while (grid_no > grid_size - 1) {
-       grid_size += GRID_BLOCK;
-       grid_pts = (point_t *)bu_realloc((char *)grid_pts, grid_size * 
sizeof(point_t), "fast4-g: grid_pts");
-    }
-
-    VSET(grid_pts[grid_no], x*25.4, y*25.4, z*25.4);
-
-    if (grid_no > max_grid_no)
-       max_grid_no = grid_no;
-}
-
-
-void
-Add_bot_face(int pt1, int pt2, int pt3, fastf_t thick, int pos)
-{
-
-    if (pt1 == pt2 || pt2 == pt3 || pt1 == pt3) {
-       bu_log("Add_bot_face: ignoring degenerate triangle in group %d 
component %d\n", group_id, comp_id);
-       return;
-    }
-
-    if (pos == 0)      /* use default */
-       pos = POS_FRONT;
-
-    if (mode == PLATE_MODE) {
-       if (pos != POS_CENTER && pos != POS_FRONT) {
-           bu_log("Add_bot_face: illegal position parameter (%d), must be one 
or two (ignoring face for group %d component %d)\n", pos, group_id, comp_id);
-           return;
-       }
-    }
-
-    if (face_count >= face_size) {
-       face_size += GRID_BLOCK;
-       FACES = (int *)bu_realloc((void *)FACES,  face_size*3*sizeof(int), 
"faces");
-       THICKNESS = (fastf_t *)bu_realloc((void *)THICKNESS, 
face_size*sizeof(fastf_t), "thickness");
-       facemode = (char *)bu_realloc((void *)facemode, face_size*sizeof(char), 
"facemode");
-    }
-
-    FACES[face_count*3] = pt1;
-    FACES[face_count*3+1] = pt2;
-    FACES[face_count*3+2] = pt3;
-
-    if (mode == PLATE_MODE) {
-       THICKNESS[face_count] = thick;
-       facemode[face_count] = pos;
-    } else {
-       THICKNESS[face_count] = 0;
-       facemode[face_count] = 0;
-    }
-
-    face_count++;
-}
-
-
-void
-do_tri(char *line)
-{
-    int element_id;
-    int pt1, pt2, pt3;
-    fastf_t thick;
-    int pos;
-
-    if (debug)
-       bu_log("do_tri: %s\n", line);
-
-    bu_strlcpy(field,  &line[8], sizeof(field));
-    element_id = atoi(field);
-
-    if (!bot)
-       bot = element_id;
-
-    if (FACES == NULL) {
-       FACES = (int *)bu_malloc(GRID_BLOCK*3*sizeof(int), "faces");
-       THICKNESS = (fastf_t *)bu_malloc(GRID_BLOCK*sizeof(fastf_t), 
"thickness");
-       facemode = (char *)bu_malloc(GRID_BLOCK*sizeof(char), "facemode");
-       face_size = GRID_BLOCK;
-       face_count = 0;
-    }
-
-    bu_strlcpy(field,  &line[24], sizeof(field));
-    pt1 = atoi(field);
-
-    bu_strlcpy(field,  &line[32], sizeof(field));
-    pt2 = atoi(field);
-
-    bu_strlcpy(field,  &line[40], sizeof(field));
-    pt3 = atoi(field);
-
-    thick = 0.0;
-    pos = 0;
-
-    if (mode == PLATE_MODE) {
-       bu_strlcpy(field,  &line[56], sizeof(field));
-       thick = atof(field) * 25.4;
-
-       bu_strlcpy(field,  &line[64], sizeof(field));
-       pos = atoi(field);
-       if (pos == 0)
-           pos = POS_FRONT;
-
-       if (debug)
-           bu_log("\tplate mode: thickness = %f\n", thick);
-
-    }
-
-    Add_bot_face(pt1, pt2, pt3, thick, pos);
-}
-
-
-void
-do_quad(const char *line)
-{
-    int element_id;
-    int pt1, pt2, pt3, pt4;
-    fastf_t thick = 0.0;
-    int pos = 0;
-
-    bu_strlcpy(field,  &line[8], sizeof(field));
-    element_id = atoi(field);
-
-    if (debug)
-       bu_log("do_quad: %s\n", line);
-
-    if (!bot)
-       bot = element_id;
-
-    if (FACES == NULL) {
-       FACES = (int *)bu_malloc(GRID_BLOCK*3*sizeof(int), "faces");
-       THICKNESS = (fastf_t *)bu_malloc(GRID_BLOCK*sizeof(fastf_t), 
"thickness");
-       facemode = (char *)bu_malloc(GRID_BLOCK*sizeof(char), "facemode");
-       face_size = GRID_BLOCK;
-       face_count = 0;
-    }
-
-    bu_strlcpy(field,  &line[24], sizeof(field));
-    pt1 = atoi(field);
-
-    bu_strlcpy(field,  &line[32], sizeof(field));
-    pt2 = atoi(field);
-
-    bu_strlcpy(field,  &line[40], sizeof(field));
-    pt3 = atoi(field);
-
-    bu_strlcpy(field,  &line[48], sizeof(field));
-    pt4 = atoi(field);
-
-    if (mode == PLATE_MODE) {
-       bu_strlcpy(field,  &line[56], sizeof(field));
-       thick = atof(field) * 25.4;
-

@@ Diff output truncated at 100000 characters. @@
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