Eclipse SUMO - Simulation of Urban MObility
GUIChargingStation.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2020 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 /****************************************************************************/
22 // A lane area vehicles can halt at (gui-version)
23 /****************************************************************************/
24 #pragma once
25 #include <config.h>
26 
27 #include <vector>
28 #include <string>
29 #include <utils/common/Command.h>
33 #include <guisim/GUIBusStop.h>
37 #include <utils/geom/Position.h>
38 #include <gui/GUIManipulator.h>
39 
40 
41 // ===========================================================================
42 // class declarations
43 // ===========================================================================
44 class MSNet;
45 class MSLane;
46 class GUIManipulator;
47 
48 
49 // ===========================================================================
50 // class definitions
51 // ===========================================================================
64 public:
75  GUIChargingStation(const std::string& id, MSLane& lane, double frompos, double topos,
76  const std::string& name,
77  double chargingPower, double efficiency, bool chargeInTransit, double chargeDelay);
78 
81 
83 
84 
93 
104 
111 
113  const std::string getOptionalName() const;
114 
119  void drawGL(const GUIVisualizationSettings& s) const;
121 
122 private:
124  std::vector<double> myFGShapeRotations;
125 
127  std::vector<double> myFGShapeLengths;
128 
131 
134 
136  double myFGSignRot;
137 };
138 
139 
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:39
A lane area vehicles can halt at (gui-version)
std::vector< double > myFGShapeRotations
The rotations of the shape parts.
PositionVector myFGShape
The shape.
std::vector< double > myFGShapeLengths
The lengths of the shape parts.
~GUIChargingStation()
Destructor.
const std::string getOptionalName() const
Returns the stopping place name.
double myFGSignRot
The rotation of the sign.
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
GUIChargingStation(const std::string &id, MSLane &lane, double frompos, double topos, const std::string &name, double chargingPower, double efficiency, bool chargeInTransit, double chargeDelay)
Constructor.
Position myFGSignPos
The position of the sign.
The popup menu of a globject.
A window containing a gl-object's parameter.
Stores the information about how to visualize structures.
Representation of a lane in the micro simulation.
Definition: MSLane.h:82
The simulated network and simulation perfomer.
Definition: MSNet.h:89
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:36
A list of positions.