SUMO - Simulation of Urban MObility
NBSign.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2012-2017 German Aerospace Center (DLR) and others.
4 /****************************************************************************/
5 //
6 // This program and the accompanying materials
7 // are made available under the terms of the Eclipse Public License v2.0
8 // which accompanies this distribution, and is available at
9 // http://www.eclipse.org/legal/epl-v20.html
10 //
11 /****************************************************************************/
18 // A class representing a street sign
19 /****************************************************************************/
20 #ifndef NBSign_h
21 #define NBSign_h
22 
23 
24 // ===========================================================================
25 // included modules
26 // ===========================================================================
27 #ifdef _MSC_VER
28 #include <windows_config.h>
29 #else
30 #include <config.h>
31 #endif
32 
33 #include <string>
35 
36 // ===========================================================================
37 // class declarations
38 // ===========================================================================
39 class NBEdge;
40 class OutputDevice;
41 
42 
43 // ===========================================================================
44 // class definitions
45 // ===========================================================================
50 class NBSign {
51 public:
52 
53  enum SignType {
65  SIGN_TYPE_INFO // terminator
66  };
67 
74  NBSign(SignType type, double offset, const std::string label = "");
75 
76 
78  ~NBSign();
79 
81  void writeAsPOI(OutputDevice& into, const NBEdge* edge) const;
82 
83 
84 private:
87 
89  double myOffset;
90 
92  std::string myLabel;
93 
96 };
97 
98 
99 #endif
100 
101 /****************************************************************************/
102 
A class representing a single street sign.
Definition: NBSign.h:50
The representation of a single edge during network building.
Definition: NBEdge.h:70
void writeAsPOI(OutputDevice &into, const NBEdge *edge) const
write into device as POI positioned relative to the given edge
Definition: NBSign.cpp:77
~NBSign()
Destructor.
Definition: NBSign.cpp:73
NBSign(SignType type, double offset, const std::string label="")
Constructor with id, and position.
Definition: NBSign.cpp:66
static StringBijection< SignType > SignTypeColors
Definition: NBSign.h:95
std::string myLabel
The (optional) label (for SPEED, SLOPE etc)
Definition: NBSign.h:92
double myOffset
The offset of the sign from the start of its edge.
Definition: NBSign.h:89
static StringBijection< SignType > SignTypeStrings
Definition: NBSign.h:94
SignType myType
the type of the sign
Definition: NBSign.h:86
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:70
SignType
Definition: NBSign.h:53