Eclipse SUMO - Simulation of Urban MObility
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
Functions
a
c
e
f
g
h
i
j
l
n
o
r
s
t
u
Variables
a
c
d
f
g
i
j
k
l
m
o
p
r
s
t
v
Typedefs
b
c
d
e
f
g
i
j
k
m
n
o
p
r
s
t
u
v
Enumerations
Enumerator
a
c
d
f
m
p
s
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
i
j
k
l
m
n
o
p
r
s
t
v
w
Enumerations
a
c
d
e
f
g
i
j
l
m
n
o
p
r
s
t
v
w
Enumerator
a
b
c
d
e
f
h
i
l
m
n
o
p
r
s
t
u
v
w
z
Properties
a
c
d
e
f
g
h
m
n
p
r
s
t
u
v
y
Related Symbols
:
a
b
d
f
g
i
m
n
o
p
r
s
w
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
i
j
l
m
n
o
p
r
s
t
v
w
Variables
a
c
d
e
f
g
i
l
m
n
o
p
r
s
t
v
w
x
y
z
Typedefs
a
c
e
f
g
i
l
m
n
p
r
s
Enumerations
a
c
d
e
f
g
i
j
k
l
m
n
o
p
r
s
t
v
x
Enumerator
a
b
d
f
g
i
k
l
m
p
r
s
t
v
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
NIVissimTrafficDescription.cpp
Go to the documentation of this file.
1
/****************************************************************************/
2
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3
// Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.
4
// This program and the accompanying materials are made available under the
5
// terms of the Eclipse Public License 2.0 which is available at
6
// https://www.eclipse.org/legal/epl-2.0/
7
// This Source Code may also be made available under the following Secondary
8
// Licenses when the conditions for such availability set forth in the Eclipse
9
// Public License 2.0 are satisfied: GNU General Public License, version 2
10
// or later which is available at
11
// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13
/****************************************************************************/
18
// -------------------
19
/****************************************************************************/
20
#include <config.h>
21
22
#include <string>
23
#include <map>
24
#include <cassert>
25
#include "
NIVissimVehicleClassVector.h
"
26
#include "
NIVissimTrafficDescription.h
"
27
28
29
// ===========================================================================
30
// member function definitions
31
// ===========================================================================
32
NIVissimTrafficDescription::DictType
NIVissimTrafficDescription::myDict
;
33
34
35
// ===========================================================================
36
// member method definitions
37
// ===========================================================================
38
NIVissimTrafficDescription::NIVissimTrafficDescription
(
39
const
std::string& name,
40
const
NIVissimVehicleClassVector
& vehicleTypes)
41
: myName(name), myVehicleTypes(vehicleTypes) {}
38
NIVissimTrafficDescription::NIVissimTrafficDescription
( {
…
}
42
43
44
NIVissimTrafficDescription::~NIVissimTrafficDescription
() {
45
for
(NIVissimVehicleClassVector::iterator i =
myVehicleTypes
.begin(); i !=
myVehicleTypes
.end(); i++) {
46
delete
*i;
47
}
48
myVehicleTypes
.clear();
49
}
44
NIVissimTrafficDescription::~NIVissimTrafficDescription
() {
…
}
50
51
52
bool
53
NIVissimTrafficDescription::dictionary
(
int
id
,
54
const
std::string& name,
55
const
NIVissimVehicleClassVector
& vehicleTypes) {
56
NIVissimTrafficDescription
* o =
new
NIVissimTrafficDescription
(name, vehicleTypes);
57
if
(!
dictionary
(
id
, o)) {
58
delete
o;
59
return
false
;
60
}
61
return
true
;
62
}
53
NIVissimTrafficDescription::dictionary
(
int
id
, {
…
}
63
64
65
bool
66
NIVissimTrafficDescription::dictionary
(
int
id
,
NIVissimTrafficDescription
* o) {
67
DictType::iterator i =
myDict
.find(
id
);
68
if
(i ==
myDict
.end()) {
69
myDict
[id] = o;
70
return
true
;
71
}
72
return
false
;
73
}
66
NIVissimTrafficDescription::dictionary
(
int
id
,
NIVissimTrafficDescription
* o) {
…
}
74
75
76
NIVissimTrafficDescription
*
77
NIVissimTrafficDescription::dictionary
(
int
id
) {
78
DictType::iterator i =
myDict
.find(
id
);
79
if
(i ==
myDict
.end()) {
80
return
nullptr
;
81
}
82
return
(*i).second;
83
}
77
NIVissimTrafficDescription::dictionary
(
int
id
) {
…
}
84
85
86
void
87
NIVissimTrafficDescription::clearDict
() {
88
for
(DictType::iterator i =
myDict
.begin(); i !=
myDict
.end(); i++) {
89
delete
(*i).second;
90
}
91
myDict
.clear();
92
}
87
NIVissimTrafficDescription::clearDict
() {
…
}
93
94
95
96
97
double
98
NIVissimTrafficDescription::meanSpeed
(
int
id
) {
99
NIVissimTrafficDescription
* i =
dictionary
(
id
);
100
assert(i != 0);
101
return
i->
meanSpeed
();
102
}
98
NIVissimTrafficDescription::meanSpeed
(
int
id
) {
…
}
103
104
105
double
106
NIVissimTrafficDescription::meanSpeed
()
const
{
107
double
speed = 0;
108
for
(NIVissimVehicleClassVector::const_iterator i =
myVehicleTypes
.begin(); i !=
myVehicleTypes
.end(); i++) {
109
speed += (*i)->getSpeed();
110
}
111
return
speed / (double)
myVehicleTypes
.size();
112
}
106
NIVissimTrafficDescription::meanSpeed
()
const
{
…
}
113
114
115
/****************************************************************************/
NIVissimTrafficDescription.h
NIVissimVehicleClassVector.h
NIVissimVehicleClassVector
std::vector< NIVissimVehicleClass * > NIVissimVehicleClassVector
Definition
NIVissimVehicleClassVector.h:27
NIVissimTrafficDescription
Definition
NIVissimTrafficDescription.h:34
NIVissimTrafficDescription::dictionary
static bool dictionary(int id, const std::string &name, const NIVissimVehicleClassVector &vehicleTypes)
Definition
NIVissimTrafficDescription.cpp:53
NIVissimTrafficDescription::clearDict
static void clearDict()
Definition
NIVissimTrafficDescription.cpp:87
NIVissimTrafficDescription::NIVissimTrafficDescription
NIVissimTrafficDescription(const std::string &name, const NIVissimVehicleClassVector &vehicleTypes)
Definition
NIVissimTrafficDescription.cpp:38
NIVissimTrafficDescription::myDict
static DictType myDict
Definition
NIVissimTrafficDescription.h:51
NIVissimTrafficDescription::DictType
std::map< int, NIVissimTrafficDescription * > DictType
Definition
NIVissimTrafficDescription.h:50
NIVissimTrafficDescription::meanSpeed
double meanSpeed() const
Definition
NIVissimTrafficDescription.cpp:106
NIVissimTrafficDescription::myVehicleTypes
NIVissimVehicleClassVector myVehicleTypes
Definition
NIVissimTrafficDescription.h:48
NIVissimTrafficDescription::~NIVissimTrafficDescription
~NIVissimTrafficDescription()
Definition
NIVissimTrafficDescription.cpp:44
NIVissimTrafficDescription::meanSpeed
static double meanSpeed(int id)
Definition
NIVissimTrafficDescription.cpp:98
src
netimport
vissim
tempstructs
NIVissimTrafficDescription.cpp
Generated on Mon Jun 9 2025 00:11:10 for Eclipse SUMO - Simulation of Urban MObility by
1.9.8