Overview of generic features
The IlvHierarchicalLayout class supports the
following generic features defined in the IlvGraphLayout class (see Base class parameters and features):
The following paragraphs describe the
particular way in which these parameters are used by this
subclass.
Allowed time (HL)
The layout algorithm stops if the allowed time setting has
elapsed. (For a description of this layout parameter in the
IlvGraphLayout
class, see Allowed time.) 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
.
Layout of connected components (HL)
The layout algorithm can use the generic mechanism to lay out
connected components. (For more information about this mechanism,
see Layout of connected components.) When using
this mechanism, each component is laid out in its own individual
level structure. Nodes of the first level of one component can be
placed at a different position than nodes of the first level of
another component.
The generic mechanism to lay out connected
components is, however, disabled by default. In this case, the
layout algorithm can still handle disconnected graphs. It merges
all components into a global level structure.
Link clipping (HL)
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 non-rectangular 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 (HL) for
details of the link clipping mechanism.
Link connection box (HL)
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
(HL).
Spline routing (HL)
The layout algorithm supports the generic spline routing
mechanism (see Spline routing). If the style of a link is
polyline or orthogonal and the link is a spline, it is routed by
the generic spline routing mechanism when it is enabled.
Percentage of completion calculation (HL)
The layout algorithm calculates the estimated percentage of
completion. This value can be obtained from the layout report
during the run of the layout. (For a detailed description of this
features, see Percentage of completion calculation and Graph layout event listeners.)
Preserve fixed links (HL)
The layout algorithm does not reshape the links that are
specified as fixed. In fact, fixed links are ignored. (For more
information about link parameters in the
IlvGraphLayout
class, see Preserve fixed links and Link style (TL).)
Preserve fixed nodes (HL)
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.) Moreover, the
layout algorithm ignores fixed nodes 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 (HL)
The layout algorithm is able to 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 (HL)
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
.