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
NIVissimConnection.h
Go to the documentation of this file.
1
/****************************************************************************/
8
// -------------------
9
/****************************************************************************/
10
// SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
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 NIVissimConnection_h
22
#define NIVissimConnection_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 <map>
36
#include "
NIVissimExtendedEdgePoint.h
"
37
#include <
utils/geom/Position.h
>
38
#include <
utils/geom/AbstractPoly.h
>
39
#include "
NIVissimAbstractEdge.h
"
40
#include "
NIVissimClosedLanesVector.h
"
41
#include "
NIVissimBoundedClusterObject.h
"
42
43
44
// ===========================================================================
45
// class declarations
46
// ===========================================================================
47
class
NBEdgeCont
;
48
49
50
// ===========================================================================
51
// class definitions
52
// ===========================================================================
53
class
NIVissimConnection
54
:
public
NIVissimBoundedClusterObject
,
55
public
NIVissimAbstractEdge
{
56
public
:
57
enum
Direction
{
58
NIVC_DIR_RIGHT
,
59
NIVC_DIR_LEFT
,
60
NIVC_DIR_ALL
61
};
62
63
NIVissimConnection
(
int
id
,
const
std::string& name,
64
const
NIVissimExtendedEdgePoint
& from_def,
65
const
NIVissimExtendedEdgePoint
& to_def,
66
const
PositionVector
& geom,
67
Direction
direction,
SUMOReal
dxnothalt,
SUMOReal
dxeinordnen,
68
SUMOReal
zuschlag1,
SUMOReal
zuschlag2,
SUMOReal
seglength,
69
const
std::vector<int>& assignedVehicles,
70
const
NIVissimClosedLanesVector
& clv);
71
virtual
~NIVissimConnection
();
72
void
computeBounding
();
73
int
getFromEdgeID
()
const
;
74
int
getToEdgeID
()
const
;
75
SUMOReal
getFromPosition
()
const
;
76
SUMOReal
getToPosition
()
const
;
77
Position
getFromGeomPosition
()
const
;
78
Position
getToGeomPosition
()
const
;
79
void
setNodeCluster
(
int
nodeid);
80
const
Boundary
&
getBoundingBox
()
const
;
81
82
unsigned
int
buildEdgeConnections
(
NBEdgeCont
& ec);
83
84
void
buildGeom
();
85
86
95
void
recheckLanes
(
const
NBEdge
*
const
fromEdge,
const
NBEdge
*
const
toEdge);
96
97
public
:
98
const
std::vector<int>&
getFromLanes
()
const
;
99
const
std::vector<int>&
getToLanes
()
const
;
100
101
102
103
static
bool
dictionary
(
int
id
,
const
std::string& name,
104
const
NIVissimExtendedEdgePoint
& from_def,
105
const
NIVissimExtendedEdgePoint
& to_def,
106
const
PositionVector
& geom,
107
Direction
direction,
SUMOReal
dxnothalt,
SUMOReal
dxeinordnen,
108
SUMOReal
zuschlag1,
SUMOReal
zuschlag2,
SUMOReal
seglength,
109
const
std::vector<int>& assignedVehicles,
110
const
NIVissimClosedLanesVector
& clv);
111
static
bool
dictionary
(
int
id
,
NIVissimConnection
* o);
112
static
NIVissimConnection
*
dictionary
(
int
id
);
113
static
std::vector<int>
getWithin
(
const
AbstractPoly
& poly);
114
static
void
buildNodeClusters
();
115
static
std::vector<int>
getForEdge
(
int
edgeid,
bool
omitNodeAssigned =
true
);
116
static
void
dict_buildNBEdgeConnections
(
NBEdgeCont
& ec);
117
static
void
dict_assignToEdges
();
118
static
int
getMaxID
();
119
120
private
:
121
std::string
myName
;
122
NIVissimExtendedEdgePoint
myFromDef
,
myToDef
;
123
Direction
myDirection
;
124
SUMOReal
myDXNothalt
,
myDXEinordnen
;
125
SUMOReal
myZuschlag1
,
myZuschlag2
;
126
std::vector<int>
myAssignedVehicles
;
127
NIVissimClosedLanesVector
myClosedLanes
;
128
private
:
129
typedef
std::map<int, NIVissimConnection*>
DictType
;
130
static
DictType
myDict
;
131
static
int
myMaxID
;
132
};
133
134
135
#endif
136
137
/****************************************************************************/
138
home
gladk
tmp
05
sumo-0.17.1~dfsg
src
netimport
vissim
tempstructs
NIVissimConnection.h
Generated on Sun Jun 16 2013 07:08:02 for SUMO - Simulation of Urban MObility by
1.8.1.2