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_BTsender.h
Go to the documentation of this file.
1
/****************************************************************************/
7
// A BT sender
8
/****************************************************************************/
9
// SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
10
// Copyright (C) 2001-2013 DLR (http://www.dlr.de/) and contributors
11
/****************************************************************************/
12
//
13
// This file is part of SUMO.
14
// SUMO is free software: you can redistribute it and/or modify
15
// it under the terms of the GNU General Public License as published by
16
// the Free Software Foundation, either version 3 of the License, or
17
// (at your option) any later version.
18
//
19
/****************************************************************************/
20
#ifndef MSDevice_BTsender_h
21
#define MSDevice_BTsender_h
22
23
24
// ===========================================================================
25
// included modules
26
// ===========================================================================
27
#ifdef _MSC_VER
28
#include <
windows_config.h
>
29
#else
30
#include <
config.h
>
31
#endif
32
33
#include <set>
34
#include <string>
35
#include "
MSDevice.h
"
36
#include <
utils/common/SUMOTime.h
>
37
#include <
utils/geom/Position.h
>
38
39
40
// ===========================================================================
41
// class declarations
42
// ===========================================================================
43
class
SUMOVehicle
;
44
45
46
// ===========================================================================
47
// class definitions
48
// ===========================================================================
55
class
MSDevice_BTsender
:
public
MSDevice
{
56
public
:
60
static
void
insertOptions
(
OptionsCont
& oc);
61
62
73
static
void
buildVehicleDevices
(
SUMOVehicle
& v, std::vector<MSDevice*>& into);
74
75
77
friend
class
MSDevice_BTreceiver
;
78
79
80
81
public
:
83
~MSDevice_BTsender
();
84
85
86
89
98
bool
notifyEnter
(
SUMOVehicle
& veh,
Notification
reason);
99
100
114
bool
notifyMove
(
SUMOVehicle
& veh,
SUMOReal
oldPos,
SUMOReal
newPos,
SUMOReal
newSpeed);
115
116
127
bool
notifyLeave
(
SUMOVehicle
& veh,
SUMOReal
lastPos,
Notification
reason);
129
130
131
135
class
VehicleState
{
136
public
:
145
VehicleState
(
SUMOReal
_time,
SUMOReal
_speed,
SUMOReal
_angle,
const
Position
& _position,
const
std::string& _laneID,
SUMOReal
_lanePos)
146
:
time
(_time),
speed
(_speed),
angle
(_angle),
position
(_position),
laneID
(_laneID),
lanePos
(_lanePos) {}
147
149
~VehicleState
() {}
150
152
SUMOReal
time
;
154
SUMOReal
speed
;
156
SUMOReal
angle
;
158
Position
position
;
160
std::string
laneID
;
162
SUMOReal
lanePos
;
163
164
};
165
166
167
171
class
VehicleInformation
:
public
Named
{
172
public
:
176
VehicleInformation
(
const
std::string&
id
) :
Named
(id),
amOnNet
(true),
haveArrived
(false) {}
177
179
~VehicleInformation
() {}
180
184
Boundary
getBoxBoundary
()
const
{
185
Boundary
ret;
186
for
(std::vector<VehicleState>::const_iterator i =
updates
.begin(); i !=
updates
.end(); ++i) {
187
ret.
add
((*i).position);
188
}
189
return
ret;
190
}
191
193
std::vector<VehicleState>
updates
;
194
196
bool
amOnNet
;
197
199
bool
haveArrived
;
200
201
};
202
203
204
205
private
:
211
MSDevice_BTsender
(
SUMOVehicle
& holder,
const
std::string&
id
);
212
213
214
215
protected
:
217
static
std::map<std::string, VehicleInformation*>
sVehicles
;
218
219
220
221
private
:
223
MSDevice_BTsender
(
const
MSDevice_BTsender
&);
224
226
MSDevice_BTsender
&
operator=
(
const
MSDevice_BTsender
&);
227
228
229
};
230
231
232
#endif
233
234
/****************************************************************************/
235
home
delphi
sumo
src
microsim
devices
MSDevice_BTsender.h
Generated by
1.8.2