documentationfor yFiles for HTML 3.0.0.1

Radial Layout

This section describes the major changes to the RadialLayout class.

As with other major layout algorithms, the RadialLayout class no longer inherits from MultiStageLayout, but instead 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 contains the renamed, moved, and removed classes and members of the major classes of the RadialLayout.

Renamed, moved, and removed members of classes related to the RadialLayout (classes are bold)
yFiles for HTML 2.6 yFiles for HTML 3.0 Remarks
RadialLayoutclass name unchanged
Properties in class RadialLayout
centerNodesDpKeyremovedUse RadialLayoutData.centerNodes.
componentLayoutEnabledcomponentLayout.enabled
considerNodeLabelsnodeLabelPlacementHas been combined with properties IntegratedNodeLabeling and NodeLabelingPolicy.
edgeRoutingStrategyedgeRoutingStyle
hideGroupsStageremovedThe RadialLayout is able to handle group nodes itself.
hideGroupsStageEnabled
integratedNodeLabelingnodeLabelPlacementHas been combined with properties ConsiderNodeLabeling and NodeLabelingPolicy.
labelingremovedTo influence the labeling, use the nodeLabelPlacement and edgeLabelPlacement properties.
labelingEnabled
layoutOrientationremovedChanging the layout orientation does not make sense for an undirected layout algorithm.
minimumEdgeToEdgeDistanceminimumEdgeDistance
minimumNodeToNodeDistanceminimumNodeDistance
nodeLabelingPolicynodeLabelPlacementHas been combined with properties ConsiderNodeLabeling and IntegratedNodeLabeling.
orientationLayoutremovedChanging the layout orientation does not make sense for an undirected layout algorithm.
orientationLayoutEnabled
parallelEdgeRouterEnabledparallelEdgeRouter.enabled
selfLoopRouterEnabledselfLoopRouter.enabled
subgraphLayoutremovedIf necessary, the RadialLayout can be wrapped by a SubgraphLayoutStage, but this may lead to overlaps.
subgraphLayoutEnabled
RadialLayoutDataRadialLayoutData<TNode,TEdge,TNodeLabel,TEdgeLabel>
Properties in class RadialLayoutData
abortHandlerremovedA LayoutAbortController is added by the LayoutExecutor; see Section Maximum Duration and Aborting of Algorithms for more details.
nodeComparableschildOrder.targetNodeComparablesMoved to sub-data childOrder.
nodeHalosnodeMarginsThe type of the values was changed to Insets.
nodeInfosnodePlacementsResult
outEdgeComparerschildOrder.outEdgeComparatorsMoved to sub-data childOrder.
CenterNodesPolicyenum name unchanged
Constants in enum CenterNodesPolicy
customremovedCustom center nodes defined via the RadialLayoutData.centerNodes are considered automatically.
RadialLayoutEdgeRoutingStrategyRadialLayoutRoutingStyle
RadialLayoutLayeringStrategyRadialLayeringStrategy
Constants in enum RadialLayeringStrategy
USER_DEFINEDremovedCustom layers defined via the RadialLayoutData.layerIds are considered automatically.
RadialLayoutNodeInfoRadialLayoutNodePlacementResult

Changed Default Values and Behavior Changes

Node labels are now considered by default. To change this behavior, set the nodeLabelPlacement property to the desired value. This property allows switching between all integrated node labeling policies and placing the node labels with GenericLabeling.

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. Port candidates can be specified via the properties on the sub-data RadialLayoutData.ports. The ports are placed in a post-processing step by the PortPlacementStage.

If custom layers are defined via the RadialLayoutData.layerIds property, these are considered automatically, and the value of RadialLayout.layeringStrategy is ignored. It is no longer necessary to set it to RadialLayoutLayeringStrategy.USER_DEFINED, which consequently has been removed.

If custom center nodes are defined via the RadialLayoutData.centerNodes property, these are considered automatically, and the value of RadialLayout.centerNodesPolicy is ignored. It is no longer necessary to set it to CenterNodesPolicy.CUSTOM, which consequently has been removed.