|
Search this API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object y.view.EdgeRealizer y.view.PolyLineEdgeRealizer
public class PolyLineEdgeRealizer
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 java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PolyLineEdgeRealizer()
public PolyLineEdgeRealizer(EdgeRealizer er)
Method Detail |
---|
public EdgeRealizer createCopy(EdgeRealizer er)
createCopy
in class EdgeRealizer
public void setSmoothedBends(boolean b)
public boolean getSmoothedBends()
public Bend createBend(double x, double y, Bend refBend, int dir)
createBend
in class EdgeRealizer
x
- X-coordinate of the Bendy
- Y-coordinate of the BendrefBend
- Bend which should be neighbordir
- indicates if the new Bend should be added before
(Graph.BEFORE) or after (Graph.AFTER) the refBend in
the bend sequence of the edgepublic void reInsertBend(Bend bend, Bend refBend, int dir)
EdgeRealizer
reInsertBend
in class EdgeRealizer
bend
- the bend to be reinsertedrefBend
- reference bend already contained in this realizerdir
- indicates whether the bend should be inserted before or after the
reference bend.Allowed values are Graph.AFTER
and Graph.BEFORE
.public Bend insertBend(double x, double y)
(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.
insertBend
in class EdgeRealizer
x
- X-coordinates of the bendy
- Y-coordinates of the bend
Bend
instance.public Bend removeBend(Bend b)
removeBend
in class EdgeRealizer
b
- Bend to be removedpublic int containsSeg(double dx, double dy)
containsSeg
in class EdgeRealizer
public boolean pathIntersects(java.awt.geom.Rectangle2D box, boolean considerLabels)
EdgeRealizer
EdgeRealizer.contains(double,double)
method.
Its primary use is for checking whether or not an edge lies within
the bounds of a selection box.
pathIntersects
in class EdgeRealizer
box
- the box that will be used for the intersection testconsiderLabels
- if true
, labels will be considered
protected byte calculatePath(java.awt.geom.Point2D sourceIntersectionOut, java.awt.geom.Point2D targetIntersectionOut)
calculatePath
in class EdgeRealizer
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.
EdgeRealizer.PATH_UNCLIPPED
, EdgeRealizer.PATH_CLIPPED_AT_SOURCE
,
EdgeRealizer.PATH_CLIPPED_AT_TARGET
, or EdgeRealizer.PATH_CLIPPED_AT_SOURCE_AND_TARGET
EdgeRealizer.path
,
EdgeRealizer.isPathClippedAtSource()
,
EdgeRealizer.isPathClippedAtTarget()
public void registerObstacles(BridgeCalculator calculator)
calculator.registerObstacles(getPath().getPathIterator(null));
registerObstacles
in class EdgeRealizer
calculator
- the calculator instance used for the next rendering pass.public void write(java.io.ObjectOutputStream out) throws java.io.IOException
GraphML format
instead.
write
in class EdgeRealizer
java.io.IOException
public void read(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException
GraphML format
instead.
write(ObjectOutputStream)
method.
read
in class EdgeRealizer
java.io.IOException
java.lang.ClassNotFoundException
|
© Copyright 2000-2022, yWorks GmbH. All rights reserved. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |