This commit is contained in:
Raphael Rees 2023-03-22 10:52:58 +01:00
parent 480b25bccc
commit 853637bb48

View file

@ -56,7 +56,22 @@ public class Path {
public static Path createShortestPathFromNodes(Graph graph, List<Node> nodes) public static Path createShortestPathFromNodes(Graph graph, List<Node> nodes)
throws IllegalArgumentException { throws IllegalArgumentException {
List<Arc> arcs = new ArrayList<Arc>(); List<Arc> arcs = new ArrayList<Arc>();
// TODO: Arc candidat = null;
Node deb = nodes.remove(0);
for(Node fin : nodes){
float dist = Float.MAX_VALUE;
for(Arc a : deb.getSuccessors()){
if(a.getDestination().equals(fin)&&dist>a.getLength()){
dist = a.getLength();
candidat=a;
}
}
if(dist==Float.MAX_VALUE){
throw new IllegalArgumentException("Liste de noeuds non valide");
}
arcs.add(candidat);
deb = fin;
}
return new Path(graph, arcs); return new Path(graph, arcs);
} }
@ -175,7 +190,7 @@ public class Path {
return this.origin == null; return this.origin == null;
} }
/** /**speed
* Get the number of <b>nodes</b> in this path. * Get the number of <b>nodes</b> in this path.
* *
* @return Number of nodes in this path. * @return Number of nodes in this path.
@ -228,8 +243,11 @@ public class Path {
* @deprecated Need to be implemented. * @deprecated Need to be implemented.
*/ */
public double getTravelTime(double speed) { public double getTravelTime(double speed) {
// TODO: float res = 0;
return 0; for(Arc a : arcs){
res+=a.getTravelTime(speed);
}
return res;
} }
/** /**