
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 nonnegative 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 20002022, yWorks GmbH. All rights reserved. 

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 