|
Search this API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object y.layout.AbstractLayoutStage y.layout.SelfLoopLayouter
public class SelfLoopLayouter
A layout algorithm that routes the self-loops (reflexive edges) of a graph. By default, this layouter routes self-loops in an orthogonal fashion. It places the self-loop in the least crowded quadrant around a node.
A core layout algorithm can be specified for this class. In that case, the performed layout process of this class is subdivided into four stages:
Field Summary | |
---|---|
static Object |
KEEP_SELF_LOOP_LAYOUT_DPKEY
This DataProvider key can be used to register a DataProvider
with the graph to be laid out. |
static byte |
STYLE_ORTHOGONAL
Edge layout style modifier. |
static byte |
STYLE_ROUNDED
Edge layout style modifier. |
Fields inherited from interface y.layout.Layouter |
---|
EDGE_ID_DPKEY, NODE_ID_DPKEY, SELECTED_EDGES, SELECTED_NODES |
Constructor Summary | |
---|---|
SelfLoopLayouter()
Instantiates a new SelfLoopLayouter. |
|
SelfLoopLayouter(Layouter coreLayouter)
Instantiates a new SelfLoopLayouter. |
Method Summary | |
---|---|
boolean |
canLayout(LayoutGraph graph)
Whether or not this layouter can layout the given graph. |
void |
doLayout(LayoutGraph graph)
Lays out the given graph. |
int |
getCornerApproximationPointsCount()
Returns the number of points that are used to round the corner of the selfloops. |
byte |
getLayoutStyle()
Returns the layout style to be used. |
double |
getLineDistance()
Returns the distance between two adjacent paths that run in parallel. |
boolean |
isKeepAllSelfloopLayoutsEnabled()
Returns whether this algorithm should keep the existing layout of all self-loops. |
boolean |
isSmartSelfloopPlacementEnabled()
Whether or not smart selfloop placement should be enabled. |
protected void |
layoutSelfLoops(LayoutGraph graph)
Lays out the self-loops of the given graph. |
void |
setCornerApproximationPointsCount(int cornerApproximationPointsCount)
Sets the number of points that are used to round the corner of the selfloops. |
void |
setKeepAllSelfloopLayoutsEnabled(boolean keepAllSelfloopLayouts)
Sets whether this algorithm should keep all self loops. |
void |
setLayoutStyle(byte layoutStyle)
Sets the layout style to be used. |
void |
setLineDistance(double distance)
Sets the distance between two selfloops incident to the same node. |
void |
setSmartSelfloopPlacementEnabled(boolean smartSelfloopPlacementEnabled)
Whether or not smart selfloop placement should be enabled. |
Methods inherited from class y.layout.AbstractLayoutStage |
---|
canLayoutCore, doLayoutCore, getCoreLayouter, setCoreLayouter |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final Object KEEP_SELF_LOOP_LAYOUT_DPKEY
DataProvider
key can be used to register a DataProvider
with the graph to be laid out. This algorithm will query for each self-loop
the boolean value from the data provider to determine whether the current layout
of the self-loop should be kept. I.e., if the DataProvider
instance
obtained from the graph using this key returns true
for a self-loop,
that self-loop will not be laid out by this stage but the bends will be moved
by that stage according to the movement of their node.
setKeepAllSelfloopLayoutsEnabled(boolean)
public static final byte STYLE_ORTHOGONAL
setLayoutStyle(byte)
.
setLayoutStyle(byte)
,
Constant Field Valuespublic static final byte STYLE_ROUNDED
setLayoutStyle(byte)
.
setLayoutStyle(byte)
,
Constant Field ValuesConstructor Detail |
---|
public SelfLoopLayouter()
public SelfLoopLayouter(Layouter coreLayouter)
Method Detail |
---|
public int getCornerApproximationPointsCount()
setCornerApproximationPointsCount(int)
public void setCornerApproximationPointsCount(int cornerApproximationPointsCount)
STYLE_ROUNDED
is used.
cornerApproximationPointsCount
- STYLE_ROUNDED
public void setLineDistance(double distance)
STYLE_ROUNDED
.
STYLE_ROUNDED
public double getLineDistance()
public boolean isSmartSelfloopPlacementEnabled()
setSmartSelfloopPlacementEnabled(boolean)
public void setSmartSelfloopPlacementEnabled(boolean smartSelfloopPlacementEnabled)
smartSelfloopPlacementEnabled
- whether or not smart selfloop placement should be enabled.public byte getLayoutStyle()
setLayoutStyle(byte)
public void setLayoutStyle(byte layoutStyle)
STYLE_ORTHOGONAL
(default) and STYLE_ROUNDED
.
layoutStyle
- the layout style to be used.STYLE_ORTHOGONAL
,
STYLE_ROUNDED
public void doLayout(LayoutGraph graph)
public boolean canLayout(LayoutGraph graph)
protected void layoutSelfLoops(LayoutGraph graph)
public boolean isKeepAllSelfloopLayoutsEnabled()
KEEP_SELF_LOOP_LAYOUT_DPKEY
data provider
will be ignored.
No layout for any self-loop will be calculated, instead the existing self-loop
layout will be moved with its node.
false
.
public void setKeepAllSelfloopLayoutsEnabled(boolean keepAllSelfloopLayouts)
KEEP_SELF_LOOP_LAYOUT_DPKEY
DataProvider will be ignored. No layout for any self-loop will be calculated, instead the existing self-loop
layout will be moved with its node.
keepAllSelfloopLayouts
- whether all self loops should be kept.isKeepAllSelfloopLayoutsEnabled()
|
© Copyright 2000-2013, yWorks GmbH. All rights reserved. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |