29int main(
int argc,
char* argv[])
32 "Generates properties for mesh elements of an input mesh deploying a "
33 "ASC raster file.\n\n"
34 "OpenGeoSys-6 software, version " +
37 "Copyright (c) 2012-2026, OpenGeoSys Community "
38 "(http://www.opengeosys.org)",
41 TCLAP::ValueArg<std::string> out_mesh_arg(
44 "Output (.vtu). The output mesh is stored to a file of this name",
48 cmd.add(out_mesh_arg);
50 TCLAP::SwitchArg refinement_raster_output_arg(
51 "",
"output-refined-raster",
52 "Write refined raster to an additional, new ASC file.");
53 cmd.add(refinement_raster_output_arg);
55 TCLAP::ValueArg<unsigned> refinement_arg(
58 "refinement factor that raises the resolution of the raster data",
62 cmd.add(refinement_arg);
64 TCLAP::ValueArg<std::string> raster_arg(
67 "Input (.asc). The name of the input "
74 TCLAP::ValueArg<std::string> property_arg(
77 "the name of the property the values are stored for",
81 cmd.add(property_arg);
83 TCLAP::ValueArg<std::string> mesh_arg(
84 "m",
"mesh",
"Input (.vtu). The input mesh is read from this file",
85 true,
"",
"INPUT_FILE");
89 cmd.add(log_level_arg);
90 cmd.parse(argc, argv);
96 std::unique_ptr<MeshLib::Mesh> dest_mesh(
100 auto raster = std::unique_ptr<GeoLib::Raster>(
102 raster_arg.getValue()));
104 if (refinement_arg.getValue() > 1)
106 raster->refineRaster(refinement_arg.getValue());
107 if (refinement_raster_output_arg.getValue())
110 std::string new_raster_fname(
112 new_raster_fname +=
"-" + std::to_string(header.
n_rows) +
"x" +
113 std::to_string(header.
n_cols) +
".asc";
119 std::unique_ptr<MeshLib::Mesh> src_mesh(
123 property_arg.getValue()));
127 *src_mesh, property_arg.getValue());
130 if (!out_mesh_arg.getValue().empty())