55 while (static_cast<int>(
myAdults.size()) < numAdults) {
65 while (static_cast<int>(
myChildren.size()) < numChilds) {
73 int peopleInNeed =
static_cast<int>(
myAdults.size()) - static_cast<int>(
myCars.size());
74 while (peopleInNeed > 0) {
84 int numCar =
static_cast<int>(
myCars.size() + 1);
90 return static_cast<int>(
myCars.size());
100 return static_cast<unsigned int>(
myAdults.size());
103 const std::list<AGAdult>&
108 const std::list<AGChild>&
113 const std::list<AGCar>&
139 std::list<AGChild>::iterator itC;
140 std::list<AGAdult>::iterator itA;
142 if (itC->haveASchool()) {
143 if (itC->leaveSchool()) {
151 if (itA->isWorking()) {
152 itA->resignFromWorkPosition();
159 std::cout <<
"Not enough work positions in AGHousehold::regenerate. Should not happen!" << std::endl;
166 std::list<AGChild>::iterator it;
167 bool oneRemainsAtHome =
false;
171 oneRemainsAtHome =
true;
174 return !oneRemainsAtHome;
179 std::list<AGAdult>::iterator it;
182 std::cout <<
"Not enough free work positions in AGHousehold::allocateAdultsWork. Should not happen." << std::endl;
const std::list< AGCar > & getCars() const
bool allocateChildrenSchool()
A location in the 2D plane freely positioned on a street.
static SUMOReal rand()
Returns a random real number in [0, 1)
AGDataAndStatistics & statData
int getRandomPopDistributed(int n, int m)
An adult person who can have a job.
void generatePeople(int numAdults, int numChilds, bool firstRetired)
SUMOReal minDistanceTo(const std::list< AGPosition > &positions) const
Computes the distance to the closest position in a list.
std::list< AGSchool > schools
const std::list< AGAdult > & getAdults() const
std::list< AGAdult > myAdults
bool isCloseFromPubTransport(std::list< AGPosition > *pubTransport)
bool retiredHouseholders()
unsigned int getPeopleNbr()
unsigned int getAdultNbr()
void generateCars(SUMOReal rate)
std::list< AGCar > myCars
bool allocateAdultsWork()
const std::list< AGChild > & getChildren() const
std::list< AGChild > myChildren
std::vector< AGWorkPosition > workPositions