SUMO - Simulation of Urban MObility
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
MSPersonControl.h
Go to the documentation of this file.
1
/****************************************************************************/
10
// Stores all persons in the net and handles their waiting for cars.
11
/****************************************************************************/
12
// SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
13
// Copyright (C) 2001-2014 DLR (http://www.dlr.de/) and contributors
14
/****************************************************************************/
15
//
16
// This file is part of SUMO.
17
// SUMO is free software: you can redistribute it and/or modify
18
// it under the terms of the GNU General Public License as published by
19
// the Free Software Foundation, either version 3 of the License, or
20
// (at your option) any later version.
21
//
22
/****************************************************************************/
23
#ifndef MSPersonControl_h
24
#define MSPersonControl_h
25
26
27
// ===========================================================================
28
// included modules
29
// ===========================================================================
30
#ifdef _MSC_VER
31
#include <
windows_config.h
>
32
#else
33
#include <
config.h
>
34
#endif
35
36
#include <vector>
37
#include <map>
38
#include "
MSPerson.h
"
39
40
41
// ===========================================================================
42
// class declarations
43
// ===========================================================================
44
class
MSNet
;
45
class
MSVehicle
;
46
47
48
// ===========================================================================
49
// class definitions
50
// ===========================================================================
58
class
MSPersonControl
{
59
public
:
60
61
typedef
std::vector<MSPerson*>
PersonVector
;
62
64
MSPersonControl
();
65
67
virtual
~MSPersonControl
();
68
70
bool
add
(
const
std::string&
id
,
MSPerson
* person);
71
73
virtual
void
erase
(
MSPerson
* person);
74
76
void
setDeparture
(
SUMOTime
time,
MSPerson
* person);
77
79
void
setWaitEnd
(
SUMOTime
time,
MSPerson
* person);
80
82
void
checkWaitingPersons
(
MSNet
* net,
const
SUMOTime
time);
83
85
void
addWaiting
(
const
MSEdge
* edge,
MSPerson
* person);
86
93
bool
boardAnyWaiting
(
MSEdge
* edge,
MSVehicle
* vehicle);
94
96
bool
hasPersons
()
const
;
97
99
bool
hasNonWaiting
()
const
;
100
102
void
abortWaiting
();
103
104
110
virtual
MSPerson
*
buildPerson
(
const
SUMOVehicleParameter
* pars,
const
MSVehicleType
* vtype,
MSPerson::MSPersonPlan
* plan)
const
;
111
112
void
setWalking
(
MSPerson
* p);
113
void
unsetWalking
(
MSPerson
* p);
114
116
bool
isWaiting4Vehicle
(
const
MSEdge
*
const
edge,
MSPerson
* p)
const
;
117
118
const
std::map<std::string, MSPerson*>&
getPersons
()
const
{
119
return
myPersons
;
120
}
121
122
private
:
124
std::map<std::string, MSPerson*>
myPersons
;
125
127
std::map<std::string, MSPerson*>
myWalking
;
128
130
std::map<SUMOTime, PersonVector>
myWaiting4Departure
;
131
133
std::map<SUMOTime, PersonVector>
myWaitingUntil
;
134
136
std::map<const MSEdge*, PersonVector>
myWaiting4Vehicle
;
137
138
};
139
140
141
#endif
142
143
/****************************************************************************/
tmp
buildd
sumo-0.21.0+dfsg
src
microsim
MSPersonControl.h
Generated on Thu Nov 20 2014 19:49:55 for SUMO - Simulation of Urban MObility by
1.8.1.2