|
Search this API | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objecty.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 Values| Constructor 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_ROUNDEDpublic void setLineDistance(double distance)
STYLE_ROUNDED.
STYLE_ROUNDEDpublic 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_ROUNDEDpublic 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 | ||||||||