Commit Graph

182 Commits

Author SHA1 Message Date
Daniel J. Hofmann
e050f15cf8 Provide correct Base64 implementation.
Phew, this was painful. Turns out most hints out there on how to use the
Boost serialization iterators are wrong. Here's why:

    transform_width<6, 8>

needs an input stream of length: common multiple of 6 and 8.

That is, the padding needs to happen _before_ using the provided
iterators, otherwise the behavior is undefined!

See: http://www.boost.org/doc/libs/1_60_0/boost/archive/iterators/transform_width.hpp

Thanks @mokob for pointing that out to me!

We also need to manually add as many padding chars "=" to the encoded
result as many bytes we had to append to the input to conform to the
rule above.

Decoding then knows the number of padding chars by counting for "=" and
then using it in order to split off the last bytes from the decoded
result.
2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
9abfb7ea3b Makes hint Equatable and Printable for tests 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
d0c534e5fa Completely re-write base64 logic, make API suck less in doing so 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
822bb97a5f RFC 4648 Test Vectors 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
6cd3b8bc00 Object Encoder -> Base64, kill false dependencies while doing so 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
a145520b5b Adapts Hint encoding and decoding to new fixed data facade 2016-03-31 18:58:52 +02:00
Patrick Niklaus
8dd3fe3173 Fix hint size 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
b11d3ad1ba syncronize geometry and steps after post-processing 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
9681d662cb added list of intersections to the step-maneuver, not in api so far 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
6a5ffc126a fix initial maneuvers 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
7bf2cb1917 post processing moved onto route-steps, looses sync with geometry segments 2016-03-31 18:58:52 +02:00
Patrick Niklaus
2b0a1bbb63 Simplify the timestamp handling 2016-03-31 18:58:52 +02:00
Patrick Niklaus
31297d1c9f Check all streams 2016-03-31 18:58:52 +02:00
Patrick Niklaus
4e854399b6 std::string -> boost::filesystem::path 2016-03-31 18:58:52 +02:00
Patrick Niklaus
17adeaf3e2 Only allow to specify the common base path 2016-03-31 18:58:52 +02:00
Patrick Niklaus
250acf6a2a Address PR comments
Renamed lua_function_exists and removes unused print function
2016-03-31 18:58:52 +02:00
Patrick Niklaus
49c852917f Use uturn default from .properties file 2016-03-31 18:58:52 +02:00
Patrick Niklaus
a6a4fb0d49 Use global uturns parameter.
Instead of previously per-via settings like uturns=true;false;true;; it
now only supports a global setting uturns=true.
2016-03-31 18:58:52 +02:00
Patrick Niklaus
1f853385d5 Make gcc 4.8 happy and disable protected because of lambdas 2016-03-31 18:58:52 +02:00
Patrick Niklaus
6d70e1d47d get_name_for_id -> GetNameForID 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
4f1503c4a1 implements relative position feature based on coordinates 2016-03-31 18:58:52 +02:00
Patrick Niklaus
64ace032f6 Don't sum up durations of merged steps since we do that in a different place now 2016-03-31 18:58:52 +02:00
Patrick Niklaus
2d4fc9a0b7 Fix foward/backwad swap 2016-03-31 18:58:52 +02:00
Patrick Niklaus
10f8bf53b4 Fixup for last commit 2016-03-31 18:58:52 +02:00
Daniel Patterson
3058135f55 Enables the use of multiple segment-speed-files on the osrm-contract
command line, and exposes the file name used for each edge in the debug
tiles.
2016-03-31 18:58:52 +02:00
Patrick Niklaus
ba00871793 Fix ingestion fixed duration values from UnpackPath 2016-03-31 18:58:52 +02:00
Patrick Niklaus
bd66ba9eee Fix durations in UnpackPath 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
21a1a2da93 report depart/arrive in addition to waypoint 2016-03-31 18:58:52 +02:00
Patrick Niklaus
43b0638074 Only install necessary headers 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
146f20191a Adds the license preamble for all publicly installed eaders, closes #2036 2016-03-31 18:58:52 +02:00
Patrick Niklaus
0be7ce2c0f Remove the encoder/decoder dependecy from Hint 2016-03-31 18:58:52 +02:00
Patrick Niklaus
1109b8de16 Rename alternative -> alternatives 2016-03-31 18:58:52 +02:00
Patrick Niklaus
86a2b6eb07 Remove obsolete debug information 2016-03-31 18:58:52 +02:00
Patrick Niklaus
fa56abcd58 Don't pass down unsnapped coordinates. All information is already there 2016-03-31 18:58:52 +02:00
Patrick Niklaus
7cc689af7d Move bearing to public namespace 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
e1da384b62 Moves route assembly into implementation file 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
b250fce92c Fixes remaining engine/guidance includes 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
11da796a70 Fixes accumulate living in <numeric> and not <algorithm> 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
2985e73938 Puts step maneuver handling into implementation file 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
5c39449263 Adapts MakeResponse to not pass vector by pointer 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
ea81866e28 Runs scripts/format.sh 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
8322a7ccaf bugfixing/classification 2016-03-31 18:58:52 +02:00
Patrick Niklaus
8c71239e48 Big Restructuring / Cleanup 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
ffb3578180 starting on conflict resolution 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
ebdae7591b handle segregated roads (merge for turn analysis) 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
0ba70bcbf9 structural changes, motorway handling 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
3cdd282e0f enter and exit roundabout feature - currently not showing turn 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
72202b7e4a migrated out of edge based graph factory 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
9f9040eaf6 relative waypoint locations 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
bc252ea110 handling of roundabouts (simple version) 2016-03-31 18:58:52 +02:00