Eclipse SUMO - Simulation of Urban MObility
GUISettingsHandler.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
18 // The dialog to change the view (gui) settings.
19 /****************************************************************************/
20 
21 
22 // ===========================================================================
23 // included modules
24 // ===========================================================================
25 #include <config.h>
26 
27 #include <vector>
29 #include <utils/common/ToString.h>
30 #include <utils/common/RGBColor.h>
38 #include <utils/xml/XMLSubSys.h>
39 #include "GUISettingsHandler.h"
40 
41 
42 // ===========================================================================
43 // method definitions
44 // ===========================================================================
45 GUISettingsHandler::GUISettingsHandler(const std::string& content, bool isFile, bool netedit) :
46  SUMOSAXHandler(content),
47  mySettings(netedit),
48  myDelay(-1), myLookFrom(-1, -1, -1), myLookAt(-1, -1, -1),
49  myRotation(0),
50  myCurrentColorer(SUMO_TAG_NOTHING),
51  myCurrentScheme(nullptr),
52  myJamSoundTime(-1) {
53  if (isFile) {
54  XMLSubSys::runParser(*this, content);
55  } else {
56  setFileName("registrySettings");
57  SUMOSAXReader* reader = XMLSubSys::getSAXReader(*this);
58  reader->parseString(content);
59  delete reader;
60  }
61 }
62 
63 
65 }
66 
67 
68 void
70  const SUMOSAXAttributes& attrs) {
71  bool ok = true;
72  switch (element) {
74  std::string file = attrs.get<std::string>(SUMO_ATTR_VALUE, nullptr, ok);
76  }
77  break;
79  myBreakpoints.push_back(attrs.getSUMOTimeReporting(SUMO_ATTR_VALUE, nullptr, ok));
80  break;
82  myViewType = attrs.getOpt<std::string>(SUMO_ATTR_TYPE, nullptr, ok, "default");
83  std::transform(myViewType.begin(), myViewType.end(), myViewType.begin(), tolower);
84  break;
85  case SUMO_TAG_DELAY:
86  myDelay = attrs.getOpt<double>(SUMO_ATTR_VALUE, nullptr, ok, myDelay);
87  break;
88  case SUMO_TAG_VIEWPORT: {
89  const double x = attrs.getOpt<double>(SUMO_ATTR_X, nullptr, ok, myLookFrom.x());
90  const double y = attrs.getOpt<double>(SUMO_ATTR_Y, nullptr, ok, myLookFrom.y());
91  const double z = attrs.getOpt<double>(SUMO_ATTR_ZOOM, nullptr, ok, myLookFrom.z());
92  myLookFrom.set(x, y, z);
93  const double cx = attrs.getOpt<double>(SUMO_ATTR_CENTER_X, nullptr, ok, myLookAt.x());
94  const double cy = attrs.getOpt<double>(SUMO_ATTR_CENTER_Y, nullptr, ok, myLookAt.y());
95  const double cz = attrs.getOpt<double>(SUMO_ATTR_CENTER_Z, nullptr, ok, myLookAt.z());
96  myLookAt.set(cx, cy, cz);
97  myRotation = attrs.getOpt<double>(SUMO_ATTR_ANGLE, nullptr, ok, myRotation);
98  break;
99  }
100  case SUMO_TAG_SNAPSHOT: {
101  bool ok = true;
102  std::string file = attrs.get<std::string>(SUMO_ATTR_FILE, nullptr, ok);
103  if (file != "" && !FileHelpers::isAbsolute(file)) {
105  }
106  mySnapshots[attrs.getOptSUMOTimeReporting(SUMO_ATTR_TIME, file.c_str(), ok, 0)].push_back(file);
107  }
108  break;
110  bool ok = true;
111  mySettings.name = attrs.getOpt<std::string>(SUMO_ATTR_NAME, nullptr, ok, mySettings.name);
114  }
115  }
116  break;
122  break;
124  bool ok = true;
125  mySettings.backgroundColor = RGBColor::parseColorReporting(attrs.getStringSecure("backgroundColor", toString(mySettings.backgroundColor)), "background", nullptr, true, ok);
129  }
130  break;
132  int laneEdgeMode = StringUtils::toInt(attrs.getStringSecure("laneEdgeMode", "0"));
133  int laneEdgeScaleMode = StringUtils::toInt(attrs.getStringSecure("scaleMode", "0"));
153  myCurrentColorer = element;
154  mySettings.edgeColorer.setActive(laneEdgeMode);
155  mySettings.edgeScaler.setActive(laneEdgeScaleMode);
156  mySettings.laneColorer.setActive(laneEdgeMode);
157  mySettings.laneScaler.setActive(laneEdgeScaleMode);
158  }
159  break;
161  myCurrentScheme = nullptr;
162  myCurrentScaleScheme = nullptr;
165  if (myCurrentScheme == nullptr) {
167  }
168  }
171  }
174  }
177  }
180  }
183  }
185  bool ok = true;
186  myCurrentScheme->setInterpolated(attrs.getOpt<bool>(SUMO_ATTR_INTERPOLATED, nullptr, ok, false));
188  }
189  break;
191  myCurrentScheme = nullptr;
192  myCurrentScaleScheme = nullptr;
195  if (myCurrentScaleScheme == nullptr) {
197  }
198  }
200  bool ok = true;
201  myCurrentScaleScheme->setInterpolated(attrs.getOpt<bool>(SUMO_ATTR_INTERPOLATED, nullptr, ok, false));
203  }
204  break;
205 
206  case SUMO_TAG_ENTRY:
207  if (myCurrentScheme != nullptr) {
208  bool ok = true;
209  RGBColor color = attrs.get<RGBColor>(SUMO_ATTR_COLOR, nullptr, ok);
210  if (myCurrentScheme->isFixed()) {
212  } else {
213  myCurrentScheme->addColor(color, attrs.getOpt<double>(SUMO_ATTR_THRESHOLD, nullptr, ok, 0));
214  }
215  } else if (myCurrentScaleScheme != nullptr) {
216  bool ok = true;
217  double scale = attrs.get<double>(SUMO_ATTR_COLOR, nullptr, ok);
218  if (myCurrentScaleScheme->isFixed()) {
220  } else {
221  myCurrentScaleScheme->addColor(scale, attrs.getOpt<double>(SUMO_ATTR_THRESHOLD, nullptr, ok, 0));
222  }
223  }
224  break;
234  myCurrentColorer = element;
235  break;
242  myCurrentColorer = element;
243  break;
249  myCurrentColorer = element;
250  break;
261  "drawCrossingsAndWalkingareas", toString(mySettings.drawCrossingsAndWalkingareas)));
263  myCurrentColorer = element;
264  break;
270  break;
276  myCurrentColorer = element;
277  break;
283  myCurrentColorer = element;
284  break;
288  break;
291  d.filename = attrs.getStringSecure("filename", d.filename);
292  if (d.filename != "" && !FileHelpers::isAbsolute(d.filename)) {
294  }
295  d.centerX = attrs.getOpt<double>(SUMO_ATTR_CENTER_X, nullptr, ok, d.centerX);
296  d.centerY = attrs.getOpt<double>(SUMO_ATTR_CENTER_Y, nullptr, ok, d.centerY);
297  d.centerZ = attrs.getOpt<double>(SUMO_ATTR_CENTER_Z, nullptr, ok, d.centerZ);
298  d.width = attrs.getOpt<double>(SUMO_ATTR_WIDTH, nullptr, ok, d.width);
299  d.height = attrs.getOpt<double>(SUMO_ATTR_HEIGHT, nullptr, ok, d.height);
300  d.altitude = StringUtils::toDouble(attrs.getStringSecure("altitude", toString(d.height)));
301  d.rot = StringUtils::toDouble(attrs.getStringSecure("rotation", toString(d.rot)));
302  d.tilt = StringUtils::toDouble(attrs.getStringSecure("tilt", toString(d.tilt)));
303  d.roll = StringUtils::toDouble(attrs.getStringSecure("roll", toString(d.roll)));
304  d.layer = attrs.getOpt<double>(SUMO_ATTR_LAYER, nullptr, ok, d.layer);
306  d.initialised = false;
307  myDecals.push_back(d);
308  }
309  break;
312  d.filename = "light" + attrs.getOpt<std::string>(SUMO_ATTR_INDEX, nullptr, ok, "0");
313  d.centerX = attrs.getOpt<double>(SUMO_ATTR_CENTER_X, nullptr, ok, d.centerX);
314  d.centerY = attrs.getOpt<double>(SUMO_ATTR_CENTER_Y, nullptr, ok, d.centerY);
315  d.centerZ = attrs.getOpt<double>(SUMO_ATTR_CENTER_Z, nullptr, ok, d.centerZ);
316  d.width = attrs.getOpt<double>(SUMO_ATTR_WIDTH, nullptr, ok, d.width);
317  d.height = attrs.getOpt<double>(SUMO_ATTR_HEIGHT, nullptr, ok, d.height);
318  d.altitude = StringUtils::toDouble(attrs.getStringSecure("altitude", toString(d.height)));
319  d.rot = StringUtils::toDouble(attrs.getStringSecure("rotation", toString(d.rot)));
320  d.tilt = StringUtils::toDouble(attrs.getStringSecure("tilt", toString(d.tilt)));
321  d.roll = StringUtils::toDouble(attrs.getStringSecure("roll", toString(d.roll)));
322  d.layer = attrs.getOpt<double>(SUMO_ATTR_LAYER, nullptr, ok, d.layer);
323  d.initialised = false;
324  myDecals.push_back(d);
325  }
326  break;
328  const std::string id = attrs.get<std::string>(SUMO_ATTR_ID, nullptr, ok);
329  const std::string cmd = attrs.get<std::string>(SUMO_ATTR_COMMAND, nullptr, ok);
330  const double prob = attrs.get<double>(SUMO_ATTR_PROB, id.c_str(), ok);
331  myEventDistributions[id].add(cmd, prob);
332  }
333  break;
335  myJamSoundTime = attrs.get<double>(SUMO_ATTR_VALUE, nullptr, ok);
336  break;
337  default:
338  break;
339  }
340 }
341 
342 
345  const std::string& prefix, const SUMOSAXAttributes& attrs,
346  GUIVisualizationTextSettings defaults) {
347  bool ok = true;
349  StringUtils::toBool(attrs.getStringSecure(prefix + "_show", toString(defaults.show))),
350  StringUtils::toDouble(attrs.getStringSecure(prefix + "_size", toString(defaults.size))),
351  RGBColor::parseColorReporting(attrs.getStringSecure(prefix + "_color", toString(defaults.color)), "textSettings", nullptr, true, ok),
352  RGBColor::parseColorReporting(attrs.getStringSecure(prefix + "_bgColor", toString(defaults.bgColor)), "textSettings", nullptr, true, ok),
353  StringUtils::toBool(attrs.getStringSecure(prefix + "_constantSize", toString(defaults.constSize))));
354 }
355 
356 
359  const std::string& prefix, const SUMOSAXAttributes& attrs,
360  GUIVisualizationSizeSettings defaults) {
362  StringUtils::toDouble(attrs.getStringSecure(prefix + "_minSize", toString(defaults.minSize))),
363  StringUtils::toDouble(attrs.getStringSecure(prefix + "_exaggeration", toString(defaults.exaggeration))),
364  StringUtils::toBool(attrs.getStringSecure(prefix + "_constantSize", toString(defaults.constantSize))),
365  StringUtils::toBool(attrs.getStringSecure(prefix + "_constantSizeSelected", toString(defaults.constantSizeSelected))));
366 }
367 
368 
369 std::string
371  if (mySettings.name != "") {
373  if (view) {
374  FXint index = view->getColoringSchemesCombo()->appendItem(mySettings.name.c_str());
375  view->getColoringSchemesCombo()->setCurrentItem(index);
377  }
378  }
379  return mySettings.name;
380 }
381 
382 
383 void
385  if (myLookFrom.z() > 0) {
386  // z value stores zoom so we must convert first
387  Position lookFrom(myLookFrom.x(), myLookFrom.y(), view->getChanger().zoom2ZPos(myLookFrom.z()));
388  view->setViewportFromToRot(lookFrom, myLookAt, myRotation);
389  }
390 }
391 
392 
393 void
395  if (!mySnapshots.empty()) {
396  for (auto item : mySnapshots) {
397  for (auto file : item.second) {
398  view->addSnapshot(item.first, file);
399  }
400  }
401  }
402 }
403 
404 
405 bool
407  return !myDecals.empty();
408 }
409 
410 
411 const std::vector<GUISUMOAbstractView::Decal>&
413  return myDecals;
414 }
415 
416 
417 double
419  return myDelay;
420 }
421 
422 
423 std::vector<SUMOTime>
424 GUISettingsHandler::loadBreakpoints(const std::string& file) {
425  std::vector<SUMOTime> result;
426  std::ifstream strm(file.c_str());
427  while (strm.good()) {
428  std::string val;
429  strm >> val;
430  if (val.length() == 0) {
431  continue;
432  }
433  try {
434  SUMOTime value = string2time(val);
435  result.push_back(value);
436  } catch (NumberFormatException& e) {
437  WRITE_ERROR(" A breakpoint-value must be an int. " + toString(e.what()));
438  } catch (EmptyData&) {
439  } catch (ProcessError&) {
440  WRITE_ERROR(" Could not decode breakpoint '" + val + "'");
441  }
442  }
443  return result;
444 }
445 
446 
450  if (result.getOverallProb() > 0 && result.getOverallProb() < 1) {
451  // unscaled probabilities are assumed, fill up with dummy event
452  result.add("", 1. - result.getOverallProb());
453  }
454  return result;
455 }
456 
457 
458 /****************************************************************************/
459 
GUISUMOAbstractView::Decal::roll
double roll
The roll of the image to the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:318
GUICompleteSchemeStorage.h
SUMO_TAG_SNAPSHOT
Definition: SUMOXMLDefinitions.h:261
SUMO_ATTR_TYPE
Definition: SUMOXMLDefinitions.h:382
GUIVisualizationSettings::polySize
GUIVisualizationSizeSettings polySize
Definition: GUIVisualizationSettings.h:607
GUIVisualizationSettings::name
std::string name
The name of this setting.
Definition: GUIVisualizationSettings.h:397
RandomDistributor::add
bool add(T val, double prob, bool checkDuplicates=true)
Adds a value with an assigned probability to the distribution.
Definition: RandomDistributor.h:71
GUIVisualizationSettings::edgeColorer
GUIColorer edgeColorer
The mesoscopic edge colorer.
Definition: GUIVisualizationSettings.h:429
SUMO_ATTR_ANGLE
Definition: SUMOXMLDefinitions.h:791
GUIVisualizationSettings::fps
bool fps
Information whether frames-per-second should be drawn.
Definition: GUIVisualizationSettings.h:409
SUMO_ATTR_INTERPOLATED
Definition: SUMOXMLDefinitions.h:821
GUISUMOAbstractView::setViewportFromToRot
virtual void setViewportFromToRot(const Position &lookFrom, const Position &lookAt, double rotation)
applies the given viewport settings
Definition: GUISUMOAbstractView.cpp:1328
MFXImageHelper.h
ToString.h
XMLSubSys::runParser
static bool runParser(GenericSAXHandler &handler, const std::string &file, const bool isNet=false)
Runs the given handler on the given file; returns if everything's ok.
Definition: XMLSubSys.cpp:113
GUIVisualizationSettings::hideConnectors
bool hideConnectors
flag to show or hidde connectors
Definition: GUIVisualizationSettings.h:462
GUIVisualizationSettings::laneShowBorders
bool laneShowBorders
Information whether lane borders shall be drawn.
Definition: GUIVisualizationSettings.h:444
GUIVisualizationSettings::edgeParam
std::string edgeParam
key for coloring by edge parameter
Definition: GUIVisualizationSettings.h:480
SUMO_TAG_SCALINGSCHEME
Definition: SUMOXMLDefinitions.h:266
GUIPropertySchemeStorage::getSchemeByName
T * getSchemeByName(std::string name)
Definition: GUIPropertySchemeStorage.h:92
StringUtils::toBool
static bool toBool(const std::string &sData)
converts a string into the bool value described by it by calling the char-type converter
Definition: StringUtils.cpp:342
GUIVisualizationSettings::laneMinSize
double laneMinSize
The minimum visual lane width for drawing.
Definition: GUIVisualizationSettings.h:468
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:73
GUIVisualizationSettings::junctionSize
GUIVisualizationSizeSettings junctionSize
Definition: GUIVisualizationSettings.h:569
GUIVisualizationSettings::vehicleValue
GUIVisualizationTextSettings vehicleValue
Definition: GUIVisualizationSettings.h:514
GUIVisualizationSettings::tlsPhaseIndex
GUIVisualizationTextSettings tlsPhaseIndex
Definition: GUIVisualizationSettings.h:560
SUMOSAXHandler
SAX-handler base for SUMO-files.
Definition: SUMOSAXHandler.h:42
SUMO_TAG_VIEWSETTINGS_OPENGL
Definition: SUMOXMLDefinitions.h:245
GUIVisualizationTextSettings::bgColor
RGBColor bgColor
background text color
Definition: GUIVisualizationSettings.h:78
GUIPropertyScheme::setColor
void setColor(const int pos, const T &color)
Definition: GUIPropertyScheme.h:65
GUISettingsHandler::mySettings
GUIVisualizationSettings mySettings
The settings to fill.
Definition: GUISettingsHandler.h:135
GUIVisualizationSettings::gridYSize
double gridYSize
Definition: GUIVisualizationSettings.h:421
GUISettingsHandler::myLookFrom
Position myLookFrom
The viewport loaded, zoom is stored in z coordinate.
Definition: GUISettingsHandler.h:144
SUMO_ATTR_THRESHOLD
Definition: SUMOXMLDefinitions.h:822
SUMO_TAG_VIEWSETTINGS_SCHEME
Definition: SUMOXMLDefinitions.h:244
Position::z
double z() const
Returns the z-position.
Definition: Position.h:67
GUISUMOAbstractView::setColorScheme
virtual bool setColorScheme(const std::string &)
set color scheme
Definition: GUISUMOAbstractView.cpp:1351
GUISUMOAbstractView::getColoringSchemesCombo
FXComboBox * getColoringSchemesCombo()
get coloring schemes combo
Definition: GUISUMOAbstractView.cpp:1412
GUIVisualizationSettings::drawBoundaries
bool drawBoundaries
enable or disable draw boundaries
Definition: GUIVisualizationSettings.h:629
GUIVisualizationSizeSettings::constantSizeSelected
bool constantSizeSelected
whether only selected objects shall be drawn with constant
Definition: GUIVisualizationSettings.h:113
SUMO_TAG_VIEWSETTINGS
Definition: SUMOXMLDefinitions.h:241
StringUtils::toDouble
static double toDouble(const std::string &sData)
converts a string into the double value described by it by calling the char-type converter
Definition: StringUtils.cpp:313
GUIVisualizationSettings::containerName
GUIVisualizationTextSettings containerName
Definition: GUIVisualizationSettings.h:549
SUMO_TAG_VIEWSETTINGS_LEGEND
Definition: SUMOXMLDefinitions.h:255
GUISettingsHandler::~GUISettingsHandler
~GUISettingsHandler()
Destructor.
Definition: GUISettingsHandler.cpp:64
SUMOSAXAttributes::get
T get(int attr, const char *objectid, bool &ok, bool report=true) const
Tries to read given attribute assuming it is an int.
Definition: SUMOSAXAttributes.h:493
GUISettingsHandler::getDecals
const std::vector< GUISUMOAbstractView::Decal > & getDecals() const
Returns the parsed decals.
Definition: GUISettingsHandler.cpp:412
MsgHandler.h
GUIVisualizationTextSettings::color
RGBColor color
text color
Definition: GUIVisualizationSettings.h:75
GUIVisualizationSettings::showGrid
bool showGrid
Information whether a grid shall be shown.
Definition: GUIVisualizationSettings.h:418
GUISettingsHandler::mySnapshots
std::map< SUMOTime, std::vector< std::string > > mySnapshots
mappig of time steps to filenames for potential snapshots
Definition: GUISettingsHandler.h:153
SUMOSAXReader
SAX-reader encapsulation containing binary reader.
Definition: SUMOSAXReader.h:56
GUISettingsHandler::myDelay
double myDelay
The delay loaded.
Definition: GUISettingsHandler.h:141
SUMO_TAG_VIEWSETTINGS_POIS
Definition: SUMOXMLDefinitions.h:253
FileHelpers::getConfigurationRelative
static std::string getConfigurationRelative(const std::string &configPath, const std::string &path)
Returns the second path as a relative path to the first file.
Definition: FileHelpers.cpp:106
GUIVisualizationSettings::forceDrawForSelecting
bool forceDrawForSelecting
flag to force draw to selecting (see drawForSelecting)
Definition: GUIVisualizationSettings.h:638
GUISettingsHandler::setSnapshots
void setSnapshots(GUISUMOAbstractView *view) const
Makes a snapshot if it has been parsed.
Definition: GUISettingsHandler.cpp:394
GUISettingsHandler::myEventDistributions
std::map< std::string, RandomDistributor< std::string > > myEventDistributions
The parsed event distributions.
Definition: GUISettingsHandler.h:171
GUISUMOAbstractView::Decal::centerY
double centerY
The center of the image in y-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:304
FileHelpers.h
GUICompleteSchemeStorage::add
void add(const GUIVisualizationSettings &scheme)
Adds a visualization scheme.
Definition: GUICompleteSchemeStorage.cpp:53
GUISUMOAbstractView::Decal::filename
std::string filename
The path to the file the image is located at.
Definition: GUISUMOAbstractView.h:300
SUMOTime
long long int SUMOTime
Definition: SUMOTime.h:35
SUMO_TAG_COLORSCHEME
Definition: SUMOXMLDefinitions.h:265
GUIVisualizationSettings::personColorer
GUIColorer personColorer
The person colorer.
Definition: GUIVisualizationSettings.h:523
SUMO_ATTR_COLOR
A color information.
Definition: SUMOXMLDefinitions.h:701
EmptyData
Definition: UtilExceptions.h:69
SUMO_ATTR_ID
Definition: SUMOXMLDefinitions.h:379
GUIVisualizationTextSettings
Definition: GUIVisualizationSettings.h:51
GUISUMOAbstractView::Decal::centerZ
double centerZ
The center of the image in z-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:306
GUIVisualizationSettings.h
SUMO_TAG_NOTHING
invalid tag
Definition: SUMOXMLDefinitions.h:44
GUIVisualizationSettings::containerSize
GUIVisualizationSizeSettings containerSize
Definition: GUIVisualizationSettings.h:546
GUIVisualizationSettings::drawLinkJunctionIndex
GUIVisualizationTextSettings drawLinkJunctionIndex
Definition: GUIVisualizationSettings.h:560
GUIVisualizationSettings::vehicleSize
GUIVisualizationSizeSettings vehicleSize
Definition: GUIVisualizationSettings.h:511
GUIVisualizationSettings::showRails
bool showRails
Information whether rails shall be drawn.
Definition: GUIVisualizationSettings.h:456
GUIVisualizationSettings::vehicleColorer
GUIColorer vehicleColorer
The vehicle colorer.
Definition: GUIVisualizationSettings.h:490
SUMO_TAG_VIEWSETTINGS_VEHICLES
Definition: SUMOXMLDefinitions.h:248
SUMO_TAG_VIEWPORT
Definition: SUMOXMLDefinitions.h:260
GUISUMOAbstractView::Decal::height
double height
The height of the image (net coordinates in y-direction, in m)
Definition: GUISUMOAbstractView.h:310
SUMOSAXAttributes::getSUMOTimeReporting
SUMOTime getSUMOTimeReporting(int attr, const char *objectid, bool &ok, bool report=true) const
Tries to read given attribute assuming it is a SUMOTime.
Definition: SUMOSAXAttributes.cpp:64
GUIVisualizationSettings::edgeScaler
GUIScaler edgeScaler
The mesoscopic edge scaler.
Definition: GUIVisualizationSettings.h:432
GUISettingsHandler.h
SUMO_TAG_VIEWSETTINGS_BACKGROUND
Definition: SUMOXMLDefinitions.h:246
GUIVisualizationSettings::polyName
GUIVisualizationTextSettings polyName
Definition: GUIVisualizationSettings.h:610
SUMO_ATTR_FILE
Definition: SUMOXMLDefinitions.h:662
GUIVisualizationSettings::drawMinGap
bool drawMinGap
Information whether the minimum gap shall be drawn.
Definition: GUIVisualizationSettings.h:502
SUMO_TAG_BREAKPOINT
Definition: SUMOXMLDefinitions.h:263
GUIVisualizationSettings::polyColorer
GUIColorer polyColorer
The polygon colorer.
Definition: GUIVisualizationSettings.h:604
RGBColor.h
SUMO_TAG_VIEWSETTINGS_PERSONS
Definition: SUMOXMLDefinitions.h:249
GUIVisualizationSettings::junctionName
GUIVisualizationTextSettings junctionName
Definition: GUIVisualizationSettings.h:560
SUMO_ATTR_COMMAND
Definition: SUMOXMLDefinitions.h:882
GUIVisualizationSettings::junctionColorer
GUIColorer junctionColorer
The junction colorer.
Definition: GUIVisualizationSettings.h:557
GUISUMOAbstractView::Decal::layer
double layer
The layer of the image.
Definition: GUISUMOAbstractView.h:320
GUIVisualizationSettings::polyType
GUIVisualizationTextSettings polyType
Definition: GUIVisualizationSettings.h:613
GUIVisualizationSettings::drawCrossingsAndWalkingareas
bool drawCrossingsAndWalkingareas
whether crosings and walkingareas shall be drawn
Definition: GUIVisualizationSettings.h:567
NumberFormatException
Definition: UtilExceptions.h:96
RGBColor
Definition: RGBColor.h:40
GUIVisualizationSettings::gridXSize
double gridXSize
Information about the grid spacings.
Definition: GUIVisualizationSettings.h:421
GUIVisualizationSettings::backgroundColor
RGBColor backgroundColor
The background color to use.
Definition: GUIVisualizationSettings.h:415
GUIVisualizationSettings::internalEdgeName
GUIVisualizationTextSettings internalEdgeName
Definition: GUIVisualizationSettings.h:459
GUIVisualizationSettings::addName
GUIVisualizationTextSettings addName
Definition: GUIVisualizationSettings.h:582
GUISUMOAbstractView::Decal::screenRelative
bool screenRelative
Whether this image should be skipped in 2D-views.
Definition: GUISUMOAbstractView.h:326
GUIVisualizationSettings::showBikeMarkings
bool showBikeMarkings
Information whether bicycle lane marking shall be drawn.
Definition: GUIVisualizationSettings.h:447
SUMO_ATTR_PROB
Definition: SUMOXMLDefinitions.h:627
GUIVisualizationSettings::poiSize
GUIVisualizationSizeSettings poiSize
Definition: GUIVisualizationSettings.h:595
SUMO_ATTR_CENTER_Y
Definition: SUMOXMLDefinitions.h:403
GUISettingsHandler::myRotation
double myRotation
View rotation.
Definition: GUISettingsHandler.h:150
SUMO_TAG_VIEWSETTINGS_LIGHT
Definition: SUMOXMLDefinitions.h:243
GUIVisualizationTextSettings::constSize
bool constSize
@brif flag to avoid size changes
Definition: GUIVisualizationSettings.h:81
GUISettingsHandler::myJamSoundTime
double myJamSoundTime
Definition: GUISettingsHandler.h:172
GUISUMOAbstractView::Decal::rot
double rot
The rotation of the image in the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:314
GUIVisualizationSettings::showLinkDecals
bool showLinkDecals
Information whether link textures (arrows) shall be drawn.
Definition: GUIVisualizationSettings.h:450
GUISUMOAbstractView::Decal::tilt
double tilt
The tilt of the image to the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:316
GUIPerspectiveChanger.h
GUIVisualizationSettings::laneWidthExaggeration
double laneWidthExaggeration
The lane exaggeration (upscale thickness)
Definition: GUIVisualizationSettings.h:465
GUIVisualizationSettings::showColorLegend
bool showColorLegend
Information whether the colo legend shall be drawn.
Definition: GUIVisualizationSettings.h:620
GUIVisualizationSizeSettings
struct for size settings
Definition: GUIVisualizationSettings.h:86
GUIPropertyScheme::clear
void clear()
Definition: GUIPropertyScheme.h:105
GUIVisualizationSettings::laneScaler
GUIScaler laneScaler
The lane scaler.
Definition: GUIVisualizationSettings.h:441
Position::set
void set(double x, double y)
set positions x and y
Definition: Position.h:87
GUIPropertyScheme::isFixed
bool isFixed() const
Definition: GUIPropertyScheme.h:158
GUIVisualizationSizeSettings::constantSize
bool constantSize
whether the object shall be drawn with constant size regardless of zoom
Definition: GUIVisualizationSettings.h:110
GUIVisualizationSettings::vehicleQuality
int vehicleQuality
The quality of vehicle drawing.
Definition: GUIVisualizationSettings.h:493
SUMO_TAG_VIEWSETTINGS_JUNCTIONS
Definition: SUMOXMLDefinitions.h:251
SUMO_TAG_BREAKPOINTS_FILE
Definition: SUMOXMLDefinitions.h:262
SUMO_ATTR_WIDTH
Definition: SUMOXMLDefinitions.h:387
GUISUMOAbstractView::addSnapshot
void addSnapshot(SUMOTime time, const std::string &file, const int width=-1, const int height=-1)
Sets the snapshot time to file map.
Definition: GUISUMOAbstractView.cpp:1059
GUIVisualizationSettings::showSublanes
bool showSublanes
Whether to show sublane boundaries.
Definition: GUIVisualizationSettings.h:474
SUMO_ATTR_LAYER
A layer number.
Definition: SUMOXMLDefinitions.h:709
ProcessError
Definition: UtilExceptions.h:40
GUIVisualizationSettings::vehicleName
GUIVisualizationTextSettings vehicleName
Definition: GUIVisualizationSettings.h:514
Position
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:39
GUIVisualizationSettings::containerQuality
int containerQuality
The quality of container drawing.
Definition: GUIVisualizationSettings.h:543
gSchemeStorage
GUICompleteSchemeStorage gSchemeStorage
Definition: GUICompleteSchemeStorage.cpp:39
Position::x
double x() const
Returns the x-position.
Definition: Position.h:57
GUIPropertyScheme::setInterpolated
void setInterpolated(const bool interpolate, double interpolationStart=0.f)
Definition: GUIPropertyScheme.h:131
GUISettingsHandler::myDecals
std::vector< GUISUMOAbstractView::Decal > myDecals
The decals list to fill.
Definition: GUISettingsHandler.h:156
GUIVisualizationSettings::dither
bool dither
Information whether dithering shall be enabled.
Definition: GUIVisualizationSettings.h:406
SUMO_ATTR_Y
Definition: SUMOXMLDefinitions.h:400
GUIVisualizationSettings::addFullName
GUIVisualizationTextSettings addFullName
Definition: GUIVisualizationSettings.h:584
GUIVisualizationSettings::drawLinkTLIndex
GUIVisualizationTextSettings drawLinkTLIndex
Definition: GUIVisualizationSettings.h:560
GUISettingsHandler::hasDecals
bool hasDecals() const
Returns whether any decals have been parsed.
Definition: GUISettingsHandler.cpp:406
GUIVisualizationSettings::personSize
GUIVisualizationSizeSettings personSize
Definition: GUIVisualizationSettings.h:529
SUMO_ATTR_CENTER_Z
Definition: SUMOXMLDefinitions.h:404
GUISettingsHandler::myCurrentScheme
GUIColorScheme * myCurrentScheme
The current color scheme.
Definition: GUISettingsHandler.h:162
GUISUMOAbstractView::Decal::altitude
double altitude
The altitude of the image (net coordinates in z-direction, in m)
Definition: GUISUMOAbstractView.h:312
SUMOSAXAttributes::getOpt
T getOpt(int attr, const char *objectid, bool &ok, T defaultValue, bool report=true) const
Tries to read given attribute assuming it is an int.
Definition: SUMOSAXAttributes.h:519
GUISettingsHandler::GUISettingsHandler
GUISettingsHandler(const std::string &content, bool isFile=true, bool netedit=false)
Constructor.
Definition: GUISettingsHandler.cpp:45
SUMO_TAG_ENTRY
Definition: SUMOXMLDefinitions.h:267
GUIVisualizationTextSettings::show
bool show
flag show
Definition: GUIVisualizationSettings.h:69
RGBColor::parseColorReporting
static RGBColor parseColorReporting(const std::string &coldef, const std::string &objecttype, const char *objectid, bool report, bool &ok)
Parses a color information.
Definition: RGBColor.cpp:257
GUISettingsHandler::applyViewport
void applyViewport(GUISUMOAbstractView *view) const
Sets the viewport which has been parsed.
Definition: GUISettingsHandler.cpp:384
SUMO_TAG_VIEWSETTINGS_EVENT
Definition: SUMOXMLDefinitions.h:256
GUIVisualizationSettings::laneParam
std::string laneParam
Definition: GUIVisualizationSettings.h:480
SUMO_ATTR_TIME
trigger: the time of the step
Definition: SUMOXMLDefinitions.h:673
string2time
SUMOTime string2time(const std::string &r)
Definition: SUMOTime.cpp:42
GUIVisualizationSettings::internalJunctionName
GUIVisualizationTextSettings internalJunctionName
Definition: GUIVisualizationSettings.h:560
SUMOSAXReader::parseString
void parseString(std::string content)
Definition: SUMOSAXReader.cpp:115
GUIVisualizationSizeSettings::minSize
double minSize
The minimum size to draw this object.
Definition: GUIVisualizationSettings.h:104
RandomDistributor< std::string >
GUIVisualizationSettings::streetName
GUIVisualizationTextSettings streetName
Definition: GUIVisualizationSettings.h:459
SUMO_ATTR_INDEX
Definition: SUMOXMLDefinitions.h:801
GUISettingsHandler::myBreakpoints
std::vector< SUMOTime > myBreakpoints
The parsed breakpoints.
Definition: GUISettingsHandler.h:168
SUMO_TAG_VIEWSETTINGS_ADDITIONALS
Definition: SUMOXMLDefinitions.h:252
GUISettingsHandler::myCurrentColorer
int myCurrentColorer
The last color scheme category (edges or vehicles)
Definition: GUISettingsHandler.h:159
SUMO_TAG_DELAY
Definition: SUMOXMLDefinitions.h:259
SUMO_ATTR_HEIGHT
Definition: SUMOXMLDefinitions.h:786
GUIVisualizationSettings::showSizeLegend
bool showSizeLegend
Information whether the size legend shall be drawn.
Definition: GUIVisualizationSettings.h:617
GUIVisualizationSettings::cwaEdgeName
GUIVisualizationTextSettings cwaEdgeName
Definition: GUIVisualizationSettings.h:459
toString
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
Definition: ToString.h:48
StringUtils.h
GUIVisualizationSettings::poiType
GUIVisualizationTextSettings poiType
Definition: GUIVisualizationSettings.h:601
GUIVisualizationSettings::poiName
GUIVisualizationTextSettings poiName
Definition: GUIVisualizationSettings.h:598
StringUtils::toInt
static int toInt(const std::string &sData)
converts a string into the integer value described by it by calling the char-type converter,...
Definition: StringUtils.cpp:246
Position::y
double y() const
Returns the y-position.
Definition: Position.h:62
SUMOSAXAttributes::getOptSUMOTimeReporting
SUMOTime getOptSUMOTimeReporting(int attr, const char *objectid, bool &ok, SUMOTime defaultValue, bool report=true) const
Tries to read given attribute assuming it is a SUMOTime.
Definition: SUMOSAXAttributes.cpp:91
GUISUMOAbstractView::getChanger
GUIPerspectiveChanger & getChanger() const
get changer
Definition: GUISUMOAbstractView.cpp:173
GUIVisualizationSettings::showLaneDirection
bool showLaneDirection
Whether to show direction indicators for lanes.
Definition: GUIVisualizationSettings.h:471
GUISettingsHandler::parseSizeSettings
GUIVisualizationSizeSettings parseSizeSettings(const std::string &prefix, const SUMOSAXAttributes &attrs, GUIVisualizationSizeSettings defaults)
parse attributes for sizeSettings
Definition: GUISettingsHandler.cpp:358
SUMO_TAG_VIEWSETTINGS_CONTAINERS
Definition: SUMOXMLDefinitions.h:250
GUIVisualizationSettings::addMode
int addMode
The additional structures visualization scheme.
Definition: GUIVisualizationSettings.h:578
GUIVisualizationSettings::showLane2Lane
bool showLane2Lane
Information whether lane-to-lane arrows shall be drawn.
Definition: GUIVisualizationSettings.h:563
GUIPerspectiveChanger::zoom2ZPos
virtual double zoom2ZPos(double zoom) const =0
Returns the camera height at which the given zoom level is reached.
GUISettingsHandler::getEventDistribution
RandomDistributor< std::string > getEventDistribution(const std::string &id)
Definition: GUISettingsHandler.cpp:448
GUIVisualizationSettings::showBlinker
bool showBlinker
Information whether vehicle blinkers shall be drawn.
Definition: GUIVisualizationSettings.h:496
GenericSAXHandler::getFileName
const std::string & getFileName() const
returns the current file name
Definition: GenericSAXHandler.cpp:75
SUMO_ATTR_CENTER_X
Definition: SUMOXMLDefinitions.h:402
SUMO_ATTR_VALUE
Definition: SUMOXMLDefinitions.h:776
GUISettingsHandler::myCurrentScaleScheme
GUIScaleScheme * myCurrentScaleScheme
The current scaling scheme.
Definition: GUISettingsHandler.h:165
GUISettingsHandler::myViewType
std::string myViewType
The view type (osg, opengl, default) loaded.
Definition: GUISettingsHandler.h:138
GUIVisualizationTextSettings::size
double size
text size
Definition: GUIVisualizationSettings.h:72
FileHelpers::isAbsolute
static bool isAbsolute(const std::string &path)
Returns the information whether the given path is absolute.
Definition: FileHelpers.cpp:120
GUIVisualizationSettings::personQuality
int personQuality
The quality of person drawing.
Definition: GUIVisualizationSettings.h:526
GUISUMOAbstractView::Decal::initialised
bool initialised
Whether this image was initialised (inserted as a texture)
Definition: GUISUMOAbstractView.h:322
GUIPropertyScheme::addColor
int addColor(const T &color, const double threshold, const std::string &name="")
Definition: GUIPropertyScheme.h:81
config.h
GUISettingsHandler::myStartElement
void myStartElement(int element, const SUMOSAXAttributes &attrs)
Called on the opening of a tag.
Definition: GUISettingsHandler.cpp:69
GUISettingsHandler::parseTextSettings
GUIVisualizationTextSettings parseTextSettings(const std::string &prefix, const SUMOSAXAttributes &attrs, GUIVisualizationTextSettings defaults)
parse attributes for textSettings
Definition: GUISettingsHandler.cpp:344
GUIVisualizationSettings::addSize
GUIVisualizationSizeSettings addSize
Definition: GUIVisualizationSettings.h:580
GUIVisualizationSettings::personValue
GUIVisualizationTextSettings personValue
Definition: GUIVisualizationSettings.h:532
GUIVisualizationSettings::personName
GUIVisualizationTextSettings personName
Definition: GUIVisualizationSettings.h:532
GUIVisualizationSettings::laneColorer
GUIColorer laneColorer
The lane colorer.
Definition: GUIVisualizationSettings.h:438
GUIVisualizationSettings::containerColorer
GUIColorer containerColorer
The container colorer.
Definition: GUIVisualizationSettings.h:540
GUIVisualizationSettings::showLinkRules
bool showLinkRules
Information whether link rules (colored bars) shall be drawn.
Definition: GUIVisualizationSettings.h:453
GUIVisualizationSettings::spreadSuperposed
bool spreadSuperposed
Whether to improve visualisation of superposed (rail) edges.
Definition: GUIVisualizationSettings.h:477
SUMOSAXReader.h
GUIVisualizationSettings::drawBrakeGap
bool drawBrakeGap
Information whether the brake gap shall be drawn.
Definition: GUIVisualizationSettings.h:505
SUMO_ATTR_ZOOM
Definition: SUMOXMLDefinitions.h:820
SUMO_TAG_VIEWSETTINGS_EVENT_JAM_TIME
Definition: SUMOXMLDefinitions.h:257
GUIVisualizationSettings::drawJunctionShape
bool drawJunctionShape
whether the shape of the junction should be drawn
Definition: GUIVisualizationSettings.h:565
SUMO_ATTR_NAME
Definition: SUMOXMLDefinitions.h:381
GUIVisualizationSettings::poiColorer
GUIColorer poiColorer
The POI colorer.
Definition: GUIVisualizationSettings.h:592
SUMOSAXAttributes::getStringSecure
virtual std::string getStringSecure(int id, const std::string &def) const =0
Returns the string-value of the named (by its enum-value) attribute.
XMLSubSys::getSAXReader
static SUMOSAXReader * getSAXReader(SUMOSAXHandler &handler)
Builds a reader and assigns the handler to it.
Definition: XMLSubSys.cpp:101
GUISUMOAbstractView::Decal::width
double width
The width of the image (net coordinates in x-direction, in m)
Definition: GUISUMOAbstractView.h:308
GUISettingsHandler::addSettings
std::string addSettings(GUISUMOAbstractView *view=0) const
Adds the parsed settings to the global list of settings.
Definition: GUISettingsHandler.cpp:370
RandomDistributor::getOverallProb
double getOverallProb() const
Return the sum of the probabilites assigned to the members.
Definition: RandomDistributor.h:131
GUISettingsHandler::getDelay
double getDelay() const
Returns the parsed delay.
Definition: GUISettingsHandler.cpp:418
GUICompleteSchemeStorage::contains
bool contains(const std::string &name) const
Returns the information whether a setting with the given name is stored.
Definition: GUICompleteSchemeStorage.cpp:75
SUMOSAXAttributes
Encapsulated SAX-Attributes.
Definition: SUMOSAXAttributes.h:57
GUISUMOAbstractView::Decal::centerX
double centerX
The center of the image in x-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:302
GUIPropertySchemeStorage::setActive
void setActive(int scheme)
Definition: GUIPropertySchemeStorage.h:70
SUMO_ATTR_X
Definition: SUMOXMLDefinitions.h:399
GUISUMOAbstractView::Decal
A decal (an image) that can be shown.
Definition: GUISUMOAbstractView.h:295
GUICompleteSchemeStorage::get
GUIVisualizationSettings & get(const std::string &name)
Returns the named scheme.
Definition: GUICompleteSchemeStorage.cpp:63
SUMO_TAG_VIEWSETTINGS_EDGES
Definition: SUMOXMLDefinitions.h:247
WRITE_ERROR
#define WRITE_ERROR(msg)
Definition: MsgHandler.h:245
GUIVisualizationSettings::edgeName
GUIVisualizationTextSettings edgeName
Definition: GUIVisualizationSettings.h:459
GUIVisualizationSettings::edgeValue
GUIVisualizationTextSettings edgeValue
Definition: GUIVisualizationSettings.h:459
GUIVisualizationSettings::edgeData
std::string edgeData
key for coloring by edgeData
Definition: GUIVisualizationSettings.h:483
GUISettingsHandler::loadBreakpoints
static std::vector< SUMOTime > loadBreakpoints(const std::string &file)
loads breakpoints from the specified file
Definition: GUISettingsHandler.cpp:424
GUISettingsHandler::myLookAt
Position myLookAt
The point to look at, only needed for osg view.
Definition: GUISettingsHandler.h:147
SUMO_TAG_VIEWSETTINGS_POLYS
Definition: SUMOXMLDefinitions.h:254
GenericSAXHandler::setFileName
void setFileName(const std::string &name)
Sets the current file name.
Definition: GenericSAXHandler.cpp:69
XMLSubSys.h
GUIVisualizationSizeSettings::exaggeration
double exaggeration
The size exaggeration (upscale)
Definition: GUIVisualizationSettings.h:107
SUMO_TAG_VIEWSETTINGS_DECAL
Definition: SUMOXMLDefinitions.h:242