|
Search this API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object y.layout.circular.ExteriorEdgeLayoutDescriptor
public class ExteriorEdgeLayoutDescriptor
This class provides routing settings for edges routed externally by the CircularLayouter
.
The offered settings affect only edges routed on the exterior of a circle partition. The
edge routing policy
determines the edges that are exterior.
An exterior edge consists of three different path components:
preferred angle
property.
getCircleDistance()
and the getPreferredCurveLength()
.
The getEdgeToEdgeDistance()
determines the distance between arcs of different edges.
setPreferredCurveLength(double)
.
CircularLayouter.setEdgeRoutingPolicy(byte)
,
CircularLayouter.EDGE_ROUTING_POLICY_AUTOMATIC
,
CircularLayouter.EDGE_ROUTING_POLICY_EXTERIOR
,
CircularLayouter.EDGE_ROUTING_POLICY_MARKED_EXTERIOR
Constructor Summary | |
---|---|
ExteriorEdgeLayoutDescriptor()
|
Method Summary | |
---|---|
double |
getCircleDistance()
Returns the minimum distance between the outer border of the circle partition and the arc path of exterior edges that run around the circle. |
double |
getEdgeToEdgeDistance()
Returns the minimum distance that exterior edges keep to each other. |
double |
getPreferredAngle()
Returns the preferred angle (in degrees) between adjacent segments of exterior edges at the same node. |
double |
getPreferredCurveLength()
Returns the preferred length of the curve part that connects the first or last segment with the outer arc. |
double |
getSmoothness()
Returns the smoothness of the exterior edges which determines how many bend points are generated to approximate the curvature of the edge paths. |
void |
setCircleDistance(double circleDistance)
Specifies the minimum distance between the outer border of the circle partition and the arc path of exterior edges that run around the circle. |
void |
setEdgeToEdgeDistance(double edgeToEdgeDistance)
Specifies the minimum distance that exterior edges keep to each other. |
void |
setPreferredAngle(double preferredAngle)
Specifies the preferred angle (in degrees) between adjacent segments of exterior edges at the same node. |
void |
setPreferredCurveLength(double preferredCurveLength)
Specifies the preferred length of the curve part that connects the first or last segment with the outer arc. |
void |
setSmoothness(double smoothness)
Specifies the smoothness of the exterior edges which determines how many bend points are generated to approximate the curvature of the edge paths. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ExteriorEdgeLayoutDescriptor()
Method Detail |
---|
public double getEdgeToEdgeDistance()
setEdgeToEdgeDistance(double)
public void setEdgeToEdgeDistance(double edgeToEdgeDistance)
public double getPreferredAngle()
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.[0,45]
setPreferredAngle(double)
public void setPreferredAngle(double preferredAngle)
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.preferredAngle
- the preferred angle between adjacent exterior edges in the interval [0,45]
java.lang.IllegalArgumentException
- if the given angle is negative or larger than 45
Preferred angle 10 | Preferred angle 0 - results in overlapping segments |
public double getPreferredCurveLength()
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 getCircleDistance()
.
smoothness property
.setPreferredCurveLength(double)
public void setPreferredCurveLength(double preferredCurveLength)
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 getCircleDistance()
.
smoothness property
.preferredCurveLength
- the non-negative preferred length of the curve part of the exterior edge
java.lang.IllegalArgumentException
- if the given preferred length is negativesetSmoothness(double)
Preferred curve length 20 | Preferred curve length 0 | Preferred curve length 60 |
public double getCircleDistance()
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.
setCircleDistance(double)
public void setCircleDistance(double circleDistance)
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.
public double getSmoothness()
The smoothness is defined to be a value from the interval [0,1]
, where a higher value means
smoother curves, and, thus, more bends.
[0,1]
setSmoothness(double)
public void setSmoothness(double smoothness)
The smoothness is defined to be a value from the interval [0,1]
, where a higher value means
smoother curves, and, thus, more bends.
|
© Copyright 2000-2022, yWorks GmbH. All rights reserved. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |