public class OverlayVertexRouter extends AbstractRouter<OverlayGraph> implements VisitedVerticesAware, FoundTargetsAware, TargetCostsAware
OverlayGraph
,
VertexRouter
,
VisitedVerticesAware
,
TargetCostsAware
graph, log
Constructor and Description |
---|
OverlayVertexRouter(OverlayGraph graph,
Log log) |
Modifier and Type | Method and Description |
---|---|
protected double |
calcEdgeCost(int edgeIdx)
Liefert die Kosten einer Kante.
|
protected double |
calcVertexCost(int vertexId) |
double |
getTargetCost(int vertexId)
Liefert die internen Kosten der PriorityQueue fuer
einen besuchten Target-Vertexes.
|
int[] |
getVisited()
Liefert die besuchten Vertex-Ids des unterlegten statischen
Graph en, nicht aber die des OverlayGraph en. |
int[] |
getVisitedTargetIds()
Ermoeglicht die Abfrage aller gefundenen Ziele aufgrund
der gelieferten
RouterConstraints . |
boolean |
isVisited(int vertexId)
Liefert true, wenn sich ein Vertex nach der Traversierung
in der BlackList (ClosedList) befindet, also besucht
oder erreicht wurde.
|
int[] |
makePath(int toTargetId)
Erstellt den Pfad nach erfolgreichem
AbstractRouter.traverse(int, RouterConstraints, RouterParameters) . |
boolean |
traverse(int sourceId,
RouterConstraints constraints,
RouterParameters params)
Traversiert den Graphen bis zur Abbruchbedingung oder komplett.
|
findFastestPath, findPath, findPath, findShortestPath, graphClassOf, init, newAbstractRouter, newRouter, traverseFully
public OverlayVertexRouter(OverlayGraph graph, Log log)
public boolean traverse(int sourceId, RouterConstraints constraints, RouterParameters params)
AbstractRouter
traverse
in class AbstractRouter<OverlayGraph>
sourceId
- Vertex Start Id (1-wertig)constraints
- RouterConstraints
Abbruchbedingung (NULLABLE).params
- RouterParameters
weitere Einstellungen (NULLABLE).RouterConstraints.targetIds
erreicht.AbstractRouter.makePath(int)
,
AbstractRouter.findPath(int, int, double, RouterParameters)
,
AbstractRouter
public int[] makePath(int toTargetId)
AbstractRouter
AbstractRouter.traverse(int, RouterConstraints, RouterParameters)
.makePath
in class AbstractRouter<OverlayGraph>
toTargetId
- Id des ZielVertex. Dies muss nicht zwangslaeufig
der Ziel-Knoten sein. Es kann auch ein beliebiger Vertex aus
AbstractRouter.isVisited(int)
uebergeben werden, um so weitere Pfade zu finden.
Dies muss jedoch von der jeweiligen Implementation des Routers unterstuetzt werden.null
, wenn nicht gefunden.AbstractRouter
public final int[] getVisited()
Graph
en, nicht aber die des OverlayGraph
en.getVisited
in interface VisitedVerticesAware
VisitedVerticesAware.getVisited()
public final boolean isVisited(int vertexId)
AbstractRouter
isVisited
in class AbstractRouter<OverlayGraph>
vertexId
- int Id des Vertex >0.AbstractRouter.makePath(int)
,
AbstractRouter
public double getTargetCost(int vertexId)
TargetCostsAware
getTargetCost
in interface TargetCostsAware
vertexId
- int ID des VertexVertexRouter
,
OverlayVertexRouter
public int[] getVisitedTargetIds()
FoundTargetsAware
RouterConstraints
.getVisitedTargetIds
in interface FoundTargetsAware
VertexRouter
,
OverlayVertexRouter
protected double calcVertexCost(int vertexId)
protected double calcEdgeCost(int edgeIdx)
edgeIdx
- int Index in der Adjazenzliste.