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.h
Go to the documentation of this file.
1
/****************************************************************************/
8
// Abstract in-vehicle device
9
/****************************************************************************/
10
// SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
11
// Copyright (C) 2001-2013 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_h
22
#define MSDevice_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 <string>
35
#include <vector>
36
#include <map>
37
#include <set>
38
#include <
microsim/MSMoveReminder.h
>
39
#include <
utils/common/Named.h
>
40
#include <
utils/common/UtilExceptions.h
>
41
42
43
// ===========================================================================
44
// class declarations
45
// ===========================================================================
46
class
OutputDevice
;
47
class
SUMOVehicle
;
48
class
OptionsCont
;
49
50
51
// ===========================================================================
52
// class definitions
53
// ===========================================================================
68
class
MSDevice
:
public
MSMoveReminder
,
public
Named
{
69
public
:
73
static
void
insertOptions
(
OptionsCont
& oc);
74
75
81
static
void
buildVehicleDevices
(
SUMOVehicle
& v, std::vector<MSDevice*>& into);
82
83
84
85
public
:
91
MSDevice
(
SUMOVehicle
& holder,
const
std::string&
id
) :
92
MSMoveReminder
(id),
Named
(id),
myHolder
(holder) {
93
}
94
95
97
virtual
~MSDevice
() { }
98
99
104
SUMOVehicle
&
getHolder
()
const
{
105
return
myHolder
;
106
}
107
108
121
virtual
void
generateOutput
()
const
{
122
}
123
124
125
126
protected
:
129
136
static
void
insertDefaultAssignmentOptions
(
const
std::string& deviceName,
const
std::string& optionsTopic,
OptionsCont
& oc);
137
138
145
static
bool
equippedByDefaultAssignmentOptions
(
const
OptionsCont
& oc,
const
std::string& deviceName,
SUMOVehicle
& v);
147
148
149
150
protected
:
152
SUMOVehicle
&
myHolder
;
153
154
155
156
private
:
158
static
std::map<std::string, std::set<std::string> >
myExplicitIDs
;
159
160
161
private
:
163
MSDevice
(
const
MSDevice
&);
164
166
MSDevice
&
operator=
(
const
MSDevice
&);
167
168
};
169
170
171
#endif
172
173
/****************************************************************************/
174
home
delphi
sumo
src
microsim
devices
MSDevice.h
Generated by
1.8.2