routing
Class Node

java.lang.Object
  |
  +--drawables.Drawable
        |
        +--routing.Node
All Implemented Interfaces:
EntryReadable, java.io.Serializable

public class Node
extends Drawable

Class for representing nodes.

See Also:
Serialized Form

Field Summary
protected  short[] heapPos
          Positions in a heap depending of the path (1 and 2)
protected  int x
          x-coordinate.
protected  int y
          y-coordinate.
 
Fields inherited from class drawables.Drawable
AREALAYER, BITMAPLAYER, container, DEFMAXSCALE, DEFMINSCALE, layer, LINELAYER, maxScale, mbr, minScale, nextOfLayer, obj, POINTLAYER, pres, selected, TEXTLAYER
 
Constructor Summary
Node(long id, int x, int y)
          Constructor.
Node(long id, int x, int y, Nodes nodes)
          Constructor.
Node(long id, int x, int y, java.lang.String name, Nodes nodes)
          Constructor.
 
Method Summary
protected  void adaptClass(int newEdgeClass)
          Passt die Knotenklasse an die neue Kantenklasse an.
 void addEdge(Edge newEdge)
          Fügt eine neue Kante dem Knoten zu.
 void clearMark(int value)
          Löscht die angegebene Markierung vom Knoten.
 void clearWays()
          Löscht alle Wege, die vom Knoten ausgehen.
 double computeDistanceTo(int x, int y)
          Computes the distance of the drawing primitive to a point.
 void debugPrint(int way)
          Ausgabe des Knotens zu Debugging-Zwecken.
 double distanceTo(Node node)
          Berechnet den Abstand des Knotens zu dem angegebenen Knoten.
protected  void drawProtected(java.awt.Graphics g, int scale, int mode, int pvalue)
          Draws the node if it is visible according to the given scale.
 boolean equals(java.lang.Object node)
          Vergleich von zwei Knoten auf Gleichheit über die ID.
 double getDistanceOfWay(int way)
          Gibt die Distanz bei dem Knoten bezüglich des angegebenen Weges zurück.
 Edge getFirstEdge()
          Gibt die erste Kante des Knotens zurück.
 long getID()
          Gibt die ID des Knotens zurück.
 java.awt.Rectangle getMBR()
          Returns the minimum bounding rectangle of the primitive.
 java.lang.String getName()
          Returns the name of the node.
 Edge getNextEdge()
          Gibt die nächste Kante des Knotens zurück, nachdem zuvor getFirstEdge und ggf. darauffolgend getNextEdge aufgerufen worden waren.
 int getNodeClass()
          Gibt Knotenklasse zurück.
 Nodes getNodeContainer()
          Returns the container 'Nodes'.
 int getNumOfEdges()
          Gibt die Anzahl der anliegenden Kanten zurück.
 Edge getWayEdge(int way)
          Gibt die Kante zurück, über die der angefragte Weg verläuft.
 int getX()
          Returns the x-coordinate.
 int getY()
          Returns the y-coordinate.
 int hashCode()
          Gibt Hashcode für den Knoten zurück.
 void highlight(java.lang.String presName)
          Färbt den Knoten in der Hervorhebungsfarbe ein.
 boolean interacts(int px, int py, int scale)
          Testet, ob das Symbol durch den übergebenen Punkt ausgewählt wird.
 boolean isMarked(int value)
          Gibt zurück, ob der Knoten mit dem angegebenen Wert markiert ist.
 void mark(int value)
          Markiert den Knoten mit dem angegebenen Wert.
 void moveTo(int x, int y)
          Moves the node to a new position.
 EntryReadable read(EntryInput r)
          Not implemented.
 void removeEdge(Edge oldEdge)
          Entfernt Kante vom Knoten.
 void replaceBy(Node node)
          Replaces the actual node by the parameter node.
 void setDistanceOfWay(int way, double distance)
          Setzt die Distanz bezüglich des angegebenen Weges.
