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 via the preferredAngle 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 edgeDistance 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
| Name | Default |
|---|---|
| circleDistance | 20 |
| edgeDistance | 10.0 |
| preferredAngle | 10.0 |
| preferredCurveLength | 20 |
| smoothness | 0.7 |
See Also
Developer's Guide
API
- edgeRoutingPolicy, AUTOMATIC, EXTERIOR
Members
Constructors
Creates a new CircularLayoutExteriorEdgeDescriptor instance with default settings.
Properties
Property Value
Throws
- Exception ({ name: 'ArgumentError' })
- if the given circle distance is negative
Default Value
Sample Graphs
20- 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.
Property Value
true if the bends are interpreted as cubic bezier control points, false otherwiseDefault Value
Property Value
Throws
- Exception ({ name: 'ArgumentError' })
- if the minimum distance is negative
Default Value
Sample Graphs
10.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.
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.Property Value
[0,45]Throws
- Exception ({ name: 'ArgumentError' })
- if the given angle is negative or larger than
45
Default Value
Sample Graphs
10An 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.
Property Value
Throws
- Exception ({ name: 'ArgumentError' })
- if the given preferred length is negative
Default Value
Sample Graphs
20See Also
API
- smoothness
[0,1], where a higher value means smoother curves, and, thus, more bends.Property Value
[0,1]Throws
- Exception ({ name: 'ArgumentError' })
- if the smoothness is not in the interval
[0,1]
Default Value
Sample Graphs
0.7