y.view
Class ArcEdgeRealizer

java.lang.Object
  |
  +--y.view.EdgeRealizer
        |
        +--y.view.ArcEdgeRealizer
All Implemented Interfaces:
EdgeLayout

public class ArcEdgeRealizer
extends EdgeRealizer

An edge realizer that displays an edge as an arc. Depending on the behavior of the radius of the arc, there are two possible modes for the realizer. In one mode the radius is always fixed independent of the distance of the two adjazent nodes, in the other mode the radius and the distance have a fixed ratio.

This realizer does have exactly one bend. Deleting or inserting bends does not have any effects.


Field Summary
static byte FIXED_HEIGHT
          Arc type specifier constant.
static byte FIXED_RATIO
          Arc type specifier constant.
 
Fields inherited from class y.view.EdgeRealizer
bends, path
 
Constructor Summary
ArcEdgeRealizer()
          Instantiates a new ArcEdgeRealizer.
ArcEdgeRealizer(byte type)
          Instantiates a new ArcEdgeRealizer with a given arc type.
ArcEdgeRealizer(EdgeRealizer er)
          Instantiates a new ArcEdgeRealizer as a copy of the given edge realizer.
 
Method Summary
static Map arcTypeToStringMap()
          Returns a map whose keys are the arc type constants wrapped in Byte objects.
 void bendChanged(Bend b, double oldX, double oldY)
          Recalculates the arc path after the bend of this edge has been moved.
protected  void calculatePath()
          Recalculates the arc path after this realizer has been marked as dirty.
 Bend createBend(double x, double y, Bend refBend, int dir)
          Has no effect, because arcs have no bends.
 EdgeRealizer createCopy(EdgeRealizer er)
          Creates a copy of this realizer type that is initialized with the attributes of the given realizer.
 byte getArcType()
          Returns the arc type of this realizer.
 float getHeight()
          Returns the height of the arc.
 int getMinBendCount()
          Returns the minimal number of bends for this realizer, which is 1.
 float getRatio()
          Returns the ratio between the distance of the end nodes of the edges and the height of the arc.
 Bend insertBend(double x, double y)
          Has no effect, because arcs have no bends
 void read(ObjectInputStream in)
          Reads in the serialized form of this realizer.
 void reInsertBend(Bend bend, Bend refBend, int dir)
          Has no effect, because arcs have no bends
 Bend removeBend(Bend b)
          Has no effect, because arcs have no bends
 void setArcType(byte t)
          Sets the arc type for this realizer.
 void setHeight(float h)
          Sets the height of the arc.
 void setRatio(float r)
          Sets the ratio between the distance of the end nodes of the edges and the height of the arc.
 void write(ObjectOutputStream out)
          Writes out this realizer in a serialized form.
 
Methods inherited from class y.view.EdgeRealizer
addLabel, addPoint, appendBend, bendCount, bendPos, bends, bindEdge, calcUnionRect, clearBends, clearPoints, contains, containsSeg, createCopy, createEdgeLabel, firstBend, getArrow, getBend, getEdge, getHighlightedBendColor, getLabel, getLabel, getLabelText, getLayer, getLineColor, getLineType, getPath, getPoint, getSelectionColor, getSelectionStroke, getSourceArrow, getSourceIntersection, getSourcePoint, getSourcePort, getSourceRealizer, getTargetArrow, getTargetIntersection, getTargetPoint, getTargetPort, getTargetRealizer, intersects, isDirty, isSelected, isVisible, labelCount, lastBend, paint, paintArrows, paintHighlightedBends, paintLabels, paintPorts, paintSloppy, pathIntersects, pointCount, recalculateFeatures, removeLabel, setArrow, setDirty, setHighlightedBendColor, setLabelText, setLayer, setLineColor, setLineType, setPoint, setPorts, setSelected, setSelectionColor, setSelectionStroke, setSourceArrow, setSourcePoint, setSourcePort, setTargetArrow, setTargetPoint, setTargetPort, setVisible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FIXED_HEIGHT

public static final byte FIXED_HEIGHT
Arc type specifier constant. This type of arc preserves the height of the arc independent of node distance.

See Also:
Constant Field Values

FIXED_RATIO

public static final byte FIXED_RATIO
Arc type specifier constant. This type of arc preserves the ratio between arc height and node distance.

See Also:
Constant Field Values
Constructor Detail

ArcEdgeRealizer

public ArcEdgeRealizer()
Instantiates a new ArcEdgeRealizer. ArcEdgeRealizer.FIXED_RATIO will be used as arc type.


