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
public
:
90
MSDevice
(
SUMOVehicle
& holder,
const
std::string&
id
) :
91
MSMoveReminder
(id),
Named
(id),
myHolder
(holder) {
92
}
93
94
96
virtual
~MSDevice
() { }
97
98
103
SUMOVehicle
&
getHolder
()
const
{
104
return
myHolder
;
105
}
106
107
120
virtual
void
generateOutput
()
const
{
121
}
122
123
124
125
protected
:
128
135
static
void
insertDefaultAssignmentOptions
(
const
std::string& deviceName,
const
std::string& optionsTopic,
OptionsCont
& oc);
136
137
144
static
bool
equippedByDefaultAssignmentOptions
(
const
OptionsCont
& oc,
const
std::string& deviceName,
SUMOVehicle
& v);
146
147
148
149
protected
:
151
SUMOVehicle
&
myHolder
;
152
153
154
155
private
:
157
static
std::map<std::string, std::set<std::string> >
myExplicitIDs
;
158
159
160
private
:
162
MSDevice
(
const
MSDevice
&);
163
165
MSDevice
&
operator=
(
const
MSDevice
&);
166
167
};
168
169
170
#endif
171
172
/****************************************************************************/
173
build
buildd
sumo-0.18~dfsg
src
microsim
devices
MSDevice.h
Generated on Wed Oct 23 2013 01:15:09 for SUMO - Simulation of Urban MObility by
1.8.4