public class OverlayEdgeRouter extends AbstractRouter<OverlayGraph> implements VisitedVerticesAware
OverlayGraph
,
OverlayVertexRouter
,
VertexRouter
,
VisitedVerticesAware
graph, log
Constructor and Description |
---|
OverlayEdgeRouter(OverlayGraph graph,
Log log) |
Modifier and Type | Method and Description |
---|---|
protected double |
calcVertexCost(int targetId)
Liefert die heuristischen Kosten eines Vertex.
|
int[] |
getVisited()
Liefert eine Menge aller besuchten VertexIDs.
|
boolean |
isVisited(int targetId)
Liefert true, wenn sich ein Vertex nach der Traversierung
in der BlackList (ClosedList) befindet, also besucht
oder erreicht wurde.
|
int[] |
makePath(int targetId)
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 OverlayEdgeRouter(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 boolean isVisited(int targetId)
AbstractRouter
isVisited
in class AbstractRouter<OverlayGraph>
targetId
- int Id des Vertex >0.AbstractRouter.makePath(int)
,
AbstractRouter
public int[] makePath(int targetId)
AbstractRouter
AbstractRouter.traverse(int, RouterConstraints, RouterParameters)
.makePath
in class AbstractRouter<OverlayGraph>
targetId
- 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()
VisitedVerticesAware
getVisited
in interface VisitedVerticesAware
protected double calcVertexCost(int targetId)
targetId
- Id des Vertex