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
NLHandler.h
Go to the documentation of this file.
1
/****************************************************************************/
10
// The XML-Handler for network loading
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 NLHandler_h
24
#define NLHandler_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 <xercesc/sax/HandlerBase.hpp>
37
#include <xercesc/sax/SAXException.hpp>
38
#include <xercesc/sax/AttributeList.hpp>
39
#include <
utils/common/SUMOTime.h
>
40
#include <
utils/common/Parameterised.h
>
41
#include <
utils/xml/SUMOXMLDefinitions.h
>
42
#include <
microsim/MSLink.h
>
43
#include <
microsim/MSRouteHandler.h
>
44
#include <
microsim/traffic_lights/MSSimpleTrafficLightLogic.h
>
45
#include <
microsim/traffic_lights/MSActuatedTrafficLightLogic.h
>
46
#include <
microsim/MSBitSetLogic.h
>
47
#include "
NLBuilder.h
"
48
#include "
NLDiscreteEventBuilder.h
"
49
50
51
// ===========================================================================
52
// class declarations
53
// ===========================================================================
54
class
NLContainer;
55
class
NLDetectorBuilder
;
56
class
NLTriggerBuilder
;
57
class
MSTrafficLightLogic
;
58
59
60
// ===========================================================================
61
// class definitions
62
// ===========================================================================
71
class
NLHandler
:
public
MSRouteHandler
{
72
public
:
74
typedef
std::vector<MSLane*>
LaneVector
;
75
76
public
:
86
NLHandler
(
const
std::string& file,
MSNet
& net,
87
NLDetectorBuilder
& detBuilder,
NLTriggerBuilder
& triggerBuilder,
88
NLEdgeControlBuilder
& edgeBuilder,
89
NLJunctionControlBuilder
& junctionBuilder);
90
91
93
virtual
~NLHandler
();
94
95
96
protected
:
98
99
108
virtual
void
myStartElement
(
int
element,
109
const
SUMOSAXAttributes
& attrs);
110
111
119
virtual
void
myEndElement
(
int
element);
121
122
123
protected
:
124
void
addParam
(
const
SUMOSAXAttributes
& attrs);
125
129
virtual
void
addE1Detector
(
const
SUMOSAXAttributes
& attrs);
130
134
virtual
void
addInstantE1Detector
(
const
SUMOSAXAttributes
& attrs);
135
139
virtual
void
addE2Detector
(
const
SUMOSAXAttributes
& attrs);
140
144
void
beginE3Detector
(
const
SUMOSAXAttributes
& attrs);
145
149
void
addE3Entry
(
const
SUMOSAXAttributes
& attrs);
150
154
void
addE3Exit
(
const
SUMOSAXAttributes
& attrs);
155
157
virtual
void
endE3Detector
();
158
162
virtual
void
addVTypeProbeDetector
(
const
SUMOSAXAttributes
& attrs);
163
167
virtual
void
addRouteProbeDetector
(
const
SUMOSAXAttributes
& attrs);
168
173
virtual
void
addEdgeLaneMeanData
(
const
SUMOSAXAttributes
& attrs,
int
objecttype);
174
176
virtual
void
closeEdge
();
177
178
179
protected
:
181
MSNet
&
myNet
;
182
183
184
private
:
186
void
beginEdgeParsing
(
const
SUMOSAXAttributes
& attrs);
187
189
void
addLane
(
const
SUMOSAXAttributes
& attrs);
190
192
void
addPOI
(
const
SUMOSAXAttributes
& attrs);
193
195
void
addPoly
(
const
SUMOSAXAttributes
& attrs);
196
198
void
addRequest
(
const
SUMOSAXAttributes
& attrs);
199
201
void
initJunctionLogic
(
const
SUMOSAXAttributes
& attrs);
202
204
void
initTrafficLightLogic
(
const
SUMOSAXAttributes
& attrs);
205
207
void
addPhase
(
const
SUMOSAXAttributes
& attrs);
208
209
211
virtual
void
openJunction
(
const
SUMOSAXAttributes
& attrs);
212
213
void
parseLanes
(
const
std::string& junctionID,
const
std::string& def, std::vector<MSLane*>& into,
bool
& ok);
214
215
#ifdef _MESSAGES
216
217
void
addMsgEmitter(
const
SUMOSAXAttributes
& attrs);
218
#endif
219
221
void
addConnection
(
const
SUMOSAXAttributes
& attrs);
222
223
virtual
void
openWAUT
(
const
SUMOSAXAttributes
& attrs);
224
void
addWAUTSwitch
(
const
SUMOSAXAttributes
& attrs);
225
void
addWAUTJunction
(
const
SUMOSAXAttributes
& attrs);
226
228
void
setLocation
(
const
SUMOSAXAttributes
& attrs);
229
239
void
addDistrict
(
const
SUMOSAXAttributes
& attrs);
240
241
252
void
addDistrictEdge
(
const
SUMOSAXAttributes
& attrs,
bool
isSource);
253
254
255
void
closeWAUT
();
256
258
LinkDirection
parseLinkDir
(
const
std::string& dir);
259
261
LinkState
parseLinkState
(
const
std::string& state);
262
263
264
protected
:
266
NLDiscreteEventBuilder
myActionBuilder
;
267
269
bool
myCurrentIsInternalToSkip
;
270
271
273
NLDetectorBuilder
&
myDetectorBuilder
;
274
276
NLTriggerBuilder
&
myTriggerBuilder
;
277
279
NLEdgeControlBuilder
&
myEdgeControlBuilder
;
280
282
NLJunctionControlBuilder
&
myJunctionControlBuilder
;
283
284
285
287
std::string
myCurrentDistrictID
;
288
290
bool
myAmInTLLogicMode
;
291
293
std::string
myCurrentWAUTID
;
294
296
Position
myNetworkOffset
;
297
299
Boundary
myOrigBoundary
,
myConvBoundary
;
300
301
bool
myCurrentIsBroken
;
302
303
bool
myHaveWarnedAboutDeprecatedLanes
;
304
305
Parameterised
*
myLastParameterised
;
306
307
private
:
309
NLHandler
(
const
NLHandler
& s);
310
312
NLHandler
&
operator=
(
const
NLHandler
& s);
313
314
};
315
316
317
#endif
318
319
/****************************************************************************/
320
build
buildd
sumo-0.17.1~dfsg
src
netload
NLHandler.h
Generated on Sun Jun 16 2013 17:30:18 for SUMO - Simulation of Urban MObility by
1.8.3.1