Commit Graph

62 Commits

Author SHA1 Message Date
Patrick Niklaus 991a0b38c5 Implement re-enabling of PhantomNode directions after bearing filtering 2016-03-31 18:58:52 +02:00
Patrick Niklaus c9e2a8d24a Move Centroid to coordinate_calculation 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 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 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
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
Moritz Kobitzsch 21a1a2da93 report depart/arrive in addition to waypoint 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
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
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
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
Daniel J. Hofmann b45efeb4bd Inline initialize functional road classification hash table 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann b5619e89c8 256 functional road classes should be enough 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 9d1032a742 start of four way turns 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch a27f7326bd improved fork handling 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 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 bcf7741f95 advanced guidance on 5.0 2016-03-31 18:58:52 +02:00
Patrick Niklaus e6782fd30b Fix travel mode passing from profiles up to the API 2016-03-31 18:58:52 +02:00
Patrick Niklaus 60d83ccf53 First round of lat,lng -> lng,lat switcheroo 2016-03-31 18:58:52 +02:00
bergwerkgis d0636a9f6d make AppVeyor work again 2016-03-31 16:49:30 +02:00
Patrick Niklaus 21245273b4 Also exclude the compressed flag from the data format 2016-03-24 21:24:08 +01:00
Daniel J. Hofmann 655dd2277c Eliminate extra semicola 2016-03-15 11:47:57 +01:00
Patrick Niklaus a98cc51ac2 Fix up some PR comments 2016-03-04 16:13:30 +01:00
Daniel Patterson 49441fe204 Make forward/reverse weight/offset calculated at query time,
rather than being cached in the StaticRTree.  This means we
can freely apply traffic data and not have stale values lying
around.  It reduces the size of the RTree on disk, at the expense
of some additional data in RAM.
2016-03-03 10:49:12 -08:00
Daniel Patterson 56e35e8ef2 Remove GeoJSON based debugging output, we can now generate vector tiles with roughly the same data on-the-fly. 2016-03-01 23:51:25 +01:00
Daniel J. Hofmann 04765d82ba Fixes undefined behavior via One-Definition-Rule violations
Heuristic

    find . -type f -name '*.hpp' |xargs ag -B 1 '^([^inline][a-zA-Z0-9_&\*::])+ (.*)\((.*)\)$'
2016-02-26 06:39:52 +01:00
Moritz Kobitzsch f14352f494 modify turn angles and instructions 2016-02-15 20:13:55 +01:00
Daniel J. Hofmann 978b70c998 Adds a comment as to why the char to typed enum class transformation is not possible 2016-02-12 15:46:24 -08:00
Daniel J. Hofmann 64b36807d3 Transforms osrm_exception to exception 2016-02-12 15:46:24 -08:00
Daniel J. Hofmann 6cd55e535c Removes potentially dangerous and misleading lat, lon subscript oeprator 2016-02-11 02:37:33 +01:00
Daniel J. Hofmann a48f02e0da Takes care of proper special member generation globally, fixes #1689
Phew, a lot of classes were affected by this. The rationale for the
changes are as follows:

- When a type X declares any constructor, the default constructor is
  not declared, so there is no need for X() = delete there. In fact,
  there is brutal difference between those two: deleted members
  participate in overload resolution, but not-declared members do not!

- When a type X wants to be non-copyable (e.g. to be only movable, like
  threads, unique_ptrs, and so on), you can either do it by inheriting
  from boost::noncopyable (the old way), or better declare both (!) the
  copy constructor _and_ the copy assignment operator as deleted:

      X(X const&) = delete;
      X& operator=(X const&) = delete;

  We had tons of types with deleted copy constructors that were lacking
  a corresponding deleted copy assignment operator, making them still
  copyable and you wouldn't even notice (read: scary)!

References:

- http://accu.org/content/conf2014/Howard_Hinnant_Accu_2014.pdf
- http://www.boost.org/doc/libs/master/libs/core/doc/html/core/noncopyable.html

Note: I know, I'm quoting Hinnant's extraordinary slides a lot, but
getting the sematic right here is so incredibly important.
2016-01-27 17:25:30 +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 0fcca04150 TU-local STXXL comparator for OSMNodeIDs, needs {min,max}_value
Can not use std::less<>{} because of this.
2016-01-26 22:57:02 +01: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
Moritz Kobitzsch 1c1bfd7541 Fix routing when start and target are on the same segment
Fixes issue #1864. Given the simple set-up:

a --> b --> c
^-----------|

This would translate into an edge based graph (ab) -> (bc),
(bc) -> (ca), (ca) -> (ab).

Starting at the end of the one-way street (ab) and going to
the beginning, the query has to find a self-loop within the
graph (ab) -> (bc) -> (ca) -> (ab), as both nodes map to the
same segment (ab).
2016-01-19 23:26:19 +01:00
Daniel J. Hofmann 6e717bfd30 Switch to const constexpr for header constants (3.5/3 internal linkage) 2016-01-19 17:42:49 +01:00