Commit 6cdd91e0 authored by Tobias Meuser's avatar Tobias Meuser
Browse files

Extended vehicle route randomly after exit

parent 5d963bef
......@@ -50,7 +50,7 @@ import it.polito.appeal.traci.SumoTraciConnection;
public class TraciSimulationController implements VehicleController, SimulationSetupExtractor, EdgeController, SimulatorObserver {
private static final File TEMP_FILE = new File(new File(System.getProperty("java.io.tmpdir")), "road_network.tmp");
private List<RoadNetworkEdge> modifiedEdges = new ArrayList<>();
private Random _random = Randoms.getRandom(getClass());
private static final Map<String, TraciSimulationController> CONTROLLER = new HashMap<>();
......@@ -200,6 +200,9 @@ public class TraciSimulationController implements VehicleController, SimulationS
@Override
public boolean nextStep() {
if (Simulator.getEndTime() == Simulator.getCurrentTime()) {
return false;
}
try {
_connection.do_timestep();
......@@ -521,6 +524,11 @@ public class TraciSimulationController implements VehicleController, SimulationS
}
edges.add(accessibleEdges.get(j));
List<RoadNetworkEdge> newPaths;
while ((newPaths = edges.get(edges.size() - 1).getAccessibleEdges()).size() > 0) {
edges.add(newPaths.get(_random.nextInt(newPaths.size())));
}
for (RoadNetworkEdge roadNetworkEdge : edges) {
if (pEdgesToAvoid.contains(roadNetworkEdge)) {
continue outer;
......@@ -695,14 +703,6 @@ public class TraciSimulationController implements VehicleController, SimulationS
RoadNetworkEdge edge = getRoadNetwork().getEdge(pEdgeID);
edge.setMaxSpeed(pMaxSpeed);
if (edge.getOriginalMaxSpeed() != pMaxSpeed) {
if (!modifiedEdges.contains(edge)) {
modifiedEdges.add(edge);
}
} else {
modifiedEdges.remove(edge);
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment