Interface SpatialTemporalReachabilityAlgorithm<E>

Type Parameters:
E - the edge type
All Known Implementing Classes:
Dijkstra

public interface SpatialTemporalReachabilityAlgorithm<E>
An algorithm which can determine which vertices on an explorable spatial-temporal graph are reachable from a source.
Author:
Lee A. Christie
  • Method Details

    • stReachable

      <ST,S> Map<ST,E> stReachable(Explorable<ST,E> graph, ST source, SpatialTemporalMapping<S,E,ST> stMapping) throws InterruptedException
      Returns the set of reachable vertices and the corresponding cost of each vertex's shortest path.
      Type Parameters:
      ST - the type of the spatial-temporal vertex
      S - the type of the spatial component of the vertex
      Parameters:
      graph - the graph on which to route, not null
      source - the source vertex, in graph, not null
      stMapping - a spatial-temporal mapping
      Returns:
      a map of reachable vertices, with associated costs
      Throws:
      InterruptedException - if the thread is interrupted, and the implementation supports interruption
    • stReachable

      <ST,S> Map<ST,E> stReachable(Explorable<ST,E> graph, ST source, E maxCost, SpatialTemporalMapping<S,E,ST> stMapping) throws InterruptedException
      Returns the set of vertices reachable within a given maximum cost, and the corresponding cost of each vertex's shortest path.
      Type Parameters:
      ST - the type of the spatial-temporal vertex
      S - the type of the spatial component of the vertex
      Parameters:
      graph - the graph on which to route, not null
      source - the source vertex, in graph, not null
      maxCost - the maximum cost, considered unlimited if null
      stMapping - a spatial-temporal mapping
      Returns:
      a map of reachable vertices, with associated costs
      Throws:
      InterruptedException - if the thread is interrupted, and the implementation supports interruption
    • stReachable

      <ST,S> void stReachable(Explorable<ST,E> graph, ST source, ReachabilityCallback<ST,E> callback, SpatialTemporalMapping<S,E,ST> stMapping) throws InterruptedException
      Streams to a callback function the set of reachable vertices and the corresponding cost of each vertex's shortest path.
      Type Parameters:
      ST - the type of the spatial-temporal vertex
      S - the type of the spatial component of the vertex
      Parameters:
      graph - the graph on which to route, not null
      source - the source vertex, in graph, not null
      callback - a callback which acts as a consumer of reachable vertices, with associated costs, but returns ReachabilityCallback.Action.BREAK if the algorithm should abandon the search or ReachabilityCallback.Action.CONTINUE otherwise, not null
      stMapping - a spatial-temporal mapping
      Throws:
      InterruptedException - if the thread is interrupted, and the implementation supports interruption
    • stReachable

      <ST,S> void stReachable(Explorable<ST,E> graph, ST source, E maxCost, ReachabilityCallback<ST,E> callback, SpatialTemporalMapping<S,E,ST> stMapping) throws InterruptedException
      Streams to a callback function the set of vertices reachable within a given maximum cost, and the corresponding cost of each vertex's shortest path.
      Type Parameters:
      ST - the type of the spatial-temporal vertex
      S - the type of the spatial component of the vertex
      Parameters:
      graph - the graph on which to route, not null
      source - the source vertex, in graph, not null
      maxCost - the maximum cost, considered unlimited if null
      callback - a callback which acts as a consumer of reachable vertices, with associated costs, but returns ReachabilityCallback.Action.BREAK if the algorithm should abandon the search or ReachabilityCallback.Action.CONTINUE otherwise, not null
      stMapping - a spatial-temporal mapping
      Throws:
      InterruptedException - if the thread is interrupted, and the implementation supports interruption