protected  void setID(long newID)
          Sets the ID of the node.
 void setName(java.lang.String name)
          Sets the name of the node.
 void setStandardAppearance()
          Färbt den Knoten in der Standardfarbe ein.
 void setWay(int way, Edge e)
          Merkt sich die angegebene Kante als weiteren Verlauf des angegebenen Weges.
 boolean write(java.io.DataOutput out)
          Schreibt den Knoten in den DataOutput.
 void write(EntryWriter out)
          Schreibt den Knoten in den EntryWriter.
protected  void writeProtected(EntryWriter out, int type)
          Not implemented.
 
Methods inherited from class drawables.Drawable
computeDistance, contains, draw, draw, draw, draw, getContainer, getId, getLayer, getMaxScale, getMinScale, getNextOfLayer, getObject, getPresentation, getPresentation, getType, intersects, intersects, intersects, isContainedBy, isVisible, readCoord, readCoord, readDrawable, readDrawable, setContainer, setLayer, setMaxScale, setMBR, setMinScale, setNextOfLayer, setObject, setPresentation, setSelection, toString, write, writeCoord, writeCoord, writeGML
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

x

protected int x
x-coordinate.


y

protected int y
y-coordinate.


heapPos

protected short[] heapPos
Positions in a heap depending of the path (1 and 2)

Constructor Detail

Node

public Node(long id,
            int x,
            int y)
Constructor.

Parameters:
id - id of the node
x - x-coordinate
y - y-coordinate

Node

public Node(long id,
            int x,
            int y,
            java.lang.String name,
            Nodes nodes)
Constructor.

Parameters:
id - id of the node
x - x-coordinate
y - y-coordinate
name - name
nodes - container

Node

public Node(long id,
            int x,
            int y,
            Nodes nodes)
Constructor.

Parameters:
id - id of the node
x - x-coordinate
y - y-coordinate
nodes - container
Method Detail

adaptClass

protected void adaptClass(int newEdgeClass)
Passt die Knotenklasse an die neue Kantenklasse an.

Parameters:
newEdgeClass - neue Kantenklasse

addEdge

public void addEdge(Edge newEdge)
Fügt eine neue Kante dem Knoten zu.

Parameters:
newEdge - die neue Kante

clearMark

public void clearMark(int value)
Löscht die angegebene Markierung vom Knoten.

Parameters:
value - Wert der Markierung

clearWays

public void clearWays()
Löscht alle Wege, die vom Knoten ausgehen.


computeDistanceTo

public double computeDistanceTo(int x,
                                int y)
Computes the distance of the drawing primitive to a point.

Overrides:
computeDistanceTo in class Drawable
Parameters:
x - x-coordinate of the point
y - x-coordinate of the point
Returns:
distance

debugPrint

public void debugPrint(int way)
Ausgabe des Knotens zu Debugging-Zwecken.


distanceTo

public double distanceTo(Node node)
Berechnet den Abstand des Knotens zu dem angegebenen Knoten.

Parameters:
node - Vergleichs-Knoten
Returns:
Abstand

drawProtected

protected void drawProtected(java.awt.Graphics g,
                             int scale,
                             int mode,
                             int pvalue)
Draws the node if it is visible according to the given scale.

Specified by:
drawProtected in class Drawable
Parameters:
g - graphic context
scale - current scale
mode - draw mode
pvalue - presentation value

equals

public boolean equals(java.lang.Object node)
Vergleich von zwei Knoten auf Gleichheit über die ID.

Overrides:
equals in class java.lang.Object
Parameters:
node - zu vergleichender Knoten
Returns:
Knoten gleich?

getDistanceOfWay

public double getDistanceOfWay(int way)
Gibt die Distanz bei dem Knoten bezüglich des angegebenen Weges zurück.

Returns:
Distanz

getFirstEdge

public Edge getFirstEdge()
Gibt die erste Kante des Knotens zurück. Existiert keine Kante, wird null zurückgegeben.

Returns:
erste Kante

getID

public long getID()
Gibt die ID des Knotens zurück.

Returns:
ID des Knotens

getMBR

public java.awt.Rectangle getMBR()
Returns the minimum bounding rectangle of the primitive.

