Revision: 76349
          http://sourceforge.net/p/brlcad/code/76349
Author:   starseeker
Date:     2020-07-15 20:17:40 +0000 (Wed, 15 Jul 2020)
Log Message:
-----------
Separate out the commands that have a libged function from those that do not.

Modified Paths:
--------------
    brlcad/trunk/src/libtclcad/tclcad_obj.c

Modified: brlcad/trunk/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-07-15 11:09:35 UTC (rev 
76348)
+++ brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-07-15 20:17:40 UTC (rev 
76349)
@@ -548,8 +548,7 @@
     ged_func_ptr to_func;
 };
 
-
-static struct to_cmdtab to_cmds[] = {
+static struct to_cmdtab ged_cmds[] = {
     {"3ptarb", (char *)0, TO_UNLIMITED, to_more_args_func, ged_3ptarb},
     {"adc",    "args", 7, to_view_func, ged_adc},
     {"adjust", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_adjust},
@@ -562,12 +561,8 @@
     {"arced",  (char *)0, TO_UNLIMITED, to_pass_through_func, ged_arced},
     {"arot",   "x y z angle", 6, to_view_func_plus, ged_arot},
     {"attr",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_attr},
-    {"autoview",       "vname", TO_UNLIMITED, to_autoview, GED_FUNC_PTR_NULL},
     {"bb",     (char *)0, TO_UNLIMITED, to_pass_through_func, ged_bb},
     {"bev",    (char *)0, TO_UNLIMITED, to_pass_through_func, ged_bev},
-    {"base2local",     (char *)0, TO_UNLIMITED, to_base2local, 
GED_FUNC_PTR_NULL},
-    {"bg",     "[r g b]", TO_UNLIMITED, to_bg, GED_FUNC_PTR_NULL},
-    {"blast",  (char *)0, TO_UNLIMITED, to_blast, GED_FUNC_PTR_NULL},
     {"bo",     (char *)0, TO_UNLIMITED, to_pass_through_func, ged_bo},
     {"bot",    (char *)0, TO_UNLIMITED, to_pass_through_func, ged_bot},
     {"bot_condense",   (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_bot_condense},
@@ -575,8 +570,6 @@
     {"bot_dump",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_bot_dump},
     {"bot_face_fuse",  (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_bot_face_fuse},
     {"bot_face_sort",  (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_bot_face_sort},
-    {"bot_edge_split", "bot face", TO_UNLIMITED, to_bot_edge_split, 
GED_FUNC_PTR_NULL},
-    {"bot_face_split", "bot face", TO_UNLIMITED, to_bot_face_split, 
GED_FUNC_PTR_NULL},
     {"bot_flip",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_bot_flip},
     {"bot_fuse",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_bot_fuse},
     {"bot_merge",      (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_bot_merge},
@@ -584,7 +577,6 @@
     {"bot_split",      (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_bot_split},
     {"bot_sync",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_bot_sync},
     {"bot_vertex_fuse",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_bot_vertex_fuse},
-    {"bounds", "[\"minX maxX minY maxY minZ maxZ\"]", TO_UNLIMITED, to_bounds, 
GED_FUNC_PTR_NULL},
     {"brep",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_brep},
     {"c",      (char *)0, TO_UNLIMITED, to_pass_through_func, ged_comb_std},
     {"cat",    (char *)0, TO_UNLIMITED, to_pass_through_func, ged_cat},
@@ -597,26 +589,11 @@
     {"comb",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_comb},
     {"comb_color",     (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_comb_color},
     {"combmem",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_combmem},
-    {"configure",      "vname", TO_UNLIMITED, to_configure, GED_FUNC_PTR_NULL},
-    {"constrain_rmode",        "x|y|z x y", TO_UNLIMITED, to_constrain_rmode, 
GED_FUNC_PTR_NULL},
-    {"constrain_tmode",        "x|y|z x y", TO_UNLIMITED, to_constrain_tmode, 
GED_FUNC_PTR_NULL},
     {"constraint", (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_constraint},
     {"copyeval",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_copyeval},
     {"copymat",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_copymat},
-    {"cp",     "[-f] from to", TO_UNLIMITED, to_copy, GED_FUNC_PTR_NULL},
     {"cpi",    (char *)0, TO_UNLIMITED, to_pass_through_func, ged_cpi},
     {"d",      (char *)0, TO_UNLIMITED, to_pass_through_and_refresh_func, 
ged_erase},
-    {"data_arrows",    "???", TO_UNLIMITED, to_data_arrows, GED_FUNC_PTR_NULL},
-    {"data_axes",      "???", TO_UNLIMITED, to_data_axes, GED_FUNC_PTR_NULL},
-    {"data_labels",    "???", TO_UNLIMITED, to_data_labels, GED_FUNC_PTR_NULL},
-    {"data_lines",     "???", TO_UNLIMITED, to_data_lines, GED_FUNC_PTR_NULL},
-    {"data_polygons",  "???", TO_UNLIMITED, to_data_polygons, 
GED_FUNC_PTR_NULL},
-    {"data_move",      "???", TO_UNLIMITED, to_data_move, GED_FUNC_PTR_NULL},
-    {"data_move_object_mode",  "x y", TO_UNLIMITED, to_data_move_object_mode, 
GED_FUNC_PTR_NULL},
-    {"data_move_point_mode",   "x y", TO_UNLIMITED, to_data_move_point_mode, 
GED_FUNC_PTR_NULL},
-    {"data_pick",      "???", TO_UNLIMITED, to_data_pick, GED_FUNC_PTR_NULL},
-    {"data_scale_mode",        "x y", TO_UNLIMITED, to_data_scale_mode, 
GED_FUNC_PTR_NULL},
-    {"data_vZ",        "[z]", TO_UNLIMITED, to_data_vZ, GED_FUNC_PTR_NULL},
     {"dbconcat",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_concat},
     {"dbfind", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_find},
     {"dbip",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_dbip},
@@ -630,9 +607,7 @@
     {"delay",  (char *)0, TO_UNLIMITED, to_pass_through_func, ged_delay},
     {"metaball_delete_pnt",    (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_metaball_delete_pnt},
     {"pipe_delete_pnt",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_pipe_delete_pnt},
-    {"delete_view",    "vname", TO_UNLIMITED, to_delete_view, 
GED_FUNC_PTR_NULL},
     {"dir2ae", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_dir2ae},
-    {"dlist_on",       "[0|1]", TO_UNLIMITED, to_dlist_on, GED_FUNC_PTR_NULL},
     {"draw",   (char *)0, TO_UNLIMITED, to_autoview_func, ged_draw},
     {"dump",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_dump},
     {"dup",    (char *)0, TO_UNLIMITED, to_pass_through_func, ged_dup},
@@ -654,7 +629,6 @@
     {"eye_pos",        "[x y z]", 5, to_view_func_plus, ged_eye_pos},
     {"eye_pt", "[x y z]", 5, to_view_func_plus, ged_eye},
     {"exists", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_exists},
-    {"faceplate",      "center_dot|prim_labels|view_params|view_scale 
color|draw [val(s)]", TO_UNLIMITED, to_faceplate, GED_FUNC_PTR_NULL},
     {"facetize",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_facetize},
     {"voxelize",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_voxelize},
     {"fb2pix",         "[-h -i -c] [-s squaresize] [-w width] [-n height] 
[file.pix]", TO_UNLIMITED, to_view_func, ged_fb2pix},
@@ -663,8 +637,6 @@
     {"find_bot_edge",  "bot vx vy", 5, to_view_func, 
ged_find_bot_edge_nearest_pnt},
     {"find_bot_pnt",   "bot vx vy", 5, to_view_func, 
ged_find_bot_pnt_nearest_pnt},
     {"find_pipe_pnt",  "pipe x y z", 6, to_view_func, 
ged_find_pipe_pnt_nearest_pnt},
-    {"fit_png_image",  "image_file_in req_width req_height scale 
image_file_out", 6, to_fit_png_image, GED_FUNC_PTR_NULL},
-    {"fontsize",       "[fontsize]", 3, to_fontsize, GED_FUNC_PTR_NULL},
     {"form",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_form},
     {"fracture",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_fracture},
     {"g",      (char *)0, TO_UNLIMITED, to_pass_through_func, ged_group},
@@ -674,7 +646,6 @@
     {"get_bot_edges",  (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_get_bot_edges},
     {"get_comb",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_get_comb},
     {"get_eyemodel",   "vname", 2, to_view_func, ged_get_eyemodel},
-    {"get_prev_mouse", "vname", TO_UNLIMITED, to_get_prev_mouse, 
GED_FUNC_PTR_NULL},
     {"get_type",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_get_type},
     {"glob",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_glob},
     {"gqa",    (char *)0, TO_UNLIMITED, to_pass_through_func, ged_gqa},
@@ -682,19 +653,15 @@
     {"grid",   "args", 6, to_view_func, ged_grid},
     {"grid2model_lu",  "x y", 4, to_view_func_less, ged_grid2model_lu},
     {"grid2view_lu",   "x y", 4, to_view_func_less, ged_grid2view_lu},
-    {"handle_expose",  "vname count", TO_UNLIMITED, to_handle_expose, 
GED_FUNC_PTR_NULL},
     {"heal",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_heal},
     {"hide",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_hide},
-    {"hide_view",      "vname [0|1]", 3, to_hide_view, GED_FUNC_PTR_NULL},
     {"how",    (char *)0, TO_UNLIMITED, to_pass_through_func, ged_how},
     {"human",  (char *)0, TO_UNLIMITED, to_pass_through_func, ged_human},
     {"i",      (char *)0, TO_UNLIMITED, to_pass_through_func, ged_instance},
     {"idents", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_tables},
-    {"idle_mode",      "vname", TO_UNLIMITED, to_idle_mode, GED_FUNC_PTR_NULL},
     {"illum",  (char *)0, TO_UNLIMITED, to_pass_through_and_refresh_func, 
ged_illum},
     {"importFg4Section",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_importFg4Section},
     {"in",     (char *)0, TO_UNLIMITED, to_more_args_func, ged_in},
-    {"init_view_bindings",     "vname", TO_UNLIMITED, to_init_view_bindings, 
GED_FUNC_PTR_NULL},
     {"inside", (char *)0, TO_UNLIMITED, to_more_args_func, ged_inside},
     {"isize",  "vname", 2, to_view_func, ged_isize},
     {"item",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_item},
@@ -708,12 +675,8 @@
     {"killtree",       (char *)0, TO_UNLIMITED, 
to_pass_through_and_refresh_func, ged_killtree},
     {"l",      (char *)0, TO_UNLIMITED, to_pass_through_func, ged_list},
     {"lc",      "[-d|-s|-r] [-z] [-0|-1|-2|-3|-4|-5] [-f {FileName}] 
{GroupName}", TO_UNLIMITED, to_pass_through_func, ged_lc},
-    {"light",  "[0|1]", TO_UNLIMITED, to_light, GED_FUNC_PTR_NULL},
-    {"list_views",     (char *)0, TO_UNLIMITED, to_list_views, 
GED_FUNC_PTR_NULL},
-    {"listen", "[port]", TO_UNLIMITED, to_listen, GED_FUNC_PTR_NULL},
     {"listeval",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_pathsum},
     {"loadview",       "filename", 3, to_view_func, ged_loadview},
-    {"local2base",     (char *)0, TO_UNLIMITED, to_local2base, 
GED_FUNC_PTR_NULL},
     {"lod",    (char *)0, TO_UNLIMITED, to_lod, ged_lod},
     {"log",    (char *)0, TO_UNLIMITED, to_pass_through_func, ged_log},
     {"lookat", "x y z", 5, to_view_func_plus, ged_lookat},
@@ -720,71 +683,25 @@
     {"ls",     (char *)0, TO_UNLIMITED, to_pass_through_func, ged_ls},
     {"lt",     (char *)0, TO_UNLIMITED, to_pass_through_func, ged_lt},
     {"m2v_point",      "x y z", 5, to_view_func, ged_m2v_point},
-    {"make",   (char *)0, TO_UNLIMITED, to_make, GED_FUNC_PTR_NULL},
     {"make_name",      (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_make_name},
     {"make_pnts",      (char *)0, TO_UNLIMITED, to_more_args_func, 
ged_make_pnts},
     {"mat4x3pnt",      (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_mat4x3pnt},
     {"match",  (char *)0, TO_UNLIMITED, to_pass_through_func, ged_match},
     {"mater",  (char *)0, TO_UNLIMITED, to_more_args_func, ged_mater},
-    {"mirror", (char *)0, TO_UNLIMITED, to_mirror, GED_FUNC_PTR_NULL},
     {"model2grid_lu",  "x y z", 5, to_view_func_less, ged_model2grid_lu},
     {"model2view",     "vname", 2, to_view_func, ged_model2view},
     {"model2view_lu",  "x y z", 5, to_view_func_less, ged_model2view_lu},
-    {"model_axes",     "???", TO_UNLIMITED, to_model_axes, GED_FUNC_PTR_NULL},
-    {"edit_motion_delta_callback",     "vname [args]", TO_UNLIMITED, 
to_edit_motion_delta_callback, GED_FUNC_PTR_NULL},
-    {"more_args_callback",     "set/get the \"more args\" callback", 
TO_UNLIMITED, to_more_args_callback, GED_FUNC_PTR_NULL},
     {"move_arb_edge",  (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_move_arb_edge},
-    {"move_arb_edge_mode",     "obj edge x y", TO_UNLIMITED, 
to_move_arb_edge_mode, GED_FUNC_PTR_NULL},
     {"move_arb_face",  (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_move_arb_face},
-    {"move_arb_face_mode",     "obj face x y", TO_UNLIMITED, 
to_move_arb_face_mode, GED_FUNC_PTR_NULL},
-    {"bot_move_pnt",   (char *)0, TO_UNLIMITED, to_bot_move_pnt, 
GED_FUNC_PTR_NULL},
-    {"bot_move_pnts",  (char *)0, TO_UNLIMITED, to_bot_move_pnts, 
GED_FUNC_PTR_NULL},
-    {"bot_move_pnt_mode",      "obj i mx my", TO_UNLIMITED, 
to_bot_move_pnt_mode, GED_FUNC_PTR_NULL},
-    {"bot_move_pnts_mode",     "mx my obj i1 [i2 ... iN]", TO_UNLIMITED, 
to_bot_move_pnts_mode, GED_FUNC_PTR_NULL},
     {"metaball_move_pnt",      (char *)0, TO_UNLIMITED, to_move_pnt_common, 
ged_metaball_move_pnt},
-    {"metaball_move_pnt_mode", "obj pt_i mx my", TO_UNLIMITED, 
to_metaball_move_pnt_mode, GED_FUNC_PTR_NULL},
     {"pipe_move_pnt",  (char *)0, TO_UNLIMITED, to_move_pnt_common, 
ged_pipe_move_pnt},
-    {"pipe_pnt_mode",  "obj seg_i mx my", TO_UNLIMITED, to_pipe_move_pnt_mode, 
GED_FUNC_PTR_NULL},
     {"mouse_add_metaball_pnt", "obj mx my", TO_UNLIMITED, 
to_mouse_append_pnt_common, ged_metaball_add_pnt},
     {"mouse_append_pipe_pnt",  "obj mx my", TO_UNLIMITED, 
to_mouse_append_pnt_common, ged_pipe_append_pnt},
-    {"mouse_brep_selection_append", "obj mx my", 5, 
to_mouse_brep_selection_append, GED_FUNC_PTR_NULL},
-    {"mouse_brep_selection_translate", "obj mx my", 5, 
to_mouse_brep_selection_translate, GED_FUNC_PTR_NULL},
-    {"mouse_constrain_rot",    "coord mx my", TO_UNLIMITED, 
to_mouse_constrain_rot, GED_FUNC_PTR_NULL},
-    {"mouse_constrain_trans",  "coord mx my", TO_UNLIMITED, 
to_mouse_constrain_trans, GED_FUNC_PTR_NULL},
-    {"mouse_data_scale",       "mx my", TO_UNLIMITED, to_mouse_data_scale, 
GED_FUNC_PTR_NULL},
-    {"mouse_find_arb_edge",    "obj mx my ptol", TO_UNLIMITED, 
to_mouse_find_arb_edge, GED_FUNC_PTR_NULL},
-    {"mouse_find_bot_edge",    "obj mx my", TO_UNLIMITED, 
to_mouse_find_bot_edge, GED_FUNC_PTR_NULL},
-    {"mouse_find_bot_pnt",     "obj mx my", TO_UNLIMITED, 
to_mouse_find_bot_pnt, GED_FUNC_PTR_NULL},
-    {"mouse_find_metaball_pnt",        "obj mx my", TO_UNLIMITED, 
to_mouse_find_metaball_pnt, GED_FUNC_PTR_NULL},
-    {"mouse_find_pipe_pnt",    "obj mx my", TO_UNLIMITED, 
to_mouse_find_pipe_pnt, GED_FUNC_PTR_NULL},
-    {"mouse_joint_select", "obj mx my", 5, to_mouse_joint_select, 
GED_FUNC_PTR_NULL},
-    {"mouse_joint_selection_translate", "obj mx my", 5, 
to_mouse_joint_selection_translate, GED_FUNC_PTR_NULL},
-    {"mouse_move_arb_edge",    "obj edge mx my", TO_UNLIMITED, 
to_mouse_move_arb_edge, GED_FUNC_PTR_NULL},
-    {"mouse_move_arb_face",    "obj face mx my", TO_UNLIMITED, 
to_mouse_move_arb_face, GED_FUNC_PTR_NULL},
-    {"mouse_move_bot_pnt",     "[-r] obj i mx my", TO_UNLIMITED, 
to_mouse_move_bot_pnt, GED_FUNC_PTR_NULL},
-    {"mouse_move_bot_pnts",    "mx my obj i1 [i2 ... iN]", TO_UNLIMITED, 
to_mouse_move_bot_pnts, GED_FUNC_PTR_NULL},
     {"mouse_move_metaball_pnt",        "obj i mx my", TO_UNLIMITED, 
to_mouse_move_pnt_common, ged_metaball_move_pnt},
     {"mouse_move_pipe_pnt",    "obj i mx my", TO_UNLIMITED, 
to_mouse_move_pnt_common, ged_pipe_move_pnt},
-    {"mouse_orotate",  "obj mx my", TO_UNLIMITED, to_mouse_orotate, 
GED_FUNC_PTR_NULL},
-    {"mouse_oscale",   "obj mx my", TO_UNLIMITED, to_mouse_oscale, 
GED_FUNC_PTR_NULL},
-    {"mouse_otranslate",       "obj mx my", TO_UNLIMITED, to_mouse_otranslate, 
GED_FUNC_PTR_NULL},
-    {"mouse_poly_circ",        "mx my", TO_UNLIMITED, to_mouse_poly_circ, 
GED_FUNC_PTR_NULL},
-    {"mouse_poly_cont",        "mx my", TO_UNLIMITED, to_mouse_poly_cont, 
GED_FUNC_PTR_NULL},
-    {"mouse_poly_ell", "mx my", TO_UNLIMITED, to_mouse_poly_ell, 
GED_FUNC_PTR_NULL},
-    {"mouse_poly_rect",        "mx my", TO_UNLIMITED, to_mouse_poly_rect, 
GED_FUNC_PTR_NULL},
     {"mouse_prepend_pipe_pnt", "obj mx my", TO_UNLIMITED, 
to_mouse_append_pnt_common, ged_pipe_prepend_pnt},
-    {"mouse_ray",      "mx my", TO_UNLIMITED, to_mouse_ray, GED_FUNC_PTR_NULL},
-    {"mouse_rect",     "mx my", TO_UNLIMITED, to_mouse_rect, 
GED_FUNC_PTR_NULL},
-    {"mouse_rot",      "mx my", TO_UNLIMITED, to_mouse_rot, GED_FUNC_PTR_NULL},
-    {"mouse_rotate_arb_face",  "obj face v mx my", TO_UNLIMITED, 
to_mouse_rotate_arb_face, GED_FUNC_PTR_NULL},
-    {"mouse_scale",    "mx my", TO_UNLIMITED, to_mouse_scale, 
GED_FUNC_PTR_NULL},
-    {"mouse_protate",  "obj attribute mx my", TO_UNLIMITED, to_mouse_protate, 
GED_FUNC_PTR_NULL},
-    {"mouse_pscale",   "obj attribute mx my", TO_UNLIMITED, to_mouse_pscale, 
GED_FUNC_PTR_NULL},
-    {"mouse_ptranslate",       "obj attribute mx my", TO_UNLIMITED, 
to_mouse_ptranslate, GED_FUNC_PTR_NULL},
-    {"mouse_trans",    "mx my", TO_UNLIMITED, to_mouse_trans, 
GED_FUNC_PTR_NULL},
     {"mv",     (char *)0, TO_UNLIMITED, to_pass_through_func, ged_move},
     {"mvall",  (char *)0, TO_UNLIMITED, to_pass_through_func, ged_move_all},
-    {"new_view",       "vname type [args]", TO_UNLIMITED, to_new_view, 
GED_FUNC_PTR_NULL},
     {"nirt",   "[args]", TO_UNLIMITED, to_view_func, ged_nirt},
     {"nmg_collapse",   (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_nmg_collapse},
     {"nmg_fix_normals",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_nmg_fix_normals},
@@ -794,13 +711,9 @@
     {"orient", "quat", 6, to_view_func_plus, ged_orient},
     {"orientation",    "quat", 6, to_view_func_plus, ged_orient},
     {"orotate",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_orotate},
-    {"orotate_mode",   "obj x y", TO_UNLIMITED, to_orotate_mode, 
GED_FUNC_PTR_NULL},
     {"oscale", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_oscale},
-    {"oscale_mode",    "obj x y", TO_UNLIMITED, to_oscale_mode, 
GED_FUNC_PTR_NULL},
     {"otranslate",     (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_otranslate},
-    {"otranslate_mode",        "obj x y", TO_UNLIMITED, to_otranslate_mode, 
GED_FUNC_PTR_NULL},
     {"overlay",        (char *)0, TO_UNLIMITED, to_autoview_func, ged_overlay},
-    {"paint_rect_area",        "vname", TO_UNLIMITED, to_paint_rect_area, 
GED_FUNC_PTR_NULL},
     {"pathlist",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_pathlist},
     {"paths",  (char *)0, TO_UNLIMITED, to_pass_through_func, ged_pathsum},
     {"perspective",    "[angle]", 3, to_view_func_plus, ged_perspective},
@@ -808,30 +721,17 @@
     {"plot",   "[options] file.pl", 16, to_view_func, ged_plot},
     {"pmat",   "[mat]", 3, to_view_func, ged_pmat},
     {"pmodel2view",    "vname", 2, to_view_func, ged_pmodel2view},
-#if defined(DM_OGL) || defined(DM_WGL)
-    {"pix",    "file", TO_UNLIMITED, to_pix, GED_FUNC_PTR_NULL},
-    {"png",    "file", TO_UNLIMITED, to_png, GED_FUNC_PTR_NULL},
-#endif
     {"png2fb",  "[options] [file.png]", TO_UNLIMITED, to_view_func, 
ged_png2fb},
     {"pngwf",  "[options] file.png", 16, to_view_func, ged_png},
-    {"poly_circ_mode", "x y", TO_UNLIMITED, to_poly_circ_mode, 
GED_FUNC_PTR_NULL},
-    {"poly_cont_build",        "x y", TO_UNLIMITED, to_poly_cont_build, 
GED_FUNC_PTR_NULL},
-    {"poly_cont_build_end",    "y", TO_UNLIMITED, to_poly_cont_build_end, 
GED_FUNC_PTR_NULL},
-    {"poly_ell_mode",  "x y", TO_UNLIMITED, to_poly_ell_mode, 
GED_FUNC_PTR_NULL},
-    {"poly_rect_mode", "x y [s]", TO_UNLIMITED, to_poly_rect_mode, 
GED_FUNC_PTR_NULL},
     {"prcolor",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_prcolor},
     {"prefix", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_prefix},
     {"pipe_prepend_pnt",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_pipe_prepend_pnt},
     {"preview",        "[options] script", TO_UNLIMITED, to_dm_func, 
ged_preview},
-    {"prim_label",     "[prim_1 prim_2 ... prim_N]", TO_UNLIMITED, 
to_prim_label, GED_FUNC_PTR_NULL},
     {"protate",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_protate},
-    {"protate_mode",   "obj attribute x y", TO_UNLIMITED, to_protate_mode, 
GED_FUNC_PTR_NULL},
     {"postscript", "[options] file.ps", 16, to_view_func, ged_ps},
     {"pscale", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_pscale},
-    {"pscale_mode",    "obj attribute x y", TO_UNLIMITED, to_pscale_mode, 
GED_FUNC_PTR_NULL},
     {"pset",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_pset},
     {"ptranslate",     (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_ptranslate},
-    {"ptranslate_mode",        "obj attribute x y", TO_UNLIMITED, 
to_ptranslate_mode, GED_FUNC_PTR_NULL},
     {"push",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_push},
     {"put",    (char *)0, TO_UNLIMITED, to_pass_through_func, ged_put},
     {"put_comb",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_put_comb},
@@ -842,12 +742,7 @@
     {"r",      (char *)0, TO_UNLIMITED, to_pass_through_func, ged_region},
     {"rcodes", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_rcodes},
     {"rect",   "args", 6, to_view_func, ged_rect},
-    {"rect_mode",      "x y", TO_UNLIMITED, to_rect_mode, GED_FUNC_PTR_NULL},
     {"red",    (char *)0, TO_UNLIMITED, to_pass_through_func, ged_red},
-    {"redraw", "obj", 2, to_redraw, GED_FUNC_PTR_NULL},
-    {"refresh",        "vname", TO_UNLIMITED, to_refresh, GED_FUNC_PTR_NULL},
-    {"refresh_all",    (char *)0, TO_UNLIMITED, to_refresh_all, 
GED_FUNC_PTR_NULL},
-    {"refresh_on",     "[0|1]", TO_UNLIMITED, to_refresh_on, 
GED_FUNC_PTR_NULL},
     {"regdef", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_regdef},
     {"regions",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_tables},
     {"solid_report",   (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_solid_report},
@@ -860,13 +755,9 @@
     {"rot_about",      "[e|k|m|v]", 3, to_view_func, ged_rotate_about},
     {"rot_point",      "x y z", 5, to_view_func, ged_rot_point},
     {"rotate_arb_face",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_rotate_arb_face},
-    {"rotate_arb_face_mode",   "obj face v x y", TO_UNLIMITED, 
to_rotate_arb_face_mode, GED_FUNC_PTR_NULL},
-    {"rotate_mode",    "x y", TO_UNLIMITED, to_rotate_mode, GED_FUNC_PTR_NULL},
     {"rrt",    "[args]", TO_UNLIMITED, to_view_func, ged_rrt},
     {"rselect",                (char *)0, TO_UNLIMITED, to_view_func, 
ged_rselect},
     {"rt",     "[args]", TO_UNLIMITED, to_view_func, ged_rt},
-    {"rt_end_callback",        "[args]", TO_UNLIMITED, to_rt_end_callback, 
GED_FUNC_PTR_NULL},
-    {"rt_gettrees",    "[-i] [-u] pname object", TO_UNLIMITED, to_rt_gettrees, 
GED_FUNC_PTR_NULL},
     {"rtabort",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_rtabort},
     {"rtarea", "[args]", TO_UNLIMITED, to_view_func, ged_rt},
     {"rtcheck",        "[args]", TO_UNLIMITED, to_view_func, ged_rtcheck},
@@ -876,19 +767,9 @@
     {"savekey",        "filename", 3, to_view_func, ged_savekey},
     {"saveview", (char *)0, TO_UNLIMITED, to_view_func, ged_saveview},
     {"sca",    "sf", 3, to_view_func_plus, ged_scale},
-    {"scale_mode",     "x y", TO_UNLIMITED, to_scale_mode, GED_FUNC_PTR_NULL},
-    {"screen2model",   "x y", TO_UNLIMITED, to_screen2model, 
GED_FUNC_PTR_NULL},
-    {"screen2view",    "x y", TO_UNLIMITED, to_screen2view, GED_FUNC_PTR_NULL},
     {"screengrab",     "imagename.ext", TO_UNLIMITED, to_dm_func, 
ged_screen_grab},
-    {"sdata_arrows",   "???", TO_UNLIMITED, to_data_arrows, GED_FUNC_PTR_NULL},
-    {"sdata_axes",     "???", TO_UNLIMITED, to_data_axes, GED_FUNC_PTR_NULL},
-    {"sdata_labels",   "???", TO_UNLIMITED, to_data_labels, GED_FUNC_PTR_NULL},
-    {"sdata_lines",    "???", TO_UNLIMITED, to_data_lines, GED_FUNC_PTR_NULL},
-    {"sdata_polygons", "???", TO_UNLIMITED, to_data_polygons, 
GED_FUNC_PTR_NULL},
     {"search",         (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_search},
     {"select",         (char *)0, TO_UNLIMITED, to_view_func, ged_select},
-    {"set_coord",      "[m|v]", TO_UNLIMITED, to_set_coord, GED_FUNC_PTR_NULL},
-    {"set_fb_mode",    "[mode]", TO_UNLIMITED, to_set_fb_mode, 
GED_FUNC_PTR_NULL},
     {"set_output_script",      "[script]", TO_UNLIMITED, to_pass_through_func, 
ged_set_output_script},
     {"set_transparency",       (char *)0, TO_UNLIMITED, 
to_pass_through_and_refresh_func, ged_set_transparency},
     {"set_uplotOutputMode",    (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_set_uplotOutputMode},
@@ -899,7 +780,6 @@
     {"showmats",       (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_showmats},
     {"size",   "[size]", 3, to_view_func_plus, ged_size},
     {"slew",   "x y [z]", 5, to_view_func_plus, ged_slew},
-    {"snap_view",      "vx vy", 4, to_snap_view, GED_FUNC_PTR_NULL},
     {"solids", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_tables},
     {"solids_on_ray",  (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_solids_on_ray},
     {"summary",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_summary},
@@ -912,8 +792,6 @@
     {"tops",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_tops},
     {"tra",    "[-m|-v] x y z", 6, to_view_func_plus, ged_tra},
     {"track",  (char *)0, TO_UNLIMITED, to_pass_through_func, ged_track},
-    {"translate_mode", "x y", TO_UNLIMITED, to_translate_mode, 
GED_FUNC_PTR_NULL},
-    {"transparency",   "[val]", TO_UNLIMITED, to_transparency, 
GED_FUNC_PTR_NULL},
     {"tree",   (char *)0, TO_UNLIMITED, to_pass_through_func, ged_tree},
     {"unhide", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_unhide},
     {"units",  (char *)0, TO_UNLIMITED, to_pass_through_func, ged_units},
@@ -921,18 +799,12 @@
     {"vdraw",  (char *)0, TO_UNLIMITED, to_pass_through_and_refresh_func, 
ged_vdraw},
     {"version",        (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_version},
     {"view",   "quat|ypr|aet|center|eye|size [args]", 7, to_view_func_plus, 
ged_view_func},
-    {"view_axes",      "vname [args]", TO_UNLIMITED, to_view_axes, 
GED_FUNC_PTR_NULL},
-    {"view_callback",  "vname [args]", TO_UNLIMITED, to_view_callback, 
GED_FUNC_PTR_NULL},
-    {"view_win_size",  "[s] | [x y]", 4, to_view_win_size, GED_FUNC_PTR_NULL},
     {"view2grid_lu",   "x y z", 5, to_view_func_less, ged_view2grid_lu},
     {"view2model",     "", 2, to_view_func_less, ged_view2model},
     {"view2model_lu",  "x y z", 5, to_view_func_less, ged_view2model_lu},
     {"view2model_vec", "x y z", 5, to_view_func_less, ged_view2model_vec},
-    {"view2screen",    "", 2, to_view2screen, GED_FUNC_PTR_NULL},
     {"viewdir",        "[-i]", 3, to_view_func_less, ged_viewdir},
-    {"vmake",  "pname ptype", TO_UNLIMITED, to_vmake, GED_FUNC_PTR_NULL},
     {"vnirt",  "[args]", TO_UNLIMITED, to_view_func, ged_vnirt},
-    {"vslew",  "x y", TO_UNLIMITED, to_vslew, GED_FUNC_PTR_NULL},
     {"wcodes", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_wcodes},
     {"whatid", (char *)0, TO_UNLIMITED, to_pass_through_func, ged_whatid},
     {"which_shader",   (char *)0, TO_UNLIMITED, to_pass_through_func, 
ged_which_shader},
@@ -944,9 +816,142 @@
     {"xpush",  (char *)0, TO_UNLIMITED, to_pass_through_func, ged_xpush},
     {"ypr",    "yaw pitch roll", 5, to_view_func_plus, ged_ypr},
     {"zap",    (char *)0, TO_UNLIMITED, to_pass_through_and_refresh_func, 
ged_zap},
+    {"zoom",   "sf", 3, to_view_func_plus, ged_zoom},
+    {(char *)0,        (char *)0, 0, TO_WRAPPER_FUNC_PTR_NULL, 
GED_FUNC_PTR_NULL}
+};
+
+
+
+static struct to_cmdtab to_cmds[] = {
+    {"autoview",       "vname", TO_UNLIMITED, to_autoview, GED_FUNC_PTR_NULL},
+    {"base2local",     (char *)0, TO_UNLIMITED, to_base2local, 
GED_FUNC_PTR_NULL},
+    {"bg",     "[r g b]", TO_UNLIMITED, to_bg, GED_FUNC_PTR_NULL},
+    {"blast",  (char *)0, TO_UNLIMITED, to_blast, GED_FUNC_PTR_NULL},
+    {"bot_edge_split", "bot face", TO_UNLIMITED, to_bot_edge_split, 
GED_FUNC_PTR_NULL},
+    {"bot_face_split", "bot face", TO_UNLIMITED, to_bot_face_split, 
GED_FUNC_PTR_NULL},
+    {"bounds", "[\"minX maxX minY maxY minZ maxZ\"]", TO_UNLIMITED, to_bounds, 
GED_FUNC_PTR_NULL},
+    {"configure",      "vname", TO_UNLIMITED, to_configure, GED_FUNC_PTR_NULL},
+    {"constrain_rmode",        "x|y|z x y", TO_UNLIMITED, to_constrain_rmode, 
GED_FUNC_PTR_NULL},
+    {"constrain_tmode",        "x|y|z x y", TO_UNLIMITED, to_constrain_tmode, 
GED_FUNC_PTR_NULL},
+    {"cp",     "[-f] from to", TO_UNLIMITED, to_copy, GED_FUNC_PTR_NULL},
+    {"data_arrows",    "???", TO_UNLIMITED, to_data_arrows, GED_FUNC_PTR_NULL},
+    {"data_axes",      "???", TO_UNLIMITED, to_data_axes, GED_FUNC_PTR_NULL},
+    {"data_labels",    "???", TO_UNLIMITED, to_data_labels, GED_FUNC_PTR_NULL},
+    {"data_lines",     "???", TO_UNLIMITED, to_data_lines, GED_FUNC_PTR_NULL},
+    {"data_polygons",  "???", TO_UNLIMITED, to_data_polygons, 
GED_FUNC_PTR_NULL},
+    {"data_move",      "???", TO_UNLIMITED, to_data_move, GED_FUNC_PTR_NULL},
+    {"data_move_object_mode",  "x y", TO_UNLIMITED, to_data_move_object_mode, 
GED_FUNC_PTR_NULL},
+    {"data_move_point_mode",   "x y", TO_UNLIMITED, to_data_move_point_mode, 
GED_FUNC_PTR_NULL},
+    {"data_pick",      "???", TO_UNLIMITED, to_data_pick, GED_FUNC_PTR_NULL},
+    {"data_scale_mode",        "x y", TO_UNLIMITED, to_data_scale_mode, 
GED_FUNC_PTR_NULL},
+    {"data_vZ",        "[z]", TO_UNLIMITED, to_data_vZ, GED_FUNC_PTR_NULL},
+    {"delete_view",    "vname", TO_UNLIMITED, to_delete_view, 
GED_FUNC_PTR_NULL},
+    {"dlist_on",       "[0|1]", TO_UNLIMITED, to_dlist_on, GED_FUNC_PTR_NULL},
+    {"faceplate",      "center_dot|prim_labels|view_params|view_scale 
color|draw [val(s)]", TO_UNLIMITED, to_faceplate, GED_FUNC_PTR_NULL},
+    {"fit_png_image",  "image_file_in req_width req_height scale 
image_file_out", 6, to_fit_png_image, GED_FUNC_PTR_NULL},
+    {"fontsize",       "[fontsize]", 3, to_fontsize, GED_FUNC_PTR_NULL},
+    {"get_prev_mouse", "vname", TO_UNLIMITED, to_get_prev_mouse, 
GED_FUNC_PTR_NULL},
+    {"handle_expose",  "vname count", TO_UNLIMITED, to_handle_expose, 
GED_FUNC_PTR_NULL},
+    {"hide_view",      "vname [0|1]", 3, to_hide_view, GED_FUNC_PTR_NULL},
+    {"idle_mode",      "vname", TO_UNLIMITED, to_idle_mode, GED_FUNC_PTR_NULL},
+    {"init_view_bindings",     "vname", TO_UNLIMITED, to_init_view_bindings, 
GED_FUNC_PTR_NULL},
+    {"light",  "[0|1]", TO_UNLIMITED, to_light, GED_FUNC_PTR_NULL},
+    {"list_views",     (char *)0, TO_UNLIMITED, to_list_views, 
GED_FUNC_PTR_NULL},
+    {"listen", "[port]", TO_UNLIMITED, to_listen, GED_FUNC_PTR_NULL},
+    {"local2base",     (char *)0, TO_UNLIMITED, to_local2base, 
GED_FUNC_PTR_NULL},
+    {"make",   (char *)0, TO_UNLIMITED, to_make, GED_FUNC_PTR_NULL},
+    {"mirror", (char *)0, TO_UNLIMITED, to_mirror, GED_FUNC_PTR_NULL},
+    {"model_axes",     "???", TO_UNLIMITED, to_model_axes, GED_FUNC_PTR_NULL},
+    {"edit_motion_delta_callback",     "vname [args]", TO_UNLIMITED, 
to_edit_motion_delta_callback, GED_FUNC_PTR_NULL},
+    {"more_args_callback",     "set/get the \"more args\" callback", 
TO_UNLIMITED, to_more_args_callback, GED_FUNC_PTR_NULL},
+    {"move_arb_edge_mode",     "obj edge x y", TO_UNLIMITED, 
to_move_arb_edge_mode, GED_FUNC_PTR_NULL},
+    {"move_arb_face_mode",     "obj face x y", TO_UNLIMITED, 
to_move_arb_face_mode, GED_FUNC_PTR_NULL},
+    {"bot_move_pnt",   (char *)0, TO_UNLIMITED, to_bot_move_pnt, 
GED_FUNC_PTR_NULL},
+    {"bot_move_pnts",  (char *)0, TO_UNLIMITED, to_bot_move_pnts, 
GED_FUNC_PTR_NULL},
+    {"bot_move_pnt_mode",      "obj i mx my", TO_UNLIMITED, 
to_bot_move_pnt_mode, GED_FUNC_PTR_NULL},
+    {"bot_move_pnts_mode",     "mx my obj i1 [i2 ... iN]", TO_UNLIMITED, 
to_bot_move_pnts_mode, GED_FUNC_PTR_NULL},
+    {"metaball_move_pnt_mode", "obj pt_i mx my", TO_UNLIMITED, 
to_metaball_move_pnt_mode, GED_FUNC_PTR_NULL},
+    {"pipe_pnt_mode",  "obj seg_i mx my", TO_UNLIMITED, to_pipe_move_pnt_mode, 
GED_FUNC_PTR_NULL},
+    {"mouse_brep_selection_append", "obj mx my", 5, 
to_mouse_brep_selection_append, GED_FUNC_PTR_NULL},
+    {"mouse_brep_selection_translate", "obj mx my", 5, 
to_mouse_brep_selection_translate, GED_FUNC_PTR_NULL},
+    {"mouse_constrain_rot",    "coord mx my", TO_UNLIMITED, 
to_mouse_constrain_rot, GED_FUNC_PTR_NULL},
+    {"mouse_constrain_trans",  "coord mx my", TO_UNLIMITED, 
to_mouse_constrain_trans, GED_FUNC_PTR_NULL},
+    {"mouse_data_scale",       "mx my", TO_UNLIMITED, to_mouse_data_scale, 
GED_FUNC_PTR_NULL},
+    {"mouse_find_arb_edge",    "obj mx my ptol", TO_UNLIMITED, 
to_mouse_find_arb_edge, GED_FUNC_PTR_NULL},
+    {"mouse_find_bot_edge",    "obj mx my", TO_UNLIMITED, 
to_mouse_find_bot_edge, GED_FUNC_PTR_NULL},
+    {"mouse_find_bot_pnt",     "obj mx my", TO_UNLIMITED, 
to_mouse_find_bot_pnt, GED_FUNC_PTR_NULL},
+    {"mouse_find_metaball_pnt",        "obj mx my", TO_UNLIMITED, 
to_mouse_find_metaball_pnt, GED_FUNC_PTR_NULL},
+    {"mouse_find_pipe_pnt",    "obj mx my", TO_UNLIMITED, 
to_mouse_find_pipe_pnt, GED_FUNC_PTR_NULL},
+    {"mouse_joint_select", "obj mx my", 5, to_mouse_joint_select, 
GED_FUNC_PTR_NULL},
+    {"mouse_joint_selection_translate", "obj mx my", 5, 
to_mouse_joint_selection_translate, GED_FUNC_PTR_NULL},
+    {"mouse_move_arb_edge",    "obj edge mx my", TO_UNLIMITED, 
to_mouse_move_arb_edge, GED_FUNC_PTR_NULL},
+    {"mouse_move_arb_face",    "obj face mx my", TO_UNLIMITED, 
to_mouse_move_arb_face, GED_FUNC_PTR_NULL},
+    {"mouse_move_bot_pnt",     "[-r] obj i mx my", TO_UNLIMITED, 
to_mouse_move_bot_pnt, GED_FUNC_PTR_NULL},
+    {"mouse_move_bot_pnts",    "mx my obj i1 [i2 ... iN]", TO_UNLIMITED, 
to_mouse_move_bot_pnts, GED_FUNC_PTR_NULL},
+    {"mouse_orotate",  "obj mx my", TO_UNLIMITED, to_mouse_orotate, 
GED_FUNC_PTR_NULL},
+    {"mouse_oscale",   "obj mx my", TO_UNLIMITED, to_mouse_oscale, 
GED_FUNC_PTR_NULL},
+    {"mouse_otranslate",       "obj mx my", TO_UNLIMITED, to_mouse_otranslate, 
GED_FUNC_PTR_NULL},
+    {"mouse_poly_circ",        "mx my", TO_UNLIMITED, to_mouse_poly_circ, 
GED_FUNC_PTR_NULL},
+    {"mouse_poly_cont",        "mx my", TO_UNLIMITED, to_mouse_poly_cont, 
GED_FUNC_PTR_NULL},
+    {"mouse_poly_ell", "mx my", TO_UNLIMITED, to_mouse_poly_ell, 
GED_FUNC_PTR_NULL},
+    {"mouse_poly_rect",        "mx my", TO_UNLIMITED, to_mouse_poly_rect, 
GED_FUNC_PTR_NULL},
+    {"mouse_ray",      "mx my", TO_UNLIMITED, to_mouse_ray, GED_FUNC_PTR_NULL},
+    {"mouse_rect",     "mx my", TO_UNLIMITED, to_mouse_rect, 
GED_FUNC_PTR_NULL},
+    {"mouse_rot",      "mx my", TO_UNLIMITED, to_mouse_rot, GED_FUNC_PTR_NULL},
+    {"mouse_rotate_arb_face",  "obj face v mx my", TO_UNLIMITED, 
to_mouse_rotate_arb_face, GED_FUNC_PTR_NULL},
+    {"mouse_scale",    "mx my", TO_UNLIMITED, to_mouse_scale, 
GED_FUNC_PTR_NULL},
+    {"mouse_protate",  "obj attribute mx my", TO_UNLIMITED, to_mouse_protate, 
GED_FUNC_PTR_NULL},
+    {"mouse_pscale",   "obj attribute mx my", TO_UNLIMITED, to_mouse_pscale, 
GED_FUNC_PTR_NULL},
+    {"mouse_ptranslate",       "obj attribute mx my", TO_UNLIMITED, 
to_mouse_ptranslate, GED_FUNC_PTR_NULL},
+    {"mouse_trans",    "mx my", TO_UNLIMITED, to_mouse_trans, 
GED_FUNC_PTR_NULL},
+    {"new_view",       "vname type [args]", TO_UNLIMITED, to_new_view, 
GED_FUNC_PTR_NULL},
+    {"orotate_mode",   "obj x y", TO_UNLIMITED, to_orotate_mode, 
GED_FUNC_PTR_NULL},
+    {"oscale_mode",    "obj x y", TO_UNLIMITED, to_oscale_mode, 
GED_FUNC_PTR_NULL},
+    {"otranslate_mode",        "obj x y", TO_UNLIMITED, to_otranslate_mode, 
GED_FUNC_PTR_NULL},
+    {"paint_rect_area",        "vname", TO_UNLIMITED, to_paint_rect_area, 
GED_FUNC_PTR_NULL},
+#if defined(DM_OGL) || defined(DM_WGL)
+    {"pix",    "file", TO_UNLIMITED, to_pix, GED_FUNC_PTR_NULL},
+    {"png",    "file", TO_UNLIMITED, to_png, GED_FUNC_PTR_NULL},
+#endif
+    {"poly_circ_mode", "x y", TO_UNLIMITED, to_poly_circ_mode, 
GED_FUNC_PTR_NULL},
+    {"poly_cont_build",        "x y", TO_UNLIMITED, to_poly_cont_build, 
GED_FUNC_PTR_NULL},
+    {"poly_cont_build_end",    "y", TO_UNLIMITED, to_poly_cont_build_end, 
GED_FUNC_PTR_NULL},
+    {"poly_ell_mode",  "x y", TO_UNLIMITED, to_poly_ell_mode, 
GED_FUNC_PTR_NULL},
+    {"poly_rect_mode", "x y [s]", TO_UNLIMITED, to_poly_rect_mode, 
GED_FUNC_PTR_NULL},
+    {"prim_label",     "[prim_1 prim_2 ... prim_N]", TO_UNLIMITED, 
to_prim_label, GED_FUNC_PTR_NULL},
+    {"protate_mode",   "obj attribute x y", TO_UNLIMITED, to_protate_mode, 
GED_FUNC_PTR_NULL},
+    {"pscale_mode",    "obj attribute x y", TO_UNLIMITED, to_pscale_mode, 
GED_FUNC_PTR_NULL},
+    {"ptranslate_mode",        "obj attribute x y", TO_UNLIMITED, 
to_ptranslate_mode, GED_FUNC_PTR_NULL},
+    {"rect_mode",      "x y", TO_UNLIMITED, to_rect_mode, GED_FUNC_PTR_NULL},
+    {"redraw", "obj", 2, to_redraw, GED_FUNC_PTR_NULL},
+    {"refresh",        "vname", TO_UNLIMITED, to_refresh, GED_FUNC_PTR_NULL},
+    {"refresh_all",    (char *)0, TO_UNLIMITED, to_refresh_all, 
GED_FUNC_PTR_NULL},
+    {"refresh_on",     "[0|1]", TO_UNLIMITED, to_refresh_on, 
GED_FUNC_PTR_NULL},
+    {"rotate_arb_face_mode",   "obj face v x y", TO_UNLIMITED, 
to_rotate_arb_face_mode, GED_FUNC_PTR_NULL},
+    {"rotate_mode",    "x y", TO_UNLIMITED, to_rotate_mode, GED_FUNC_PTR_NULL},
+    {"rt_end_callback",        "[args]", TO_UNLIMITED, to_rt_end_callback, 
GED_FUNC_PTR_NULL},
+    {"rt_gettrees",    "[-i] [-u] pname object", TO_UNLIMITED, to_rt_gettrees, 
GED_FUNC_PTR_NULL},
+    {"scale_mode",     "x y", TO_UNLIMITED, to_scale_mode, GED_FUNC_PTR_NULL},
+    {"screen2model",   "x y", TO_UNLIMITED, to_screen2model, 
GED_FUNC_PTR_NULL},
+    {"screen2view",    "x y", TO_UNLIMITED, to_screen2view, GED_FUNC_PTR_NULL},
+    {"sdata_arrows",   "???", TO_UNLIMITED, to_data_arrows, GED_FUNC_PTR_NULL},
+    {"sdata_axes",     "???", TO_UNLIMITED, to_data_axes, GED_FUNC_PTR_NULL},
+    {"sdata_labels",   "???", TO_UNLIMITED, to_data_labels, GED_FUNC_PTR_NULL},
+    {"sdata_lines",    "???", TO_UNLIMITED, to_data_lines, GED_FUNC_PTR_NULL},
+    {"sdata_polygons", "???", TO_UNLIMITED, to_data_polygons, 
GED_FUNC_PTR_NULL},
+    {"set_coord",      "[m|v]", TO_UNLIMITED, to_set_coord, GED_FUNC_PTR_NULL},
+    {"set_fb_mode",    "[mode]", TO_UNLIMITED, to_set_fb_mode, 
GED_FUNC_PTR_NULL},
+    {"snap_view",      "vx vy", 4, to_snap_view, GED_FUNC_PTR_NULL},
+    {"translate_mode", "x y", TO_UNLIMITED, to_translate_mode, 
GED_FUNC_PTR_NULL},
+    {"transparency",   "[val]", TO_UNLIMITED, to_transparency, 
GED_FUNC_PTR_NULL},
+    {"view_axes",      "vname [args]", TO_UNLIMITED, to_view_axes, 
GED_FUNC_PTR_NULL},
+    {"view_callback",  "vname [args]", TO_UNLIMITED, to_view_callback, 
GED_FUNC_PTR_NULL},
+    {"view_win_size",  "[s] | [x y]", 4, to_view_win_size, GED_FUNC_PTR_NULL},
+    {"view2screen",    "", 2, to_view2screen, GED_FUNC_PTR_NULL},
+    {"vmake",  "pname ptype", TO_UNLIMITED, to_vmake, GED_FUNC_PTR_NULL},
+    {"vslew",  "x y", TO_UNLIMITED, to_vslew, GED_FUNC_PTR_NULL},
     {"zbuffer",        "[0|1]", TO_UNLIMITED, to_zbuffer, GED_FUNC_PTR_NULL},
     {"zclip",  "[0|1]", TO_UNLIMITED, to_zclip, GED_FUNC_PTR_NULL},
-    {"zoom",   "sf", 3, to_view_func_plus, ged_zoom},
     {(char *)0,        (char *)0, 0, TO_WRAPPER_FUNC_PTR_NULL, 
GED_FUNC_PTR_NULL}
 };
 
@@ -1003,6 +1008,10 @@
 
     if (argc < 2) {
        Tcl_DStringAppend(&ds, "subcommand not specified; must be one of: ", 
-1);
+       for (ctp = ged_cmds; ctp->to_name != (char *)NULL; ctp++) {
+           Tcl_DStringAppend(&ds, " ", -1);
+           Tcl_DStringAppend(&ds, ctp->to_name, -1);
+       }
        for (ctp = to_cmds; ctp->to_name != (char *)NULL; ctp++) {
            Tcl_DStringAppend(&ds, " ", -1);
            Tcl_DStringAppend(&ds, ctp->to_name, -1);
@@ -1022,6 +1031,15 @@
            break;
        }
     }
+    if (ctp->to_name == (char *)0) {
+       for (ctp = ged_cmds; ctp->to_name != (char *)0; ctp++) {
+           if (BU_STR_EQUAL(ctp->to_name, argv[1])) {
+               struct ged *gedp = top->to_gop->go_gedp;
+               ret = (*ctp->to_wrapper_func)(gedp, argc-1, (const char 
**)argv+1, ctp->to_func, ctp->to_usage, ctp->to_maxargs);
+               break;
+           }
+       }
+    }
 
     /* Command not found. */
     if (ctp->to_name == (char *)0) {
@@ -1029,10 +1047,16 @@
        Tcl_DStringAppend(&ds, argv[1], -1);
        Tcl_DStringAppend(&ds, "; must be one of: ", -1);
 
+       for (ctp = ged_cmds; ctp->to_name != (char *)NULL; ctp++) {
+           Tcl_DStringAppend(&ds, " ", -1);
+           Tcl_DStringAppend(&ds, ctp->to_name, -1);
+       }
+
        for (ctp = to_cmds; ctp->to_name != (char *)NULL; ctp++) {
            Tcl_DStringAppend(&ds, " ", -1);
            Tcl_DStringAppend(&ds, ctp->to_name, -1);
        }
+
        Tcl_DStringAppend(&ds, "\n", -1);
        Tcl_DStringResult(interp, &ds);
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to