Remarks
Edges mapped to the same EdgeRouterBusDescriptor instance form a bus. The mapping is retrieved from buses. 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.
Default Values of Properties
| Name | Default | Description |
|---|---|---|
| automaticEdgeGrouping | true | Edges ending at the same node are automatically grouped. |
| busPoints | null | The algorithm automatically detects a suitable bus. |
| minimumBackboneSegmentLength | 100.0 | |
| multipleBackboneSegments | true | The algorithm may create buses that consist of multiple backbone segments. |
See Also
Developer's Guide
API
- buses
Members
Constructors
Properties
- All edges share the same bus connections. Simply enable this property and define no other edge groupings.
- Each edge is routed individually between the bus and the end node. Disable this property and define no other edge groupings.
- A mixture of the first two scenarios. Define the desired edge groupings and they will be considered. For edges that have no grouping information, the value of this property is considered. This way multiple edges may share a bus connections while others use their individual routes.
Property Value
true if bus edges ending at the same node are automatically grouped, false otherwiseDefault Value
Sample Graphs
true - edges to the same node use the same bus connectionSee Also
Gets or sets the user-specified bus path that represents the backbone for edges associated with this bus.
Property Value
null if the path is determined automaticallyDefault Value
Gets the point path that describes the bus computed by the EdgeRouter.
Property Value
See Also
API
- busPoints
This number defines the minimum length of backbone segments which are computed during the selection of backbone segments. Final backbone segments might actually be shorter because not the full segment is used by bus connections; such dead-ends are not drawn.
The minimum length is defined to be a value greater than or equal to 1.0.
Property Value
Throws
- Exception ({ name: 'ArgumentError' })
- if the given minimum length is smaller than
1.0
Default Value
Sample Graphs
100.0 - a backbone segment fits in the middleProperty Value
true if the algorithm may create buses that consist of multiple backbone segments, false otherwiseDefault Value
Sample Graphs
true - the bus consist of multiple backbone segmentsSee Also
Developer's Guide
API
- busPoints, minimumBackboneSegmentLength