Package org.insa.graphs.model
Class Path
- java.lang.Object
-
- org.insa.graphs.model.Path
-
public class Path extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static Pathconcatenate(Path... paths)Concatenate the given paths.static PathcreateFastestPathFromNodes(Graph graph, java.util.List<Node> nodes)Deprecated.Need to be implemented.static PathcreateShortestPathFromNodes(Graph graph, java.util.List<Node> nodes)Deprecated.Need to be implemented.java.util.List<Arc>getArcs()NodegetDestination()GraphgetGraph()floatgetLength()Deprecated.Need to be implemented.doublegetMinimumTravelTime()Deprecated.Need to be implemented.NodegetOrigin()doublegetTravelTime(double speed)Deprecated.Need to be implemented.booleanisEmpty()Check if this path is empty (it does not contain any node).booleanisValid()Deprecated.Need to be implemented.intsize()Get the number of nodes in this path.
-
-
-
Constructor Detail
-
Path
public Path(Graph graph)
Create an empty path corresponding to the given graph.- Parameters:
graph- Graph containing the path.
-
Path
public Path(Graph graph, Node node)
Create a new path containing a single node.- Parameters:
graph- Graph containing the path.node- Single node of the path.
-
-
Method Detail
-
createFastestPathFromNodes
public static Path createFastestPathFromNodes(Graph graph, java.util.List<Node> nodes) throws java.lang.IllegalArgumentException
Deprecated.Need to be implemented.Create a new path that goes through the given list of nodes (in order), choosing the fastest route if multiple are available.- Parameters:
graph- Graph containing the nodes in the list.nodes- List of nodes to build the path.- Returns:
- A path that goes through the given list of nodes.
- Throws:
java.lang.IllegalArgumentException- If the list of nodes is not valid, i.e. two consecutive nodes in the list are not connected in the graph.
-
createShortestPathFromNodes
public static Path createShortestPathFromNodes(Graph graph, java.util.List<Node> nodes) throws java.lang.IllegalArgumentException
Deprecated.Need to be implemented.Create a new path that goes through the given list of nodes (in order), choosing the shortest route if multiple are available.- Parameters:
graph- Graph containing the nodes in the list.nodes- List of nodes to build the path.- Returns:
- A path that goes through the given list of nodes.
- Throws:
java.lang.IllegalArgumentException- If the list of nodes is not valid, i.e. two consecutive nodes in the list are not connected in the graph.
-
concatenate
public static Path concatenate(Path... paths) throws java.lang.IllegalArgumentException
Concatenate the given paths.- Parameters:
paths- Array of paths to concatenate.- Returns:
- Concatenated path.
- Throws:
java.lang.IllegalArgumentException- if the paths cannot be concatenated (IDs of map do not match, or the end of a path is not the beginning of the next).
-
getGraph
public Graph getGraph()
- Returns:
- Graph containing the path.
-
getOrigin
public Node getOrigin()
- Returns:
- First node of the path.
-
getDestination
public Node getDestination()
- Returns:
- Last node of the path.
-
getArcs
public java.util.List<Arc> getArcs()
- Returns:
- List of arcs in the path.
-
isEmpty
public boolean isEmpty()
Check if this path is empty (it does not contain any node).- Returns:
- true if this path is empty, false otherwise.
-
size
public int size()
Get the number of nodes in this path.- Returns:
- Number of nodes in this path.
-
isValid
public boolean isValid()
Deprecated.Need to be implemented.Check if this path is valid. A path is valid if any of the following is true:- it is empty;
- it contains a single node (without arcs);
- the first arc has for origin the origin of the path and, for two consecutive arcs, the destination of the first one is the origin of the second one.
- Returns:
- true if the path is valid, false otherwise.
-
getLength
public float getLength()
Deprecated.Need to be implemented.Compute the length of this path (in meters).- Returns:
- Total length of the path (in meters).
-
getTravelTime
public double getTravelTime(double speed)
Deprecated.Need to be implemented.Compute the time required to travel this path if moving at the given speed.- Parameters:
speed- Speed to compute the travel time.- Returns:
- Time (in seconds) required to travel this path at the given speed (in kilometers-per-hour).
-
getMinimumTravelTime
public double getMinimumTravelTime()
Deprecated.Need to be implemented.Compute the time to travel this path if moving at the maximum allowed speed on every arc.- Returns:
- Minimum travel time to travel this path (in seconds).
-
-