boolean isBestPath(SPTEntry fromSPTEntry, Path bestPath) { if (traversalMode.isEdgeBased()) { if (GHUtility.getEdgeFromEdgeKey(startTID.get()) == fromSPTEntry.edge) { if (fromSPTEntry.parent == null) throw new IllegalStateException("best path must have no parent but was non-null: " + fromSPTEntry); return true; } } else if (fromSPTEntry.parent == null) { bestPathEntries.add(fromSPTEntry); if (bestPathEntries.size() > 1) throw new IllegalStateException("There is only one best path but was: " + bestPathEntries); if (startTID.get() != fromSPTEntry.adjNode) throw new IllegalStateException("Start traversal ID has to be identical to root edge entry " + "which is the plateau start of the best path but was: " + startTID + " vs. adjNode: " + fromSPTEntry.adjNode); return true; } return false; } });
private int edgeId(EdgeIteratorState edge) { if (edge instanceof VirtualEdgeIteratorState) { return GHUtility.getEdgeFromEdgeKey(((VirtualEdgeIteratorState) edge).getOriginalTraversalKey()); } else { return edge.getEdge(); } }
boolean isBestPath(SPTEntry fromSPTEntry, Path bestPath) { if (traversalMode.isEdgeBased()) { if (GHUtility.getEdgeFromEdgeKey(startTID.get()) == fromSPTEntry.edge) { if (fromSPTEntry.parent == null) throw new IllegalStateException("best path must have no parent but was non-null: " + fromSPTEntry); return true; } } else if (fromSPTEntry.parent == null) { bestPathEntries.add(fromSPTEntry); if (bestPathEntries.size() > 1) throw new IllegalStateException("There is only one best path but was: " + bestPathEntries); if (startTID.get() != fromSPTEntry.adjNode) throw new IllegalStateException("Start traversal ID has to be identical to root edge entry " + "which is the plateau start of the best path but was: " + startTID + " vs. adjNode: " + fromSPTEntry.adjNode); return true; } return false; } });
boolean isBestPath(SPTEntry fromSPTEntry, Path bestPath) { if (traversalMode.isEdgeBased()) { if (GHUtility.getEdgeFromEdgeKey(startTID.get()) == fromSPTEntry.edge) { if (fromSPTEntry.parent == null) throw new IllegalStateException("best path must have no parent but was non-null: " + fromSPTEntry); return true; } } else if (fromSPTEntry.parent == null) { bestPathEntries.add(fromSPTEntry); if (bestPathEntries.size() > 1) throw new IllegalStateException("There is only one best path but was: " + bestPathEntries); if (startTID.get() != fromSPTEntry.adjNode) throw new IllegalStateException("Start traversal ID has to be identical to root edge entry " + "which is the plateau start of the best path but was: " + startTID + " vs. adjNode: " + fromSPTEntry.adjNode); return true; } return false; } });
boolean isBestPath( SPTEntry fromSPTEntry, Path bestPath ) { if (traversalMode.isEdgeBased()) { if (GHUtility.getEdgeFromEdgeKey(startTID.get()) == fromSPTEntry.edge) { if (fromSPTEntry.parent == null) throw new IllegalStateException("best path must have no parent but was non-null: " + fromSPTEntry); return true; } } else if (fromSPTEntry.parent == null) { bestPathEntries.add(fromSPTEntry); if (bestPathEntries.size() > 1) throw new IllegalStateException("There is only one best path but was: " + bestPathEntries); if (startTID.get() != fromSPTEntry.adjNode) throw new IllegalStateException("Start traversal ID has to be identical to root edge entry " + "which is the plateau start of the best path but was: " + startTID + " vs. adjNode: " + fromSPTEntry.adjNode); return true; } return false; } });
private int edgeId(EdgeIteratorState edge) { if (edge instanceof VirtualEdgeIteratorState) { return GHUtility.getEdgeFromEdgeKey(((VirtualEdgeIteratorState) edge).getOriginalTraversalKey()); } else { return edge.getEdge(); } }