43 #ifdef CHECK_MEMORY_LEAKS
45 #endif // CHECK_MEMORY_LEAKS
54 : myVehicleControl(vc), myMaxDepartDelay(maxDepartDelay),
55 myCheckEdgesOnce(checkEdgesOnce) {}
59 for (std::vector<Flow>::iterator i =
myFlows.begin(); i !=
myFlows.end(); ++i) {
81 const std::vector<const MSRoute*>& routes = dist->
getVals();
83 for (std::vector<const MSRoute*>::const_iterator i = routes.begin(); i != routes.end(); ++i) {
85 e = (*i)->getEdges()[0];
87 if (e != (*i)->getEdges()[0]) {
107 unsigned int noEmitted = 0;
119 MSVehicleContainer::VehicleVector::const_iterator veh;
120 for (veh = previousRefused.begin(); veh != previousRefused.end(); veh++) {
121 noEmitted +=
tryInsert(time, *veh, refusedEmits);
124 previousRefused.clear();
134 for (veh = next.begin(); veh != next.end(); veh++) {
135 noEmitted +=
tryInsert(time, *veh, refusedEmits);
150 if ((!
myCheckEdgesOnce || edge.getLastFailedInsertionTime() != time) && edge.insertVehicle(*veh, time)) {
160 }
else if (edge.isVaporizing()) {
166 refusedEmits.push_back(veh);
168 edge.setLastFailedInsertionTime(time);
175 for (std::vector<Flow>::iterator i =
myFlows.begin(); i !=
myFlows.end(); ++i) {
176 if (i->vehicle == veh) {
191 copy(top.begin(), top.end(), back_inserter(previousRefused));
200 unsigned int noEmitted = 0;
201 for (std::vector<Flow>::iterator i =
myFlows.begin(); i !=
myFlows.end();) {
203 if (!i->isVolatile && i->vehicle != 0) {
219 noEmitted +=
tryInsert(time, i->vehicle, refusedEmits);
220 if (!i->isVolatile && i->vehicle != 0) {
226 if (MSGlobals::gStateLoaded) {
230 throw ProcessError(
"Another vehicle with the id '" + newPars->
id +
"' exists.");