documentationfor yFiles for HTML 2.6

EdgeRouterBusDescriptor

A EdgeRouterBusDescriptor defines settings for edges routed on a common bus by EdgeRouter.

Inheritance Hierarchy
EdgeRouterBusDescriptor

Remarks

Edges mapped to the same EdgeRouterBusDescriptor instance form a bus. The mapping is retrieved from a IDataProvider registered with the input graph with key BUS_DESCRIPTOR_DP_KEY. A bus consists of a set of backbone segments shared by multiple edges to which shorter segments that connect to the actual nodes are attached. This descriptor allows to specify settings about the bus, for example, the location of the bus may be user-specified - see busPoints.

With buses, the routing algorithm tries to produce routes where the edges share as much of their paths as possible. It yields long line segments (so-called backbone segments) where ideally all but the first and last segments of all edge paths are drawn on top of each other (forming the bus), with short connections branching off to the nodes (bus connections).

Edges that are fixed (i.e. are not marked for routing) may also belong to a bus. Then, the bus segments will be derived using the existing path of the fixed edges. This way, buses can be incrementally updated, e.g., when a new edge should be added to an existing bus structure. Carefully note that fixed edges must have a correct orthogonal path for this feature to work properly.

Routing result containing three different bus structures

Routing result with a user-specified bus assigned to all edges (single vertical segment on the left-hand side)

Default Values of Properties

automaticEdgeGroupingtrueEdges ending at the same node are automatically grouped.
busPointsnullThe algorithm automatically detects a suitable bus.
minimumBackboneSegmentLength100.0
multipleBackboneSegmentstrueThe algorithm may create buses that consist of multiple backbone segments.

Type Details

yfiles module
router-polyline
yfiles-umd modules
layout-area, layout-multipage, layout-orthogonal-compact, layout, router-bus, router-polyline
Legacy UMD name
yfiles.router.EdgeRouterBusDescriptor

See Also

The generated bus structure is always connected, even when there are nodes on the bus that are only connected to some of the other bus nodes and it would in consequence not even be necessary to use some backbone segments. In this case, one or more edges of the bus get additional segments (potentially containing zero-degree angles) that make the bus connected. If such segments are undesired, they can be removed by applying RemoveCollinearBendsStage.
Intermediate routing points are not supported for edges associated with a bus using this descriptor.
Direct content edge routing is not supported for edges associated with a bus using this descriptor.

Constructors

Properties