ArcEdgeRealizer

public ArcEdgeRealizer(byte type)
Instantiates a new ArcEdgeRealizer with a given arc type. The arc type can be either ArcEdgeRealizer.FIXED_RATIO or ArcEdgeRealizer.FIXED_HEIGHT.


ArcEdgeRealizer

public ArcEdgeRealizer(EdgeRealizer er)
Instantiates a new ArcEdgeRealizer as a copy of the given edge realizer. If the edge realizer is not of type ArcEdgeRealizer only the standard values will be copied.

Method Detail

createCopy

public EdgeRealizer createCopy(EdgeRealizer er)
Creates a copy of this realizer type that is initialized with the attributes of the given realizer.

Specified by:
createCopy in class EdgeRealizer

setArcType

public void setArcType(byte t)
Sets the arc type for this realizer.

Parameters:
t - Either ArcEdgeRealizer.FIXED_HEIGHT or ArcEdgeRealizer.FIXED_RATIO

getArcType

public byte getArcType()
Returns the arc type of this realizer.

Returns:
Either ArcEdgeRealizer.FIXED_HEIGHT or ArcEdgeRealizer.FIXED_RATIO

getRatio

public float getRatio()
Returns the ratio between the distance of the end nodes of the edges and the height of the arc.


setRatio

public void setRatio(float r)
Sets the ratio between the distance of the end nodes of the edges and the height of the arc.

By default a ratio of 1.0 is used.


setHeight

public void setHeight(float h)
Sets the height of the arc.

By default a height of 30.0 is used.


getHeight

public float getHeight()
Returns the height of the arc.


createBend

public Bend createBend(double x,
                       double y,
                       Bend refBend,
                       int dir)
Has no effect, because arcs have no bends.

Specified by:
createBend in class EdgeRealizer
Parameters:
x - X-coordinate of the Bend
y - Y-coordinate of the Bend
refBend - Bend which should be neighbour
dir - indicates if the new Bend should be added before (Graph.BEFORE) or after (Graph.AFTER) the refBend in the bend sequence of the edge
Returns:
Return value is always null<\CODE>.

reInsertBend

public void reInsertBend(Bend bend,
                         Bend refBend,
                         int dir)
Has no effect, because arcs have no bends

Specified by:
reInsertBend in class EdgeRealizer
Parameters:
bend - the bend to be reinserted
refBend - reference bend already contained in this realizer
dir - indicates whether the bend should be inserted before or after the reference bend.Allowed values are Graph.AFTER and Graph.BEFORE.

insertBend

public Bend insertBend(double x,
                       double y)
Has no effect, because arcs have no bends

Specified by:
insertBend in class EdgeRealizer
Parameters:
x - X-coordinates of the bend
y - Y-coordinates of the bend
Returns:
Return value is always null<\CODE>.

removeBend

public Bend removeBend(Bend b)
Has no effect, because arcs have no bends

Specified by:
removeBend in class EdgeRealizer
Parameters:
b - Bend to be removed

getMinBendCount

public int getMinBendCount()
Returns the minimal number of bends for this realizer, which is 1.

Overrides:
getMinBendCount in class EdgeRealizer

bendChanged

public void bendChanged(Bend b,
                        double oldX,
                        double oldY)
Recalculates the arc path after the bend of this edge has been moved.

Overrides:
bendChanged in class EdgeRealizer
Parameters:
b - Bend which has changed position
oldX - previous x-coordinate
oldY - previous y-coordinate

calculatePath

protected void calculatePath()
Recalculates the arc path after this realizer has been marked as dirty.

Specified by:
calculatePath in class EdgeRealizer
See Also:
EdgeRealizer.path

arcTypeToStringMap

public static Map arcTypeToStringMap()
Returns a map whose keys are the arc type constants wrapped in Byte objects. The values of these keys are descriptive strings describing these types.


write

public void write(ObjectOutputStream out)
           throws IOException
Writes out this realizer in a serialized form.

Overrides:
write in class EdgeRealizer
IOException

read

public void read(ObjectInputStream in)
          throws IOException,
                 ClassNotFoundException
Reads in the serialized form of this realizer. The realizer must have been written out before by it's ArcEdgeRealizer.write(ObjectOutputStream) method.

Overrides:
read in class EdgeRealizer
IOException
ClassNotFoundException

© Copyright 2000-2003,
yWorks GmbH.
All rights reserved.

2003