routing
Class Edge

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

public class Edge
extends Drawable
implements java.lang.Comparable

Class representing edges.

See Also:
Serialized Form

Field Summary
protected  Node node1
          Starting node.
protected  Node node2
          End node.
 
Fields inherited from class drawables.Drawable
AREALAYER, BITMAPLAYER, container, DEFMAXSCALE, DEFMINSCALE, layer, LINELAYER, maxScale, mbr, minScale, nextOfLayer, obj, POINTLAYER, pres, selected, TEXTLAYER
 
Constructor Summary
protected Edge(long id)
          Constructor.
  Edge(long id, int edgeClass, Node node1, Node node2, java.lang.String name)
          Constructor.
  Edge(long id, int edgeClass, Node node1, Node node2, java.lang.String name, Edges edges)
          Constructor.
 
Method Summary
 void announceMove(Node node)
          Announces to the edge that the node has moved to a new position.
 void clearMark()
          Clears the mark.
 int compareTo(java.lang.Object edge)
          Comparing function concerning the edge names.
 void debugPrint()
          Ausgabe der Kante zu Debugging-Zwecken.
 void decUsage()
          Decrements the usage of the edge.
protected  void drawProtected(java.awt.Graphics g, int scale, int mode, int value)
          Draws the edge if it is visible according to the given scale.
 boolean equals(java.lang.Object edge)
          Vergleich von zwei Kanten auf Gleichheit über die ID.
 int getEdgeClass()
          Gibt Kantenklasse zurück.
 Edges getEdgeContainer()
          Returns the container 'Edges'.
 long getID()
          Gibt die ID der Kante zurück.
 double getLength()
          Gibt die Länge der Kante zurück.
 java.awt.Rectangle getMBR()
          Returns the minimum bounding rectangle of the primitive.
 java.lang.String getName()
          Returns the name of the edge.
 Node getNode1()
          Gibt den Startknoten der Kante zurück.
 Node getNode2()
          Gibt den Endknoten der Kante zurück.
 Node getOneNode()
          Gibt einen Knoten der Kante zurück.
 Node getOppositeNode(Node oneNode)
          Gibt den Knoten der Kante zurück, der nicht dem übergebenden Knoten entspricht.
 int getUsage()
          Returns the usage of the edge.
 double getWeight()
          Gibt das (gemittelte) Gewicht der Kante (in Hin- und Rückrichtung) mittels des WeightManagers zurück.
 double getWeight(boolean forwards)
          Gibt das gerichte Kantengewicht mittels des WeightManagers zurück.
 double getWeight(Node from)
          Gibt das Kantengewicht aus Richtung des übergebenen Knotens mittels des WeightManagers zurück.
 boolean hasAsNode(Node node)
          Testet, ob die Kante den übergebenen Knoten als Start- oder Endknoten besitzt.
 int hashCode()
          Gibt Hashcode für die Kante zurück.
 void incUsage()
          Increments the usage of the edge.
 boolean interacts(int x, int y, int scale)
          Tests whether the primitive is selected by a given point or not.
 boolean isDirectedTo(Node pNode2)
          Testet, ob die Kante den übergebenen Vergleichsknoten als Zielknoten besitzt.
 boolean isMarked()
          Is the edge marked?
 boolean isStartingFrom(Node pNode1)
          Testet, ob die Kante den übergebenen Vergleichsknoten als Anfangsknoten besitzt.
 void mark()
          Marks the edges.
 EntryReadable read(EntryInput r)
          Not implemented.
 void replaceNode(Node oldNode, Node newNode)
          Replaces one node of the edge by another node.
 void setEdgeClass(short edgeClass)
          Setzt die Klasse der Kante neu.
protected  void setID(long newID)
          Set a new ID.
 void setName(java.lang.String name)
          Sets the name of the edge.
 void setStandardAppearance()
          Färbt die Kante gemäß der Standardfarbe ihrer Klasse ein.
 void setUsage(short usage)
          Setzt die Benutzung der Kante neu.
 boolean write(java.io.DataOutput out)
          Schreibt die Kante in den DataOutput.
 void write(EntryWriter out)
          Schreibt die Kante in den EntryWriter.
protected  void writeProtected(EntryWriter out, int type)
          Not implemented.
 
Methods inherited from class drawables.Drawable
computeDistance, computeDistanceTo, 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

node1

protected Node node1
Starting node.


node2

protected Node node2
End node.

Constructor Detail

Edge

protected Edge(long id)
Constructor.

Parameters:
id - ID

Edge

public Edge(long id,
            int edgeClass,
            Node node1,
            Node node2,
            java.lang.String name)
Constructor.

Parameters:
id - ID
edgeClass - class of the edge
node1 - first node
node2 - second node
name - name of the node (may be null)

Edge

public Edge(long id,
            int edgeClass,
            Node node1,
            Node node2,
            java.lang.String name,
            Edges edges)
Constructor.

Parameters:
id - ID
edgeClass - class of the edge
node1 - first node
node2 - second node
name - name of the node (may be null)
edges - the container of the edges
Method Detail

