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
LineSegment s created by the calculated path points . |
YList |
calculatePathPoints()
Calculates a list of
YPoint s 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
EdgeCellInfo s 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()
LineSegment
s created by the calculated path points
.LineSegment
s created by the calculated path pointspublic YList calculatePathPoints()
YPoint
s containing the source port, bend and target port locations.YPoint
s 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()
EdgeCellInfo
s describing how the edge traverses each PartitionCell
on its path.EdgeCellInfo
s 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()