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
MSVehicleType.h
Go to the documentation of this file.
1
/****************************************************************************/
10
// The car-following model and parameter
11
/****************************************************************************/
12
// SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
13
// Copyright (C) 2001-2013 DLR (http://www.dlr.de/) and contributors
14
/****************************************************************************/
15
//
16
// This file is part of SUMO.
17
// SUMO is free software: you can redistribute it and/or modify
18
// it under the terms of the GNU General Public License as published by
19
// the Free Software Foundation, either version 3 of the License, or
20
// (at your option) any later version.
21
//
22
/****************************************************************************/
23
#ifndef MSVehicleType_h
24
#define MSVehicleType_h
25
26
27
// ===========================================================================
28
// included modules
29
// ===========================================================================
30
#ifdef _MSC_VER
31
#include <
windows_config.h
>
32
#else
33
#include <
config.h
>
34
#endif
35
36
#include <cassert>
37
#include <map>
38
#include <string>
39
#include "
MSCFModel.h
"
40
#include <
utils/common/SUMOTime.h
>
41
#include <
utils/common/StdDefs.h
>
42
#include <
utils/common/SUMOVehicleClass.h
>
43
#include <
utils/common/RandHelper.h
>
44
#include <
utils/common/SUMOVTypeParameter.h
>
45
#include <
utils/common/RGBColor.h
>
46
#include <
foreign/mersenne/MersenneTwister.h
>
47
48
49
// ===========================================================================
50
// class declarations
51
// ===========================================================================
52
class
MSLane
;
53
class
BinaryInputDevice
;
54
class
MSCFModel
;
55
class
SUMOVTypeParameter
;
56
57
58
// ===========================================================================
59
// class definitions
60
// ===========================================================================
74
class
MSVehicleType
{
75
public
:
80
MSVehicleType
(
const
SUMOVTypeParameter
& parameter);
81
82
84
virtual
~MSVehicleType
();
85
86
91
bool
wasSet
(
int
what)
const
{
92
return
(
myParameter
.
setParameter
& what) != 0;
93
}
94
95
98
102
const
std::string&
getID
()
const
{
103
return
myParameter
.
id
;
104
}
105
106
110
SUMOReal
getLength
()
const
{
111
return
myParameter
.
length
;
112
}
113
114
118
SUMOReal
getLengthWithGap
()
const
{
119
return
myParameter
.
length
+
myParameter
.
minGap
;
120
}
121
122
126
SUMOReal
getMinGap
()
const
{
127
return
myParameter
.
minGap
;
128
}
129
130
134
inline
const
MSCFModel
&
getCarFollowModel
()
const
{
135
return
*
myCarFollowModel
;
136
}
137
138
142
inline
MSCFModel
&
getCarFollowModel
() {
143
return
*
myCarFollowModel
;
144
}
145
146
150
SUMOReal
getMaxSpeed
()
const
{
151
return
myParameter
.
maxSpeed
;
152
}
153
154
158
SUMOReal
computeChosenSpeedDeviation
(
MTRand
& rng)
const
;
159
160
164
SUMOReal
getDefaultProbability
()
const
{
165
return
myParameter
.
defaultProbability
;
166
}
167
168
173
SUMOVehicleClass
getVehicleClass
()
const
{
174
return
myParameter
.
vehicleClass
;
175
}
176
177
182
SUMOEmissionClass
getEmissionClass
()
const
{
183
return
myParameter
.
emissionClass
;
184
}
185
186
190
const
RGBColor
&
getColor
()
const
{
191
return
myParameter
.
color
;
192
}
193
194
198
SUMOReal
getSpeedFactor
()
const
{
199
return
myParameter
.
speedFactor
;
200
}
201
202
206
SUMOReal
getSpeedDeviation
()
const
{
207
return
myParameter
.
speedDev
;
208
}
210
211
212
215
219
SUMOReal
getWidth
()
const
{
220
return
myParameter
.
width
;
221
}
222
226
SUMOReal
getHeight
()
const
{
227
return
myParameter
.
height
;
228
}
229
234
SUMOVehicleShape
getGuiShape
()
const
{
235
return
myParameter
.
shape
;
236
}
237
241
std::string
getOSGFile
()
const
{
242
return
myParameter
.
osgFile
;
243
}
244
245
249
std::string
getImgFile
()
const
{
250
return
myParameter
.
imgFile
;
251
}
252
254
255
258
266
void
setLength
(
const
SUMOReal
& length);
267
268
276
void
setMinGap
(
const
SUMOReal
& minGap);
277
278
286
void
setMaxSpeed
(
const
SUMOReal
& maxSpeed);
287
288
292
void
setVClass
(
SUMOVehicleClass
vclass);
293
294
302
void
setDefaultProbability
(
const
SUMOReal
& prob);
303
304
312
void
setSpeedFactor
(
const
SUMOReal
& factor);
313
314
322
void
setSpeedDeviation
(
const
SUMOReal
& dev);
323
324
328
void
setEmissionClass
(
SUMOEmissionClass
eclass);
329
330
334
void
setColor
(
const
RGBColor
& color);
335
336
344
void
setWidth
(
const
SUMOReal
& width);
345
346
350
void
setShape
(
SUMOVehicleShape
shape);
352
353
354
357
363
static
MSVehicleType
*
build
(
SUMOVTypeParameter
& from);
364
365
371
static
MSVehicleType
*
build
(
const
std::string&
id
,
const
MSVehicleType
* from);
373
374
378
bool
amVehicleSpecific
()
const
{
379
return
myOriginalType
!= 0;
380
}
381
382
383
private
:
385
SUMOVTypeParameter
myParameter
;
386
388
MSCFModel
*
myCarFollowModel
;
389
391
const
MSVehicleType
*
myOriginalType
;
392
393
394
private
:
396
MSVehicleType
(
const
MSVehicleType
&);
397
399
MSVehicleType
&
operator=
(
const
MSVehicleType
&);
400
401
};
402
403
404
#endif
405
406
/****************************************************************************/
407
home
gladk
tmp
05
sumo-0.17.1~dfsg
src
microsim
MSVehicleType.h
Generated on Sun Jun 16 2013 07:07:45 for SUMO - Simulation of Urban MObility by
1.8.1.2