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
/****************************************************************************/
20
// Location and schedules of a work position: linked with one adult
21
/****************************************************************************/
22
#ifndef AGWORKPOSITION_H
23
#define AGWORKPOSITION_H
24
25
26
// ===========================================================================
27
// included modules
28
// ===========================================================================
29
#include <
config.h
>
30
31
#include "
AGPosition.h
"
32
#include <stdexcept>
33
34
35
// ===========================================================================
36
// class declarations
37
// ===========================================================================
38
class
AGStreet
;
39
class
AGAdult
;
40
class
AGDataAndStatistics
;
41
42
43
// ===========================================================================
44
// class definitions
45
// ===========================================================================
46
// TODO: Change name to AGWorkPlace?
47
// TODO: Counter for free work positions should be in City
48
// TODO: Change name of openingTime to something like startHour or openingHour
49
class
AGWorkPosition
{
50
public
:
51
AGWorkPosition
(
AGDataAndStatistics
* ds,
const
AGStreet
& inStreet);
52
AGWorkPosition
(
AGDataAndStatistics
* ds,
const
AGStreet
& inStreet,
double
pos);
53
~AGWorkPosition
();
54
55
void
take
(
AGAdult
* ad);
56
void
let
();
57
bool
isTaken
()
const
;
58
59
AGPosition
getPosition
()
const
;
60
int
getOpening
()
const
;
61
int
getClosing
()
const
;
62
63
void
print
()
const
;
64
65
private
:
66
static
int
generateOpeningTime
(
const
AGDataAndStatistics
& ds);
67
static
int
generateClosingTime
(
const
AGDataAndStatistics
& ds);
68
69
private
:
70
AGDataAndStatistics
*
myStatData
;
71
AGPosition
myLocation
;
72
AGAdult
*
myAdult
;
73
int
myOpeningTime
;
74
int
myClosingTime
;
75
};
76
77
#endif
78
79
/****************************************************************************/
AGWorkPosition::getPosition
AGPosition getPosition() const
Definition:
AGWorkPosition.cpp:134
AGWorkPosition::generateClosingTime
static int generateClosingTime(const AGDataAndStatistics &ds)
Definition:
AGWorkPosition.cpp:91
AGWorkPosition::myAdult
AGAdult * myAdult
Definition:
AGWorkPosition.h:72
AGWorkPosition::generateOpeningTime
static int generateOpeningTime(const AGDataAndStatistics &ds)
Definition:
AGWorkPosition.cpp:74
AGWorkPosition::isTaken
bool isTaken() const
Definition:
AGWorkPosition.cpp:107
AGWorkPosition::myClosingTime
int myClosingTime
Definition:
AGWorkPosition.h:74
AGWorkPosition::myOpeningTime
int myOpeningTime
Definition:
AGWorkPosition.h:73
AGDataAndStatistics
Definition:
AGDataAndStatistics.h:41
AGWorkPosition::myLocation
AGPosition myLocation
Definition:
AGWorkPosition.h:71
AGStreet
A model of the street in the city.
Definition:
AGStreet.h:53
AGWorkPosition::take
void take(AGAdult *ad)
Definition:
AGWorkPosition.cpp:123
AGWorkPosition::getOpening
int getOpening() const
Definition:
AGWorkPosition.cpp:146
AGPosition.h
AGWorkPosition::~AGWorkPosition
~AGWorkPosition()
Definition:
AGWorkPosition.cpp:60
AGWorkPosition
Definition:
AGWorkPosition.h:49
AGPosition
A location in the 2D plane freely positioned on a street.
Definition:
AGPosition.h:56
AGWorkPosition::let
void let()
Definition:
AGWorkPosition.cpp:113
AGWorkPosition::myStatData
AGDataAndStatistics * myStatData
Definition:
AGWorkPosition.h:70
config.h
AGAdult
An adult person who can have a job.
Definition:
AGAdult.h:51
AGWorkPosition::print
void print() const
Definition:
AGWorkPosition.cpp:66
AGWorkPosition::AGWorkPosition
AGWorkPosition(AGDataAndStatistics *ds, const AGStreet &inStreet)
Definition:
AGWorkPosition.cpp:41
AGWorkPosition::getClosing
int getClosing() const
Definition:
AGWorkPosition.cpp:140
src
activitygen
city
AGWorkPosition.h
Generated on Wed Jan 15 2020 15:04:13 for Eclipse SUMO - Simulation of Urban MObility by
1.8.16