Skip to content
Snippets Groups Projects
Commit a3352032 authored by Ali Can Demiralp's avatar Ali Can Demiralp
Browse files

Made seed_generation_stride argument optional, added optional arguments...

Made seed_generation_stride argument optional, added optional arguments seed_generation_count and seed_generation_range.
parent 00066ef2
No related branches found
No related tags found
No related merge requests found
......@@ -10,19 +10,21 @@ namespace dpa
{
struct arguments
{
std::string input_dataset_filepath ;
std::string input_dataset_name ;
std::string input_dataset_spacing_name ;
vector3 seed_generation_stride ;
integer seed_generation_iterations ;
std::optional<aabb3> seed_generation_boundaries ;
integer particle_advector_particles_per_round;
std::string particle_advector_load_balancer ;
std::string particle_advector_integrator ;
scalar particle_advector_step_size ;
bool particle_advector_gather_particles ;
bool particle_advector_record ;
std::string output_dataset_filepath ;
std::string input_dataset_filepath ;
std::string input_dataset_name ;
std::string input_dataset_spacing_name ;
std::optional<vector3> seed_generation_stride ; // Existence implies deterministic seed generation.
std::optional<integer> seed_generation_count ; // Existence implies random seed generation.
std::optional<ivector2> seed_generation_range ; // Existence implies random seed count and generation.
integer seed_generation_iterations ;
std::optional<aabb3> seed_generation_boundaries ;
integer particle_advector_particles_per_round;
std::string particle_advector_load_balancer ;
std::string particle_advector_integrator ;
scalar particle_advector_step_size ;
bool particle_advector_gather_particles ;
bool particle_advector_record ;
std::string output_dataset_filepath ;
};
}
......
......@@ -16,9 +16,6 @@ arguments argument_parser::parse(const std::string& filepath)
arguments.input_dataset_filepath = json["input_dataset_filepath" ] .get<std::string>();
arguments.input_dataset_name = json["input_dataset_name" ] .get<std::string>();
arguments.input_dataset_spacing_name = json["input_dataset_spacing_name" ] .get<std::string>();
arguments.seed_generation_stride[0] = json["seed_generation_stride" ][0].get<scalar> ();
arguments.seed_generation_stride[1] = json["seed_generation_stride" ][1].get<scalar> ();
arguments.seed_generation_stride[2] = json["seed_generation_stride" ][2].get<scalar> ();
arguments.seed_generation_iterations = json["seed_generation_iterations" ] .get<integer> ();
arguments.particle_advector_particles_per_round = json["particle_advector_particles_per_round"] .get<integer> ();
arguments.particle_advector_load_balancer = json["particle_advector_load_balancer" ] .get<std::string>();
......@@ -28,12 +25,29 @@ arguments argument_parser::parse(const std::string& filepath)
arguments.particle_advector_record = json["particle_advector_record" ] .get<bool> ();
arguments.output_dataset_filepath = json["output_dataset_filepath" ] .get<std::string>();
if (json.contains("seed_generation_stride"))
{
auto stride = json["seed_generation_stride"];
arguments.seed_generation_stride = vector3(stride[0].get<scalar>(), stride[1].get<scalar>(), stride[2].get<scalar>());
}
if (json.contains("seed_generation_count"))
{
auto count = json["seed_generation_count" ];
arguments.seed_generation_count = count.get<scalar>();
}
if (json.contains("seed_generation_range"))
{
auto range = json["seed_generation_range" ];
arguments.seed_generation_range = ivector2(range[0].get<integer>(), range[1].get<integer>());
}
if (json.contains("seed_generation_boundaries"))
{
auto boundaries = json["seed_generation_boundaries"];
auto minimum = boundaries["minimum"];
auto maximum = boundaries["maximum"];
arguments.seed_generation_boundaries = aabb3(
vector3(boundaries["minimum"][0].get<scalar>(), boundaries["minimum"][1].get<scalar>(), boundaries["minimum"][2].get<scalar>()),
vector3(boundaries["maximum"][0].get<scalar>(), boundaries["maximum"][1].get<scalar>(), boundaries["maximum"][2].get<scalar>()));
vector3(minimum[0].get<scalar>(), minimum[1].get<scalar>(), minimum[2].get<scalar>()),
vector3(maximum[0].get<scalar>(), maximum[1].get<scalar>(), maximum[2].get<scalar>()));
}
return arguments;
......
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