documentationfor yFiles for HTML 3.0.0.1

Radial Group Layout (formerly: Cactus Group Layout)

This section describes the major API changes to the RadialGroupLayout (formerly CactusGroupLayout).

As with all major layout algorithms, the RadialGroupLayout no longer inherits from MultiStageLayout. Instead, it implements ILayoutAlgorithm directly. The layout stages are now managed by a LayoutStageStack, which can be obtained via the layoutStages property. See Layout Stages and Multi-Stage Layouts for more details.

Renamed, Moved, and Removed Classes and Members

The following table lists the renamed, moved, and removed classes and members of the major classes of the RadialGroupLayout.

Renamed, moved, and removed members of classes related to the RadialGroupLayout (classes are bold)
yFiles for HTML 2.6 yFiles for HTML 3.0 Remarks
CactusGroupLayoutRadialGroupLayout
Properties in class RadialGroupLayout
componentLayoutEnabledcomponentLayout.enabled
considerNodeLabelsnodeLabelPlacementHas been combined with the properties IntegratedNodeLabeling and NodeLabelingPolicy.
defaultNodeComparerremoved
groupSizingPolicygroupSizePolicy
hideGroupsStageremovedThe RadialGroupLayout is designed to handle grouped graphs.
hideGroupsStageEnabled
integratedNodeLabelingnodeLabelPlacementHas been combined with the properties ConsiderNodeLabeling and NodeLabelingPolicy.
labelingremovedTo influence the labeling, use the nodeLabelPlacement and edgeLabelPlacement properties.
labelingEnabled
layoutOrientationremovedChanging the layout orientation is not relevant for an undirected layout algorithm.
nodeComparerRadialGroupLayoutData.childNodeComparator
nodeLabelingPolicynodeLabelPlacementHas been combined with the properties ConsiderNodeLabeling and IntegratedNodeLabeling.
orientationLayoutremovedChanging the layout orientation is not relevant for an undirected layout algorithm.
orientationLayoutEnabled
parallelEdgeRouterremovedThe RadialGroupLayout handles parallel edges itself. Thus, this stage is not necessary.
parallelEdgeRouterEnabled
preferredRootWedgepreferredRootSectorAngle
selfLoopRouterremovedThe RadialGroupLayout handles self-loops itself. Thus, this stage is not necessary.
selfLoopRouterEnabled
subgraphLayoutremovedIf necessary, the SubgraphLayoutStage can be accessed and enabled via the method get<T> of the property layoutStages, but this may lead to overlaps.
subgraphLayoutEnabled
CactusGroupLayoutDataRadialGroupLayoutData<TNode,TEdge,TNodeLabel,TEdgeLabel>
Properties in class RadialGroupLayoutData
abortHandlerremovedA LayoutAbortController is added by the LayoutExecutor; see Section Maximum Duration and Aborting of Algorithms for more details.
nodeComparerchildNodeComparator
nodeHalosnodeMarginsThe type of the values was changed to Insets.
CactusGroupLayoutGroupSizingPolicyGroupSizePolicy

Changed Default Values and Behavior Changes

Edge labels are now placed by the GenericLabeling algorithm by default. To change this behavior, set the edgeLabelPlacement property to the desired value.

Port placement now takes the specified port candidates into account. The ports are placed in a post-processing step by the PortPlacementStage. Port candidates can be specified via the properties on the sub-data RadialGroupLayoutData.ports. See also the section Ports.

The default value of preferredRootSectorAngle has been changed from 180 degrees to 360 degrees.