Skip to content

Commit d25d6b4

Browse files
committed
Fix turn restrictions when number of ext storages is greater than 1.
1 parent 5ca5933 commit d25d6b4

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

core/src/main/java/com/graphhopper/routing/QueryGraph.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,9 @@ public QueryGraph(Graph graph) {
156156
mainNodes = graph.getNodes();
157157
mainEdges = graph.getAllEdges().getMaxId();
158158

159-
if (mainGraph.getExtension() instanceof TurnCostExtension)
159+
// Modification by Maxim Rylov
160+
// if (mainGraph.getExtension() instanceof TurnCostExtension)
161+
if (Helper.getTurnCostExtensions(mainGraph.getExtension()) != null)
160162
wrappedExtension = new QueryGraphTurnExt();
161163
else
162164
wrappedExtension = mainGraph.getExtension();
@@ -775,7 +777,9 @@ class QueryGraphTurnExt extends TurnCostExtension {
775777
private final TurnCostExtension mainTurnExtension;
776778

777779
public QueryGraphTurnExt() {
778-
this.mainTurnExtension = (TurnCostExtension) mainGraph.getExtension();
780+
// Modification by Maxim Rylov
781+
//this.mainTurnExtension = (TurnCostExtension) mainGraph.getExtension();
782+
this.mainTurnExtension = Helper.getTurnCostExtensions(mainGraph.getExtension());
779783
}
780784

781785
@Override

reader-osm/src/main/java/com/graphhopper/reader/osm/OSMReader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,7 @@ public void processRelation(ReaderRelation relation) throws XMLStreamException {
456456
if (relation.hasTag("type", "restriction")) {
457457
OSMTurnRelation turnRelation = createTurnRelation(relation);
458458
if (turnRelation != null) {
459-
GraphExtension extendedStorage = graph.getExtension();
459+
GraphExtension extendedStorage = Helper.getTurnCostExtensions(graph.getExtension());
460460
if (extendedStorage instanceof TurnCostExtension) {
461461
TurnCostExtension tcs = (TurnCostExtension) extendedStorage;
462462
Collection<TurnCostTableEntry> entries = analyzeTurnRelation(turnRelation);

0 commit comments

Comments
 (0)