Add road priority class to turn function (#4858)

* expose road priority class to turn function

* update docs
This commit is contained in:
Huyen Chau Nguyen
2018-02-07 11:39:02 +01:00
committed by GitHub
parent 92b7d581ce
commit fa8d788bb6
6 changed files with 64 additions and 32 deletions
+13 -5
View File
@@ -1,7 +1,8 @@
#ifndef OSRM_EXTRACTION_TURN_HPP
#define OSRM_EXTRACTION_TURN_HPP
#include <extractor/travel_mode.hpp>
#include "extractor/road_classification.hpp"
#include "extractor/travel_mode.hpp"
#include <boost/numeric/conversion/cast.hpp>
@@ -21,13 +22,14 @@ struct ExtractionTurnLeg
int highway_turn_classification,
int access_turn_classification,
int speed,
RoadPriorityClass::Enum priority_class,
bool is_incoming,
bool is_outgoing)
: is_restricted(is_restricted), is_motorway(is_motorway), is_link(is_link),
number_of_lanes(number_of_lanes),
highway_turn_classification(highway_turn_classification),
access_turn_classification(access_turn_classification), speed(speed),
is_incoming(is_incoming), is_outgoing(is_outgoing)
priority_class(priority_class), is_incoming(is_incoming), is_outgoing(is_outgoing)
{
}
@@ -38,6 +40,7 @@ struct ExtractionTurnLeg
const int highway_turn_classification;
const int access_turn_classification;
const int speed;
const RoadPriorityClass::Enum priority_class;
const bool is_incoming;
const bool is_outgoing;
};
@@ -53,11 +56,12 @@ struct ExtractionTurn
TravelMode source_mode,
bool source_is_motorway,
bool source_is_link,
int source_number_of_lanes,
int source_highway_turn_classification,
int source_access_turn_classification,
int source_speed,
RoadPriorityClass::Enum source_priority_class,
bool target_restricted,
TravelMode target_mode,
bool target_is_motorway,
@@ -66,6 +70,8 @@ struct ExtractionTurn
int target_highway_turn_classification,
int target_access_turn_classification,
int target_speed,
RoadPriorityClass::Enum target_priority_class,
const std::vector<ExtractionTurnLeg> &roads_on_the_right,
const std::vector<ExtractionTurnLeg> &roads_on_the_left)
: angle(180. - angle), number_of_roads(number_of_roads), is_u_turn(is_u_turn),
@@ -76,14 +82,14 @@ struct ExtractionTurn
source_number_of_lanes(source_number_of_lanes),
source_highway_turn_classification(source_highway_turn_classification),
source_access_turn_classification(source_access_turn_classification),
source_speed(source_speed),
source_speed(source_speed), source_priority_class(source_priority_class),
target_restricted(target_restricted), target_mode(target_mode),
target_is_motorway(target_is_motorway), target_is_link(target_is_link),
target_number_of_lanes(target_number_of_lanes),
target_highway_turn_classification(target_highway_turn_classification),
target_access_turn_classification(target_access_turn_classification),
target_speed(target_speed),
target_speed(target_speed), target_priority_class(target_priority_class),
roads_on_the_right(roads_on_the_right), roads_on_the_left(roads_on_the_left), weight(0.),
duration(0.)
@@ -105,6 +111,7 @@ struct ExtractionTurn
const int source_highway_turn_classification;
const int source_access_turn_classification;
const int source_speed;
const RoadPriorityClass::Enum source_priority_class;
// target info
const bool target_restricted;
@@ -115,6 +122,7 @@ struct ExtractionTurn
const int target_highway_turn_classification;
const int target_access_turn_classification;
const int target_speed;
const RoadPriorityClass::Enum target_priority_class;
const std::vector<ExtractionTurnLeg> roads_on_the_right;
const std::vector<ExtractionTurnLeg> roads_on_the_left;