Daniel J. Hofmann
e90b1bbead
Allow no sources and no destinations for full table query
2016-03-03 02:00:39 +01:00
Daniel J. Hofmann
ce1ca1b625
Fixes critical error in table plugin accessing uninitialized memory
...
Although we check for valid coordinates in the table plugin via
`check_all_coordinates`, we do not check for #srcs > 0 and #dsts > 0.
This would be fine as the grammar parser combines adding coordinates and
setting their `is_source` and `is_destination` property, which makes
adding coordinates without specifying source or destination impossible.
See: route_parameters.cpp, AddSource, AddDestination, and api_grammar.hpp
In contract, the Polyline codepath does not do this! In fact, it only lets
you set coordinates, but not their `is_source` or `is_destination` property.
See: route_parameters.cpp, SetCoordinatesFromGeometry
Therefore, the following queries only set coordinates:
http 'http://localhost:5000/table?locs=s_hhFg {arEgEfEgEfEgEfEgEfEgEfEgEfEgEfEgEfEgEfE'
http 'http://localhost:5000/table?locs=_p~iF~ps |U_ulLnnqC_mqNvxq`@'
but fail to specify sources and targets!
The distance table plugin now assumes `is_course` and `is_destination`
is the same size as `coordinates`.
And happily accesses uninitialized memory.
2016-03-03 02:00:39 +01:00
David Low
79e8d1aac3
Minor typo fix
2016-03-02 15:16:28 +08:00
Daniel J. Hofmann
2ce553d661
Math functions are not constexpr since they have side-effects (setting errno) :(
2016-03-01 23:51:26 +01:00
Daniel J. Hofmann
2efef91f1c
Fixes const correctnes and explicit types in tile header
2016-03-01 23:51:26 +01:00
Daniel J. Hofmann
3feba9a581
Fixes Undefined Behavior in tile header from ODR-violation
2016-03-01 23:51:26 +01:00
Daniel J. Hofmann
afae896d05
Makes compile time constants properly ROM-able and deduplicates them across TUs
2016-03-01 23:51:26 +01:00
Daniel J. Hofmann
bcbaa21739
Fixes tile header includes
2016-03-01 23:51:25 +01:00
Daniel J. Hofmann
aeee565115
Formats all the files we touch..
2016-03-01 23:51:25 +01:00
Daniel Patterson
8126793b18
Don't need to actually create a vector, we just write out all speeds from 0-127
2016-03-01 23:51:25 +01:00
Daniel Patterson
6a2592421c
Optimize encoding of speed values. Only store 0-127, so we can efficiently pack into a byte. Speed and is_tiny values are now shared, so tiles should be much smaller.
2016-03-01 23:51:25 +01:00
Daniel Patterson
95bf81f528
Add a bunch of comments.
2016-03-01 23:51:25 +01:00
Daniel Patterson
ae802a8a83
No need to send a back to the client, km/h are specific enough.
2016-03-01 23:51:25 +01:00
Daniel Patterson
ee71d2fe5f
Don't need to static cast.
2016-03-01 23:51:25 +01:00
Daniel Patterson
8dd2447cc5
Don't round until necessary, this keeps coordinates in much better positions.
2016-03-01 23:51:25 +01:00
Daniel Patterson
26453af1b9
Add a distinct Buffer type for encoding binary data in JSON responses. Treated like a string, but allows other consumers (a-la node-osrm) to recognize and not break string encodings.
2016-03-01 23:51:25 +01:00
Daniel Patterson
5dc7b79bb6
Implements a vector tileserver so you can see what's going on inside
...
OSRM.
2016-03-01 23:51:25 +01:00
Mortada Mehyar
aae02cd1be
fixed minor typos
2016-02-18 23:05:11 -05:00
Moritz Kobitzsch
f14352f494
modify turn angles and instructions
2016-02-15 20:13:55 +01:00
Daniel J. Hofmann
4b8c0ac143
Revert "Folds json_* utilities into json subfolder and adapts includes"
...
This reverts commit cd039c69c0a92a35889e3c875b8eb53cf07377bb.
2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
aac21f932b
Refactors Base64 encoding and decoding, it's almost beautiful now
2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
ec01c2a119
Folds json_* utilities into json subfolder and adapts includes
2016-02-12 15:46:24 -08:00
Patrick Niklaus
efee07e20b
Move arrays don't copy
2016-01-29 15:58:48 +01:00
Daniel J. Hofmann
d391df52ba
Be kind to the optimizer, pass coordinates by value (just two ints)
2016-01-26 22:57:02 +01:00
Daniel J. Hofmann
46fc6f8da4
Collapse computeAngle into coordinate calculation
2016-01-26 22:57:02 +01:00
Mortada Mehyar
17c3c1d66a
improve comments for gps_precision
2016-01-25 15:17:44 -08:00
Patrick Niklaus
439eb9da3d
Create public facing libraries for extractor, contractor and datastore
...
New libraries libosrm_extract, libosrm_contract, libosrm_store
2016-01-21 06:47:34 +01:00
Patrick Niklaus
9d12de9bce
Fix wrong assertion and emplace_back bug in trip plugin
2016-01-19 17:36:29 +01:00
Patrick Niklaus
6b15f29d7c
Fix handling unexpected errors.
2016-01-14 18:27:36 +01:00
Daniel J. Hofmann
c93ca02fb8
Rips out dead code from the container.hpp and creates for_each_pai.hpp
...
I added two TODOs that I would like to address in the future.
2016-01-11 20:14:35 +01:00
Daniel J. Hofmann
f68247673a
Make ComputeAngle a free standing function
2016-01-09 19:55:22 +01:00
Patrick Niklaus
6991a38703
Run clang-format
2016-01-08 01:31:57 +01:00
Patrick Niklaus
6b18e4f7e9
Add namespace around all files
2016-01-08 01:30:52 +01:00
Moritz Kobitzsch
efd33b295a
Refactor guidance generation
2016-01-07 22:51:24 +01:00
Patrick Niklaus
fa4ba42f15
Use a sane gps_precision multipler
2016-01-07 16:30:54 +01:00
Patrick Niklaus
1da1fa5a31
Fix naming in PhantomNode
2016-01-05 12:41:16 +01:00
Patrick Niklaus
4f7369ed02
Fix naming in FixedPointCoordinate
2016-01-05 12:06:34 +01:00
Patrick Niklaus
4312013552
Fix naming in coordinate_calculation
2016-01-05 12:06:34 +01:00
Patrick Niklaus
028ca5c9d9
Apply clang-format
2016-01-05 12:04:04 +01:00
Daniel J. Hofmann
685d330ee2
Remove license headers from project source files; global license
2016-01-04 19:06:32 +01:00
Mortada Mehyar
a6cb786718
improve comments
2016-01-03 20:50:25 -08:00
Patrick Niklaus
97585bb26a
Fix include paths
2016-01-03 18:47:50 +01:00
Patrick Niklaus
bfc6c9b89d
Move files in src/ include/
2016-01-03 16:37:38 +01:00