SUMO - Simulation of Urban MObility
GNEDetectorE2.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-2018 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 /****************************************************************************/
15 //
16 /****************************************************************************/
17 #ifndef GNEDetectorE2_h
18 #define GNEDetectorE2_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include "GNEDetector.h"
27 
28 
29 // ===========================================================================
30 // class definitions
31 // ===========================================================================
36 class GNEDetectorE2 : public GNEDetector {
37 
38 public:
55  GNEDetectorE2(const std::string& id, GNELane* lane, GNEViewNet* viewNet, double pos, double length, double freq, const std::string& filename, const std::string& vehicleTypes,
56  const std::string& name , const double timeThreshold, double speedThreshold, double jamThreshold, bool friendlyPos, bool blockMovement);
57 
60 
62  double getLength() const;
63 
65  bool isDetectorPositionFixed() const;
66 
70  void updateGeometry(bool updateGrid);
72 
75 
79  void drawGL(const GUIVisualizationSettings& s) const;
81 
84  /* @brief method for getting the Attribute of an XML key
85  * @param[in] key The attribute key
86  * @return string with the value associated to key
87  */
88  std::string getAttribute(SumoXMLAttr key) const;
89 
90  /* @brief method for setting the attribute and letting the object perform additional changes
91  * @param[in] key The attribute key
92  * @param[in] value The new value
93  * @param[in] undoList The undoList on which to register changes
94  */
95  void setAttribute(SumoXMLAttr key, const std::string& value, GNEUndoList* undoList);
96 
97  /* @brief method for checking if the key and their correspond attribute are valids
98  * @param[in] key The attribute key
99  * @param[in] value The value asociated to key key
100  * @return true if the value is valid, false in other case
101  */
102  bool isValid(SumoXMLAttr key, const std::string& value);
104 
105 protected:
107  double myLength;
108 
111 
114 
117 
118 private:
120  void setAttribute(SumoXMLAttr key, const std::string& value);
121 
123  GNEDetectorE2(const GNEDetectorE2&) = delete;
124 
126  GNEDetectorE2& operator=(const GNEDetectorE2&) = delete;
127 };
128 
129 #endif
130 /****************************************************************************/
bool isDetectorPositionFixed() const
check if Position of detector is fixed
GNEDetectorE2 & operator=(const GNEDetectorE2 &)=delete
Invalidated assignment operator.
Stores the information about how to visualize structures.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:47
void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)
method for setting the attribute and letting the object perform additional changes ...
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
~GNEDetectorE2()
Destructor.
double mySpeedThreshold
The speed-based threshold that describes how slow a vehicle has to be to be recognized as halting...
void updateGeometry(bool updateGrid)
update pre-computed geometry information
double myLength
E2 detector lenght.
GNEDetectorE2(const std::string &id, GNELane *lane, GNEViewNet *viewNet, double pos, double length, double freq, const std::string &filename, const std::string &vehicleTypes, const std::string &name, const double timeThreshold, double speedThreshold, double jamThreshold, bool friendlyPos, bool blockMovement)
Constructor.
std::string getAttribute(SumoXMLAttr key) const
double getLength() const
get length of E2 Detector
bool isValid(SumoXMLAttr key, const std::string &value)
method for checking if the key and their conrrespond attribute are valids
double myTimeThreshold
The time-based threshold that describes how much time has to pass until a vehicle is recognized as ha...
double myJamThreshold
The minimum distance to the next standing vehicle in order to make this vehicle count as a participan...
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.