de.cm.osm2po.routing
Class OverlayGraph

java.lang.Object
  extended by de.cm.osm2po.routing.OverlayGraph

public class OverlayGraph
extends java.lang.Object

Repraesentiert einen Graphen, der das eigentliche, fixe Streckennetzwerk (Adjazenzliste) ueberlagert und verbindet, diese also um weitere Edges und Vertices erweitert.

Author:
(c) 2012 - Carsten Moeller - info@osm2po

Constructor Summary
OverlayGraph(Graph graph)
           
 
Method Summary
 Section findBypassEdge(int edgeIdx)
          Findet zu einer Edge die gesplittete virtuelle Variante, wenn vorhanden.
 Section[] findOutgoingSections(int sourceId)
          Debug-Methode, die zu einem gegebenen virtuellen Vertex die abgehenden Kanten findet.
 int[] getEdgeIdxs()
          Liefert alle Indizes der Originalkanten, die hier verwaltet werden.
 Graph getGraph()
           
 int getMaxEdgeIdx()
           
 int getMaxVertexId()
           
 Section getSection(int virtualEdgeIdx)
          Liefert eine Section aufgrund ihrer virtuellen Idx.
 TouchPoint getTouchPoint(int virtualTouchPointId)
          Liefert einen TouchPoint aufgrund seiner virtuellen Id.
 void insertTouchPoints(TouchPoint... touchPoints)
          Fuegt eine Menge TouchPoints in den virtuellen Graphen ein.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OverlayGraph

public OverlayGraph(Graph graph)
Parameters:
graph - Graph NOT NULL.
Method Detail

getGraph

public Graph getGraph()

getMaxVertexId

public int getMaxVertexId()
Returns:
int Zuletzt vergebene, virtuelle VertexId.

getMaxEdgeIdx

public int getMaxEdgeIdx()
Returns:
int Zuletzt vergebene, virtuelle EdgeIdx.

insertTouchPoints

public void insertTouchPoints(TouchPoint... touchPoints)
Fuegt eine Menge TouchPoints in den virtuellen Graphen ein.
Wichtig:
Diese Methode erlaubt derzeit noch nicht das nachtraegliche Einfuegen von TouchPoints einer Edge, die bereits hinzugefuegt wurde und wirft in diesem Falle eine UnsupportedOperationException.

Parameters:
touchPoints - Array... of TouchPoint NULLABLE

getSection

public Section getSection(int virtualEdgeIdx)
Liefert eine Section aufgrund ihrer virtuellen Idx.

Parameters:
virtualEdgeIdx - int Idx.
Returns:
Section oder null, wenn nicht gefunden.

getTouchPoint

public TouchPoint getTouchPoint(int virtualTouchPointId)
Liefert einen TouchPoint aufgrund seiner virtuellen Id.

Parameters:
virtualTouchPointId - int Id.
Returns:
TouchPoint oder null, wenn nicht gefunden.

findOutgoingSections

public Section[] findOutgoingSections(int sourceId)
Debug-Methode, die zu einem gegebenen virtuellen Vertex die abgehenden Kanten findet.

Parameters:
sourceId - int Id des Vertex / TouchPoints.
Returns:
Array of Section NOT NULL.

findBypassEdge

public Section findBypassEdge(int edgeIdx)
Findet zu einer Edge die gesplittete virtuelle Variante, wenn vorhanden.

Parameters:
edgeIdx - int Index der Edge im original Graphen.
Returns:
Section oder null, wenn nicht gefunden.

getEdgeIdxs

public int[] getEdgeIdxs()
Liefert alle Indizes der Originalkanten, die hier verwaltet werden.

Returns:
int-Array von EdgeIdx.

osm2po-core-4.8.8 (c) 2012 Carsten Moeller - info@osm2po.de