announceMove

public void announceMove(Node node)
Announces to the edge that the node has moved to a new position.

Parameters:
node - one node of the edge

clearMark

public void clearMark()
Clears the mark.


compareTo

public int compareTo(java.lang.Object edge)
Comparing function concerning the edge names.

Specified by:
compareTo in interface java.lang.Comparable
Returns:
the result of compareTo on the names

debugPrint

public void debugPrint()
Ausgabe der Kante zu Debugging-Zwecken.


decUsage

public void decUsage()
Decrements the usage of the edge.


drawProtected

protected void drawProtected(java.awt.Graphics g,
                             int scale,
                             int mode,
                             int value)
Draws the edge 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
value - value

equals

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

Overrides:
equals in class java.lang.Object
Parameters:
edge - zu vergleichende Kante
Returns:
Kanten gleich?

getEdgeClass

public int getEdgeClass()
Gibt Kantenklasse zurück.

Returns:
Kantenklasse

getEdgeContainer

public Edges getEdgeContainer()
Returns the container 'Edges'.

Returns:
the container

getID

public long getID()
Gibt die ID der Kante zurück.

Returns:
ID

getLength

public double getLength()
Gibt die Länge der Kante zurück.

Returns:
Länge

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 edge.

Returns:
the name

getNode1

public Node getNode1()
Gibt den Startknoten der Kante zurück.

Returns:
Startknoten

getNode2

public Node getNode2()
Gibt den Endknoten der Kante zurück.

Returns:
Endknoten

getOneNode

public Node getOneNode()
Gibt einen Knoten der Kante zurück.

Returns:
der Knoten

getOppositeNode

public Node getOppositeNode(Node oneNode)
Gibt den Knoten der Kante zurück, der nicht dem übergebenden Knoten entspricht.

Parameters:
oneNode - Vergleichsknoten
Returns:
gegenüberliegender Knoten

getUsage

public int getUsage()
Returns the usage of the edge.

Returns:
usage

getWeight

public double getWeight()
Gibt das (gemittelte) Gewicht der Kante (in Hin- und Rückrichtung) mittels des WeightManagers zurück.

Returns:
Gewicht der Kante

getWeight

public double getWeight(Node from)
Gibt das Kantengewicht aus Richtung des übergebenen Knotens mittels des WeightManagers zurück.

Parameters:
from - Ausgangsknoten
Returns:
Kantengewicht

getWeight

public double getWeight(boolean forwards)
Gibt das gerichte Kantengewicht mittels des WeightManagers zurück.

Parameters:
forwards - Kante vorwärts gerichtet?
Returns:
Kantengewicht

hasAsNode

public boolean hasAsNode(Node node)
Testet, ob die Kante den übergebenen Knoten als Start- oder Endknoten besitzt.

Parameters:
node - Vergleichsknoten
Returns:
besitzt den Knoten?

hashCode

public int hashCode()
Gibt Hashcode für die Kante zurück.

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

incUsage

public void incUsage()
Increments the usage of the edge.


interacts

public boolean interacts(int x,
                         int y,
                         int scale)
Description copied from class: Drawable
Tests whether the primitive is selected by a given point or not. The default implementation is based on the mbr of the primitive.

Overrides:
interacts in class Drawable
Parameters:
x - x-coordinate of the point
y - y-coordinate of the point
scale - actuals scale
Returns:
selected?

isDirectedTo

public boolean isDirectedTo(Node pNode2)
Testet, ob die Kante den übergebenen Vergleichsknoten als Zielknoten besitzt.

Parameters:
pNode2 - Vergleichsknoten
Returns:
ist Zielknoten?

isMarked

public boolean isMarked()
Is the edge marked?

Returns:
marked?

isStartingFrom

public boolean isStartingFrom(Node pNode1)
Testet, ob die Kante den übergebenen Vergleichsknoten als Anfangsknoten besitzt.

Parameters:
pNode1 - Vergleichsknoten
Returns:
ist Anfangsknoten?

mark

public void mark()
Marks the edges.


read

public EntryReadable read(EntryInput r)
Not implemented.

Specified by:
read in interface EntryReadable
Parameters:
r - Entry-Input
Returns:
eingelesenes Objekt bzw. null

replaceNode

public void replaceNode(Node oldNode,
                        Node newNode)
Replaces one node of the edge by another node.

Parameters:
oldNode - old node
newNode - new node

setEdgeClass

public void setEdgeClass(short edgeClass)
Setzt die Klasse der Kante neu.

Parameters:
edgeClass - Kantenklasse

setID

protected void setID(long newID)
Set a new ID.

Parameters:
newID - the new ID

setName

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

Parameters:
name - new name

setStandardAppearance

public void setStandardAppearance()
Färbt die Kante gemäß der Standardfarbe ihrer Klasse ein.


setUsage

public void setUsage(short usage)
Setzt die Benutzung der Kante neu.

Parameters:
usage - Benutzung

write

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

Parameters:
out - DataOutput
Returns:
erfolgreich?

write

public void write(EntryWriter out)
Schreibt die Kante 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)