diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java index 5725002..d144907 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/DijkstraAlgorithm.java @@ -1,7 +1,6 @@ package org.insa.graphs.algorithm.shortestpath; import java.util.ArrayList; -import java.util.Collections; import org.insa.graphs.algorithm.AbstractSolution.Status; import org.insa.graphs.algorithm.utils.BinaryHeap; @@ -52,8 +51,14 @@ public class DijkstraAlgorithm extends ShortestPathAlgorithm { notifyNodeReached(concurentNodeLabel.getSommetCourant()); concurentNodeLabel.setMarque(); for (Arc arc : concurentNodeLabel.getSommetCourant().getSuccessors()) { + + // Small test to check allowed roads... + if (!data.isAllowed(arc)) { + continue; + } + Label successorLabel = labelsList.get(arc.getDestination().getId()); - Float newCost = arc.getLength() + concurentNodeLabel.getCost(); + Double newCost = data.getCost(arc) + concurentNodeLabel.getCost(); if (newCost < successorLabel.getCost()) { successorLabel.setPere(arc); successorLabel.setCoutRealise(newCost); diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java index d6cdd88..8adca05 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/shortestpath/Label.java @@ -9,14 +9,14 @@ public class Label implements Comparable