Class AbstractNonCHBidirAlgo

java.lang.Object
com.graphhopper.routing.AbstractBidirAlgo
com.graphhopper.routing.AbstractNonCHBidirAlgo
All Implemented Interfaces:
EdgeToEdgeRoutingAlgorithm, RoutingAlgorithm
Direct Known Subclasses:
AStarBidirection, DijkstraBidirectionRef

public abstract class AbstractNonCHBidirAlgo extends AbstractBidirAlgo implements EdgeToEdgeRoutingAlgorithm
Common subclass for bidirectional algorithms.
Author:
Peter Karich, easbar
See Also:
  • Field Details

    • graph

      protected final Graph graph
    • nodeAccess

      protected final NodeAccess nodeAccess
    • weighting

      protected final Weighting weighting
    • edgeExplorer

      protected EdgeExplorer edgeExplorer
    • additionalEdgeFilter

      protected EdgeFilter additionalEdgeFilter
  • Constructor Details

  • Method Details

    • createEntry

      protected abstract SPTEntry createEntry(EdgeIteratorState edge, 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.
      Parameters:
      edge - the edge that is currently processed for the expansion
      weight - the weight the shortest path three entry should carry
      parent - the parent entry of in the shortest path tree
      reverse - true if we are currently looking at the backward search, false otherwise
    • createPathExtractor

      protected DefaultBidirPathExtractor createPathExtractor(Graph graph, Weighting weighting)
    • postInitFrom

      protected void postInitFrom()
      Specified by:
      postInitFrom in class AbstractBidirAlgo
    • postInitTo

      protected void postInitTo()
      Specified by:
      postInitTo in class AbstractBidirAlgo
    • fillEdgesFromUsingFilter

      protected void fillEdgesFromUsingFilter(EdgeFilter edgeFilter)
      Parameters:
      edgeFilter - edge filter used to filter edges during fillEdgesFrom()
    • fillEdgesToUsingFilter

      protected void fillEdgesToUsingFilter(EdgeFilter edgeFilter)
      See Also:
    • calcWeight

      protected double calcWeight(EdgeIteratorState iter, SPTEntry currEdge, boolean reverse)
    • getInEdgeWeight

      protected double getInEdgeWeight(SPTEntry entry)
      Specified by:
      getInEdgeWeight in class AbstractBidirAlgo
    • extractPath

      protected Path extractPath()
      Specified by:
      extractPath in class AbstractBidirAlgo
    • accept

      protected boolean accept(EdgeIteratorState iter, int prevOrNextEdgeId)
    • createEmptyPath

      protected Path createEmptyPath()
    • toString

      public String toString()
      Overrides:
      toString in class Object