Eclipse SUMO - Simulation of Urban MObility
NIXMLTrafficLightsHandler.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
14 // Importer for traffic lights stored in XML
15 /****************************************************************************/
16 #ifndef NIXMLTrafficLightsHandler_h
17 #define NIXMLTrafficLightsHandler_h
18 
19 
20 // ===========================================================================
21 // included modules
22 // ===========================================================================
23 #include <config.h>
24 
26 #include <netbuild/NBConnection.h>
27 
28 
29 // ===========================================================================
30 // class declarations
31 // ===========================================================================
32 class NBEdge;
33 class NBEdgeCont;
34 class MsgHandler;
35 class NBLoadedSUMOTLDef;
37 
38 
39 // ===========================================================================
40 // class definitions
41 // ===========================================================================
50 public:
54  NIXMLTrafficLightsHandler(NBTrafficLightLogicCont& tlCont, NBEdgeCont& ec, bool ignoreUnknown = false);
55 
56 
59 
60 
61 protected:
63 
64 
72  void myStartElement(int element, const SUMOSAXAttributes& attrs);
73 
74 
81  void myEndElement(int element);
83 
84 
85 
86 private:
89 
92 
95 
98 
104 
106  void addTlConnection(const SUMOSAXAttributes& attrs);
107 
109  void removeTlConnection(const SUMOSAXAttributes& attrs);
110 
112  NBEdge* retrieveEdge(const SUMOSAXAttributes& attrs, SumoXMLAttr attr, bool& ok);
113 
115  int retrieveLaneIndex(const SUMOSAXAttributes& attrs, SumoXMLAttr attr, NBEdge* edge, bool& ok, bool isDelete = false);
116 
119 
120 
121 private:
124 
127 
128 
129 };
130 
131 
132 #endif
133 
134 /****************************************************************************/
135 
NBEdgeCont
Storage for edges, including some functionality operating on multiple edges.
Definition: NBEdgeCont.h:60
SUMOSAXHandler
SAX-handler base for SUMO-files.
Definition: SUMOSAXHandler.h:41
NBTrafficLightLogicCont
A container for traffic light definitions and built programs.
Definition: NBTrafficLightLogicCont.h:57
NIXMLTrafficLightsHandler::retrieveLaneIndex
int retrieveLaneIndex(const SUMOSAXAttributes &attrs, SumoXMLAttr attr, NBEdge *edge, bool &ok, bool isDelete=false)
parses a lane index and verifies its correctness
Definition: NIXMLTrafficLightsHandler.cpp:332
NIXMLTrafficLightsHandler
Importer for edge connections stored in XML.
Definition: NIXMLTrafficLightsHandler.h:49
NIXMLTrafficLightsHandler::myTLLCont
NBTrafficLightLogicCont & myTLLCont
The traffic light container to fill.
Definition: NIXMLTrafficLightsHandler.h:88
NBConnection.h
SUMOSAXHandler.h
NIXMLTrafficLightsHandler::NIXMLTrafficLightsHandler
NIXMLTrafficLightsHandler(NBTrafficLightLogicCont &tlCont, NBEdgeCont &ec, bool ignoreUnknown=false)
Constructor.
Definition: NIXMLTrafficLightsHandler.cpp:52
NBEdge
The representation of a single edge during network building.
Definition: NBEdge.h:91
NIXMLTrafficLightsHandler::~NIXMLTrafficLightsHandler
~NIXMLTrafficLightsHandler()
Destructor.
Definition: NIXMLTrafficLightsHandler.cpp:63
NIXMLTrafficLightsHandler::myStartElement
void myStartElement(int element, const SUMOSAXAttributes &attrs)
Called on the opening of a tag;.
Definition: NIXMLTrafficLightsHandler.cpp:67
MsgHandler
Definition: MsgHandler.h:38
NIXMLTrafficLightsHandler::removeTlConnection
void removeTlConnection(const SUMOSAXAttributes &attrs)
reads and removes tl-controlled connection
Definition: NIXMLTrafficLightsHandler.cpp:283
NIXMLTrafficLightsHandler::myEdgeCont
NBEdgeCont & myEdgeCont
The edge container for retrieving edges.
Definition: NIXMLTrafficLightsHandler.h:91
NIXMLTrafficLightsHandler::operator=
NIXMLTrafficLightsHandler & operator=(const NIXMLTrafficLightsHandler &s)
invalidated assignment operator
NIXMLTrafficLightsHandler::myCurrentTL
NBLoadedSUMOTLDef * myCurrentTL
The currently parsed traffic light.
Definition: NIXMLTrafficLightsHandler.h:94
NIXMLTrafficLightsHandler::myIgnoreUnknown
bool myIgnoreUnknown
whether definitions for unknown traffic lights shall be silently ignored
Definition: NIXMLTrafficLightsHandler.h:118
config.h
SumoXMLAttr
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
Definition: SUMOXMLDefinitions.h:372
SUMOSAXAttributes
Encapsulated SAX-Attributes.
Definition: SUMOSAXAttributes.h:56
NIXMLTrafficLightsHandler::addTlConnection
void addTlConnection(const SUMOSAXAttributes &attrs)
reads and adds tl-controlled connection
Definition: NIXMLTrafficLightsHandler.cpp:218
NIXMLTrafficLightsHandler::initTrafficLightLogic
NBLoadedSUMOTLDef * initTrafficLightLogic(const SUMOSAXAttributes &attrs, NBLoadedSUMOTLDef *currentTL)
Definition: NIXMLTrafficLightsHandler.cpp:116
NIXMLTrafficLightsHandler::retrieveEdge
NBEdge * retrieveEdge(const SUMOSAXAttributes &attrs, SumoXMLAttr attr, bool &ok)
parses and edge id an returns an existing edge
Definition: NIXMLTrafficLightsHandler.cpp:319
NIXMLTrafficLightsHandler::myEndElement
void myEndElement(int element)
Called when a closing tag occurs.
Definition: NIXMLTrafficLightsHandler.cpp:104
NIXMLTrafficLightsHandler::myResetPhases
bool myResetPhases
whether phases of a previously loaded traffic light must be reset
Definition: NIXMLTrafficLightsHandler.h:97
NBLoadedSUMOTLDef
A loaded (complete) traffic light logic.
Definition: NBLoadedSUMOTLDef.h:44