LOG.info("global time offset set={} --> {} milliseconds.", dateTime, timeOffsetMillis);
ProjectMetaData.getInstance().setTimeOffsetMillis(timeOffsetMillis);
}
projectMetaData.setXodrNetworkFilename(inputData.getScenario().getNetworkFilename()); // TODO
Simulation simulationInput = inputData.getScenario().getSimulation();
final boolean loadedRoadNetwork = parseOpenDriveXml(roadNetwork, projectMetaData);
routing = new Routing(inputData.getScenario().getRoutes(), roadNetwork);
vehicleFactory = new VehicleFactory(simulationInput.getTimestep(), inputData.getVehiclePrototypes(),
inputData.getConsumption(), routing);
roadNetwork.setWithCrashExit(simulationInput.isCrashExit());
simulationRunnable.setTimeStep(simulationInput.getTimestep());
// TODO better handling of case "duration = INFINITY"
double duration = simulationInput.isSetDuration() ? simulationInput.getDuration() : -1;
simulationRunnable.setDuration(duration < 0 ? Double.MAX_VALUE : duration);
if (simulationInput.isWithSeed()) {
MyRandom.initializeWithSeed(simulationInput.getSeed());
}
defaultTrafficComposition = new TrafficCompositionGenerator(simulationInput.getTrafficComposition(),
vehicleFactory);
// For each road in the MovSim XML input data, find the corresponding roadSegment and
// set its input data accordingly
// final Map<String, RoadInput> roadInputMap = simulationInput.get.getRoadInput();
if (loadedRoadNetwork == false && simulationInput.getRoad().size() == 1) {
defaultTestingRoadMapping(simulationInput.getRoad().get(0));
} else {
matchRoadSegmentsAndRoadInput(simulationInput.getRoad());
}
trafficLights = new TrafficLights(inputData.getScenario().getTrafficLights(), roadNetwork);
reset();