|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectilog.views.graphlayout.IlvGraphLayout
ilog.views.graphlayout.tree.IlvTreeLayout
public class IlvTreeLayout
The main class for the Tree Layout algorithm.
The Tree Layout algorithm places the nodes of a tree starting from the root of the tree to the leaves. If the graph has parts that are disconnected, it arranges each connected component as an individual tree. The Tree Layout algorithm is primarily designed for a forest of pure trees. In a tree, each node except the root has a parent node. All the nodes that have the same parent are called children with respect to the parent and siblings with respect to each other. The Tree Layout algorithm can also be used for non-trees (for example, cyclic graphs). In this case, the layout algorithm ignores those links that violate the tree structure and takes only the spanning tree of the graph into account.
The algorithm has several layout modes:
Several alignment options are provided. In particular, the free layout mode allows the tip-over alignment, which means that subtrees are arranged serially rather than in parallel. If the subtrees starting at one node are normally arranged horizontally, the tip-over alignment arranges them vertically. The tree layout provides layout modes that automatically adapt the tip-over alignment to best fit the layout to a given aspect ratio.
The following sample drawings are produced by the Tree Layout algorithm. The left drawing uses the level layout mode. The flow direction of the links is towards the bottom, and the nodes are south-justified (that is, they are aligned to the bottom) within each level. The right drawing is the same tree in free layout mode (which always uses north level alignment):
Here is another sample drawing in free layout mode with the tip-over alignment at some leaf nodes:
The following are two sample drawings in the two radial layout modes. The normal radial mode in the left drawing places the nodes of the same level on a circle around the root node. The alternating radial mode in the right drawing places the nodes of the same level alternating on two circles around the root node. This results in better usage of the space.
In nonradial layout modes, the Tree Layout algorithm supports different styles of links in the same drawing. The following sample drawing shows orthogonal and straight-line links. It also shows nodes that are aligned to the center (see the red nodes), to the east (green), and to the west (blue) of their children. The drawing was created by the free layout mode with the link flow direction to the right, and so north is to the left.
The Tree Layout algorithm supports node neighboring in all modes. The following sample drawing shows a tree layout with the flow direction towards the top. Some nodes are not placed as children but rather as neighbors at the same level as the corresponding parent node. The red links, which are perpendicular to the flow direction, are between nodes that were specified as neighbored.
See the corresponding chapter of the User's Manual for details on the algorithm, the types of graphs for which this algorithm can be used, the features and limitations, code samples, and so on.
Note the following points:
| Field Summary | |
|---|---|
static int |
ALTERNATING_RADIAL
Alternating radial layout mode. |
static int |
AUTOMATIC_PINS
Automatic connector pin option. |
static int |
BORDER_CENTER
Border center alignment option. |
static int |
CENTER
Center alignment option. |
static int |
CENTERED_PINS
Centered connector pin option. |
static int |
CLIPPED_PINS
Clipped connector pin option. |
static int |
EAST
East alignment option. |
static int |
EVENLY_SPACED_PINS
Evenly spaced connector pin option. |
static int |
FREE
Free layout mode. |
static int |
LEVEL
Level layout mode. |
static int |
MIXED
Mixed alignment option. |
static int |
MIXED_STYLE
Mixed link shape option. |
static int |
NO_RESHAPE_STYLE
No reshape option. |
static int |
NORTH
North alignment option. |
static int |
ORTHOGONAL_STYLE
Orthogonal link shape option. |
static int |
RADIAL
Radial layout mode. |
static int |
SOUTH
South alignment option. |
static int |
STRAIGHT_LINE_STYLE
Straight-line link shape option. |
static int |
TIP_LEAVES_OVER
Tip-over layout mode. |
static int |
TIP_OVER
Tip-over alignment option. |
static int |
TIP_OVER_BOTH_SIDES
Tip-over to both sides alignment option. |
static int |
TIP_ROOTS_AND_LEAVES_OVER
Tip-over layout mode. |
static int |
TIP_ROOTS_OVER
Tip-over layout mode. |
static int |
WEST
West alignment option. |
| Fields inherited from class ilog.views.graphlayout.IlvGraphLayout |
|---|
INVERSE_VIEW_COORDINATES, MANAGER_COORDINATES, VIEW_COORDINATES |
| Constructor Summary | |
|---|---|
IlvTreeLayout()
Creates a new instance of the Tree Layout algorithm. |
|
IlvTreeLayout(IlvTreeLayout source)
Creates a new layout instance by copying an existing one. |
|
| Method Summary | |
|---|---|
int |
checkAppropriateLink(Object link)
Checks whether the input link is appropriate for this layout. |
void |
cleanLink(IlvGraphModel graphModel,
Object link)
Cleans a link. |
void |
cleanNode(IlvGraphModel graphModel,
Object node)
Cleans a node. |
IlvGraphLayout |
copy()
Copies the layout instance. |
void |
copyParameters(IlvGraphLayout source)
Copies the parameters from a given layout instance. |
protected IlvGraphLayoutGrapherProperty |
createLayoutGrapherProperty(String name,
boolean withDefaults)
Returns a new instance of IlvTreeLayoutGrapherProperty
that stores the parameter settings of this layout class. |
protected IlvGraphLayoutLinkProperty |
createLayoutLinkProperty(String name,
IlvGraphic link,
boolean withDefaults)
Returns a new instance of IlvTreeLayoutLinkProperty
that stores the parameter settings of this layout class for links. |
protected IlvGraphLayoutNodeProperty |
createLayoutNodeProperty(String name,
IlvGraphic node,
boolean withDefaults)
Returns a new instance of IlvTreeLayoutNodeProperty
that stores the parameter settings of this layout class for nodes. |
void |
detach()
Detaches the graph model from the layout instance. |
int |
getAlignment(Object node)
Returns the local alignment option of the node. |
float |
getAspectRatio()
Returns the aspect ratio specified for the layout. |
float |
getBranchOffset()
Returns the minimal offset between neighbor nodes that belong to different branches in the tree. |
Enumeration |
getCalcBackwardTreeLinks()
Returns the backward links that were used in the reverse direction as part of the spanning tree during layout. |
Enumeration |
getCalcForwardTreeLinks()
Returns the forward links that were used as part of the spanning tree during the layout. |
Enumeration |
getCalcNonTreeLinks()
Returns the links that were neither forward nor backward links in the spanning tree during layout. |
Enumeration |
getCalcRoots()
Returns the nodes that were used as roots during layout. |
int |
getConnectorStyle()
Returns the style of the connectors. |
Object |
getEastNeighbor(Object node)
Returns the specified east neighbor node of the input node, or null if none was specified. |
int |
getFlowDirection()
Returns the current direction of the flow. |
int |
getGlobalAlignment()
Returns the global alignment option. |
int |
getGlobalLinkStyle()
Returns the global style of the shapes of links. |
int |
getLayoutMode()
Returns the current layout mode. |
int |
getLevelAlignment()
Returns the current alignment within the levels. |
int |
getLinkStyle(Object link)
Returns the style of the shape of an individual link. |
int |
getMaxChildrenAngle()
Returns the maximal angle for children that are placed in radial mode. |
IlvGraphicVector |
getMovingNodes()
Returns the vector of nodes being moved by the graph layout algorithm. |
float |
getOrthForkPercentage()
Returns the percentage of the parent-child offset that determines the location where the orthogonal link routing places the bends in order to fork the routing towards the children. |
float |
getOverlapPercentage()
Returns the percentage for which a node is considered smaller in the flow direction. |
float |
getParentChildOffset()
Returns the minimal offset between a parent and its children. |
IlvPoint |
getPosition()
Returns the specified position of the layout. |
int |
getRootPreference(Object node)
Returns the specified preference of the node to become root node. |
float |
getSiblingOffset()
Returns the minimal offset between siblings. |
Enumeration |
getSpecRoots()
Returns the nodes that were specified as root. |
float |
getTipOverBranchOffset()
Returns the minimal offset in the flow direction between neighbor nodes that belong to different branches in the tree. |
Object |
getWestNeighbor(Object node)
Returns the specified west neighbor node of the input node, or null if none was specified. |
protected void |
init()
Initializes instance variables. |
boolean |
isAllLevelsAlternating()
Returns true if at all levels, nodes are forced into
alternating circular layers. |
boolean |
isCalcRoot(Object node)
Returns true if the input node was used as root during layout. |
boolean |
isCategorizingLinks()
Returns true if the layout algorithm stores the
categorization of links into forward, backward, and non-tree links. |
boolean |
isFirstCircleEvenlySpacing()
Returns true if the nodes on the first circle must be
evenly spaced in radial mode. |
boolean |
isIncrementalMode()
Returns true if the incremental mode is enabled. |
boolean |
isInvisibleRootUsed()
Returns true if an invisible root is used to combine
components that are disconnected from each other. |
boolean |
isNonTreeLinksStraight()
Returns true if all non-tree links that don't have the
no-reshape link style and that are not fixed and are not incident to
fixed nodes are reshaped to be straight. |
boolean |
isRespectNodeSizes()
Returns true if the algorithm tries to respect the size of
the nodes, and false otherwise. |
boolean |
isRootPosition()
Returns true if the specified position means the position of
the root node. |
boolean |
isSpecRoot(Object node)
Returns true if the input node was specified as root. |
protected void |
layout(boolean redraw)
Computes the layout using the Tree Layout algorithm. |
void |
layoutStepPerformed()
This method can be called by the layout classes when a step of the layout algorithm has been performed. |
void |
setAlignment(Object node,
int alignment)
Sets the alignment option of an individual node. |
void |
setAllLevelsAlternating(boolean enable)
Sets whether at all levels, nodes are forced into alternating circular layers. |
void |
setAspectRatio(float aspectRatio)
Sets the aspect ratio for the layout. |
void |
setAspectRatio(IlvManagerView view)
Sets the aspect ratio for the layout from a given view. |
void |
setAspectRatio(IlvRect rect)
Sets the aspect ratio for the layout from a given rectangle. |
void |
setBranchOffset(float offset)
Sets the minimal offset between neighbor nodes that belong to different branches in the tree. |
void |
setCategorizingLinks(boolean flag)
Sets whether the layout algorithm stores the categorization of links into forward, backward, and non-tree links. |
void |
setConnectorStyle(int style)
Sets the style of the connectors. |
void |
setEastWestNeighboring(Object eastNode,
Object westNode)
Creates an east-west neighboring of two nodes. |
void |
setFirstCircleEvenlySpacing(boolean enable)
Sets whether the nodes on the first circle must be evenly spaced in radial mode. |
void |
setFlowDirection(int direction)
Sets the direction of the flow. |
void |
setGlobalAlignment(int alignment)
Sets the global alignment option. |
void |
setGlobalLinkStyle(int style)
Sets the global style of the shapes of links. |
void |
setIncrementalMode(boolean enable)
Sets the incremental mode. |
void |
setInvisibleRootUsed(boolean flag)
Sets whether an invisible root is used to combine components that are disconnected from each other. |
void |
setLayoutMode(int mode)
Sets the layout mode. |
void |
setLevelAlignment(int alignment)
Sets the alignment within the levels. |
void |
setLinkStyle(Object link,
int style)
Sets the style of the shape of an individual link. |
void |
setMaxChildrenAngle(int angle)
Sets the maximal angle for children that are placed in radial mode. |
void |
setNonTreeLinksStraight(boolean enable)
Sets whether all non-tree links that don't have the no-reshape link style and that are not fixed and are not incident to fixed nodes are reshaped to be straight. |
void |
setOrthForkPercentage(float percentage)
Sets the percentage of the parent-child offset that determines the location where the orthogonal link routing places the bends in order to fork the routing towards the children. |
void |
setOverlapPercentage(float percentage)
Sets the percentage for which a node is considered smaller in the flow direction. |
void |
setParentChildOffset(float offset)
Sets the minimal offset between a parent and its children. |
void |
setPosition(IlvPoint point)
Sets the position of the layout. |
void |
setPosition(IlvPoint point,
boolean isRootPosition)
Sets the position of the layout. |
void |
setRespectNodeSizes(boolean respect)
Sets whether the algorithm must try to respect the size of the nodes. |
void |
setRoot(Object node)
Allows you to specify the root(s) of the tree. |
void |
setRootPosition(boolean isRootPosition)
Sets the meaning of the specified position. |
void |
setRootPreference(Object node,
int preference)
Specifies the preference of the node to become root node. |
void |
setSiblingOffset(float offset)
Sets the minimal offset between siblings, that is, between nodes that have the same parent in the tree structure. |
void |
setTipOverBranchOffset(float offset)
Sets the minimal offset in the flow direction between neighbor nodes that belong to different branches in the tree. |
void |
setWestEastNeighboring(Object westNode,
Object eastNode)
Creates an east-west neighboring of two nodes. |
boolean |
stopImmediately()
Stops the running layout algorithm as soon as possible. |
boolean |
supportsAllowedTime()
Indicates that this layout class can stop the layout computation in a proper manner when the user-defined allowed time is exceeded. |
boolean |
supportsLayoutOfConnectedComponents()
Indicates that this layout class can use the generic connected component layout mechanism of the IlvGraphLayout base class. |
boolean |
supportsLinkClipping()
Indicates that this layout class can use a link clip interface to clip the end points of a link. |
boolean |
supportsLinkConnectionBox()
Indicates that this layout class can use a link connection box interface to calculate the end points of links. |
boolean |
supportsPercentageComplete()
Indicates that this layout class can estimate the percentage of completion during the run of the layout. |
boolean |
supportsPreserveFixedLinks()
Indicates that this layout class allows the user to specify fixed links. |
boolean |
supportsPreserveFixedNodes()
Indicates that this layout class allows the user to specify fixed nodes. |
boolean |
supportsSaveParametersToNamedProperties()
Indicates that this layout class can transfer the layout parameters to named properties. |
boolean |
supportsSplineRouting()
Tests if this class supports the generic optimization of spline control points. |
boolean |
supportsStopImmediately()
Indicates that this layout class can interrupt the current run of the layout immediately in a controlled way. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int NO_RESHAPE_STYLE
setGlobalLinkStyle(int), none of the links are reshaped.
To specify the shape of an individual link, use this option as the
argument of the method setLinkStyle(Object, int).
public static final int STRAIGHT_LINE_STYLE
setGlobalLinkStyle(int), all links that are part of the spanning
tree get a straight-line shape.
To specify the shape of an individual link, use this option as the
argument of the method setLinkStyle(Object, int).
public static final int ORTHOGONAL_STYLE
setGlobalLinkStyle(int), all links that are part of the spanning
tree get a shape consisting of a sequence of orthogonal line segments.
To specify the shape of an individual link, use this option as the
argument of the method setLinkStyle(Object, int).
public static final int MIXED_STYLE
setGlobalLinkStyle(int), each link can have a different shape.
The shape of an individual link can be set by
setLinkStyle(Object, int).
public static final int AUTOMATIC_PINS
setConnectorStyle(int), the connector style is automatically
selected depending on the global link style.
setGlobalLinkStyle(int),
Constant Field Valuespublic static final int CENTERED_PINS
setConnectorStyle(int), the connector pins of links are placed
at the center of the border to which the link is attached.
public static final int CLIPPED_PINS
setConnectorStyle(int), the connector pins of links are placed
such that the link pointing toward the node center is clipped at the node
border.
public static final int EVENLY_SPACED_PINS
setConnectorStyle(int), the connector pins of links are
evenly spaced along the border to which the link is attached.
public static final int EAST
setGlobalAlignment(int),
all parent nodes are aligned to the east border of their children.
The alignment of an individual node can be set by
setAlignment(Object, int).
public static final int WEST
setGlobalAlignment(int),
all parent nodes are aligned to the west border of their children.
The alignment of an individual node can be set by
setAlignment(Object, int).
public static final int NORTH
setLevelAlignment(int),
the nodes of the same level are justified to the north side (towards
the root).
public static final int SOUTH
setLevelAlignment(int),
the nodes of the same level are justified to the south side (away from
the root).
public static final int CENTER
setGlobalAlignment(int),
all parent nodes are centered with respect to their children.
The alignment of an individual node can be set by
setAlignment(Object, int).
When used in level layout mode as the argument of the method
setLevelAlignment(int),
the nodes of the same level are justified to their centers.
public static final int BORDER_CENTER
setGlobalAlignment(int),
all parent nodes are centered with respect to the border of
their children.
The alignment of an individual node can be set by
setAlignment(Object, int).
public static final int TIP_OVER
When used as the argument of the method setGlobalAlignment(int),
the children are arranged serially rather than in parallel.
For instance, if the children are normally arranged horizontally below each
parent node, the tip-over alignment arranges them vertically below
the parent node.
The alignment of an individual parent node can be set by
setAlignment(Object, int).
When used as the argument of the method setLayoutMode(int),
all links flow roughly in the flow direction. In this layout mode,
the algorithm tries to optimize the layout to automatically fit best to
the specified aspect ratio by calculating which individual nodes need
tip-over alignment and which nodes can use the specified alignment. The
layout algorithm uses a fast heuristic.
public static final int TIP_OVER_BOTH_SIDES
When used as the argument of the method setGlobalAlignment(int),
the children are arranged in pairs serially rather than in parallel.
While the TIP_OVER option arranges all children at the same
side of the parent, this alignment arranges the children in pairs at both
sides of the parent.
The alignment of an individual parent node can be set by
setAlignment(Object, int).
public static final int MIXED
setGlobalAlignment(int), each node can have a different alignment.
The alignment of an individual node can be set by
setAlignment(Object, int).
public static final int FREE
setLayoutMode(int),
all links flow roughly in the flow direction. Parents and sibling
nodes are aligned according to the specified alignment option, but
nodes of different tree branches are not justified with each other,
public static final int LEVEL
setLayoutMode(int),
all links flow roughly in the flow direction. All nodes are organized
in levels and are justified to their borders or centered according to the
level alignment option.
Tip-over node alignment is not possible; all other alignment options are
possible.
public static final int RADIAL
setLayoutMode(int),
the root node is in the center and the links flow radially away from the
center. The nodes are placed in circular layers around the root node.
public static final int ALTERNATING_RADIAL
setLayoutMode(int),
the root node is in the center and the links flow radially away from the
center. The nodes are placed in circular layers around the root node.
To optimize space, siblings may be placed alternating in two
different circular layers. The alternating radial mode differs only from
the radial mode if the alternating placement produces smaller circles.
public static final int TIP_LEAVES_OVER
setLayoutMode(int),
all links flow roughly in the flow direction.
The algorithm tries to optimize the layout to automatically fit best to
the specified aspect ratio by calculating which individual nodes need
tip-over alignment and which nodes can use the specified alignment. The
layout algorithm uses a heuristic that checks whether leaf nodes (and their
immediate parent nodes) should be tipped over.
It checks only the alignment mode TIP_OVER,
but not TIP_OVER_BOTH_SIDES.
public static final int TIP_ROOTS_OVER
setLayoutMode(int),
all links flow roughly in the flow direction.
The algorithm tries to optimize the layout to automatically fit best to
the specified aspect ratio by calculating which individual nodes need
tip-over alignment and which nodes can use the specified alignment. The
layout algorithm uses a heuristic that checks whether root nodes (and
their immediate children nodes) should be tipped over.
It checks only the alignment mode TIP_OVER,
but not TIP_OVER_BOTH_SIDES.
public static final int TIP_ROOTS_AND_LEAVES_OVER
setLayoutMode(int),
all links flow roughly in the flow direction.
The algorithm tries to optimize the layout to automatically fit best to
the specified aspect ratio by calculating which individual nodes need
tip-over alignment and which nodes can use the specified alignment. The
layout algorithm uses a heuristic that checks whether root nodes and leaf
nodes should be tipped over. It checks only the alignment mode
TIP_OVER, but not TIP_OVER_BOTH_SIDES.
| Constructor Detail |
|---|
public IlvTreeLayout()
IlvGraphLayout.attach(IlvGrapher).
IlvGraphLayout.attach(IlvGraphModel).
IlvGraphLayout.performLayout().
IlvGraphLayout.attach(IlvGrapher),
IlvGraphLayout.attach(IlvGraphModel),
IlvGraphLayout.performLayout()public IlvTreeLayout(IlvTreeLayout source)
copy() method.
Any subclass should provide a copy constructor.
The parameters of the source layout are copied using
the method copyParameters(ilog.views.graphlayout.IlvGraphLayout).
source - The layout instance that is copied.copy(),
copyParameters(ilog.views.graphlayout.IlvGraphLayout)| Method Detail |
|---|
protected void init()
You should not call this method directly. The method is called internally by the constructor without arguments and by the copy constructor. The method must be overridden by subclasses that need to initialize additional instance variables.
init in class IlvGraphLayoutpublic IlvGraphLayout copy()
This method copies the layout instance by calling the copy constructor.
When performing a recursive layout of a nested graph,
this method is used by IlvLayoutProvider to
"clone" the layout instance of a parent graph.
Note that the parameters which are specific to a node or a link are
not copied. Only the global parameters are copied. The layout position
is not copied.
copy in class IlvGraphLayoutcopyParameters(ilog.views.graphlayout.IlvGraphLayout),
setPosition(IlvPoint),
setPosition(IlvPoint, boolean)public void copyParameters(IlvGraphLayout source)
Note that the parameters which are specific to a node or a link are not copied. Only the global parameters are copied. The layout position is not copied.
copyParameters in class IlvGraphLayoutsource - The layout instance from which the parameters are copied.copy(),
setPosition(IlvPoint),
setPosition(IlvPoint, boolean)
protected void layout(boolean redraw)
throws IlvGraphLayoutException
IlvGraphLayout.performLayout().
layout in class IlvGraphLayoutredraw - If true, the attached graph model will be asked
to redraw the graph after layout.
When the layout algorithm moves the nodes and reshapes the links, it is
required to pass the value of the redraw argument to the
methods IlvGraphModel.moveNode(java.lang.Object, float, float, boolean) and
IlvGraphModel.reshapeLink(java.lang.Object, ilog.views.IlvPoint, ilog.views.IlvPoint[], int, int, ilog.views.IlvPoint, boolean).
IlvGraphLayoutException - If an unusual situation occurs.
WARNING: this method can throw one of the subclasses of
IlvGraphLayoutException. Specifically, it can throw an
IlvInappropriateGraphException. It can also throw an
IlvInappropriateLinkException when inappropriate types
of links and/or link connectors are used in an IlvGrapher.
For details, refer to the documentation of these exception classes.IlvGraphLayout.performLayout()public void detach()
IlvGraphLayout.attach(IlvGraphModel).
The detach method performs cleaning operations on the
graph model.
In addition to the cleaning operations in the base class, the
Tree Layout removes the alignment, root preference, and node
neighboring specifications of individual nodes, and the link style
specifications of individual links.
Note that you must call this method when you no longer need the layout instance. Otherwise, some objects may not be garbage collected.
detach in class IlvGraphLayoutIlvGraphLayout.attach(IlvGrapher),
setAlignment(Object, int),
setRootPreference(Object, int),
setLinkStyle(Object, int),
setEastWestNeighboring(Object, Object)
public void cleanNode(IlvGraphModel graphModel,
Object node)
Subclasses can override this method to remove additional information stored in the nodes.
cleanNode in class IlvGraphLayoutgraphModel - The graph model to which node belongs.node - The node to be cleaned.detach()
public void cleanLink(IlvGraphModel graphModel,
Object link)
Subclasses can override this method to remove additional information stored in the links.
cleanLink in class IlvGraphLayoutgraphModel - The graph model to which link belongs.link - The link to be cleaned.detach()public final boolean supportsPreserveFixedNodes()
IlvGraphLayout.setPreserveFixedNodes(boolean) is called with a
true argument. Links that are incident to fixed nodes
are not reshaped during the layout. Fixed nodes are ignored by the
Tree Layout algorithm, which may lead to node overlaps.
The effect is very similar to the effect when the node is filtered during
layout.
supportsPreserveFixedNodes in class IlvGraphLayouttrue.IlvGrapherAdapter.setFilter(IlvLayoutGraphicFilter),
IlvGraphLayout.setPreserveFixedNodes(boolean),
IlvGraphLayout.isPreserveFixedNodes()public final boolean supportsPreserveFixedLinks()
IlvGraphLayout.setPreserveFixedLinks(boolean) is called with a
true argument.
Fixed links are ignored by the Tree Layout algorithm, which may lead to
overlaps.
The effect is very similar to the effect when the link is filtered during
layout.
supportsPreserveFixedLinks in class IlvGraphLayouttrue.IlvGrapherAdapter.setFilter(IlvLayoutGraphicFilter),
IlvGraphLayout.setPreserveFixedLinks(boolean),
IlvGraphLayout.isPreserveFixedLinks(),
setGlobalLinkStyle(int),
setLinkStyle(Object, int)public final boolean supportsAllowedTime()
IlvGraphLayoutReport.STOPPED_AND_INVALID
in this case.
supportsAllowedTime in class IlvGraphLayouttrue.IlvGraphLayout.setAllowedTime(long),
IlvGraphLayout.getAllowedTime(),
IlvGraphLayoutReport.getCode()public final boolean supportsStopImmediately()
IlvGraphLayoutReport.STOPPED_AND_INVALID in this case.
<