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
NLEdgeControlBuilder.h
Go to the documentation of this file.
1
/****************************************************************************/
9
// Interface for building edges
10
/****************************************************************************/
11
// SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
12
// Copyright (C) 2001-2014 DLR (http://www.dlr.de/) and contributors
13
/****************************************************************************/
14
//
15
// This file is part of SUMO.
16
// SUMO is free software: you can redistribute it and/or modify
17
// it under the terms of the GNU General Public License as published by
18
// the Free Software Foundation, either version 3 of the License, or
19
// (at your option) any later version.
20
//
21
/****************************************************************************/
22
#ifndef NLEdgeControlBuilder_h
23
#define NLEdgeControlBuilder_h
24
25
26
// ===========================================================================
27
// included modules
28
// ===========================================================================
29
#ifdef _MSC_VER
30
#include <
windows_config.h
>
31
#else
32
#include <
config.h
>
33
#endif
34
35
#include <string>
36
#include <vector>
37
#include <
microsim/MSEdge.h
>
38
#include <
utils/geom/PositionVector.h
>
39
40
41
// ===========================================================================
42
// class declarations
43
// ===========================================================================
44
class
MSEdgeControl
;
45
class
MSLane
;
46
class
MSNet
;
47
class
OutputDevice
;
48
49
50
// ===========================================================================
51
// class definitions
52
// ===========================================================================
64
class
NLEdgeControlBuilder
{
65
public
:
67
typedef
std::vector<MSEdge*>
EdgeCont
;
68
69
public
:
71
NLEdgeControlBuilder
();
72
73
75
virtual
~NLEdgeControlBuilder
();
76
77
90
void
beginEdgeParsing
(
const
std::string&
id
,
const
MSEdge::EdgeBasicFunction
function
,
91
const
std::string& streetName,
const
std::string& edgeType);
92
93
109
virtual
MSLane
*
addLane
(
const
std::string&
id
,
SUMOReal
maxSpeed,
110
SUMOReal
length,
const
PositionVector
& shape,
111
SUMOReal
width,
SVCPermissions
permissions);
112
113
116
virtual
MSEdge
*
closeEdge
();
117
119
MSEdgeControl
*
build
();
120
121
131
virtual
MSEdge
*
buildEdge
(
const
std::string&
id
,
const
MSEdge::EdgeBasicFunction
function
,
const
std::string& streetName =
""
,
const
std::string& edgeType =
""
);
132
133
134
protected
:
136
unsigned
int
myCurrentNumericalLaneID
;
137
139
unsigned
int
myCurrentNumericalEdgeID
;
140
142
EdgeCont
myEdges
;
143
145
MSEdge
*
myActiveEdge
;
146
148
std::vector<MSLane*>*
myLaneStorage
;
149
150
private
:
152
NLEdgeControlBuilder
(
const
NLEdgeControlBuilder
& s);
153
155
NLEdgeControlBuilder
&
operator=
(
const
NLEdgeControlBuilder
& s);
156
157
};
158
159
160
#endif
161
162
/****************************************************************************/
163
tmp
buildd
sumo-0.21.0+dfsg
src
netload
NLEdgeControlBuilder.h
Generated on Thu Nov 20 2014 19:49:57 for SUMO - Simulation of Urban MObility by
1.8.1.2