Search this API

y.view
Class PolyLineEdgeRealizer

java.lang.Object
  extended by y.view.EdgeRealizer
      extended by y.view.PolyLineEdgeRealizer
All Implemented Interfaces:
EdgeLayout

public class PolyLineEdgeRealizer
extends EdgeRealizer

An edge realizer that displays an edge as a polyline. A polyline consists of a sequence of straight-line segments. The position of the bends determine the junction points of these segments.

A special feature of this realizer is to draw a circular shaped edge path for self-loop edges that to no contain any bends.

 

Field Summary
 
Fields inherited from class y.view.EdgeRealizer
bends, path, PATH_CLIPPED_AT_SOURCE, PATH_CLIPPED_AT_SOURCE_AND_TARGET, PATH_CLIPPED_AT_TARGET, PATH_INVISBLE, PATH_UNCLIPPED
 
Constructor Summary
PolyLineEdgeRealizer()
          Constructs a new PolyLineEdgeRealizer with no bends.
PolyLineEdgeRealizer(EdgeRealizer er)
          Constructs a new PolyLineEdgeRealizer as a copy of the given realizer.
 
Method Summary
protected  byte calculatePath(java.awt.geom.Point2D sourceIntersectionOut, java.awt.geom.Point2D targetIntersectionOut)
          Calculates the poly-line path of this realizer.
 int containsSeg(double dx, double dy)
          like contains(), but returns number of the hit segment, 0 otherwise.
 Bend createBend(double x, double y, Bend refBend, int dir)
          Adds a new bend before or after the given reference bend.
 EdgeRealizer createCopy(EdgeRealizer er)
          Creates a copy of this realizer type that is initialized with the attributes of the given realizer.
 boolean getSmoothedBends()
          Returns whether or not to draw bends in a smoothed fashion.
 Bend insertBend(double x, double y)
          Inserts a new bend at location (x,y) into this realizer.
 boolean pathIntersects(java.awt.geom.Rectangle2D box, boolean considerLabels)
          This method complements the EdgeRealizer.contains(double,double) method.
 void read(java.io.ObjectInputStream in)
          Deprecated. Use the GraphML format instead.
 void registerObstacles(BridgeCalculator calculator)
          Calls calculator.registerObstacles(getPath().getPathIterator(null));
 void reInsertBend(Bend bend, Bend refBend, int dir)
          Reinserts a bend to the edge which had been removed before.
 Bend removeBend(Bend b)
          Removes a Bend of this realizer
 void setSmoothedBends(boolean b)
          Sets whether or not to draw bends in a smoothed fashion.
 void write(java.io.ObjectOutputStream out)
          Deprecated. Use the GraphML format instead.
 
Methods inherited from class y.view.EdgeRealizer
addLabel, addPoint, appendBend, bendChanged, bendCount, bendPos, bends, bindEdge, calculateClippingAndIntersection, calcUnionRect, clearBends, clearPoints, contains, createCopy, createEdgeLabel, firstBend, getArrow, getArrowScaleFactor, getBend, getEdge, getHighlightedBendColor, getLabel, getLabel, getLabelText, getLayer, getLineColor, getLineType, getMinBendCount, getMouseInputEditorProvider, getPath, getPoint, getSelectionColor, getSelectionStroke, getSourceArrow, getSourceIntersection, getSourcePoint, getSourcePort, getSourceRealizer, getTargetArrow, getTargetIntersection, getTargetPoint, getTargetPort, getTargetRealizer, hasVisiblePath, intersects, isDirty, isLabelRenderingOrderInverted, isPathClippedAtSource, isPathClippedAtTarget, isReversedPathRenderingEnabled, isSelected, isVisible, labelBoundsChanged, labelCount, lastBend, paint, paintArrows, paintBends, paintHighlightedBends, paintLabels, paintPorts, paintSloppy, pointCount, recalculateFeatures, removeLabel, removeLabel, repaint, setArrow, setDirty, setHighlightedBendColor, setLabelRenderingOrderInverted, setLabelText, setLayer, setLineColor, setLineType, setPoint, setPorts, setReversedPathRenderingEnabled, 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
 

Constructor Detail

