/* * Generic interface for framebuffer object routines. * Usage: * procname cmd ?args? * * Returns: result of FB command. */ HIDDEN int fbo_cmd(ClientData clientData, Tcl_Interp *UNUSED(interp), int argc, const char **argv) { int ret; static struct bu_cmdtab fbo_cmds[] = { {"cell", fbo_cell_tcl}, {"clear", fbo_clear_tcl}, {"close", fbo_close_tcl}, {"configure", fbo_configure_tcl}, {"cursor", fbo_cursor_tcl}, {"pixel", fbo_pixel_tcl}, {"flush", fbo_flush_tcl}, {"getcursor", fbo_getcursor_tcl}, {"getheight", fbo_getheight_tcl}, {"getsize", fbo_getsize_tcl}, {"getwidth", fbo_getwidth_tcl}, {"listen", fbo_listen_tcl}, {"rect", fbo_rect_tcl}, {"refresh", fbo_refresh_tcl}, {(const char *)NULL, BU_CMD_NULL} }; if (bu_cmd(fbo_cmds, argc, argv, 1, clientData, &ret) == BRLCAD_OK) return ret; bu_log("ERROR: '%s' command not found\n", argv[1]); return BRLCAD_ERROR; }
HIDDEN int cho_cmd(ClientData clientData, Tcl_Interp *interp, int argc, const char **argv) { int ret; static struct bu_cmdtab cho_cmds[] = { {"add", bu_cmdhist_add}, {"curr", bu_cmdhist_curr}, {"history", bu_cmdhist_history}, {"next", bu_cmdhist_next}, {"prev", bu_cmdhist_prev}, {(char *)NULL, BU_CMD_NULL} }; if (bu_cmd(cho_cmds, argc, argv, 1, clientData, &ret) == BRLCAD_OK) { if (ret == BRLCAD_OK) Tcl_AppendResult(interp, bu_vls_addr(&((struct bu_cmdhist_obj *)clientData)->cho_curr->h_command), NULL); return ret; } bu_log("ERROR: '%s' command not found\n", argv[1]); return BRLCAD_ERROR; }
/* * F B O _ C M D * * Generic interface for framebuffer object routines. * Usage: * procname cmd ?args? * * Returns: result of FB command. */ HIDDEN int fbo_cmd(ClientData clientData, Tcl_Interp *interp, int argc, char **argv) { return bu_cmd(clientData, interp, argc, argv, fbo_cmds, 1); }
int ged_constraint(struct ged *gedp, int argc, const char *argv[]) { /* Potential constraint attributes: * * attr set c1 cad:description "this keeps our car on the ground" * attr set c1 cad:plot 0|1 * attr set c1 cad:reference 0|1 * attr set c1 cad:format value|name|expression (name=value) * attr set c1 cad:disabled 0|1 */ static struct bu_cmdtab pc_cmds[] = { {"set", constraint_set}, {"get", constraint_get}, {"show", constraint_show}, {"eval", constraint_eval}, {"help", constraint_help}, {(const char *)NULL, BU_CMD_NULL} }; int ret; int cmdret; /* initialize result */ bu_vls_trunc(gedp->ged_result_str, 0); GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR); if (argc < 2) { /* must be wanting help */ constraint_usage(gedp->ged_result_str, argv[0]); return GED_HELP; } if (BU_STR_EQUIV(argv[1], "help")) { constraint_help(gedp, argc, argv); return GED_OK; } if (argc < 3) { /* must be confused */ constraint_usage(gedp->ged_result_str, argv[0]); return GED_HELP; } GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR); /* this is only valid for v5 databases */ if (db_version(gedp->ged_wdbp->dbip) < 5) { bu_vls_printf(gedp->ged_result_str, "Attributes are not available for this database format.\nPlease upgrade your database format using \"dbupgrade\" to enable attributes."); return GED_ERROR; } /* run our command */ ret = bu_cmd(pc_cmds, argc, argv, 1, gedp, &cmdret); if (ret != BRLCAD_OK) { constraint_usage(gedp->ged_result_str, argv[0]); return GED_ERROR; } if (cmdret != BRLCAD_OK) return GED_ERROR; return GED_OK; }