osrm-backend/include/extractor
Michael Bell a98074a051
Improvements to maneuver override processing (#6215)
This change unblocks the osrm-extract debug build, which is
currently failing on a maneuver override assertion.

The processing of maneuver overrides currently has three issues
- It assumes the via node(s) can't be compressed (the failing assertion)
- It can't handle via-paths containing incompressible nodes
- It doesn't interop with turn restriction on the same path

Turn restrictions and maneuver overrides both use the same
from-via-to path representation.
Therefore, we can fix these issues by consolidating their
structures and reusing the path representation for
turn restrictions, which already is robust to the above
issues.

This also simplifies some of the codebase by removing maneuver
override specific path processing.

There are ~100 maneuver overrides in the OSM database, so the
impact on processing and routing will be minimal.
2022-08-24 16:19:24 +01:00
..
intersection Fix distance calculation consistency. (#6315) 2022-08-19 22:31:40 +01:00
class_data.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
compressed_edge_container.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
compressed_node_based_graph_edge.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
conditional_turn_penalty.hpp handle conditional via-way restrictions 2017-08-11 11:53:25 +02:00
datasources.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
edge_based_edge.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
edge_based_graph_factory.hpp Add support for multiple via-way restrictions (#5907) 2020-12-20 13:59:57 -08:00
edge_based_node_segment.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
edge_based_node.hpp Code review fixes. 2017-11-16 15:08:30 +01:00
extraction_containers.hpp Add support for multiple via-way restrictions (#5907) 2020-12-20 13:59:57 -08:00
extraction_helper_functions.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
extraction_node.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
extraction_relation.hpp Fix performance issues after migration to sol2 3.3.0 (#6304) 2022-08-15 23:10:56 +01:00
extraction_segment.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
extraction_turn.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
extraction_way.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
extractor_callbacks.hpp Add support for multiple via-way restrictions (#5907) 2020-12-20 13:59:57 -08:00
extractor_config.hpp Configure Undefined Behaviour Sanitizer (#6290) 2022-08-01 22:40:26 +01:00
extractor.hpp Add support for multiple via-way restrictions (#5907) 2020-12-20 13:59:57 -08:00
files.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
geojson_debug_policies.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
graph_compressor.hpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
internal_extractor_edge.hpp Enable performance-move-const-arg clang-tidy check (#6319) 2022-08-23 19:03:41 +02:00
intersection_bearings_container.hpp Enable even more clang-tidy checks (#6273) 2022-07-04 21:46:59 +01:00
location_dependent_data.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
maneuver_override_relation_parser.hpp Enable even more clang-tidy checks (#6273) 2022-07-04 21:46:59 +01:00
maneuver_override.hpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
name_table.hpp Enable even more clang-tidy checks (#6273) 2022-07-04 21:46:59 +01:00
nbg_to_ebg.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
node_based_edge.hpp Enable even more clang-tidy checks (#6273) 2022-07-04 21:46:59 +01:00
node_based_graph_factory.hpp Add support for multiple via-way restrictions (#5907) 2020-12-20 13:59:57 -08:00
node_data_container.hpp Enable even more clang-tidy checks (#6273) 2022-07-04 21:46:59 +01:00
node_restriction_map.hpp Add support for multiple via-way restrictions (#5907) 2020-12-20 13:59:57 -08:00
nodes_of_way.hpp Add support for multiple via-way restrictions (#5907) 2020-12-20 13:59:57 -08:00
packed_osm_ids.hpp Enable even more clang-tidy checks (#6273) 2022-07-04 21:46:59 +01:00
profile_properties.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
query_node.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
raster_source.hpp Enable more clang-tidy checks. (#6270) 2022-06-30 14:32:12 +01:00
restriction_graph.hpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
restriction_parser.hpp Complete support for no_entry and no_exit turn restrictions (#5988) 2022-08-22 12:58:16 +01:00
restriction.hpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
road_classification.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
scripting_environment_lua.hpp Migrate to C++17. Update sol2 to 3.3.0. (#6279) 2022-07-31 00:56:17 +01:00
scripting_environment.hpp Enable even more clang-tidy checks (#6273) 2022-07-04 21:46:59 +01:00
segment_data_container.hpp Enable even more clang-tidy checks (#6273) 2022-07-04 21:46:59 +01:00
serialization.hpp Enable even more clang-tidy checks (#6273) 2022-07-04 21:46:59 +01:00
suffix_table.hpp Implements Zero-Copy String Views onto Contiguous Memory, resolves #3265. 2017-01-23 15:22:39 +01:00
tarjan_scc.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
travel_mode.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
turn_lane_types.hpp Upgrade formatting to clang-format 10 (#5895) 2020-11-26 07:21:39 -08:00
turn_path_compressor.hpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
turn_path_filter.hpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
turn_path.hpp Improvements to maneuver override processing (#6215) 2022-08-24 16:19:24 +01:00
way_restriction_map.hpp Add support for multiple via-way restrictions (#5907) 2020-12-20 13:59:57 -08:00