Eclipse SUMO - Simulation of Urban MObility
GUIParkingArea.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials are made available under the
5 // terms of the Eclipse Public License 2.0 which is available at
6 // https://www.eclipse.org/legal/epl-2.0/
7 // This Source Code may also be made available under the following Secondary
8 // Licenses when the conditions for such availability set forth in the Eclipse
9 // Public License 2.0 are satisfied: GNU General Public License, version 2
10 // or later which is available at
11 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 /****************************************************************************/
18 // A area where vehicles can park next to the road (gui version)
19 /****************************************************************************/
20 #pragma once
21 #include <config.h>
22 
23 #include <vector>
24 #include <string>
25 #include <utils/common/Command.h>
28 #include <microsim/MSParkingArea.h>
32 #include <utils/geom/Position.h>
33 #include <gui/GUIManipulator.h>
34 
35 
36 // ===========================================================================
37 // class declarations
38 // ===========================================================================
39 class MSNet;
40 class MSLane;
41 class GUIManipulator;
42 
43 
44 // ===========================================================================
45 // class definitions
46 // ===========================================================================
59 public:
60 
74  GUIParkingArea(const std::string& id,
75  const std::vector<std::string>& lines, const std::vector<std::string>& badges, MSLane& lane,
76  double frompos, double topos, unsigned int capacity,
77  double width, double length, double angle, const std::string& name,
78  bool onRoad,
79  const std::string& departPos,
80  bool lefthand);
81 
82 
85 
86 
87 
89 
90 
99  GUISUMOAbstractView& parent);
100 
111  GUISUMOAbstractView& parent);
112 
114  double getExaggeration(const GUIVisualizationSettings& s) const;
115 
122 
124  const std::string getOptionalName() const;
125 
127  void addLotEntry(double x, double y, double z,
128  double width, double length,
129  double angle, double slope);
130 
135  void drawGL(const GUIVisualizationSettings& s) const;
137 
138  const Position& getSignPos() const {
139  return mySignPos;
140  }
141 
142 private:
144  std::vector<double> myShapeRotations;
145 
147  std::vector<double> myShapeLengths;
148 
151 
153  double mySignRot;
154 
157 
158 };
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:39
The popup menu of a globject.
A window containing a gl-object's parameter.
A lane area vehicles can halt at (gui-version)
std::vector< double > myShapeLengths
The lengths of the shape parts.
Boundary myBoundary
the centering boundary
std::vector< double > myShapeRotations
The rotations of the shape parts.
~GUIParkingArea()
Destructor.
GUIParkingArea(const std::string &id, const std::vector< std::string > &lines, const std::vector< std::string > &badges, MSLane &lane, double frompos, double topos, unsigned int capacity, double width, double length, double angle, const std::string &name, bool onRoad, const std::string &departPos, bool lefthand)
Constructor.
void addLotEntry(double x, double y, double z, double width, double length, double angle, double slope)
extend boundary
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
double mySignRot
The rotation of the sign.
const Position & getSignPos() const
double getExaggeration(const GUIVisualizationSettings &s) const
return exaggeration associated with this GLObject
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
const std::string getOptionalName() const
Returns the stopping place name.
Position mySignPos
The position of the sign.
Stores the information about how to visualize structures.
Representation of a lane in the micro simulation.
Definition: MSLane.h:84
The simulated network and simulation perfomer.
Definition: MSNet.h:89
A lane area vehicles can halt at.
Definition: MSParkingArea.h:60
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:37