Overview (TL)
The IlvTreeLayout class supports the
following generic features defined in the IlvGraphLayout class. (See also Base class parameters and features.)
The following subsections describe the
particular way in which these features are used by the Tree
Layout subclass.
Allowed time (TL)
The layout algorithm stops if the allowed
time setting has elapsed. If the layout stops early because the
allowed time has elapsed, the nodes and links are not moved from
their positions before the layout call.
The result code in the layout report is
IlvGraphLayoutReport.STOPPED_AND_INVALID
.
For a description of this layout parameter in the
IlvGraphLayout
class, see Allowed time.
Layout of connected components (TL)
The layout algorithm can use the generic mechanism to lay out
connected components. (For more information about this mechanism,
see Layout of connected components). It has,
however, a specialized internal mechanism to lay out connected
components and, therefore, the generic mechanism is disabled by
default.
The generic connected component layout
mechanism has the disadvantage that it moves connected components
completely. Fixed nodes within a component do not preserve their
old position, and the resulting layout can be unstable on
incremental changes, depending on which layout instance is used
for the component layout.
If the generic connected component layout
mechanism is disabled, the algorithm uses its own specialized
internal mechanism instead of the generic mechanism to lay out
each component as a separate tree. It is faster and more stable
on incremental changes than the generic mechanism. Furthermore,
it enables the user to set the position of the layout.
Link clipping (TL)
The layout algorithm can use a link clip interface to clip the
end points of a link. (See Link clipping.)
This is useful if the nodes have a nonrectangular shape such as a
triangle, rhombus, or circle. If no link clip interface is used,
the links are normally connected to the bounding boxes of the
nodes, not to the border of the node shapes. See Using a link clipping interface (TL) for
details of the link clipping mechanism.
Link connection box (TL)
The layout algorithm can use a link connection box interface
(see Link connection box) in combination with
the link clip interface. If no link clip interface is used, the
link connection box interface has no effect. For details, see Using a link connection box interface
(TL).
Spline routing (TL)
The layout algorithm supports the generic spline routing
mechanism (see Spline routing). If the style of a link is
orthogonal and the link is a spline, it is routed by the generic
spline routing mechanism when it is enabled.
Percentage of completion calculation (TL)
The layout algorithm calculates the estimated percentage of
completion. This value can be obtained from the layout report
during the run of layout. (For a detailed description of this
feature, see Percentage of completion calculation and Graph layout event listeners.)
Preserve fixed links (TL)
The layout algorithm does not reshape the
links that are specified as fixed.
For more information about link parameters in the
IlvGraphLayout
class, see Preserve fixed links and Link style (TML).
Preserve fixed nodes (TL)
The layout algorithm does not move the
nodes that are specified as fixed.
For more information about node parameters in the
IlvGraphLayout
class, see Preserve fixed nodes.
The layout algorithm ignores fixed nodes
completely and also does not route the links that are incident to
the fixed nodes. It can result in unwanted overlapping nodes and
link crossings. However, this feature is useful for individual,
disconnected components that can be laid out independently.
Save parameters to named properties (TL)
The layout algorithm can save its layout parameters into named
properties. This can be used to save layout parameters to
.ivl
files. (For a detailed description of this feature, see Save parameters to named properties and Saving layout parameters and preferred
layouts.)
Stop immediately (TL)
The layout algorithm stops after cleanup if the method stopImmediately is called. (For a
description of this method in the
IlvGraphLayout
class, see Stop immediately.) If the layout stops
early because the allowed time has elapsed, the nodes and links
are not moved from their positions before the layout call, and
the result code in the layout report is
IlvGraphLayoutReport.STOPPED_AND_INVALID
.