Overrides:
getMBR in class Drawable
Returns:
the MBR

getName

public java.lang.String getName()
Returns the name of the node.

Returns:
Name

getNextEdge

public Edge getNextEdge()
Gibt die nächste Kante des Knotens zurück, nachdem zuvor getFirstEdge und ggf. darauffolgend getNextEdge aufgerufen worden waren. Existiert nächste Kante, wird null zurückgegeben.

Returns:
nächste Kante

getNodeClass

public int getNodeClass()
Gibt Knotenklasse zurück.

Returns:
Knotenklasse

getNodeContainer

public Nodes getNodeContainer()
Returns the container 'Nodes'.

Returns:
the container

getNumOfEdges

public int getNumOfEdges()
Gibt die Anzahl der anliegenden Kanten zurück.

Returns:
int

getWayEdge

public Edge getWayEdge(int way)
Gibt die Kante zurück, über die der angefragte Weg verläuft.

Parameters:
way - Index des Weges
Returns:
Kante, über die der Weg verläuft

hashCode

public int hashCode()
Gibt Hashcode für den Knoten zurück.

Overrides:
hashCode in class java.lang.Object
Returns:
Hashcode

getX

public int getX()
Returns the x-coordinate.

Returns:
x

getY

public int getY()
Returns the y-coordinate.

Returns:
y

highlight

public void highlight(java.lang.String presName)
Färbt den Knoten in der Hervorhebungsfarbe ein.

Parameters:
presName - Darstellungsname

interacts

public boolean interacts(int px,
                         int py,
                         int scale)
Testet, ob das Symbol durch den übergebenen Punkt ausgewählt wird.

Overrides:
interacts in class Drawable
Parameters:
px - x-Koordinate in Basis-Koordinaten
py - y-Koordinate in Basis-Koordinaten
scale - akt. Maßstab
Returns:
ausgewählt?

isMarked

public boolean isMarked(int value)
Gibt zurück, ob der Knoten mit dem angegebenen Wert markiert ist.

Parameters:
value - Markierungswert
Returns:
markiert?

mark

public void mark(int value)
Markiert den Knoten mit dem angegebenen Wert.

Parameters:
value - Markierunsgwert

moveTo

public void moveTo(int x,
                   int y)
Moves the node to a new position.

Parameters:
x - new x-coordinate
y - new y-coordinate

read

public EntryReadable read(EntryInput r)
Not implemented.

Parameters:
r - Entry-Input
Returns:
eingelesenes Objekt bzw. null

removeEdge

public void removeEdge(Edge oldEdge)
Entfernt Kante vom Knoten. Die Knotenklassen werden z.Zt. nicht angepasst.

Parameters:
oldEdge - zu entfernende Kante

replaceBy

public void replaceBy(Node node)
Replaces the actual node by the parameter node.

Parameters:
node - replacing node

setDistanceOfWay

public void setDistanceOfWay(int way,
                             double distance)
Setzt die Distanz bezüglich des angegebenen Weges.

Parameters:
way - Index des Weges
distance - Distanz

setID

protected void setID(long newID)
Sets the ID of the node.

Parameters:
newID - the new ID

setName

public void setName(java.lang.String name)
Sets the name of the node.

Parameters:
name - new name

setStandardAppearance

public void setStandardAppearance()
Färbt den Knoten in der Standardfarbe ein.


setWay

public void setWay(int way,
                   Edge e)
Merkt sich die angegebene Kante als weiteren Verlauf des angegebenen Weges.

Parameters:
way - Index des Wegs
e - Kante, über der der Weg verläuft

write

public boolean write(java.io.DataOutput out)
Schreibt den Knoten in den DataOutput.

Parameters:
out - DataOutput
Returns:
erfolgreich?

write

public void write(EntryWriter out)
Schreibt den Knoten in den EntryWriter.

Parameters:
out - EntryWriter

writeProtected

protected void writeProtected(EntryWriter out,
                              int type)
Not implemented.

Specified by:
writeProtected in class Drawable
Parameters:
out - entry writer
type - type of the output (meaning depends on the concrete subclass)