Line data Source code
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 : /****************************************************************************/
16 : /// @file AGSchool.cpp
17 : /// @author Piotr Woznica
18 : /// @author Daniel Krajzewicz
19 : /// @author Walter Bamberger
20 : /// @date July 2010
21 : ///
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 0 : AGSchool::print() const {
37 0 : std::cout << "- school: " << " placeNbr=" << capacity << " hours=[" << opening << ";" << closing << "] ages=[" << beginAge << ";" << endAge << "]" << std::endl;
38 0 : }
39 :
40 : int
41 1059 : AGSchool::getPlaces() {
42 1059 : return capacity;
43 : }
44 :
45 : bool
46 760 : AGSchool::addNewChild() {
47 760 : if (capacity > 0) {
48 760 : --capacity;
49 760 : return true;
50 : }
51 : return false;
52 : }
53 :
54 : bool
55 0 : AGSchool::removeChild() {
56 0 : if (capacity < initCapacity) {
57 0 : ++capacity;
58 0 : return true;
59 : }
60 : return false;
61 : }
62 :
63 : bool
64 2280 : AGSchool::acceptThisAge(int age) {
65 2280 : if (age <= endAge && age >= beginAge) {
66 1059 : return true;
67 : }
68 : return false;
69 : }
70 :
71 : int
72 0 : AGSchool::getBeginAge() {
73 0 : return beginAge;
74 : }
75 :
76 : int
77 0 : AGSchool::getEndAge() {
78 0 : return endAge;
79 : }
80 :
81 : AGPosition
82 2735 : AGSchool::getPosition() {
83 2735 : return location;
84 : }
85 :
86 : int
87 0 : AGSchool::getClosingHour() {
88 0 : return closing;
89 : }
90 :
91 : int
92 74 : AGSchool::getOpeningHour() {
93 74 : return opening;
94 : }
95 :
96 :
97 : /****************************************************************************/
|