int main(int argc, char *argv[]) { char* input_sites = NULL; char* input_filename = NULL; char* mesh_format = NULL; char* passed_mesh_format = (char*)malloc(sizeof(char)*16);; char* tetgen_params = (char*)malloc(sizeof(char)*16); // Parse command line parse_comand_line(argc, argv, input_filename, input_sites, mesh_format, tetgen_params); // Set default tetgen params sprintf(tetgen_params, "%s%s", tetgen_default_params, tetgen_default_quality_params); if (mesh_format == NULL) sprintf(passed_mesh_format, "%s", default_mesh_format); else sprintf(passed_mesh_format, "%s", mesh_format); // Call GenerateMesh routine GenerateMeshFromSurfaceMesh(input_filename, input_sites, passed_mesh_format, tetgen_params); // Free memory free(tetgen_params); free(passed_mesh_format); return(0); }
void CmdHelp::execute(const char* command_line) { assert(NULL != command_line); const std::vector<std::string> params = parse_comand_line(command_line); // 空参数 if (params.size() <= 1) { _console->print_general_info(); return; } const std::string cmd_name = params.at(1); // 匹配命令 std::vector<rc_ptr<ICommand> > matched_cmds = IConsole::match_commands(_console->get_commands(), cmd_name); // 无匹配 if (matched_cmds.size() == 0) { printf("ERROR: command not found, \"%s\"\n", cmd_name.c_str()); return; } // 多于一个的匹配 if (matched_cmds.size() > 1) { printf("More than one command matched:\n\t"); for (size_t i = 0, size = matched_cmds.size(); i < size; ++i) { const char *n = matched_cmds.at(i)->get_command_name(); printf(" %s", (NULL == n ? "(null)" : n)); } return; } // 打印帮助信息 const char *i = matched_cmds.at(0)->get_detail_info(); printf("%s\n", (NULL == i ? "(No information found)" : i)); }