public class EdgeInfo extends Object
ChannelBasedPathRouting| Constructor and Description |
|---|
EdgeInfo(Path path,
PathSearchConfiguration configuration)
Creates a new
EdgeInfo instance. |
| Modifier and Type | Method and Description |
|---|---|
LineSegment[] |
calculateLineSegments()
Calculates an array of
LineSegments created by the calculated path points. |
YList |
calculatePathPoints()
Calculates a list of
YPoints containing the source port, bend and target port locations. |
Edge |
getEdge()
Gets the edge whose route is described by this
EdgeInfo instance. |
EdgeCellInfo |
getEdgeCellInfo(CellEntrance entrance)
Returns the
EdgeCellInfo of the given CellEntrance in the path. |
List<Object> |
getEdgeCellInfos()
Gets a list of
EdgeCellInfos describing how the edge traverses each PartitionCell on its path. |
SegmentInfo |
getNextSegment(SegmentInfo segment)
Returns the
SegmentInfo of the segment following the segment of the given SegmentInfo. |
SegmentInfo |
getPreviousSegment(SegmentInfo segment)
Returns the
SegmentInfo of the segment preceding the segment of the given SegmentInfo. |
SegmentInfo |
getSegmentInfo(int segmentIndex)
Returns the
SegmentInfo of the edge segment with the given index. |
YPoint |
getStrongSourcePort()
Gets the location of the strong source port that the edge uses.
|
YPoint |
getStrongTargetPort()
Gets the location of the strong target port that the edge uses.
|
boolean |
isFixed()
Gets whether the path of this
edge is fixed or should be routed by the path search algorithm. |
int |
segmentCount()
Returns the number of segments of the edge.
|
void |
setStrongSourcePort(YPoint value)
Sets the location of the strong source port that the edge uses.
|
void |
setStrongTargetPort(YPoint value)
Sets the location of the strong target port that the edge uses.
|
String |
toString()
Returns a string representation of this
EdgeInfo object. |
public EdgeInfo(Path path, PathSearchConfiguration configuration)
EdgeInfo instance.path - the path that will be used for routing the edgeconfiguration - the configuration of the path search algorithmpublic LineSegment[] calculateLineSegments()
LineSegments created by the calculated path points.LineSegments created by the calculated path pointspublic YList calculatePathPoints()
YPoints containing the source port, bend and target port locations.YPoints containing the source port, bend and target port locationspublic Edge getEdge()
EdgeInfo instance.EdgeInfo instancepublic EdgeCellInfo getEdgeCellInfo(CellEntrance entrance)
EdgeCellInfo of the given CellEntrance in the path.entrance - the entrance for which the EdgeCellInfo will be returnedEdgeCellInfo of the given CellEntrance in the pathpublic List<Object> getEdgeCellInfos()
EdgeCellInfos describing how the edge traverses each PartitionCell on its path.EdgeCellInfos describing how the edge traverses each partition cell on its pathpublic SegmentInfo getNextSegment(SegmentInfo segment)
SegmentInfo of the segment following the segment of the given SegmentInfo.segment - the segment info for which the next segment info will be returnedpublic SegmentInfo getPreviousSegment(SegmentInfo segment)
SegmentInfo of the segment preceding the segment of the given SegmentInfo.segment - the segment info for which the previous segment info will be returnedpublic SegmentInfo getSegmentInfo(int segmentIndex)
SegmentInfo of the edge segment with the given index.segmentIndex - the index of the edge segment for which the segment info will be returnedSegmentInfo of the edge segment with the given indexpublic YPoint getStrongSourcePort()
Defining a new strong source port also updates the first SegmentInfo to use this fixed port location.
IllegalArgumentException - if the first segment is already fixed and the given port location contradicts the segment's fixed locationnull. No strong source port location for the edge is specified.null if no strong source port has been setAbstractSegmentInfo.setLocation(double),
SegmentInfo.setAtStrongPortConstraint(boolean),
setStrongSourcePort(YPoint)public YPoint getStrongTargetPort()
Defining a new strong target port also updates the last SegmentInfo to use this fixed port location.
IllegalArgumentException - if the last segment is already fixed and the given port location contradicts the segment's fixed locationnull. No strong target port location for the edge is specified.null if no strong target port has been setAbstractSegmentInfo.setLocation(double),
SegmentInfo.setAtStrongPortConstraint(boolean),
setStrongTargetPort(YPoint)public boolean isFixed()
edge is fixed or should be routed by the path search algorithm.true if the path of this edge is fixed, false if it should be routed by the path
search algorithmpublic int segmentCount()
public void setStrongSourcePort(YPoint value)
Defining a new strong source port also updates the first SegmentInfo to use this fixed port location.
IllegalArgumentException - if the first segment is already fixed and the given port location contradicts the segment's fixed locationnull. No strong source port location for the edge is specified.value - the strong source port location or null if no strong source port has been setAbstractSegmentInfo.setLocation(double),
SegmentInfo.setAtStrongPortConstraint(boolean),
getStrongSourcePort()public void setStrongTargetPort(YPoint value)
Defining a new strong target port also updates the last SegmentInfo to use this fixed port location.
IllegalArgumentException - if the last segment is already fixed and the given port location contradicts the segment's fixed locationnull. No strong target port location for the edge is specified.value - the strong target port location or null if no strong target port has been setAbstractSegmentInfo.setLocation(double),
SegmentInfo.setAtStrongPortConstraint(boolean),
getStrongTargetPort()