documentationfor yFiles for HTML 3.0.0.1

Compact Disk Layout

This chapter describes the major API changes to the CompactDiskLayout introduced with yFiles for HTML 3.0 and how to migrate from the older version.

As with all major layout algorithms, the CompactDiskLayout no longer inherits from MultiStageLayout, but 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

Renamed, moved, and removed API members related to CompactDiskLayout (classes are bold)
yFiles for HTML 2.6 yFiles for HTML 3.0 Remarks
CompactDiskLayoutclass name unchanged
Properties in class CompactDiskLayout
componentLayoutremovedThe ComponentLayout is disabled by default. It can be accessed using layoutStages.get<T> and enabled if required.
componentLayoutEnabled
considerNodeLabelsnodeLabelPlacementThe properties have been combined into one - the enum allows tchoosing the strategy.
integratedNodeLabeling
nodeLabelingPolicy
hideGroupsStageremovedThe GroupHidingStage is enabled by default and can be accessed via layoutStages.get<T>.
hideGroupsStageEnabled
labelingremovedTo influence the labeling, use the nodeLabelPlacement property.
labelingEnabled
layoutOrientationremovedChanging the layout orientation does not make sense for an undirected layout algorithm.
orientationLayoutremovedChanging the layout orientation does not make sense for an undirected layout algorithm.
orientationLayoutEnabled
parallelEdgeRouterremovedThe ParallelEdgeRouter is enabled by default and can be accessed via layoutStages.get<T>.
parallelEdgeRouterEnabled
selfLoopRouterremovedThe SelfLoopRouter is enabled by default and can be accessed via layoutStages.get<T>.
selfLoopRouterEnabled
subgraphLayoutremovedIf necessary, the SubgraphLayoutStage can be wrapped around the CompactDiskLayout, however, this may lead to overlaps.
subgraphLayoutEnabled
CompactDiskLayoutDataCompactDiskLayoutData<TNode,TEdge,TNodeLabel,TEdgeLabel>
Properties in class CompactDiskLayoutData
nodeHalosnodeMargins

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. It is now also easier to place the node labels with GenericLabeling by setting the value to GENERIC.

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 CompactDiskLayoutData.ports. See also the section Ports.