diff --git a/SimpleTests/MeshTests/CollapseMeshNodes.cpp b/SimpleTests/MeshTests/CollapseMeshNodes.cpp index d765b51ffff4abedb5173012fb90eaddee5d819f..eca2fe72b195b5c61a320c7f4548ed2f6cec0aa8 100644 --- a/SimpleTests/MeshTests/CollapseMeshNodes.cpp +++ b/SimpleTests/MeshTests/CollapseMeshNodes.cpp @@ -49,12 +49,17 @@ int main(int argc, char *argv[]) // Define a value argument and add it to the command line. // A value arg defines a flag and a type of value that it expects, // such as "-m meshfile". - TCLAP::ValueArg<std::string> input_mesh_arg("m","mesh","input mesh file",true,"","string"); - + TCLAP::ValueArg<std::string> input_mesh_arg("m","mesh","input mesh file name",true,"","string"); // Add the argument mesh_arg to the CmdLine object. The CmdLine object // uses this Arg to parse the command line. cmd.add( input_mesh_arg ); + TCLAP::ValueArg<std::string> output_mesh_arg("","out-mesh","mesh file name for output",false,"","string"); + cmd.add( output_mesh_arg ); + + TCLAP::ValueArg<double> distance_arg("d","collapse-distance","maximal distance two nodes are collapsed",false,0.01,"for example you can set this parameter to 10^{-6} times maximal area length"); + cmd.add( distance_arg ); + cmd.parse( argc, argv ); std::string fname (input_mesh_arg.getValue()); @@ -70,11 +75,9 @@ int main(int argc, char *argv[]) #ifndef WIN32 if (mesh) { unsigned long mem_with_mesh (mem_watch.getVirtMemUsage()); -// std::cout << "mem for mesh: " << (mem_with_mesh - mem_without_mesh)/(1024*1024) << " MB" << std::endl; INFO ("mem for mesh: %i MB", (mem_with_mesh - mem_without_mesh)/(1024*1024)); } run_time.stop(); -// std::cout << "time for reading: " << run_time.elapsed() << " s" << std::endl; if (mesh) { INFO ("time for reading: %f s", run_time.elapsed()); } @@ -85,7 +88,8 @@ int main(int argc, char *argv[]) run_time.start(); #endif MeshLib::MeshCoarsener mesh_coarsener(mesh); - MeshLib::Mesh *collapsed_mesh(mesh_coarsener (0.1)); + MeshLib::Mesh *collapsed_mesh(mesh_coarsener (distance_arg.getValue())); + #ifndef WIN32 run_time.stop(); unsigned long mem_with_meshgrid (mem_watch.getVirtMemUsage()); @@ -94,7 +98,10 @@ int main(int argc, char *argv[]) #endif mesh_io.setMesh(collapsed_mesh); - std::string out_fname("/home/fischeth/workspace/OGS-6/Build/CollapsedMesh.msh"); + std::string out_fname (output_mesh_arg.getValue()); + if (out_fname.empty()) { + out_fname = "/home/fischeth/workspace/OGS-6/Build/CollapsedMesh.msh"; + } INFO ("writing collapsed mesh to %s", out_fname.c_str()); mesh_io.writeToFile(out_fname); INFO ("done");