Here is an overview of the new features and improvements of the Diagram module in the recently
released IBM ILOG Elixir Enterprise 3.5:
New graph layout algorithm: Circular layout
Circular Layout is designed for graphs representing interconnected ring and/or star
network topologies, as in the following example:
Network of star clusters laid out using the new Circular Layout algorithm
The algorithm is able to partition the graph into clusters according to specified business data, or
to compute a partitioning automatically. See CircularLayout's property clusteringMode
Improved layout of nested graphs thanks to a new mode of Hierarchical Layout
In the previous release, it was necessary to use a combination of "node layout" and "link layout" in
order to lay out a nested graph including intergraph links (links that connect nodes from different subgraphs).
In Elixir 3.5, Hierarchical layout has been improved with a recursive mode such that it can handle by itself an
entire nested graph. This simplifies user's task for configuring the layout: no link layout is needed anymore.
Moreover, it improves the quality of the layout, because instead of optimizing the layout locally for each
individual subgraph the algorithm now performs a global optimization taking into account the entire nested
hierarchy. The quality improvement consists in a reduced number of link crossings and a more regular layout
of the links. The following screenshots illustrate this benefit by comparing the result for the same nested
graph with, and without this new feature:
Nested graph laid out by Hierarchical Layout in recursive mode (new in Elixir Enterprise 3.5)
Same nested graph laid out by Hierarchical Layout in non-recursive mode (old mode in Elixir Enterprise 3.0)
The new recursive mode is enabled by default. If necessary, it can be disabled by setting HierarchicalLayout's
property recursiveLayoutMode at false.
Improved self-link and multi-link layout
A new link layout algorithm has been added: BasicLinkStyleLayout. This algorithm handles multiple
links between the same pair of nodes, and self-links that start and end at the same node. While
Hierarchical, Tree, Short and Long Link layouts were already able to lay out multi-links and self-links,
this feature was missing on other node layout algorithms. Now Circular and Force-Directed Layout also have
such capabilities, because they are now subclasses of the new BasicLinkStyleLayout (which can also be used standalone).
The algorithm provides a large number of choices among various styles and distance parameters.
Multi-links and self-links laid out laid out by the new BasicLinkStyleLayout (also available in Force-Directed and Circular layout)
Other new features
- Improved animation during graph layout
- For a more pleasant effect, the fit and the layout animation can be executed in parallel,
instead of successively. New property on the class Diagram: animateGraphLayoutFitContent.
- Easing and duration options have been added. New properties on the class Diagram:
- Diagram links
- Curved links: a Bezier curve can now be used as path for the links. New style properties on
the class Link: curved and curveSmoothRatio.
- Easier interactive selection of thin links: selection threshold. New property on the class
- Data source
- For defining the links, the previous release provides two ways: using a link data provider
or an implicit definition by the hierarchy of nodes. Additionally, Elixir Enterprise 3.5 allows
the define the links thanks to successors or predecessors elements of the nodes.
- New APIs on the class Diagram: successorsField, successorsFunction, predecessorsField,
- New sample: samples/diagram/linkCreationPolicy.
- New events
- The Diagram class now dispatches new events for its nodes and links:
itemClick, itemDoubleClick, itemRollOver, itemRollOut.
The Elixir team hopes you will enjoy these new features! As usually, feel free to ask any questions.