44 #ifdef CHECK_MEMORY_LEAKS
46 #endif // CHECK_MEMORY_LEAKS
55 : myVehicleControl(vc), myMaxDepartDelay(maxDepartDelay),
56 myCheckEdgesOnce(checkEdgesOnce) {}
60 for (std::vector<Flow>::iterator i =
myFlows.begin(); i !=
myFlows.end(); ++i) {
83 const std::vector<const MSRoute*>& routes = dist->
getVals();
85 for (std::vector<const MSRoute*>::const_iterator i = routes.begin(); i != routes.end(); ++i) {
87 e = (*i)->getEdges()[0];
89 if (e != (*i)->getEdges()[0]) {
109 unsigned int noEmitted = 0;
121 MSVehicleContainer::VehicleVector::const_iterator veh;
122 for (veh = previousRefused.begin(); veh != previousRefused.end(); veh++) {
123 noEmitted +=
tryInsert(time, *veh, refusedEmits);
126 previousRefused.clear();
136 for (veh = next.begin(); veh != next.end(); veh++) {
137 noEmitted +=
tryInsert(time, *veh, refusedEmits);
152 if ((!
myCheckEdgesOnce || edge.getLastFailedInsertionTime() != time) && edge.insertVehicle(*veh, time)) {
162 }
else if (edge.isVaporizing()) {
173 refusedEmits.push_back(veh);
175 edge.setLastFailedInsertionTime(time);
182 for (std::vector<Flow>::iterator i =
myFlows.begin(); i !=
myFlows.end(); ++i) {
183 if (i->vehicle == veh) {
198 copy(top.begin(), top.end(), back_inserter(previousRefused));
208 unsigned int noEmitted = 0;
209 for (std::vector<Flow>::iterator i =
myFlows.begin(); i !=
myFlows.end();) {
239 i->vehicle = vehControl.
buildVehicle(newPars, route, vtype);
240 unsigned int quota = vehControl.
getQuota();
243 noEmitted +=
tryInsert(time, i->vehicle, refusedEmits);
245 if (quota == 1 && !i->isVolatile && i->vehicle != 0) {
248 while (--quota > 0) {
251 i->vehicle = vehControl.
buildVehicle(newPars, route, vtype);
253 noEmitted +=
tryInsert(time, i->vehicle, refusedEmits);
265 throw ProcessError(
"Another vehicle with the id '" + newPars->
id +
"' exists.");
300 MSVehicleContainer::VehicleVector::iterator veh;
302 if ((*veh)->getRoute().getID() == route || route ==
"") {
311 if ((*veh)->getRoute().getID() == route || route ==
"") {