PolyLineEdgeRealizer

public PolyLineEdgeRealizer()
Constructs a new PolyLineEdgeRealizer with no bends.


PolyLineEdgeRealizer

public PolyLineEdgeRealizer(EdgeRealizer er)
Constructs a new PolyLineEdgeRealizer as a copy of the given realizer. If the given realizer is not of the same type as this class only the known 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

setSmoothedBends

public void setSmoothedBends(boolean b)
Sets whether or not to draw bends in a smoothed fashion.


getSmoothedBends

public boolean getSmoothedBends()
Returns whether or not to draw bends in a smoothed fashion. By default bends are drawn regularly.


createBend

public Bend createBend(double x,
                       double y,
                       Bend refBend,
                       int dir)
Adds a new bend before or after the given reference bend.

Specified by:
createBend in class EdgeRealizer
Parameters:
x - X-coordinate of the Bend
y - Y-coordinate of the Bend
refBend - Bend which should be neighbor
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

reInsertBend

public void reInsertBend(Bend bend,
                         Bend refBend,
                         int dir)
Description copied from class: EdgeRealizer
Reinserts a bend to the edge which had been removed before.

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)
Inserts a new bend at location (x,y) into this realizer.

If the given coordinate lies on an visible segment of the path, then the bend will be inserted in such a way that the segment splits in two parts. Otherwise the bend will be appended to the list of bends.

Specified by:
insertBend in class EdgeRealizer
Parameters:
x - X-coordinates of the bend
y - Y-coordinates of the bend
Returns:
a new Bend instance.

removeBend

public Bend removeBend(Bend b)
Removes a Bend of this realizer

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

containsSeg

public int containsSeg(double dx,
                       double dy)
like contains(), but returns number of the hit segment, 0 otherwise.

Overrides:
containsSeg in class EdgeRealizer

pathIntersects

public boolean pathIntersects(java.awt.geom.Rectangle2D box,
                              boolean considerLabels)
Description copied from class: EdgeRealizer
This method complements the EdgeRealizer.contains(double,double) method. Its primary use is for checking whether or not an edge lies within the bounds of a selection box.

Overrides:
pathIntersects in class EdgeRealizer
Parameters:
box - the box that will be used for the intersection test
considerLabels - if true, labels will be considered
Returns:
if any segment or label intersects the given box

calculatePath

protected byte calculatePath(java.awt.geom.Point2D sourceIntersectionOut,
                             java.awt.geom.Point2D targetIntersectionOut)
Calculates the poly-line path of this realizer.

Specified by:
calculatePath in class EdgeRealizer
Parameters:
sourceIntersectionOut - output parameter for the coordinates of the source intersection point calculated by this method.
targetIntersectionOut - output parameter for the coordinates of the target intersection point calculated by this method.
Returns:
either EdgeRealizer.PATH_UNCLIPPED, EdgeRealizer.PATH_CLIPPED_AT_SOURCE, EdgeRealizer.PATH_CLIPPED_AT_TARGET, or EdgeRealizer.PATH_CLIPPED_AT_SOURCE_AND_TARGET
See Also:
EdgeRealizer.path, EdgeRealizer.isPathClippedAtSource(), EdgeRealizer.isPathClippedAtTarget()

registerObstacles

public void registerObstacles(BridgeCalculator calculator)
Calls calculator.registerObstacles(getPath().getPathIterator(null));

Overrides:
registerObstacles in class EdgeRealizer
Parameters:
calculator - the calculator instance used for the next rendering pass.

write

public void write(java.io.ObjectOutputStream out)
           throws java.io.IOException
Deprecated. Use the GraphML format instead.

Writes out this realizer in a serialized form.

Overrides:
write in class EdgeRealizer
Throws:
java.io.IOException

read

public void read(java.io.ObjectInputStream in)
          throws java.io.IOException,
                 java.lang.ClassNotFoundException
Deprecated. Use the GraphML format instead.

Reads in the serialized form of this realizer. The realizer must have been written out before by its write(ObjectOutputStream) method.

Overrides:
read in class EdgeRealizer
Throws:
java.io.IOException
java.lang.ClassNotFoundException

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