handle stronger merge cases as well

This commit is contained in:
Moritz Kobitzsch
2016-08-11 14:21:34 +02:00
parent 7886d06839
commit 6a2518c0df
9 changed files with 468 additions and 65 deletions
-2
View File
@@ -20,8 +20,6 @@ namespace guidance
{
inline void print(const engine::guidance::RouteStep &step)
{
const auto lanes = step.intersections.front().lanes;
std::cout << static_cast<int>(step.maneuver.instruction.type) << " "
<< static_cast<int>(step.maneuver.instruction.direction_modifier) << " "
<< static_cast<int>(step.maneuver.waypoint_type) << " "
+7 -2
View File
@@ -51,14 +51,19 @@ struct NodeBasedEdgeData
LaneDescriptionID lane_description_id;
extractor::guidance::RoadClassification road_classification;
bool IsCompatibleTo(const NodeBasedEdgeData &other) const
bool IsCompatibleToExceptForName(const NodeBasedEdgeData &other) const
{
return (name_id == other.name_id) && (reversed == other.reversed) &&
return (reversed == other.reversed) &&
(roundabout == other.roundabout) && (startpoint == other.startpoint) &&
(access_restricted == other.access_restricted) &&
(travel_mode == other.travel_mode) &&
(road_classification == other.road_classification);
}
bool IsCompatibleTo(const NodeBasedEdgeData &other) const
{
return (name_id == other.name_id) && IsCompatibleToExceptForName(other);
}
};
using NodeBasedDynamicGraph = DynamicGraph<NodeBasedEdgeData>;