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-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 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, GNELane* lane, SUMOReal startPos, SUMOReal endPos, bool blocked = false);
62 
65 
67  virtual void updateGeometry() = 0;
68 
71 
73  void moveAdditionalGeometry(SUMOReal offsetx, SUMOReal offsety);
74 
76  void commmitAdditionalGeometryMoved(SUMOReal oldPosx, SUMOReal oldPosy, GNEUndoList* undoList);
77 
82  virtual void writeAdditional(OutputDevice& device, const std::string& currentDirectory) = 0;
83 
85  SUMOReal getStartPosition() const;
86 
88  SUMOReal getEndPosition() const;
89 
94  void setStartPosition(SUMOReal startPos);
95 
100  void setEndPosition(SUMOReal 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:
141 
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.
void commmitAdditionalGeometryMoved(SUMOReal oldPosx, SUMOReal oldPosy, GNEUndoList *undoList)
updated geometry changes in the attributes of additional
void setStartPosition(SUMOReal startPos)
Set a new Start position in StoppingPlace.
void setPosition(const Position &pos)
Invalidate set new position in the view.
Stores the information about how to visualize structures.
Position getPositionInView() const
Returns position of StoppingPlace in view.
RGBColor myTextColorSelected
Text color selected (Default blue)
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:87
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:55
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
SUMOReal myEndPos
The end position this stopping place is located at.
virtual void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)=0
method for setting the attribute and letting the object perform additional changes ...
SUMOReal getStartPosition() const
Returns the Start position of the stoppingPlace.
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:46
virtual std::string getAttribute(SumoXMLAttr key) const =0
SUMOReal getEndPosition() const
Returns the End position of the stoppingPlace.
RGBColor mySignColor
sign color (Default yellow)
A list of positions.
RGBColor myTextColor
Text color (Default cyan)
const std::string & getParentName() const
Returns the name of the parent object (if any)
SUMOReal myStartPos
The start position this stopping place is located at.
~GNEStoppingPlace()
Destructor.
void moveAdditionalGeometry(SUMOReal offsetx, SUMOReal offsety)
change the position of the StoppingPlace geometry
void setEndPosition(SUMOReal endPos)
Set a new End position in StoppingPlace.
GNEStoppingPlace(const std::string &id, GNEViewNet *viewNet, SumoXMLTag tag, GNELane *lane, SUMOReal startPos, SUMOReal endPos, bool blocked=false)
Constructor.
virtual void writeAdditional(OutputDevice &device, const std::string &currentDirectory)=0
writte additional element into a xml file
An Element which don&#39;t belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:63
virtual void updateGeometry()=0
update pre-computed geometry information
The popup menu of a globject.
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:71
#define SUMOReal
Definition: config.h:213
Position mySignPos
The position of the sign.
virtual bool isValid(SumoXMLAttr key, const std::string &value)=0
method for checking if the key and their conrrespond attribute are valids
virtual void drawGL(const GUIVisualizationSettings &s) const =0
Draws the object.
RGBColor mySignColorSelected
sign selected color (Default blue)