Exemplo n.º 1
0
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);
}
Exemplo n.º 2
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));
}