This class provides routing settings for edges routed externally by the CircularLayout.
Remarks
- Two straight parts, one starting at the source node and one ending at the target node. The angle between the straight parts of adjacent edges at the same node can be specified with the preferred angle property.
- The main arc path that runs around the exterior of the circle from source to target. The radii of the arc paths depend on the specified circleDistance and the preferredCurveLength. The edgeToEdgeDistance determines the distance between arcs of different edges.
- Two curve parts that connect the straight part at the source side with the arc and the arc with the straight part at the target side. Its length is specifiable via preferredCurveLength.
Default Values of Properties
circleDistance | 20 | |
edgeToEdgeDistance | 10.0 | |
preferredAngle | 10.0 | |
preferredCurveLength | 20 | |
smoothness | 0.7 |
Type Details
- yfiles module
- layout-organic
- yfiles-umd modules
- layout-multipage, layout-organic, layout
- Legacy UMD name
- yfiles.circular.ExteriorEdgeLayoutDescriptor
See Also
Constructors
Creates a new ExteriorEdgeLayoutDescriptor instance with default settings.
Properties
Gets or sets the minimum distance between the outer border of the circle partition and the arc path of exterior edges that run around the circle.
Remarks
Default Value
20
.Throws
- Exception({ name: 'ArgumentError' })
- if the given circle distance is negative
Sample Graphs
Gets or sets whether or not the points of the resulting edge path represent cubic bezier control points.
Remarks
- Disabled (default): Each point of the path represents a normal polyline bend point.
- Enabled: Four consecutive points p1, p2, p3, p4 of the resulting edge path need to be interpreted such that p1 is the start point of the cubic bezier curve, p4 is the end point of it and p2, p3 are the two intermediate control points. If p4 is not the last point of the edge path it is at the same time the start point of the next curve. For example, points p1, p2, p3, p4, p5, p6, p7 form a path that consists of two curves: the curve defined by p1, p2, p3, p4 and the curve defined by p4, p5, p6, p7.
Default Value
false
.Each point is a normal polyline bend point.
Gets or sets the minimum distance that exterior edges keep to each other.
Default Value
10.0
.Throws
- Exception({ name: 'ArgumentError' })
- if the minimum distance is negative
Sample Graphs
Gets or sets the preferred angle (in degrees) between adjacent segments of exterior edges at the same node.
Remarks
When the angle is zero, all exterior edges start/end with a segment of the same slope and, thus, overlap each other. The segment in this case is the extension of the line connecting the partition circle center with the respective node center.
An angle greater than zero means that the edge segments are distributed, get different slopes and are not overlapping each other anymore. The preferred angle may at most be 45
degrees and must not be negative. Importantly, it can not always be obeyed. When there are too many edges to distribute at a node or if the preferred angle would lead to overlaps with other nodes, the actual angle can become smaller.
Default Value
10.0
.Throws
- Exception({ name: 'ArgumentError' })
- if the given angle is negative or larger than
45
Sample Graphs
90
degrees is available to distribute the edges at a node (45
degrees for edges running in clockwise direction and 45
degrees for edges running in counterclockwise direction). To avoid overlaps with other elements, this maximum wedge angle is often even smaller than 90
degrees.Gets or sets the preferred length of the curve part that connects the first or last segment with the outer arc.
Remarks
An exterior edge consists of a straight part starting at the source node (or ending at the target node) and a main arc that runs around the exterior of the circle from source to target. A curve connects these two parts. Its length is configured by this setting.
When the preferred length is zero, there is no curve but a 90
degree bend. Increasing the curve length means that the radius on which the exterior edges are placed around the circle is increased too. This is necessary to insert the longer curve while still satisfying the specified circleDistance.
Default Value
20
.Throws
- Exception({ name: 'ArgumentError' })
- if the given preferred length is negative
See Also
Sample Graphs
Gets or sets the smoothness of the exterior edges which determines how many bend points are generated to approximate the curvature of the edge paths.
Remarks
[0,1]
, where a higher value means smoother curves, and, thus, more bends.Default Value
0.7
.Throws
- Exception({ name: 'ArgumentError' })
- if the smoothness is not in the interval
[0,1]