Eclipse SUMO - Simulation of Urban MObility
GUITriggerBuilder.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2004-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 /****************************************************************************/
22 // Builds trigger objects for guisim
23 /****************************************************************************/
24 #pragma once
25 #include <config.h>
26 
27 #include <string>
29 #include <utils/common/RGBColor.h>
30 
31 
32 // ===========================================================================
33 // class declarations
34 // ===========================================================================
35 class MSTrigger;
36 class MSNet;
37 class MSLaneSpeedTrigger;
38 class MSCalibrator;
39 class MSTriggerControl;
40 
41 
42 // ===========================================================================
43 // class definitions
44 // ===========================================================================
50 public:
53 
54 
57 
58 
59 protected:
64 
65 
78  const std::string& id, const std::vector<MSLane*>& destLanes,
79  const std::string& file) override;
80 
81 
92  const std::string& id, MSEdgeVector& edges,
93  double prob, bool off, bool optional, SUMOTime timeThreshold,
94  const std::string& vTypes, const Position& pos) override;
95 
96 
110  void buildStoppingPlace(MSNet& net, std::string id, std::vector<std::string> lines, MSLane* lane,
111  double frompos, double topos, const SumoXMLTag element, std::string string,
112  int personCapacity, double parkingLength, RGBColor& color) override;
113 
114 
132  void beginParkingArea(MSNet& net, const std::string& id,
133  const std::vector<std::string>& lines, const std::vector<std::string>& badges,
134  MSLane* lane, double frompos, double topos,
135  unsigned int capacity,
136  double width, double length, double angle, const std::string& name,
137  bool onRoad,
138  const std::string& departPos,
139  bool lefthand) override;
140 
141 
160  void buildChargingStation(MSNet& net, const std::string& id, MSLane* lane, double frompos, double topos, const std::string& name,
161  double chargingPower, double efficiency, bool chargeInTransit, SUMOTime chargeDelay, std::string chargeType,
162  SUMOTime waitingTime, MSParkingArea* parkingArea) override;
163 
164 
177  void buildOverheadWireSegment(MSNet& net, const std::string& id, MSLane* lane,
178  double frompos, double topos, bool voltageSource) override;
179 
189  void buildOverheadWireClamp(MSNet& net, const std::string& id, MSLane* lane_start, MSLane* lane_end) override;
191 
192 
196  void endParkingArea() override;
197 
202  void endStoppingPlace() override;
203 };
long long int SUMOTime
Definition: GUI.h:35
std::vector< MSEdge * > MSEdgeVector
Definition: MSEdge.h:73
SumoXMLTag
Numbers representing SUMO-XML - element names.
Builds trigger objects for guisim.
void buildOverheadWireClamp(MSNet &net, const std::string &id, MSLane *lane_start, MSLane *lane_end) override
Builds an overhead wire clamp.
void buildChargingStation(MSNet &net, const std::string &id, MSLane *lane, double frompos, double topos, const std::string &name, double chargingPower, double efficiency, bool chargeInTransit, SUMOTime chargeDelay, std::string chargeType, SUMOTime waitingTime, MSParkingArea *parkingArea) override
Builds a charging station.
MSTriggeredRerouter * buildRerouter(MSNet &net, const std::string &id, MSEdgeVector &edges, double prob, bool off, bool optional, SUMOTime timeThreshold, const std::string &vTypes, const Position &pos) override
builds an rerouter
void endParkingArea() override
End a parking area (it must be added to the SUMORTree after all parking spaces are loaded.
MSLaneSpeedTrigger * buildLaneSpeedTrigger(MSNet &net, const std::string &id, const std::vector< MSLane * > &destLanes, const std::string &file) override
Builds a lane speed trigger.
void beginParkingArea(MSNet &net, 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) override
Builds a parking area.
void buildStoppingPlace(MSNet &net, std::string id, std::vector< std::string > lines, MSLane *lane, double frompos, double topos, const SumoXMLTag element, std::string string, int personCapacity, double parkingLength, RGBColor &color) override
Builds a bus stop.
void endStoppingPlace() override
End a stopping place.
GUITriggerBuilder()
Constructor.
~GUITriggerBuilder()
Destructor.
void buildOverheadWireSegment(MSNet &net, const std::string &id, MSLane *lane, double frompos, double topos, bool voltageSource) override
Builds an overhead wire segment.
Calibrates the flow on a segment to a specified one.
Definition: MSCalibrator.h:47
Representation of a lane in the micro simulation.
Definition: MSLane.h:84
Changes the speed allowed on a set of lanes.
The simulated network and simulation perfomer.
Definition: MSNet.h:89
A lane area vehicles can halt at.
Definition: MSParkingArea.h:60
Reroutes traffic objects passing an edge.
Builds trigger objects for microsim.
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:37