80FXIMPLEMENT(
GUIDialog_ViewSettings, FXDialogBox, GUIDialog_ViewSettingsMap, ARRAYNUMBER(GUIDialog_ViewSettingsMap))
89 myParent(parent), mySettings(settings), myBackup(settings->name, settings->netedit),
90 myDecals(decals), myDecalsLock(decalsLock), myDecalsTable(
nullptr),
91 myDataValuePanel(
nullptr) {
92 myBackup.copy(*settings);
96 buildHeader(contentFrame);
100 buildBackgroundFrame(tabbook);
102 buildStreetsFrame(tabbook);
104 buildVehiclesFrame(tabbook);
106 buildPersonsFrame(tabbook);
108 buildContainersFrame(tabbook);
110 buildJunctionsFrame(tabbook);
112 buildAdditionalsFrame(tabbook);
114 if (mySettings->netedit) {
115 buildDemandFrame(tabbook);
118 buildPOIsFrame(tabbook);
120 buildPolygonsFrame(tabbook);
122 if (mySettings->netedit) {
123 buildSelectionFrame(tabbook);
126 if (mySettings->netedit) {
127 buildDataFrame(tabbook);
130 buildLegendFrame(tabbook);
132 build3DFrame(tabbook);
133 if (mySettings->netedit) {
134 myFrame3D->disable();
137 buildOpenGLFrame(tabbook);
139 buildButtons(contentFrame);
141 rebuildColorMatrices(
false);
225 if (ptr !=
nullptr) {
226 FXString dataS = (
char*) ptr;
229 for (
int i = 0; i <
mySchemeName->getNumItems() - 1; ++i) {
390 std::vector<FXColorWell*>::const_iterator colEnd,
391 std::vector<FXRealSpinner*>::const_iterator threshIt,
392 std::vector<FXRealSpinner*>::const_iterator threshEnd,
393 std::vector<FXButton*>::const_iterator buttonIt,
397 while (colIt != colEnd) {
399 if (sender == *colIt) {
403 if (sender == *threshIt) {
404 const double val = (*threshIt)->getValue();
408 if (sender == *colIt) {
412 if (sender == *buttonIt) {
415 }
else if (sender == *(buttonIt + 1)) {
432 std::vector<FXRealSpinner*>::const_iterator scaleEnd,
433 std::vector<FXRealSpinner*>::const_iterator threshIt,
434 std::vector<FXRealSpinner*>::const_iterator threshEnd,
435 std::vector<FXButton*>::const_iterator buttonIt,
438 while (scaleIt != scaleEnd) {
440 if (sender == *scaleIt) {
441 scheme.
setColor(pos, (*scaleIt)->getValue());
444 if (sender == *threshIt) {
445 const double val = (*threshIt)->getValue();
449 (*threshIt)->getRange(lo, hi);
450 (*threshIt)->setRange(lo, val);
454 if (threshIt != threshEnd) {
455 (*threshIt)->getRange(lo, hi);
456 (*threshIt)->setRange(val, hi);
461 if (sender == *scaleIt) {
462 scheme.
setColor(pos, (*scaleIt)->getValue());
465 if (sender == *buttonIt) {
466 scheme.
addColor((*scaleIt)->getValue(), (*threshIt)->getValue());
468 }
else if (sender == *(buttonIt + 1)) {
496 bool doRebuildColorMatrices =
false;
675 tmpSettings.
fps = (
myFPS->getCheck() != FALSE);
686 const unsigned char lightFactor = (
unsigned char)
myLight3DFactor->getValue();
687 tmpSettings.
ambient3DLight.
set(lightFactor / 2, lightFactor / 2, lightFactor / 2, 255);
696 doRebuildColorMatrices =
true;
699 doRebuildColorMatrices =
true;
703 doRebuildColorMatrices =
true;
709 doRebuildColorMatrices =
true;
713 doRebuildColorMatrices =
true;
716 doRebuildColorMatrices =
true;
723 doRebuildColorMatrices =
true;
727 doRebuildColorMatrices =
true;
730 doRebuildColorMatrices =
true;
737 doRebuildColorMatrices =
true;
741 doRebuildColorMatrices =
true;
744 doRebuildColorMatrices =
true;
751 doRebuildColorMatrices =
true;
755 doRebuildColorMatrices =
true;
758 doRebuildColorMatrices =
true;
765 doRebuildColorMatrices =
true;
769 doRebuildColorMatrices =
true;
772 doRebuildColorMatrices =
true;
779 doRebuildColorMatrices =
true;
783 doRebuildColorMatrices =
true;
786 doRebuildColorMatrices =
true;
793 doRebuildColorMatrices =
true;
797 doRebuildColorMatrices =
true;
800 doRebuildColorMatrices =
true;
807 doRebuildColorMatrices =
true;
811 doRebuildColorMatrices =
true;
814 doRebuildColorMatrices =
true;
821 doRebuildColorMatrices =
true;
825 doRebuildColorMatrices =
true;
828 doRebuildColorMatrices =
true;
836 doRebuildColorMatrices =
true;
840 doRebuildColorMatrices =
true;
843 doRebuildColorMatrices =
true;
878 if (doRebuildColorMatrices) {
883 getApp()->forceRefresh();
891 FXint index =
mySchemeName->appendItem(settingsName.c_str());
915 std::vector<GUISUMOAbstractView::Decal>::iterator j;
962 std::string name =
"";
963 while (name.length() == 0) {
974 if (!dialog.execute()) {
977 name = text->getText().text();
978 for (
int i = 0; i < (int)name.length(); ++i) {
979 if (name[i] !=
'_' && (name[i] <
'a' || name[i] >
'z') && (name[i] <
'A' || name[i] >
'Z') && (name[i] <
'0' || name[i] >
'9')) {
987 tmpSettings.
name = name;
1010 sender->handle(
this,
1012 ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
1024 std::string name =
mySchemeName->getItem(index).text();
1035 sender->handle(
this,
1037 ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
1077 FXMessageBox::error(
this, MBOX_OK,
TL(
"Storing failed!"),
"%s", e.what());
1085 sender->handle(
this,
1088 FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
1096 FXFileDialog opendialog(
this,
TL(
"Import view settings"));
1098 opendialog.setSelectMode(SELECTFILE_ANY);
1099 opendialog.setPatternList(
"*.xml,*.xml.gz");
1103 if (opendialog.execute()) {
1113 FXFileDialog opendialog(
this,
TL(
"Load Decals"));
1115 opendialog.setSelectMode(SELECTFILE_ANY);
1116 opendialog.setPatternList(
"*.xml,*.xml.gz");
1120 if (opendialog.execute()) {
1141 FXMessageBox::error(
myParent, MBOX_OK,
TL(
"Storing failed!"),
"%s", e.what());
1165 sender->handle(
this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr);
1175 const int numRows =
MAX2((
int)10, (
int)
myDecals->size() + 1);
1186 header->setHeight(getApp()->getNormalFont()->getFontHeight() + getApp()->getNormalFont()->getFontAscent());
1188 for (k = 0; k < cols; k++) {
1190 header->setItemSize(k, 60);
1192 header->setItemSize(0, 150);
1197 myDecalsTable->setItemText(row, 1, toString<double>(d.centerX).c_str());
1198 myDecalsTable->setItemText(row, 2, toString<double>(d.centerY).c_str());
1199 myDecalsTable->setItemText(row, 3, toString<double>(d.width).c_str());
1200 myDecalsTable->setItemText(row, 4, toString<double>(d.height).c_str());
1201 myDecalsTable->setItemText(row, 5, toString<double>(d.rot).c_str());
1202 myDecalsTable->setItemText(row, 6, toString<double>(d.layer).c_str());
1203 myDecalsTable->setItemText(row, 7, toString<double>(d.screenRelative).c_str());
1207 for (k = 0; k < 7; k++) {
1215 std::vector<FXColorWell*>& colors,
1216 std::vector<FXRealSpinner*>& thresholds,
1217 std::vector<FXButton*>& buttons,
1218 FXCheckButton* interpolation,
1225 const bool fixed = scheme.
isFixed();
1226 std::vector<RGBColor>::const_iterator colIt = scheme.
getColors().begin();
1227 std::vector<double>::const_iterator threshIt = scheme.
getThresholds().begin();
1228 std::vector<std::string>::const_iterator nameIt = scheme.
getNames().begin();
1229 while (colIt != scheme.
getColors().end()) {
1232 new FXLabel(m, nameIt->c_str());
1237 FXRealSpinner* threshDialer =
new FXRealSpinner(m, 10,
this,
MID_SIMPLE_VIEW_COLORCHANGE, FRAME_THICK | FRAME_SUNKEN | LAYOUT_TOP | LAYOUT_CENTER_Y | SPIN_NOMAX | dialerOptions);
1238 threshDialer->setValue(*threshIt);
1239 thresholds.push_back(threshDialer);
1241 threshDialer->disable();
1242 threshDialer->hide();
1244 buttons.back()->hide();
1246 buttons.back()->disable();
1258 interpolation->disable();
1260 if (colors.size() > 1) {
1261 interpolation->enable();
1262 if (interpolation->getCheck() != FALSE) {
1263 thresholds.front()->enable();
1265 thresholds.front()->disable();
1268 interpolation->disable();
1269 thresholds.front()->disable();
1278 std::vector<FXRealSpinner*>& scales,
1279 std::vector<FXRealSpinner*>& thresholds,
1280 std::vector<FXButton*>& buttons,
1281 FXCheckButton* interpolation,
1288 const bool fixed = scheme.
isFixed();
1289 std::vector<double>::const_iterator scaleIt = scheme.
getColors().begin();
1290 std::vector<double>::const_iterator threshIt = scheme.
getThresholds().begin();
1291 std::vector<std::string>::const_iterator nameIt = scheme.
getNames().begin();
1292 while (scaleIt != scheme.
getColors().end()) {
1293 FXRealSpinner* scaleDialer =
new FXRealSpinner(m, 10,
this,
MID_SIMPLE_VIEW_COLORCHANGE, FRAME_THICK | FRAME_SUNKEN | LAYOUT_TOP | LAYOUT_CENTER_Y | SPIN_NOMAX);
1294 scaleDialer->setValue(*scaleIt);
1295 scales.push_back(scaleDialer);
1297 new FXLabel(m, nameIt->c_str());
1302 FXRealSpinner* threshDialer =
new FXRealSpinner(m, 10,
this,
MID_SIMPLE_VIEW_COLORCHANGE, FRAME_THICK | FRAME_SUNKEN | LAYOUT_TOP | LAYOUT_CENTER_Y | SPIN_NOMAX | dialerOptions);
1303 threshDialer->setValue(*threshIt);
1304 thresholds.push_back(threshDialer);
1314 interpolation->disable();
1316 if (scales.size() > 1) {
1317 interpolation->enable();
1318 if (interpolation->getCheck() != FALSE) {
1319 thresholds.front()->enable();
1321 thresholds.front()->disable();
1324 interpolation->disable();
1325 thresholds.front()->disable();
1342 for (
int i = 1; i <= 5; ++i) {
1534 std::string value = i->
item->getText().text();
1536 if (value.find_first_not_of(
" ") == std::string::npos) {
1542 if (row ==
static_cast<int>(
myDecals->size())) {
1555 }
else if (row >
static_cast<int>(
myDecals->size())) {
1559 d = (*myDecals)[row];
1573 std::string msg =
"The value must be a float, is:" + value;
1574 FXMessageBox::error(
this, MBOX_OK,
TL(
"Number format error"),
"%s", msg.c_str());
1581 std::string msg =
"The value must be a float, is:" + value;
1582 FXMessageBox::error(
this, MBOX_OK,
TL(
"Number format error"),
"%s", msg.c_str());
1589 std::string msg =
"The value must be a float, is:" + value;
1590 FXMessageBox::error(
this, MBOX_OK,
TL(
"Number format error"),
"%s", msg.c_str());
1597 std::string msg =
"The value must be a float, is:" + value;
1598 FXMessageBox::error(
this, MBOX_OK,
TL(
"Number format error"),
"%s", msg.c_str());
1605 std::string msg =
"The value must be a float, is:" + value;
1606 FXMessageBox::error(
this, MBOX_OK,
TL(
"Number format error"),
"%s", msg.c_str());
1613 std::string msg =
"The value must be a float, is:" + value;
1614 FXMessageBox::error(
this, MBOX_OK,
TL(
"Number format error"),
"%s", msg.c_str());
1621 std::string msg =
"The value must be a bool, is:" + value;
1622 FXMessageBox::error(
this, MBOX_OK,
TL(
"Number format error"),
"%s", msg.c_str());
1628 (*myDecals)[row] = d;
1648 for (
int i = 0; i <
mySchemeName->getNumItems(); ++i) {
1660 const std::string& title,
1685 mySizeDial->getValue(),
1688 myConstSizeCheck->getCheck() != FALSE,
1689 mySelectedCheck->getCheck() != FALSE);
1695 myCheck->setCheck(settings.
showText);
1696 mySizeDial->setValue(settings.
size);
1699 myConstSizeCheck->setCheck(settings.
constSize);
1706 myDialogViewSettings(target),
1727 myMinSizeDial->getValue(), myExaggerateDial->getValue(),
1728 myCheck->getCheck() != FALSE,
1729 myCheckSelected->getCheck() != FALSE);
1737 myMinSizeDial->setValue(settings.
minSize);
1747 return myDialogViewSettings->onCmdColorChange(obj, sel, ptr);
1753 getApp()->reg().writeIntEntry(
"VIEWSETTINGS",
"x", getX());
1754 getApp()->reg().writeIntEntry(
"VIEWSETTINGS",
"y", getY());
1755 getApp()->reg().writeIntEntry(
"VIEWSETTINGS",
"width", getWidth());
1756 getApp()->reg().writeIntEntry(
"VIEWSETTINGS",
"height", getHeight());
1762 const FXint minSize = 400;
1763 const FXint minTitlebarHeight = 20;
1764 setX(
MAX2(0,
MIN2(getApp()->reg().readIntEntry(
"VIEWSETTINGS",
"x", 150),
1765 getApp()->getRootWindow()->getWidth() - minSize)));
1766 setY(
MAX2(minTitlebarHeight,
1767 MIN2(getApp()->reg().readIntEntry(
"VIEWSETTINGS",
"y", 150),
1768 getApp()->getRootWindow()->getHeight() - minSize)));
1769 setWidth(
MAX2(getApp()->reg().readIntEntry(
"VIEWSETTINGS",
"width", 700), minSize));
1770 setHeight(
MAX2(getApp()->reg().readIntEntry(
"VIEWSETTINGS",
"height", 500), minSize));
1779 const int index =
mySchemeName->appendItem(name.c_str());
1791 new FXVerticalSeparator(horizontalFrame);
1794 mySaveDelay =
new FXCheckButton(horizontalFrame,
TL(
"Delay"));
1807 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
1815 new FXLabel(verticalFrameDecals,
"Decals:");
1827 new FXLabel(matrixGrid,
"");
1844 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
1864 (BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT), 0, 0, 0, 0, 20, 20, 4, 4);
1945 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2026 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2066 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2105 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2116 (BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT), 0, 0, 0, 0, 20, 20, 4, 4);
2144 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2177 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2224 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2259 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2284 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2321 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2339 (BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT), 0, 0, 0, 0, 20, 20, 4, 4);
2365 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2371 new FXLabel(m72,
"");
2374 new FXLabel(m72,
"");
2377 new FXLabel(m72,
"");
2384 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
2404 (BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT), 0, 0, 0, 0, 20, 20, 4, 4);
2413 FXScrollWindow* scrollWindow =
new FXScrollWindow(tabbook);
@ MID_SIMPLE_VIEW_NAMECHANGE
Informs the dialog about switching to another scheme.
@ MID_SIMPLE_VIEW_CLEAR_DECALS
For the clear-decals - button.
@ MID_SIMPLE_VIEW_SAVE
For the save-to-db - button.
@ MID_SIMPLE_VIEW_IMPORT
For the import-from-file - button.
@ MID_SIMPLE_VIEW_EXPORT
For the export-to-file - button.
@ MID_SIMPLE_VIEW_DELETE
For the delete - button.
@ MID_SETTINGS_OK
Ok-button was pushed.
@ MID_SETTINGS_CANCEL
Cancel-button was pushed.
@ MID_SIMPLE_VIEW_SIZECHANGE
Informs the dialog about a size value's change.
@ MID_SIMPLE_VIEW_LOAD_DECALS
For the load-decals - button.
@ MID_SIMPLE_VIEW_COLORCHANGE
Informs the dialog about a value's change.
@ MID_SIMPLE_VIEW_SAVE_DECALS
For the save-decals - button.
GUICompleteSchemeStorage gSchemeStorage
#define GUIDesignViewSettingsColorWell2
#define GUIDesignViewSettingsMatrix3
#define GUIDesignViewSettingsMainDialog
#define GUIDesignViewSettingsMatrix5
#define GUIDesignComboBoxStatic
Combo box static (not editable)
#define GUIDesignViewSettingsMFXTable
MFX Add/Edit Typed Table.
#define GUIDesignViewSettingsComboBox1
Combo boxs.
#define GUIDesignViewSettingsHorizontalFrame3
#define GUIDesignViewSettingsVerticalFrame6
#define GUIDesignViewSettingsHorizontalFrame2
#define GUIDesignViewSettingsButton2
#define GUIDesignButtonToolbar
little button with icon placed in navigation toolbar
#define GUIDesignViewSettingsMatrix1
Matrix.
#define GUIDesignViewSettingsColorWell1
Color wells.
#define GUIDesignViewSettingsButton4
#define GUIDesignViewSettingsDialog
#define GUIDesignViewSettingsMatrix4
#define GUIDesignViewSettingsSpinDial2
#define GUIDesignViewSettingsButton5
#define GUIDesignViewSettingsHorizontalFrame1
Horizontal frames.
#define GUIDesignViewSettingsSpinDial1
#define GUIDesignViewSettingsVerticalFrame5
#define GUIDesignViewSettingsMatrix2
#define GUIDesignViewSettingsLabel1
Label.
#define GUIDesignViewSettingsTabBook1
Tab books.
#define GUIDesignViewSettingsButton3
#define GUIDesignMatrixViewSettings
FXMatrix used to pack values in Viewsettings.
#define GUIDesignViewSettingsVerticalFrame2
#define GUIDesignViewSettingsVerticalFrame3
#define GUIDesignViewSettingsColorWell
ColorWell.
#define GUIDesignViewSettingsMFXTableJustify
#define GUIDesignHorizontalSeparator
#define GUIDesignViewSettingsVerticalFrame4
#define GUIDesignViewSettingsTabItemBook1
#define GUIDesignViewSettingsVerticalFrame1
vertical frames
#define GUIDesignViewSettingsLabel2
#define GUIDesignViewSettingsTextField1
textFields
#define GUIDesignCheckButtonViewSettings
CheckButton for Frames without thick extended over the frame.
#define GUIDesignViewSettingsButton1
Buttons.
FXDEFMAP(GUIDialog_ViewSettings::SizePanel) GUIDialog_SizeMap[]
@ GLO_TAZRELDATA
TAZ relation data.
@ GLO_CONTAINER
a container
@ GLO_ADDITIONALELEMENT
reserved GLO type for packing all additionals elements
GUIPostDrawing gPostDrawing
FXString gCurrentFolder
The folder used as last.
std::string time2string(SUMOTime t)
convert SUMOTime to string
@ SUMO_TAG_VIEWSETTINGS_DECAL
@ SUMO_TAG_VIEWSETTINGS_LIGHT
@ SUMO_ATTR_LAYER
A layer number.
@ SUMO_ATTR_TIME
trigger: the time of the step
#define UNUSED_PARAMETER(x)
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
bool contains(const std::string &name) const
Returns the information whether a setting with the given name is stored.
GUIVisualizationSettings & get(const std::string &name)
Returns the named scheme.
const std::vector< std::string > & getNames() const
Returns a list of stored settings names.
void add(const GUIVisualizationSettings &scheme)
Adds a visualization scheme.
int getNumInitialSettings() const
Returns the number of initial settings.
void remove(const std::string &name)
Removes the setting with the given name.
void writeSettings(FXApp *app)
Writes the current scheme into the registry.
void writeXML(OutputDevice &dev)
write the settings to the given device
GUIVisualizationTextSettings getSettings()
get settings
FXRealSpinner * mySizeDial
size dial
FXColorWell * myBGColorWell
BGColor well.
void update(const GUIVisualizationTextSettings &settings)
update
FXMatrix * myMatrix0
Matrix.
FXCheckButton * myCheck
check button
FXCheckButton * myConstSizeCheck
const size check
FXColorWell * myColorWell
color well
NamePanel(FXMatrix *parent, GUIDialog_ViewSettings *target, const std::string &title, const GUIVisualizationTextSettings &settings)
constructor
FXCheckButton * mySelectedCheck
draw only for selected?
FXCheckButton * myCheckSelected
check selected button
FXCheckButton * myCheck
check button
long onCmdSizeChange(FXObject *obj, FXSelector sel, void *ptr)
FXRealSpinner * myMinSizeDial
min size dial
void update(const GUIVisualizationSizeSettings &settings)
update
GUIVisualizationSizeSettings getSettings()
get settings
SizePanel(FXMatrix *parent, GUIDialog_ViewSettings *target, const GUIVisualizationSizeSettings &settings, GUIGlObjectType type)
FOX Declaration.
FXRealSpinner * myExaggerateDial
exaggerate dial
The dialog to change the view (gui) settings.
NamePanel * myVehicleNamePanel
FXCheckButton * myShowParkingInfo
long onCmdExportSetting(FXObject *, FXSelector, void *data)
Called if the settings shall be exported into a file.
FXVerticalFrame * myVehicleColorSettingFrame
FXColorWell * myStopColor
FXColorWell * mySelectedPersonPlanColor
void buildBackgroundFrame(FXTabBook *tabbook)
build frames
FXCheckButton * myDataColorRainbowCheck
FXCheckButton * myVehicleColorInterpolation
std::string getCurrentScheme() const
Returns the name of the currently chosen scheme.
FXButton * myDataColorRainbow
FXVerticalFrame * myDataColorSettingFrame
NamePanel * myVehicleScaleValuePanel
FXColorWell * myChargingStationColor
NamePanel * myPolyTypePanel
NamePanel * myJunctionIndexPanel
GUISUMOAbstractView * myParent
The parent view (which settings are changed)
FXMutex * myDecalsLock
Lock used when changing the decals.
FXColorWell * myTransportColor
FXCheckButton * myShowBTRange
std::vector< FXColorWell * > myPolyColors
FXVerticalFrame * myJunctionColorSettingFrame
void buildSelectionFrame(FXTabBook *tabbook)
void buildOpenGLFrame(FXTabBook *tabbook)
long onCmdNameChange(FXObject *, FXSelector, void *)
Called if the name of the scheme was changed.
FXVerticalFrame * myContainerColorSettingFrame
FXRealSpinner * myLaneWidthUpscaleDialer
MFXIconComboBox * myPersonShapeDetail
std::vector< FXColorWell * > myPOIColors
FXCheckButton * mySaveDelay
FXColorWell * myBusStopColor
additional colors
FXTabItem * myFrame3D
Frame3D.
FXButton * myLaneColorRainbow
MFXIconComboBox * myPOIColorMode
POIs.
std::vector< FXButton * > myLaneScaleButtons
NamePanel * myPersonNamePanel
FXColorWell * mySelectedCrossingColor
MFXIconComboBox * myDataColorMode
Data.
NamePanel * myJunctionIDPanel
FXRealSpinner * myTranshipWidth
long onCmdSaveDecals(FXObject *, FXSelector, void *data)
Called if the decals shall be saved to a file.
FXCheckButton * myShowSizeLegend
std::vector< FXColorWell * > myPersonColors
std::vector< FXButton * > myDataButtons
std::vector< FXRealSpinner * > myVehicleScales
std::vector< FXRealSpinner * > myPolyThresholds
FXCheckButton * myPOIColorInterpolation
std::vector< GUISUMOAbstractView::Decal > * myDecals
The parent's decals.
std::vector< FXButton * > myContainerButtons
std::vector< FXRealSpinner * > myJunctionThresholds
MFXIconComboBox * myVehicleShapeDetail
NamePanel * myGeometryIndicesPanel
FXCheckButton * myVehicleScaleInterpolation
FXMatrix * rebuildColorMatrix(FXVerticalFrame *frame, std::vector< FXColorWell * > &colors, std::vector< FXRealSpinner * > &thresholds, std::vector< FXButton * > &buttons, FXCheckButton *interpolation, GUIColorScheme &scheme)
Rebuilds manipulators for the current coloring scheme.
void buildJunctionsFrame(FXTabBook *tabbook)
std::vector< FXRealSpinner * > myPersonThresholds
NamePanel * myCwaEdgeNamePanel
FXCheckButton * myRealisticLinkRules
FXComboBox * myMeanDataID
FXRealSpinner * myLaneColorRainbowThreshold2
FXCheckButton * myShowBrakeGap
FXButton * myJunctionColorRainbow
NamePanel * myAddNamePanel
void show()
show view settings dialog
std::vector< FXButton * > myJunctionButtons
FXColorWell * mySelectedPersonColor
FXColorWell * myPersonTripColor
MFXIconComboBox * myContainerColorMode
Containers.
FXCheckButton * myShowGrid
NamePanel * myContainerNamePanel
FXColorWell * mySelectedProhibitionColor
FXCheckButton * myGenerate3DTLSModels
FXCheckButton * myShowVehicleColorLegend
void buildStreetsFrame(FXTabBook *tabbook)
FXColorWell * myTrainStopColorSign
FXRealSpinner * myTripWidth
demand widths
FXCheckButton * myDrawBoundaries
FXCheckButton * mySaveViewPort
load/save-menu
FXSpinner * myLight3DFactor
SizePanel * myAddSizePanel
void buildVehiclesFrame(FXTabBook *tabbook)
MFXIconComboBox * myLaneEdgeColorMode
... lane colorer
FXComboBox * mySchemeName
FXCheckButton * myLaneColorRainbowCheck
NamePanel * myStreetNamePanel
SizePanel * myPolySizePanel
MFXIconComboBox * myContainerShapeDetail
FXRealSpinner * myTransportWidth
FXCheckButton * myShow3DTLSDomes
void rebuildDecalsTable()
Rebuilds the decals table.
std::vector< FXColorWell * > myJunctionColors
FXRealSpinner * myLaneMinWidthDialer
FXCheckButton * myShowRails
FXCheckButton * myShowLaneDecals
void saveWindowSize()
save window position and size to the registry
FXColorWell * myContainerStopColor
FXCheckButton * myShowSublanes
FXCheckButton * myPersonColorInterpolation
FXCheckButton * mySaveDecals
~GUIDialog_ViewSettings()
Destructor.
FXColorWell * mySelectionColor
selection colors
FXVerticalFrame * myLaneScaleSettingFrame
FXCheckButton * myHideMacroConnectors
NamePanel * myPOITypePanel
std::vector< FXColorWell * > myVehicleColors
NamePanel * myEdgeValuePanel
FXCheckButton * myShowRouteIndex
long onCmdLoadDecals(FXObject *, FXSelector, void *data)
Called if the decals shall be loaded from a file.
FXMatrix * rebuildScaleMatrix(FXVerticalFrame *frame, std::vector< FXRealSpinner * > &scales, std::vector< FXRealSpinner * > &thresholds, std::vector< FXButton * > &buttons, FXCheckButton *interpolation, GUIScaleScheme &scheme)
Rebuilds manipulators for the current scaling scheme.
MFXIconComboBox * myLaneEdgeScaleMode
... lane scaler
std::vector< FXRealSpinner * > myVehicleThresholds
void setCurrentScheme(const std::string &)
Sets the named scheme as the current.
FXRealSpinner * myWalkWidth
FXCheckButton * myPolyColorInterpolation
std::vector< FXButton * > myPersonButtons
FXColorWell * mySelectedEdgeColor
FXCheckButton * myShowMinGap
FXCheckButton * mySpreadSuperposed
NamePanel * myInternalJunctionNamePanel
FXCheckButton * myShowLaneDirection
void loadWindowSize()
load window position and size from the registry
NamePanel * myPOITextPanel
FXCheckButton * myJunctionColorInterpolation
FXRealSpinner * myTazRelationUpscaleDialer
void buildHeader(FXVerticalFrame *contentFrame)
build header
long onCmdCancel(FXObject *, FXSelector, void *)
Called if the Cancel-button was pressed.
FXColorWell * mySelectedVehicleColor
MFXAddEditTypedTable * myDecalsTable
FXColorWell * mySelectedConnectionColor
FXVerticalFrame * myLaneColorSettingFrame
FXCheckButton * myShowColorLegend
FXCheckButton * myLaneScaleInterpolation
FXColorWell * myBusStopColorSign
FXColorWell * myWalkColor
void buildDemandFrame(FXTabBook *tabbook)
FXCheckButton * myForceDrawForPositionSelection
NamePanel * myPersonValuePanel
long onCmdImportSetting(FXObject *, FXSelector, void *data)
Called if the settings shall be read from a file.
FXComboBox * myDataParamKey
FXColorWell * myVehicleTripsColor
MFXIconComboBox * myJunctionColorMode
junctions
SizePanel * myPersonSizePanel
FXColorWell * mySelectedRouteColor
FXVerticalFrame * myVehicleScaleSettingFrame
SizePanel * myPOISizePanel
FXComboBox * myVehicleParamKey
FXComboBox * myVehicleTextParamKey
NamePanel * myJunctionNamePanel
long onUpdImportSetting(FXObject *, FXSelector, void *data)
Called when updating the button that allows to read settings from a file.
void setCurrent(GUIVisualizationSettings *settings)
Sets current settings (called if reopened)
FXCheckButton * myShowBikeMarkings
FXCheckButton * myShowLinkRules
FXColorWell * mySelectedAdditionalColor
void rebuildColorMatrices(bool doCreate=false)
Rebuilds color changing dialogs after choosing another coloring scheme.
NamePanel * myDataValuePanel
void saveDecals(OutputDevice &dev) const
Writes the currently used decals into a file.
FXVerticalFrame * myPolyColorSettingFrame
std::vector< FXRealSpinner * > myLaneScales
NamePanel * myTLSPhaseNamePanel
void loadSettings(const std::string &file)
Loads a scheme from a file.
FXCheckButton * mySaveBreakpoints
FXVerticalFrame * myDecalsFrame
long onCmdClearDecals(FXObject *, FXSelector, void *data)
Called if the decals shall be cleared.
std::vector< FXRealSpinner * > myDataThresholds
FXCheckButton * myDataColorInterpolation
MFXIconComboBox * myPersonColorMode
Persons.
FXCheckButton * myDrawCrossingsAndWalkingAreas
std::vector< FXButton * > myLaneButtons
FXCheckButton * myLaneColorInterpolation
FXVerticalFrame * myPersonColorSettingFrame
void buildContainersFrame(FXTabBook *tabbook)
NamePanel * myTLSPhaseIndexPanel
NamePanel * myInternalEdgeNamePanel
void buildLegendFrame(FXTabBook *tabbook)
FXButton * myRecalculateBoundaries
FXColorWell * myStopPersonsColor
FXCheckButton * myScaleLength
std::vector< FXRealSpinner * > myVehicleScaleThresholds
NamePanel * myPOINamePanel
NamePanel * myTLIndexPanel
FXCheckButton * myContainerColorInterpolation
std::vector< FXColorWell * > myLaneColors
SizePanel * myVehicleSizePanel
size panels
GUIVisualizationSettings * mySettings
The current settings.
long onCmdDeleteSetting(FXObject *, FXSelector, void *data)
Called if the settings shall be deleted.
FXColorWell * myStopContainersColor
void loadDecals(const std::string &file)
Loads decals from a file.
FXComboBox * myPOITextParamKey
FXVerticalFrame * myPOIColorSettingFrame
long onCmdColorChange(FXObject *, FXSelector, void *)
Called if something (color, width, etc.) has been changed.
std::vector< FXColorWell * > myContainerColors
FXCheckButton * myForceDrawForRectangleSelection
FXRealSpinner * myPersonTripWidth
FXColorWell * myRideColor
std::vector< FXRealSpinner * > myLaneScaleThresholds
FXRealSpinner * myLaneColorRainbowThreshold
FXCheckButton * myDither
openGL
GUIVisualizationSettings myBackup
A backup of the settings (used if the "Cancel" button is pressed)
std::vector< FXRealSpinner * > myContainerThresholds
void buildPersonsFrame(FXTabBook *tabbook)
FXRealSpinner * myGridYSizeDialer
FXCheckButton * myShow3DTLSLinkMarkers
3D
void updatePOIParams()
reload known POI parameters
FXColorWell * myTrainStopColor
FXRealSpinner * myRideWidth
FXCheckButton * myShowLane2Lane
buttons
FXRealSpinner * myGridXSizeDialer
std::vector< FXColorWell * > myDataColors
long onCmdEditTable(FXObject *, FXSelector, void *data)
Called if the decals-table was changed.
long onCmdOk(FXObject *, FXSelector, void *)
Called if the OK-button was pressed.
long onCmdSaveSetting(FXObject *, FXSelector, void *data)
Called if the settings shall be saved into the registry.
FXCheckButton * myShowBlinker
void buildAdditionalsFrame(FXTabBook *tabbook)
void buildPOIsFrame(FXTabBook *tabbook)
void buildPolygonsFrame(FXTabBook *tabbook)
void buildDataFrame(FXTabBook *tabbook)
long onUpdSaveSetting(FXObject *, FXSelector, void *data)
Called when updating the button that allows to save the settings into the registry.
void buildButtons(FXVerticalFrame *contentFrame)
build buttons
FXColorWell * mySelectedLaneColor
SizePanel * myJunctionSizePanel
MFXIconComboBox * myVehicleScaleMode
vehicle scaler
std::vector< FXButton * > myVehicleScaleButtons
SizePanel * myContainerSizePanel
NamePanel * myAddFullNamePanel
FXColorWell * myBackgroundColor
bool updateColorRanges(FXObject *sender, std::vector< FXColorWell * >::const_iterator colIt, std::vector< FXColorWell * >::const_iterator colEnd, std::vector< FXRealSpinner * >::const_iterator threshIt, std::vector< FXRealSpinner * >::const_iterator threshEnd, std::vector< FXButton * >::const_iterator buttonIt, GUIColorScheme &scheme)
update color ranges
std::vector< FXRealSpinner * > myLaneThresholds
FXColorWell * myWaypointColor
long onUpdDeleteSetting(FXObject *, FXSelector, void *data)
Called when updating the button that allows to delete settings.
bool updateScaleRanges(FXObject *sender, std::vector< FXRealSpinner * >::const_iterator colIt, std::vector< FXRealSpinner * >::const_iterator colEnd, std::vector< FXRealSpinner * >::const_iterator threshIt, std::vector< FXRealSpinner * >::const_iterator threshEnd, std::vector< FXButton * >::const_iterator buttonIt, GUIScaleScheme &scheme)
update scale ranges
NamePanel * myVehicleTextPanel
NamePanel * myVehicleValuePanel
void build3DFrame(FXTabBook *tabbook)
long onUpdExportSetting(FXObject *, FXSelector, void *data)
Called when updating the button that allows to export settings into a file.
std::vector< FXButton * > myPOIButtons
MFXIconComboBox * myVehicleColorMode
Vehicles.
FXRealSpinner * myDataColorRainbowThreshold
MFXIconComboBox * myPolyColorMode
Polygons.
FXCheckButton * myLaneColorRainbowCheck2
FXColorWell * myChargingStationColorSign
NamePanel * myEdgeNamePanel
name panels
FXColorWell * myContainerStopColorSign
FXColorWell * mySelectedEdgeDataColor
FXRealSpinner * myEdgeRelationUpscaleDialer
FXCheckButton * myShowLaneBorders
NamePanel * myPolyNamePanel
void updateVehicleParams()
reload known vehicle parameters
std::vector< FXRealSpinner * > myPOIThresholds
std::vector< FXButton * > myPolyButtons
FXCheckButton * myDrawJunctionShape
std::vector< FXButton * > myVehicleButtons
FXColorWell * myTranshipColor
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
GUIGlObjectType recomputeBoundaries
recompute boundaries
const std::vector< double > & getThresholds() const
void setColor(const int pos, const T &color)
void setThreshold(const int pos, const double threshold)
const std::vector< std::string > & getNames() const
void removeColor(const int pos)
const std::string & getName() const
const std::vector< T > & getColors() const
int addColor(const T &color, const double threshold, const std::string &name="")
void setInterpolated(const bool interpolate, double interpolationStart=0.f)
bool isInterpolated() const
bool allowsNegativeValues() const
void fill(MFXIconComboBox &cb)
Fills the given combobox with the names of available colorings.
void setActive(int scheme)
virtual std::vector< std::string > getMeanDataAttrs(const std::string &meanDataID) const
return list of available attributes for the given meanData id
void setDelay(double delay)
Sets the delay of the parent application.
GUIDialog_EditViewport * getViewportEditor()
get the viewport and create it on first access
double getGridWidth() const
get grid width
double getDelay() const
Returns the delay of the parent application.
virtual std::vector< std::string > getEdgeLaneParamKeys(bool) const
return list of available edge parameters
virtual void buildColorRainbow(const GUIVisualizationSettings &, GUIColorScheme &, int, GUIGlObjectType, bool hide=false, double hideThreshold=0, bool hide2=false, double hideThreshold2=0)
recalibrate color scheme according to the current value range
virtual std::vector< std::string > getVehicleParamKeys(bool) const
return list of available vehicle parameters
virtual std::vector< std::string > getMeanDataIDs() const
return list of loaded edgeData ids (being computed in the current simulation)
virtual void recalculateBoundaries()=0
recalculate boundaries
double getGridHeight() const
get grid height
virtual bool is3DView() const
return whether this is a 3D view
virtual std::vector< std::string > getPOIParamKeys() const
return list of available vehicle parameters
void setBreakpoints(const std::vector< SUMOTime > &breakpoints)
Sets the breakpoints of the parent application.
FXComboBox * getColoringSchemesCombo()
get coloring schemes combo
virtual bool setColorScheme(const std::string &)
set color scheme
virtual std::vector< std::string > getRelDataAttrs() const
return list of loaded edgeRelation and tazRelation attributes
virtual const std::vector< SUMOTime > retrieveBreakpoints() const
retrieve breakpoints if provided by the application
void remove(GUIDialog_EditViewport *)
remove viewport
virtual std::vector< std::string > getEdgeDataAttrs() const
return list of loaded edgeData attributes
An XML-handler for visualisation schemes.
double getDelay() const
Returns the parsed delay.
bool hasDecals() const
Returns whether any decals have been parsed.
const std::vector< std::string > & addSettings(GUISUMOAbstractView *view=0) const
Adds the parsed settings to the global list of settings.
void applyViewport(GUISUMOAbstractView *view) const
Sets the viewport which has been parsed.
const std::vector< SUMOTime > & getBreakpoints() const
Returns the parsed breakpoints.
const std::vector< GUISUMOAbstractView::Decal > & getDecals() const
Returns the parsed decals.
Stores the information about how to visualize structures.
GUIVisualizationTextSettings addName
GUIVisualizationTextSettings tlsPhaseIndex
GUIVisualizationTextSettings vehicleName
GUIVisualizationTextSettings junctionName
RGBColor backgroundColor
The background color to use.
GUIVisualizationSizeSettings vehicleSize
GUIVisualizationSizeSettings containerSize
bool showBlinker
Information whether vehicle blinkers shall be drawn.
GUIVisualizationTextSettings internalEdgeName
RGBColor skyColor
sky background color
GUIVisualizationSizeSettings junctionSize
static const std::string SCHEME_NAME_DATA_ATTRIBUTE_NUMERICAL
static const double MISSING_DATA
bool drawBoundaries
enable or disable draw boundaries
bool dataValueHideCheck
value below which relation data value should not be rendered
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.
bool dither
Information whether dithering shall be enabled.
GUIColorer vehicleColorer
The vehicle colorer.
static const std::string SCHEME_NAME_EDGEDATA_LIVE
GUIVisualizationTextSettings personValue
bool showLinkRules
Information whether link rules (colored bars) shall be drawn.
GUIVisualizationTextSettings poiType
GUIVisualizationSizeSettings addSize
std::string name
The name of this setting.
GUIColorer edgeColorer
The mesoscopic edge colorer.
double edgeValueHideThreshold
int containerQuality
The quality of container drawing.
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 show3DTLSDomes
whether the semi-transparent domes around 3D TL models should be drawn
bool realisticLinkRules
Information whether link rules (colored bars) shall be drawn with a realistic color scheme.
int personQuality
The quality of person drawing.
GUIColorer poiColorer
The POI colorer.
GUIVisualizationWidthSettings widthSettings
width settings
GUIVisualizationTextSettings poiName
bool showParkingInfo
Set whether parking related information should be shown.
GUIVisualizationTextSettings vehicleValue
GUIColorer polyColorer
The polygon colorer.
int vehicleQuality
The quality of vehicle drawing.
GUIVisualizationTextSettings drawLinkJunctionIndex
bool generate3DTLSModels
whether 3D TLS models should be generated automatically
static const std::string SCHEME_NAME_LANE_PARAM_NUMERICAL
GUIVisualizationTextSettings addFullName
GUIVisualizationTextSettings edgeValue
bool fps
Information whether frames-per-second should be drawn.
bool edgeValueHideCheck2
threshold above which edge data value should not be rendered
std::string vehicleParam
key for coloring by vehicle parameter
bool showRails
Information whether rails shall be drawn.
GUIVisualizationSizeSettings personSize
double laneWidthExaggeration
The lane exaggeration (upscale thickness)
GUIVisualizationTextSettings cwaEdgeName
GUIVisualizationTextSettings junctionID
std::string vehicleTextParam
key for rendering vehicle textual parameter
bool showLane2Lane
Information whether lane-to-lane arrows shall be drawn.
GUIVisualizationColorSettings colorSettings
color settings
bool showSublanes
Whether to show sublane boundaries.
bool showGrid
Information whether a grid shall be shown.
bool scaleLength
Whether vehicle length shall be scaled with length/geometry factor.
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 show3DTLSLinkMarkers
GUIScaleScheme & getLaneEdgeScaleScheme()
Returns the current lane (edge) scaling schme.
int getLaneEdgeMode() const
Returns the number of the active lane (edge) coloring schme.
RGBColor ambient3DLight
3D material light components
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.
bool edgeValueHideCheck
threshold below which edge data value should not be rendered
GUIColorScheme & getLaneEdgeScheme()
Returns the current lane (edge) coloring schme.
GUIScaler edgeScaler
The mesoscopic edge scaler.
bool drawMinGap
Information whether the minimum gap shall be drawn.
GUIVisualizationTextSettings streetName
GUIVisualizationTextSettings poiText
GUIVisualizationTextSettings vehicleText
int getLaneEdgeScaleMode() const
Returns the number of the active lane (edge) scaling schme.
bool showLinkDecals
Information whether link textures (arrows) shall be drawn.
double edgeValueHideThreshold2
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
GUIVisualizationSizeSettings polySize
GUIColorer containerColorer
The container colorer.
double dataValueHideThreshold
double gridXSize
Information about the grid spacings.
bool showBTRange
Information whether the communication range shall be drawn.
bool forceDrawForPositionSelection
flag to force draw for position selection (see drawForPositionSelection)
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
bool spreadSuperposed
Whether to improve visualisation of superposed (rail) edges.
std::string relDataAttr
key for coloring by edgeRelation / tazRelation attribute
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_PARAM_NUMERICAL
std::string edgeParam
key for coloring by edge parameter
bool drawBrakeGap
Information whether the brake gap shall be drawn.
GUIVisualizationTextSettings polyType
int poiDetail
The detail level for drawing POIs.
void setCellType(int pos, CellType t)
void setNumberCellParams(int pos, double min, double max, double steps1, double steps2, double steps3, const std::string &format)
FXString getText() const
Get the text.
FXint getCurrentItem() const
Get the current item's index.
void setCurrentItem(FXint index, FXbool notify=FALSE)
Set the current item (index is zero-based)
void setNumVisible(FXint nvis)
Set the number of visible items in the drop down list.
FXint appendIconItem(const FXString &text, FXIcon *icon=nullptr, FXColor bgColor=FXRGB(255, 255, 255), void *ptr=nullptr)
append icon
static void deleteChildren(FXWindow *w)
Deletes all children of the given window.
static FXString getFilename2Write(FXWindow *parent, const FXString &header, const FXString &extension, FXIcon *icon, FXString ¤tFolder)
Returns the file name to write.
static FXColor getFXColor(const RGBColor &col)
converts FXColor to RGBColor
static RGBColor getRGBColor(FXColor col)
converts FXColor to RGBColor
Static storage of an output device and its base (abstract) implementation.
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
void close()
Closes the device and removes it from the dictionary.
OutputDevice & openTag(const std::string &xmlElement)
Opens an XML tag.
bool closeTag(const std::string &comment="")
Closes the most recently opened tag and optionally adds a comment.
static OutputDevice & getDevice(const std::string &name, bool usePrefix=true)
Returns the described OutputDevice.
unsigned char red() const
Returns the red-amount of the color.
void set(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
assigns new values
static std::string trim(const std::string s, const std::string &t=" \t\n")
remove leading and trailing whitespace
static double toDouble(const std::string &sData)
converts a string into the double value described by it by calling the char-type converter
static bool startsWith(const std::string &str, const std::string prefix)
Checks whether a given string starts with the prefix.
static std::string substituteEnvironment(const std::string &str, const std::chrono::time_point< std::chrono::system_clock > *const timeRef=nullptr)
static bool toBool(const std::string &sData)
converts a string into the bool value described by it by calling the char-type converter
A decal (an image) that can be shown.
double tilt
The tilt of the image to the ground plane (in degrees)
double centerX
The center of the image in x-direction (net coordinates, in m)
double height
The height of the image (net coordinates in y-direction, in m)
double width
The width of the image (net coordinates in x-direction, in m)
bool initialised
Whether this image was initialised (inserted as a texture)
double rot
The rotation of the image in the ground plane (in degrees)
double layer
The layer of the image.
double altitude
The altitude of the image (net coordinates in z-direction, in m)
double centerY
The center of the image in y-direction (net coordinates, in m)
double centerZ
The center of the image in z-direction (net coordinates, in m)
std::string filename
The path to the file the image is located at.
double roll
The roll of the image to the ground plane (in degrees)
bool screenRelative
Whether this image should be skipped in 2D-views.
RGBColor vehicleTripColor
color for vehicle trips
RGBColor selectionColor
basic selection color
RGBColor walkColor
color for walks
RGBColor rideColor
color for rides
RGBColor selectedEdgeColor
edge selection color
RGBColor selectedPersonPlanColor
person plan selection color (Rides, Walks, stopPersons...)
RGBColor stopPersonColor
color for stopPersons
RGBColor selectedCrossingColor
crossings selection color
RGBColor chargingStationColor
color for chargingStations
RGBColor selectedLaneColor
lane selection color
RGBColor selectedRouteColor
route selection color (used for routes and vehicle stops)
RGBColor selectedEdgeDataColor
edge data selection color
RGBColor trainStopColorSign
color for trainStops signs
RGBColor transhipColor
color for tranships
RGBColor waypointColor
color for Waypoints
RGBColor containerStopColor
color for containerStops
RGBColor selectedProhibitionColor
prohibition selection color
RGBColor selectedConnectionColor
connection selection color
RGBColor busStopColorSign
color for busStops signs
RGBColor containerStopColorSign
color for containerStop signs
RGBColor selectedAdditionalColor
additional selection color (busStops, Detectors...)
RGBColor transportColor
color for transport
RGBColor busStopColor
color for busStops
RGBColor selectedVehicleColor
vehicle selection color
RGBColor selectedPersonColor
person selection color
RGBColor personTripColor
color for stopPersons
RGBColor stopContainerColor
color for containerStops
RGBColor trainStopColor
color for trainStops
RGBColor stopColor
color for Stops
RGBColor chargingStationColorSign
color for chargingStation sign
double exaggeration
The size exaggeration (upscale)
bool constantSize
whether the object shall be drawn with constant size regardless of zoom
double minSize
The minimum size to draw this object.
bool constantSizeSelected
whether only selected objects shall be drawn with constant
RGBColor bgColor
background text color
bool onlySelected
whether only selected objects shall have text drawn
bool constSize
@brif flag to avoid size changes
double tripWidth
width for trips
double transportWidth
width for rides
double walkWidth
width for walks
double personTripWidth
width for person trips
double transhipWidth
width for rides
double rideWidth
width for rides