public class OverlayNode extends java.lang.Object implements Var<OverlayNode>
OverlayGraph
en.Constructor and Description |
---|
OverlayNode()
Standard-Konstruktor.
|
OverlayNode(float lat,
float lon)
Erstellt einen virtuellen Knoten ohne Bezug zum Graphen.
|
OverlayNode(int vertexId)
Erstellt einen Knoten, der direkt einen Vertex im
Graphen adressiert.
|
Modifier and Type | Method and Description |
---|---|
OverlayNode |
copy()
Erstellt eine Kopie.
|
static OverlayEdge |
createOverlayEdge(Graph graph,
OverlayNode ndSource,
OverlayNode ndTarget)
Ermittelt, ob zwischen zwei
OverlayNode s eine direkte Verbindung
existiert - beide also auf der gleichen Kante liegen und liefert
den ggf. neu entstandenen Abschnitt als OverlayEdge zurueck. |
int |
getEdgeIdx() |
int |
getEdgePointIdx() |
int |
getId() |
float |
getLat() |
float |
getLon() |
double |
getRatio() |
boolean |
isDetached() |
boolean |
isInserted() |
boolean |
isOnEdge() |
boolean |
isOnVertex() |
boolean |
isPoint() |
OverlayNode |
readFromStream(InStream inStream)
Deserialisiert dieses Objekt aus einem Stream.
|
protected void |
setId(int id) |
protected void |
setLat(float lat) |
protected void |
setLon(float lon) |
boolean |
snap(Graph graph,
int[] edgeIdxs)
Findet den dichteste Beruehrungspunkt auf dem Original-Graphen
und verschiebt diesen Punkt dorthin.
|
LatLon |
toLatLon() |
java.lang.String |
toString() |
void |
writeToStream(OutStream outStream)
Serialisiert dieses Objekt in einen Stream.
|
public OverlayNode()
public OverlayNode(int vertexId)
vertexId
- int VertexId im Original-Graphen.
Wichtig:
Latitude und Longitude werden nicht gesetzt.
Hierzu muss (nochmals) {@link #snap(Graph, int[])}
aufgerufen werden.
public OverlayNode(float lat, float lon)
lat
- float Latitudelon
- float LongitudeisDetached()
protected void setId(int id)
protected void setLat(float lat)
protected void setLon(float lon)
public boolean isOnVertex()
public boolean isOnEdge()
public boolean isDetached()
public boolean isInserted()
public int getId()
public float getLat()
public float getLon()
public LatLon toLatLon()
public int getEdgeIdx()
public int getEdgePointIdx()
public boolean isPoint()
public double getRatio()
public OverlayNode copy()
OverlayNode
public boolean snap(Graph graph, int[] edgeIdxs)
OverlayNode(int)
erzeugt wurde, so werden lediglich die
Koordinaten gesetzt und dabei implizit die Id selbst validiert.graph
- Graph
edgeIdxs
- int[] Array von EdgeIdx, NULLABLE.copy()
ausgefuehrt
werden.Graph.findCloseEdges(float, float, int)
untersucht. Sollten jedoch nur bestimmte Edge-Typen infrage kommen,
so kann hier ggf. eine reduzierte Suchmenge gesetzt werden.public static OverlayEdge createOverlayEdge(Graph graph, OverlayNode ndSource, OverlayNode ndTarget)
OverlayNode
s eine direkte Verbindung
existiert - beide also auf der gleichen Kante liegen und liefert
den ggf. neu entstandenen Abschnitt als OverlayEdge
zurueck.graph
- Graph
ndSource
- OverlayNode
StartndTarget
- OverlayNode
ZielOverlayEdge
oder null, wenn keine.
public java.lang.String toString()
toString
in class java.lang.Object
public void writeToStream(OutStream outStream)
Var
writeToStream
in interface Var<OverlayNode>
outStream
- OutStream
public OverlayNode readFromStream(InStream inStream)
Var
readFromStream
in interface Var<OverlayNode>
inStream
- InStream
this
zurueckgeben.