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
NIVissimDisturbance.h
Go to the documentation of this file.
1
/****************************************************************************/
8
// -------------------
9
/****************************************************************************/
10
// SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
11
// Copyright (C) 2002-2014 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 NIVissimDisturbance_h
22
#define NIVissimDisturbance_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 <map>
35
#include <string>
36
#include <
utils/geom/AbstractPoly.h
>
37
#include <
netbuild/NBConnection.h
>
38
#include "
NIVissimExtendedEdgePoint.h
"
39
#include "
NIVissimBoundedClusterObject.h
"
40
#include "
NIVissimNodeParticipatingEdgeVector.h
"
41
42
43
// ===========================================================================
44
// class declarations
45
// ===========================================================================
46
class
NBNode
;
47
class
NBEdge
;
48
class
NBDistrictCont
;
49
50
class
NIVissimDisturbance
51
:
public
NIVissimBoundedClusterObject
{
52
public
:
53
NIVissimDisturbance
(
int
id
,
const
std::string& name,
54
const
NIVissimExtendedEdgePoint
& edge,
55
const
NIVissimExtendedEdgePoint
& by,
56
SUMOReal
timegap,
SUMOReal
waygap,
SUMOReal
vmax);
57
virtual
~NIVissimDisturbance
();
58
void
computeBounding
();
59
bool
addToNode
(
NBNode
* node,
NBDistrictCont
& dc,
60
NBNodeCont
& nc,
NBEdgeCont
& ec);
61
int
getEdgeID
()
const
{
62
return
myEdge
.
getEdgeID
();
63
}
64
int
getDisturbanceID
()
const
{
65
return
myDisturbance
.
getEdgeID
();
66
}
67
NBConnection
getConnection
(
NBNode
* node,
int
aedgeid);
68
69
public
:
70
static
bool
dictionary
(
int
id
,
const
std::string& name,
71
const
NIVissimExtendedEdgePoint
& edge,
72
const
NIVissimExtendedEdgePoint
& by,
73
SUMOReal
timegap,
SUMOReal
waygap,
SUMOReal
vmax);
74
static
bool
dictionary
(
int
id
,
NIVissimDisturbance
* o);
75
static
NIVissimDisturbance
*
dictionary
(
int
id
);
76
static
std::vector<int>
getWithin
(
const
AbstractPoly
& poly);
77
static
void
clearDict
();
78
static
void
dict_SetDisturbances
();
79
static
void
reportRefused
();
80
81
private
:
82
int
myID
;
83
int
myNode
;
84
std::string
myName
;
85
NIVissimExtendedEdgePoint
myEdge
;
86
NIVissimExtendedEdgePoint
myDisturbance
;
87
SUMOReal
myTimeGap
,
myWayGap
,
myVMax
;
88
89
typedef
std::map<int, NIVissimDisturbance*>
DictType
;
90
static
DictType
myDict
;
91
static
int
myRunningID
;
92
static
int
refusedProhibits
;
93
};
94
95
96
#endif
97
98
/****************************************************************************/
99
tmp
buildd
sumo-0.21.0+dfsg
src
netimport
vissim
tempstructs
NIVissimDisturbance.h
Generated on Thu Nov 20 2014 19:49:57 for SUMO - Simulation of Urban MObility by
1.8.1.2