Eclipse SUMO - Simulation of Urban MObility
AGSchool.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
4 // activitygen module
5 // Copyright 2010 TUM (Technische Universitaet Muenchen, http://www.tum.de/)
6 // This program and the accompanying materials are made available under the
7 // terms of the Eclipse Public License 2.0 which is available at
8 // https://www.eclipse.org/legal/epl-2.0/
9 // This Source Code may also be made available under the following Secondary
10 // Licenses when the conditions for such availability set forth in the Eclipse
11 // Public License 2.0 are satisfied: GNU General Public License, version 2
12 // or later which is available at
13 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
14 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
15 /****************************************************************************/
22 // Correspond to given ages and referenced by children. Has a precise location.
23 /****************************************************************************/
24 #include <config.h>
25 
26 #include <iostream>
27 #include <string>
28 #include "AGSchool.h"
29 #include "AGPosition.h"
30 
31 
32 // ===========================================================================
33 // method definitions
34 // ===========================================================================
35 void
36 AGSchool::print() const {
37  std::cout << "- school: " << " placeNbr=" << capacity << " hours=[" << opening << ";" << closing << "] ages=[" << beginAge << ";" << endAge << "]" << std::endl;
38 }
39 
40 int
42  return capacity;
43 }
44 
45 bool
47  if (capacity > 0) {
48  --capacity;
49  return true;
50  }
51  return false;
52 }
53 
54 bool
56  if (capacity < initCapacity) {
57  ++capacity;
58  return true;
59  }
60  return false;
61 }
62 
63 bool
65  if (age <= endAge && age >= beginAge) {
66  return true;
67  }
68  return false;
69 }
70 
71 int
73  return beginAge;
74 }
75 
76 int
78  return endAge;
79 }
80 
83  return location;
84 }
85 
86 int
88  return closing;
89 }
90 
91 int
93  return opening;
94 }
95 
96 
97 /****************************************************************************/
A location in the 2D plane freely positioned on a street.
Definition: AGPosition.h:53
int getBeginAge()
Definition: AGSchool.cpp:72
int opening
Definition: AGSchool.h:60
int initCapacity
Definition: AGSchool.h:58
int getClosingHour()
Definition: AGSchool.cpp:87
bool removeChild()
Definition: AGSchool.cpp:55
void print() const
Definition: AGSchool.cpp:36
int endAge
Definition: AGSchool.h:56
AGPosition getPosition()
Definition: AGSchool.cpp:82
int getOpeningHour()
Definition: AGSchool.cpp:92
int getEndAge()
Definition: AGSchool.cpp:77
int beginAge
Definition: AGSchool.h:56
int capacity
Definition: AGSchool.h:57
int closing
Definition: AGSchool.h:60
bool acceptThisAge(int age)
Definition: AGSchool.cpp:64
bool addNewChild()
Definition: AGSchool.cpp:46
int getPlaces()
Definition: AGSchool.cpp:41
AGPosition location
Definition: AGSchool.h:59