63 oc.
addCallExample(
"-b 0 -e 1000 -n net.xml -r routes.xml",
"start a simulation from time 0 to 1000 with given net and routes");
64 oc.
addCallExample(
"-c munich_config.cfg",
"start with a configuration file");
81 oc.
addDescription(
"net-file",
"Input",
"Load road network description from FILE");
86 oc.
addDescription(
"route-files",
"Input",
"Load routes descriptions from FILE(s)");
90 oc.
addDescription(
"additional-files",
"Input",
"Load further descriptions from FILE(s)");
94 oc.
addDescription(
"weight-files",
"Input",
"Load edge/lane weights for online rerouting from FILE");
96 oc.
addSynonyme(
"weight-attribute",
"measure",
true);
97 oc.
addDescription(
"weight-attribute",
"Input",
"Name of the xml attribute which gives the edge weight");
100 oc.
addDescription(
"load-state",
"Input",
"Loads a network state from FILE");
102 oc.
addDescription(
"load-state.offset",
"Input",
"Shifts all times loaded from a saved state by the given offset");
104 oc.
addDescription(
"load-state.remove-vehicles",
"Input",
"Removes vehicles with the given IDs from the loaded state");
110 oc.
addSynonyme(
"netstate-dump",
"netstate-output");
111 oc.
addDescription(
"netstate-dump",
"Output",
"Save complete network states into FILE");
113 oc.
addSynonyme(
"netstate-dump.empty-edges",
"netstate.empty-edges");
114 oc.
addSynonyme(
"netstate-dump.empty-edges",
"netstate-output.empty-edges");
115 oc.
addSynonyme(
"netstate-dump.empty-edges",
"dump-empty-edges",
true);
116 oc.
addDescription(
"netstate-dump.empty-edges",
"Output",
"Write also empty edges completely when dumping");
118 oc.
addSynonyme(
"netstate-dump.precision",
"netstate.precision");
119 oc.
addSynonyme(
"netstate-dump.precision",
"netstate-output.precision");
120 oc.
addSynonyme(
"netstate-dump.precision",
"dump-precision",
true);
121 oc.
addDescription(
"netstate-dump.precision",
"Output",
"Write positions and speeds with the given precision (default 2)");
125 oc.
addDescription(
"emission-output",
"Output",
"Save the emission values of each vehicle");
127 oc.
addDescription(
"emission-output.precision",
"Output",
"Write emission values with the given precision (default 2)");
130 oc.
addDescription(
"battery-output",
"Output",
"Save the battery values of each vehicle");
132 oc.
addDescription(
"battery-output.precision",
"Output",
"Write battery values with the given precision (default 2)");
135 oc.
addDescription(
"chargingstations-output",
"Output",
"Write data of charging stations");
138 oc.
addDescription(
"fcd-output",
"Output",
"Save the Floating Car Data");
140 oc.
addDescription(
"fcd-output.geo",
"Output",
"Save the Floating Car Data using geo-coordinates (lon/lat)");
142 oc.
addDescription(
"fcd-output.signals",
"Output",
"Add the vehicle signal state to the FCD output (brake lights etc.)");
144 oc.
addDescription(
"fcd-output.filter-edges.input-file",
"Output",
"Restrict fcd output to the edge selection from the given input file");
148 oc.
addDescription(
"full-output",
"Output",
"Save a lot of information for each timestep (very redundant)");
150 oc.
addDescription(
"queue-output",
"Output",
"Save the vehicle queues at the junctions (experimental)");
152 oc.
addDescription(
"vtk-output",
"Output",
"Save complete vehicle positions inclusive speed values in the VTK Format (usage: /path/out will produce /path/out_$TIMESTEP$.vtp files)");
154 oc.
addDescription(
"amitran-output",
"Output",
"Save the vehicle trajectories in the Amitran format");
159 oc.
addDescription(
"summary-output",
"Output",
"Save aggregated vehicle departure info into FILE");
163 oc.
addDescription(
"tripinfo-output",
"Output",
"Save single vehicle trip info into FILE");
166 oc.
addDescription(
"tripinfo-output.write-unfinished",
"Output",
"Write tripinfo output for vehicles which have not arrived at simulation end");
170 oc.
addDescription(
"vehroute-output",
"Output",
"Save single vehicle route info into FILE");
173 oc.
addSynonyme(
"vehroute-output.exit-times",
"vehroutes.exit-times");
174 oc.
addDescription(
"vehroute-output.exit-times",
"Output",
"Write the exit times for all edges");
177 oc.
addSynonyme(
"vehroute-output.last-route",
"vehroutes.last-route");
178 oc.
addDescription(
"vehroute-output.last-route",
"Output",
"Write the last route only");
181 oc.
addSynonyme(
"vehroute-output.sorted",
"vehroutes.sorted");
182 oc.
addDescription(
"vehroute-output.sorted",
"Output",
"Sorts the output by departure time");
185 oc.
addSynonyme(
"vehroute-output.dua",
"vehroutes.dua");
186 oc.
addDescription(
"vehroute-output.dua",
"Output",
"Write the output in the duarouter alternatives style");
189 oc.
addDescription(
"vehroute-output.cost",
"Output",
"Write costs for all routes");
192 oc.
addSynonyme(
"vehroute-output.intended-depart",
"vehroutes.intended-depart");
193 oc.
addDescription(
"vehroute-output.intended-depart",
"Output",
"Write the output with the intended instead of the real departure time");
196 oc.
addSynonyme(
"vehroute-output.route-length",
"vehroutes.route-length");
197 oc.
addDescription(
"vehroute-output.route-length",
"Output",
"Include total route length in the output");
200 oc.
addDescription(
"vehroute-output.write-unfinished",
"Output",
"Write vehroute output for vehicles which have not arrived at simulation end");
203 oc.
addDescription(
"vehroute-output.skip-ptlines",
"Output",
"Skip vehroute output for public transport vehicles");
206 oc.
addDescription(
"link-output",
"Output",
"Save links states into FILE");
209 oc.
addDescription(
"bt-output",
"Output",
"Save bluetooth visibilities into FILE (in conjunction with device.btreceiver and device.btsender)");
212 oc.
addDescription(
"lanechange-output",
"Output",
"Record lane changes and their motivations for all vehicles into FILE");
215 oc.
addDescription(
"lanechange-output.started",
"Output",
"Record start of lane change manoeuvres");
218 oc.
addDescription(
"lanechange-output.ended",
"Output",
"Record end of lane change manoeuvres");
221 oc.
addDescription(
"stop-output",
"Output",
"Record stops and loading/unloading of passenger and containers for all vehicles into FILE");
225 oc.
addDescription(
"movereminder-output",
"Output",
"Save movereminder states of selected vehicles into FILE");
227 oc.
addDescription(
"movereminder-output.vehicles",
"Output",
"List of vehicle ids which shall save their movereminder states");
231 oc.
addDescription(
"save-state.times",
"Output",
"Use INT[] as times at which a network state written");
233 oc.
addDescription(
"save-state.period",
"Output",
"save state repeatedly after TIME period");
235 oc.
addDescription(
"save-state.prefix",
"Output",
"Prefix for network states");
237 oc.
addDescription(
"save-state.suffix",
"Output",
"Suffix for network states (.sbx or .xml)");
239 oc.
addDescription(
"save-state.files",
"Output",
"Files for network states");
243 oc.
addDescription(
"begin",
"Time",
"Defines the begin time in seconds; The simulation starts at this time");
246 oc.
addDescription(
"end",
"Time",
"Defines the end time in seconds; The simulation ends at this time");
249 oc.
addDescription(
"step-length",
"Time",
"Defines the step duration in seconds");
252 oc.
addDescription(
"step-method.ballistic",
"Processing",
"Whether to use ballistic method for the positional update of vehicles (default is a semi-implicit Euler method).");
255 oc.
addDescription(
"lateral-resolution",
"Processing",
"Defines the resolution in m when handling lateral positioning within a lane (with -1 all vehicles drive at the center of their lane");
259 oc.
addDescription(
"route-steps",
"Processing",
"Load routes for the next number of seconds ahead");
262 oc.
addDescription(
"no-internal-links",
"Processing",
"Disable (junction) internal links");
265 oc.
addDescription(
"ignore-junction-blocker",
"Processing",
"Ignore vehicles which block the junction after they have been standing for SECONDS (-1 means never ignore)");
268 oc.
addDescription(
"ignore-route-errors",
"Processing",
"(1) Do not check whether routes are connected. (2) Allow inserting a vehicle in a situation which requires emergency braking.");
271 oc.
addDescription(
"ignore-accidents",
"Processing",
"Do not check whether accidents occur");
274 oc.
addDescription(
"collision.action",
"Processing",
"How to deal with collisions: [none,warn,teleport,remove]");
277 oc.
addDescription(
"collision.stoptime",
"Processing",
"Let vehicle stop for TIME before performing collision.action (except for action 'none')");
280 oc.
addDescription(
"collision.check-junctions",
"Processing",
"Enables collisions checks on junctions");
283 oc.
addDescription(
"collision.mingap-factor",
"Processing",
"Sets the fraction of minGap that must be maintained to avoid collision detection. If a negative value is given, the carFollowModel parameter is used");
286 oc.
addDescription(
"max-num-vehicles",
"Processing",
"Delay vehicle insertion to stay within the given maximum number");
289 oc.
addDescription(
"max-num-teleports",
"Processing",
"Abort the simulation if the given maximum number of teleports is exceeded");
292 oc.
addDescription(
"scale",
"Processing",
"Scale demand by the given factor (by discarding or duplicating vehicles)");
295 oc.
addDescription(
"time-to-teleport",
"Processing",
"Specify how long a vehicle may wait until being teleported, defaults to 300, non-positive values disable teleporting");
298 oc.
addDescription(
"time-to-teleport.highways",
"Processing",
"The waiting time after which vehicles on a fast road (speed > 69m/s) are teleported if they are on a non-continuing lane");
301 oc.
addDescription(
"waiting-time-memory",
"Processing",
"Length of time interval, over which accumulated waiting time is taken into account (default is 100s.)");
304 oc.
addDescription(
"max-depart-delay",
"Processing",
"How long vehicles wait for departure before being skipped, defaults to -1 which means vehicles are never skipped");
307 oc.
addDescription(
"sloppy-insert",
"Processing",
"Whether insertion on an edge shall not be repeated in same step once failed");
310 oc.
addDescription(
"eager-insert",
"Processing",
"Whether each vehicle is checked separately for insertion on an edge");
313 oc.
addDescription(
"random-depart-offset",
"Processing",
"Each vehicle receives a random offset to its depart value drawn uniformly from [0, TIME]");
316 oc.
addDescription(
"lanechange.duration",
"Processing",
"Duration of a lane change maneuver (default 0)");
319 oc.
addDescription(
"lanechange.overtake-right",
"Processing",
"Whether overtaking on the right on motorways is permitted");
322 oc.
addDescription(
"tls.all-off",
"Processing",
"Switches off all traffic lights.");
325 oc.
addDescription(
"time-to-impatience",
"Processing",
"Specify how long a vehicle may wait until impatience grows from 0 to 1, defaults to 300, non-positive values disable impatience growth");
328 oc.
addDescription(
"default.action-step-length",
"Processing",
"Length of the default interval length between action points for the car-following and lane-change models (in seconds). If not specified, the simulation step-length is used per default. Vehicle- or VType-specific settings override the default. Must be a multiple of the simulation step-length.");
331 oc.
addDescription(
"default.carfollowmodel",
"Processing",
"Select default car following model (Krauss, IDM, ...)");
332 oc.
addSynonyme(
"default.carfollowmodel",
"carfollow.model",
false);
335 oc.
addDescription(
"default.speeddev",
"Processing",
"Select default speed deviation. A negative value implies vClass specific defaults (0.1 for the default passenger class");
338 oc.
addDescription(
"default.emergencydecel",
"Processing",
"Select default emergencyDecel value among ('decel', 'default', FLOAT) which sets the value either to the same as the deceleration value, a vClass-class specific default or the given FLOAT in m/s^2");
341 oc.
addDescription(
"emergencydecel.warning-threshold",
"Processing",
"Sets the fraction of emergency decel capability that must be used to trigger a warning.");
345 oc.
addDescription(
"pedestrian.model",
"Processing",
"Select among pedestrian models ['nonInteracting', 'striping', 'remote']");
348 oc.
addDescription(
"pedestrian.striping.stripe-width",
"Processing",
"Width of parallel stripes for segmenting a sidewalk (meters) for use with model 'striping'");
351 oc.
addDescription(
"pedestrian.striping.dawdling",
"Processing",
"factor for random slow-downs [0,1] for use with model 'striping'");
354 oc.
addDescription(
"pedestrian.striping.jamtime",
"Processing",
"Time in seconds after which pedestrians start squeezing through a jam when using model 'striping' (non-positive values disable squeezing)");
357 oc.
addDescription(
"pedestrian.remote.address",
"Processing",
"The address (host:port) of the external simulation");
362 "Select among routing algorithms ['dijkstra', 'astar', 'CH', 'CHWrapper']");
364 oc.
addDescription(
"weights.random-factor",
"Routing",
"Edge weights for routing are dynamically disturbed by a random factor drawn uniformly from [1,FLOAT)");
367 oc.
addDescription(
"astar.all-distances",
"Routing",
"Initialize lookup table for astar from the given file (generated by marouter --all-pairs-output)");
370 oc.
addDescription(
"astar.landmark-distances",
"Routing",
"Initialize lookup table for astar ALT-variant from the given file");
373 oc.
addDescription(
"persontrip.walkfactor",
"Routing",
"Use FLOAT as a factor on pedestrian maximum speed during intermodal routing");
376 oc.
addDescription(
"persontrip.transfer.car-walk",
"Routing",
"Where are mode changes from car to walking allowed (possible values: 'parkingAreas', 'ptStops', 'allJunctions' and combinations)");
381 oc.
addDescription(
"phemlight-path",
"Emissions",
"Determines where to load PHEMlight definitions from.");
389 oc.
addSynonyme(
"duration-log.disable",
"no-duration-log",
false);
390 oc.
addDescription(
"duration-log.disable",
"Report",
"Disable performance reports for individual simulation steps");
393 oc.
addDescription(
"duration-log.statistics",
"Report",
"Enable statistics on vehicle trips");
396 oc.
addDescription(
"no-step-log",
"Report",
"Disable console output of current simulation step");
401 oc.
addDescription(
"remote-port",
"TraCI Server",
"Enables TraCI Server if set");
403 oc.
addDescription(
"num-clients",
"TraCI Server",
"Expected number of connecting clients");
406 oc.
addDescription(
"python-script",
"TraCI Server",
"Runs TraCI script with embedded python");
411 oc.
addDescription(
"mesosim",
"Mesoscopic",
"Enables mesoscopic simulation");
413 oc.
addDescription(
"meso-edgelength",
"Mesoscopic",
"Length of an edge segment in mesoscopic simulation");
415 oc.
addDescription(
"meso-tauff",
"Mesoscopic",
"Factor for calculating the net free-free headway time");
417 oc.
addDescription(
"meso-taufj",
"Mesoscopic",
"Factor for calculating the net free-jam headway time");
419 oc.
addDescription(
"meso-taujf",
"Mesoscopic",
"Factor for calculating the jam-free headway time");
421 oc.
addDescription(
"meso-taujj",
"Mesoscopic",
"Factor for calculating the jam-jam headway time");
424 "Minimum percentage of occupied space to consider a segment jammed. A negative argument causes thresholds to be computed based on edge speed and tauff (default)");
426 oc.
addDescription(
"meso-multi-queue",
"Mesoscopic",
"Enable multiple queues at edge ends");
428 oc.
addDescription(
"meso-junction-control",
"Mesoscopic",
"Enable mesoscopic traffic light and priority junction handling");
431 "Enable mesoscopic traffic light and priority junction handling for saturated links. This prevents faulty traffic lights from hindering flow in low-traffic situations");
434 "Apply scaled time penalties when driving across tls controlled junctions based on green split instead of checking actual phases");
437 "Apply fixed time penalty when driving across a minor link. When using --meso-junction-control.limited, the penalty is not applied whenever limited control is active.");
439 oc.
addDescription(
"meso-overtaking",
"Mesoscopic",
"Enable mesoscopic overtaking");
441 oc.
addDescription(
"meso-recheck",
"Mesoscopic",
"Time interval for rechecking insertion into the next segment after failure");
450 oc.
addDescription(
"gui-settings-file",
"GUI Only",
"Load visualisation settings from FILE");
453 oc.
addDescription(
"quit-on-end",
"GUI Only",
"Quits the GUI when the simulation stops");
456 oc.
addDescription(
"game",
"GUI Only",
"Start the GUI in gaming mode");
459 oc.
addDescription(
"start",
"GUI Only",
"Start the simulation after loading");
462 oc.
addDescription(
"breakpoints",
"GUI Only",
"Use TIME[] as times when the simulation should halt");
465 oc.
addDescription(
"demo",
"GUI Only",
"Restart the simulation after ending (demo mode)");
468 oc.
addDescription(
"disable-textures",
"GUI Only",
"Do not load background pictures");
471 oc.
addDescription(
"registry-viewport",
"GUI Only",
"Load current viewport from registry");
474 oc.
addDescription(
"window-size",
"GUI Only",
"Create initial window with the given x,y size");
477 oc.
addDescription(
"window-pos",
"GUI Only",
"Create initial window at the given x,y position");
480 oc.
addDescription(
"tracker-interval",
"GUI Only",
"The aggregation period for value tracker windows");
484 oc.
addDescription(
"osg-view",
"GUI Only",
"Start with an OpenSceneGraph view instead of the regular 2D view");
489 oc.
addDescription(
"gui-testing",
"GUI Only",
"Enable ovelay for screen recognition");
493 oc.
addDescription(
"gui-testing-debug",
"GUI Only",
"Enable output messages during GUI-Testing");
532 if (!oc.
isSet(
"net-file")) {
540 if (oc.
getBool(
"vehroute-output.exit-times") && !oc.
isSet(
"vehroute-output")) {
541 WRITE_ERROR(
"A vehroute-output file is needed for exit times.");
544 if (oc.
isSet(
"gui-settings-file") &&
545 oc.
getString(
"gui-settings-file") !=
"" &&
550 oc.
set(
"start",
"true");
553 WRITE_ERROR(
"You can either restart or quit on end.");
556 if (oc.
getBool(
"meso-junction-control.limited") && !oc.
getBool(
"meso-junction-control")) {
557 oc.
set(
"meso-junction-control",
"true");
560 oc.
set(
"pedestrian.model",
"nonInteracting");
565 WRITE_ERROR(
"The begin time should not be negative.");
570 WRITE_ERROR(
"The end time should be after the begin time.");
579 if (oc.
isSet(
"movereminder-output.vehicles") && !oc.
isSet(
"movereminder-output")) {
580 WRITE_ERROR(
"option movereminder-output.vehicles requires option movereminder-output to be set");
584 if (oc.
getBool(
"sloppy-insert")) {
585 WRITE_WARNING(
"The option 'sloppy-insert' is deprecated, because it is now activated by default, see the new option 'eager-insert'.");
588 WRITE_ERROR(
"Only one of the options 'lanechange.duration' or 'lateral-resolution' may be given.");
590 if (oc.
getBool(
"ignore-accidents")) {
591 WRITE_WARNING(
"The option 'ignore-accidents' is deprecated. Use 'collision.action none' instead.");
594 if (oc.
isSet(
"python-script")) {
595 WRITE_WARNING(
"The option 'python-script' is deprecated. Use libsumo or TraCI instead.");
599 oc.
set(
"verbose",
"true");
602 oc.
set(
"precision",
"3");
605 oc.
set(
"tracker-interval", oc.
getString(
"step-length"));
607 if (oc.
getInt(
"precision") > 2) {
608 if (oc.
isDefault(
"netstate-dump.precision")) {
611 if (oc.
isDefault(
"emission-output.precision")) {
614 if (oc.
isDefault(
"battery-output.precision")) {
619 WRITE_ERROR(
"Unknown model '" + oc.
getString(
"carfollow.model") +
"' for option 'carfollow.model'.");
622 if (oc.
isSet(
"default.emergencydecel")) {
623 const std::string val = oc.
getString(
"default.emergencydecel");
624 if (val !=
"default" && val !=
"decel") {
628 WRITE_ERROR(
"Invalid value '" + val +
"' for option 'default.emergencydecel'. Must be a FLOAT or 'default' or 'decel'");
637 WRITE_ERROR(
"Invalid time '" + val +
"' for option 'breakpoints'." + e.what());
682 bool integrationMethodSet = !oc.
isDefault(
"step-method.ballistic");
683 bool actionStepLengthSet = !oc.
isDefault(
"default.action-step-length");
687 WRITE_MESSAGE(
"Integration method was set to 'ballistic', since a default action step length was specified.");
690 double givenDefaultActionStepLength = oc.
getFloat(
"default.action-step-length");
694 if (defaultEmergencyDecelOption ==
"default") {
696 }
else if (defaultEmergencyDecelOption ==
"decel") {
706 if (oc.
isSet(
"movereminder-output")) {
707 MSBaseVehicle::initMoveReminderOutput(oc);
static bool gOmitEmptyEdgesOnDump
Information whether empty edges shall be written on dump.
void doRegister(const std::string &name, Option *v)
Adds an option under the given name.
static double gLateralResolution
static StringBijection< SumoXMLTag > CarFollowModels
car following models
static void insertRandOptions()
Initialises the given options container with random number options.
static void init()
Static intialization.
int getInt(const std::string &name) const
Returns the int-value of the named option (only for Option_Integer)
static void addReportOptions(OptionsCont &oc)
Adds reporting options to the given container.
static double gMesoTLSPenalty
static void buildStreams()
Builds the streams used possibly by the simulation.
void addCallExample(const std::string &example, const std::string &desc)
Add a call example.
const int VTYPEPARS_DEFAULT_EMERGENCYDECEL_DECEL
static bool gStateLoaded
Information whether a state has been loaded.
static double gEmergencyDecelWarningThreshold
treshold for warning about strong deceleration
static SUMOTime processActionStepLength(double given)
Checks and converts given value for the action step length from seconds to miliseconds assuring it be...
static void initCollisionOptions(const OptionsCont &oc)
bool getBool(const std::string &name) const
Returns the boolean-value of the named option (only for Option_Bool)
bool isDefault(const std::string &name) const
Returns the information whether the named option has still the default value.
static bool gMesoOvertaking
static void addConfigurationOptions(OptionsCont &oc)
Adds configuration options to the given container.
#define WRITE_WARNING(msg)
static OptionsCont & getOptions()
Retrieves the options.
static bool gCheck4Accidents
static void fillOptions()
Inserts options used by the simulation into the OptionsCont-singleton.
void addSynonyme(const std::string &name1, const std::string &name2, bool isDeprecated=false)
Adds a synonyme for an options name (any order)
static void init()
Static intialization.
bool isSet(const std::string &name, bool failOnNonExistant=true) const
Returns the information whether the named option is set.
static SUMOTime gTimeToImpatience
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
std::vector< int > IntVector
Definition of a vector of ints.
bool isUsableFileList(const std::string &name) const
Checks whether the named option is usable as a file list (with at least a single file) ...
static double toDouble(const std::string &sData)
converts a string into the double value described by it by calling the char-type converter ...
std::string getString(const std::string &name) const
Returns the string-value of the named option (only for Option_String)
static double gDefaultEmergencyDecel
encoding of the string-option default.emergencydecel
SUMOTime string2time(const std::string &r)
static SUMOTime gMesoMinorPenalty
std::vector< std::string > getStringVector(const std::string &name) const
Returns the list of string-vector-value of the named option (only for Option_String) ...
void addOptionSubTopic(const std::string &topic)
Adds an option subtopic.
static bool checkOptions()
checks shared options and sets StdDefs
static bool gUsingInternalLanes
Information whether the simulation regards internal lanes.
static void initGlobalOptions(const OptionsCont &oc)
init global model parameters
double getFloat(const std::string &name) const
Returns the double-value of the named option (only for Option_Float)
static bool checkOptions(OptionsCont &oc)
check device-specific options
static bool checkOptions()
Checks the set options.
static SUMOTime gActionStepLength
default value for the interval between two action points for MSVehicle (defaults to DELTA_T) ...
static SUMOTime gTimeToGridlockHighways
bool set(const std::string &name, const std::string &value)
Sets the given value for the named option.
void addXMLDefault(const std::string &name, const std::string &xmlRoot="")
Adds an XML root element to handle by default. The special root "" denotes the default handler...
A storage for options typed value containers)
const int VTYPEPARS_DEFAULT_EMERGENCYDECEL_DEFAULT
static SUMOTime gTimeToGridlock
static void insertOptions(OptionsCont &oc)
Inserts options for building devices.
static SUMOTime gWaitingTimeMemory
length of memory for waiting times (in millisecs)
static SUMOTime gIgnoreJunctionBlocker
static bool createDeviceByOption(const std::string &optionName, const std::string &rootElement="", const std::string &schemaFile="")
Creates the device using the output definition stored in the named option.
static bool gSemiImplicitEulerUpdate
static void setMSGlobals(OptionsCont &oc)
Sets the global microsim-options.
void addDescription(const std::string &name, const std::string &subtopic, const std::string &description)
Adds a description for an option.
#define WRITE_MESSAGE(msg)
static SUMOTime gLaneChangeDuration
static bool gMesoLimitedJunctionControl