tokev's picture
Add files using upload-large-folder tool
92cc220 verified
#include "flow/flow.h"
#include "engine/engine.h"
namespace CityFlow {
void Flow::nextStep(double timeInterval) {
if (!valid) return;
if (endTime != -1 && currentTime > endTime) return;
if (currentTime >= startTime) {
while (nowTime >= interval) {
Vehicle* vehicle = new Vehicle(vehicleTemplate, id + "_" + std::to_string(cnt++), engine, this);
int priority = vehicle->getPriority();
while (engine->checkPriority(priority)) priority = engine->rnd();
vehicle->setPriority(priority);
engine->pushVehicle(vehicle, false);
vehicle->getFirstRoad()->addPlanRouteVehicle(vehicle);
nowTime -= interval;
}
nowTime += timeInterval;
}
currentTime += timeInterval;
}
std::string Flow::getId() const {
return id;
}
void Flow::reset() {
nowTime = interval;
currentTime = 0;
cnt = 0;
}
}