Eclipse SUMO - Simulation of Urban MObility
AGWorkPosition.h
Go to the documentation of this file.
1
/****************************************************************************/
2
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3
// Copyright (C) 2010-2019 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
7
// are made available under the terms of the Eclipse Public License v2.0
8
// which accompanies this distribution, and is available at
9
// http://www.eclipse.org/legal/epl-v20.html
10
// SPDX-License-Identifier: EPL-2.0
11
/****************************************************************************/
19
// Location and schedules of a work position: linked with one adult
20
/****************************************************************************/
21
#ifndef AGWORKPOSITION_H
22
#define AGWORKPOSITION_H
23
24
25
// ===========================================================================
26
// included modules
27
// ===========================================================================
28
#include <
config.h
>
29
30
#include "
AGPosition.h
"
31
#include <stdexcept>
32
33
34
// ===========================================================================
35
// class declarations
36
// ===========================================================================
37
class
AGStreet
;
38
class
AGAdult
;
39
class
AGDataAndStatistics
;
40
41
42
// ===========================================================================
43
// class definitions
44
// ===========================================================================
45
// TODO: Change name to AGWorkPlace?
46
// TODO: Counter for free work positions should be in City
47
// TODO: Change name of openingTime to something like startHour or openingHour
48
class
AGWorkPosition
{
49
public
:
50
AGWorkPosition
(
AGDataAndStatistics
* ds,
const
AGStreet
& inStreet);
51
AGWorkPosition
(
AGDataAndStatistics
* ds,
const
AGStreet
& inStreet,
double
pos);
52
~AGWorkPosition
();
53
54
void
take
(
AGAdult
* ad);
55
void
let
();
56
bool
isTaken
()
const
;
57
58
AGPosition
getPosition
()
const
;
59
int
getOpening
()
const
;
60
int
getClosing
()
const
;
61
62
void
print
()
const
;
63
64
private
:
65
static
int
generateOpeningTime
(
const
AGDataAndStatistics
& ds);
66
static
int
generateClosingTime
(
const
AGDataAndStatistics
& ds);
67
68
private
:
69
AGDataAndStatistics
*
myStatData
;
70
AGPosition
myLocation
;
71
AGAdult
*
myAdult
;
72
int
myOpeningTime
;
73
int
myClosingTime
;
74
};
75
76
#endif
77
78
/****************************************************************************/
AGWorkPosition::getPosition
AGPosition getPosition() const
Definition:
AGWorkPosition.cpp:133
AGWorkPosition::generateClosingTime
static int generateClosingTime(const AGDataAndStatistics &ds)
Definition:
AGWorkPosition.cpp:90
AGWorkPosition::myAdult
AGAdult * myAdult
Definition:
AGWorkPosition.h:71
AGWorkPosition::generateOpeningTime
static int generateOpeningTime(const AGDataAndStatistics &ds)
Definition:
AGWorkPosition.cpp:73
AGWorkPosition::isTaken
bool isTaken() const
Definition:
AGWorkPosition.cpp:106
AGWorkPosition::myClosingTime
int myClosingTime
Definition:
AGWorkPosition.h:73
AGWorkPosition::myOpeningTime
int myOpeningTime
Definition:
AGWorkPosition.h:72
AGDataAndStatistics
Definition:
AGDataAndStatistics.h:40
AGWorkPosition::myLocation
AGPosition myLocation
Definition:
AGWorkPosition.h:70
AGStreet
A model of the street in the city.
Definition:
AGStreet.h:52
AGWorkPosition::take
void take(AGAdult *ad)
Definition:
AGWorkPosition.cpp:122
AGWorkPosition::getOpening
int getOpening() const
Definition:
AGWorkPosition.cpp:145
AGPosition.h
AGWorkPosition::~AGWorkPosition
~AGWorkPosition()
Definition:
AGWorkPosition.cpp:59
AGWorkPosition
Definition:
AGWorkPosition.h:48
AGPosition
A location in the 2D plane freely positioned on a street.
Definition:
AGPosition.h:55
AGWorkPosition::let
void let()
Definition:
AGWorkPosition.cpp:112
AGWorkPosition::myStatData
AGDataAndStatistics * myStatData
Definition:
AGWorkPosition.h:69
config.h
AGAdult
An adult person who can have a job.
Definition:
AGAdult.h:50
AGWorkPosition::print
void print() const
Definition:
AGWorkPosition.cpp:65
AGWorkPosition::AGWorkPosition
AGWorkPosition(AGDataAndStatistics *ds, const AGStreet &inStreet)
Definition:
AGWorkPosition.cpp:40
AGWorkPosition::getClosing
int getClosing() const
Definition:
AGWorkPosition.cpp:139
src
activitygen
city
AGWorkPosition.h
Generated on Sun Dec 13 2020 08:44:58 for Eclipse SUMO - Simulation of Urban MObility by
1.8.20