Skip to content
Snippets Groups Projects
Commit a39e30df authored by Karsten Rink's avatar Karsten Rink Committed by Tom Fischer
Browse files

adding command line tool

parent 12a0f16b
No related branches found
No related tags found
No related merge requests found
......@@ -36,7 +36,7 @@ bool GocadTSurfaceReader::readFile()
std::ifstream in(_file_name.c_str());
if (!in.is_open())
{
ERR("GocadTSurfaceReader::allSfc2Mesh(): Could not open file %s.",
ERR("GocadTSurfaceReader::readFile(): Could not open file %s.",
_file_name.c_str());
return false;
}
......@@ -171,6 +171,7 @@ void GocadTSurfaceReader::writeData(std::string const& file_name,
}
if (idx < _mesh_vec.size())
{
INFO("Writing mesh \"%s\"", file_name.c_str());
int data_mode = (write_binary) ? 2 : 0;
bool compressed = (write_binary) ? true : false;
MeshLib::IO::VtuInterface vtu(_mesh_vec[idx], data_mode, compressed);
......@@ -181,6 +182,13 @@ void GocadTSurfaceReader::writeData(std::string const& file_name,
return;
}
std::string getDelim(std::string const& str)
{
std::size_t const bslash = str.find_first_of('\\');
char const delim = (bslash == str.npos) ? '/' : '\\';
return (str.back() == delim) ? "" : std::string(1, delim);
}
void GocadTSurfaceReader::writeData(std::string const& dir,
bool write_binary) const
{
......@@ -190,10 +198,11 @@ void GocadTSurfaceReader::writeData(std::string const& dir,
return;
}
std::size_t const n_meshes(_mesh_vec.size());
std::string const delim = getDelim(dir);
for (std::size_t i = 0; i < n_meshes; ++i)
{
std::string const delim = (dir.back() == '/') ? "" : "/";
writeData(dir + delim + _mesh_vec[i]->getName(), i, write_binary);
writeData(dir + delim + _mesh_vec[i]->getName() + ".vtu", i, write_binary);
}
}
......
......@@ -52,6 +52,14 @@ target_link_libraries(GocadSGridReader
${Boost_LIBRARIES}
)
add_executable(GocadTSurfaceReader GocadTSurfaceReader.cpp)
set_target_properties(GocadTSurfaceReader PROPERTIES FOLDER Utilities)
target_link_libraries(GocadTSurfaceReader
MeshLib
ApplicationsFileIO
${Boost_LIBRARIES}
)
add_executable(Mesh2Raster MeshToRaster.cpp)
set_target_properties(Mesh2Raster PROPERTIES FOLDER Utilities)
target_link_libraries(Mesh2Raster MeshLib)
......
/**
*
* @copyright
* Copyright (c) 2012-2019, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/LICENSE.txt
*/
#include <tclap/CmdLine.h>
#include "BaseLib/BuildInfo.h"
#include "Applications/ApplicationsLib/LogogSetup.h"
#include "Applications/FileIO/GocadIO/GocadTSurfaceReader.h"
int main(int argc, char* argv[])
{
ApplicationsLib::LogogSetup logog_setup;
TCLAP::CmdLine cmd(
"Reads a Gocad triangular surfaces file (*.ts) and writes the "
"data into one or more VTU unstructured grids.\n\n"
"OpenGeoSys-6 software, version " +
BaseLib::BuildInfo::ogs_version +
".\n"
"Copyright (c) 2012-2019, OpenGeoSys Community "
"(http://www.opengeosys.org)",
' ', BaseLib::BuildInfo::ogs_version);
TCLAP::ValueArg<std::string> input_arg(
"i", "input-file", "Gocad triangular surfaces file (*.ts)", true, "",
"filename.ts");
cmd.add(input_arg);
TCLAP::ValueArg<std::string> output_arg(
"o", "output-dir", "output directory", true, "",
"output dir");
cmd.add(output_arg);
TCLAP::ValueArg<bool> write_binary_arg(
"b", "write-binary",
"if set, OGS-Meshes will be written in binary format",
false, false, "true/false");
cmd.add(write_binary_arg);
cmd.parse(argc, argv);
FileIO::Gocad::GocadTSurfaceReader gcts(input_arg.getValue());
gcts.readFile();
gcts.writeData(output_arg.getValue(), write_binary_arg.getValue());
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment