C

CircularLayoutExteriorEdgeDescriptor

This class provides routing settings for edges routed externally by the CircularLayout.

Remarks

The offered settings affect only edges routed on the exterior of a circle partition. The edgeRoutingPolicy determines the edges that are exterior. An exterior edge consists of three different path components:
  1. 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.
  2. 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.
  3. 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

NameDefault
circleDistance20
edgeDistance10.0
preferredAngle10.0
preferredCurveLength20
smoothness0.7

See Also

Developer's Guide

API

edgeRoutingPolicy, AUTOMATIC, EXTERIOR

Members

No filters for this type

Constructors

Creates a new CircularLayoutExteriorEdgeDescriptor 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.
This property determines the distance that innermost arcs of exterior edges must keep to the circle border. The circle border in this case is the border enclosing all nodes of the circle.
final

Property Value

the non-negative minimum distance between the outer border of the circle and the exterior arcs

Throws

Exception ({ name: 'ArgumentError' })
if the given circle distance is negative

Default Value

The default value is: 20

Sample Graphs

ShownSetting: Circle distance 20
Gets or sets whether or not the points of the resulting edge path represent cubic bezier control points.
  • 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.
This feature is useful when the visualization of the edge draws bezier curves instead of polyline paths.
final

Property Value

true if the bends are interpreted as cubic bezier control points, false otherwise

Default Value

The default value is: false
Each point is a normal polyline bend point.
Gets or sets the minimum distance that exterior edges keep to each other.
final

Property Value

the minimum distance of exterior edges to each other

Throws

Exception ({ name: 'ArgumentError' })
if the minimum distance is negative

Default Value

The default value is: 10.0

Sample Graphs

ShownSetting: Exterior edge-to-edge distance 10.
Gets or sets the preferred angle (in degrees) between adjacent segments of exterior edges at the same node.

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.

An angle of zero means overlapping start/end segments, which might be desired in case edges should have a grouped style at their common end points.
It is not guaranteed that this angle is obeyed, as a wedge of at most 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.
final

Property Value

the preferred angle between adjacent exterior edges in the interval [0,45]

Throws

Exception ({ name: 'ArgumentError' })
if the given angle is negative or larger than 45

Default Value

The default value is: 10.0

Sample Graphs

ShownSetting: Preferred angle 10
Gets or sets the preferred length of the curve part that connects the first or last segment with the outer arc.

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.

The smoothness of the curve, i.e., the amount of bends inserted to model it, can be adjusted with the smoothness property.
final

Property Value

the non-negative preferred length of the curve part of the exterior edge

Throws

Exception ({ name: 'ArgumentError' })
if the given preferred length is negative

Default Value

The default value is: 20

Sample Graphs

ShownSetting: Preferred curve length 20

See Also

API
smoothness
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.
The smoothness is defined to be a value from the interval [0,1], where a higher value means smoother curves, and, thus, more bends.
final

Property Value

the smoothness of the curves of exterior edges from the interval [0,1]

Throws

Exception ({ name: 'ArgumentError' })
if the smoothness is not in the interval [0,1]

Default Value

The default value is: 0.7

Sample Graphs

ShownSetting: Smoothness 0.7