This class is used by CurveRoutingStage to provide routing details for the edges of the graph.
Remarks
A CurveEdgeLayoutDescriptor instance can be specified individually for single edges using a IDataProvider that returns an CurveEdgeLayoutDescriptor instance for each edge of the graph, or null
if no CurveEdgeLayoutDescriptor is bound to an edge. The IDataProvider is registered with the graph using key CURVE_EDGE_LAYOUT_DESCRIPTOR_DP_KEY.
This class is designed such that it allows future additions of new getter methods.
Default Values of Properties
curveShortcuts | false | Curved edges do not shortcut. |
curveUTurnSymmetry | 0 | The symmetry of u-turns is not specifically optimized. |
minimumEdgeToEdgeDistance | 10.0 | |
minimumFirstSegmentLength | 5.0 | |
minimumLastSegmentLength | 10.0 | |
minimumNodeToEdgeDistance | 10.0 |
Type Details
- yfiles module
- router-other
- yfiles-umd modules
- layout-familytree, layout-multipage, layout-orthogonal-compact, layout, router-bus, router-other
- Legacy UMD name
- yfiles.router.CurveEdgeLayoutDescriptor
See Also
Properties
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 whether or not curved edges may shortcut and introduce additional edge crossings if that makes the curves more direct and smoother.
Remarks
Default Value
false
.Curved edges do not shortcut.
Sample Graphs
Gets or sets how symmetric u-turn parts of the curved routes should preferably be.
Remarks
If this property is greater than zero
, the algorithm tries to achieve a more symmetric path for 180-degree turns (u-turns) by specifically handling them. Symmetric turns likely require more space compared to more direct variants. The value of this property must be within interval [0,1]
, where a higher value indicates more emphasis on symmetry and lower values that symmetry is not important.
This setting influences the symmetry of a single curved route and does not affect symmetry of multiple curves in relation to each other.
Default Value
0
.The symmetry of u-turns is not specifically optimized.
Throws
- Exception({ name: 'ArgumentError' })
- if the given symmetry value is negative or larger than one
Sample Graphs
0
might be perceived as being greater than the difference between other values. The reason is that with 0
, u-turns are not handled specifically at all.Gets or sets the minimum distance to segments belonging to other edges.
Remarks
0
.Default Value
10.0
.Throws
- Exception({ name: 'ArgumentError' })
- if the minimum distance is negative
Gets or sets the minimum length of the first segment of the edge path (at the source node).
Remarks
0
.Default Value
5.0
.Throws
- Exception({ name: 'ArgumentError' })
- if the minimum length of the first segment is negative
Sample Graphs
Gets or sets the minimum length of the last segment of the edge path (at the target node).
Remarks
The minimum length must be greater than or equal to 0
.
If the minimum length is zero, the curved route may end with a non-orthogonal last segment such that the port location provided by the core layout may also be changed.
Default Value
10.0
.Throws
- Exception({ name: 'ArgumentError' })
- if the minimum length of the last segment is negative
Sample Graphs
Gets or sets the minimum distance to nodes.
Remarks
0
.Default Value
10.0
.Throws
- Exception({ name: 'ArgumentError' })
- if the minimum distance is negative
Gets or sets the style which determines how curved edge paths connect at the source side of the edge.
Default Value
Throws
- Exception({ name: 'ArgumentError' })
- if an unknown connection style is given
See Also
Gets or sets the style which determines how curved edge paths connect at the target side of the edge.
Default Value
Throws
- Exception({ name: 'ArgumentError' })
- if an unknown connection style is given
See Also
Methods
Creates a copy of this CurveEdgeLayoutDescriptor instance.
Returns
- ↪CurveEdgeLayoutDescriptor
- a copy of this CurveEdgeLayoutDescriptor instance