public interface Link
extends java.lang.Cloneable, java.io.Serializable, java.lang.Comparable
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Clones the link.
|
double[] |
computeDistanceRatio(double x, double y)
Computes the distance ratio along a spatial link geometry.
|
double |
getActualCost()
Returns the cost stored in Link object This function can be used to return the cost stored in the Link object if the getCost() method is overridden by a LinkCostFunction provided by users.
|
Link[] |
getChildLinkArray()
Returns the child links as an array.
|
java.util.Iterator |
getChildLinks()
Returns the child links as an Iterator.
|
Link[] |
getCoLinks()
Returns the co-links as an array.
|
double |
getCost()
Returns the link cost.
|
double |
getDuration()
Gets link duration information
|
double |
getEndMeasure()
Gets the end measure of the referenced LRS geometry.
|
Node |
getEndNode()
Returns the end node.
|
double |
getEndPercentage()
Returns the end percentage if the link is created based on an existing link
|
double |
getFlow()
Returns the flow on the link after flow analysis
|
JGeometry |
getGeometry()
Returns the link geometry (JGeometry).
|
int |
getGeomID()
Returns the LRS geometry ID.
|
int |
getID()
Returns the link ID.
|
int |
getLinkLevel()
Returns the link level.
|
java.lang.String |
getName()
Returns the link name.
|
Network |
getNetwork()
Returns the network that contains the link.
|
int |
getNoOfChildLinks()
Gets number of child links Returns 0 if the network is a non-hierarchical network
|
int |
getNoOfSibilingLinks()
Gets number of sibling links Sibling links are links with the same parent
|
Link |
getParentLink()
Returns the parent link.
|
int |
getPartitionID()
Returns the link partition ID
|
Link |
getReferenceLink()
Gets the reference link if the link is created based on an existing link.
|
Link[] |
getSiblingLinkArray()
Retunrs the sibling links as a Link array.
|
java.util.Iterator |
getSiblings()
Returns the sibling links as an Iterator.
|
double |
getStartMeasure()
Gets the start measure of the referenced LRS geometry.
|
Node |
getStartNode()
Returns the start node.
|
double |
getStartPercentage()
Returns the start percentage if the link is created based on an existing link
|
boolean |
getState()
Returns the link state.
|
java.lang.String |
getType()
Returns the link type.
|
java.lang.Object |
getUserData()
Gets the user defined data.
|
java.lang.Object |
getUserData(java.lang.String name)
Gets user data
|
boolean |
isActive()
Checks if the link is active.
|
boolean |
isBidirected()
Checks if the link is bidiretced
|
boolean |
isLogical()
Checks if the link is logical.
|
boolean |
isTemporary()
Checks if the link is temporary.
|
boolean |
isUnidirected()
Checks if the link is uni-diretced
|
MDPoint |
locatePoint(double distanceRatio)
Returns the (linearly interpreted) point on the link geometry of the given distance ratio.
|
void |
makeTemporary()
Makes the link temporary.
|
MDPoint[] |
nearestPoint(double x, double y)
Returns the nearest point on the link geometry.
|
Node |
otherNode(Node node)
Returns the other node of the link, if the start node = node, the end node is returned.
|
void |
setBidirected(boolean isBidirected)
Makes the directed link bidirected
|
void |
setCost(double cost)
Sets the link cost.
|
void |
setDuration(double duration)
Sets the link duration
|
void |
setEndNode(Node node)
Sets the link end node.
|
void |
setFlow(double flow)
Sets the flow on the link for flow analysis
|
void |
setGeometry(JGeometry geom)
Sets the link geometry (JGeometry).
|
void |
setGeomID(int id)
Sets the LRS geometry ID of this link.
|
void |
setLinkLevel(int level)
Sets the link level.
|
void |
setMeasure(double startMeasure, double endMeasure)
Sets the LRS start and end measures.
|
void |
setName(java.lang.String name)
Sets the link name.
|
void |
setParentLink(Link link)
Sets the parent link.
|
void |
setPartitionID(int partitionID)
Sets the link partition ID
|
void |
setStartNode(Node node)
Sets the link start node.
|
void |
setState(boolean state)
Sets the active flag.
|
void |
setType(java.lang.String type)
Sets the link type.
|
void |
setUserData(java.lang.Object userData)
Sets the user defined data.
|
void |
setUserData(java.lang.String name, java.lang.Object data)
Sets user data
|
int getID()
java.lang.String getName()
Node getStartNode()
Node getEndNode()
double getCost()
boolean getState()
int getLinkLevel()
java.lang.String getType()
Network getNetwork()
Link[] getCoLinks()
Link getParentLink()
Link[] getChildLinkArray()
java.util.Iterator getChildLinks()
void setLinkLevel(int level)
level
- the link level to be setvoid setType(java.lang.String type)
type
- the link type to be setvoid setCost(double cost)
cost
- the link cost to be setvoid setName(java.lang.String name)
name
- the link name to be setvoid setStartNode(Node node)
node
- the start node of the linkvoid setEndNode(Node node)
node
- the end node of the linkvoid setGeometry(JGeometry geom)
geom
- the geometry of the linkJGeometry
void setParentLink(Link link)
link
- parent link to be setboolean isTemporary()
void makeTemporary()
Node otherNode(Node node)
node
- the specified end node.void setGeomID(int id)
id
- the LRS geometry IDint getGeomID()
void setMeasure(double startMeasure, double endMeasure)
startMeasure
- the start measure of the referenced LRS geometryendMeasure
- the end measure of the referenced LRS geometrydouble getStartMeasure()
double getEndMeasure()
boolean isLogical()
boolean isActive()
boolean isBidirected()
boolean isUnidirected()
void setBidirected(boolean isBidirected)
java.lang.Object getUserData()
void setUserData(java.lang.Object userData)
userData
- the user data as an Objectvoid setState(boolean state)
state
- true if active, false otherwisejava.lang.Object clone()
java.util.Iterator getSiblings()
Link[] getSiblingLinkArray()
double getFlow()
void setFlow(double flow)
double getDuration()
void setDuration(double duration)
int getPartitionID()
void setPartitionID(int partitionID)
partitionID
- link partition IDvoid setUserData(java.lang.String name, java.lang.Object data)
name
- name for the user datadata
- user datajava.lang.Object getUserData(java.lang.String name)
name
- name for the user dataMDPoint[] nearestPoint(double x, double y) throws NetworkDataException
x
- first ordinate of the given point.y
- second ordinate of the given point.NetworkDataException
double[] computeDistanceRatio(double x, double y) throws NetworkDataException
x
- first ordinate of the given pointy
- second ordinate of the given pointNetworkDataException
MDPoint locatePoint(double distanceRatio) throws NetworkDataException
distanceRatio
- the distance ratio (Euclidean distance)NetworkDataException
int getNoOfChildLinks()
int getNoOfSibilingLinks()
Link getReferenceLink()
double getStartPercentage()
double getEndPercentage()
double getActualCost()