diff --git a/src/applications/maliput_derive_lane_s_routes.cc b/src/applications/maliput_derive_lane_s_routes.cc index 7af54bb..a78c3b0 100644 --- a/src/applications/maliput_derive_lane_s_routes.cc +++ b/src/applications/maliput_derive_lane_s_routes.cc @@ -318,8 +318,8 @@ int main(int argc, char* argv[]) { auto rn = LoadRoadNetwork( maliput_implementation, {FLAGS_num_lanes, FLAGS_length, FLAGS_lane_width, FLAGS_shoulder_width, FLAGS_maximum_height}, {yaml_file}, - {xodr_file, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), FLAGS_build_policy, FLAGS_num_threads, - FLAGS_simplification_policy, FLAGS_standard_strictness_policy, FLAGS_omit_nondrivable_lanes, + {xodr_file, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), GetAngularToleranceFlag(), FLAGS_build_policy, + FLAGS_num_threads, FLAGS_simplification_policy, FLAGS_standard_strictness_policy, FLAGS_omit_nondrivable_lanes, FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, FLAGS_intersection_book_file}, {FLAGS_osm_file, FLAGS_linear_tolerance, FLAGS_angular_tolerance, maliput::math::Vector2::FromStr(FLAGS_origin), diff --git a/src/applications/maliput_dynamic_environment.cc b/src/applications/maliput_dynamic_environment.cc index 7e58b44..8b43892 100644 --- a/src/applications/maliput_dynamic_environment.cc +++ b/src/applications/maliput_dynamic_environment.cc @@ -174,13 +174,13 @@ int Main(int argc, char* argv[]) { auto rn = LoadRoadNetwork( maliput_implementation, {FLAGS_num_lanes, FLAGS_length, FLAGS_lane_width, FLAGS_shoulder_width, FLAGS_maximum_height}, {FLAGS_yaml_file}, - {FLAGS_xodr_file_path, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), FLAGS_build_policy, - FLAGS_num_threads, FLAGS_simplification_policy, FLAGS_standard_strictness_policy, FLAGS_omit_nondrivable_lanes, - FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, - FLAGS_intersection_book_file}, - {FLAGS_osm_file, FLAGS_linear_tolerance, FLAGS_angular_tolerance, maliput::math::Vector2::FromStr(FLAGS_origin), - FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, - FLAGS_intersection_book_file}); + {FLAGS_xodr_file_path, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), GetAngularToleranceFlag(), + FLAGS_build_policy, FLAGS_num_threads, FLAGS_simplification_policy, FLAGS_standard_strictness_policy, + FLAGS_omit_nondrivable_lanes, FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, + FLAGS_phase_ring_book_file, FLAGS_intersection_book_file}, + {FLAGS_osm_file, FLAGS_linear_tolerance, FLAGS_max_linear_tolerance, + maliput::math::Vector2::FromStr(FLAGS_origin), FLAGS_rule_registry_file, FLAGS_road_rule_book_file, + FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, FLAGS_intersection_book_file}); log()->info("RoadNetwork loaded successfully."); const std::unique_ptr timer = CreateTimer(TimerType::kChronoTimer); diff --git a/src/applications/maliput_gflags.h b/src/applications/maliput_gflags.h index 26fcf65..b3fb277 100644 --- a/src/applications/maliput_gflags.h +++ b/src/applications/maliput_gflags.h @@ -104,6 +104,11 @@ return gflags::GetCommandLineFlagInfoOrDie("max_linear_tolerance").is_default \ ? std::nullopt \ : std::make_optional(FLAGS_max_linear_tolerance); \ + } \ + std::optional GetAngularToleranceFlag() { \ + return gflags::GetCommandLineFlagInfoOrDie("angular_tolerance").is_default \ + ? std::nullopt \ + : std::make_optional(FLAGS_angular_tolerance); \ } #endif // MALIDRIVE_PROPERTIES_FLAGS diff --git a/src/applications/maliput_measure_load_time.cc b/src/applications/maliput_measure_load_time.cc index 1a2dfc4..453cd06 100644 --- a/src/applications/maliput_measure_load_time.cc +++ b/src/applications/maliput_measure_load_time.cc @@ -115,13 +115,13 @@ int Main(int argc, char* argv[]) { maliput_implementation, {FLAGS_num_lanes, FLAGS_length, FLAGS_lane_width, FLAGS_shoulder_width, FLAGS_maximum_height}, {FLAGS_yaml_file}, - {FLAGS_xodr_file_path, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), FLAGS_build_policy, - FLAGS_num_threads, FLAGS_simplification_policy, FLAGS_standard_strictness_policy, FLAGS_omit_nondrivable_lanes, - FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, - FLAGS_intersection_book_file}, - {FLAGS_osm_file, FLAGS_linear_tolerance, FLAGS_angular_tolerance, maliput::math::Vector2::FromStr(FLAGS_origin), - FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, - FLAGS_intersection_book_file})); + {FLAGS_xodr_file_path, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), GetAngularToleranceFlag(), + FLAGS_build_policy, FLAGS_num_threads, FLAGS_simplification_policy, FLAGS_standard_strictness_policy, + FLAGS_omit_nondrivable_lanes, FLAGS_rule_registry_file, FLAGS_road_rule_book_file, + FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, FLAGS_intersection_book_file}, + {FLAGS_osm_file, FLAGS_linear_tolerance, FLAGS_max_linear_tolerance, + maliput::math::Vector2::FromStr(FLAGS_origin), FLAGS_rule_registry_file, FLAGS_road_rule_book_file, + FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, FLAGS_intersection_book_file})); } const double mean_time = (std::accumulate(times.begin(), times.end(), 0.)) / static_cast(times.size()); maliput::log()->info("\tMean time was: ", mean_time, "s out of ", FLAGS_iterations, " iterations.\n"); diff --git a/src/applications/maliput_query.cc b/src/applications/maliput_query.cc index d8f5a16..e462c2d 100644 --- a/src/applications/maliput_query.cc +++ b/src/applications/maliput_query.cc @@ -1099,13 +1099,13 @@ int Main(int argc, char* argv[]) { auto rn = LoadRoadNetwork( maliput_implementation, {FLAGS_num_lanes, FLAGS_length, FLAGS_lane_width, FLAGS_shoulder_width, FLAGS_maximum_height}, {FLAGS_yaml_file}, - {FLAGS_xodr_file_path, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), FLAGS_build_policy, - FLAGS_num_threads, FLAGS_simplification_policy, FLAGS_standard_strictness_policy, FLAGS_omit_nondrivable_lanes, - FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, - FLAGS_intersection_book_file}, - {FLAGS_osm_file, FLAGS_linear_tolerance, FLAGS_angular_tolerance, maliput::math::Vector2::FromStr(FLAGS_origin), - FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, - FLAGS_intersection_book_file}); + {FLAGS_xodr_file_path, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), GetAngularToleranceFlag(), + FLAGS_build_policy, FLAGS_num_threads, FLAGS_simplification_policy, FLAGS_standard_strictness_policy, + FLAGS_omit_nondrivable_lanes, FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, + FLAGS_phase_ring_book_file, FLAGS_intersection_book_file}, + {FLAGS_osm_file, FLAGS_linear_tolerance, FLAGS_max_linear_tolerance, + maliput::math::Vector2::FromStr(FLAGS_origin), FLAGS_rule_registry_file, FLAGS_road_rule_book_file, + FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, FLAGS_intersection_book_file}); MALIPUT_DEMAND(rn != nullptr); log()->info("RoadNetwork loaded successfully."); diff --git a/src/applications/maliput_to_obj.cc b/src/applications/maliput_to_obj.cc index f0910a1..9b11951 100644 --- a/src/applications/maliput_to_obj.cc +++ b/src/applications/maliput_to_obj.cc @@ -114,13 +114,13 @@ int Main(int argc, char* argv[]) { auto rn = LoadRoadNetwork( maliput_implementation, {FLAGS_num_lanes, FLAGS_length, FLAGS_lane_width, FLAGS_shoulder_width, FLAGS_maximum_height}, {FLAGS_yaml_file}, - {FLAGS_xodr_file_path, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), FLAGS_build_policy, - FLAGS_num_threads, FLAGS_simplification_policy, FLAGS_standard_strictness_policy, FLAGS_omit_nondrivable_lanes, - FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, - FLAGS_intersection_book_file}, - {FLAGS_osm_file, FLAGS_linear_tolerance, FLAGS_angular_tolerance, maliput::math::Vector2::FromStr(FLAGS_origin), - FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, - FLAGS_intersection_book_file}); + {FLAGS_xodr_file_path, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), GetAngularToleranceFlag(), + FLAGS_build_policy, FLAGS_num_threads, FLAGS_simplification_policy, FLAGS_standard_strictness_policy, + FLAGS_omit_nondrivable_lanes, FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, + FLAGS_phase_ring_book_file, FLAGS_intersection_book_file}, + {FLAGS_osm_file, FLAGS_linear_tolerance, FLAGS_max_linear_tolerance, + maliput::math::Vector2::FromStr(FLAGS_origin), FLAGS_rule_registry_file, FLAGS_road_rule_book_file, + FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, FLAGS_intersection_book_file}); log()->info("RoadNetwork loaded successfully."); // Creates the destination directory if it does not already exist. diff --git a/src/applications/maliput_to_string.cc b/src/applications/maliput_to_string.cc index a4fb866..b421a9c 100644 --- a/src/applications/maliput_to_string.cc +++ b/src/applications/maliput_to_string.cc @@ -88,13 +88,13 @@ int Main(int argc, char* argv[]) { auto rn = LoadRoadNetwork( maliput_implementation, {FLAGS_num_lanes, FLAGS_length, FLAGS_lane_width, FLAGS_shoulder_width, FLAGS_maximum_height}, {FLAGS_yaml_file}, - {FLAGS_xodr_file_path, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), FLAGS_build_policy, - FLAGS_num_threads, FLAGS_simplification_policy, FLAGS_standard_strictness_policy, FLAGS_omit_nondrivable_lanes, - FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, - FLAGS_intersection_book_file}, - {FLAGS_osm_file, FLAGS_linear_tolerance, FLAGS_angular_tolerance, maliput::math::Vector2::FromStr(FLAGS_origin), - FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, - FLAGS_intersection_book_file}); + {FLAGS_xodr_file_path, GetLinearToleranceFlag(), GetMaxLinearToleranceFlag(), GetAngularToleranceFlag(), + FLAGS_build_policy, FLAGS_num_threads, FLAGS_simplification_policy, FLAGS_standard_strictness_policy, + FLAGS_omit_nondrivable_lanes, FLAGS_rule_registry_file, FLAGS_road_rule_book_file, FLAGS_traffic_light_book_file, + FLAGS_phase_ring_book_file, FLAGS_intersection_book_file}, + {FLAGS_osm_file, FLAGS_linear_tolerance, FLAGS_max_linear_tolerance, + maliput::math::Vector2::FromStr(FLAGS_origin), FLAGS_rule_registry_file, FLAGS_road_rule_book_file, + FLAGS_traffic_light_book_file, FLAGS_phase_ring_book_file, FLAGS_intersection_book_file}); log()->info("RoadNetwork loaded successfully."); if (FLAGS_check_invariants) { log()->info("Checking invariants..."); diff --git a/src/integration/tools.cc b/src/integration/tools.cc index 44d32dc..1f3fed7 100644 --- a/src/integration/tools.cc +++ b/src/integration/tools.cc @@ -158,7 +158,9 @@ std::unique_ptr CreateMalidriveRoadNetwork(const MalidriveBuil road_network_configuration.emplace("max_linear_tolerance", std::to_string(build_properties.max_linear_tolerance.value())); } - road_network_configuration.emplace("angular_tolerance", std::to_string(malidrive::constants::kAngularTolerance)); + if (build_properties.angular_tolerance.has_value()) { + road_network_configuration.emplace("angular_tolerance", std::to_string(build_properties.angular_tolerance.value())); + } road_network_configuration.emplace("scale_length", std::to_string(malidrive::constants::kScaleLength)); road_network_configuration.emplace("inertial_to_backend_frame_translation", "{0., 0., 0.}"); road_network_configuration.emplace("build_policy", build_properties.build_policy); diff --git a/src/integration/tools.h b/src/integration/tools.h index 3dd1e39..9022005 100644 --- a/src/integration/tools.h +++ b/src/integration/tools.h @@ -77,6 +77,7 @@ struct MalidriveBuildProperties { std::string xodr_file_path{""}; std::optional linear_tolerance{std::nullopt}; std::optional max_linear_tolerance{std::nullopt}; + std::optional angular_tolerance{std::nullopt}; std::string build_policy{"sequential"}; int number_of_threads{0}; std::string simplification_policy{"none"};