public abstract class AbstractBidirCHAlgo extends AbstractBidirAlgo implements BidirRoutingAlgorithm
for non-CH bidirectional algorithms| Modifier and Type | Field and Description |
|---|---|
protected RoutingCHEdgeExplorer |
allEdgeExplorer |
protected RoutingCHGraph |
graph |
protected RoutingCHEdgeExplorer |
inEdgeExplorer |
protected CHEdgeFilter |
levelEdgeFilter |
protected RoutingCHEdgeExplorer |
outEdgeExplorer |
bestBwdEntry, bestFwdEntry, bestWeight, bestWeightMapFrom, bestWeightMapOther, bestWeightMapTo, currFrom, currTo, finishedFrom, finishedTo, from, fromOutEdge, maxVisitedNodes, nodeAccess, to, toInEdge, traversalMode, updateBestPath| Constructor and Description |
|---|
AbstractBidirCHAlgo(RoutingCHGraph graph,
TraversalMode tMode) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
accept(RoutingCHEdgeIteratorState iter,
int prevOrNextEdgeId) |
protected boolean |
accept(RoutingCHEdgeIteratorState edge,
SPTEntry currEdge,
boolean reverse) |
protected double |
calcWeight(RoutingCHEdgeIteratorState edgeState,
boolean reverse,
int prevOrNextEdgeId) |
protected double |
calcWeight(RoutingCHEdgeIteratorState iter,
SPTEntry currEdge,
boolean reverse) |
protected Path |
createEmptyPath() |
protected abstract SPTEntry |
createEntry(RoutingCHEdgeIteratorState edge,
int incEdge,
double weight,
SPTEntry parent,
boolean reverse)
Creates a new entry of the shortest path tree (a
SPTEntry or one of its subclasses) during a dijkstra
expansion. |
protected BidirPathExtractor |
createPathExtractor(RoutingCHGraph graph) |
protected Path |
extractPath() |
protected void |
fillEdgesFromUsingFilter(CHEdgeFilter edgeFilter) |
protected void |
fillEdgesToUsingFilter(CHEdgeFilter edgeFilter) |
boolean |
finished() |
protected double |
getInEdgeWeight(SPTEntry entry) |
protected int |
getOrigEdgeId(RoutingCHEdgeIteratorState edge,
boolean reverse) |
protected int |
getOtherNode(int edge,
int node) |
protected int |
getTraversalId(RoutingCHEdgeIteratorState edge,
boolean reverse) |
protected int |
getTraversalId(RoutingCHEdgeIteratorState edge,
int origEdgeId,
boolean reverse) |
protected void |
initCollections(int size) |
protected void |
postInitFrom() |
protected void |
postInitTo() |
String |
toString() |
protected void |
updateEntry(SPTEntry entry,
RoutingCHEdgeIteratorState edge,
int edgeId,
double weight,
SPTEntry parent,
boolean reverse) |
bwdSearchCanBeStopped, calcPath, calcPath, calcPaths, checkAlreadyRun, createStartEntry, fromEntryCanBeSkipped, fwdSearchCanBeStopped, getCurrentFromWeight, getCurrentToWeight, getIncomingEdge, getName, getVisitedNodes, initFrom, initTo, isMaxVisitedNodesExceeded, postInit, runAlgo, setMaxVisitedNodes, setUpdateBestPath, toEntryCanBeSkipped, updateBestPathclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcalcPathcalcPath, calcPaths, getName, getVisitedNodes, setMaxVisitedNodesprotected final RoutingCHGraph graph
protected RoutingCHEdgeExplorer allEdgeExplorer
protected RoutingCHEdgeExplorer inEdgeExplorer
protected RoutingCHEdgeExplorer outEdgeExplorer
protected CHEdgeFilter levelEdgeFilter
public AbstractBidirCHAlgo(RoutingCHGraph graph, TraversalMode tMode)
protected void initCollections(int size)
initCollections in class AbstractBidirAlgoprotected abstract SPTEntry createEntry(RoutingCHEdgeIteratorState edge, int incEdge, double weight, SPTEntry parent, boolean reverse)
SPTEntry or one of its subclasses) during a dijkstra
expansion.edge - the edge that is currently processed for the expansionincEdge - the id of the edge that is incoming to the node the edge is pointed at. usually this is the same as
edge.getEdge(), but for edge-based CH and in case edge is a shortcut incEdge is the original edge
that is incoming to the nodeweight - the weight the shortest path three entry should carryparent - the parent entry of in the shortest path treereverse - true if we are currently looking at the backward search, false otherwiseprotected BidirPathExtractor createPathExtractor(RoutingCHGraph graph)
protected void postInitFrom()
postInitFrom in class AbstractBidirAlgoprotected void postInitTo()
postInitTo in class AbstractBidirAlgoprotected void fillEdgesFromUsingFilter(CHEdgeFilter edgeFilter)
edgeFilter - edge filter used to fill edges. the levelEdgeFilter reference will be set to
edgeFilter by this method, so make sure edgeFilter does not use it directly.protected void fillEdgesToUsingFilter(CHEdgeFilter edgeFilter)
fillEdgesFromUsingFilter(CHEdgeFilter)public boolean finished()
finished in class AbstractBidirAlgoprotected double calcWeight(RoutingCHEdgeIteratorState edgeState, boolean reverse, int prevOrNextEdgeId)
protected void updateEntry(SPTEntry entry, RoutingCHEdgeIteratorState edge, int edgeId, double weight, SPTEntry parent, boolean reverse)
protected boolean accept(RoutingCHEdgeIteratorState edge, SPTEntry currEdge, boolean reverse)
protected int getOrigEdgeId(RoutingCHEdgeIteratorState edge, boolean reverse)
protected int getTraversalId(RoutingCHEdgeIteratorState edge, int origEdgeId, boolean reverse)
protected int getTraversalId(RoutingCHEdgeIteratorState edge, boolean reverse)
protected int getOtherNode(int edge,
int node)
getOtherNode in class AbstractBidirAlgoprotected double calcWeight(RoutingCHEdgeIteratorState iter, SPTEntry currEdge, boolean reverse)
protected double getInEdgeWeight(SPTEntry entry)
getInEdgeWeight in class AbstractBidirAlgoprotected Path extractPath()
extractPath in class AbstractBidirAlgoprotected boolean accept(RoutingCHEdgeIteratorState iter, int prevOrNextEdgeId)
protected Path createEmptyPath()
Copyright © 2012–2020. All rights reserved.