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
MSVehicleTransfer.h
Go to the documentation of this file.
1
/****************************************************************************/
8
// A mover of vehicles that got stucked due to grid locks
9
// This class also serves as container for parking vehicles
10
/****************************************************************************/
11
// SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
12
// Copyright (C) 2001-2013 DLR (http://www.dlr.de/) and contributors
13
/****************************************************************************/
14
//
15
// This file is part of SUMO.
16
// SUMO is free software: you can redistribute it and/or modify
17
// it under the terms of the GNU General Public License as published by
18
// the Free Software Foundation, either version 3 of the License, or
19
// (at your option) any later version.
20
//
21
/****************************************************************************/
22
#ifndef MSVehicleTransfer_h
23
#define MSVehicleTransfer_h
24
25
26
// ===========================================================================
27
// included modules
28
// ===========================================================================
29
#ifdef _MSC_VER
30
#include <
windows_config.h
>
31
#else
32
#include <
config.h
>
33
#endif
34
35
#include <string>
36
#include <vector>
37
38
39
// ===========================================================================
40
// class declarations
41
// ===========================================================================
42
class
MSVehicle
;
43
class
MSEdge
;
44
45
46
// ===========================================================================
47
// class definitions
48
// ===========================================================================
64
class
MSVehicleTransfer
{
65
public
:
67
virtual
~MSVehicleTransfer
();
68
69
78
void
addVeh
(
const
SUMOTime
t,
MSVehicle
* veh);
79
80
89
void
checkInsertions
(
SUMOTime
time);
90
91
96
bool
hasPending
()
const
;
97
99
const
std::set<const MSVehicle*>&
getParkingVehicles
(
const
MSLane
* lane)
const
;
100
104
static
MSVehicleTransfer
*
getInstance
();
105
107
static
const
SUMOReal
TeleportMinSpeed
;
108
109
private
:
111
MSVehicleTransfer
();
112
113
114
protected
:
119
struct
VehicleInformation
{
121
MSVehicle
*
myVeh
;
123
SUMOTime
myProceedTime
;
125
bool
myParking
;
126
132
VehicleInformation
(
MSVehicle
* veh,
SUMOTime
proceedTime,
bool
parking)
133
:
myVeh
(veh),
myProceedTime
(proceedTime),
myParking
(parking) { }
134
135
};
136
137
139
typedef
std::vector<VehicleInformation>
VehicleInfVector
;
140
142
VehicleInfVector
myVehicles
;
143
145
typedef
std::map<const MSLane*, std::set<const MSVehicle*> >
ParkingVehicles
;
146
ParkingVehicles
myParkingVehicles
;
147
149
static
MSVehicleTransfer
*
myInstance
;
150
152
static
const
std::set<const MSVehicle*>
myEmptyVehicleSet
;
153
154
};
155
156
157
#endif
158
159
/****************************************************************************/
160
build
buildd
sumo-0.18~dfsg
src
microsim
MSVehicleTransfer.h
Generated on Wed Oct 23 2013 01:15:10 for SUMO - Simulation of Urban MObility by
1.8.4