76 std::list<AGChild>::const_iterator itC;
78 if (itC->haveASchool()) {
89 std::list<AGAdult>::const_iterator itA;
91 if (itA->isWorking()) {
110 std::list<AGAdult>::iterator it;
138 std::list<AGAdult>::const_iterator itUA;
140 if (! itUA->isWorking()) {
158 std::list<AGAdult>::const_iterator itDriA;
166 if (!itDriA->getWorkPosition().getPosition().getStreet().allows(
SVC_PASSENGER)) {
174 std::list<AGAdult>::iterator itAccA;
180 std::list<AGChild>::iterator itAccC;
205 std::list<AGTrip>::iterator it1, it2;
214 diff1 = it2->getTime() - it1->getRideBackArrTime(this->
timePerKm);
215 diff2 = it1->getTime() - it2->getRideBackArrTime(this->
timePerKm);
217 if (diff1 < 0 || diff2 < 0) {
219 arrTime = it2->getArrTime(this->
timePerKm);
220 it2->addLayOver(*it1);
221 it2->setDepTime(it2->estimateDepTime(arrTime, this->timePerKm));
224 arrTime = it1->getArrTime(this->
timePerKm);
225 it1->addLayOver(*it2);
226 it1->setDepTime(it1->estimateDepTime(arrTime, this->timePerKm));
244 std::list<AGTrip>::iterator itAccT;
245 std::list<AGTrip>::iterator itDriT;
246 std::list<AGAdult>::iterator itA;
249 if (itAccT->getArrTime(this->timePerKm) < itDriT->getArrTime(this->timePerKm)) {
254 if (!itA->isWorking()) {
256 }
else if (itAccT->getRideBackArrTime(this->timePerKm) < itA->getWorkPosition().getOpening()) {
271 std::list<AGTrip>::iterator itAccT;
272 std::list<AGTrip>::iterator itDriT;
273 std::list<AGAdult>::iterator itA;
283 if (itAccT->getArrTime(this->timePerKm) < itDriT->getArrTime(this->timePerKm) && !alreadyDone) {
285 if (itAccT->getRideBackArrTime(this->timePerKm) < itDriT->getTime()) {
287 itAccT->setVehicleName(itDriT->getVehicleName());
288 itAccT->addLayOver(itAccT->getArr());
294 arrTime = itDriT->getArrTime(this->
timePerKm);
295 itDriT->addLayOver(*itAccT);
296 itDriT->setDepTime(itDriT->estimateDepTime(arrTime, this->timePerKm));
306 if (!itA->isWorking() && !alreadyDone) {
308 if (nameC.size() != 0) {
310 itAccT->addLayOver(itAccT->getArr());
315 }
else if (itAccT->getRideBackArrTime(this->timePerKm) < itA->getWorkPosition().getOpening() && !alreadyDone) {
317 if (nameC.size() != 0) {
319 itAccT->addLayOver(itAccT->getArr());
340 if (itA->getWorkPosition().getPosition() == itDriT->getArr()) {
341 AGTrip trip(itA->getWorkPosition().getPosition(),
myHousehold->
getPosition(), itDriT->getVehicleName(), itA->getWorkPosition().getClosing());
352 std::string nameCar =
"";
353 std::string nameCarUsed =
"";
356 nameCarUsed =
tempTrip.front().getVehicleName();
361 if (nameCarUsed.size() != 0) {
375 std::list<AGAdult>::const_iterator itUA;
377 if (! itUA->isWorking()) {