SUMO - Simulation of Urban MObility
GNEStoppingPlace.h
Go to the documentation of this file.
1 /****************************************************************************/
8 /****************************************************************************/
9 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
10 // Copyright (C) 2001-2017 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 GNEStoppingPlace_h
21 #define GNEStoppingPlace_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 "GNEAdditional.h"
34 
35 // ===========================================================================
36 // class declarations
37 // ===========================================================================
38 
40 class PositionVector;
41 class GNENet;
42 
43 // ===========================================================================
44 // class definitions
45 // ===========================================================================
51 public:
61  GNEStoppingPlace(const std::string& id, GNEViewNet* viewNet, SumoXMLTag tag, GUIIcon icon, GNELane* lane, double startPos, double endPos);
62 
65 
67  virtual void updateGeometry() = 0;
68 
71 
73  void moveAdditionalGeometry(double offsetx, double offsety);
74 
76  void commmitAdditionalGeometryMoved(double oldPosx, double oldPosy, GNEUndoList* undoList);
77 
82  virtual void writeAdditional(OutputDevice& device) const = 0;
83 
85  double getStartPosition() const;
86 
88  double getEndPosition() const;
89 
94  void setStartPosition(double startPos);
95 
100  void setEndPosition(double endPos);
101 
106  const std::string& getParentName() const;
107 
112  virtual void drawGL(const GUIVisualizationSettings& s) const = 0;
114 
117  /* @brief method for getting the Attribute of an XML key
118  * @param[in] key The attribute key
119  * @return string with the value associated to key
120  */
121  virtual std::string getAttribute(SumoXMLAttr key) const = 0;
122 
123  /* @brief method for setting the attribute and letting the object perform additional changes
124  * @param[in] key The attribute key
125  * @param[in] value The new value
126  * @param[in] undoList The undoList on which to register changes
127  */
128  virtual void setAttribute(SumoXMLAttr key, const std::string& value, GNEUndoList* undoList) = 0;
129 
130  /* @brief method for checking if the key and their conrrespond attribute are valids
131  * @param[in] key The attribute key
132  * @param[in] value The value asociated to key key
133  * @return true if the value is valid, false in other case
134  */
135  virtual bool isValid(SumoXMLAttr key, const std::string& value) = 0;
137 
138 protected:
140  double myStartPos;
141 
143  double myEndPos;
144 
147 
150 
153 
156 
159 
160 private:
162  virtual void setAttribute(SumoXMLAttr key, const std::string& value) = 0;
163 
165  void setPosition(const Position& pos);
166 };
167 
168 
169 #endif
SumoXMLTag
Numbers representing SUMO-XML - element names.
virtual void writeAdditional(OutputDevice &device) const =0
writte additional element into a xml file
void setPosition(const Position &pos)
Invalidate set new position in the view.
GUIIcon
An enumeration of icons used by the gui applications.
Definition: GUIIcons.h:43
void setEndPosition(double endPos)
Set a new End position in StoppingPlace.
Stores the information about how to visualize structures.
GNEStoppingPlace(const std::string &id, GNEViewNet *viewNet, SumoXMLTag tag, GUIIcon icon, GNELane *lane, double startPos, double endPos)
Constructor.
RGBColor myTextColorSelected
Text color selected (Default blue)
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:88
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:54
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
virtual void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)=0
method for setting the attribute and letting the object perform additional changes ...
void setStartPosition(double startPos)
Set a new Start position in StoppingPlace.
double myEndPos
The end position this stopping place is located at.
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:46
RGBColor mySignColor
sign color (Default yellow)
A list of positions.
double getEndPosition() const
Returns the End position of the stoppingPlace.
RGBColor myTextColor
Text color (Default cyan)
void moveAdditionalGeometry(double offsetx, double offsety)
change the position of the StoppingPlace geometry
~GNEStoppingPlace()
Destructor.
virtual void drawGL(const GUIVisualizationSettings &s) const =0
Draws the object.
double getStartPosition() const
Returns the Start position of the stoppingPlace.
An Element which don&#39;t belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:62
virtual void updateGeometry()=0
update pre-computed geometry information
The popup menu of a globject.
double myStartPos
The start position this stopping place is located at.
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:71
virtual std::string getAttribute(SumoXMLAttr key) const =0
const std::string & getParentName() const
Returns the name of the parent object (if any)
void commmitAdditionalGeometryMoved(double oldPosx, double oldPosy, GNEUndoList *undoList)
updated geometry changes in the attributes of additional
Position mySignPos
The position of the sign.
Position getPositionInView() const
Returns position of StoppingPlace in view.
virtual bool isValid(SumoXMLAttr key, const std::string &value)=0
method for checking if the key and their conrrespond attribute are valids
RGBColor mySignColorSelected
sign selected color (Default blue)