osrm-backend/include/util
Daniel J. Hofmann 86fd04e556 Improves lane handling for subsequent going straight, resolves #2625
Before we only worked on subsequent quick turns, as in:
`right, right` keeps the user on the rightmost lanes.

This changeset modifies the logic to work on any subsequent steps
that are "quick" and have lane information we can constrain later.

Because we do not have a from-lane => to-lanes mapping we take the
lanes left and right of the turn lanes into account when heuristically
assigning the leftmost / rightmost lanes.

There are some edge cases where this still does not give us the optimal
solution but it gets close to what is actually possible at the moment
without having a lane mapping in post-processing.

References:
- https://github.com/Project-OSRM/osrm-backend/issues/2625

fix rebase
2016-09-07 12:17:36 +02:00
..
guidance Warn on unused return values in guidance code, resolves #2686. 2016-08-03 12:26:07 +02:00
attributes.hpp Warn on unused return values in guidance code, resolves #2686. 2016-08-03 12:26:07 +02:00
bearing.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
binary_heap.hpp Run clang-format 2016-01-08 01:31:57 +01:00
cast.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
container.hpp Rips out dead code from the container.hpp and creates for_each_pai.hpp 2016-01-11 20:14:35 +01:00
coordinate_calculation.hpp Use mmap instead of read - it's a lot faster here. 2016-06-27 17:24:30 -07:00
coordinate.hpp Use mmap instead of read - it's a lot faster here. 2016-06-27 17:24:30 -07:00
deallocating_vector.hpp Run clang-format 2016-01-08 01:31:57 +01:00
debug.hpp Improves lane handling for subsequent going straight, resolves #2625 2016-09-07 12:17:36 +02:00
dist_table_wrapper.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
dynamic_graph.hpp Fix platform-independent data in data files 2016-06-20 22:45:40 +02:00
exception.hpp Exposes osrm::exception for client usage, resolves #2813 2016-09-01 09:12:35 +02:00
fingerprint_impl.hpp.in Transforms osrm_exception to exception 2016-02-12 15:46:24 -08:00
fingerprint.hpp Create public facing libraries for extractor, contractor and datastore 2016-01-21 06:47:34 +01:00
for_each_pair.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
graph_loader.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
graph_utils.hpp Add namespace around all files 2016-01-08 01:30:52 +01:00
group_by.hpp Anticipate Lane Changes 2016-06-27 10:07:43 +02:00
hilbert_value.hpp First round of lat,lng -> lng,lat switcheroo 2016-04-05 22:58:32 +02:00
integer_range.hpp Documents why not to use boost::irange in favor of our hand-written irange 2016-02-12 15:46:24 -08:00
io.hpp Apply clang-format again 2016-07-26 15:00:58 +02:00
json_container.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
json_deep_compare.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
json_logger.hpp Revert "Folds json_* utilities into json subfolder and adapts includes" 2016-02-12 15:46:24 -08:00
json_renderer.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
json_util.hpp Fix compile on OS X 2016-04-05 22:58:32 +02:00
lua_util.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
make_unique.hpp Run clang-format 2016-01-08 01:31:57 +01:00
matrix_graph_wrapper.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
name_table.hpp adding tests for guidance 2016-04-08 10:43:22 +02:00
node_based_graph.hpp improve segregated road detection 2016-08-24 10:34:07 +02:00
packed_vector.hpp Use mmap instead of read - it's a lot faster here. 2016-06-27 17:24:30 -07:00
percent.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
range_table.hpp adding tests for guidance 2016-04-08 10:43:22 +02:00
rectangle.hpp Use mmap instead of read - it's a lot faster here. 2016-06-27 17:24:30 -07:00
shared_memory_vector_wrapper.hpp IT WORKS 2016-06-02 14:27:25 +02:00
simple_logger.hpp Takes care of proper special member generation globally, fixes #1689 2016-01-27 17:25:30 +01:00
static_graph.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
static_rtree.hpp Apply clang-format again 2016-07-26 15:00:58 +02:00
std_hash.hpp Anonymous namespaces in header files are bad 2016-01-19 17:42:49 +01:00
string_util.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
strong_typedef.hpp Apply clang-format again 2016-07-26 15:00:58 +02:00
timing_util.hpp Remove obsolete timer code 2016-05-26 20:25:33 +02:00
trigonometry_table.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
typedefs.hpp Include datasources for each segment in route annotation. 2016-07-27 15:51:11 -07:00
vector_tile.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
version.hpp.in Remove license headers from project source files; global license 2016-01-04 19:06:32 +01:00
viewport.hpp One-Definition-Rule violation in viewport 2016-04-12 12:17:52 +02:00
web_mercator.hpp Use mmap instead of read - it's a lot faster here. 2016-06-27 17:24:30 -07:00
xor_fast_hash_storage.hpp Adapts XORFastHashStorage to XORFastHash compile time limits 2016-01-26 17:54:08 +01:00
xor_fast_hash.hpp Format with clang-format 3.8 2016-05-27 21:05:04 +02:00