Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
SUMOVehicleParameter.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-2025 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/****************************************************************************/
21// Structure representing possible vehicle parameter
22/****************************************************************************/
23#pragma once
24#include <config.h>
25
26#include <string>
31
32
33// ===========================================================================
34// class declarations
35// ===========================================================================
36class OutputDevice;
37class OptionsCont;
38
39
40// ===========================================================================
41// value definitions
42// ===========================================================================
43const long long int VEHPARS_COLOR_SET = 1;
44const long long int VEHPARS_VTYPE_SET = 2;
45const long long int VEHPARS_DEPARTLANE_SET = 2 << 1;
46const long long int VEHPARS_DEPARTPOS_SET = 2 << 2;
47const long long int VEHPARS_DEPARTSPEED_SET = 2 << 3;
48const long long int VEHPARS_END_SET = 2 << 4;
49const long long int VEHPARS_NUMBER_SET = 2 << 5;
50const long long int VEHPARS_PERIOD_SET = 2 << 6;
51const long long int VEHPARS_VPH_SET = 2 << 7;
52const long long int VEHPARS_PROB_SET = 2 << 8;
53const long long int VEHPARS_POISSON_SET = 2 << 9;
54const long long int VEHPARS_ROUTE_SET = 2 << 10;
55const long long int VEHPARS_ARRIVALLANE_SET = 2 << 11;
56const long long int VEHPARS_ARRIVALPOS_SET = 2 << 12;
57const long long int VEHPARS_ARRIVALSPEED_SET = 2 << 13;
58const long long int VEHPARS_LINE_SET = 2 << 14;
59const long long int VEHPARS_FROM_TAZ_SET = 2 << 15;
60const long long int VEHPARS_TO_TAZ_SET = 2 << 16;
61const long long int VEHPARS_FORCE_REROUTE = 2 << 17;
62const long long int VEHPARS_PERSON_CAPACITY_SET = 2 << 18;
63const long long int VEHPARS_PERSON_NUMBER_SET = 2 << 19;
64const long long int VEHPARS_CONTAINER_NUMBER_SET = 2 << 20;
65const long long int VEHPARS_DEPARTPOSLAT_SET = 2 << 21;
66const long long int VEHPARS_ARRIVALPOSLAT_SET = 2 << 22;
67const long long int VEHPARS_VIA_SET = 2 << 23;
68const long long int VEHPARS_SPEEDFACTOR_SET = 2 << 24;
69const long long int VEHPARS_DEPARTEDGE_SET = 2 << 25;
70const long long int VEHPARS_ARRIVALEDGE_SET = 2 << 26;
71const long long int VEHPARS_CALIBRATORSPEED_SET = 2 << 27;
72const long long int VEHPARS_JUNCTIONMODEL_PARAMS_SET = 2 << 28;
73const long long int VEHPARS_CFMODEL_PARAMS_SET = 2 << 29;
74const long long int VEHPARS_PARKING_BADGES_SET = (long long int)2 << 30;
75const long long int VEHPARS_INSERTION_CHECKS_SET = (long long int)2 << 31;
76
77const int STOP_INDEX_END = -1;
78const int STOP_INDEX_FIT = -2;
79const int STOP_INDEX_REPEAT = -3;
80
81const int STOP_START_SET = 1;
82const int STOP_END_SET = 2;
83const int STOP_DURATION_SET = 2 << 1;
84const int STOP_UNTIL_SET = 2 << 2;
85const int STOP_EXTENSION_SET = 2 << 3;
86const int STOP_TRIGGER_SET = 2 << 4;
87const int STOP_PARKING_SET = 2 << 5;
88const int STOP_EXPECTED_SET = 2 << 6;
89const int STOP_CONTAINER_TRIGGER_SET = 2 << 7;
91const int STOP_TRIP_ID_SET = 2 << 9;
92const int STOP_LINE_SET = 2 << 10;
93const int STOP_SPEED_SET = 2 << 11;
94const int STOP_SPLIT_SET = 2 << 12;
95const int STOP_JOIN_SET = 2 << 13;
96const int STOP_ARRIVAL_SET = 2 << 14;
97const int STOP_PERMITTED_SET = 2 << 15;
98const int STOP_ENDED_SET = 2 << 16;
99const int STOP_STARTED_SET = 2 << 17;
100const int STOP_POSLAT_SET = 2 << 18;
101const int STOP_ONDEMAND_SET = 2 << 19;
102const int STOP_JUMP_SET = 2 << 20;
103const int STOP_JUMP_UNTIL_SET = 2 << 21;
104const int STOP_PRIORITY_SET = 2 << 22;
105
106const double MIN_STOP_LENGTH = 2 * POSITION_EPS;
107
108const std::string LINE_ANY = "ANY";
109
110// ===========================================================================
111// enum definitions
112// ===========================================================================
119 GIVEN,
121 TRIGGERED,
125 NOW,
127 SPLIT,
129 BEGIN,
131 DEF_MAX
132};
133
134
141 DEFAULT,
143 GIVEN,
145 RANDOM,
147 FREE,
151 BEST_FREE,
153 BEST_PROB,
156};
157
158
165 DEFAULT,
167 GIVEN,
171 RANDOM,
173 FREE,
175 BASE,
177 LAST,
185 STOP
186};
187
188
195 DEFAULT,
197 GIVEN,
201 RIGHT,
203 CENTER,
205 LEFT,
207 RANDOM,
209 FREE,
212};
213
214
221 DEFAULT,
223 GIVEN,
227 RANDOM,
229 MAX,
231 DESIRED,
233 LIMIT,
235 LAST,
237 AVG
238};
239
240
247 DEFAULT,
249 GIVEN,
251 RANDOM,
252};
253
254
261 DEFAULT = 0,
263 CURRENT = 1,
265 GIVEN = 2,
267 RANDOM = 3,
269 FIRST_ALLOWED = 4
270};
271
272
279 DEFAULT,
281 GIVEN,
283 RANDOM,
285 CENTER,
287 MAX
288};
289
290
297 DEFAULT,
299 GIVEN,
301 RIGHT,
303 CENTER,
305 LEFT
306};
307
308
315 DEFAULT,
317 GIVEN,
319 CURRENT
320};
321
322
323// ===========================================================================
324// struct definitions
325// ===========================================================================
339public:
345
347 virtual ~SUMOVehicleParameter();
348
352 class Stop : public Parameterised {
353 public:
355 virtual ~Stop() {}
356
362 void write(OutputDevice& dev, const bool close = true, const bool writeTagAndParents = true) const;
363
365 std::vector<std::string> getStoppingPlaceIDs() const;
366
368 std::vector<std::string> getTriggers() const;
369
371 std::string edge;
372
374 std::string lane;
375
377 std::string busstop;
378
380 std::string containerstop;
381
383 std::string parkingarea;
384
386 std::string chargingStation;
387
390
392 double startPos = 0.;
393
395 double endPos = 0.;
396
399
402
405
408
411
413 bool triggered = false;
414
416 bool containerTriggered = false;
417
419 bool joinTriggered = false;
420
423
425 std::set<std::string> awaitedPersons;
426
428 std::set<std::string> permitted;
429
431 std::set<std::string> awaitedContainers;
432
434 bool friendlyPos = false;
435
437 std::string actType;
438
440 std::string tripId;
441
443 std::string line;
444
446 std::string split;
447
449 std::string join;
450
452 double speed = 0.;
453
456
458 bool onDemand = false;
459
461 double priority = -1;
462
465
468
470 mutable SUMOTime started = -1;
471
473 mutable SUMOTime ended = -1;
474
476 std::vector<std::tuple<std::string, double, double> > accessPos;
477
479 int index = 0;
480
482 mutable int routeIndex = 0;
483
486
488 bool collision = false;
489
491 bool breakDown = false;
492
494 int getFlags() const;
495 };
496
501 bool wasSet(long long int what) const {
502 return (parametersSet & what) != 0;
503 }
504
513 void write(OutputDevice& dev, const OptionsCont& oc, const SumoXMLTag altTag = SUMO_TAG_VEHICLE, const std::string& typeID = "") const;
514
520 bool defaultOptionOverrides(const OptionsCont& oc, const std::string& optionName) const;
521
524
533 static bool parseDepart(const std::string& val, const std::string& element, const std::string& id,
534 SUMOTime& depart, DepartDefinition& dd, std::string& error, const std::string& attr = "departure");
535
545 static bool parseDepartLane(const std::string& val, const std::string& element, const std::string& id,
546 int& lane, DepartLaneDefinition& dld, std::string& error);
547
557 static bool parseDepartPos(const std::string& val, const std::string& element, const std::string& id,
558 double& pos, DepartPosDefinition& dpd, std::string& error);
559
569 static bool parseDepartPosLat(const std::string& val, const std::string& element, const std::string& id,
570 double& pos, DepartPosLatDefinition& dpd, std::string& error);
571
581 static bool parseDepartSpeed(const std::string& val, const std::string& element, const std::string& id,
582 double& speed, DepartSpeedDefinition& dsd, std::string& error);
583
593 static bool parseRouteIndex(const std::string& val, const std::string& element, const std::string& id,
594 const SumoXMLAttr attr,
595 int& edgeIndex, RouteIndexDefinition& rid, std::string& error);
596
606 static bool parseArrivalLane(const std::string& val, const std::string& element, const std::string& id,
607 int& lane, ArrivalLaneDefinition& ald, std::string& error);
608
618 static bool parseArrivalPos(const std::string& val, const std::string& element, const std::string& id,
619 double& pos, ArrivalPosDefinition& apd, std::string& error);
620
630 static bool parseArrivalPosLat(const std::string& val, const std::string& element, const std::string& id,
631 double& pos, ArrivalPosLatDefinition& apd, std::string& error);
632
633
643 static bool parseArrivalSpeed(const std::string& val, const std::string& element, const std::string& id,
644 double& speed, ArrivalSpeedDefinition& asd, std::string& error);
646
654 static double interpretEdgePos(double pos, double maximumValue, SumoXMLAttr attr, const std::string& id, bool silent = false);
655
664 static bool parsePersonModes(const std::string& modes, const std::string& element, const std::string& id, SVCPermissions& modeSet, std::string& error);
665
667 static void parseStopTriggers(const std::vector<std::string>& triggers, bool expectTrigger, Stop& stop);
668
670 static ParkingType parseParkingType(const std::string& value);
671
673 static int parseInsertionChecks(const std::string& value);
674
677
679 std::string id;
680
682 std::string routeid;
683
685 std::string vtypeid;
686
689
694
697
700
703
705 double departPos;
706
709
712
715
718
721
724
727
729
734
737
740
743
746
749
752
755
758
761
763
768
771
774
777
780
783
786
788
790 mutable std::string line;
791
793 std::string fromTaz;
794
796 std::string toTaz;
797
799 mutable std::vector<Stop> stops;
800
802 mutable std::vector<std::string> via;
803
805 std::vector<std::string> parkingBadges;
806
809
811 std::string vTypes;
812
815
818
821
824
827
829 mutable long long int parametersSet;
830
831public:
833 void incrementFlow(double scale, SumoRNG* rng = nullptr);
834
835protected:
837 std::string getDepart() const;
838
840 std::string getDepartLane() const;
841
843 std::string getDepartPos() const;
844
846 std::string getDepartPosLat() const;
847
849 std::string getDepartSpeed() const;
850
852 std::string getDepartEdge() const;
853
855 std::string getArrivalLane() const;
856
858 std::string getArrivalPos() const;
859
861 std::string getArrivalPosLat() const;
862
864 std::string getArrivalSpeed() const;
865
867 std::string getArrivalEdge() const;
868
870 std::string getInsertionChecks() const;
871
873 bool areInsertionChecksValid(const std::string& value) const;
874
875};
876
877typedef std::vector<SUMOVehicleParameter::Stop> StopParVector;
long long int SUMOTime
Definition GUI.h:36
long long int SVCPermissions
bitset where each bit declares whether a certain SVC may use this edge/lane
const long long int VEHPARS_ARRIVALSPEED_SET
const long long int VEHPARS_DEPARTPOSLAT_SET
const long long int VEHPARS_ARRIVALPOSLAT_SET
const long long int VEHPARS_PERSON_NUMBER_SET
const long long int VEHPARS_DEPARTSPEED_SET
RouteIndexDefinition
Possible ways to choose the departure and arrival edge.
const int STOP_ARRIVAL_SET
const int STOP_DURATION_SET
const int STOP_INDEX_END
const long long int VEHPARS_PERSON_CAPACITY_SET
const int STOP_POSLAT_SET
const int STOP_EXPECTED_SET
const long long int VEHPARS_FORCE_REROUTE
DepartLaneDefinition
Possible ways to choose a lane on depart.
@ RANDOM
The lane is chosen randomly.
@ BEST_FREE
The least occupied lane from best lanes.
@ ALLOWED_FREE
The least occupied lane from lanes which allow the continuation.
@ DEFAULT
No information given; use default.
@ FIRST_ALLOWED
The rightmost lane the vehicle may use.
@ FREE
The least occupied lane is used.
@ BEST_PROB
The lane most likely according the speedFactor (from best lanes)
const long long int VEHPARS_END_SET
ArrivalSpeedDefinition
Possible ways to choose the arrival speed.
const long long int VEHPARS_PERIOD_SET
DepartPosLatDefinition
Possible ways to choose the lateral departure position.
@ RIGHT
At the rightmost side of the lane.
@ LEFT
At the leftmost side of the lane.
@ CENTER
At the center of the lane.
DepartPosDefinition
Possible ways to choose the departure position.
@ GIVEN_VEHROUTE
The position is set by the vehroute device.
@ STOP
depart position is endPos of first stop
@ SPLIT_FRONT
depart position for a split vehicle is in front of the continuing vehicle
@ RANDOM_LOCATION
The position may be chosen freely in a polygon defined by a taz.
@ BASE
Back-at-zero position.
@ LAST
Insert behind the last vehicle as close as possible to still allow the specified departSpeed....
@ RANDOM_FREE
If a fixed number of random choices fails, a free position is chosen.
const int STOP_SPEED_SET
const int STOP_JUMP_UNTIL_SET
const long long int VEHPARS_ROUTE_SET
const int STOP_UNTIL_SET
const std::string LINE_ANY
const long long int VEHPARS_CFMODEL_PARAMS_SET
const int STOP_LINE_SET
const int STOP_PARKING_SET
const int STOP_TRIP_ID_SET
ArrivalLaneDefinition
Possible ways to choose the arrival lane.
@ CURRENT
The current lane shall be used.
const long long int VEHPARS_COLOR_SET
const long long int VEHPARS_VIA_SET
std::vector< SUMOVehicleParameter::Stop > StopParVector
const int STOP_PERMITTED_SET
DepartSpeedDefinition
Possible ways to choose the departure speed.
@ MAX
The maximum safe speed is used.
@ LIMIT
The maximum lane speed is used (speedLimit)
@ DESIRED
The maximum lane speed is used (speedLimit * speedFactor)
@ AVG
The average speed on the lane. Fallback to DepartSpeedDefinition::DESIRED if there is no vehicle on t...
const int STOP_SPLIT_SET
const long long int VEHPARS_TO_TAZ_SET
const long long int VEHPARS_ARRIVALLANE_SET
const long long int VEHPARS_POISSON_SET
const long long int VEHPARS_DEPARTLANE_SET
const int STOP_START_SET
const long long int VEHPARS_DEPARTPOS_SET
const int STOP_JOIN_SET
const int STOP_CONTAINER_TRIGGER_SET
const long long int VEHPARS_ARRIVALPOS_SET
const long long int VEHPARS_ARRIVALEDGE_SET
const int STOP_EXTENSION_SET
const int STOP_INDEX_REPEAT
const long long int VEHPARS_CONTAINER_NUMBER_SET
const long long int VEHPARS_FROM_TAZ_SET
const long long int VEHPARS_PARKING_BADGES_SET
const int STOP_INDEX_FIT
const long long int VEHPARS_JUNCTIONMODEL_PARAMS_SET
const long long int VEHPARS_PROB_SET
const int STOP_ENDED_SET
const long long int VEHPARS_SPEEDFACTOR_SET
const int STOP_TRIGGER_SET
const int STOP_PRIORITY_SET
const long long int VEHPARS_VTYPE_SET
const long long int VEHPARS_VPH_SET
ArrivalPosDefinition
Possible ways to choose the arrival position.
const int STOP_JUMP_SET
const int STOP_ONDEMAND_SET
const int STOP_END_SET
const double MIN_STOP_LENGTH
const int STOP_STARTED_SET
const int STOP_EXPECTED_CONTAINERS_SET
const long long int VEHPARS_CALIBRATORSPEED_SET
ArrivalPosLatDefinition
Possible ways to choose the lateral arrival position.
const long long int VEHPARS_LINE_SET
const long long int VEHPARS_DEPARTEDGE_SET
const long long int VEHPARS_INSERTION_CHECKS_SET
const long long int VEHPARS_NUMBER_SET
DepartDefinition
Possible ways to depart.
@ BEGIN
The departure is at simulation start.
@ GIVEN
The time is given.
@ NOW
The vehicle is discarded if emission fails (not fully implemented yet)
@ SPLIT
The departure is triggered by a train split.
@ CONTAINER_TRIGGERED
The departure is container triggered.
@ DEF_MAX
Tag for the last element in the enum for safe int casting.
@ TRIGGERED
The departure is person triggered.
SumoXMLTag
Numbers representing SUMO-XML - element names.
@ SUMO_TAG_VEHICLE
description of a vehicle
ParkingType
Numbers representing special SUMO-XML-attribute values Information on whether a car is parking on the...
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
const double INVALID_DOUBLE
invalid double
Definition StdDefs.h:68
A storage for options typed value containers)
Definition OptionsCont.h:89
Static storage of an output device and its base (abstract) implementation.
An upper class for objects with additional parameters.
Definition of vehicle stop (position and duration)
int getFlags() const
return flags as per Vehicle::getStops
SUMOTime started
the time at which this stop was reached
std::string edge
The edge to stop at.
ParkingType parking
whether the vehicle is removed from the net while stopping
std::string lane
The lane to stop at.
SUMOTime extension
The maximum time extension for boarding / loading.
bool friendlyPos
enable or disable friendly position (used by netedit)
double speed
the speed at which this stop counts as reached (waypoint mode)
std::string parkingarea
(Optional) parking area if one is assigned to the stop
std::string split
the id of the vehicle (train portion) that splits of upon reaching this stop
double startPos
The stopping position start.
std::string line
the new line id of the trip within a cyclical public transport route
int routeIndex
at which position within the route (only used for state saving)
double posLat
the lateral offset when stopping
bool breakDown
Whether this stop was triggered by a car failure / mechanical problem / lack of energy.
bool onDemand
whether the stop may be skipped
std::string chargingStation
(Optional) charging station if one is assigned to the stop
std::string overheadWireSegment
(Optional) overhead line segment if one is assigned to the stop
std::vector< std::string > getTriggers() const
write trigger attribute
std::set< std::string > permitted
IDs of persons or containers that may board/load at this stop.
SUMOTime jumpUntil
earlierst jump end if there shall be a jump from this stop to the next route edge
int parametersSet
Information for the output which parameter were set.
double priority
priority for weighting/skipping stops
int index
at which position in the stops list
SUMOTime jump
transfer time if there shall be a jump from this stop to the next route edge
std::string join
the id of the vehicle (train portion) to which this vehicle shall be joined
SUMOTime until
The time at which the vehicle may continue its journey.
std::string actType
act Type (only used by Persons) (used by netedit)
bool triggered
whether an arriving person lets the vehicle continue
void write(OutputDevice &dev, const bool close=true, const bool writeTagAndParents=true) const
Writes the stop as XML.
SUMOTime ended
the time at which this stop was ended
double endPos
The stopping position end.
SUMOTime waitUntil
The earliest pickup time for a taxi stop.
std::vector< std::tuple< std::string, double, double > > accessPos
lanes and positions connected to this stop (only used by duarouter where Stop is used to store stoppi...
std::vector< std::string > getStoppingPlaceIDs() const
return list of stopping place ids
std::set< std::string > awaitedPersons
IDs of persons the vehicle has to wait for until departing.
std::set< std::string > awaitedContainers
IDs of containers the vehicle has to wait for until departing.
std::string busstop
(Optional) bus stop if one is assigned to the stop
bool joinTriggered
whether an joined vehicle lets this vehicle continue
std::string tripId
id of the trip within a cyclical public transport route
std::string containerstop
(Optional) container stop if one is assigned to the stop
bool containerTriggered
whether an arriving container lets the vehicle continue
bool collision
Whether this stop was triggered by a collision.
SUMOTime arrival
The (expected) time at which the vehicle reaches the stop.
SUMOTime duration
The stopping duration.
Structure representing possible vehicle parameter.
double departPosLat
(optional) The lateral position the vehicle shall depart from
double arrivalPosLat
(optional) The lateral position the vehicle shall arrive on
virtual ~SUMOVehicleParameter()
Destructor.
std::string getArrivalSpeed() const
obtain arrival speed parameter in string format
double repetitionProbability
The probability for emitting a vehicle per second.
int departLane
(optional) The lane the vehicle shall depart from (index in edge)
ArrivalSpeedDefinition arrivalSpeedProcedure
Information how the vehicle's end speed shall be chosen.
double departSpeed
(optional) The initial speed of the vehicle
SumoXMLTag tag
The vehicle tag.
void incrementFlow(double scale, SumoRNG *rng=nullptr)
increment flow
std::string vtypeid
The vehicle's type id.
std::string getDepartLane() const
obtain depart lane parameter in string format
SUMOTime repetitionOffset
The time offset between vehicle reinsertions.
double speedFactor
individual speedFactor (overriding distribution from vType)
std::vector< std::string > via
List of the via-edges the vehicle must visit.
static bool parseArrivalLane(const std::string &val, const std::string &element, const std::string &id, int &lane, ArrivalLaneDefinition &ald, std::string &error)
Validates a given arrivalLane value.
int repetitionsDone
The number of times the vehicle was already inserted.
static bool parseArrivalPosLat(const std::string &val, const std::string &element, const std::string &id, double &pos, ArrivalPosLatDefinition &apd, std::string &error)
Validates a given arrivalPosLat value.
ArrivalLaneDefinition arrivalLaneProcedure
Information how the vehicle shall choose the lane to arrive on.
SUMOTime repetitionTotalOffset
The offset between depart and the time for the next vehicle insertions.
long long int parametersSet
Information for the router which parameter were set, TraCI may modify this (when changing color)
void write(OutputDevice &dev, const OptionsCont &oc, const SumoXMLTag altTag=SUMO_TAG_VEHICLE, const std::string &typeID="") const
Writes the parameters as a beginning element.
DepartLaneDefinition departLaneProcedure
Information how the vehicle shall choose the lane to depart from.
std::string getArrivalLane() const
obtain arrival lane parameter in string format
static bool parseDepartSpeed(const std::string &val, const std::string &element, const std::string &id, double &speed, DepartSpeedDefinition &dsd, std::string &error)
Validates a given departSpeed value.
static bool parseArrivalPos(const std::string &val, const std::string &element, const std::string &id, double &pos, ArrivalPosDefinition &apd, std::string &error)
Validates a given arrivalPos value.
int personNumber
The static number of persons in the vehicle when it departs (not including boarding persons)
static bool parseArrivalSpeed(const std::string &val, const std::string &element, const std::string &id, double &speed, ArrivalSpeedDefinition &asd, std::string &error)
Validates a given arrivalSpeed value.
double poissonRate
The rate for emitting vehicles with a poisson distribution.
RouteIndexDefinition arrivalEdgeProcedure
Information how the vehicle's final edge shall be chosen.
DepartPosLatDefinition departPosLatProcedure
Information how the vehicle shall choose the lateral departure position.
SVCPermissions modes
The modes a person or container can use.
SUMOTime repetitionEnd
The time at which the flow ends (only needed when using repetitionProbability)
bool wasSet(long long int what) const
Returns whether the given parameter was set.
std::string getDepartSpeed() const
obtain depart speed parameter in string format
std::string getArrivalPos() const
obtain arrival pos parameter in string format
std::string vTypes
The types of usable (auto-generated) vehicles for a person / container.
std::string getDepart() const
obtain depart parameter in string format
double departPos
(optional) The position the vehicle shall depart from
std::string getDepartEdge() const
obtain depart edge parameter in string format
DepartSpeedDefinition departSpeedProcedure
Information how the vehicle's initial speed shall be chosen.
RGBColor color
The vehicle's color, TraCI may change this.
bool areInsertionChecksValid(const std::string &value) const
check if given insertion checks are valid
double arrivalPos
(optional) The position the vehicle shall arrive on
static int parseInsertionChecks(const std::string &value)
parses insertion checks
double calibratorSpeed
speed (used by calibrator flows
static bool parseDepartLane(const std::string &val, const std::string &element, const std::string &id, int &lane, DepartLaneDefinition &dld, std::string &error)
Validates a given departLane value.
std::string getInsertionChecks() const
get insertion checks in string format
std::string getArrivalEdge() const
obtain arrival edge parameter in string format
std::string routeid
The vehicle's route id.
std::string id
The vehicle's id.
std::vector< std::string > parkingBadges
The parking access rights.
std::vector< Stop > stops
List of the stops the vehicle will make, TraCI may add entries here.
int departEdge
(optional) The initial edge within the route of the vehicle
static bool parseDepart(const std::string &val, const std::string &element, const std::string &id, SUMOTime &depart, DepartDefinition &dd, std::string &error, const std::string &attr="departure")
Validates a given depart value.
static bool parsePersonModes(const std::string &modes, const std::string &element, const std::string &id, SVCPermissions &modeSet, std::string &error)
Validates a given person modes value.
ArrivalPosDefinition arrivalPosProcedure
Information how the vehicle shall choose the arrival position.
static bool parseRouteIndex(const std::string &val, const std::string &element, const std::string &id, const SumoXMLAttr attr, int &edgeIndex, RouteIndexDefinition &rid, std::string &error)
Validates a given departEdge or arrivalEdge value.
static bool parseDepartPosLat(const std::string &val, const std::string &element, const std::string &id, double &pos, DepartPosLatDefinition &dpd, std::string &error)
Validates a given departPosLat value.
std::string getDepartPosLat() const
obtain depart pos lat parameter in string format
std::string getArrivalPosLat() const
obtain arrival pos lat parameter in string format
std::string getDepartPos() const
obtain depart pos parameter in string format
std::string toTaz
The vehicle's destination zone (district)
double arrivalSpeed
(optional) The final speed of the vehicle (not used yet)
static double interpretEdgePos(double pos, double maximumValue, SumoXMLAttr attr, const std::string &id, bool silent=false)
Interprets negative edge positions and fits them onto a given edge.
DepartDefinition departProcedure
Information how the vehicle shall choose the depart time.
static bool parseDepartPos(const std::string &val, const std::string &element, const std::string &id, double &pos, DepartPosDefinition &dpd, std::string &error)
Validates a given departPos value.
int insertionChecks
bitset of InsertionCheck
bool defaultOptionOverrides(const OptionsCont &oc, const std::string &optionName) const
Returns whether the defaults shall be used.
int arrivalEdge
(optional) The final edge within the route of the vehicle
std::string fromTaz
The vehicle's origin zone (district)
DepartPosDefinition departPosProcedure
Information how the vehicle shall choose the departure position.
std::string line
The vehicle's line (mainly for public transport)
int containerNumber
The static number of containers in the vehicle when it departs.
static ParkingType parseParkingType(const std::string &value)
parses parking type value
static void parseStopTriggers(const std::vector< std::string > &triggers, bool expectTrigger, Stop &stop)
parses stop trigger values
RouteIndexDefinition departEdgeProcedure
Information how the vehicle's initial edge shall be chosen.
ArrivalPosLatDefinition arrivalPosLatProcedure
Information how the vehicle shall choose the lateral arrival position.
Definition of vehicle stop (position and duration)