Commit Graph

303 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
3467696f8a Adds .properties file to osrm-extract ouput
This file contains global properties set by the lua
profile, such as enabling uturns at vias and penalties.
This file will be consumed by the server.
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
f07da00dfe Implement viewport code to fix simplification
This fixes #2083
2016-03-31 18:58:52 +02:00
Patrick Niklaus
6904851eb6 Consolidate math functions 2016-03-31 18:58:52 +02:00
Patrick Niklaus
6d70e1d47d get_name_for_id -> GetNameForID 2016-03-31 18:58:52 +02:00
Patrick Niklaus
7a55b46848 Simplfy name change announcement 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
9034d0c521 restructured to only return valid turns to the outside + cleanup 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
064eb8bca7 less new names, forks consider road classes, api clean-up 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
b63f3cc247 implement basic turn handling 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
Moritz Kobitzsch
b01c2bc8b8 encapsulated into class 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch
770d9833d1 improving fork handling on three-way turns 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
Moritz Kobitzsch
64933389ae fixes assignment for basic turn types / invalid ramp assignment 2016-03-31 18:58:52 +02:00
Patrick Niklaus
6b0b160f37 Don't pass shared_ptr down to functions
"Don’t pass a smart pointer as a function parameter unless you want to
use or manipulate the smart pointer itself, such as to share or transfer
ownership."

Source:
http://herbsutter.com/2013/06/05/gotw-91-solution-smart-pointer-parameters/
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
25bd7d6d30 Properly includes needed headers in turn analysis interface 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
5c6cbd2b10 Const-correctnes for compressed geometry iterator 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
32d5b6b1b7 Use stdint and using type-alias for discrete angle 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann
458a1c8157 Hide functional road classification based on tags in implementation file 2016-03-31 18:58:52 +02:00