Eclipse SUMO - Simulation of Urban MObility
GUIVisualizationSettings.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials are made available under the
5 // terms of the Eclipse Public License 2.0 which is available at
6 // https://www.eclipse.org/legal/epl-2.0/
7 // This Source Code may also be made available under the following Secondary
8 // Licenses when the conditions for such availability set forth in the Eclipse
9 // Public License 2.0 are satisfied: GNU General Public License, version 2
10 // or later which is available at
11 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 /****************************************************************************/
20 // Stores the information about how to visualize structures
21 /****************************************************************************/
22 #pragma once
23 #include <config.h>
24 
25 #include <string>
26 #include <vector>
27 #include <map>
28 #include <utils/common/RGBColor.h>
29 #include <utils/common/ToString.h>
30 
32 
33 
34 // ===========================================================================
35 // class declarations
36 // ===========================================================================
37 class BaseSchemeInfoSource;
38 class OutputDevice;
40 class GUIGlObject;
41 
42 
43 // ===========================================================================
44 // class definitions
45 // ===========================================================================
46 
47 // cannot declare this as inner class because it needs to be used in forward
48 // declaration (@todo fix inclusion order by removing references to guisim!)
50 
52  GUIVisualizationTextSettings(bool _show, double _size, RGBColor _color, RGBColor _bgColor = RGBColor(128, 0, 0, 0), bool _constSize = true, bool _onlySelected = false);
53 
55  bool operator==(const GUIVisualizationTextSettings& other);
56 
58  bool operator!=(const GUIVisualizationTextSettings& other);
59 
61  void print(OutputDevice& dev, const std::string& name) const;
62 
64  double scaledSize(double scale, double constFactor = 0.1) const;
65 
67  bool show(const GUIGlObject* o) const;
68 
70  bool showText;
71 
73  double size;
74 
77 
80 
82  bool constSize;
83 
86 };
87 
88 
90 
92  GUIVisualizationRainbowSettings(bool _hideMin, double _minThreshold, bool _hideMax, double _maxThreshold, bool _setNeutral, double _neutralThreshold, bool _fixRange);
93 
96 
99 
101  void print(OutputDevice& dev, const std::string& name) const;
102 
104  bool hideMin;
106  double minThreshold;
108  bool hideMax;
110  double maxThreshold;
116  bool fixRange;
118  std::vector<RGBColor> colors;
119 };
120 
121 
124 
126  GUIVisualizationSizeSettings(double _minSize, double _exaggeration = 1.0, bool _constantSize = false, bool _constantSizeSelected = false);
127 
129  double getExaggeration(const GUIVisualizationSettings& s, const GUIGlObject* o, double factor = 20) const;
130 
132  bool operator==(const GUIVisualizationSizeSettings& other);
133 
135  bool operator!=(const GUIVisualizationSizeSettings& other);
136 
138  void print(OutputDevice& dev, const std::string& name) const;
139 
141  double minSize;
142 
144  double exaggeration;
145 
148 
151 };
152 
153 
156 
159 
161  bool operator==(const GUIVisualizationColorSettings& other);
162 
164  bool operator!=(const GUIVisualizationColorSettings& other);
165 
168 
171 
174 
177 
180 
183 
186 
189 
192 
195 
198 
201 
204 
207 
210 
213 
216 
219 
222 
225 
228 
231 
234 
237 
240 
243 
246 
249 
252 
255 
258 
261 
264 
267 
270 
273 
276 
279 
282 
284  static const RGBColor editShapeColor;
285 
287  static const RGBColor crossingColor;
288 
291 
294 
295 };
296 
297 
300 
302  static const RGBColor possible;
303 
305  static const RGBColor source;
306 
308  static const RGBColor target;
309 
311  static const RGBColor special;
312 
314  static const RGBColor conflict;
315 
317  static const RGBColor invalid;
318 };
319 
322 
324  static const double junctionBubbleRadius;
325 
327  static const double junctionGeometryPointRadius;
328 
330  static const double edgeGeometryPointRadius;
331 
333  static const double laneGeometryPointRadius;
334 
336  static const double connectionGeometryPointRadius;
337 
339  static const double crossingGeometryPointRadius;
340 
342  static const double polygonGeometryPointRadius;
343 
345  static const double polygonContourWidth;
346 
348  static const double polylineWidth;
349 
351  static const double additionalGeometryPointRadius;
352 };
353 
356 
358  static const double connectionWidth;
359 };
360 
361 
364 
366  static const RGBColor rerouterColor;
367 
369  static const double rerouterSize;
370 
372  static const RGBColor VSSColor;
373 
375  static const double VSSSize;
376 
378  static const RGBColor calibratorColor;
379 
381  static const double calibratorWidth;
382 
384  static const double calibratorHeight;
385 
387  static const RGBColor routeProbeColor;
388 
390  static const double routeProbeSize;
391 
393  static const RGBColor vaporizerColor;
394 
396  static const double vaporizerSize;
397 
399  static const double stopEdgeSize;
400 
402  static const RGBColor connectionColor;
403 
406 
408  static const double tractionSubstationSize;
409 
412 
415 
418 
420  static const double arrowWidth;
421 
423  static const double arrowLength;
424 
426  static const double arrowOffset;
427 
430 };
431 
432 
435 
437  static const RGBColor E1Color;
438 
440  static const double E1Width;
441 
443  static const double E1Height;
444 
446  static const RGBColor E1InstantColor;
447 
449  static const double E1InstantWidth;
450 
452  static const double E1InstantHeight;
453 
455  static const RGBColor E2Color;
456 
458  static const double E2Width;
459 
461  static const double E3Size;
462 
464  static const RGBColor E3EntryColor;
465 
467  static const RGBColor E3ExitColor;
468 
470  static const double E3EntryExitWidth;
471 
473  static const double E3EntryExitHeight;
474 };
475 
476 
480  static const double stoppingPlaceSignOffset;
481 
483  static const double busStopWidth;
484 
486  static const double trainStopWidth;
487 
489  static const double containerStopWidth;
490 
492  static const double chargingStationWidth;
493 
495  static const double symbolExternalRadius;
496 
498  static const double symbolInternalRadius;
499 
501  static const double symbolInternalTextSize;
502 };
503 
504 
507 
509  static const double segmentWidth;
510 
512  static const double segmentWidthSmall;
513 
515  static const double segmentWidthLarge;
516 
518  static const double segmentLength;
519 
522 
525 
527  static const RGBColor firstFrontColor;
528 
531 };
532 
533 
536 
539 
541  bool operator==(const GUIVisualizationWidthSettings& other);
542 
544  bool operator!=(const GUIVisualizationWidthSettings& other);
545 
547  double tripWidth;
548 
551 
553  double walkWidth;
554 
556  double rideWidth;
557 
560 
563 
565  static const double routeWidth;
566 
568  static const double embeddedRouteWidth;
569 };
570 
571 
574 
576  static const double tmp;
577 };
578 
579 
585 
586 public:
587 
588  enum class Detail : int {
589  Level0 = 0,
590  CircleResolution32 = 0, // circle resolution = 32
591  DrawPolygonTesselation = 0, // draw polygons tesselated
592  LaneDetails = 0, // offset, icons, indicators...
593  Text = 0, // draw text (E2, routes...)
594  VehiclePoly = 0, // draw vehicles as polygons
595  JunctionElementDetails = 0, // draw junction elements with high detail (crossings, connections..)
596  LockedIcons = 0, // draw lock icons
597 
598  Level1 = 1,
599  CircleResolution16 = 1, // circle resolution = 16
600  VehicleBox = 1, // vehicles as boxes
601  AdditionalDetails = 1, // stoppingPlace signs, EntryExit arrows...
602  GeometryPoint = 1, // draw geometry points
603  JunctionElement = 1, // crossings, walking area, connections and internal lanes
604  DottedContoursResampled = 1, // resample dotted contours
605  PreciseSelection = 1, // precise selection using boundaries
606 
607  Level2 = 2,
608  CircleResolution8 = 2, // circle resolution = 8
609  DrawPolygonSquare = 2, // draw polygons as squares
610  VehicleTriangle = 2, // draw vehicles as triangles
611  Additionals = 2, // draw additional elements
612  DottedContours = 2, // draw dotted contours
613  GeometryBoxLines = 2, // draw lines instead boxes in GUIGeometry::drawGeometry
614 
615  Level3 = 3,
616  CircleResolution4 = 3, // draw circle resolution as squares
617  TLSIcon = 3, // draw TLS icons
618 
619  Level4 = 4,
620  GeometryBoxSimpleLine = 4, // draw lines with width = 1 instead boxes in GUIGeometry::drawGeometry
621  };
622 
624  GUIVisualizationSettings(const std::string& _name, bool _netedit = false);
625 
627  bool checkDrawJunction(const Boundary& b, const bool selected) const;
628 
630  bool checkDrawAdditional(Detail d, const bool selected) const;
631 
633  bool checkDrawPoly(const Boundary& b, const bool selected) const;
634 
636  bool checkDrawPOI(const double w, const double h, const Detail d, const bool selected) const;
637 
639  bool checkDrawVehicle(Detail d, const bool selected) const;
640 
642  bool checkDrawPerson(Detail d, const bool selected) const;
643 
645  bool checkDrawContainer(Detail d, const bool selected) const;
646 
648  void copy(const GUIVisualizationSettings& s);
649 
651  void initNeteditDefaults();
652  void initSumoGuiDefaults();
653 
657  void save(OutputDevice& dev) const;
658 
662  int getLaneEdgeMode() const;
663 
667  int getLaneEdgeScaleMode() const;
668 
673 
678 
680  bool operator==(const GUIVisualizationSettings& vs2);
681 
683  static const RGBColor& getLinkColor(const LinkState& ls, bool realistic = false);
684 
686  double getTextAngle(double objectAngle) const;
687 
689  bool flippedTextAngle(double objectAngle) const;
690 
692  bool checkBoundarySizeDrawing(const double w, const double h) const;
693 
695  Detail getDetailLevel(const double exaggeration) const;
696 
698  bool drawDetail(const double detail, const double exaggeration) const;
699 
701  bool drawMovingGeometryPoint(const double exaggeration, const double radius) const;
702 
704  std::string name;
705 
707  bool netedit;
708 
710  double angle;
711 
713  bool dither;
714 
716  bool fps;
717 
719  bool trueZ;
720 
723 
726 
728  bool showGrid;
729 
733 
736 
739 
742 
744  static bool UseMesoSim;
745 
748 
751 
754 
757 
760 
763 
766 
768  bool showRails;
769 
770  // Setting bundles for optional drawing names with size and color
772 
775 
778 
780  double laneMinSize;
781 
784 
787 
790 
793 
795  std::string edgeParam, laneParam;
797  std::string vehicleParam;
799  std::string vehicleScaleParam;
801  std::string vehicleTextParam;
802 
804  std::string edgeData;
806  std::string edgeDataID;
808  std::string edgeDataScaling;
809 
813 
816 
819 
822 
825 
828 
831 
834 
837 
840 
843 
846 
849 
852 
855 
856  // Setting bundles for controling the size of the drawn vehicles
858 
859  // Setting bundles for optional drawing vehicle names or color value
861 
863 
864 
867 
870 
873 
874  // Setting bundles for controling the size of the drawn persons
876 
877  // Setting bundles for optional drawing person names
879 
882 
886 
887 
890 
893 
896 
897  // Setting bundles for controling the size of the drawn containers
899 
900  // Setting bundles for optional drawing container names
903 
904 
907 
910 
911  // Setting bundles for optional drawing junction names and indices
913 
920  // Setting bundles for controling the size of the drawn junction
922 
925 
926 
929 
931  // @todo decouple addExageration for POIs, Polygons, Triggers etc
932  int addMode;
933  // Setting bundles for controling the size of additional items
935  // Setting bundles for optional drawing additional names
937  // Setting bundles for optional drawing additional full names
940 
941 
944 
947 
948  // Setting bundles for controling the size of the drawn POIs
950 
953 
954  // Setting bundles for optional drawing poi names
956 
957  // Setting bundles for optional drawing poi types
959 
960  // Setting bundles for optional drawing poi text
962 
964  std::string poiTextParam;
965 
968 
969  // Setting bundles for controling the size of the drawn polygons
971 
972  // Setting bundles for optional drawing polygon names
974 
975  // Setting bundles for optional drawing polygon types
978 
979 
985 
988 
991 
993  std::string relDataAttr;
994 
998 
999 
1004 
1007 
1010 
1013 
1017 
1020 
1022 
1023 
1026 
1029 
1032 
1034  double scale;
1035 
1037  bool gaming;
1038 
1041 
1044 
1047 
1050 
1053 
1056 
1057  // Setting bundles for optional drawing geometry point indices
1059 
1062 
1067  bool lefthand;
1068 
1074 
1076  static const std::string SCHEME_NAME_EDGE_PARAM_NUMERICAL;
1077  static const std::string SCHEME_NAME_LANE_PARAM_NUMERICAL;
1078  static const std::string SCHEME_NAME_PARAM_NUMERICAL;
1079  static const std::string SCHEME_NAME_EDGEDATA_NUMERICAL;
1080  static const std::string SCHEME_NAME_DATA_ATTRIBUTE_NUMERICAL;
1081  static const std::string SCHEME_NAME_SELECTION;
1082  static const std::string SCHEME_NAME_TYPE;
1083  static const std::string SCHEME_NAME_PERMISSION_CODE;
1084  static const std::string SCHEME_NAME_EDGEDATA_LIVE;
1085 
1086  static const double MISSING_DATA;
1088 
1089  static std::map<std::string, std::vector<RGBColor> > RAINBOW_SCHEMES;
1090 
1093 
1096 
1099 
1102 
1105 
1108 
1111 
1114 
1117 
1120 
1122  bool altKeyPressed = false;
1123 
1125  double BoundarySizeDrawing = 15;
1126 
1127 private:
1130 
1133 };
LinkState
The right-of-way state of a link between two lanes used when constructing a NBTrafficLightLogic,...
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:39
Stores the information about how to visualize structures.
GUIVisualizationTextSettings addName
GUIVisualizationTextSettings tlsPhaseIndex
GUIVisualizationTextSettings vehicleName
GUIVisualizationTextSettings junctionName
void initNeteditDefaults()
init default settings
bool operator==(const GUIVisualizationSettings &vs2)
Comparison operator.
RGBColor backgroundColor
The background color to use.
GUIVisualizationSizeSettings vehicleSize
GUIVisualizationSizeSettings containerSize
bool showBlinker
Information whether vehicle blinkers shall be drawn.
GUIVisualizationTextSettings internalEdgeName
bool showPedestrianNetwork
Flag for visualizing the pedestrian network generated for JuPedSim.
RGBColor skyColor
sky background color
GUIVisualizationSizeSettings junctionSize
static const std::string SCHEME_NAME_DATA_ATTRIBUTE_NUMERICAL
bool drawBoundaries
enable or disable draw boundaries
static const std::string SCHEME_NAME_EDGEDATA_NUMERICAL
bool showBikeMarkings
Information whether bicycle lane marking shall be drawn.
std::string edgeDataID
id for coloring by live edgeData
GUIScaler laneScaler
The lane scaler.
GUIVisualizationTextSettings edgeScaleValue
double BoundarySizeDrawing
constant for boundary size drawing (20 for slow computers, 10 for quick computers)
bool dither
Information whether dithering shall be enabled.
GUIColorer vehicleColorer
The vehicle colorer.
GUIVisualizationSettings(const std::string &_name, bool _netedit=false)
constructor
bool disableHideByZoom
disable hide by zoom
static const std::string SCHEME_NAME_EDGEDATA_LIVE
GUIVisualizationTextSettings personValue
bool drawForRectangleSelection
whether drawing is performed for the purpose of selecting objects using a rectangle
GUIVisualizationDetailSettings detailSettings
detail settings
bool showLinkRules
Information whether link rules (colored bars) shall be drawn.
GUIVisualizationTextSettings poiType
GUIVisualizationSizeSettings addSize
bool altKeyPressed
alt key pressed (only used for draw polygons under other elements in SUMO-GUI, store is not needed)
static const std::string SCHEME_NAME_SELECTION
std::string name
The name of this setting.
GUIColorer edgeColorer
The mesoscopic edge colorer.
GUIVisualizationSettings & operator=(const GUIVisualizationSettings &)=default
set assignment operator private
int containerQuality
The quality of container drawing.
bool checkDrawAdditional(Detail d, const bool selected) const
check if draw additionals
RGBColor pedestrianNetworkColor
The color of the pedestrian network generated for JuPedSim.
GUIVisualizationTextSettings internalJunctionName
GUIVisualizationTextSettings vehicleScaleValue
GUIVisualizationSizeSettings poiSize
bool drawJunctionShape
whether the shape of the junction should be drawn
std::string edgeData
key for coloring by edgeData
GUIVisualizationTextSettings geometryIndices
GUIVisualizationTextSettings dataValue
bool disableLaneIcons
whether drawing is performed in left-hand networks
bool show3DTLSDomes
whether the semi-transparent domes around 3D TL models should be drawn
bool flippedTextAngle(double objectAngle) const
return wether the text was flipped for reading at the given angle
bool realisticLinkRules
Information whether link rules (colored bars) shall be drawn with a realistic color scheme.
bool trueZ
drawl all objects according to their z data
int personQuality
The quality of person drawing.
GUIColorer poiColorer
The POI colorer.
GUIVisualizationWidthSettings widthSettings
width settings
GUIVisualizationTextSettings poiName
std::string vehicleScaleParam
key for scaling by vehicle parameter
bool showParkingInfo
Set whether parking related information should be shown.
GUIVisualizationTextSettings vehicleValue
bool disableDottedContours
flag for disable dotted contours in netedit
GUIColorer polyColorer
The polygon colorer.
int vehicleQuality
The quality of vehicle drawing.
GUIVisualizationTextSettings drawLinkJunctionIndex
bool checkDrawPoly(const Boundary &b, const bool selected) const
check if draw polygon
bool gaming
whether the application is in gaming mode or not
bool generate3DTLSModels
whether 3D TLS models should be generated automatically
static const std::string SCHEME_NAME_LANE_PARAM_NUMERICAL
GUIVisualizationTextSettings addFullName
GUIVisualizationTextSettings edgeValue
bool checkDrawVehicle(Detail d, const bool selected) const
check if draw vehicle
bool checkDrawPOI(const double w, const double h, const Detail d, const bool selected) const
check if draw POI
bool fps
Information whether frames-per-second should be drawn.
std::string vehicleParam
key for coloring by vehicle parameter
Detail getDetailLevel(const double exaggeration) const
return the detail level
bool showRails
Information whether rails shall be drawn.
GUIVisualizationCandidateColorSettings candidateColorSettings
candidate color settings
GUIVisualizationSizeSettings personSize
double laneWidthExaggeration
The lane exaggeration (upscale thickness)
GUIVisualizationTextSettings cwaEdgeName
bool lefthand
whether drawing is performed in left-hand networks
GUIVisualizationTextSettings junctionID
std::string vehicleTextParam
key for rendering vehicle textual parameter
bool drawMovingGeometryPoint(const double exaggeration, const double radius) const
check if moving geometry point can be draw
bool showLane2Lane
Information whether lane-to-lane arrows shall be drawn.
GUIVisualizationColorSettings colorSettings
color settings
bool showSublanes
Whether to show sublane boundaries.
GUIVisualizationConnectionSettings connectionSettings
connection settings
GUIVisualizationRainbowSettings edgeValueRainBow
checks and thresholds for rainbow coloring
bool showGrid
Information whether a grid shall be shown.
bool scaleLength
Whether vehicle length shall be scaled with length/geometry factor.
static const std::string SCHEME_NAME_TYPE
bool showVehicleColorLegend
Information whether the vehicle color legend shall be drawn.
double edgeRelWidthExaggeration
The edgeRelation exaggeration (upscale thickness)
bool hideConnectors
flag to show or hide connectors
GUIScaler vehicleScaler
The size scaling settings for vehicles.
static bool UseMesoSim
this should be set at the same time as MSGlobals::gUseMesoSim
GUIColorer personColorer
The person colorer.
void save(OutputDevice &dev) const
Writes the settings into an output device.
bool checkDrawContainer(Detail d, const bool selected) const
check if draw container
GUIVisualizationDottedContourSettings dottedContourSettings
dotted contour settings
GUIScaleScheme & getLaneEdgeScaleScheme()
Returns the current lane (edge) scaling schme.
static const RGBColor & getLinkColor(const LinkState &ls, bool realistic=false)
map from LinkState to color constants
int getLaneEdgeMode() const
Returns the number of the active lane (edge) coloring schme.
bool showChargingInfo
Set whether the charging search related information should be shown.
RGBColor ambient3DLight
3D material light components
GUIVisualizationRainbowSettings junctionValueRainBow
double scale
information about a lane's width (temporary, used for a single view)
bool forceDrawForRectangleSelection
flag to force draw for rectangle selection (see drawForRectangleSelection)
bool netedit
Whether the settings are for Netedit.
bool showLaneDirection
Whether to show direction indicators for lanes.
GUIVisualizationRainbowSettings dataValueRainBow
value below which edgeData and edgeRelation data value should not be rendered
bool secondaryShape
whether secondary lane shape shall be drawn
GUIColorScheme & getLaneEdgeScheme()
Returns the current lane (edge) coloring schme.
bool checkDrawJunction(const Boundary &b, const bool selected) const
check if draw junction
GUIScaler edgeScaler
The mesoscopic edge scaler.
GUIVisualizationStoppingPlaceSettings stoppingPlaceSettings
StoppingPlace settings.
bool drawDetail(const double detail, const double exaggeration) const
check if details can be drawn for the given GUIVisualizationDetailSettings and current scale and exxa...
bool drawMinGap
Information whether the minimum gap shall be drawn.
GUIVisualizationTextSettings streetName
bool drawForViewObjectsHandler
whether drawing is performed for the purpose of selecting objects in view using ViewObjectsHandler
GUIVisualizationTextSettings poiText
GUIVisualizationTextSettings vehicleText
bool checkDrawPerson(Detail d, const bool selected) const
check if draw person
int getLaneEdgeScaleMode() const
Returns the number of the active lane (edge) scaling schme.
bool showLinkDecals
Information whether link textures (arrows) shall be drawn.
bool show3DHeadUpDisplay
whether to draw the head up display items
GUIVisualizationSettings(const GUIVisualizationSettings &)=default
set copy constructor private
GUIColorer laneColorer
The lane colorer.
GUIVisualizationTextSettings polyName
double tazRelWidthExaggeration
The tazRelation exaggeration (upscale thickness)
bool laneShowBorders
Information whether lane borders shall be drawn.
GUIVisualizationTextSettings tlsPhaseName
GUIVisualizationTextSettings edgeName
bool showSizeLegend
Information whether the size legend shall be drawn.
double laneMinSize
The minimum visual lane width for drawing.
GUIVisualizationTextSettings drawLinkTLIndex
GUIVisualizationTextSettings containerName
static std::map< std::string, std::vector< RGBColor > > RAINBOW_SCHEMES
GUIVisualizationSizeSettings polySize
GUIColorer containerColorer
The container colorer.
double gridXSize
Information about the grid spacings.
GUIVisualizationAdditionalSettings additionalSettings
Additional settings.
bool showBTRange
Information whether the communication range shall be drawn.
bool drawReversed
Whether to draw reversed vehicles in their reversed state.
GUIVisualizationTextSettings personName
bool showColorLegend
Information whether the edge color legend shall be drawn.
std::string poiTextParam
key for rendering poi textual parameter
bool showRouteIndex
Information whether the route index should be shown.
bool drawCrossingsAndWalkingareas
whether crosings and walkingareas shall be drawn
static const std::string SCHEME_NAME_EDGE_PARAM_NUMERICAL
scheme names
double selectorFrameScale
the current selection scaling in netedit (set in SelectorFrame)
bool spreadSuperposed
Whether to improve visualisation of superposed (rail) edges.
int addMode
The additional structures visualization scheme.
std::string relDataAttr
key for coloring by edgeRelation / tazRelation attribute
GUIVisualizationDetectorSettings detectorSettings
Detector settings.
GUIColorer junctionColorer
The junction colorer.
void copy(const GUIVisualizationSettings &s)
copy all content from another GUIVisualizationSettings (note: DON'T USE in DrawGL functions!...
static const std::string SCHEME_NAME_PERMISSION_CODE
static const std::string SCHEME_NAME_PARAM_NUMERICAL
std::string edgeParam
key for coloring by edge parameter
bool drawBrakeGap
Information whether the brake gap shall be drawn.
bool checkBoundarySizeDrawing(const double w, const double h) const
check if draw element depending of boundarySize
bool drawLaneChangePreference
Information whether the lane change preference shall be drawn.
double getTextAngle(double objectAngle) const
return an angle that is suitable for reading text aligned with the given angle (degrees)
GUIVisualizationTextSettings polyType
int poiDetail
The detail level for drawing POIs.
GUIVisualizationNeteditSizeSettings neteditSizeSettings
netedit size settings
std::string edgeDataScaling
key for scaling by edgeData
double angle
The current view rotation angle.
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:61
static const double routeProbeSize
RouteProbe size.
static const RGBColor calibratorColor
color for Calibrators
static const double calibratorWidth
Calibrator width.
static const double vaporizerSize
Vaporizer size.
static const double arrowLength
arrow length
static const double rerouterSize
rerouter size
static const double calibratorHeight
Calibrator height.
static const RGBColor VSSColor
color for VSS
static const RGBColor overheadWireColorBot
overhead wire color bot
static const double arrowWidth
arrow width
static const RGBColor connectionColor
connection color
static const RGBColor overheadWireColorTop
overhead wire color top
static const double arrowOffset
arrow offset
static const RGBColor TLSConnectionColor
connection color between E1/junctions and TLS
static const double tractionSubstationSize
tractionSubstation size
static const RGBColor vaporizerColor
color for vaporizers
static const RGBColor overheadWireColorSelected
overhead wire color selected
static const RGBColor rerouterColor
color for rerouters
static const double stopEdgeSize
stopEdges size
static const RGBColor connectionColorSelected
connection color selected
static const RGBColor routeProbeColor
color for route probes
struct for candidate color settings
static const RGBColor special
color for selected special candidate element (Usually selected using shift+click)
static const RGBColor conflict
color for selected conflict candidate element (Usually selected using ctrl+click)
static const RGBColor invalid
color for invalid elements
static const RGBColor target
color for selected candidate target
static const RGBColor possible
color for possible candidate element
static const RGBColor source
color for selected candidate source
RGBColor vehicleTripColor
color for vehicle trips
RGBColor parkingSpaceColorContour
color for parkingSpace contour
RGBColor selectionColor
basic selection color
static const RGBColor childConnectionColor
color for child connections between parents and child elements
RGBColor selectedEdgeColor
edge selection color
RGBColor selectedPersonPlanColor
person plan selection color (Rides, Walks, stopPersons...)
static const RGBColor SUMO_color_DEADEND_SHOW
color for highlighthing deadends
RGBColor stopPersonColor
color for stopPersons
RGBColor selectedCrossingColor
crossings selection color
static const RGBColor crossingPriorityColor
color for priority crossing
RGBColor chargingStationColor
color for chargingStations
RGBColor parkingSpaceColor
color for parkingSpace innen
RGBColor selectedLaneColor
lane selection color
static const RGBColor crossingInvalidColor
color for invalid crossing
RGBColor selectedRouteColor
route selection color (used for routes and vehicle stops)
RGBColor selectedEdgeDataColor
edge data selection color
bool operator==(const GUIVisualizationColorSettings &other)
equality comparator
RGBColor trainStopColorSign
color for trainStops signs
RGBColor transhipColor
color for tranships
RGBColor waypointColor
color for Waypoints
static const RGBColor crossingColor
color for crossings
static const RGBColor editShapeColor
color for edited shapes (Junctions, crossings and connections)
RGBColor containerStopColor
color for containerStops
RGBColor selectedProhibitionColor
prohibition selection color
RGBColor selectedConnectionColor
connection selection color
RGBColor busStopColorSign
color for busStops signs
RGBColor selectedContainerColor
container selection color
RGBColor containerStopColorSign
color for containerStop signs
RGBColor selectedAdditionalColor
additional selection color (busStops, Detectors...)
RGBColor parkingAreaColorSign
color for parkingArea sign
RGBColor transportColor
color for transport
RGBColor busStopColor
color for busStops
bool operator!=(const GUIVisualizationColorSettings &other)
inequality comparator
RGBColor selectedVehicleColor
vehicle selection color
RGBColor chargingStationColorCharge
color for chargingStation during charging
RGBColor parkingAreaColor
color for parkingAreas
RGBColor selectedPersonColor
person selection color
RGBColor selectedContainerPlanColor
container plan selection color (Rides, Walks, containerStops...)
RGBColor personTripColor
color for stopPersons
RGBColor stopContainerColor
color for containerStops
RGBColor trainStopColor
color for trainStops
RGBColor chargingStationColorSign
color for chargingStation sign
static const double connectionWidth
connection width
static const double tmp
draw connections in demand mode
static const double E3EntryExitWidth
E3 Entry/Exit detector width.
static const RGBColor E2Color
color for E2 detectors
static const double E1InstantHeight
E1 Instant detector heights.
static const double E2Width
E2 detector widths.
static const RGBColor E3ExitColor
color for Exits
static const double E3Size
E3 detector size.
static const RGBColor E1Color
color for E1 detectors
static const double E1Width
E1 detector widths.
static const RGBColor E3EntryColor
color for Entrys
static const double E1InstantWidth
E1 Instant detector widths.
static const double E3EntryExitHeight
E3 Entry/Exit detector height.
static const RGBColor E1InstantColor
color for E1 Instant detectors
static const double E1Height
E1 Instant detector heights.
struct for dotted contour settings
static const double segmentWidthSmall
width of small dotted contour segments
static const RGBColor firstFrontColor
first color of dotted front contour
static const RGBColor firstInspectedColor
first color of dotted inspected contour
static const RGBColor secondFrontColor
second color of dotted front contour
static const double segmentWidth
width of dotted contour segments
static const RGBColor secondInspectedColor
second color of dotted inspectedcontour
static const double segmentLength
length of dotted contour segments
static const double segmentWidthLarge
width of large dotted contour segments
static const double crossingGeometryPointRadius
moving crossing geometry point radius
static const double polygonGeometryPointRadius
moving geometry point radius
static const double connectionGeometryPointRadius
moving connection geometry point radius
static const double additionalGeometryPointRadius
moving additional geometry point radius
static const double junctionGeometryPointRadius
moving junction geometry point radius
static const double laneGeometryPointRadius
moving lane geometry point radius
static const double junctionBubbleRadius
junction bubble radius
static const double polygonContourWidth
polygon contour width
static const double polylineWidth
poly line width
static const double edgeGeometryPointRadius
moving edge geometry point radius
bool hideMax
whether data above threshold should not be colored
bool operator==(const GUIVisualizationRainbowSettings &other)
equality comparator
bool setNeutral
whether the scale should be centered at a specific value
bool fixRange
whether the color scale should be fixed to the given min/max values
double minThreshold
threshold below which value should not be colored
void print(OutputDevice &dev, const std::string &name) const
print values in output device
bool operator!=(const GUIVisualizationRainbowSettings &other)
inequality comparator
std::vector< RGBColor > colors
color steps for the rainbow;
GUIVisualizationRainbowSettings(bool _hideMin, double _minThreshold, bool _hideMax, double _maxThreshold, bool _setNeutral, double _neutralThreshold, bool _fixRange)
constructor
bool hideMin
whether data below threshold should not be colored
double neutralThreshold
neutral point of scale
double maxThreshold
threshold above which value should not be colored
bool operator!=(const GUIVisualizationSizeSettings &other)
inequality comparator
double getExaggeration(const GUIVisualizationSettings &s, const GUIGlObject *o, double factor=20) const
return the drawing size including exaggeration and constantSize values
GUIVisualizationSizeSettings(double _minSize, double _exaggeration=1.0, bool _constantSize=false, bool _constantSizeSelected=false)
constructor
double exaggeration
The size exaggeration (upscale)
bool constantSize
whether the object shall be drawn with constant size regardless of zoom
void print(OutputDevice &dev, const std::string &name) const
print values in output device
double minSize
The minimum size to draw this object.
bool operator==(const GUIVisualizationSizeSettings &other)
equality comparator
bool constantSizeSelected
whether only selected objects shall be drawn with constant
struct for stoppingPlace settings
static const double stoppingPlaceSignOffset
busStop offset
static const double symbolInternalRadius
symbol internal radius
static const double chargingStationWidth
chargingStation width
static const double busStopWidth
busStop width
static const double symbolExternalRadius
symbol external radius
static const double symbolInternalTextSize
symbol internal text size
static const double containerStopWidth
containerStop width
static const double trainStopWidth
trainStop width
void print(OutputDevice &dev, const std::string &name) const
print values in output device
bool operator==(const GUIVisualizationTextSettings &other)
equality comparator
bool show(const GUIGlObject *o) const
whether to show the text
RGBColor bgColor
background text color
bool operator!=(const GUIVisualizationTextSettings &other)
inequality comparator
GUIVisualizationTextSettings(bool _show, double _size, RGBColor _color, RGBColor _bgColor=RGBColor(128, 0, 0, 0), bool _constSize=true, bool _onlySelected=false)
constructor
bool onlySelected
whether only selected objects shall have text drawn
double scaledSize(double scale, double constFactor=0.1) const
get scale size
bool constSize
@brif flag to avoid size changes
bool operator!=(const GUIVisualizationWidthSettings &other)
inequality comparator
bool operator==(const GUIVisualizationWidthSettings &other)
equality comparator
double personTripWidth
width for person trips
static const double embeddedRouteWidth
width for embeddedroutes
static const double routeWidth
width for routes