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
MSDevice_Routing.h
Go to the documentation of this file.
1
/****************************************************************************/
8
// A device that performs vehicle rerouting based on current edge speeds
9
/****************************************************************************/
10
// SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
11
// Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors
12
/****************************************************************************/
13
//
14
// This file is part of SUMO.
15
// SUMO is free software: you can redistribute it and/or modify
16
// it under the terms of the GNU General Public License as published by
17
// the Free Software Foundation, either version 3 of the License, or
18
// (at your option) any later version.
19
//
20
/****************************************************************************/
21
#ifndef MSDevice_Routing_h
22
#define MSDevice_Routing_h
23
24
25
// ===========================================================================
26
// included modules
27
// ===========================================================================
28
#ifdef _MSC_VER
29
#include <
windows_config.h
>
30
#else
31
#include <
config.h
>
32
#endif
33
34
#include <set>
35
#include <vector>
36
#include <map>
37
#include "
MSDevice.h
"
38
#include <
utils/common/SUMOTime.h
>
39
#include <
microsim/MSVehicle.h
>
40
#include <
utils/common/WrappingCommand.h
>
41
42
43
// ===========================================================================
44
// class declarations
45
// ===========================================================================
46
class
MSLane
;
47
48
49
// ===========================================================================
50
// class definitions
51
// ===========================================================================
70
class
MSDevice_Routing
:
public
MSDevice
{
71
public
:
74
static
void
insertOptions
() ;
75
76
94
static
void
buildVehicleDevices
(
SUMOVehicle
& v, std::vector<MSDevice*> &into) ;
95
96
97
public
:
100
119
bool
notifyEnter
(
SUMOVehicle
& veh,
MSMoveReminder::Notification
reason) ;
121
122
124
~MSDevice_Routing
() ;
125
126
127
private
:
135
MSDevice_Routing
(
SUMOVehicle
& holder,
const
std::string&
id
,
SUMOTime
period,
136
SUMOTime
preInsertionPeriod) ;
137
138
150
SUMOTime
preInsertionReroute
(
SUMOTime
currentTime) ;
151
152
167
SUMOTime
wrappedRerouteCommandExecute
(
SUMOTime
currentTime) ;
168
169
184
SUMOReal
getEffort
(
const
MSEdge
*
const
e,
const
SUMOVehicle
*
const
v,
SUMOReal
t)
const
;
185
186
189
201
static
SUMOTime
adaptEdgeEfforts
(
SUMOTime
currentTime) ;
203
204
205
private
:
207
SUMOTime
myPeriod
;
208
210
SUMOTime
myPreInsertionPeriod
;
211
213
WrappingCommand< MSDevice_Routing >
*
myRerouteCommand
;
214
216
static
Command
*
myEdgeWeightSettingCommand
;
217
219
static
std::map<const MSEdge*, SUMOReal>
myEdgeEfforts
;
220
222
static
SUMOReal
myAdaptationWeight
;
223
225
static
SUMOTime
myAdaptationInterval
;
226
228
static
bool
myWithTaz
;
229
231
static
std::map<std::pair<const MSEdge*, const MSEdge*>,
const
MSRoute
*>
myCachedRoutes
;
232
233
234
private
:
236
MSDevice_Routing
(
const
MSDevice_Routing
&);
237
239
MSDevice_Routing
&
operator=
(
const
MSDevice_Routing
&);
240
241
242
};
243
244
245
#endif
246
247
/****************************************************************************/
248
build
buildd
sumo-0.15.0~dfsg
src
microsim
devices
MSDevice_Routing.h
Generated on Wed Jul 18 2012 22:58:32 for SUMO - Simulation of Urban MObility by
1.8.1.1