SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NBSign.h
Go to the documentation of this file.
1 /****************************************************************************/
7 // A class representing a street sign
8 /****************************************************************************/
9 // SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
10 // Copyright (C) 2001-2013 DLR (http://www.dlr.de/) and contributors
11 /****************************************************************************/
12 //
13 // This file is part of SUMO.
14 // SUMO is free software: you can redistribute it and/or modify
15 // it under the terms of the GNU General Public License as published by
16 // the Free Software Foundation, either version 3 of the License, or
17 // (at your option) any later version.
18 //
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, SUMOReal offset, const std::string label = "");
75 
76 
78  ~NBSign();
79 
81  void writeAsPOI(OutputDevice& into, const NBEdge* edge) const;
82 
83 
84 private:
87 
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
SUMOReal myOffset
The offset of the sign from the start of its edge.
Definition: NBSign.h:89
static StringBijection< SignType > SignTypeColors
Definition: NBSign.h:95
The representation of a single edge during network building.
Definition: NBEdge.h:71
void writeAsPOI(OutputDevice &into, const NBEdge *edge) const
write into device as POI positioned relative to the given edge
Definition: NBSign.cpp:97
~NBSign()
Destructor.
Definition: NBSign.cpp:93
std::string myLabel
The (optional) label (for SPEED, SLOPE etc)
Definition: NBSign.h:92
NBSign(SignType type, SUMOReal offset, const std::string label="")
Constructor with id, and position.
Definition: NBSign.cpp:86
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
#define SUMOReal
Definition: config.h:221
SignType
Definition: NBSign.h:53