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 /****************************************************************************/
17 // The dialog to change the view (gui) settings.
18 /****************************************************************************/
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include <vector>
28 #include <utils/common/ToString.h>
29 #include <utils/common/RGBColor.h>
37 #include <utils/xml/XMLSubSys.h>
38 #include "GUISettingsHandler.h"
39 
40 
41 // ===========================================================================
42 // method definitions
43 // ===========================================================================
44 GUISettingsHandler::GUISettingsHandler(const std::string& content, bool isFile, bool netedit) :
45  SUMOSAXHandler(content),
46  mySettings(netedit),
47  myDelay(-1), myLookFrom(-1, -1, -1), myLookAt(-1, -1, -1),
48  myRotation(0),
49  myCurrentColorer(SUMO_TAG_NOTHING),
50  myCurrentScheme(nullptr),
51  myJamSoundTime(-1) {
52  if (isFile) {
53  XMLSubSys::runParser(*this, content);
54  } else {
55  setFileName("registrySettings");
56  SUMOSAXReader* reader = XMLSubSys::getSAXReader(*this);
57  reader->parseString(content);
58  delete reader;
59  }
60 }
61 
62 
64 }
65 
66 
67 void
69  const SUMOSAXAttributes& attrs) {
70  bool ok = true;
71  switch (element) {
73  std::string file = attrs.get<std::string>(SUMO_ATTR_VALUE, nullptr, ok);
75  }
76  break;
78  myBreakpoints.push_back(attrs.getSUMOTimeReporting(SUMO_ATTR_VALUE, nullptr, ok));
79  break;
81  myViewType = attrs.getOpt<std::string>(SUMO_ATTR_TYPE, nullptr, ok, "default");
82  std::transform(myViewType.begin(), myViewType.end(), myViewType.begin(), tolower);
83  break;
84  case SUMO_TAG_DELAY:
85  myDelay = attrs.getOpt<double>(SUMO_ATTR_VALUE, nullptr, ok, myDelay);
86  break;
87  case SUMO_TAG_VIEWPORT: {
88  const double x = attrs.getOpt<double>(SUMO_ATTR_X, nullptr, ok, myLookFrom.x());
89  const double y = attrs.getOpt<double>(SUMO_ATTR_Y, nullptr, ok, myLookFrom.y());
90  const double z = attrs.getOpt<double>(SUMO_ATTR_ZOOM, nullptr, ok, myLookFrom.z());
91  myLookFrom.set(x, y, z);
92  const double cx = attrs.getOpt<double>(SUMO_ATTR_CENTER_X, nullptr, ok, myLookAt.x());
93  const double cy = attrs.getOpt<double>(SUMO_ATTR_CENTER_Y, nullptr, ok, myLookAt.y());
94  const double cz = attrs.getOpt<double>(SUMO_ATTR_CENTER_Z, nullptr, ok, myLookAt.z());
95  myLookAt.set(cx, cy, cz);
96  myRotation = attrs.getOpt<double>(SUMO_ATTR_ANGLE, nullptr, ok, myRotation);
97  break;
98  }
99  case SUMO_TAG_SNAPSHOT: {
100  std::string file = attrs.get<std::string>(SUMO_ATTR_FILE, nullptr, ok);
101  if (file != "" && !FileHelpers::isAbsolute(file)) {
103  }
104  mySnapshots[attrs.getOptSUMOTimeReporting(SUMO_ATTR_TIME, file.c_str(), ok, 0)].push_back(file);
105  }
106  break;
108  mySettings.name = attrs.getOpt<std::string>(SUMO_ATTR_NAME, nullptr, ok, mySettings.name);
111  }
112  }
113  break;
120  break;
122  mySettings.backgroundColor = RGBColor::parseColorReporting(attrs.getStringSecure("backgroundColor", toString(mySettings.backgroundColor)), "background", nullptr, true, ok);
126  }
127  break;
129  int laneEdgeMode = StringUtils::toInt(attrs.getStringSecure("laneEdgeMode", "0"));
130  int laneEdgeScaleMode = StringUtils::toInt(attrs.getStringSecure("scaleMode", "0"));
152  myCurrentColorer = element;
153  mySettings.edgeColorer.setActive(laneEdgeMode);
154  mySettings.edgeScaler.setActive(laneEdgeScaleMode);
155  mySettings.laneColorer.setActive(laneEdgeMode);
156  mySettings.laneScaler.setActive(laneEdgeScaleMode);
157  }
158  break;
160  myCurrentScheme = nullptr;
161  myCurrentScaleScheme = nullptr;
164  if (myCurrentScheme == nullptr) {
166  }
167  }
170  }
173  }
176  }
179  }
182  }
184  myCurrentScheme->setInterpolated(attrs.getOpt<bool>(SUMO_ATTR_INTERPOLATED, nullptr, ok, false));
186  }
187  break;
189  myCurrentScheme = nullptr;
190  myCurrentScaleScheme = nullptr;
193  if (myCurrentScaleScheme == nullptr) {
195  }
196  }
198  myCurrentScaleScheme->setInterpolated(attrs.getOpt<bool>(SUMO_ATTR_INTERPOLATED, nullptr, ok, false));
200  }
201  break;
202 
203  case SUMO_TAG_ENTRY:
204  if (myCurrentScheme != nullptr) {
205  RGBColor color = attrs.get<RGBColor>(SUMO_ATTR_COLOR, nullptr, ok);
206  if (myCurrentScheme->isFixed()) {
208  } else {
209  myCurrentScheme->addColor(color, attrs.getOpt<double>(SUMO_ATTR_THRESHOLD, nullptr, ok, 0));
210  }
211  } else if (myCurrentScaleScheme != nullptr) {
212  double scale = attrs.get<double>(SUMO_ATTR_COLOR, nullptr, ok);
213  if (myCurrentScaleScheme->isFixed()) {
215  } else {
216  myCurrentScaleScheme->addColor(scale, attrs.getOpt<double>(SUMO_ATTR_THRESHOLD, nullptr, ok, 0));
217  }
218  }
219  break;
232  myCurrentColorer = element;
233  break;
240  myCurrentColorer = element;
241  break;
247  myCurrentColorer = element;
248  break;
259  "drawCrossingsAndWalkingareas", toString(mySettings.drawCrossingsAndWalkingareas)));
261  myCurrentColorer = element;
262  break;
268  break;
274  myCurrentColorer = element;
275  break;
281  myCurrentColorer = element;
282  break;
286  break;
289  d.filename = attrs.getStringSecure("filename", d.filename);
290  if (d.filename != "" && !FileHelpers::isAbsolute(d.filename)) {
292  }
293  d.centerX = attrs.getOpt<double>(SUMO_ATTR_CENTER_X, nullptr, ok, d.centerX);
294  d.centerY = attrs.getOpt<double>(SUMO_ATTR_CENTER_Y, nullptr, ok, d.centerY);
295  d.centerZ = attrs.getOpt<double>(SUMO_ATTR_CENTER_Z, nullptr, ok, d.centerZ);
296  d.width = attrs.getOpt<double>(SUMO_ATTR_WIDTH, nullptr, ok, d.width);
297  d.height = attrs.getOpt<double>(SUMO_ATTR_HEIGHT, nullptr, ok, d.height);
298  d.altitude = StringUtils::toDouble(attrs.getStringSecure("altitude", toString(d.height)));
299  d.rot = StringUtils::toDouble(attrs.getStringSecure("rotation", toString(d.rot)));
300  d.tilt = StringUtils::toDouble(attrs.getStringSecure("tilt", toString(d.tilt)));
301  d.roll = StringUtils::toDouble(attrs.getStringSecure("roll", toString(d.roll)));
302  d.layer = attrs.getOpt<double>(SUMO_ATTR_LAYER, nullptr, ok, d.layer);
304  d.initialised = false;
305  myDecals.push_back(d);
306  }
307  break;
310  d.filename = "light" + attrs.getOpt<std::string>(SUMO_ATTR_INDEX, nullptr, ok, "0");
311  d.centerX = attrs.getOpt<double>(SUMO_ATTR_CENTER_X, nullptr, ok, d.centerX);
312  d.centerY = attrs.getOpt<double>(SUMO_ATTR_CENTER_Y, nullptr, ok, d.centerY);
313  d.centerZ = attrs.getOpt<double>(SUMO_ATTR_CENTER_Z, nullptr, ok, d.centerZ);
314  d.width = attrs.getOpt<double>(SUMO_ATTR_WIDTH, nullptr, ok, d.width);
315  d.height = attrs.getOpt<double>(SUMO_ATTR_HEIGHT, nullptr, ok, d.height);
316  d.altitude = StringUtils::toDouble(attrs.getStringSecure("altitude", toString(d.height)));
317  d.rot = StringUtils::toDouble(attrs.getStringSecure("rotation", toString(d.rot)));
318  d.tilt = StringUtils::toDouble(attrs.getStringSecure("tilt", toString(d.tilt)));
319  d.roll = StringUtils::toDouble(attrs.getStringSecure("roll", toString(d.roll)));
320  d.layer = attrs.getOpt<double>(SUMO_ATTR_LAYER, nullptr, ok, d.layer);
321  d.initialised = false;
322  myDecals.push_back(d);
323  }
324  break;
326  const std::string id = attrs.get<std::string>(SUMO_ATTR_ID, nullptr, ok);
327  const std::string cmd = attrs.get<std::string>(SUMO_ATTR_COMMAND, nullptr, ok);
328  const double prob = attrs.get<double>(SUMO_ATTR_PROB, id.c_str(), ok);
329  myEventDistributions[id].add(cmd, prob);
330  }
331  break;
333  myJamSoundTime = attrs.get<double>(SUMO_ATTR_VALUE, nullptr, ok);
334  break;
335  default:
336  break;
337  }
338 }
339 
340 
343  const std::string& prefix, const SUMOSAXAttributes& attrs,
344  GUIVisualizationTextSettings defaults) {
345  bool ok = true;
347  StringUtils::toBool(attrs.getStringSecure(prefix + "_show", toString(defaults.show))),
348  StringUtils::toDouble(attrs.getStringSecure(prefix + "_size", toString(defaults.size))),
349  RGBColor::parseColorReporting(attrs.getStringSecure(prefix + "_color", toString(defaults.color)), "textSettings", nullptr, true, ok),
350  RGBColor::parseColorReporting(attrs.getStringSecure(prefix + "_bgColor", toString(defaults.bgColor)), "textSettings", nullptr, true, ok),
351  StringUtils::toBool(attrs.getStringSecure(prefix + "_constantSize", toString(defaults.constSize))));
352 }
353 
354 
357  const std::string& prefix, const SUMOSAXAttributes& attrs,
358  GUIVisualizationSizeSettings defaults) {
360  StringUtils::toDouble(attrs.getStringSecure(prefix + "_minSize", toString(defaults.minSize))),
361  StringUtils::toDouble(attrs.getStringSecure(prefix + "_exaggeration", toString(defaults.exaggeration))),
362  StringUtils::toBool(attrs.getStringSecure(prefix + "_constantSize", toString(defaults.constantSize))),
363  StringUtils::toBool(attrs.getStringSecure(prefix + "_constantSizeSelected", toString(defaults.constantSizeSelected))));
364 }
365 
366 
367 std::string
369  if (mySettings.name != "") {
371  if (view) {
372  FXint index = view->getColoringSchemesCombo()->appendItem(mySettings.name.c_str());
373  view->getColoringSchemesCombo()->setCurrentItem(index);
375  }
376  }
377  return mySettings.name;
378 }
379 
380 
381 void
383  if (myLookFrom.z() > 0) {
384  // z value stores zoom so we must convert first
385  Position lookFrom(myLookFrom.x(), myLookFrom.y(), view->getChanger().zoom2ZPos(myLookFrom.z()));
386  view->setViewportFromToRot(lookFrom, myLookAt, myRotation);
387  }
388 }
389 
390 
391 void
393  if (!mySnapshots.empty()) {
394  for (auto item : mySnapshots) {
395  for (auto file : item.second) {
396  view->addSnapshot(item.first, file);
397  }
398  }
399  }
400 }
401 
402 
403 bool
405  return !myDecals.empty();
406 }
407 
408 
409 const std::vector<GUISUMOAbstractView::Decal>&
411  return myDecals;
412 }
413 
414 
415 double
417  return myDelay;
418 }
419 
420 
421 std::vector<SUMOTime>
422 GUISettingsHandler::loadBreakpoints(const std::string& file) {
423  std::vector<SUMOTime> result;
424  std::ifstream strm(file.c_str());
425  while (strm.good()) {
426  std::string val;
427  strm >> val;
428  if (val.length() == 0) {
429  continue;
430  }
431  try {
432  SUMOTime value = string2time(val);
433  result.push_back(value);
434  } catch (NumberFormatException& e) {
435  WRITE_ERROR(" A breakpoint-value must be an int. " + toString(e.what()));
436  } catch (EmptyData&) {
437  } catch (ProcessError&) {
438  WRITE_ERROR(" Could not decode breakpoint '" + val + "'");
439  }
440  }
441  return result;
442 }
443 
444 
448  if (result.getOverallProb() > 0 && result.getOverallProb() < 1) {
449  // unscaled probabilities are assumed, fill up with dummy event
450  result.add("", 1. - result.getOverallProb());
451  }
452  return result;
453 }
454 
455 
456 /****************************************************************************/
457 
GUISUMOAbstractView::Decal::roll
double roll
The roll of the image to the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:326
GUICompleteSchemeStorage.h
SUMO_TAG_SNAPSHOT
@ SUMO_TAG_SNAPSHOT
Definition: SUMOXMLDefinitions.h:260
SUMO_ATTR_TYPE
@ SUMO_ATTR_TYPE
Definition: SUMOXMLDefinitions.h:381
GUIVisualizationSettings::polySize
GUIVisualizationSizeSettings polySize
Definition: GUIVisualizationSettings.h:616
GUIVisualizationSettings::name
std::string name
The name of this setting.
Definition: GUIVisualizationSettings.h:399
RandomDistributor::add
bool add(T val, double prob, bool checkDuplicates=true)
Adds a value with an assigned probability to the distribution.
Definition: RandomDistributor.h:70
GUIVisualizationSettings::edgeColorer
GUIColorer edgeColorer
The mesoscopic edge colorer.
Definition: GUIVisualizationSettings.h:431
SUMO_ATTR_ANGLE
@ SUMO_ATTR_ANGLE
Definition: SUMOXMLDefinitions.h:794
GUIVisualizationSettings::fps
bool fps
Information whether frames-per-second should be drawn.
Definition: GUIVisualizationSettings.h:411
SUMO_ATTR_INTERPOLATED
@ SUMO_ATTR_INTERPOLATED
Definition: SUMOXMLDefinitions.h:824
GUISUMOAbstractView::setViewportFromToRot
virtual void setViewportFromToRot(const Position &lookFrom, const Position &lookAt, double rotation)
applies the given viewport settings
Definition: GUISUMOAbstractView.cpp:1366
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:112
GUIVisualizationSettings::hideConnectors
bool hideConnectors
flag to show or hidde connectors
Definition: GUIVisualizationSettings.h:464
GUIVisualizationSettings::laneShowBorders
bool laneShowBorders
Information whether lane borders shall be drawn.
Definition: GUIVisualizationSettings.h:446
GUIVisualizationSettings::edgeParam
std::string edgeParam
key for coloring by edge parameter
Definition: GUIVisualizationSettings.h:482
SUMO_TAG_SCALINGSCHEME
@ SUMO_TAG_SCALINGSCHEME
Definition: SUMOXMLDefinitions.h:265
GUIPropertySchemeStorage::getSchemeByName
T * getSchemeByName(std::string name)
Definition: GUIPropertySchemeStorage.h:91
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:374
GUIVisualizationSettings::laneMinSize
double laneMinSize
The minimum visual lane width for drawing.
Definition: GUIVisualizationSettings.h:470
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:72
GUIVisualizationSettings::junctionSize
GUIVisualizationSizeSettings junctionSize
Definition: GUIVisualizationSettings.h:578
GUIVisualizationSettings::vehicleValue
GUIVisualizationTextSettings vehicleValue
Definition: GUIVisualizationSettings.h:523
GUIVisualizationSettings::tlsPhaseIndex
GUIVisualizationTextSettings tlsPhaseIndex
Definition: GUIVisualizationSettings.h:569
SUMOSAXHandler
SAX-handler base for SUMO-files.
Definition: SUMOSAXHandler.h:41
SUMO_TAG_VIEWSETTINGS_OPENGL
@ SUMO_TAG_VIEWSETTINGS_OPENGL
Definition: SUMOXMLDefinitions.h:244
GUIVisualizationTextSettings::bgColor
RGBColor bgColor
background text color
Definition: GUIVisualizationSettings.h:77
GUIPropertyScheme::setColor
void setColor(const int pos, const T &color)
Definition: GUIPropertyScheme.h:64
GUISettingsHandler::mySettings
GUIVisualizationSettings mySettings
The settings to fill.
Definition: GUISettingsHandler.h:134
GUIVisualizationSettings::gridYSize
double gridYSize
Definition: GUIVisualizationSettings.h:423
GUISettingsHandler::myLookFrom
Position myLookFrom
The viewport loaded, zoom is stored in z coordinate.
Definition: GUISettingsHandler.h:143
SUMO_ATTR_THRESHOLD
@ SUMO_ATTR_THRESHOLD
Definition: SUMOXMLDefinitions.h:825
SUMO_TAG_VIEWSETTINGS_SCHEME
@ SUMO_TAG_VIEWSETTINGS_SCHEME
Definition: SUMOXMLDefinitions.h:243
Position::z
double z() const
Returns the z-position.
Definition: Position.h:66
GUISUMOAbstractView::setColorScheme
virtual bool setColorScheme(const std::string &)
set color scheme
Definition: GUISUMOAbstractView.cpp:1389
GUISUMOAbstractView::getColoringSchemesCombo
FXComboBox * getColoringSchemesCombo()
get coloring schemes combo
Definition: GUISUMOAbstractView.cpp:1450
GUIVisualizationSettings::drawBoundaries
bool drawBoundaries
enable or disable draw boundaries
Definition: GUIVisualizationSettings.h:638
GUIVisualizationSizeSettings::constantSizeSelected
bool constantSizeSelected
whether only selected objects shall be drawn with constant
Definition: GUIVisualizationSettings.h:112
SUMO_TAG_VIEWSETTINGS
@ SUMO_TAG_VIEWSETTINGS
Definition: SUMOXMLDefinitions.h:240
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:345
GUIVisualizationSettings::containerName
GUIVisualizationTextSettings containerName
Definition: GUIVisualizationSettings.h:558
SUMO_TAG_VIEWSETTINGS_LEGEND
@ SUMO_TAG_VIEWSETTINGS_LEGEND
Definition: SUMOXMLDefinitions.h:254
GUISettingsHandler::~GUISettingsHandler
~GUISettingsHandler()
Destructor.
Definition: GUISettingsHandler.cpp:63
GUIVisualizationSettings::showRouteIndex
bool showRouteIndex
Information whether the route index should be shown.
Definition: GUIVisualizationSettings.h:517
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:492
GUISettingsHandler::getDecals
const std::vector< GUISUMOAbstractView::Decal > & getDecals() const
Returns the parsed decals.
Definition: GUISettingsHandler.cpp:410
MsgHandler.h
GUIVisualizationTextSettings::color
RGBColor color
text color
Definition: GUIVisualizationSettings.h:74
GUIVisualizationSettings::showGrid
bool showGrid
Information whether a grid shall be shown.
Definition: GUIVisualizationSettings.h:420
GUISettingsHandler::mySnapshots
std::map< SUMOTime, std::vector< std::string > > mySnapshots
mappig of time steps to filenames for potential snapshots
Definition: GUISettingsHandler.h:152
SUMOSAXReader
SAX-reader encapsulation containing binary reader.
Definition: SUMOSAXReader.h:55
GUISettingsHandler::myDelay
double myDelay
The delay loaded.
Definition: GUISettingsHandler.h:140
SUMO_TAG_VIEWSETTINGS_POIS
@ SUMO_TAG_VIEWSETTINGS_POIS
Definition: SUMOXMLDefinitions.h:252
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:115
GUISettingsHandler::setSnapshots
void setSnapshots(GUISUMOAbstractView *view) const
Makes a snapshot if it has been parsed.
Definition: GUISettingsHandler.cpp:392
GUISettingsHandler::myEventDistributions
std::map< std::string, RandomDistributor< std::string > > myEventDistributions
The parsed event distributions.
Definition: GUISettingsHandler.h:170
GUISUMOAbstractView::Decal::centerY
double centerY
The center of the image in y-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:312
FileHelpers.h
GUICompleteSchemeStorage::add
void add(const GUIVisualizationSettings &scheme)
Adds a visualization scheme.
Definition: GUICompleteSchemeStorage.cpp:52
GUISUMOAbstractView::Decal::filename
std::string filename
The path to the file the image is located at.
Definition: GUISUMOAbstractView.h:308
SUMOTime
long long int SUMOTime
Definition: SUMOTime.h:34
SUMO_TAG_COLORSCHEME
@ SUMO_TAG_COLORSCHEME
Definition: SUMOXMLDefinitions.h:264
GUIVisualizationSettings::personColorer
GUIColorer personColorer
The person colorer.
Definition: GUIVisualizationSettings.h:532
SUMO_ATTR_COLOR
@ SUMO_ATTR_COLOR
A color information.
Definition: SUMOXMLDefinitions.h:704
GUISUMOAbstractView::addSnapshot
void addSnapshot(SUMOTime time, const std::string &file, const int w=-1, const int h=-1)
Sets the snapshot time to file map.
Definition: GUISUMOAbstractView.cpp:1097
EmptyData
Definition: UtilExceptions.h:68
SUMO_ATTR_ID
@ SUMO_ATTR_ID
Definition: SUMOXMLDefinitions.h:378
GUIVisualizationTextSettings
Definition: GUIVisualizationSettings.h:50
GUISUMOAbstractView::Decal::centerZ
double centerZ
The center of the image in z-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:314
GUIVisualizationSettings.h
SUMO_TAG_NOTHING
@ SUMO_TAG_NOTHING
invalid tag
Definition: SUMOXMLDefinitions.h:43
GUIVisualizationSettings::containerSize
GUIVisualizationSizeSettings containerSize
Definition: GUIVisualizationSettings.h:555
GUIVisualizationSettings::drawLinkJunctionIndex
GUIVisualizationTextSettings drawLinkJunctionIndex
Definition: GUIVisualizationSettings.h:569
GUIVisualizationSettings::vehicleSize
GUIVisualizationSizeSettings vehicleSize
Definition: GUIVisualizationSettings.h:520
GUIVisualizationSettings::showRails
bool showRails
Information whether rails shall be drawn.
Definition: GUIVisualizationSettings.h:458
GUIVisualizationSettings::vehicleColorer
GUIColorer vehicleColorer
The vehicle colorer.
Definition: GUIVisualizationSettings.h:496
SUMO_TAG_VIEWSETTINGS_VEHICLES
@ SUMO_TAG_VIEWSETTINGS_VEHICLES
Definition: SUMOXMLDefinitions.h:247
SUMO_TAG_VIEWPORT
@ SUMO_TAG_VIEWPORT
Definition: SUMOXMLDefinitions.h:259
GUISUMOAbstractView::Decal::height
double height
The height of the image (net coordinates in y-direction, in m)
Definition: GUISUMOAbstractView.h:318
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:63
GUIVisualizationSettings::edgeScaler
GUIScaler edgeScaler
The mesoscopic edge scaler.
Definition: GUIVisualizationSettings.h:434
GUISettingsHandler.h
SUMO_TAG_VIEWSETTINGS_BACKGROUND
@ SUMO_TAG_VIEWSETTINGS_BACKGROUND
Definition: SUMOXMLDefinitions.h:245
GUIVisualizationSettings::polyName
GUIVisualizationTextSettings polyName
Definition: GUIVisualizationSettings.h:619
SUMO_ATTR_FILE
@ SUMO_ATTR_FILE
Definition: SUMOXMLDefinitions.h:664
GUIVisualizationSettings::drawMinGap
bool drawMinGap
Information whether the minimum gap shall be drawn.
Definition: GUIVisualizationSettings.h:508
SUMO_TAG_BREAKPOINT
@ SUMO_TAG_BREAKPOINT
Definition: SUMOXMLDefinitions.h:262
GUIVisualizationSettings::polyColorer
GUIColorer polyColorer
The polygon colorer.
Definition: GUIVisualizationSettings.h:613
RGBColor.h
SUMO_TAG_VIEWSETTINGS_PERSONS
@ SUMO_TAG_VIEWSETTINGS_PERSONS
Definition: SUMOXMLDefinitions.h:248
GUIVisualizationSettings::junctionName
GUIVisualizationTextSettings junctionName
Definition: GUIVisualizationSettings.h:569
SUMO_ATTR_COMMAND
@ SUMO_ATTR_COMMAND
Definition: SUMOXMLDefinitions.h:885
GUIVisualizationSettings::junctionColorer
GUIColorer junctionColorer
The junction colorer.
Definition: GUIVisualizationSettings.h:566
GUISUMOAbstractView::Decal::layer
double layer
The layer of the image.
Definition: GUISUMOAbstractView.h:328
GUIVisualizationSettings::polyType
GUIVisualizationTextSettings polyType
Definition: GUIVisualizationSettings.h:622
GUIVisualizationSettings::drawCrossingsAndWalkingareas
bool drawCrossingsAndWalkingareas
whether crosings and walkingareas shall be drawn
Definition: GUIVisualizationSettings.h:576
NumberFormatException
Definition: UtilExceptions.h:95
RGBColor
Definition: RGBColor.h:39
GUIVisualizationSettings::gridXSize
double gridXSize
Information about the grid spacings.
Definition: GUIVisualizationSettings.h:423
GUIVisualizationSettings::backgroundColor
RGBColor backgroundColor
The background color to use.
Definition: GUIVisualizationSettings.h:417
GUIVisualizationSettings::internalEdgeName
GUIVisualizationTextSettings internalEdgeName
Definition: GUIVisualizationSettings.h:461
GUIVisualizationSettings::addName
GUIVisualizationTextSettings addName
Definition: GUIVisualizationSettings.h:591
GUISUMOAbstractView::Decal::screenRelative
bool screenRelative
Whether this image should be skipped in 2D-views.
Definition: GUISUMOAbstractView.h:334
GUIVisualizationSettings::showBikeMarkings
bool showBikeMarkings
Information whether bicycle lane marking shall be drawn.
Definition: GUIVisualizationSettings.h:449
SUMO_ATTR_PROB
@ SUMO_ATTR_PROB
Definition: SUMOXMLDefinitions.h:629
GUIVisualizationSettings::poiSize
GUIVisualizationSizeSettings poiSize
Definition: GUIVisualizationSettings.h:604
SUMO_ATTR_CENTER_Y
@ SUMO_ATTR_CENTER_Y
Definition: SUMOXMLDefinitions.h:402
GUISettingsHandler::myRotation
double myRotation
View rotation.
Definition: GUISettingsHandler.h:149
SUMO_TAG_VIEWSETTINGS_LIGHT
@ SUMO_TAG_VIEWSETTINGS_LIGHT
Definition: SUMOXMLDefinitions.h:242
GUIVisualizationTextSettings::constSize
bool constSize
@brif flag to avoid size changes
Definition: GUIVisualizationSettings.h:80
GUISettingsHandler::myJamSoundTime
double myJamSoundTime
Definition: GUISettingsHandler.h:171
GUISUMOAbstractView::Decal::rot
double rot
The rotation of the image in the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:322
GUIVisualizationSettings::showLinkDecals
bool showLinkDecals
Information whether link textures (arrows) shall be drawn.
Definition: GUIVisualizationSettings.h:452
GUISUMOAbstractView::Decal::tilt
double tilt
The tilt of the image to the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:324
GUIPerspectiveChanger.h
GUIVisualizationSettings::laneWidthExaggeration
double laneWidthExaggeration
The lane exaggeration (upscale thickness)
Definition: GUIVisualizationSettings.h:467
GUIVisualizationSettings::showColorLegend
bool showColorLegend
Information whether the colo legend shall be drawn.
Definition: GUIVisualizationSettings.h:629
GUIVisualizationSizeSettings
struct for size settings
Definition: GUIVisualizationSettings.h:85
GUIPropertyScheme::clear
void clear()
Definition: GUIPropertyScheme.h:104
GUIVisualizationSettings::laneScaler
GUIScaler laneScaler
The lane scaler.
Definition: GUIVisualizationSettings.h:443
Position::set
void set(double x, double y)
set positions x and y
Definition: Position.h:86
GUIPropertyScheme::isFixed
bool isFixed() const
Definition: GUIPropertyScheme.h:157
GUIVisualizationSizeSettings::constantSize
bool constantSize
whether the object shall be drawn with constant size regardless of zoom
Definition: GUIVisualizationSettings.h:109
GUIVisualizationSettings::vehicleQuality
int vehicleQuality
The quality of vehicle drawing.
Definition: GUIVisualizationSettings.h:499
SUMO_TAG_VIEWSETTINGS_JUNCTIONS
@ SUMO_TAG_VIEWSETTINGS_JUNCTIONS
Definition: SUMOXMLDefinitions.h:250
SUMO_TAG_BREAKPOINTS_FILE
@ SUMO_TAG_BREAKPOINTS_FILE
Definition: SUMOXMLDefinitions.h:261
SUMO_ATTR_WIDTH
@ SUMO_ATTR_WIDTH
Definition: SUMOXMLDefinitions.h:386
GUIVisualizationSettings::showSublanes
bool showSublanes
Whether to show sublane boundaries.
Definition: GUIVisualizationSettings.h:476
SUMO_ATTR_LAYER
@ SUMO_ATTR_LAYER
A layer number.
Definition: SUMOXMLDefinitions.h:712
ProcessError
Definition: UtilExceptions.h:39
GUIVisualizationSettings::vehicleName
GUIVisualizationTextSettings vehicleName
Definition: GUIVisualizationSettings.h:523
Position
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:38
GUIVisualizationSettings::containerQuality
int containerQuality
The quality of container drawing.
Definition: GUIVisualizationSettings.h:552
gSchemeStorage
GUICompleteSchemeStorage gSchemeStorage
Definition: GUICompleteSchemeStorage.cpp:38
Position::x
double x() const
Returns the x-position.
Definition: Position.h:56
GUIPropertyScheme::setInterpolated
void setInterpolated(const bool interpolate, double interpolationStart=0.f)
Definition: GUIPropertyScheme.h:130
GUISettingsHandler::myDecals
std::vector< GUISUMOAbstractView::Decal > myDecals
The decals list to fill.
Definition: GUISettingsHandler.h:155
GUIVisualizationSettings::vehicleTextParam
std::string vehicleTextParam
key for rendering textual parameter
Definition: GUIVisualizationSettings.h:486
GUIVisualizationSettings::dither
bool dither
Information whether dithering shall be enabled.
Definition: GUIVisualizationSettings.h:408
SUMO_ATTR_Y
@ SUMO_ATTR_Y
Definition: SUMOXMLDefinitions.h:399
GUIVisualizationSettings::addFullName
GUIVisualizationTextSettings addFullName
Definition: GUIVisualizationSettings.h:593
GUIVisualizationSettings::drawLinkTLIndex
GUIVisualizationTextSettings drawLinkTLIndex
Definition: GUIVisualizationSettings.h:569
GUISettingsHandler::hasDecals
bool hasDecals() const
Returns whether any decals have been parsed.
Definition: GUISettingsHandler.cpp:404
GUIVisualizationSettings::personSize
GUIVisualizationSizeSettings personSize
Definition: GUIVisualizationSettings.h:538
SUMO_ATTR_CENTER_Z
@ SUMO_ATTR_CENTER_Z
Definition: SUMOXMLDefinitions.h:403
GUISettingsHandler::myCurrentScheme
GUIColorScheme * myCurrentScheme
The current color scheme.
Definition: GUISettingsHandler.h:161
GUISUMOAbstractView::Decal::altitude
double altitude
The altitude of the image (net coordinates in z-direction, in m)
Definition: GUISUMOAbstractView.h:320
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:518
GUISettingsHandler::GUISettingsHandler
GUISettingsHandler(const std::string &content, bool isFile=true, bool netedit=false)
Constructor.
Definition: GUISettingsHandler.cpp:44
SUMO_TAG_ENTRY
@ SUMO_TAG_ENTRY
Definition: SUMOXMLDefinitions.h:266
GUIVisualizationTextSettings::show
bool show
flag show
Definition: GUIVisualizationSettings.h:68
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:256
GUISettingsHandler::applyViewport
void applyViewport(GUISUMOAbstractView *view) const
Sets the viewport which has been parsed.
Definition: GUISettingsHandler.cpp:382
SUMO_TAG_VIEWSETTINGS_EVENT
@ SUMO_TAG_VIEWSETTINGS_EVENT
Definition: SUMOXMLDefinitions.h:255
GUIVisualizationSettings::laneParam
std::string laneParam
Definition: GUIVisualizationSettings.h:482
SUMO_ATTR_TIME
@ SUMO_ATTR_TIME
trigger: the time of the step
Definition: SUMOXMLDefinitions.h:676
string2time
SUMOTime string2time(const std::string &r)
Definition: SUMOTime.cpp:44
GUIVisualizationSettings::internalJunctionName
GUIVisualizationTextSettings internalJunctionName
Definition: GUIVisualizationSettings.h:569
SUMOSAXReader::parseString
void parseString(std::string content)
Definition: SUMOSAXReader.cpp:117
GUIVisualizationSizeSettings::minSize
double minSize
The minimum size to draw this object.
Definition: GUIVisualizationSettings.h:103
RandomDistributor< std::string >
GUIVisualizationSettings::vehicleParam
std::string vehicleParam
key for coloring by vehicle parameter
Definition: GUIVisualizationSettings.h:484
GUIVisualizationSettings::streetName
GUIVisualizationTextSettings streetName
Definition: GUIVisualizationSettings.h:461
SUMO_ATTR_INDEX
@ SUMO_ATTR_INDEX
Definition: SUMOXMLDefinitions.h:804
GUISettingsHandler::myBreakpoints
std::vector< SUMOTime > myBreakpoints
The parsed breakpoints.
Definition: GUISettingsHandler.h:167
SUMO_TAG_VIEWSETTINGS_ADDITIONALS
@ SUMO_TAG_VIEWSETTINGS_ADDITIONALS
Definition: SUMOXMLDefinitions.h:251
GUIVisualizationSettings::vehicleText
GUIVisualizationTextSettings vehicleText
Definition: GUIVisualizationSettings.h:523
GUISettingsHandler::myCurrentColorer
int myCurrentColorer
The last color scheme category (edges or vehicles)
Definition: GUISettingsHandler.h:158
SUMO_TAG_DELAY
@ SUMO_TAG_DELAY
Definition: SUMOXMLDefinitions.h:258
SUMO_ATTR_HEIGHT
@ SUMO_ATTR_HEIGHT
Definition: SUMOXMLDefinitions.h:789
GUIVisualizationSettings::showSizeLegend
bool showSizeLegend
Information whether the size legend shall be drawn.
Definition: GUIVisualizationSettings.h:626
GUIVisualizationSettings::cwaEdgeName
GUIVisualizationTextSettings cwaEdgeName
Definition: GUIVisualizationSettings.h:461
toString
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
Definition: ToString.h:47
StringUtils.h
GUIVisualizationSettings::poiType
GUIVisualizationTextSettings poiType
Definition: GUIVisualizationSettings.h:610
GUIVisualizationSettings::poiName
GUIVisualizationTextSettings poiName
Definition: GUIVisualizationSettings.h:607
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:278
Position::y
double y() const
Returns the y-position.
Definition: Position.h:61
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:90
GUISUMOAbstractView::getChanger
GUIPerspectiveChanger & getChanger() const
get changer
Definition: GUISUMOAbstractView.cpp:175
GUIVisualizationSettings::showLaneDirection
bool showLaneDirection
Whether to show direction indicators for lanes.
Definition: GUIVisualizationSettings.h:473
GUISettingsHandler::parseSizeSettings
GUIVisualizationSizeSettings parseSizeSettings(const std::string &prefix, const SUMOSAXAttributes &attrs, GUIVisualizationSizeSettings defaults)
parse attributes for sizeSettings
Definition: GUISettingsHandler.cpp:356
SUMO_TAG_VIEWSETTINGS_CONTAINERS
@ SUMO_TAG_VIEWSETTINGS_CONTAINERS
Definition: SUMOXMLDefinitions.h:249
GUIVisualizationSettings::addMode
int addMode
The additional structures visualization scheme.
Definition: GUIVisualizationSettings.h:587
GUIVisualizationSettings::showLane2Lane
bool showLane2Lane
Information whether lane-to-lane arrows shall be drawn.
Definition: GUIVisualizationSettings.h:572
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:446
GUIVisualizationSettings::showBlinker
bool showBlinker
Information whether vehicle blinkers shall be drawn.
Definition: GUIVisualizationSettings.h:502
GenericSAXHandler::getFileName
const std::string & getFileName() const
returns the current file name
Definition: GenericSAXHandler.cpp:74
SUMO_ATTR_CENTER_X
@ SUMO_ATTR_CENTER_X
Definition: SUMOXMLDefinitions.h:401
SUMO_ATTR_VALUE
@ SUMO_ATTR_VALUE
Definition: SUMOXMLDefinitions.h:779
GUISettingsHandler::myCurrentScaleScheme
GUIScaleScheme * myCurrentScaleScheme
The current scaling scheme.
Definition: GUISettingsHandler.h:164
GUISettingsHandler::myViewType
std::string myViewType
The view type (osg, opengl, default) loaded.
Definition: GUISettingsHandler.h:137
GUIVisualizationTextSettings::size
double size
text size
Definition: GUIVisualizationSettings.h:71
FileHelpers::isAbsolute
static bool isAbsolute(const std::string &path)
Returns the information whether the given path is absolute.
Definition: FileHelpers.cpp:129
GUIVisualizationSettings::personQuality
int personQuality
The quality of person drawing.
Definition: GUIVisualizationSettings.h:535
GUISUMOAbstractView::Decal::initialised
bool initialised
Whether this image was initialised (inserted as a texture)
Definition: GUISUMOAbstractView.h:330
GUIPropertyScheme::addColor
int addColor(const T &color, const double threshold, const std::string &name="")
Definition: GUIPropertyScheme.h:80
config.h
GUISettingsHandler::myStartElement
void myStartElement(int element, const SUMOSAXAttributes &attrs)
Called on the opening of a tag.
Definition: GUISettingsHandler.cpp:68
GUISettingsHandler::parseTextSettings
GUIVisualizationTextSettings parseTextSettings(const std::string &prefix, const SUMOSAXAttributes &attrs, GUIVisualizationTextSettings defaults)
parse attributes for textSettings
Definition: GUISettingsHandler.cpp:342
GUIVisualizationSettings::addSize
GUIVisualizationSizeSettings addSize
Definition: GUIVisualizationSettings.h:589
GUIVisualizationSettings::personValue
GUIVisualizationTextSettings personValue
Definition: GUIVisualizationSettings.h:541
GUIVisualizationSettings::personName
GUIVisualizationTextSettings personName
Definition: GUIVisualizationSettings.h:541
GUIVisualizationSettings::laneColorer
GUIColorer laneColorer
The lane colorer.
Definition: GUIVisualizationSettings.h:440
GUIVisualizationSettings::containerColorer
GUIColorer containerColorer
The container colorer.
Definition: GUIVisualizationSettings.h:549
GUIVisualizationSettings::showLinkRules
bool showLinkRules
Information whether link rules (colored bars) shall be drawn.
Definition: GUIVisualizationSettings.h:455
GUIVisualizationSettings::spreadSuperposed
bool spreadSuperposed
Whether to improve visualisation of superposed (rail) edges.
Definition: GUIVisualizationSettings.h:479
SUMOSAXReader.h
GUIVisualizationSettings::drawBrakeGap
bool drawBrakeGap
Information whether the brake gap shall be drawn.
Definition: GUIVisualizationSettings.h:511
SUMO_ATTR_ZOOM
@ SUMO_ATTR_ZOOM
Definition: SUMOXMLDefinitions.h:823
SUMO_TAG_VIEWSETTINGS_EVENT_JAM_TIME
@ SUMO_TAG_VIEWSETTINGS_EVENT_JAM_TIME
Definition: SUMOXMLDefinitions.h:256
GUIVisualizationSettings::drawJunctionShape
bool drawJunctionShape
whether the shape of the junction should be drawn
Definition: GUIVisualizationSettings.h:574
SUMO_ATTR_NAME
@ SUMO_ATTR_NAME
Definition: SUMOXMLDefinitions.h:380
GUIVisualizationSettings::poiColorer
GUIColorer poiColorer
The POI colorer.
Definition: GUIVisualizationSettings.h:601
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:100
GUISUMOAbstractView::Decal::width
double width
The width of the image (net coordinates in x-direction, in m)
Definition: GUISUMOAbstractView.h:316
GUISettingsHandler::addSettings
std::string addSettings(GUISUMOAbstractView *view=0) const
Adds the parsed settings to the global list of settings.
Definition: GUISettingsHandler.cpp:368
RandomDistributor::getOverallProb
double getOverallProb() const
Return the sum of the probabilites assigned to the members.
Definition: RandomDistributor.h:133
GUISettingsHandler::getDelay
double getDelay() const
Returns the parsed delay.
Definition: GUISettingsHandler.cpp:416
GUICompleteSchemeStorage::contains
bool contains(const std::string &name) const
Returns the information whether a setting with the given name is stored.
Definition: GUICompleteSchemeStorage.cpp:74
GUIVisualizationSettings::forceDrawForPositionSelection
bool forceDrawForPositionSelection
flag to force draw for position selection (see drawForPositionSelection)
Definition: GUIVisualizationSettings.h:650
SUMOSAXAttributes
Encapsulated SAX-Attributes.
Definition: SUMOSAXAttributes.h:56
GUISUMOAbstractView::Decal::centerX
double centerX
The center of the image in x-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:310
GUIPropertySchemeStorage::setActive
void setActive(int scheme)
Definition: GUIPropertySchemeStorage.h:69
SUMO_ATTR_X
@ SUMO_ATTR_X
Definition: SUMOXMLDefinitions.h:398
GUISUMOAbstractView::Decal
A decal (an image) that can be shown.
Definition: GUISUMOAbstractView.h:303
GUICompleteSchemeStorage::get
GUIVisualizationSettings & get(const std::string &name)
Returns the named scheme.
Definition: GUICompleteSchemeStorage.cpp:62
SUMO_TAG_VIEWSETTINGS_EDGES
@ SUMO_TAG_VIEWSETTINGS_EDGES
Definition: SUMOXMLDefinitions.h:246
WRITE_ERROR
#define WRITE_ERROR(msg)
Definition: MsgHandler.h:283
GUIVisualizationSettings::edgeName
GUIVisualizationTextSettings edgeName
Definition: GUIVisualizationSettings.h:461
GUIVisualizationSettings::edgeValue
GUIVisualizationTextSettings edgeValue
Definition: GUIVisualizationSettings.h:461
GUIVisualizationSettings::forceDrawForRectangleSelection
bool forceDrawForRectangleSelection
flag to force draw for rectangle selection (see drawForRectangleSelection)
Definition: GUIVisualizationSettings.h:653
GUIVisualizationSettings::edgeData
std::string edgeData
key for coloring by edgeData
Definition: GUIVisualizationSettings.h:489
GUISettingsHandler::loadBreakpoints
static std::vector< SUMOTime > loadBreakpoints(const std::string &file)
loads breakpoints from the specified file
Definition: GUISettingsHandler.cpp:422
GUISettingsHandler::myLookAt
Position myLookAt
The point to look at, only needed for osg view.
Definition: GUISettingsHandler.h:146
GUIVisualizationSettings::showBTRange
bool showBTRange
Information whether the communication range shall be drawn.
Definition: GUIVisualizationSettings.h:514
SUMO_TAG_VIEWSETTINGS_POLYS
@ SUMO_TAG_VIEWSETTINGS_POLYS
Definition: SUMOXMLDefinitions.h:253
GenericSAXHandler::setFileName
void setFileName(const std::string &name)
Sets the current file name.
Definition: GenericSAXHandler.cpp:68
XMLSubSys.h
GUIVisualizationSizeSettings::exaggeration
double exaggeration
The size exaggeration (upscale)
Definition: GUIVisualizationSettings.h:106
SUMO_TAG_VIEWSETTINGS_DECAL
@ SUMO_TAG_VIEWSETTINGS_DECAL
Definition: SUMOXMLDefinitions.h:241