Circular Layout: Edge bundling is applied to edges of the same circle.
Radial Layout: Edge bundling is applied to non-tree edges.
TreeReductionStage: Edge bundling is applied to non-tree edges.
HierarchicLayouthas now proper support for incremental layouts of groups with changing bounds. This is especially useful for hierarchic layout of graphs with expandable and collapsible groups. The new Hierarchic Grouping demo shows the improved behavior.
HierarchicLayoutnow supports port grouping. Edges are bundled at their ports, but routed independently. See
HierarchicLayoutnow allows to specify the directedness of edges, see
HierarchicLayout.EDGE_DIRECTEDNESS_DP_KEY. This new feature enables to, for example, support mixed graphs that contain both directed and undirected edges: While for directed edges the layering step tries to find a solution where the source of an edge is placed above the target (with respect to the main layout direction), for undirected edges the direction doesn't matter and the edge may also be inserted as same-layer edge. This feature also enables to force some edges to specifically point against the main layout direction.
HierarchicLayoutnow supports edges with specified thickness values. Minimum distances in the layout will consider these thicknesses, see
HierarchicLayoutnow supports recursively routed edges. Edges that pass the border of group nodes will always leave at the bottom side and enter at the top side of the group node. This routing style is specified using
LabelLayoutConstants.PLACE_AT_TARGET_PORTfor edge labels which express that the label should be placed directly at the source/target port of the edge. Currently, the specifiers are only considered by the integrated labeling of the
OrganicLayoutnow supports the detection of regular substructures in the graph and applies a specific layout style to them such that they can be better recognized. See
TreeReductionStagenow supports the automatic placement of labels of non-tree edges. Users do not need to take care of such edge labels themselves after using a tree layout algorithm on a non-tree input graph in conjunction with the reduction stage. See properties
SeriesParallelLayoutnow supports the automatic placement of labels of non-series-parallel edges. Users do not need to take care of such edge labels themselves after running the algorithm with a non-series-parallel input graph. See properties