Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNETagPropertiesDatabase.cpp
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2001-2026 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/****************************************************************************/
18// Database with all information about netedit elements
19/****************************************************************************/
20
23#include <netedit/GNENet.h>
26
28
29// ===========================================================================
30// method definitions
31// ===========================================================================
32
34 // fill all groups of ACs
42 // demand
47 // persons
53 // containers
58 //data
60 // add common attributes to all elements
61 for (auto& tagProperties : myTagProperties) {
62 fillCommonAttributes(tagProperties.second);
63 }
64 // update max number of editable attributes
66 // calculate hierarchy dept
68 // check integrity of all Tags (function checkTagIntegrity() throws an exception if there is an inconsistency)
69 for (const auto& tagProperties : myTagProperties) {
70 tagProperties.second->checkTagIntegrity();
71 }
72}
73
74
76 // delete all tag properties (this also delete all attributeProperties)
77 for (auto& tagProperties : myTagProperties) {
78 delete tagProperties.second;
79 }
80}
81
82
85 // check that tag is defined in tagProperties or in tagPropertiesSet
86 if (myTagProperties.count(tag) > 0) {
87 return myTagProperties.at(tag);
88 } else if (mySetTagProperties.count(tag) > 0) {
89 return mySetTagProperties.at(tag);
90 } else if (hardFail) {
91 throw ProcessError(TLF("Property for tag '%' not defined", toString(tag)));
92 } else {
93 return nullptr;
94 }
95}
96
97
98const std::vector<const GNETagProperties*>
99GNETagPropertiesDatabase::getTagPropertiesSet(const SumoXMLTag tag, const bool hardFail) const {
100 // check that tag is defined in tagProperties or in tagPropertiesSet
101 if (mySetTagProperties.count(tag) > 0) {
102 return mySetTagProperties.at(tag)->getHierarchicalChildren();
103 } else if (hardFail) {
104 throw ProcessError(TLF("TagPropertySet for tag '%' not defined", toString(tag)));
105 } else {
106 return {};
107 }
108}
109
110
111const std::vector<const GNETagProperties*>
113 std::vector<const GNETagProperties*> allowedTags;
115 // fill networkElements tags
116 for (const auto& tagProperty : myTagProperties) {
117 if (tagProperty.second->isNetworkElement()) {
118 allowedTags.push_back(tagProperty.second);
119 }
120 }
121 }
123 // fill additional tags (only with pure additionals)
124 for (const auto& tagProperty : myTagProperties) {
125 if (tagProperty.second->isAdditionalPureElement()) {
126 allowedTags.push_back(tagProperty.second);
127 }
128 }
129 }
131 // fill shape tags
132 for (const auto& tagProperty : myTagProperties) {
133 if (tagProperty.second->isShapeElement()) {
134 allowedTags.push_back(tagProperty.second);
135 }
136 }
137 }
139 // fill taz tags
140 for (const auto& tagProperty : myTagProperties) {
141 if (tagProperty.second->isTAZElement()) {
142 allowedTags.push_back(tagProperty.second);
143 }
144 }
145 }
146 if (type & GNETagProperties::Type::WIRE) {
147 // fill wire tags
148 for (const auto& tagProperty : myTagProperties) {
149 if (tagProperty.second->isWireElement()) {
150 allowedTags.push_back(tagProperty.second);
151 }
152 }
153 }
155 // fill demand tags
156 for (const auto& tagProperty : myTagProperties) {
157 if (tagProperty.second->isDemandElement()) {
158 allowedTags.push_back(tagProperty.second);
159 }
160 }
161 }
163 // fill route tags
164 for (const auto& tagProperty : myTagProperties) {
165 if (tagProperty.second->isRoute()) {
166 allowedTags.push_back(tagProperty.second);
167 }
168 }
169 }
171 // fill vehicle tags
172 for (const auto& tagProperty : myTagProperties) {
173 if (tagProperty.second->isVehicle()) {
174 allowedTags.push_back(tagProperty.second);
175 }
176 }
177 }
179 // fill stop (and waypoints) tags
180 for (const auto& tagProperty : myTagProperties) {
181 if (tagProperty.second->isVehicleStop()) {
182 allowedTags.push_back(tagProperty.second);
183 }
184 }
185 }
187 // fill person tags
188 for (const auto& tagProperty : myTagProperties) {
189 if (tagProperty.second->isPerson()) {
190 allowedTags.push_back(tagProperty.second);
191 }
192 }
193 }
195 // fill person plan tags
196 for (const auto& tagProperty : myTagProperties) {
197 if (tagProperty.second->isPlanPerson()) {
198 allowedTags.push_back(tagProperty.second);
199 }
200 }
201 }
203 // fill demand tags
204 for (const auto& tagProperty : myTagProperties) {
205 if (tagProperty.second->isPlanPersonTrip()) {
206 allowedTags.push_back(tagProperty.second);
207 }
208 }
209 }
210 if (type & GNETagProperties::Type::WALK) {
211 // fill demand tags
212 for (const auto& tagProperty : myTagProperties) {
213 if (tagProperty.second->isPlanWalk()) {
214 allowedTags.push_back(tagProperty.second);
215 }
216 }
217 }
218 if (type & GNETagProperties::Type::RIDE) {
219 // fill demand tags
220 for (const auto& tagProperty : myTagProperties) {
221 if (tagProperty.second->isPlanRide()) {
222 allowedTags.push_back(tagProperty.second);
223 }
224 }
225 }
227 // fill demand tags
228 for (const auto& tagProperty : myTagProperties) {
229 if (tagProperty.second->isPlanStopPerson()) {
230 allowedTags.push_back(tagProperty.second);
231 }
232 }
233 }
235 // fill generic data tags
236 for (const auto& tagProperty : myTagProperties) {
237 if (tagProperty.second->isGenericData()) {
238 allowedTags.push_back(tagProperty.second);
239 }
240 }
241 }
243 // fill generic data tags
244 for (const auto& tagProperty : myTagProperties) {
245 if (tagProperty.second->isMeanData()) {
246 allowedTags.push_back(tagProperty.second);
247 }
248 }
249 }
251 // fill container tags
252 for (const auto& tagProperty : myTagProperties) {
253 if (tagProperty.second->isContainer()) {
254 allowedTags.push_back(tagProperty.second);
255 }
256 }
257 }
259 // fill container plan tags
260 for (const auto& tagProperty : myTagProperties) {
261 if (tagProperty.second->isPlanContainer()) {
262 allowedTags.push_back(tagProperty.second);
263 }
264 }
265 }
267 // fill demand tags
268 for (const auto& tagProperty : myTagProperties) {
269 if (tagProperty.second->isPlanTransport()) {
270 allowedTags.push_back(tagProperty.second);
271 }
272 }
273 }
275 // fill demand tags
276 for (const auto& tagProperty : myTagProperties) {
277 if (tagProperty.second->isPlanTranship()) {
278 allowedTags.push_back(tagProperty.second);
279 }
280 }
281 }
283 // fill demand tags
284 for (const auto& tagProperty : myTagProperties) {
285 if (tagProperty.second->isPlanStopContainer()) {
286 allowedTags.push_back(tagProperty.second);
287 }
288 }
289 }
290 return allowedTags;
291}
292
293
294int
298
299
300int
304
305
306int
310
311
312int
316
317
318int
322
323
324void
326 const std::string opt = "attribute-help-output";
329 dev << "# Netedit attribute help\n";
330 for (const auto& tagProperty : myTagProperties) {
331 if (tagProperty.second->getAttributeProperties().begin() == tagProperty.second->getAttributeProperties().end()) {
332 // don't write elements without attributes, they are only used for internal purposes
333 continue;
334 }
335 if (tagProperty.second->getXMLTag() != tagProperty.first) {
336 dev << "\n## " << toString(tagProperty.second->getXMLTag()) << " (" << toString(tagProperty.first) << ")\n";
337 } else if (tagProperty.second->getXMLParentTags().empty()) {
338 dev << "\n## " << toString(tagProperty.first) << "\n";
339 } else {
340 if (tagProperty.first == SUMO_TAG_FLOW) {
341 dev << "\n## " << toString(tagProperty.first) << "\n";
342 dev << "also child element of ";
343 } else {
344 dev << "\n### " << toString(tagProperty.first) << "\n";
345 dev << "child element of ";
346 }
347 bool sep = false;
348 for (const auto& pTag : tagProperty.second->getXMLParentTags()) {
349 if (sep) {
350 dev << ", ";
351 } else {
352 sep = true;
353 }
354 dev << "[" << toString(pTag) << "](#" << StringUtils::to_lower_case(toString(pTag)) << ")";
355 }
356 dev << "\n\n";
357 }
358 dev << "| Attribute | Type | Description |\n";
359 dev << "|-----------|------|-------------|\n";
360 for (const auto& attr : tagProperty.second->getAttributeProperties()) {
361 // ignore netedit attributes (front, selected, etc.)
362 if (!attr->isNeteditEditor() && (attr->getAttr() != GNE_ATTR_PARAMETERS)) {
363 dev << "|" << toString(attr->getAttr()) << "|"
364 << attr->getDescription() << "|"
365 << StringUtils::replace(attr->getDefinition(), "\n", " ");
366 if (attr->hasDefaultValue() && attr->getDefaultStringValue() != "") {
367 dev << " *default:* **" << attr->getDefaultStringValue() << "**";
368 }
369 dev << "|\n";
370 }
371 }
372 }
373}
374
375
376void
378 // root - level 0
380 nullptr,
382 TL("Root"));
383 // supermodes - level 1
387 TL("Supermode network"),
388 FXRGBA(255, 255, 255, 255),
389 TL("Supermode network"));
393 TL("Supermode demand"),
394 FXRGBA(255, 255, 255, 255),
395 TL("Supermode demand"));
399 TL("Supermode data"),
400 FXRGBA(255, 255, 255, 255),
401 TL("Supermode data"));
402 // net - level 2
406 TL("Network elements"),
407 FXRGBA(255, 255, 255, 255),
408 TL("Network elements"));
409 // additionals - level 2
413 TL("Additional elements"),
414 FXRGBA(255, 255, 255, 255),
415 TL("Additional elements"));
416 // stoppingPlaces - level 3
420 TL("Stopping places"),
421 FXRGBA(255, 255, 255, 255),
422 TL("Stopping places"));
423 // detectors - level 3
427 TL("Detectors"),
428 FXRGBA(255, 255, 255, 255),
429 TL("Detectors"));
430 // wires - level 2
434 TL("Wire elements"),
435 FXRGBA(255, 255, 255, 255),
436 TL("Wire elements"));
437 // shapes - level 2
441 TL("Shape elements"),
442 FXRGBA(255, 255, 255, 255),
443 TL("Shape elements"));
447 TL("JuPedSim elements"),
448 FXRGBA(255, 255, 255, 255),
449 TL("JuPedSim elements"));
450 // TAZs - level 2
454 TL("TAZ elements"),
455 FXRGBA(255, 255, 255, 255),
456 TL("TAZ elements"));
457 // vehicles - level 2
461 TL("Vehicles"),
462 FXRGBA(255, 255, 255, 255),
463 TL("Vehicles"));
464 // flows - level 2
468 TL("Flows"),
469 FXRGBA(255, 255, 255, 255),
470 TL("Vehicle flows"));
471 // stops - level 2
475 TL("Vehicle stops"),
476 FXRGBA(255, 255, 255, 255),
477 TL("Vehicle stops"));
478 // personPlans - level 2
482 TL("Person plans"),
483 FXRGBA(255, 255, 255, 255),
484 TL("Person plans"));
485 // personTrips - level 3
489 TL("Person trips"),
490 FXRGBA(255, 255, 255, 255),
491 TL("Person trips"));
492 // rides - level 3
496 TL("Person rides"),
497 FXRGBA(255, 255, 255, 255),
498 TL("Person rides"));
499 // walks - level 3
503 TL("Person walks"),
504 FXRGBA(255, 255, 255, 255),
505 TL("Person walks"));
506 // personStops - level 3
510 TL("Person stop"),
511 FXRGBA(255, 255, 255, 255),
512 TL("Person stop"));
513 // containerPlans - level 2
517 TL("Container plans"),
518 FXRGBA(255, 255, 255, 255),
519 TL("Container plans"));
520 // transports - level 3
524 TL("Container transports"),
525 FXRGBA(255, 255, 255, 255),
526 TL("Container transports"));
527 // tranships - level 3
531 TL("Container tranships"),
532 FXRGBA(255, 255, 255, 255),
533 TL("Container tranships"));
534 // containerStops - level 3
538 TL("Container stops"),
539 FXRGBA(255, 255, 255, 255),
540 TL("Container stops"));
541 // datas - level 2
545 TL("Datas"),
546 FXRGBA(255, 255, 255, 255),
547 TL("Datas"));
548}
549
550
551void
553 // obtain Node Types except SumoXMLNodeType::DEAD_END_DEPRECATED
554 const auto& neteditOptions = OptionsCont::getOptions();
555 std::vector<std::string> nodeTypes = SUMOXMLDefinitions::NodeTypes.getStrings();
556 nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::DEAD_END_DEPRECATED)));
557 nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::DEAD_END)));
558 nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::INTERNAL)));
559 // obtain TLTypes (note: avoid insert all TLTypes because some of them are experimental and not documented)
560 std::vector<std::string> TLTypes;
561 TLTypes.push_back(toString(TrafficLightType::STATIC));
562 TLTypes.push_back(toString(TrafficLightType::ACTUATED));
563 TLTypes.push_back(toString(TrafficLightType::DELAYBASED));
564 TLTypes.push_back(toString(TrafficLightType::NEMA));
565 // fill networkElement ACs
566 SumoXMLTag currentTag = SUMO_TAG_JUNCTION;
567 {
568 // set values of tag
569 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
575 GUIIcon::JUNCTION, GUIGlObjectType::GLO_JUNCTION, currentTag, TL("Junction"));
576 // set values of attributes
577 fillIDAttribute(myTagProperties[currentTag], true);
578
582 TL("The x-y-z position of the node on the plane in meters"));
583
584 auto type = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
587 TL("An optional type for the node"));
588 type->setDiscreteValues(nodeTypes);
589
593 TL("A custom shape for that node"));
594
598 TL("Optional turning radius (for all corners) for that node in meters"),
599 "4");
600
604 TL("Whether the junction-blocking-heuristic should be activated at this node"),
606
607 auto rightOfWay = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_RIGHT_OF_WAY,
610 TL("How to compute right of way rules at this node"),
612 rightOfWay->setDiscreteValues(SUMOXMLDefinitions::RightOfWayValues.getStrings());
613
614 auto fringe = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FRINGE,
617 TL("Whether this junction is at the fringe of the network"),
619 fringe->setDiscreteValues(SUMOXMLDefinitions::FringeTypeValues.getStrings());
620
621 auto roundabout = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUNDABOUT,
624 TL("Whether this junction may be considered when guessing roundabouts"),
626 roundabout->setDiscreteValues(SUMOXMLDefinitions::RoundaboutTypeValues.getStrings());
627
629
630 auto tlType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLTYPE,
633 TL("An optional type for the traffic light algorithm"));
634 tlType->setDiscreteValues(TLTypes);
635
636 auto tlLayout = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLAYOUT,
639 TL("An optional layout for the traffic light plan"),
641 tlLayout->setDiscreteValues({toString(TrafficLightLayout::DEFAULT),
645
649 TL("An optional id for the traffic light program"));
650
654 TL("Whether this junction is part of a roundabout"),
656 }
657 currentTag = SUMO_TAG_TYPE;
658 {
659 // set values of tag
660 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
666 GUIIcon::EDGETYPE, GUIGlObjectType::GLO_EDGETYPE, currentTag, TL("EdgeType"));
667 // set values of attributes
668 fillIDAttribute(myTagProperties[currentTag], false);
669
673 TL("The number of lanes of the edge"),
674 toString(neteditOptions.getInt("default.lanenumber")));
675
679 TL("The maximum speed allowed on the edge in m/s"),
680 toString(neteditOptions.getFloat("default.speed")));
681
683
684 auto spreadType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPREADTYPE,
687 TL("The spreadType defines how to compute the lane geometry from the edge geometry (used for visualization)"),
689 spreadType->setDiscreteValues(SUMOXMLDefinitions::LaneSpreadFunctions.getStrings());
690
694 TL("The priority of the edge"),
695 toString(neteditOptions.getInt("default.priority")));
696
700 TL("Lane width for all lanes of this edge in meters (used for visualization)"),
702
706 TL("The width of the sidewalk that should be added as an additional lane"),
707 "", "2");
708
712 TL("The width of the bike lane that should be added as an additional lane"),
713 "", "1");
714 }
715 currentTag = SUMO_TAG_LANETYPE;
716 {
717 // set values of tag
718 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
724 GUIIcon::LANETYPE, GUIGlObjectType::GLO_LANETYPE, currentTag, TL("LaneType"));
725 // set values of attributes
729 TL("The maximum speed allowed on the lane in m/s"),
730 toString(neteditOptions.getFloat("default.speed")));
731
733
737 TL("Lane width for all lanes of this type in meters (used for visualization)"),
738 "3.2");
739 }
740 currentTag = SUMO_TAG_EDGE;
741 {
742 // set values of tag
743 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
749 GUIIcon::EDGE, GUIGlObjectType::GLO_EDGE, currentTag, TL("Edge"));
750 // set values of attributes
751 fillIDAttribute(myTagProperties[currentTag], true);
752
756 TL("The name of a node within the nodes-file the edge shall start at"));
757
761 TL("The name of a node within the nodes-file the edge shall end at"));
762
766 TL("The maximum speed allowed on the edge in m/s"),
767 toString(neteditOptions.getFloat("default.speed")));
768
772 TL("The priority of the edge"),
773 toString(neteditOptions.getInt("default.priority")));
774
778 TL("The number of lanes of the edge"),
779 toString(neteditOptions.getInt("default.lanenumber")));
780
784 TL("The name of a type within the SUMO edge type file"));
785
787
791 TL("If the shape is given it should start and end with the positions of the from-node and to-node"));
792
796 TL("The length of the edge in meter"));
797
798 auto spreadType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPREADTYPE,
801 TL("The spreadType defines how to compute the lane geometry from the edge geometry (used for visualization)"),
803 spreadType->setDiscreteValues(SUMOXMLDefinitions::LaneSpreadFunctions.getStrings());
804
808 TL("street name (does not need to be unique, used for visualization)"));
809
813 TL("Lane width for all lanes of this edge in meters (used for visualization)"),
814 "3.2");
815
819 TL("Move the stop line back from the intersection by the given amount"),
820 "0");
821
825 TL("Custom position in which shape start (by default position of junction from)"));
826
830 TL("Custom position in which shape end (by default position of junction from)"));
831
833 GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE, // virtual attribute to check of this edge is part of a bidirectional railway (cannot be edited)
835 TL("Show if edge is bidirectional"),
837
841 TL("Distance"),
842 "0");
843
847 TL("The stop offset as positive value in meters"),
848 "0");
849
853 TL("Specifies, for which vehicle classes the stopOffset does NOT apply."));
854
858 TL("Whether this edge is part of a roundabout"),
860
864 TL("The name of a routingType"));
865
866 }
867 currentTag = SUMO_TAG_LANE;
868 {
869 // set values of tag
870 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
876 GUIIcon::LANE, GUIGlObjectType::GLO_LANE, currentTag, TL("Lane"));
877 // set values of attributes
878 fillIDAttribute(myTagProperties[currentTag], true);
879
883 TL("The enumeration index of the lane (0 is the rightmost lane, <NUMBER_LANES>-1 is the leftmost one)"));
884
888 TL("Speed in meters per second"),
889 toString(neteditOptions.getFloat("default.speed")));
890
892
896 TL("Width in meters (used for visualization)"),
897 "", "-1");
898
902 TL("Move the stop line back from the intersection by the given amount"),
903 "0");
904
908 TL("Enable or disable lane as acceleration lane"),
910
914 TL("If the shape is given it overrides the computation based on edge shape"));
915
919 TL("If given, this defines the opposite direction lane"));
920
924 TL("Permit changing left only for to the given vehicle classes"),
925 "all");
926
930 TL("Permit changing right only for to the given vehicle classes"),
931 "all");
932
936 TL("Lane type description (optional)"));
937
941 TL("The stop offset as positive value in meters"),
942 "0");
943
947 TL("Specifies, for which vehicle classes the stopOffset does NOT apply."));
948 }
949 currentTag = SUMO_TAG_CROSSING;
950 {
951 // set values of tag
952 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
958 GUIIcon::CROSSING, GUIGlObjectType::GLO_CROSSING, currentTag, TL("Crossing"));
959 // set values of attributes
960 fillIDAttribute(myTagProperties[currentTag], true);
961
965 TL("The (road) edges which are crossed"));
966
970 TL("Whether the pedestrians have priority over the vehicles (automatically set to true at tls-controlled intersections)"),
972
976 TL("The width of the crossings"),
977 toString(OptionsCont::getOptions().getFloat("default.crossing-width")));
978
982 TL("sets the tls-index for this crossing (-1 means automatic assignment)"),
983 "-1");
984
988 TL("sets the opposite-direction tls-index for this crossing (-1 means not assigned)"),
989 "-1");
990
994 TL("Overrides default shape of pedestrian crossing"));
995 }
996 currentTag = SUMO_TAG_WALKINGAREA;
997 {
998 // set values of tag
999 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
1005 GUIIcon::WALKINGAREA, GUIGlObjectType::GLO_WALKINGAREA, currentTag, TL("WalkingArea"));
1006 // set values of attributes
1007 fillIDAttribute(myTagProperties[currentTag], true);
1008
1012 TL("The width of the WalkingArea"),
1013 toString(OptionsCont::getOptions().getFloat("default.sidewalk-width")));
1014
1018 TL("The length of the WalkingArea in meter"));
1019
1023 TL("Overrides default shape of pedestrian sidewalk"));
1024
1025 }
1026 currentTag = SUMO_TAG_CONNECTION;
1027 {
1028 // set values of tag
1029 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
1035 GUIIcon::CONNECTION, GUIGlObjectType::GLO_CONNECTION, currentTag, TL("Connection"));
1036 // set values of attributes
1040 TL("The ID of the edge the vehicles leave"));
1041
1045 TL("The ID of the edge the vehicles may reach when leaving 'from'"));
1046
1050 TL("the lane index of the incoming lane (numbers starting with 0)"));
1051
1055 TL("the lane index of the outgoing lane (numbers starting with 0)"));
1056
1060 TL("if set, vehicles which pass this (lane-2-lane) connection) will not wait"),
1062
1066 TL("if set to false, vehicles which pass this (lane-2-lane) connection) will not worry about blocking the intersection"),
1068
1072 TL("If set to a more than 0 value, an internal junction will be built at this position (in m)/n from the start of the internal lane for this connection"),
1074
1078 TL("If set to true, This connection will not be TLS-controlled despite its node being controlled"),
1080
1084 TL("Vision distance between vehicles"),
1086
1090 TL("sets index of this connection within the controlling traffic light (-1 means automatic assignment)"),
1091 "-1");
1092
1096 TL("sets index for the internal junction of this connection within the controlling traffic light (-1 means internal junction not controlled)"),
1097 "-1");
1098
1100
1104 TL("sets custom speed limit for the connection"),
1106
1110 TL("sets custom length for the connection"),
1112
1116 TL("sets custom shape for the connection"));
1117
1121 TL("Permit changing left only for to the given vehicle classes"),
1122 "all");
1123
1127 TL("Permit changing right only for to the given vehicle classes"),
1128 "all");
1129
1133 TL("if set to true, vehicles will make a turn in 2 steps"),
1135
1139 TL("set a custom edge type (for applying vClass-specific speed restrictions)"));
1140
1141
1145 TL("turning direction for this connection (computed)"));
1146
1150 TL("link state for this connection (computed)"));
1151 }
1152 currentTag = GNE_TAG_INTERNAL_LANE;
1153 {
1154 // set values of tag
1155 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
1161 GUIIcon::JUNCTION, GUIGlObjectType::GLO_TLLOGIC, currentTag, TL("InternalLanes"));
1162 // internal lanes does't have attributes
1163 }
1164}
1165
1166
1167void
1169 // fill additional elements
1170 SumoXMLTag currentTag = SUMO_TAG_BUS_STOP;
1171 {
1172 // set values of tag
1179 GUIIcon::BUSSTOP, GUIGlObjectType::GLO_BUS_STOP, currentTag, TL("BusStop"),
1180 {}, FXRGBA(240, 255, 205, 255));
1181 // set common attributes
1182 fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true, false);
1183
1184 // set specific attributes
1188 TL("Meant to be the names of the bus lines that stop at this bus stop. This is only used for visualization purposes"));
1189
1193 TL("Larger numbers of persons trying to enter will create an upstream jam on the sidewalk"),
1194 "6");
1195
1199 TL("Optional space definition for vehicles that park at this stop"),
1200 "0");
1201 }
1202 currentTag = SUMO_TAG_TRAIN_STOP;
1203 {
1204 // set values of tag
1211 GUIIcon::TRAINSTOP, GUIGlObjectType::GLO_TRAIN_STOP, currentTag, TL("TrainStop"),
1212 {}, FXRGBA(240, 255, 205, 255));
1213 // set common attributes
1214 fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true, false);
1215
1216 // set specific attributes
1220 TL("Meant to be the names of the train lines that stop at this train stop. This is only used for visualization purposes"));
1221
1225 TL("Larger numbers of persons trying to enter will create an upstream jam on the sidewalk"),
1226 "6");
1227
1231 TL("Optional space definition for vehicles that park at this stop"),
1232 "0");
1233
1234 }
1235 currentTag = SUMO_TAG_ACCESS;
1236 {
1237 // set values of tag
1244 GUIIcon::ACCESS, GUIGlObjectType::GLO_ACCESS, currentTag, TL("Access"),
1245 {SUMO_TAG_BUS_STOP, SUMO_TAG_TRAIN_STOP, SUMO_TAG_CONTAINER_STOP}, FXRGBA(240, 255, 205, 255));
1246 // set values of attributes
1247 fillLaneAttribute(myTagProperties[currentTag], false);
1248
1250
1252
1256 TL("The walking length of the access in meters (default is geometric length)"),
1257 "", "-1");
1258 }
1259 currentTag = SUMO_TAG_CONTAINER_STOP;
1260 {
1261 // set values of tag
1268 GUIIcon::CONTAINERSTOP, GUIGlObjectType::GLO_CONTAINER_STOP, currentTag, TL("ContainerStop"),
1269 {}, FXRGBA(240, 255, 205, 255));
1270 // set common attributes
1271 fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true, false);
1272
1273 // set specific attributes
1277 TL("meant to be the names of the bus lines that stop at this container stop. This is only used for visualization purposes"));
1278
1282 TL("Larger numbers of container trying to enter will create an upstream jam on the sidewalk"),
1283 "6");
1284
1288 TL("Optional space definition for vehicles that park at this stop"),
1289 "", "0");
1290 }
1291 currentTag = SUMO_TAG_CHARGING_STATION;
1292 {
1293 // set values of tag
1300 GUIIcon::CHARGINGSTATION, GUIGlObjectType::GLO_CHARGING_STATION, currentTag, TL("ChargingStation"),
1301 {}, FXRGBA(240, 255, 205, 255));
1302 // set common attributes
1303 fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], false, false);
1304
1305 // set specific attributes
1309 TL("Charging power in W"),
1310 "22000");
1311
1315 TL("Total power in W"),
1316 "0");
1317
1318 auto efficiency = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EFFICIENCY,
1321 TL("Charging efficiency [0,1]"),
1322 "0.95");
1323 efficiency->setRange(0, 1);
1324
1328 TL("Enable or disable charge in transit, i.e. vehicle must or must not to stop for charging"),
1330
1334 TL("Time delay after the vehicles has reached / stopped on the charging station, before the energy transfer (charging) begins"),
1335 "0");
1336
1337 auto chargeType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGETYPE,
1340 TL("Battery charging type"),
1342 chargeType->setDiscreteValues(SUMOXMLDefinitions::ChargeTypes.getStrings());
1343
1347 TL("Waiting time before start charging"),
1348 "900");
1349
1353 TL("Parking area the charging station is located"));
1354 }
1355 currentTag = SUMO_TAG_PARKING_AREA;
1356 {
1357 // set values of tag
1364 GUIIcon::PARKINGAREA, GUIGlObjectType::GLO_PARKING_AREA, currentTag, TL("ParkingArea"),
1365 {}, FXRGBA(240, 255, 205, 255));
1366 // set common attributes
1367 fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], false, true);
1368
1369 // set specific attributes
1373 TL("Lane position in that vehicle must depart when leaves parkingArea"));
1374
1378 TL("Accepted badges to access this parkingArea"));
1379
1383 TL(" The number of parking spaces for road-side parking"),
1384 "0");
1385
1389 TL("If set, vehicles will park on the road lane and thereby reducing capacity"),
1390 "0");
1391
1395 TL("The width of the road-side parking spaces"),
1397
1401 TL("The length of the road-side parking spaces. By default (endPos - startPos) / roadsideCapacity"),
1402 "", "0");
1403
1407 TL("Visual placement to the left of the lane (in righthand networks)"),
1409
1410 }
1411 currentTag = SUMO_TAG_PARKING_SPACE;
1412 {
1413 // set values of tag
1420 GUIIcon::PARKINGSPACE, GUIGlObjectType::GLO_PARKING_SPACE, currentTag, TL("ParkingSpace"),
1421 {SUMO_TAG_PARKING_AREA}, FXRGBA(240, 255, 205, 255));
1422 // set values of attributes
1426 TL("The x-y-z position of the node on the plane in meters"));
1427
1429
1433 TL("The width of the road-side parking spaces"));
1434
1438 TL("The length of the road-side parking spaces"));
1439
1443 TL("The angle of the road-side parking spaces relative to the lane angle, positive means clockwise"));
1444
1448 TL("The slope of the road-side parking spaces"),
1449 "0");
1450
1451 }
1452 currentTag = SUMO_TAG_INDUCTION_LOOP;
1453 {
1454 // set values of tag
1455 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1461 GUIIcon::E1, GUIGlObjectType::GLO_E1DETECTOR, currentTag, TL("E1 InductionLoop"),
1462 {}, FXRGBA(210, 233, 255, 255));
1463 // set values of attributes
1464 fillIDAttribute(myTagProperties[currentTag], true);
1465
1466 fillLaneAttribute(myTagProperties[currentTag], false);
1467
1469
1471
1473
1475
1477
1479
1481
1483 }
1484 currentTag = SUMO_TAG_LANE_AREA_DETECTOR;
1485 {
1486 // set values of tag
1487 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1493 GUIIcon::E2, GUIGlObjectType::GLO_E2DETECTOR, currentTag, TL("E2 LaneAreaDetector"),
1494 {}, FXRGBA(210, 233, 255, 255));
1495 // set values of attributes
1496 fillIDAttribute(myTagProperties[currentTag], true);
1497
1498 fillLaneAttribute(myTagProperties[currentTag], false);
1499
1501
1502 // this is a "virtual attribute", only used for movement
1506 TL("The end position on the lane the detector shall be laid on in meters"));
1507
1509
1513 TL("The length of the detector in meters"),
1515
1517
1519
1523 TL("The traffic light that triggers aggregation when switching"));
1524
1526
1528
1530
1532
1534
1538 TL("Show detector in sumo-gui"),
1540 }
1542 {
1543 // set values of tag
1544 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1551 {}, FXRGBA(210, 233, 255, 255));
1552 // set values of attributes
1553 fillIDAttribute(myTagProperties[currentTag], true);
1554
1558 TL("The sequence of lane ids in which the detector shall be laid on"));
1559
1561
1565 TL("The end position on the lane the detector shall be laid on in meters"));
1566
1568
1570
1574 TL("The traffic light that triggers aggregation when switching"));
1575
1577
1579
1581
1583
1585
1587
1591 TL("Show detector in sumo-gui"),
1593 }
1594 currentTag = SUMO_TAG_ENTRY_EXIT_DETECTOR;
1595 {
1596 // set values of tag
1597 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1603 GUIIcon::E3, GUIGlObjectType::GLO_DET_ENTRYEXIT, currentTag, TL("E3 EntryExitDetector"),
1604 {}, FXRGBA(210, 233, 255, 255));
1605 // set values of attributes
1606 fillIDAttribute(myTagProperties[currentTag], true);
1607
1611 TL("X-Y position of detector in editor (Only used in netedit)"),
1612 "0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y
1613
1615
1617
1619
1621
1623
1625
1629 TL("If set to true, no error will be reported if vehicles leave the detector without first entering it"),
1631
1633
1637 TL("Whether no warning should be issued when a vehicle arrives within the detector area."),
1639 }
1640 currentTag = SUMO_TAG_DET_ENTRY;
1641 {
1642 // set values of tag
1643 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1649 GUIIcon::E3ENTRY, GUIGlObjectType::GLO_DET_ENTRY, currentTag, TL("E3 DetEntry"),
1650 {SUMO_TAG_ENTRY_EXIT_DETECTOR}, FXRGBA(210, 233, 255, 255));
1651 // set values of attributes
1652 fillLaneAttribute(myTagProperties[currentTag], false);
1653
1655
1657
1658 }
1659 currentTag = SUMO_TAG_DET_EXIT;
1660 {
1661 // set values of tag
1662 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1668 GUIIcon::E3EXIT, GUIGlObjectType::GLO_DET_EXIT, currentTag, TL("E3 DetExit"),
1669 {SUMO_TAG_ENTRY_EXIT_DETECTOR}, FXRGBA(210, 233, 255, 255));
1670 // set values of attributes
1671 fillLaneAttribute(myTagProperties[currentTag], false);
1672
1674
1676
1677 }
1679 {
1680 // set values of tag
1681 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1688 {}, FXRGBA(210, 233, 255, 255));
1689 // set values of attributes
1690 fillIDAttribute(myTagProperties[currentTag], true);
1691
1692 fillLaneAttribute(myTagProperties[currentTag], false);
1693
1695
1697
1699
1701
1703
1705
1707 }
1708 currentTag = SUMO_TAG_ROUTEPROBE;
1709 {
1710 // set values of tag
1717 GUIIcon::ROUTEPROBE, GUIGlObjectType::GLO_ROUTEPROBE, currentTag, TL("RouteProbe"),
1718 {}, FXRGBA(210, 233, 255, 255));
1719 // set values of attributes
1720 fillIDAttribute(myTagProperties[currentTag], true);
1721
1722 fillEdgeAttribute(myTagProperties[currentTag], false);
1723
1725
1729 TL("The frequency in which to report the distribution"),
1730 "3600");
1731
1733
1737 TL("The time at which to start generating output"),
1738 "0");
1739
1741 }
1742 currentTag = SUMO_TAG_VSS;
1743 {
1744 // set values of tag
1751 GUIIcon::VARIABLESPEEDSIGN, GUIGlObjectType::GLO_VSS, currentTag, TL("VariableSpeedSign"),
1752 {}, FXRGBA(210, 233, 255, 255));
1753 // set values of attributes
1754 fillIDAttribute(myTagProperties[currentTag], true);
1755
1759 TL("List of Variable Speed Sign lanes"));
1760
1764 TL("X-Y position of detector in editor (Only used in netedit)"),
1765 "0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y
1766
1768
1770 }
1771 currentTag = GNE_TAG_VSS_SYMBOL;
1772 {
1773 // set values of tag
1780 GUIIcon::LANE, GUIGlObjectType::GLO_VSS, currentTag, TL("VariableSpeedSign (lane)"),
1781 {SUMO_TAG_VSS}, FXRGBA(210, 233, 255, 255));
1782 }
1783 currentTag = SUMO_TAG_STEP;
1784 {
1785 // set values of tag
1792 GUIIcon::VSSSTEP, GUIGlObjectType::GLO_VSS_STEP, currentTag, TL("VariableSpeedSign Step"),
1793 {SUMO_TAG_VSS}, FXRGBA(210, 233, 255, 255));
1794 // set values of attributes
1798 TL("Time"));
1799
1803 TL("Speed"),
1804 toString(OptionsCont::getOptions().getFloat("default.speed")));
1805 }
1806 currentTag = SUMO_TAG_CALIBRATOR;
1807 {
1808 // set values of tag
1815 GUIIcon::CALIBRATOR, GUIGlObjectType::GLO_CALIBRATOR, currentTag, TL("Calibrator"),
1816 {}, FXRGBA(253, 255, 206, 255));
1817 // set values of attributes
1818 fillIDAttribute(myTagProperties[currentTag], true);
1819
1820 fillEdgeAttribute(myTagProperties[currentTag], false);
1821
1823
1825
1829 TL("The aggregation interval in which to calibrate the flows. Default is step-length"),
1830 "1");
1831
1835 TL("The id of the routeProbe element from which to determine the route distribution for generated vehicles"));
1836
1838
1842 TL("A threshold value to detect and clear unexpected jamming"),
1843 "0.50");
1844
1846 }
1847 currentTag = GNE_TAG_CALIBRATOR_LANE;
1848 {
1849 // set values of tag
1857 {}, FXRGBA(253, 255, 206, 255));
1858 // set values of attributes
1859 fillIDAttribute(myTagProperties[currentTag], true);
1860
1861 fillLaneAttribute(myTagProperties[currentTag], false);
1862
1864
1866
1870 TL("The aggregation interval in which to calibrate the flows. Default is step-length"),
1871 "1");
1872
1876 TL("The id of the routeProbe element from which to determine the route distribution for generated vehicles"));
1877
1879
1883 TL("A threshold value to detect and clear unexpected jamming"),
1884 "0.50");
1885
1887 }
1888 currentTag = GNE_TAG_CALIBRATOR_FLOW;
1889 {
1890 // set values of tag
1898 {SUMO_TAG_CALIBRATOR}, FXRGBA(253, 255, 206, 255));
1899 // set values of attributes
1903 TL("First calibrator flow departure time"),
1904 "0");
1905
1909 TL("End of departure interval"),
1910 "3600");
1911
1915 TL("The id of the vehicle type to use for this calibrator flow"),
1917
1921 TL("The id of the route the vehicle shall drive along"));
1922
1923 // at least one of the following attributes must be defined
1924
1928 TL("Number of vehicles per hour, equally spaced"),
1929 "1800");
1930
1934 TL("Vehicle's speed"),
1935 "15");
1936
1937 // fill common vehicle attributes
1939 }
1940 currentTag = SUMO_TAG_REROUTER;
1941 {
1942 // set values of tag
1949 GUIIcon::REROUTER, GUIGlObjectType::GLO_REROUTER, currentTag, TL("Rerouter"),
1950 {}, FXRGBA(255, 213, 213, 255));
1951
1952 // set values of attributes
1953 fillIDAttribute(myTagProperties[currentTag], true);
1954
1958 TL("X,Y position in editor (Only used in netedit)"),
1959 "0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y
1960
1964 TL("An edge id or a list of edge ids where vehicles shall be rerouted"));
1965
1967
1971 TL("The probability for vehicle rerouting (0-1)"),
1972 "1");
1973
1977 TL("The waiting time threshold (in s) that must be reached to activate rerouting (default -1 which disables the threshold)"),
1978 "0");
1979
1981
1985 TL("Whether the router should be inactive initially (and switched on in the gui)"),
1987
1991 TL("If rerouter is optional"),
1993 }
1994 currentTag = GNE_TAG_REROUTER_SYMBOL;
1995 {
1996 // set values of tag
2003 GUIIcon::EDGE, GUIGlObjectType::GLO_REROUTER, currentTag, TL("Rerouter (Edge)"),
2004 {GNE_TAG_REROUTER_SYMBOL}, FXRGBA(255, 213, 213, 255));
2005 }
2006 currentTag = SUMO_TAG_INTERVAL;
2007 {
2008 // set values of tag
2015 GUIIcon::REROUTERINTERVAL, GUIGlObjectType::GLO_REROUTER_INTERVAL, currentTag, TL("Rerouter Interval"),
2016 {SUMO_TAG_REROUTER}, FXRGBA(255, 213, 213, 255));
2017 // set values of attributes
2021 TL("Begin"),
2022 "0");
2023
2027 TL("End"),
2028 "3600");
2029 }
2030 currentTag = SUMO_TAG_CLOSING_REROUTE;
2031 {
2032 // set values of tag
2040 {SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));
2041 // set values of attributes
2042 fillEdgeAttribute(myTagProperties[currentTag], true);
2043
2045 }
2046 currentTag = SUMO_TAG_CLOSING_LANE_REROUTE;
2047 {
2048 // set values of tag
2056 {SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));
2057 // set values of attributes
2058 fillLaneAttribute(myTagProperties[currentTag], true);
2059
2061 }
2062 currentTag = SUMO_TAG_DEST_PROB_REROUTE;
2063 {
2064 // set values of tag
2071 GUIIcon::DESTPROBREROUTE, GUIGlObjectType::GLO_REROUTER_DESTPROBREROUTE, currentTag, TL("DestinationProbabilityReroute"),
2072 {SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));
2073 // set values of attributes
2074 fillEdgeAttribute(myTagProperties[currentTag], true);
2075
2079 TL("SUMO Probability"),
2080 "1");
2081 }
2082 currentTag = SUMO_TAG_PARKING_AREA_REROUTE;
2083 {
2084 // set values of tag
2092 {SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));
2093 // set values of attributes
2094 auto parking = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING,
2097 TL("ParkingArea ID"));
2098 parking->setSynonym(SUMO_ATTR_ID);
2099
2103 TL("SUMO Probability"),
2104 "1");
2105
2109 TL("Enable or disable visibility for parking area reroutes"),
2111 }
2112 currentTag = SUMO_TAG_ROUTE_PROB_REROUTE;
2113 {
2114 // set values of tag
2121 GUIIcon::ROUTEPROBREROUTE, GUIGlObjectType::GLO_REROUTER_ROUTEPROBREROUTE, currentTag, TL("RouteProbabilityReroute"),
2122 {SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));
2123 // set values of attributes
2124 auto route = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,
2127 TL("Route"));
2128 route->setSynonym(SUMO_ATTR_ID);
2129
2133 TL("SUMO Probability"),
2134 "1");
2135 }
2136 currentTag = SUMO_TAG_VAPORIZER;
2137 {
2138 // set values of tag
2145 GUIIcon::VAPORIZER, GUIGlObjectType::GLO_VAPORIZER, currentTag, TL("Vaporizer"),
2146 {}, FXRGBA(253, 255, 206, 255));
2147 // set values of attributes
2148 fillEdgeAttribute(myTagProperties[currentTag], true);
2149
2151
2155 TL("Start Time"),
2156 "0");
2157
2161 TL("End Time"),
2162 "3600");
2163 }
2164}
2165
2166
2167void
2169 // fill shape ACs
2170 SumoXMLTag currentTag = SUMO_TAG_POLY;
2171 {
2172 // set values of tag
2173 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),
2179 GUIIcon::POLY, GUIGlObjectType::GLO_POLYGON, currentTag, TL("Polygon"),
2180 {}, FXRGBA(240, 255, 205, 255));
2181 // set values of attributes
2182 fillIDAttribute(myTagProperties[currentTag], true);
2183
2187 TL("The shape of the polygon"));
2188
2190
2191 fillColorAttribute(myTagProperties[currentTag], "red");
2192
2196 TL("An information whether the polygon shall be filled"),
2198
2202 TL("The default line width for drawing an unfilled polygon"),
2203 "1");
2204
2208 TL("The layer in which the polygon lies"),
2210
2214 TL("A typename for the polygon"),
2216
2217 fillImgFileAttribute(myTagProperties[currentTag], false);
2218
2222 TL("Angle of rendered image in degree"),
2224
2228 TL("Enable or disable GEO attributes"),
2230
2234 TL("A custom geo shape for this polygon"));
2235
2239 TL("Toggle close or open shape"));
2240 }
2241 currentTag = SUMO_TAG_POI;
2242 {
2243 // set values of tag
2244 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),
2250 GUIIcon::POI, GUIGlObjectType::GLO_POI, currentTag, TL("PointOfInterest"),
2251 {}, FXRGBA(210, 233, 255, 255));
2252 // set values of attributes
2253 fillIDAttribute(myTagProperties[currentTag], true);
2254
2258 TL("The position in view"));
2259
2260 // fill Poi attributes
2262 }
2263 currentTag = GNE_TAG_POILANE;
2264 {
2265 // set values of tag
2266 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),
2272 GUIIcon::POILANE, GUIGlObjectType::GLO_POI, SUMO_TAG_POI, TL("PointOfInterestLane"),
2273 {}, FXRGBA(210, 233, 255, 255));
2274 // set values of attributes
2275 fillIDAttribute(myTagProperties[currentTag], true);
2276
2277 fillLaneAttribute(myTagProperties[currentTag], false);
2278
2280
2282
2286 TL("The lateral offset on the named lane at which the POI is located at"),
2287 "0");
2288
2289 // fill Poi attributes
2291 }
2292 currentTag = GNE_TAG_POIGEO;
2293 {
2294 // set values of tag
2295 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),
2302 {}, FXRGBA(210, 233, 255, 255));
2303 // set values of attributes
2304 fillIDAttribute(myTagProperties[currentTag], true);
2305
2306 // set values of attributes
2310 TL("The longitude position of the parking vehicle on the view"));
2311
2315 TL("The latitude position of the parking vehicle on the view"));
2316
2317 // fill Poi attributes
2319 }
2320}
2321
2322
2323void
2325 // fill TAZ ACs
2326 SumoXMLTag currentTag = SUMO_TAG_TAZ;
2327 {
2328 // set values of tag
2329 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),
2335 GUIIcon::TAZ, GUIGlObjectType::GLO_TAZ, currentTag, TL("TrafficAssignmentZones"));
2336 // set values of attributes
2337 fillIDAttribute(myTagProperties[currentTag], true);
2338
2342 TL("The shape of the TAZ"));
2343
2347 TL("TAZ center"));
2348
2350
2351 fillColorAttribute(myTagProperties[currentTag], "red");
2352
2356 TL("An information whether the TAZ shall be filled"),
2358
2359 auto edgesWithin = new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_EDGES_WITHIN,
2362 TL("Use the edges within the shape"),
2364 edgesWithin->setAlternativeName(TL("edges within"));
2365 }
2366 currentTag = SUMO_TAG_TAZSOURCE;
2367 {
2368 // set values of tag
2369 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),
2375 GUIIcon::TAZEDGE, GUIGlObjectType::GLO_TAZ, currentTag, TL("TAZ Source"),
2376 {SUMO_TAG_TAZ});
2377 // set values of attributes
2378 fillEdgeAttribute(myTagProperties[currentTag], true);
2379
2383 TL("Depart weight associated to this Edge"),
2384 "1");
2385 }
2386 currentTag = SUMO_TAG_TAZSINK;
2387 {
2388 // set values of tag
2389 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),
2395 GUIIcon::TAZEDGE, GUIGlObjectType::GLO_TAZ, currentTag, TL("TAZ Sink"),
2396 {SUMO_TAG_TAZ});
2397 // set values of attributes
2398 fillEdgeAttribute(myTagProperties[currentTag], true);
2399
2403 TL("Arrival weight associated to this Edge"),
2404 "1");
2405 }
2406}
2407
2408
2409void
2411 // fill wire elements
2413 {
2414 // set tag properties
2415 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),
2421 GUIIcon::TRACTION_SUBSTATION, GUIGlObjectType::GLO_TRACTIONSUBSTATION, currentTag, TL("TractionSubstation"));
2422 // set attribute properties
2423 fillIDAttribute(myTagProperties[currentTag], true);
2424
2428 TL("X-Y position of detector in editor (Only used in netedit)"),
2429 "0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y
2430
2434 TL("Voltage of at connection point for the overhead wire"),
2435 "600");
2436
2440 TL("Current limit of the feeder line"),
2441 "400");
2442 }
2443 currentTag = SUMO_TAG_OVERHEAD_WIRE_SECTION;
2444 {
2445 // set tag properties
2446 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),
2453 // set attribute properties
2454 fillIDAttribute(myTagProperties[currentTag], true);
2455
2459 TL("Substation to which the circuit is connected"));
2460
2464 TL("List of consecutive lanes of the circuit"));
2465
2469 TL("Starting position in the specified lane"),
2470 "", "0");
2471
2475 TL("Ending position in the specified lane"),
2476 "", "INVALID_DOUBLE");
2477
2479
2483 TL("Inner lanes, where placing of overhead wire is restricted"));
2484 }
2485 currentTag = SUMO_TAG_OVERHEAD_WIRE_CLAMP;
2486 {
2487 // set tag properties
2488 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),
2495 // set attribute properties
2496 fillIDAttribute(myTagProperties[currentTag], true);
2497
2501 TL("ID of the overhead wire segment, to the start of which the overhead wire clamp is connected"));
2502
2506 TL("ID of the overhead wire segment lane of overheadWireIDStartClamp"));
2507
2511 TL("ID of the overhead wire segment, to the end of which the overhead wire clamp is connected"));
2512
2516 TL("ID of the overhead wire segment lane of overheadWireIDEndClamp"));
2517 }
2518}
2519
2520
2521void
2523 // fill shape ACs
2525 {
2526 // set values of tag
2527 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_JUPEDSIM),
2534 {}, FXRGBA(253, 255, 206, 255));
2535 // set values of attributes
2536 fillIDAttribute(myTagProperties[currentTag], true);
2537
2541 TL("The shape of the walkable area"));
2542
2544
2548 TL("Enable or disable GEO attributes"),
2550
2554 TL("A custom geo shape for this walkable area"));
2555 }
2556 currentTag = GNE_TAG_JPS_OBSTACLE;
2557 {
2558 // set values of tag
2559 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_JUPEDSIM),
2566 {}, FXRGBA(253, 255, 206, 255));
2567 // set values of attributes
2568 fillIDAttribute(myTagProperties[currentTag], true);
2569
2573 TL("The shape of the obstacle"));
2574
2576
2580 TL("Enable or disable GEO attributes"),
2582
2586 TL("A custom geo shape for this obstacle"));
2587 }
2588}
2589
2590
2591void
2593 // fill demand elements
2594 SumoXMLTag currentTag = SUMO_TAG_ROUTE;
2595 {
2596 // set values of tag
2603 GUIIcon::ROUTE, GUIGlObjectType::GLO_ROUTE, currentTag, TL("Route"));
2604
2605 // set values of attributes
2606 fillIDAttribute(myTagProperties[currentTag], true);
2607
2608 // add common route attributes
2610
2611 // add distribution probability
2613 }
2614 currentTag = GNE_TAG_ROUTE_EMBEDDED;
2615 {
2616 // set values of tag
2625
2626 // add common route attributes
2628 }
2629 currentTag = SUMO_TAG_ROUTE_DISTRIBUTION;
2630 {
2631 // set values of tag
2638 GUIIcon::ROUTEDISTRIBUTION, GUIGlObjectType::GLO_ROUTE_DISTRIBUTION, currentTag, TL("RouteDistribution"));
2639
2640 // set values of attributes
2641 fillIDAttribute(myTagProperties[currentTag], true);
2642 }
2643 currentTag = GNE_TAG_ROUTEREF;
2644 {
2645 // set values of tag
2652 GUIIcon::ROUTEREF, GUIGlObjectType::GLO_ROUTE_REF, currentTag, TL("Route (Ref)"),
2654
2658 TL("Reference ID of route"));
2659
2660 // add distribution probability
2661 fillDistributionProbability(myTagProperties[currentTag], false);
2662 }
2663 currentTag = SUMO_TAG_VTYPE;
2664 {
2665 // set values of tag
2672 GUIIcon::VTYPE, GUIGlObjectType::GLO_VTYPE, currentTag, TL("VehicleType"));
2673
2674 // set values of attributes
2675 fillIDAttribute(myTagProperties[currentTag], true);
2676
2677 // add common vType attributes
2679 }
2680 currentTag = SUMO_TAG_VTYPE_DISTRIBUTION;
2681 {
2682 // set values of tag
2690
2694 TL("Deterministic distribution"),
2695 "-1");
2696
2697 // set values of attributes
2698 fillIDAttribute(myTagProperties[currentTag], true);
2699 }
2700 currentTag = GNE_TAG_VTYPEREF;
2701 {
2702 // set values of tag
2709 GUIIcon::VTYPEREF, GUIGlObjectType::GLO_VTYPE_REF, currentTag, TL("VType (Ref)"),
2711
2715 TL("Reference ID of vType"));
2716
2717 // add distribution probability
2718 fillDistributionProbability(myTagProperties[currentTag], false);
2719 }
2720}
2721
2722
2723void
2725 // fill vehicle ACs
2726 SumoXMLTag currentTag = SUMO_TAG_TRIP;
2727 {
2728 // set values of tag
2735 GUIIcon::TRIP, GUIGlObjectType::GLO_TRIP, currentTag, TL("TripEdges"),
2736 {}, FXRGBA(253, 255, 206, 255), "trip (from-to edges)");
2737
2738 // set values of attributes
2739 fillIDAttribute(myTagProperties[currentTag], true);
2740
2744 TL("The ID of the edge the trip starts at"));
2745
2749 TL("The ID of the edge the trip ends at"));
2750
2754 TL("List of intermediate edge ids which shall be part of the trip"));
2755
2756 // add common attributes
2758
2760 }
2761 currentTag = GNE_TAG_TRIP_JUNCTIONS;
2762 {
2763 // set values of tag
2771 {}, FXRGBA(255, 213, 213, 255), "trip (from-to junctions)");
2772
2773 // set values of attributes
2774 fillIDAttribute(myTagProperties[currentTag], true);
2775
2779 TL("The name of the junction the trip starts at"));
2780
2784 TL("The name of the junction the trip ends at"));
2785
2786 // add common attributes
2788
2790 }
2791 currentTag = GNE_TAG_TRIP_TAZS;
2792 {
2793 // set values of tag
2801 {}, FXRGBA(240, 255, 205, 255), "trip (from-to TAZs)");
2802
2803 // set values of attributes
2804 fillIDAttribute(myTagProperties[currentTag], true);
2805
2809 TL("The name of the TAZ the trip starts at"));
2810
2814 TL("The name of the TAZ the trip ends at"));
2815
2816 // add common attributes
2818
2820 }
2821 currentTag = SUMO_TAG_VEHICLE;
2822 {
2823 // set values of tag
2831 {}, FXRGBA(210, 233, 255, 255), "vehicle (over route)");
2832
2833 // set values of attributes
2834 fillIDAttribute(myTagProperties[currentTag], true);
2835
2839 TL("The id of the route the vehicle shall drive along"));
2840
2841 // add common attributes
2843
2845 }
2846 currentTag = GNE_TAG_VEHICLE_WITHROUTE;
2847 {
2848 // set values of tag
2856 {}, FXRGBA(210, 233, 255, 255), "vehicle (embedded route)");
2857
2858 // set values of attributes
2859 fillIDAttribute(myTagProperties[currentTag], true);
2860
2861 // add common attributes
2863
2865 }
2866 currentTag = SUMO_TAG_FLOW;
2867 {
2868 // set values of tag
2875 GUIIcon::FLOW, GUIGlObjectType::GLO_FLOW, currentTag, TL("FlowEdges"),
2876 {}, FXRGBA(253, 255, 206, 255), "flow (from-to edges)");
2877
2878 // set values of attributes
2879 fillIDAttribute(myTagProperties[currentTag], true);
2880
2884 TL("The ID of the edge the flow starts at"));
2885
2889 TL("The ID of the edge the flow ends at"));
2890
2894 TL("List of intermediate edge ids which shall be part of the flow"));
2895
2896 // add common attributes
2898
2899 // add flow attributes
2901 }
2902 currentTag = GNE_TAG_FLOW_JUNCTIONS;
2903 {
2904 // set values of tag
2912 {}, FXRGBA(255, 213, 213, 255), "flow (from-to junctions)");
2913
2914 // set values of attributes
2915 fillIDAttribute(myTagProperties[currentTag], true);
2916
2920 TL("The name of the junction the flow starts at"));
2921
2925 TL("The name of the junction the flow ends at"));
2926
2927 // add common attributes
2929
2930 // add flow attributes
2932 }
2933 currentTag = GNE_TAG_FLOW_TAZS;
2934 {
2935 // set values of tag
2943 {}, FXRGBA(240, 255, 205, 255), "flow (from-to TAZs)");
2944
2945 // set values of attributes
2946 fillIDAttribute(myTagProperties[currentTag], true);
2947
2951 TL("The name of the TAZ the flow starts at"));
2952
2956 TL("The name of the TAZ the flow ends at"));
2957
2958 // add common attributes
2960
2961 // add flow attributes
2963 }
2964 currentTag = GNE_TAG_FLOW_ROUTE;
2965 {
2966 // set values of tag
2974 {}, FXRGBA(210, 233, 255, 255), "flow (over route)");
2975
2976 // set values of attributes
2977 fillIDAttribute(myTagProperties[currentTag], true);
2978
2982 TL("The id of the route the flow shall drive along"));
2983
2984 // add common attributes
2986
2987 // add flow attributes
2989 }
2990 currentTag = GNE_TAG_FLOW_WITHROUTE;
2991 {
2992 // set values of tag
3000 {}, FXRGBA(210, 233, 255, 255), "flow (embedded route)");
3001
3002 // set values of attributes
3003 fillIDAttribute(myTagProperties[currentTag], true);
3004
3005 // add common attributes
3007
3008 // add flow attributes
3010 }
3011}
3012
3013
3014void
3016 // fill stops ACs
3017 SumoXMLTag currentTag = GNE_TAG_STOP_LANE;
3018 {
3019 // set values of tag
3020 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3027 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3028 // set values of attributes
3029 fillLaneAttribute(myTagProperties[currentTag], false);
3030
3034 TL("The begin position on the lane (the lower position on the lane) in meters"));
3035
3039 TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));
3040
3042
3046 TL("The lateral offset on the named lane at which the vehicle must stop"));
3047
3048 // fill common stop attributes
3049 fillCommonStopAttributes(myTagProperties[currentTag], false);
3050 /*
3051 // netedit attributes
3052 new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SIZE,
3053 GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Edit::NETEDITEDITOR,
3054 TLF("Length of %", myTagProperties[currentTag]->getTagStr()));
3055
3056 new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_FORCESIZE,
3057 GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Edit::NETEDITEDITOR,
3058 GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
3059 TL("Force size during creation"),
3060 GNEAttributeCarrier::FALSE_STR);
3061
3062 new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_REFERENCE,
3063 GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Edit::NETEDITEDITOR,
3064 TLF("Reference position used for creating %", myTagProperties[currentTag]->getTagStr()));
3065 attrProperty->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());
3066 */
3067 }
3068 currentTag = GNE_TAG_STOP_BUSSTOP;
3069 {
3070 // set values of tag
3071 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3078 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3079 // set values of attributes
3083 TL("BusStop associated with this stop"));
3084
3085 // fill common stop attributes
3086 fillCommonStopAttributes(myTagProperties[currentTag], false);
3087 }
3088 currentTag = GNE_TAG_STOP_TRAINSTOP;
3089 {
3090 // set values of tag
3091 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3098 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3099 // set values of attributes
3103 TL("TrainStop associated with this stop"));
3104
3105 // fill common stop attributes
3106 fillCommonStopAttributes(myTagProperties[currentTag], false);
3107 }
3108 currentTag = GNE_TAG_STOP_CONTAINERSTOP;
3109 {
3110 // set values of tag
3111 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3118 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3119 // set values of attributes
3123 TL("ContainerStop associated with this stop"));
3124
3125 // fill common stop attributes
3126 fillCommonStopAttributes(myTagProperties[currentTag], false);
3127 }
3128 currentTag = GNE_TAG_STOP_CHARGINGSTATION;
3129 {
3130 // set values of tag
3131 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3138 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3139 // set values of attributes
3143 TL("ChargingStation associated with this stop"));
3144
3145 // fill common stop attributes
3146 fillCommonStopAttributes(myTagProperties[currentTag], false);
3147 }
3148 currentTag = GNE_TAG_STOP_PARKINGAREA;
3149 {
3150 // set values of tag
3151 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3158 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3159 // set values of attributes
3163 TL("ParkingArea associated with this stop"));
3164
3165 // fill common stop attributes (no parking)
3166 fillCommonStopAttributes(myTagProperties[currentTag], false);
3167 }
3168}
3169
3170
3171void
3173 // fill waypoints ACs
3174 SumoXMLTag currentTag = GNE_TAG_WAYPOINT_LANE;
3175 {
3176 // set values of tag
3177 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3184 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3185 // set values of attributes
3186 fillLaneAttribute(myTagProperties[currentTag], false);
3187
3191 TL("The begin position on the lane (the lower position on the lane) in meters"));
3192
3196 TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));
3197
3199
3203 TL("The lateral offset on the named lane at which the vehicle must waypoint"));
3204
3205 // fill common waypoint (stop) attributes
3206 fillCommonStopAttributes(myTagProperties[currentTag], true);
3207 /*
3208 // netedit attributes
3209 new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SIZE,
3210 GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Edit::NETEDITEDITOR,
3211 TLF("Length of %", myTagProperties[currentTag]->getTagStr()));
3212
3213 new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_FORCESIZE,
3214 GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Edit::NETEDITEDITOR,
3215 GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
3216 TL("Force size during creation"),
3217 GNEAttributeCarrier::FALSE_STR);
3218
3219 new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_REFERENCE,
3220 GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Edit::NETEDITEDITOR,
3221 TLF("Reference position used for creating %", myTagProperties[currentTag]->getTagStr()));
3222 attrProperty->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());
3223 */
3224 }
3225 currentTag = GNE_TAG_WAYPOINT_BUSSTOP;
3226 {
3227 // set values of tag
3228 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3235 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3236 // set values of attributes
3240 TL("BusWaypoint associated with this waypoint"));
3241
3242 // fill common waypoint (stop) attributes
3243 fillCommonStopAttributes(myTagProperties[currentTag], true);
3244 }
3245 currentTag = GNE_TAG_WAYPOINT_TRAINSTOP;
3246 {
3247 // set values of tag
3248 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3255 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3256 // set values of attributes
3260 TL("TrainWaypoint associated with this waypoint"));
3261
3262 // fill common waypoint (stop) attributes
3263 fillCommonStopAttributes(myTagProperties[currentTag], true);
3264 }
3265 currentTag = GNE_TAG_WAYPOINT_CONTAINERSTOP;
3266 {
3267 // set values of tag
3268 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3274 GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointContainerStop"),
3275 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3276 // set values of attributes
3280 TL("ContainerWaypoint associated with this waypoint"));
3281
3282 // fill common waypoint (stop) attributes
3283 fillCommonStopAttributes(myTagProperties[currentTag], true);
3284 }
3286 {
3287 // set values of tag
3288 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3294 GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointChargingStation"),
3295 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3296 // set values of attributes
3300 TL("ChargingStation associated with this waypoint"));
3301
3302 // fill common waypoint (stop) attributes
3303 fillCommonStopAttributes(myTagProperties[currentTag], true);
3304 }
3305 currentTag = GNE_TAG_WAYPOINT_PARKINGAREA;
3306 {
3307 // set values of tag
3308 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3315 {SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3316 // set values of attributes
3320 TL("ParkingArea associated with this waypoint"));
3321
3322 // fill common waypoint (stop) attributes
3323 fillCommonStopAttributes(myTagProperties[currentTag], true);
3324 }
3325}
3326
3327
3328void
3330 // fill vehicle ACs
3331 SumoXMLTag currentTag = SUMO_TAG_PERSON;
3332 {
3333 // set values of tag
3340 GUIIcon::PERSON, GUIGlObjectType::GLO_PERSON, currentTag, TL("Person"));
3341
3342 // add flow attributes
3344
3346
3347 }
3348 currentTag = SUMO_TAG_PERSONFLOW;
3349 {
3350 // set values of tag
3357 GUIIcon::PERSONFLOW, GUIGlObjectType::GLO_PERSONFLOW, currentTag, TL("PersonFlow"));
3358
3359 // add flow attributes
3361
3362 // add flow attributes
3364 }
3365}
3366
3367
3368void
3370 // fill vehicle ACs
3371 SumoXMLTag currentTag = SUMO_TAG_CONTAINER;
3372 {
3373 // set values of tag
3380 GUIIcon::CONTAINER, GUIGlObjectType::GLO_CONTAINER, currentTag, TL("Container"));
3381
3382 // add flow attributes
3384
3386 }
3387 currentTag = SUMO_TAG_CONTAINERFLOW;
3388 {
3389 // set values of tag
3396 GUIIcon::CONTAINERFLOW, GUIGlObjectType::GLO_CONTAINERFLOW, currentTag, TL("ContainerFlow"));
3397
3398 // add common container attribute
3400
3401 // add flow attributes
3403 }
3404}
3405
3406
3407void
3409 // declare common tag types and properties
3412 const auto files = FileBucket::Type::NOTHING;
3413 const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
3414 const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});
3415 const unsigned int color = FXRGBA(240, 255, 205, 255);
3416 const GUIIcon icon = GUIIcon::TRANSPORT_EDGE;
3418 const SumoXMLTag xmlTag = SUMO_TAG_TRANSPORT;
3419 // from edge
3421 {
3422 // set values of tag
3423 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3425 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("edge")), parents, color);
3426 // set values of attributes
3429 }
3430 currentTag = GNE_TAG_TRANSPORT_EDGE_BUSSTOP;
3431 {
3432 // set values of tag
3433 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3435 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("busStop")), parents, color);
3436 // set values of attributes
3439 }
3441 {
3442 // set values of tag
3443 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3445 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("trainStop")), parents, color);
3446 // set values of attributes
3449 }
3451 {
3452 // set values of tag
3453 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3455 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("containerStop")), parents, color);
3456 // set values of attributes
3459 }
3461 {
3462 // set values of tag
3463 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3465 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("chargingStation")), parents, color);
3466 // set values of attributes
3469 }
3471 {
3472 // set values of tag
3473 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3475 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("parkingArea")), parents, color);
3476 // set values of attributes
3479 }
3480 // from busStop
3481 currentTag = GNE_TAG_TRANSPORT_BUSSTOP_EDGE;
3482 {
3483 // set values of tag
3484 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3486 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("edge")), parents, color);
3487 // set values of attributes
3490 }
3492 {
3493 // set values of tag
3494 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3496 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("busStop")), parents, color);
3497 // set values of attributes
3500 }
3502 {
3503 // set values of tag
3504 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3506 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("trainStop")), parents, color);
3507 // set values of attributes
3510 }
3512 {
3513 // set values of tag
3514 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3516 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("containerStop")), parents, color);
3517 // set values of attributes
3520 }
3522 {
3523 // set values of tag
3524 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3526 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("chargingStation")), parents, color);
3527 // set values of attributes
3530 }
3532 {
3533 // set values of tag
3534 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3536 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("parkingArea")), parents, color);
3537 // set values of attributes
3540 }
3541 // from trainStop
3543 {
3544 // set values of tag
3545 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3547 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("edge")), parents, color);
3548 // set values of attributes
3551 }
3553 {
3554 // set values of tag
3555 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3557 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("busStop")), parents, color);
3558 // set values of attributes
3561 }
3563 {
3564 // set values of tag
3565 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3567 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("trainStop")), parents, color);
3568 // set values of attributes
3571 }
3573 {
3574 // set values of tag
3575 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3577 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("containerStop")), parents, color);
3578 // set values of attributes
3581 }
3583 {
3584 // set values of tag
3585 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3587 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("chargingStation")), parents, color);
3588 // set values of attributes
3591 }
3593 {
3594 // set values of tag
3595 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3597 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("parkingArea")), parents, color);
3598 // set values of attributes
3601 }
3602 // from containerStop
3604 {
3605 // set values of tag
3606 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3608 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("edge")), parents, color);
3609 // set values of attributes
3612 }
3614 {
3615 // set values of tag
3616 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3618 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("busStop")), parents, color);
3619 // set values of attributes
3622 }
3624 {
3625 // set values of tag
3626 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3628 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("trainStop")), parents, color);
3629 // set values of attributes
3632 }
3634 {
3635 // set values of tag
3636 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3638 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("containerStop")), parents, color);
3639 // set values of attributes
3642 }
3644 {
3645 // set values of tag
3646 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3648 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("chargingStation")), parents, color);
3649 // set values of attributes
3652 }
3654 {
3655 // set values of tag
3656 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3658 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("parkingArea")), parents, color);
3659
3660 // set values of attributes
3663 }
3664 // from chargingStation
3666 {
3667 // set values of tag
3668 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3670 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("edge")), parents, color);
3671 // set values of attributes
3674 }
3676 {
3677 // set values of tag
3678 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3680 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("busStop")), parents, color);
3681 // set values of attributes
3684 }
3686 {
3687 // set values of tag
3688 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3690 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("trainStop")), parents, color);
3691 // set values of attributes
3694 }
3696 {
3697 // set values of tag
3698 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3700 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("containerStop")), parents, color);
3701 // set values of attributes
3704 }
3706 {
3707 // set values of tag
3708 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3710 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("chargingStation")), parents, color);
3711 // set values of attributes
3714 }
3716 {
3717 // set values of tag
3718 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3720 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("parkingArea")), parents, color);
3721 // set values of attributes
3724 }
3725 // from parkingArea
3727 {
3728 // set values of tag
3729 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3731 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("edge")), parents, color);
3732 // set values of attributes
3735 }
3737 {
3738 // set values of tag
3739 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3741 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("busStop")), parents, color);
3742 // set values of attributes
3745 }
3747 {
3748 // set values of tag
3749 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3751 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("trainStop")), parents, color);
3752 // set values of attributes
3755 }
3757 {
3758 // set values of tag
3759 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3761 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("containerStop")), parents, color);
3762 // set values of attributes
3765 }
3767 {
3768 // set values of tag
3769 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3771 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("chargingStation")), parents, color);
3772 // set values of attributes
3775 }
3777 {
3778 // set values of tag
3779 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3781 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("parkingArea")), parents, color);
3782 // set values of attributes
3785 }
3786}
3787
3788
3789void
3791 // declare common tag types and properties
3794 const auto files = FileBucket::Type::NOTHING;
3795 const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
3796 const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});
3797 const unsigned int color = FXRGBA(210, 233, 255, 255);
3798 const GUIIcon icon = GUIIcon::TRANSHIP_EDGES;
3800 const SumoXMLTag xmlTag = SUMO_TAG_TRANSHIP;
3801 // fill tags
3803 {
3804 // set values of tag
3805 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3807 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Tranship"), TL("edges")), parents, color);
3808 // set values of attributes
3811 }
3812 // from edge
3813 currentTag = GNE_TAG_TRANSHIP_EDGE_EDGE;
3814 {
3815 // set values of tag
3816 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3818 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("edge")), parents, color);
3819 // set values of attributes
3822 }
3823 currentTag = GNE_TAG_TRANSHIP_EDGE_BUSSTOP;
3824 {
3825 // set values of tag
3826 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3828 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("busStop")), parents, color);
3829 // set values of attributes
3832 }
3834 {
3835 // set values of tag
3836 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3838 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("trainStop")), parents, color);
3839 // set values of attributes
3842 }
3844 {
3845 // set values of tag
3846 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3848 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("containerStop")), parents, color);
3849 // set values of attributes
3852 }
3854 {
3855 // set values of tag
3856 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3858 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("chargingStation")), parents, color);
3859 // set values of attributes
3862 }
3864 {
3865 // set values of tag
3866 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3868 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("parkingArea")), parents, color);
3869 // set values of attributes
3872 }
3873 // from busStop
3874 currentTag = GNE_TAG_TRANSHIP_BUSSTOP_EDGE;
3875 {
3876 // set values of tag
3877 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3879 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("edge")), parents, color);
3880 // set values of attributes
3883 }
3885 {
3886 // set values of tag
3887 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3889 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("busStop")), parents, color);
3890 // set values of attributes
3893 }
3895 {
3896 // set values of tag
3897 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3899 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("trainStop")), parents, color);
3900 // set values of attributes
3903 }
3905 {
3906 // set values of tag
3907 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3909 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("containerStop")), parents, color);
3910 // set values of attributes
3913 }
3915 {
3916 // set values of tag
3917 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3919 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("chargingStation")), parents, color);
3920 // set values of attributes
3923 }
3925 {
3926 // set values of tag
3927 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3929 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("parkingArea")), parents, color);
3930 // set values of attributes
3933 }
3934 // from trainStop
3936 {
3937 // set values of tag
3938 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3940 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("edge")), parents, color);
3941 // set values of attributes
3944 }
3946 {
3947 // set values of tag
3948 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3950 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("busStop")), parents, color);
3951 // set values of attributes
3954 }
3956 {
3957 // set values of tag
3958 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3960 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("trainStop")), parents, color);
3961 // set values of attributes
3964 }
3966 {
3967 // set values of tag
3968 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3970 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("containerStop")), parents, color);
3971 // set values of attributes
3974 }
3976 {
3977 // set values of tag
3978 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3980 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("chargingStation")), parents, color);
3981 // set values of attributes
3984 }
3986 {
3987 // set values of tag
3988 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3990 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("parkingArea")), parents, color);
3991 // set values of attributes
3994 }
3995 // from containerStop
3997 {
3998 // set values of tag
3999 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4001 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("edge")), parents, color);
4002 // set values of attributes
4005 }
4007 {
4008 // set values of tag
4009 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4011 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("busStop")), parents, color);
4012 // set values of attributes
4015 }
4017 {
4018 // set values of tag
4019 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4021 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("trainStop")), parents, color);
4022 // set values of attributes
4025 }
4027 {
4028 // set values of tag
4029 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4031 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("containerStop")), parents, color);
4032 // set values of attributes
4035 }
4037 {
4038 // set values of tag
4039 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4041 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("chargingStation")), parents, color);
4042 // set values of attributes
4045 }
4047 {
4048 // set values of tag
4049 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4051 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("parkingArea")), parents, color);
4052 // set values of attributes
4055 }
4056 // from chargingStation
4058 {
4059 // set values of tag
4060 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4062 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("edge")), parents, color);
4063 // set values of attributes
4066 }
4068 {
4069 // set values of tag
4070 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4072 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("busStop")), parents, color);
4073 // set values of attributes
4076 }
4078 {
4079 // set values of tag
4080 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4082 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("trainStop")), parents, color);
4083 // set values of attributes
4086 }
4088 {
4089 // set values of tag
4090 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4092 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("containerStop")), parents, color);
4093 // set values of attributes
4096 }
4098 {
4099 // set values of tag
4100 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4102 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("chargingStation")), parents, color);
4103 // set values of attributes
4106 }
4108 {
4109 // set values of tag
4110 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4112 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("parkingArea")), parents, color);
4113 // set values of attributes
4116 }
4117 // from parkingArea
4119 {
4120 // set values of tag
4121 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4123 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("edge")), parents, color);
4124 // set values of attributes
4127 }
4129 {
4130 // set values of tag
4131 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4133 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("busStop")), parents, color);
4134 // set values of attributes
4137 }
4139 {
4140 // set values of tag
4141 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4143 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("trainStop")), parents, color);
4144 // set values of attributes
4147 }
4149 {
4150 // set values of tag
4151 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4153 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("containerStop")), parents, color);
4154 // set values of attributes
4157 }
4159 {
4160 // set values of tag
4161 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4163 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("chargingStation")), parents, color);
4164 // set values of attributes
4167 }
4169 {
4170 // set values of tag
4171 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4173 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("parkingArea")), parents, color);
4174 // set values of attributes
4177 }
4178}
4179
4180
4181void
4183 // declare common tag types and properties
4186 const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
4187 const auto files = FileBucket::Type::NOTHING;
4188 const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});
4189 const unsigned int color = FXRGBA(255, 213, 213, 255);
4190 const GUIIcon icon = GUIIcon::STOPELEMENT;
4192 const SumoXMLTag xmlTag = SUMO_TAG_STOP;
4193 // fill tags
4195 {
4196 // set values of tag
4197 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4199 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("edge")), parents, color);
4200
4201 // set values of attributes
4204 }
4205 currentTag = GNE_TAG_STOPCONTAINER_BUSSTOP;
4206 {
4207 // set values of tag
4208 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4210 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("busStop")), parents, color);
4211
4212 // set values of attributes
4215 }
4217 {
4218 // set values of tag
4219 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4221 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("trainStop")), parents, color);
4222
4223 // set values of attributes
4226 }
4228 {
4229 // set values of tag
4230 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4232 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("containerStop")), parents, color);
4233
4234 // set values of attributes
4237 }
4239 {
4240 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4242 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("chargingStation")), parents, color);
4243
4244 // set values of attributes
4247 }
4249 {
4250 // set values of tag
4251 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4253 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("parkingArea")), parents, color);
4254
4255 // set values of attributes
4258 }
4259}
4260
4261
4262void
4264 // declare common tag types and properties
4267 const auto tagPropertyTAZ = GNETagProperties::Property::RTREE | tagProperty;
4268 const auto files = FileBucket::Type::NOTHING;
4269 const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
4270 const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});
4271 const unsigned int color = FXRGBA(253, 255, 206, 255);
4272 const GUIIcon icon = GUIIcon::PERSONTRIP_EDGE;
4274 const SumoXMLTag xmlTag = SUMO_TAG_PERSONTRIP;
4275 // from edge
4277 {
4278 // set values of tag
4279 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4281 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("edge")), parents, color);
4282 // set values of attributes
4285 }
4286 currentTag = GNE_TAG_PERSONTRIP_EDGE_TAZ;
4287 {
4288 // set values of tag
4289 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4291 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("taz")), parents, color);
4292 // set values of attributes
4295 }
4297 {
4298 // set values of tag
4299 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4301 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("junction")), parents, color);
4302 // set values of attributes
4305 }
4307 {
4308 // set values of tag
4309 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4311 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("busStop")), parents, color);
4312 // set values of attributes
4315 }
4317 {
4318 // set values of tag
4319 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4321 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("trainStop")), parents, color);
4322 // set values of attributes
4325 }
4327 {
4328 // set values of tag
4329 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4331 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("containerStop")), parents, color);
4332 // set values of attributes
4335 }
4337 {
4338 // set values of tag
4339 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4341 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("chargingStation")), parents, color);
4342 // set values of attributes
4345 }
4347 {
4348 // set values of tag
4349 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4351 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("parkingArea")), parents, color);
4352 // set values of attributes
4355 }
4356 // from taz
4357 currentTag = GNE_TAG_PERSONTRIP_TAZ_EDGE;
4358 {
4359 // set values of tag
4360 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4362 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("taz")), parents, color);
4363 // set values of attributes
4366 }
4367 currentTag = GNE_TAG_PERSONTRIP_TAZ_TAZ;
4368 {
4369 // set values of tag
4370 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4372 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("taz")), parents, color);
4373 // set values of attributes
4376 }
4378 {
4379 // set values of tag
4380 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4382 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("junction")), parents, color);
4383 // set values of attributes
4386 }
4387 currentTag = GNE_TAG_PERSONTRIP_TAZ_BUSSTOP;
4388 {
4389 // set values of tag
4390 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4392 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("busStop")), parents, color);
4393 // set values of attributes
4396 }
4398 {
4399 // set values of tag
4400 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4402 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("trainStop")), parents, color);
4403 // set values of attributes
4406 }
4408 {
4409 // set values of tag
4410 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4412 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("containerStop")), parents, color);
4413 // set values of attributes
4416 }
4418 {
4419 // set values of tag
4420 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4422 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("chargingStation")), parents, color);
4423 // set values of attributes
4426 }
4428 {
4429 // set values of tag
4430 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4432 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("parkingArea")), parents, color);
4433 // set values of attributes
4436 }
4437 // from junction
4439 {
4440 // set values of tag
4441 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4443 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("edge")), parents, color);
4444 // set values of attributes
4447 }
4449 {
4450 // set values of tag
4451 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4453 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("taz")), parents, color);
4454 // set values of attributes
4457 }
4459 {
4460 // set values of tag
4461 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4463 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("junction")), parents, color);
4464 // set values of attributes
4467 }
4469 {
4470 // set values of tag
4471 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4473 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("busStop")), parents, color);
4474 // set values of attributes
4477 }
4479 {
4480 // set values of tag
4481 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4483 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("trainStop")), parents, color);
4484 // set values of attributes
4487 }
4489 {
4490 // set values of tag
4491 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4493 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("containerStop")), parents, color);
4494 // set values of attributes
4497 }
4499 {
4500 // set values of tag
4501 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4503 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("chargingStation")), parents, color);
4504 // set values of attributes
4507 }
4509 {
4510 // set values of tag
4511 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4513 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("parkingArea")), parents, color);
4514 // set values of attributes
4517 }
4518 // from busStop
4520 {
4521 // set values of tag
4522 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4524 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("edge")), parents, color);
4525 // set values of attributes
4528 }
4529 currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_TAZ;
4530 {
4531 // set values of tag
4532 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4534 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("taz")), parents, color);
4535 // set values of attributes
4538 }
4540 {
4541 // set values of tag
4542 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4544 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("junction")), parents, color);
4545 // set values of attributes
4548 }
4550 {
4551 // set values of tag
4552 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4554 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("busStop")), parents, color);
4555 // set values of attributes
4558 }
4560 {
4561 // set values of tag
4562 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4564 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("trainStop")), parents, color);
4565 // set values of attributes
4568 }
4570 {
4571 // set values of tag
4572 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4574 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("containerStop")), parents, color);
4575 // set values of attributes
4578 }
4580 {
4581 // set values of tag
4582 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4584 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("chargingStation")), parents, color);
4585 // set values of attributes
4588 }
4590 {
4591 // set values of tag
4592 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4594 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("parkingArea")), parents, color);
4595 // set values of attributes
4598 }
4599 // from trainStop
4601 {
4602 // set values of tag
4603 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4605 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("edge")), parents, color);
4606 // set values of attributes
4609 }
4611 {
4612 // set values of tag
4613 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4615 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("taz")), parents, color);
4616 // set values of attributes
4619 }
4621 {
4622 // set values of tag
4623 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4625 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("junction")), parents, color);
4626 // set values of attributes
4629 }
4631 {
4632 // set values of tag
4633 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4635 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("busStop")), parents, color);
4636 // set values of attributes
4639 }
4641 {
4642 // set values of tag
4643 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4645 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("trainStop")), parents, color);
4646 // set values of attributes
4649 }
4651 {
4652 // set values of tag
4653 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4655 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("containerStop")), parents, color);
4656 // set values of attributes
4659 }
4661 {
4662 // set values of tag
4663 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4665 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("chargingStation")), parents, color);
4666 // set values of attributes
4669 }
4671 {
4672 // set values of tag
4673 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4675 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("parkingArea")), parents, color);
4676 // set values of attributes
4679 }
4680 // from containerStop
4682 {
4683 // set values of tag
4684 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4686 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("edge")), parents, color);
4687 // set values of attributes
4690 }
4692 {
4693 // set values of tag
4694 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4696 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("taz")), parents, color);
4697 // set values of attributes
4700 }
4702 {
4703 // set values of tag
4704 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4706 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("junction")), parents, color);
4707 // set values of attributes
4710 }
4712 {
4713 // set values of tag
4714 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4716 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("busStop")), parents, color);
4717 // set values of attributes
4720 }
4722 {
4723 // set values of tag
4724 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4726 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("trainStop")), parents, color);
4727 // set values of attributes
4730 }
4732 {
4733 // set values of tag
4734 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4736 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("containerStop")), parents, color);
4737 // set values of attributes
4740 }
4742 {
4743 // set values of tag
4744 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4746 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("chargingStation")), parents, color);
4747 // set values of attributes
4750 }
4752 {
4753 // set values of tag
4754 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4756 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("parkingArea")), parents, color);
4757 // set values of attributes
4760 }
4761 // from chargingStation
4763 {
4764 // set values of tag
4765 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4767 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("edge")), parents, color);
4768 // set values of attributes
4771 }
4773 {
4774 // set values of tag
4775 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4777 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("taz")), parents, color);
4778 // set values of attributes
4781 }
4783 {
4784 // set values of tag
4785 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4787 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("junction")), parents, color);
4788 // set values of attributes
4791 }
4793 {
4794 // set values of tag
4795 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4797 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("busStop")), parents, color);
4798 // set values of attributes
4801 }
4803 {
4804 // set values of tag
4805 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4807 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("trainStop")), parents, color);
4808 // set values of attributes
4811 }
4813 {
4814 // set values of tag
4815 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4817 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("containerStop")), parents, color);
4818 // set values of attributes
4821 }
4823 {
4824 // set values of tag
4825 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4827 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("chargingStation")), parents, color);
4828 // set values of attributes
4831 }
4833 {
4834 // set values of tag
4835 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4837 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("parkingArea")), parents, color);
4838 // set values of attributes
4841 }
4842 // from parkingArea
4844 {
4845 // set values of tag
4846 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4848 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("edge")), parents, color);
4849 // set values of attributes
4852 }
4854 {
4855 // set values of tag
4856 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4858 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("taz")), parents, color);
4859 // set values of attributes
4862 }
4864 {
4865 // set values of tag
4866 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4868 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("junction")), parents, color);
4869 // set values of attributes
4872 }
4874 {
4875 // set values of tag
4876 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4878 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("busStop")), parents, color);
4879 // set values of attributes
4882 }
4884 {
4885 // set values of tag
4886 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4888 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("trainStop")), parents, color);
4889 // set values of attributes
4892 }
4894 {
4895 // set values of tag
4896 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4898 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("containerStop")), parents, color);
4899 // set values of attributes
4902 }
4904 {
4905 // set values of tag
4906 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4908 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("chargingStation")), parents, color);
4909 // set values of attributes
4912 }
4914 {
4915 // set values of tag
4916 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4918 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("parkingArea")), parents, color);
4919 // set values of attributes
4922 }
4923}
4924
4925
4926void
4928 // declare common tag types and properties
4931 const auto tagPropertyTAZ = GNETagProperties::Property::RTREE | tagProperty;
4932 const auto files = FileBucket::Type::NOTHING;
4933 const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
4934 const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});
4935 const unsigned int color = FXRGBA(240, 255, 205, 255);
4936 const GUIIcon icon = GUIIcon::WALK_EDGES;
4938 const SumoXMLTag xmlTag = SUMO_TAG_WALK;
4939 // fill tags
4940 SumoXMLTag currentTag = GNE_TAG_WALK_EDGES;
4941 {
4942 // set values of tag
4943 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
4945 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Walk"), TL("edges")), parents, color);
4946 // set values of attributes
4949 }
4950 currentTag = GNE_TAG_WALK_ROUTE;
4951 {
4952 // set values of tag
4953 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
4955 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Walk"), TL("route")), parents, color);
4956 // set values of attributes
4959 }
4960 // from edge
4961 currentTag = GNE_TAG_WALK_EDGE_EDGE;
4962 {
4963 // set values of tag
4964 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
4966 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("edge")), parents, color);
4967 // set values of attributes
4970 }
4971 currentTag = GNE_TAG_WALK_EDGE_TAZ;
4972 {
4973 // set values of tag
4974 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
4976 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("taz")), parents, color);
4977 // set values of attributes
4980 }
4981 currentTag = GNE_TAG_WALK_EDGE_JUNCTION;
4982 {
4983 // set values of tag
4984 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
4986 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("junction")), parents, color);
4987 // set values of attributes
4990 }
4991 currentTag = GNE_TAG_WALK_EDGE_BUSSTOP;
4992 {
4993 // set values of tag
4994 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
4996 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("busStop")), parents, color);
4997 // set values of attributes
5000 }
5001 currentTag = GNE_TAG_WALK_EDGE_TRAINSTOP;
5002 {
5003 // set values of tag
5004 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5006 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("trainStop")), parents, color);
5007 // set values of attributes
5010 }
5012 {
5013 // set values of tag
5014 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5016 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("containerStop")), parents, color);
5017 // set values of attributes
5020 }
5022 {
5023 // set values of tag
5024 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5026 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("chargingStation")), parents, color);
5027 // set values of attributes
5030 }
5031 currentTag = GNE_TAG_WALK_EDGE_PARKINGAREA;
5032 {
5033 // set values of tag
5034 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5036 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("parkingArea")), parents, color);
5037 // set values of attributes
5040 }
5041 // from taz
5042 currentTag = GNE_TAG_WALK_TAZ_EDGE;
5043 {
5044 // set values of tag
5045 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5047 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("taz")), parents, color);
5048 // set values of attributes
5051 }
5052 currentTag = GNE_TAG_WALK_TAZ_TAZ;
5053 {
5054 // set values of tag
5055 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5057 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("taz")), parents, color);
5058 // set values of attributes
5061 }
5062 currentTag = GNE_TAG_WALK_TAZ_JUNCTION;
5063 {
5064 // set values of tag
5065 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5067 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("junction")), parents, color);
5068 // set values of attributes
5071 }
5072 currentTag = GNE_TAG_WALK_TAZ_BUSSTOP;
5073 {
5074 // set values of tag
5075 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5077 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("busStop")), parents, color);
5078 // set values of attributes
5081 }
5082 currentTag = GNE_TAG_WALK_TAZ_TRAINSTOP;
5083 {
5084 // set values of tag
5085 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5087 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("trainStop")), parents, color);
5088 // set values of attributes
5091 }
5092 currentTag = GNE_TAG_WALK_TAZ_CONTAINERSTOP;
5093 {
5094 // set values of tag
5095 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5097 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("containerStop")), parents, color);
5098 // set values of attributes
5101 }
5103 {
5104 // set values of tag
5105 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5107 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("chargingStation")), parents, color);
5108 // set values of attributes
5111 }
5112 currentTag = GNE_TAG_WALK_TAZ_PARKINGAREA;
5113 {
5114 // set values of tag
5115 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5117 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("parkingArea")), parents, color);
5118 // set values of attributes
5121 }
5122 // from junction
5123 currentTag = GNE_TAG_WALK_JUNCTION_EDGE;
5124 {
5125 // set values of tag
5126 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5128 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("edge")), parents, color);
5129 // set values of attributes
5132 }
5133 currentTag = GNE_TAG_WALK_JUNCTION_TAZ;
5134 {
5135 // set values of tag
5136 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5138 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("taz")), parents, color);
5139 // set values of attributes
5142 }
5143 currentTag = GNE_TAG_WALK_JUNCTION_JUNCTION;
5144 {
5145 // set values of tag
5146 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5148 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("junction")), parents, color);
5149 // set values of attributes
5152 }
5153 currentTag = GNE_TAG_WALK_JUNCTION_BUSSTOP;
5154 {
5155 // set values of tag
5156 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5158 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("busStop")), parents, color);
5159 // set values of attributes
5162 }
5164 {
5165 // set values of tag
5166 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5168 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("trainStop")), parents, color);
5169 // set values of attributes
5172 }
5174 {
5175 // set values of tag
5176 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5178 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("containerStop")), parents, color);
5179 // set values of attributes
5182 }
5184 {
5185 // set values of tag
5186 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5188 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("chargingStation")), parents, color);
5189 // set values of attributes
5192 }
5194 {
5195 // set values of tag
5196 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5198 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("parkingArea")), parents, color);
5199 // set values of attributes
5202 }
5203 // from busStop
5204 currentTag = GNE_TAG_WALK_BUSSTOP_EDGE;
5205 {
5206 // set values of tag
5207 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5209 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("edge")), parents, color);
5210 // set values of attributes
5213 }
5214 currentTag = GNE_TAG_WALK_BUSSTOP_TAZ;
5215 {
5216 // set values of tag
5217 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5219 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("taz")), parents, color);
5220 // set values of attributes
5223 }
5224 currentTag = GNE_TAG_WALK_BUSSTOP_JUNCTION;
5225 {
5226 // set values of tag
5227 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5229 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("junction")), parents, color);
5230 // set values of attributes
5233 }
5234 currentTag = GNE_TAG_WALK_BUSSTOP_BUSSTOP;
5235 {
5236 // set values of tag
5237 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5239 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("busStop")), parents, color);
5240 // set values of attributes
5243 }
5244 currentTag = GNE_TAG_WALK_BUSSTOP_TRAINSTOP;
5245 {
5246 // set values of tag
5247 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5249 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("trainStop")), parents, color);
5250 // set values of attributes
5253 }
5255 {
5256 // set values of tag
5257 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5259 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("containerStop")), parents, color);
5260 // set values of attributes
5263 }
5265 {
5266 // set values of tag
5267 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5269 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("chargingStation")), parents, color);
5270 // set values of attributes
5273 }
5275 {
5276 // set values of tag
5277 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5279 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("parkingArea")), parents, color);
5280 // set values of attributes
5283 }
5284 // from trainStop
5285 currentTag = GNE_TAG_WALK_TRAINSTOP_EDGE;
5286 {
5287 // set values of tag
5288 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5290 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("edge")), parents, color);
5291 // set values of attributes
5294 }
5295 currentTag = GNE_TAG_WALK_TRAINSTOP_TAZ;
5296 {
5297 // set values of tag
5298 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5300 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("taz")), parents, color);
5301 // set values of attributes
5304 }
5306 {
5307 // set values of tag
5308 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5310 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("junction")), parents, color);
5311 // set values of attributes
5314 }
5315 currentTag = GNE_TAG_WALK_TRAINSTOP_BUSSTOP;
5316 {
5317 // set values of tag
5318 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5320 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("busStop")), parents, color);
5321 // set values of attributes
5324 }
5326 {
5327 // set values of tag
5328 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5330 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("trainStop")), parents, color);
5331 // set values of attributes
5334 }
5336 {
5337 // set values of tag
5338 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5340 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("containerStop")), parents, color);
5341 // set values of attributes
5344 }
5346 {
5347 // set values of tag
5348 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5350 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("chargingStation")), parents, color);
5351 // set values of attributes
5354 }
5356 {
5357 // set values of tag
5358 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5360 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("parkingArea")), parents, color);
5361 // set values of attributes
5364 }
5365 // from containerStop
5367 {
5368 // set values of tag
5369 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5371 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("edge")), parents, color);
5372 // set values of attributes
5375 }
5376 currentTag = GNE_TAG_WALK_CONTAINERSTOP_TAZ;
5377 {
5378 // set values of tag
5379 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5381 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("taz")), parents, color);
5382 // set values of attributes
5385 }
5387 {
5388 // set values of tag
5389 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5391 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("junction")), parents, color);
5392 // set values of attributes
5395 }
5397 {
5398 // set values of tag
5399 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5401 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("busStop")), parents, color);
5402 // set values of attributes
5405 }
5407 {
5408 // set values of tag
5409 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5411 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("trainStop")), parents, color);
5412 // set values of attributes
5415 }
5417 {
5418 // set values of tag
5419 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5421 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("containerStop")), parents, color);
5422 // set values of attributes
5425 }
5427 {
5428 // set values of tag
5429 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5431 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("chargingStation")), parents, color);
5432 // set values of attributes
5435 }
5437 {
5438 // set values of tag
5439 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5441 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("parkingArea")), parents, color);
5442 // set values of attributes
5445 }
5446 // from chargingStation
5448 {
5449 // set values of tag
5450 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5452 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("edge")), parents, color);
5453 // set values of attributes
5456 }
5458 {
5459 // set values of tag
5460 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5462 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("taz")), parents, color);
5463 // set values of attributes
5466 }
5468 {
5469 // set values of tag
5470 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5472 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("junction")), parents, color);
5473 // set values of attributes
5476 }
5478 {
5479 // set values of tag
5480 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5482 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("busStop")), parents, color);
5483 // set values of attributes
5486 }
5488 {
5489 // set values of tag
5490 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5492 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("trainStop")), parents, color);
5493 // set values of attributes
5496 }
5498 {
5499 // set values of tag
5500 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5502 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("containerStop")), parents, color);
5503 // set values of attributes
5506 }
5508 {
5509 // set values of tag
5510 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5512 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("chargingStation")), parents, color);
5513 // set values of attributes
5516 }
5518 {
5519 // set values of tag
5520 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5522 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("parkingArea")), parents, color);
5523 // set values of attributes
5526 }
5527 // from parkingArea
5528 currentTag = GNE_TAG_WALK_PARKINGAREA_EDGE;
5529 {
5530 // set values of tag
5531 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5533 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("edge")), parents, color);
5534 // set values of attributes
5537 }
5538 currentTag = GNE_TAG_WALK_PARKINGAREA_TAZ;
5539 {
5540 // set values of tag
5541 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5543 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("taz")), parents, color);
5544 // set values of attributes
5547 }
5549 {
5550 // set values of tag
5551 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5553 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("junction")), parents, color);
5554 // set values of attributes
5557 }
5559 {
5560 // set values of tag
5561 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5563 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("busStop")), parents, color);
5564 // set values of attributes
5567 }
5569 {
5570 // set values of tag
5571 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5573 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("trainStop")), parents, color);
5574 // set values of attributes
5577 }
5579 {
5580 // set values of tag
5581 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5583 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("containerStop")), parents, color);
5584 // set values of attributes
5587 }
5589 {
5590 // set values of tag
5591 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5593 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("chargingStation")), parents, color);
5594 // set values of attributes
5597 }
5599 {
5600 // set values of tag
5601 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5603 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("parkingArea")), parents, color);
5604 // set values of attributes
5607 }
5608}
5609
5610
5611void
5613 // declare common tag types and properties
5616 const auto files = FileBucket::Type::NOTHING;
5617 const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
5618 const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});
5619 const unsigned int color = FXRGBA(253, 255, 206, 255);
5620 const GUIIcon icon = GUIIcon::RIDE_EDGE;
5622 const SumoXMLTag xmlTag = SUMO_TAG_RIDE;
5623 // from edge
5625 {
5626 // set values of tag
5627 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5629 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("edge")), parents, color);
5630 // set values of attributes
5633 }
5634 currentTag = GNE_TAG_RIDE_EDGE_BUSSTOP;
5635 {
5636 // set values of tag
5637 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5639 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("busStop")), parents, color);
5640 // set values of attributes
5643 }
5644 currentTag = GNE_TAG_RIDE_EDGE_TRAINSTOP;
5645 {
5646 // set values of tag
5647 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5649 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("trainStop")), parents, color);
5650 // set values of attributes
5653 }
5655 {
5656 // set values of tag
5657 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5659 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("containerStop")), parents, color);
5660 // set values of attributes
5663 }
5665 {
5666 // set values of tag
5667 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5669 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("chargingStation")), parents, color);
5670 // set values of attributes
5673 }
5674 currentTag = GNE_TAG_RIDE_EDGE_PARKINGAREA;
5675 {
5676 // set values of tag
5677 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5679 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("parkingArea")), parents, color);
5680 // set values of attributes
5683 }
5684 // from busStop
5685 currentTag = GNE_TAG_RIDE_BUSSTOP_EDGE;
5686 {
5687 // set values of tag
5688 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5690 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("edge")), parents, color);
5691 // set values of attributes
5694 }
5695 currentTag = GNE_TAG_RIDE_BUSSTOP_BUSSTOP;
5696 {
5697 // set values of tag
5698 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5700 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("busStop")), parents, color);
5701 // set values of attributes
5704 }
5705 currentTag = GNE_TAG_RIDE_BUSSTOP_TRAINSTOP;
5706 {
5707 // set values of tag
5708 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5710 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("trainStop")), parents, color);
5711 // set values of attributes
5714 }
5716 {
5717 // set values of tag
5718 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5720 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("containerStop")), parents, color);
5721 // set values of attributes
5724 }
5726 {
5727 // set values of tag
5728 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5730 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("chargingStation")), parents, color);
5731 // set values of attributes
5734 }
5736 {
5737 // set values of tag
5738 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5740 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("parkingArea")), parents, color);
5741 // set values of attributes
5744 }
5745 // from trainStop
5746 currentTag = GNE_TAG_RIDE_TRAINSTOP_EDGE;
5747 {
5748 // set values of tag
5749 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5751 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("edge")), parents, color);
5752 // set values of attributes
5755 }
5756 currentTag = GNE_TAG_RIDE_TRAINSTOP_BUSSTOP;
5757 {
5758 // set values of tag
5759 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5761 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("busStop")), parents, color);
5762 // set values of attributes
5765 }
5767 {
5768 // set values of tag
5769 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5771 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("trainStop")), parents, color);
5772 // set values of attributes
5775 }
5777 {
5778 // set values of tag
5779 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5781 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("containerStop")), parents, color);
5782 // set values of attributes
5785 }
5787 {
5788 // set values of tag
5789 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5791 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("chargingStation")), parents, color);
5792 // set values of attributes
5795 }
5797 {
5798 // set values of tag
5799 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5801 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("parkingArea")), parents, color);
5802 // set values of attributes
5805 }
5806 // from containerStop
5808 {
5809 // set values of tag
5810 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5812 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("edge")), parents, color);
5813 // set values of attributes
5816 }
5818 {
5819 // set values of tag
5820 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5822 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("busStop")), parents, color);
5823 // set values of attributes
5826 }
5828 {
5829 // set values of tag
5830 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5832 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("trainStop")), parents, color);
5833 // set values of attributes
5836 }
5838 {
5839 // set values of tag
5840 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5842 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("containerStop")), parents, color);
5843 // set values of attributes
5846 }
5848 {
5849 // set values of tag
5850 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5852 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("chargingStation")), parents, color);
5853 // set values of attributes
5856 }
5858 {
5859 // set values of tag
5860 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5862 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("parkingArea")), parents, color);
5863 // set values of attributes
5866 }
5867 // from chargingStation
5869 {
5870 // set values of tag
5871 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5873 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("edge")), parents, color);
5874 // set values of attributes
5877 }
5879 {
5880 // set values of tag
5881 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5883 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("busStop")), parents, color);
5884 // set values of attributes
5887 }
5889 {
5890 // set values of tag
5891 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5893 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("trainStop")), parents, color);
5894 // set values of attributes
5897 }
5899 {
5900 // set values of tag
5901 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5903 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("containerStop")), parents, color);
5904 // set values of attributes
5907 }
5909 {
5910 // set values of tag
5911 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5913 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("chargingStation")), parents, color);
5914 // set values of attributes
5917 }
5919 {
5920 // set values of tag
5921 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5923 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("parkingArea")), parents, color);
5924 // set values of attributes
5927 }
5928 // from parkingArea
5929 currentTag = GNE_TAG_RIDE_PARKINGAREA_EDGE;
5930 {
5931 // set values of tag
5932 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5934 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("edge")), parents, color);
5935 // set values of attributes
5938 }
5940 {
5941 // set values of tag
5942 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5944 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("busStop")), parents, color);
5945 // set values of attributes
5948 }
5950 {
5951 // set values of tag
5952 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5954 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("trainStop")), parents, color);
5955 // set values of attributes
5958 }
5960 {
5961 // set values of tag
5962 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5964 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("containerStop")), parents, color);
5965 // set values of attributes
5968 }
5970 {
5971 // set values of tag
5972 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5974 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("chargingStation")), parents, color);
5975 // set values of attributes
5978 }
5980 {
5981 // set values of tag
5982 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5984 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("parkingArea")), parents, color);
5985 // set values of attributes
5988 }
5989}
5990
5991
5992void
5994 // declare common tag types and properties
5997 const auto files = FileBucket::Type::NOTHING;
5998 const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
5999 const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});
6000 const unsigned int color = FXRGBA(255, 213, 213, 255);
6001 const GUIIcon icon = GUIIcon::STOPELEMENT;
6003 const SumoXMLTag xmlTag = SUMO_TAG_STOP;
6004 // fill tags
6006 {
6007 // set values of tag
6008 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6010 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("edge")), parents, color);
6011
6012 // set values of attributes
6015 }
6016 currentTag = GNE_TAG_STOPPERSON_BUSSTOP;
6017 {
6018 // set values of tag
6019 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6021 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("busStop")), parents, color);
6022
6023 // set values of attributes
6026 }
6027 currentTag = GNE_TAG_STOPPERSON_TRAINSTOP;
6028 {
6029 // set values of tag
6030 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6032 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("trainStop")), parents, color);
6033
6034 // set values of attributes
6037 }
6039 {
6040 // set values of tag
6041 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6043 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("containerStop")), parents, color);
6044
6045 // set values of attributes
6048 }
6050 {
6051 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6053 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("chargingStation")), parents, color);
6054
6055 // set values of attributes
6058 }
6059 currentTag = GNE_TAG_STOPPERSON_PARKINGAREA;
6060 {
6061 // set values of tag
6062 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6064 files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("parkingArea")), parents, color);
6065
6066 // set values of attributes
6069 }
6070}
6071
6072
6073void
6075 GNEAttributeProperties* commonAttribute = nullptr;
6076 // check if element can be reparent
6077 if (tagProperties->canCenterCameraAfterCreation()) {
6078 commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_CENTER_AFTER_CREATION,
6081 TLF("Center view over element % after creation", tagProperties->getTagStr()));
6082 commonAttribute->setAlternativeName(TL("center view"));
6083 }
6084 // fill save file attributes
6085 if (tagProperties->saveInNetworkFile()) {
6086 commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SAVEFILE,
6089 TL("The path to the file to save this element (not editable for network elements)"));
6091 commonAttribute->setAlternativeName(TL("File"));
6092 } else if (tagProperties->saveInParentFile()) {
6093 commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SAVEFILE,
6096 TL("The path to the file to save this element (the same of their parent)"));
6098 commonAttribute->setAlternativeName(TL("File"));
6099 } else {
6100 commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SAVEFILE,
6103 TL("The path to the file to save this element"));
6105 commonAttribute->setAlternativeName(TL("File"));
6106 }
6107
6108 // if this is a drawable element, add front and select attributes
6109 if (tagProperties->isDrawable()) {
6110 commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_FRONTELEMENT,
6113 TL("Toggle front element"));
6114
6115 commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SELECTED,
6118 TL("Toggle select element"),
6120 }
6121 // check if element can be reparent
6122 if (tagProperties->canBeReparent()) {
6123 commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_PARENT,
6126 TL("Change element parent"));
6127 }
6128 // check if element has parameters
6129 if (tagProperties->hasParameters()) {
6130 commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_PARAMETERS,
6133 TL("Generic parameters (Format: key1=value1|key2=value2|..."));
6134 commonAttribute->setAlternativeName(TL("parameters"));
6135 }
6136}
6137
6138
6139void
6140GNETagPropertiesDatabase::fillCommonStoppingPlaceAttributes(GNETagProperties* tagProperties, const bool includeColor, const bool parkingAreaAngle) {
6141 // set values of attributes
6142 fillIDAttribute(tagProperties, true);
6143
6144 fillLaneAttribute(tagProperties, false);
6145
6146 new GNEAttributeProperties(tagProperties, SUMO_ATTR_STARTPOS,
6149 TL("The begin position on the lane (the lower position on the lane) in meters"),
6151
6152 new GNEAttributeProperties(tagProperties, SUMO_ATTR_ENDPOS,
6155 TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"),
6157
6158 fillFriendlyPosAttribute(tagProperties);
6159
6160 fillNameAttribute(tagProperties);
6161
6162 if (includeColor) {
6163 fillColorAttribute(tagProperties, "");
6164 }
6165
6166 new GNEAttributeProperties(tagProperties, SUMO_ATTR_ANGLE,
6169 parkingAreaAngle ? TL("The angle of the road-side parking spaces relative to the lane angle, positive means clockwise") :
6170 TLF("Angle of waiting %s relative to lane angle", tagProperties->getTag() == SUMO_TAG_CONTAINER_STOP ? toString(SUMO_TAG_CONTAINER) : toString(SUMO_TAG_PERSON)),
6171 "0");
6172
6173 // netedit attributes
6174 new GNEAttributeProperties(tagProperties, GNE_ATTR_SIZE,
6177 TLF("Length of %", tagProperties->getTagStr()),
6179
6180 auto forceSize = new GNEAttributeProperties(tagProperties, GNE_ATTR_FORCESIZE,
6183 TL("Force size during creation"),
6185 forceSize->setAlternativeName(TL("force size"));
6186
6187 auto reference = new GNEAttributeProperties(tagProperties, GNE_ATTR_REFERENCE,
6190 TLF("Longitudinal reference position for creating %", tagProperties->getTagStr()));
6191 reference->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());
6192}
6193
6194
6195void
6197 // fill POI attributes
6198 fillNameAttribute(tagProperties);
6199
6200 fillColorAttribute(tagProperties, "red");
6201
6202 new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,
6205 TL("A typename for the POI"),
6207
6208 auto icon = new GNEAttributeProperties(tagProperties, SUMO_ATTR_ICON,
6211 TL("POI Icon"),
6213 icon->setDiscreteValues(SUMOXMLDefinitions::POIIcons.getStrings());
6214
6215 new GNEAttributeProperties(tagProperties, SUMO_ATTR_LAYER,
6218 TL("The layer of the POI for drawing and selecting"),
6220
6221 new GNEAttributeProperties(tagProperties, SUMO_ATTR_WIDTH,
6224 TL("Width of rendered image in meters"),
6226
6227 new GNEAttributeProperties(tagProperties, SUMO_ATTR_HEIGHT,
6230 TL("Height of rendered image in meters"),
6232
6233 fillImgFileAttribute(tagProperties, false);
6234
6235 new GNEAttributeProperties(tagProperties, SUMO_ATTR_ANGLE,
6238 TL("Angle of rendered image in degree"),
6240}
6241
6242
6243void
6245 // fill route attributes
6246 new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,
6249 TL("The edges the vehicle shall drive along, given as their ids, separated using spaces"));
6250
6251 fillColorAttribute(tagProperties, "");
6252
6253 new GNEAttributeProperties(tagProperties, SUMO_ATTR_REPEAT,
6256 TL("The number of times that the edges of this route shall be repeated"),
6257 "0");
6258
6262 TL("When defining a repeating route with stops and those stops use the until attribute,") + std::string("\n") +
6263 TL("the times will be shifted forward by 'cycleTime' on each repeat"),
6264 "0");
6265}
6266
6267
6268void
6270 // fill vType attributes
6271 auto vClass = new GNEAttributeProperties(tagProperties, SUMO_ATTR_VCLASS,
6274 TL("An abstract vehicle class"),
6275 "passenger");
6276 vClass->setDiscreteValues(SumoVehicleClassStrings.getStrings());
6277
6278 fillColorAttribute(tagProperties, "");
6279
6280 new GNEAttributeProperties(tagProperties, SUMO_ATTR_LENGTH,
6283 TL("The vehicle's netto-length (length) [m]"));
6284
6285 new GNEAttributeProperties(tagProperties, SUMO_ATTR_MINGAP,
6288 TL("Empty space after leader [m]"));
6289
6290 new GNEAttributeProperties(tagProperties, SUMO_ATTR_MAXSPEED,
6293 TL("The vehicle's maximum velocity [m/s]"));
6294
6298 TL("The vehicle's expected multiplicator for lane speed limits (or a distribution specifier)"));
6299
6303 TL("The vehicle's desired maximum velocity (interacts with speedFactor).") + std::string("\n") +
6304 TL("Applicable when no speed limit applies (bicycles, some motorways) [m/s]"));
6305
6306 auto emissionClass = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EMISSIONCLASS,
6309 TL("An abstract emission class"));
6310 emissionClass->setDiscreteValues(PollutantsInterface::getAllClassesStr());
6311
6312 auto GUIShape = new GNEAttributeProperties(tagProperties, SUMO_ATTR_GUISHAPE,
6315 TL("How this vehicle is rendered"));
6316 GUIShape->setDiscreteValues(SumoVehicleShapeStrings.getStrings());
6317
6318 new GNEAttributeProperties(tagProperties, SUMO_ATTR_WIDTH,
6321 TL("The vehicle's width [m] (only used for drawing)"),
6322 "1.8");
6323
6324 new GNEAttributeProperties(tagProperties, SUMO_ATTR_HEIGHT,
6327 TL("The vehicle's height [m] (only used for drawing)"),
6328 "1.5");
6329
6333 TL("The parking badges assigned to the vehicle"));
6334
6335 fillImgFileAttribute(tagProperties, true);
6336
6337 auto laneChangeModel = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LANE_CHANGE_MODEL,
6340 TL("The model used for changing lanes"),
6342 laneChangeModel->setDiscreteValues(SUMOXMLDefinitions::LaneChangeModels.getStrings());
6343
6344 auto carFollowModel = new GNEAttributeProperties(tagProperties, SUMO_ATTR_CAR_FOLLOW_MODEL,
6347 TL("The model used for car-following"),
6349 carFollowModel->setDiscreteValues(SUMOXMLDefinitions::CarFollowModels.getStrings());
6350
6354 TL("The number of persons (excluding an autonomous driver) the vehicle can transport"));
6355
6359 TL("The number of containers the vehicle can transport"));
6360
6364 TL("The time required by a person to board the vehicle"),
6365 "0.50");
6366
6370 TL("The time required to load a container onto the vehicle"),
6371 "90");
6372
6373 auto latAlignment = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LATALIGNMENT,
6376 TL("The preferred lateral alignment when using the sublane-model"),
6377 "center");
6378 latAlignment->setDiscreteValues(SUMOVTypeParameter::getLatAlignmentStrings());
6379
6383 TL("The minimum lateral gap at a speed difference of 50km/h when using the sublane-model"),
6384 "0.12");
6385
6389 TL("The maximum lateral speed when using the sublane-model"),
6390 "1");
6391
6395 TL("The interval length for which vehicle performs its decision logic (acceleration and lane-changing)"),
6396 toString(OptionsCont::getOptions().getFloat("default.action-step-length")));
6397
6398 // add distribution probability
6399 fillDistributionProbability(tagProperties, true);
6400
6401 new GNEAttributeProperties(tagProperties, SUMO_ATTR_OSGFILE,
6404 TL("3D model file for this class"));
6405 /*
6406 Waiting for #16343
6407 new GNEAttributeProperties(tagProperties, SUMO_ATTR_CARRIAGE_LENGTH,
6408 GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE,
6409 GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6410 TL("Carriage lengths"));
6411
6412 new GNEAttributeProperties(tagProperties, SUMO_ATTR_LOCOMOTIVE_LENGTH,
6413 GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE,
6414 GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6415 TL("Locomotive lengths"));
6416
6417 new GNEAttributeProperties(tagProperties, SUMO_ATTR_CARRIAGE_GAP,
6418 GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6419 GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6420 TL("Gap between carriages"),
6421 "1");
6422 */
6423 // fill VType Car Following Model Values (implemented in a separated function to improve code legibility)
6424 fillCarFollowingModelAttributes(tagProperties);
6425
6426 // fill VType Junction Model Parameters (implemented in a separated function to improve code legibility)
6427 fillJunctionModelAttributes(tagProperties);
6428
6429 // fill VType Lane Change Model Parameters (implemented in a separated function to improve code legibility)
6430 fillLaneChangingModelAttributes(tagProperties);
6431}
6432
6433
6434void
6436 // fill vehicle attributes
6437 fillColorAttribute(tagProperties, "yellow");
6438
6439 if (!calibratorFlow) {
6440 new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,
6443 TL("The id of the vehicle type to use for this vehicle"),
6448 TL("The index of the edge within route the vehicle starts at"));
6452 TL("The index of the edge within route the vehicle ends at"));
6453 }
6454
6458 TL("The lane on which the vehicle shall be inserted"),
6459 "first");
6460
6464 TL("The position at which the vehicle shall enter the net"),
6465 "base");
6466
6470 TL("The speed with which the vehicle shall enter the network"),
6471 "0");
6472
6476 TL("The lane at which the vehicle shall leave the network"),
6477 "current");
6478
6482 TL("The position at which the vehicle shall leave the network"),
6483 "max");
6484
6488 TL("The speed with which the vehicle shall leave the network"),
6489 "current");
6490
6491 new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINE,
6494 TL("A string specifying the id of a public transport line which can be used when specifying person rides"));
6495
6499 TL("The number of occupied seats when the vehicle is inserted"),
6500 "0");
6501
6505 TL("The number of occupied container places when the vehicle is inserted"),
6506 "0");
6507
6511 TL("The lateral position on the departure lane at which the vehicle shall enter the net"),
6512 "center");
6513
6517 TL("The lateral position on the arrival lane at which the vehicle shall arrive"),
6518 "center");
6519
6523 TL("Insertion checks"),
6525}
6526
6527
6528void
6530 // fill common flow attributes
6531 new GNEAttributeProperties(tagProperties, SUMO_ATTR_BEGIN,
6534 TL("First flow departure time"),
6535 "0");
6536
6537 auto flowTerminate = new GNEAttributeProperties(tagProperties, GNE_ATTR_FLOW_TERMINATE,
6540 TL("Criterion for flow termination"),
6542 flowTerminate->setDiscreteValues({toString(SUMO_ATTR_END), toString(SUMO_ATTR_NUMBER), toString(SUMO_ATTR_END) + "-" + toString(SUMO_ATTR_NUMBER)});
6543
6544 auto flowSpacing = new GNEAttributeProperties(tagProperties, GNE_ATTR_FLOW_SPACING,
6547 TL("Criterion for flow spacing"),
6548 toString(perHour));
6549 flowSpacing->setDiscreteValues({toString(perHour), toString(SUMO_ATTR_PERIOD), toString(SUMO_ATTR_PROB), toString(GNE_ATTR_POISSON)});
6550
6551 new GNEAttributeProperties(tagProperties, SUMO_ATTR_END,
6554 TL("End of departure interval"),
6555 "3600");
6556
6557 new GNEAttributeProperties(tagProperties, SUMO_ATTR_NUMBER,
6560 TL("probability for emitting a flow each second") + std::string("\n") +
6561 TL("(not together with vehsPerHour or period)"),
6562 "1800");
6563
6564 new GNEAttributeProperties(tagProperties, perHour,
6567 TL("Number of flows per hour, equally spaced") + std::string("\n") +
6568 TL("(not together with period or probability or poisson)"),
6569 "1800");
6570
6571 new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERIOD,
6574 TL("Insert equally spaced flows at that period") + std::string("\n") +
6575 TL("(not together with vehsPerHour or probability or poisson)"),
6576 "2");
6577
6578 new GNEAttributeProperties(tagProperties, SUMO_ATTR_PROB,
6581 TL("probability for emitting a flow each second") + std::string("\n") +
6582 TL("(not together with vehsPerHour or period or poisson)"),
6583 "0.5");
6584
6585 new GNEAttributeProperties(tagProperties, GNE_ATTR_POISSON,
6588 TL("Insert flow expected vehicles per second with poisson distributed insertion rate") + std::string("\n") +
6589 TL("(not together with period or vehsPerHour or probability)"),
6590 "0.5");
6591}
6592
6593
6594void
6596 // fill CFM attributes
6597 new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACCEL,
6600 TL("The acceleration ability of vehicles of this type [m/s^2]"),
6602
6603 new GNEAttributeProperties(tagProperties, SUMO_ATTR_DECEL,
6606 TL("The deceleration ability of vehicles of this type [m/s^2]"),
6608
6612 TL("The apparent deceleration of the vehicle as used by the standard model [m/s^2]"),
6614
6618 TL("The maximal physically possible deceleration for the vehicle [m/s^2]"),
6622
6623 auto sigma = new GNEAttributeProperties(tagProperties, SUMO_ATTR_SIGMA,
6626 TL("Car-following model parameter"),
6628 sigma->setRange(0, 1);
6629
6630 new GNEAttributeProperties(tagProperties, SUMO_ATTR_TAU,
6633 TL("Car-following model parameter"),
6634 "1");
6635
6636 new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP1,
6639 TL("SKRAUSSX parameter 1"));
6640
6641 new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP2,
6644 TL("SKRAUSSX parameter 2"));
6645
6646 new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP3,
6649 TL("SKRAUSSX parameter 3"));
6650
6651 new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP4,
6654 TL("SKRAUSSX parameter 4"));
6655
6656 new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP5,
6659 TL("SKRAUSSX parameter 5"));
6660
6664 TL("EIDM Look ahead / preview parameter [s]"),
6665 "4");
6666
6670 TL("EIDM AP Reaction Time parameter [s]"),
6671 "0.50");
6672
6676 TL("EIDM Wiener Process parameter for the Driving Error [s]"),
6677 "3");
6678
6682 TL("EIDM Wiener Process parameter for the Estimation Error [s]"),
6683 "10");
6684
6685 auto coolness = new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_C_COOLNESS,
6688 TL("EIDM Coolness parameter of the Enhanced IDM [-]"),
6689 "0.99");
6690 coolness->setRange(0, 1);
6691
6695 TL("EIDM leader speed estimation error parameter [-]"),
6696 "0.02");
6697
6701 TL("EIDM gap estimation error parameter [-]"),
6702 "0.10");
6703
6707 TL("EIDM driving error parameter [-]"),
6708 "0.04");
6709
6713 TL("EIDM maximal jerk parameter [m/s^3]"),
6714 "3");
6715
6719 TL("EIDM maximal negative acceleration between two Action Points (threshold) [m/s^2]"),
6720 "1");
6721
6725 TL("EIDM Time parameter until vehicle reaches amax after startup/driveoff [s]"),
6726 "1.20");
6727
6731 TL("EIDM Flatness parameter of startup/driveoff curve [-]"),
6732 "2");
6733
6737 TL("EIDM Shift parameter of startup/driveoff curve [-]"),
6738 "0.70");
6739
6743 TL("EIDM parameter if model shall include vehicle dynamics into the acceleration calculation [0/1]"),
6744 "0");
6745
6749 TL("EIDM parameter how many vehicles are taken into the preview calculation of the driver (at least always 1!) [-]"),
6750 "0");
6751
6755 TL("Peter Wagner 2009 parameter"),
6756 "0");
6757
6761 TL("Peter Wagner 2009 parameter"),
6762 "0");
6763
6767 TL("IDMM parameter"),
6768 "0");
6769
6773 TL("IDMM parameter"),
6774 "0");
6775
6779 TL("W99 parameter"),
6780 "1.3");
6781
6785 TL("W99 parameter"),
6786 "8");
6787
6791 TL("W99 parameter"),
6792 "-12");
6793
6797 TL("W99 parameter"),
6798 "-0.25");
6799
6803 TL("W99 parameter"),
6804 "0.35");
6805
6809 TL("W99 parameter"),
6810 "6");
6811
6815 TL("W99 parameter"),
6816 "0.25");
6817
6821 TL("W99 parameter"),
6822 "2");
6823
6827 TL("W99 parameter"),
6828 "1.5");
6829
6833 TL("Wiedemann parameter"));
6834
6838 TL("Wiedemann parameter"));
6839
6843 TL("MinGap factor parameter"));
6844
6845 new GNEAttributeProperties(tagProperties, SUMO_ATTR_K,
6848 TL("K parameter"));
6849
6853 TL("Kerner Phi parameter"));
6854
6858 TL("IDM Delta parameter"));
6859
6863 TL("IDM Stepping parameter"));
6864
6865 auto trainType = new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRAIN_TYPE,
6868 TL("Train Types"),
6870 trainType->setDiscreteValues(SUMOXMLDefinitions::TrainTypes.getStrings());
6871}
6872
6873
6874void
6876 // fill junction model attributes
6880 TL("Minimum distance to pedestrians that are walking towards the conflict point with the ego vehicle."),
6881 "10");
6882
6886 TL("The accumulated waiting time after which a vehicle will drive onto an intersection even though this might cause jamming."),
6887 "", "-1");
6888
6892 TL("This value causes vehicles to violate a yellow light if the duration of the yellow phase is lower than the given threshold."),
6893 "", "-1");
6894
6898 TL("This value causes vehicles to violate a red light if the duration of the red phase is lower than the given threshold."),
6899 "", "-1");
6900
6904 TL("This value causes vehicles affected by jmDriveAfterRedTime to slow down when violating a red light."),
6905 "0");
6906
6910 TL("This value causes vehicles to ignore foe vehicles that have right-of-way with the given probability."),
6911 "0");
6912
6916 TL("This value is used in conjunction with jmIgnoreFoeProb.") + std::string("\n") +
6917 TL("Only vehicles with a speed below or equal to the given value may be ignored."),
6918 "0");
6919
6923 TL("This value configures driving imperfection (dawdling) while passing a minor link."),
6924 "0");
6925
6929 TL("This value defines the minimum time gap when passing ahead of a prioritized vehicle. "),
6930 "1");
6931
6935 TL("Willingess of drivers to impede vehicles with higher priority"),
6936 "0");
6937}
6938
6939
6940void
6942 // fill lane changing model
6946 TL("The eagerness for performing strategic lane changing. Higher values result in earlier lane-changing."),
6947 "1");
6948
6952 TL("The willingness for performing cooperative lane changing. Lower values result in reduced cooperation."),
6953 "1");
6954
6958 TL("The eagerness for performing lane changing to gain speed. Higher values result in more lane-changing."),
6959 "1");
6960
6964 TL("The eagerness for following the obligation to keep right. Higher values result in earlier lane-changing."),
6965 "1");
6966
6970 TL("The eagerness for using the configured lateral alignment within the lane.") + std::string("\n") +
6971 TL("Higher values result in increased willingness to sacrifice speed for alignment."),
6972 "1");
6973
6977 TL("The eagerness for overtaking through the opposite-direction lane. Higher values result in more lane-changing."),
6978 "1");
6979
6983 TL("Willingness to encroach laterally on other drivers."),
6984 "0");
6985
6989 TL("Minimum lateral gap when encroaching laterally on other drives (alternative way to define lcPushy)"),
6990 "0");
6991
6995 TL("Willingness to accept lower front and rear gaps on the target lane."),
6996 "1");
6997
7001 TL("Dynamic factor for modifying lcAssertive and lcPushy."),
7002 "0");
7003
7007 TL("Time to reach maximum impatience (of 1). Impatience grows whenever a lane-change manoeuvre is blocked."),
7008 "infinity");
7009
7013 TL("Maximum lateral acceleration per second."),
7014 "1");
7015
7019 TL("Factor for configuring the strategic lookahead distance when a change to the left is necessary (relative to right lookahead)."),
7020 "2");
7021
7025 TL("Factor for configuring the threshold asymmetry when changing to the left or to the right for speed gain."),
7026 "0.1");
7027
7031 TL("Upper bound on lateral speed when standing."),
7032 "0");
7033
7037 TL("Upper bound on lateral speed while moving computed as lcMaxSpeedLatStanding + lcMaxSpeedLatFactor * getSpeed()"),
7038 "1");
7039
7043 TL("Distance to an upcoming turn on the vehicles route, below which the alignment") + std::string("\n") +
7044 TL("should be dynamically adapted to match the turn direction."),
7045 "0");
7046
7050 TL("The probability for violating rules gainst overtaking on the right."),
7051 "0");
7052
7056 TL("Time threshold for the willingness to change right."),
7057 "", "-1");
7058
7062 TL("Speed difference factor for the eagerness of overtaking a neighbor vehicle before changing lanes (threshold = factor*speedlimit)."),
7063 "0");
7064 factor->setRange(-1, 1);
7065
7066}
7067
7068
7069void
7088
7089
7090void
7109
7110
7111void
7113 // fill common stop attributes
7114 auto duration = new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,
7117 TL("Minimum duration for stopping"),
7118 "60");
7119 duration->setDefaultActivated(true);
7120
7121 new GNEAttributeProperties(tagProperties, SUMO_ATTR_UNTIL,
7124 TL("The time step at which the route continues"),
7125 "0");
7126
7130 TL("If set to a non-negative time value, then the stop duration can be extended at most by the extension value in seconds"),
7131 "0");
7132
7133 if (!waypoint) {
7134 auto triggered = new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRIGGERED,
7137 TL("Whether a person or container or both may end the stop"),
7138 "false");
7139 triggered->setDiscreteValues({"false", "person", "container", "join"});
7140
7141 new GNEAttributeProperties(tagProperties, SUMO_ATTR_EXPECTED,
7144 TL("List of elements that must board the vehicle before it may continue"));
7145
7146 new GNEAttributeProperties(tagProperties, SUMO_ATTR_JOIN,
7149 TL("Joins this train to another upon reaching the stop"));
7150 }
7151
7155 TL("List of elements that can board the vehicle before it may continue"));
7156
7157 auto parking = new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING,
7160 TL("Whether the vehicle stops on the road or beside"),
7161 "false");
7162 parking->setDiscreteValues({"true", "false", "opportunistic"});
7163
7164 new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACTTYPE,
7167 TL("Activity displayed for stopped person in GUI and output files"));
7168
7169 new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRIP_ID,
7172 TL("Parameter to be applied to the vehicle to track the trip id within a cyclical public transport route"));
7173
7174 new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINE,
7177 TL("New line attribute to be set on the vehicle when reaching this stop (for cyclical public transport route)"));
7178
7179 if (waypoint) {
7180 new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEED,
7183 TL("Speed to be kept while driving between startPos and endPos"),
7184 "0");
7185 } else {
7186 new GNEAttributeProperties(tagProperties, SUMO_ATTR_ONDEMAND,
7189 TL("Whether the stop may be skipped if no passengers wants to embark or disembark"),
7191 }
7192
7193 new GNEAttributeProperties(tagProperties, SUMO_ATTR_JUMP,
7196 TL("transfer time if there shall be a jump from this stop to the next route edge"),
7197 "", "-1");
7198
7199 new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPLIT,
7202 TL("Splits the train upon reaching the stop"));
7203}
7204
7205
7206void
7208 // fill plan parents
7209 // basic parents
7210 if (tagProperties->planConsecutiveEdges()) {
7211 new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,
7214 TL("list of consecutive edges"));
7215
7219 TL("Arrival position on the last edge"),
7220 "", "-1");
7221 }
7222 if (tagProperties->planRoute()) {
7223 new GNEAttributeProperties(tagProperties, SUMO_ATTR_ROUTE,
7226 TL("Route ID"));
7227
7231 TL("Arrival position on the destination edge"),
7232 "", "-1");
7233 }
7234 if (tagProperties->planEdge()) {
7235
7236 fillEdgeAttribute(tagProperties, false);
7237
7238 new GNEAttributeProperties(tagProperties, SUMO_ATTR_ENDPOS,
7241 TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));
7242 }
7243 if (tagProperties->planBusStop()) {
7244 new GNEAttributeProperties(tagProperties, SUMO_ATTR_BUS_STOP,
7247 TL("Bus stop ID"));
7248 }
7249 if (tagProperties->planTrainStop()) {
7253 TL("Train stop ID"));
7254 }
7255 if (tagProperties->planContainerStop()) {
7259 TL("Container stop ID"));
7260 }
7261 if (tagProperties->planChargingStation()) {
7265 TL("Charging station ID"));
7266 }
7267 if (tagProperties->planParkingArea()) {
7271 TL("Parking area ID"));
7272 }
7273 // from parents
7274 if (tagProperties->planFromEdge()) {
7275 new GNEAttributeProperties(tagProperties, SUMO_ATTR_FROM,
7278 TL("Edge start ID"));
7279 }
7280 if (tagProperties->planFromTAZ()) {
7281 new GNEAttributeProperties(tagProperties, SUMO_ATTR_FROM_TAZ,
7284 TL("TAZ start ID"));
7285 }
7286 if (tagProperties->planFromJunction()) {
7290 TL("Junction start ID"));
7291 }
7292 if (tagProperties->planFromBusStop()) {
7296 TL("BusStop start ID"));
7297 }
7298 if (tagProperties->planFromTrainStop()) {
7302 TL("TrainStop start ID"));
7303 }
7304 if (tagProperties->planFromContainerStop()) {
7308 TL("ContainerStop start ID"));
7309 }
7310 if (tagProperties->planFromChargingStation()) {
7314 TL("ChargingStation start ID"));
7315 }
7316 if (tagProperties->planFromParkingArea()) {
7320 TL("ParkingArea start ID"));
7321 }
7322 // to parents
7323 if (tagProperties->planToEdge()) {
7324 new GNEAttributeProperties(tagProperties, SUMO_ATTR_TO,
7327 TL("Edge end ID"));
7328 // departPos only for tranships
7329 if (tagProperties->isPlanTranship()) {
7330 // depart pos
7334 TL("The position at which the tranship shall enter the net"),
7335 "0");
7336 }
7340 TL("arrival position on the destination edge"),
7341 "", "-1");
7342 }
7343 if (tagProperties->planToTAZ()) {
7344 new GNEAttributeProperties(tagProperties, SUMO_ATTR_TO_TAZ,
7347 TL("TAZ end ID"));
7348 }
7349 if (tagProperties->planToJunction()) {
7353 TL("Junction end ID"));
7354 }
7355 if (tagProperties->planToBusStop()) {
7356 new GNEAttributeProperties(tagProperties, SUMO_ATTR_BUS_STOP,
7359 TL("BusStop end ID"));
7360 }
7361 if (tagProperties->planToTrainStop()) {
7365 TL("TrainStop end ID"));
7366 }
7367 if (tagProperties->planToContainerStop()) {
7371 TL("ContainerStop end ID"));
7372 }
7373 if (tagProperties->planToChargingStation()) {
7377 TL("ChargingStation end ID"));
7378 }
7379 if (tagProperties->planToParkingArea()) {
7383 TL("ParkingArea end ID"));
7384 }
7385}
7386
7387
7388void
7390 // fill person trip common attributes
7391 fillVTypesAttribute(tagProperties);
7392
7393 new GNEAttributeProperties(tagProperties, SUMO_ATTR_MODES,
7396 TL("List of possible traffic modes. Walking is always possible regardless of this value"));
7397
7398 new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINES,
7401 TL("list of vehicle alternatives to take for the person trip"));
7402
7406 TL("Walk factor"),
7407 "0");
7408
7409 new GNEAttributeProperties(tagProperties, SUMO_ATTR_GROUP,
7412 TL("id of the travel group. Persons with the same group may share a taxi ride"));
7413}
7414
7415
7416void
7431
7432
7433void
7446
7447
7448void
7460
7461
7462void
7477
7478
7479void
7481 // fill plan stop common attributes
7482 auto duration = new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,
7485 TL("Minimum duration for stopping"),
7486 "60");
7487 duration->setDefaultActivated(true);
7488
7489 new GNEAttributeProperties(tagProperties, SUMO_ATTR_UNTIL,
7492 TL("The time step at which the route continues"),
7493 "0");
7494
7495 new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACTTYPE,
7498 TL("Activity displayed for stopped person in GUI and output files "));
7499
7500 // friendlyPos attribute only for stops over edges
7501 if (tagProperties->hasAttribute(SUMO_ATTR_EDGE)) {
7502 fillFriendlyPosAttribute(tagProperties);
7503 }
7504}
7505
7506
7507void
7509 // fill data set element
7510 SumoXMLTag currentTag = SUMO_TAG_DATASET;
7511 {
7512 // set values of tag
7519 GUIIcon::DATASET, GUIGlObjectType::GLO_DATASET, currentTag, TL("DataSet"));
7520
7521 // set values of attributes
7522 fillIDAttribute(myTagProperties[currentTag], true);
7523 }
7524 // fill data interval element
7525 currentTag = SUMO_TAG_DATAINTERVAL;
7526 {
7527 // set values of tag
7534 GUIIcon::DATAINTERVAL, GUIGlObjectType::GLO_DATAINTERVAL, currentTag, TL("DataInterval"),
7536
7537 // set values of attributes
7538 fillIDAttribute(myTagProperties[currentTag], true);
7539
7540 // set values of attributes
7544 TL("Data interval begin time"),
7545 "0");
7546
7550 TL("Data interval end time"),
7551 "3600");
7552 }
7553 // fill edge data element
7554 currentTag = GNE_TAG_EDGEREL_SINGLE;
7555 {
7556 // set values of tag
7557 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),
7564 }
7565 currentTag = SUMO_TAG_EDGEREL;
7566 {
7567 // set values of tag
7568 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),
7574 GUIIcon::EDGERELDATA, GUIGlObjectType::GLO_EDGERELDATA, currentTag, TL("EdgeRelation"));
7575
7576 // set values of attributes
7580 TL("The ID of the edge the edgeRel starts at"));
7581
7585 TL("The ID of the edge the edgeRel ends at"));
7586 }
7587 currentTag = SUMO_TAG_TAZREL;
7588 {
7589 // set values of tag
7590 myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),
7596 GUIIcon::TAZRELDATA, GUIGlObjectType::GLO_TAZRELDATA, currentTag, TL("TAZRelation"),
7598
7599 // set values of attributes
7603 TL("The name of the TAZ the TAZRel starts at"));
7604
7608 TL("The name of the TAZ the TAZRel ends at"));
7609 }
7610 currentTag = SUMO_TAG_MEANDATA_EDGE;
7611 {
7612 // set values of tag
7619 GUIIcon::MEANDATAEDGE, GUIGlObjectType::GLO_MEANDATA, currentTag, TL("MeanDataEdge"));
7620
7621 // set values of attributes
7623 }
7624 currentTag = SUMO_TAG_MEANDATA_LANE;
7625 {
7626 // set values of tag
7633 GUIIcon::MEANDATALANE, GUIGlObjectType::GLO_MEANDATA, currentTag, TL("MeanDataLane"));
7634
7635 // set values of attributes
7637 }
7638}
7639
7640
7641void
7643 // fill all meanData attributes
7644 fillIDAttribute(tagProperties, true);
7645
7646 fillFileAttribute(tagProperties);
7647
7648 auto meanDataType = new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,
7651 TL("Type of data generated by this mean data"),
7653 meanDataType->setDiscreteValues(SUMOXMLDefinitions::MeanDataTypes.getStrings());
7654
7655 new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERIOD,
7658 TL("The aggregation period the values the detector collects shall be summed up"),
7659 "-1");
7660
7661 new GNEAttributeProperties(tagProperties, SUMO_ATTR_BEGIN,
7664 TL("The time to start writing. If not given, the simulation's begin is used."),
7665 "-1");
7666
7667 new GNEAttributeProperties(tagProperties, SUMO_ATTR_END,
7670 TL("The time to end writing. If not given the simulation's end is used."),
7671 "-1");
7672
7673 auto excludeEmpty = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EXCLUDE_EMPTY,
7676 TL("If set to true, edges/lanes which were not used by a vehicle during this period will not be written"),
7678 excludeEmpty->setDiscreteValues(SUMOXMLDefinitions::ExcludeEmptys.getStrings());
7679
7683 TL("If set, junction internal edges/lanes will be written as well"),
7685
7689 TL("The maximum travel time in seconds to write if only very small movements occur"),
7690 toString(100000));
7691
7695 TL("Consider an edge/lane unused if it has at most this many sampled seconds"),
7696 "0");
7697
7701 TL("The maximum speed to consider a vehicle halting;"),
7702 "0.1");
7703
7704 new GNEAttributeProperties(tagProperties, SUMO_ATTR_VTYPES,
7707 TL("space separated list of vehicle type ids to consider"));
7708
7712 TL("whether aggregation should be performed over all vehicles that entered the edge/lane in the aggregation interval"),
7714
7715 fillDetectPersonsAttribute(tagProperties);
7716
7720 TL("List of attribute names that shall be written"));
7721
7722 new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,
7725 TL("Restrict output to the given list of edge ids"));
7726
7727 auto edgesFile = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGESFILE,
7730 TL("Restrict output to the given list of edges given in file"));
7731 edgesFile->setFilenameExtensions(SUMOXMLDefinitions::OutputFileExtensions.getStrings());
7732
7736 TL("Whether the traffic statistic of all edges shall be aggregated into a single value"),
7738}
7739
7740
7741void
7755
7756
7757void
7764
7765
7766void
7782
7783
7784void
7799
7800
7801void
7806 TL("If set, no error will be reported if element is placed behind the lane.") + std::string("\n") +
7807 TL("Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,") + std::string("\n") +
7808 TL("if the position was negative and larger than the lanes length after multiplication with - 1"),
7810}
7811
7812
7813void
7820
7821
7822void
7830
7831
7832void
7840
7841
7842void
7858
7859
7860void
7862 new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPART,
7865 TLF("The departure time of the (first) % which is generated using this trip definition", tagProperties->getTagStr()),
7866 "0");
7867}
7868
7869
7870void
7883
7884
7885void
7893
7894
7895void
7904
7905
7906void
7914
7915
7916void
7924
7925
7926void
7933
7934
7935void
7940 TL("The time-based threshold that describes how much time has to pass until a vehicle is recognized as halting)"),
7941 "1");
7942
7946 TL("The speed-based threshold that describes how slow a vehicle has to be to be recognized as halting) in m/s"),
7947 "1.39");
7948 if (includingJam) {
7952 TL("The maximum distance to the next standing vehicle in order to make this vehicle count as a participant to the jam in m"),
7953 "10");
7954 }
7955}
7956
7957
7958void
7973
7974
7975void
7977 for (const auto& tagPropertyItem : myTagProperties) {
7978 int basicEditableAttributes = 0;
7979 int geoAttributes = 0;
7980 int flowAttributes = 0;
7981 int neteditAttributes = 0;
7982 for (const auto& attributeProperty : tagPropertyItem.second->getAttributeProperties()) {
7983 if (attributeProperty->isCreateMode() || attributeProperty->isEditMode()) {
7984 if (attributeProperty->isBasicEditor()) {
7985 basicEditableAttributes++;
7986 }
7987 if (attributeProperty->isGeoEditor()) {
7988 geoAttributes++;
7989 }
7990 if (attributeProperty->isFlowEditor()) {
7991 flowAttributes++;
7992 }
7993 if (attributeProperty->isNeteditEditor()) {
7994 neteditAttributes++;
7995 }
7996 }
7997 }
7998 if (myMaxNumberOfEditableAttributeRows < basicEditableAttributes) {
7999 myMaxNumberOfEditableAttributeRows = basicEditableAttributes;
8000 }
8001 if (myMaxNumberOfGeoAttributeRows < geoAttributes) {
8002 myMaxNumberOfGeoAttributeRows = geoAttributes;
8003 }
8004 if (myMaxNumberOfFlowAttributeRows < flowAttributes) {
8005 myMaxNumberOfFlowAttributeRows = flowAttributes;
8006 }
8007 if (myMaxNumberOfNeteditAttributeRows < neteditAttributes) {
8008 myMaxNumberOfNeteditAttributeRows = neteditAttributes;
8009 }
8010 }
8011}
8012
8013
8014void
8016 for (const auto& tagPropertyItem : myTagProperties) {
8017 const int hierarchySize = (int)tagPropertyItem.second->getHierarchicalParentsRecuersively().size();
8018 if (hierarchySize > myHierarchyDepth) {
8019 myHierarchyDepth = hierarchySize;
8020 }
8021 }
8022}
8023
8024/****************************************************************************/
GUIGlObjectType
@ GLO_EDGERELDATA
edge relation data
@ GLO_DET_EXIT
a DetExit detector
@ GLO_TAZRELDATA
TAZ relation data.
@ GLO_WALKINGAREA
a walkingArea
@ GLO_VTYPE
@bief vTypes
@ GLO_DATASET
data set
@ GLO_JPS_WALKABLEAREA
walkable area
@ GLO_TRIP
a trip
@ GLO_ROUTE_EMBEDDED
a route
@ GLO_BUS_STOP
a busStop
@ GLO_REROUTER_DESTPROBREROUTE
a destination probability reroute
@ GLO_E2DETECTOR
a E2 detector
@ GLO_DET_ENTRY
a DetEntry detector
@ GLO_TRANSHIP
a container tranship
@ GLO_ROUTEPROBE
a RouteProbe
@ GLO_E1DETECTOR
a E1 detector
@ GLO_STOP_PLAN
a stop plan stop
@ GLO_ACCESS
a Acces
@ GLO_VAPORIZER
a Vaporizer
@ GLO_ROUTEFLOW
a routeFlow
@ GLO_WALK
a walk
@ GLO_CONTAINER_STOP
a containerStop
@ GLO_CALIBRATOR_FLOW
a calibrator flow
@ GLO_ROUTE
a route
@ GLO_MEANDATA
meanData
@ GLO_CALIBRATOR
a calibrator
@ GLO_JUNCTION
a junction
@ GLO_LANE
a lane
@ GLO_TRAIN_STOP
a trainStop
@ GLO_RIDE
a ride
@ GLO_FLOW
a flow
@ GLO_CHARGING_STATION
a chargingStation
@ GLO_EDGETYPE
an edgeType
@ GLO_PARKING_AREA
a ParkingArea
@ GLO_VSS_STEP
a Variable Speed Sign step
@ GLO_DATAINTERVAL
data interval
@ GLO_TAZ
Traffic Assignment Zones (TAZs).
@ GLO_CONTAINER
a container
@ GLO_JPS_OBSTACLE
obstacles
@ GLO_EDGEDATA
edge data
@ GLO_CONNECTION
a connection
@ GLO_REROUTER_PARKINGAREAREROUTE
a parking area reroute
@ GLO_VTYPE_DISTRIBUTION
vtype distribution
@ GLO_PERSONTRIP
a person trip
@ GLO_VTYPE_REF
vtype ref
@ GLO_EDGE
an edge
@ GLO_VEHICLE
a vehicle
@ GLO_PERSON
a person
@ GLO_TRANSPORT
a container transport
@ GLO_DET_ENTRYEXIT
a DetExit detector
@ GLO_POI
poi (over view, geo and lane)
@ GLO_REROUTER_CLOSINGLANEREROUTE
a closing lane reroute
@ GLO_STOP
a stop
@ GLO_LANETYPE
a laneType
@ GLO_OVERHEAD_WIRE_SEGMENT
a segment of an overhead line
@ GLO_REROUTER_CLOSINGREROUTE
a closing reroute
@ GLO_PARKING_SPACE
a ParkingSpace
@ GLO_CONTAINERFLOW
a person flow
@ GLO_POLYGON
polygon
@ GLO_TLLOGIC
a tl-logic
@ GLO_CROSSING
a tl-logic
@ GLO_REROUTER
a Rerouter
@ GLO_PERSONFLOW
a person flow
@ GLO_ROUTE_REF
route ref
@ GLO_E1DETECTOR_INSTANT
a E1 detector
@ GLO_REROUTER_INTERVAL
a rerouter interval
@ GLO_REROUTER_ROUTEPROBREROUTE
a route probability reroute
@ GLO_TRACTIONSUBSTATION
a segment of an overhead line
@ GLO_ROUTE_DISTRIBUTION
route distribution
@ GLO_VSS
a Variable Speed Sign
GUIIcon
An enumeration of icons used by the gui applications.
Definition GUIIcons.h:33
@ PARKINGSPACE
Definition GUIIcons.h:444
@ TRANSHIP_BUSSTOP
Definition GUIIcons.h:556
@ MEANDATALANE
Definition GUIIcons.h:573
@ DATASET
Definition GUIIcons.h:567
@ E1INSTANT
Definition GUIIcons.h:437
@ PARKINGAREA
Definition GUIIcons.h:443
@ MODEPERSONPLAN
Definition GUIIcons.h:387
@ MODEADDITIONAL
Definition GUIIcons.h:362
@ E3ENTRY
Definition GUIIcons.h:435
@ SUPERMODEDEMAND
Definition GUIIcons.h:356
@ MODESHAPE
Definition GUIIcons.h:372
@ STOPELEMENT
Definition GUIIcons.h:514
@ LANETYPE
Definition GUIIcons.h:416
@ CONTAINERFLOW
Definition GUIIcons.h:545
@ PERSONTRIP_BUSSTOP
Definition GUIIcons.h:519
@ NETEDIT_MINI
Definition GUIIcons.h:45
@ TAZEDGE
Definition GUIIcons.h:488
@ CLOSINGREROUTE
Definition GUIIcons.h:447
@ PERSONFLOW
Definition GUIIcons.h:517
@ CROSSING
Definition GUIIcons.h:421
@ MODECREATEEDGE
Definition GUIIcons.h:364
@ WALKINGAREA
Definition GUIIcons.h:422
@ MEANDATAEDGE
Definition GUIIcons.h:572
@ WALK_EDGES
Definition GUIIcons.h:526
@ CONTAINERSTOP
Definition GUIIcons.h:430
@ ROUTEFLOW
Definition GUIIcons.h:513
@ TRAINSTOP
Definition GUIIcons.h:428
@ JUNCTION
Definition GUIIcons.h:414
@ TRANSHIP_EDGES
Definition GUIIcons.h:554
@ TRIP_JUNCTIONS
Definition GUIIcons.h:508
@ DATAINTERVAL
Definition GUIIcons.h:568
@ FLOW_JUNCTIONS
Definition GUIIcons.h:511
@ ROUTEPROBREROUTE
Definition GUIIcons.h:451
@ JPS_WALKABLEAREA
Definition GUIIcons.h:481
@ VSSSTEP
Definition GUIIcons.h:446
@ TRACTION_SUBSTATION
Definition GUIIcons.h:456
@ ROUTEDISTRIBUTION
Definition GUIIcons.h:496
@ VAPORIZER
Definition GUIIcons.h:440
@ WAYPOINT
Definition GUIIcons.h:515
@ CHARGINGSTATION
Definition GUIIcons.h:431
@ WALK_BUSSTOP
Definition GUIIcons.h:528
@ TRANSPORT_EDGE
Definition GUIIcons.h:546
@ PARKINGZONEREROUTE
Definition GUIIcons.h:450
@ CLOSINGLANEREROUTE
Definition GUIIcons.h:448
@ RIDE_BUSSTOP
Definition GUIIcons.h:537
@ SUPERMODENETWORK
Definition GUIIcons.h:355
@ RIDE_EDGE
Definition GUIIcons.h:536
@ JPS_OBSTACLE
Definition GUIIcons.h:482
@ CONTAINER
Definition GUIIcons.h:544
@ EDGEDATA
Definition GUIIcons.h:569
@ TRIP_TAZS
Definition GUIIcons.h:509
@ MODEWIRE
Definition GUIIcons.h:374
@ EDGETYPE
Definition GUIIcons.h:415
@ DESTPROBREROUTE
Definition GUIIcons.h:449
@ ROUTEREF
Definition GUIIcons.h:495
@ SUPERMODEDATA
Definition GUIIcons.h:357
@ REROUTER
Definition GUIIcons.h:438
@ REROUTERINTERVAL
Definition GUIIcons.h:445
@ VTYPEDISTRIBUTION
Definition GUIIcons.h:505
@ TAZRELDATA
Definition GUIIcons.h:571
@ TRANSPORT_BUSSTOP
Definition GUIIcons.h:547
@ POILANE
Definition GUIIcons.h:465
@ MODECONTAINERPLAN
Definition GUIIcons.h:389
@ VARIABLESPEEDSIGN
Definition GUIIcons.h:441
@ BUSSTOP
Definition GUIIcons.h:427
@ OVERHEADWIRE
Definition GUIIcons.h:457
@ FLOW_TAZS
Definition GUIIcons.h:512
@ VEHICLE
Definition GUIIcons.h:506
@ MODESTOP
Definition GUIIcons.h:385
@ PERSONTRIP_EDGE
Definition GUIIcons.h:518
@ VTYPEREF
Definition GUIIcons.h:498
@ CONNECTION
Definition GUIIcons.h:419
@ CALIBRATOR
Definition GUIIcons.h:442
@ ROUTEPROBE
Definition GUIIcons.h:439
@ OVERHEADWIRE_CLAMP
Definition GUIIcons.h:458
@ EDGERELDATA
Definition GUIIcons.h:570
#define TL(string)
Definition MsgHandler.h:304
#define TLF(string,...)
Definition MsgHandler.h:306
const int VTYPEPARS_DEFAULT_EMERGENCYDECEL_DEFAULT
StringBijection< SUMOVehicleShape > SumoVehicleShapeStrings(sumoVehicleShapeStringInitializer, SUMOVehicleShape::UNKNOWN, false)
StringBijection< SUMOVehicleClass > SumoVehicleClassStrings(sumoVehicleClassStringInitializer, SVC_CUSTOM2, false)
const double DEFAULT_VEH_PROB
const std::string DEFAULT_VTYPE_ID
const std::string DEFAULT_CONTAINERTYPE_ID
@ SVC_IGNORING
vehicles ignoring classes
SumoXMLTag
Numbers representing SUMO-XML - element names.
@ GNE_TAG_RIDE_CHARGINGSTATION_CHARGINGSTATION
@ GNE_TAG_TRIP_JUNCTIONS
a trip between junctions
@ SUMO_TAG_TRACTION_SUBSTATION
A traction substation.
@ GNE_TAG_TRANSPORT_CONTAINERSTOP_TRAINSTOP
@ GNE_TAG_TRANSPORT_CONTAINERSTOP_BUSSTOP
@ GNE_TAG_TRANSHIP_PARKINGAREA_BUSSTOP
@ GNE_TAG_TRANSHIP_PARKINGAREA_CHARGINGSTATION
@ GNE_TAG_WALK_BUSSTOP_BUSSTOP
@ GNE_TAG_TRIP_TAZS
a single trip definition that uses TAZs
@ GNE_TAG_PERSONTRIPS
@ GNE_TAG_PERSONTRIP_EDGE_EDGE
@ GNE_TAG_PERSONTRIP_TAZ_EDGE
@ GNE_TAG_PERSONTRIP_EDGE_CONTAINERSTOP
@ GNE_TAG_WALK_EDGE_TAZ
@ GNE_TAG_VTYPEREF
reference to a vType (used in VType distributions)
@ GNE_TAG_WALK_PARKINGAREA_CHARGINGSTATION
@ SUMO_TAG_INTERVAL
an aggreagated-output interval
@ GNE_TAG_WALK_CHARGINGSTATION_JUNCTION
@ GNE_TAG_PERSONTRIP_CONTAINERSTOP_TAZ
@ SUMO_TAG_CLOSING_REROUTE
reroute of type closing
@ GNE_TAG_RIDE_CONTAINERSTOP_BUSSTOP
@ GNE_TAG_RIDE_BUSSTOP_BUSSTOP
@ GNE_TAG_WALK_PARKINGAREA_CONTAINERSTOP
@ GNE_TAG_PERSONTRIP_TAZ_CONTAINERSTOP
@ SUMO_TAG_NET
root element of a network file
@ GNE_TAG_TRANSHIP_CHARGINGSTATION_BUSSTOP
@ GNE_TAG_PERSONTRIP_CHARGINGSTATION_TRAINSTOP
@ GNE_TAG_PERSONTRIP_EDGE_JUNCTION
@ GNE_TAG_TRANSHIP_TRAINSTOP_CHARGINGSTATION
@ GNE_TAG_RIDE_CONTAINERSTOP_CONTAINERSTOP
@ SUMO_TAG_REROUTER
A rerouter.
@ GNE_TAG_TRANSHIP_TRAINSTOP_EDGE
@ SUMO_TAG_EDGEREL
a relation between two edges
@ GNE_TAG_WAYPOINT_PARKINGAREA
@ GNE_TAG_WALK_TAZ_BUSSTOP
@ GNE_TAG_PERSONTRIP_EDGE_PARKINGAREA
@ SUMO_TAG_DATAINTERVAL
@ GNE_TAG_PERSONTRIP_TRAINSTOP_EDGE
@ GNE_TAG_PERSONTRIP_TRAINSTOP_CONTAINERSTOP
@ GNE_TAG_MULTI_LANE_AREA_DETECTOR
an e2 detector over multiple lanes (placed here due create Additional Frame)
@ GNE_TAG_PERSONTRIP_PARKINGAREA_TRAINSTOP
@ GNE_TAG_STOPCONTAINER_TRAINSTOP
@ GNE_TAG_RIDE_PARKINGAREA_CONTAINERSTOP
@ GNE_TAG_PERSONTRIP_CHARGINGSTATION_PARKINGAREA
@ GNE_TAG_PERSONTRIP_TRAINSTOP_PARKINGAREA
@ SUMO_TAG_ROUTEPROBE
a routeprobe detector
@ GNE_TAG_PERSONTRIP_TAZ_CHARGINGSTATION
@ GNE_TAG_RIDE_CONTAINERSTOP_EDGE
@ SUMO_TAG_CF_KRAUSS
@ GNE_TAG_STOP_PARKINGAREA
stop placed over a parking area
@ GNE_TAG_WALK_BUSSTOP_CHARGINGSTATION
@ GNE_TAG_PERSONTRIP_BUSSTOP_EDGE
@ GNE_TAG_WALK_TRAINSTOP_CHARGINGSTATION
@ SUMO_TAG_TAZ
a traffic assignment zone
@ GNE_TAG_WALK_PARKINGAREA_TRAINSTOP
@ GNE_TAG_WALK_PARKINGAREA_PARKINGAREA
@ GNE_TAG_TRANSPORT_EDGE_TRAINSTOP
@ GNE_TAG_WALK_BUSSTOP_TRAINSTOP
@ GNE_TAG_TRANSHIP_EDGE_CHARGINGSTATION
@ GNE_TAG_PERSONTRIP_TAZ_TRAINSTOP
@ GNE_TAG_TRANSPORT_CONTAINERSTOP_CHARGINGSTATION
@ GNE_TAG_WALK_TAZ_CONTAINERSTOP
@ GNE_TAG_WALK_PARKINGAREA_JUNCTION
@ GNE_TAG_WALK_CONTAINERSTOP_EDGE
@ SUMO_TAG_CHARGING_STATION
A Charging Station.
@ GNE_TAG_PERSONTRIP_EDGE_CHARGINGSTATION
@ GNE_TAG_TRANSPORT_EDGE_PARKINGAREA
@ SUMO_TAG_VTYPE
description of a vehicle/person/container type
@ GNE_TAG_TRANSHIP_BUSSTOP_CHARGINGSTATION
@ SUMO_TAG_ACCESS
An access point for a train stop.
@ GNE_TAG_WALK_EDGE_PARKINGAREA
@ GNE_TAG_TRANSPORT_EDGE_BUSSTOP
@ GNE_TAG_TRANSPORT_CONTAINERSTOP_EDGE
@ SUMO_TAG_WALK
@ GNE_TAG_TRANSPORT_CHARGINGSTATION_PARKINGAREA
@ GNE_TAG_WALK_PARKINGAREA_EDGE
@ GNE_TAG_TRANSHIP_EDGE_EDGE
@ SUMO_TAG_TRANSHIP
@ GNE_TAG_WALK_EDGES
@ GNE_TAG_RIDE_TRAINSTOP_CONTAINERSTOP
@ SUMO_TAG_CONTAINER_STOP
A container stop.
@ GNE_TAG_STOP_BUSSTOP
stop placed over a busStop
@ GNE_TAG_RIDE_CHARGINGSTATION_EDGE
@ GNE_TAG_RIDE_CHARGINGSTATION_CONTAINERSTOP
@ GNE_TAG_WALK_CONTAINERSTOP_CHARGINGSTATION
@ SUMO_TAG_CONTAINERFLOW
@ GNE_TAG_TRANSHIP_PARKINGAREA_CONTAINERSTOP
@ SUMO_TAG_PARKING_AREA_REROUTE
entry for an alternative parking zone
@ GNE_TAG_JUPEDSIM
@ GNE_TAG_WALK_BUSSTOP_JUNCTION
@ GNE_TAG_TRANSHIP_CHARGINGSTATION_TRAINSTOP
@ SUMO_TAG_ROOTFILE
root file
@ GNE_TAG_TRANSHIP_EDGE_CONTAINERSTOP
@ GNE_TAG_WALK_CONTAINERSTOP_JUNCTION
@ GNE_TAG_TRANSPORT_PARKINGAREA_PARKINGAREA
@ GNE_TAG_WAYPOINT_TRAINSTOP
@ GNE_TAG_TRANSPORT_CHARGINGSTATION_TRAINSTOP
@ GNE_TAG_TRANSPORT_TRAINSTOP_TRAINSTOP
@ GNE_TAG_WALK_CHARGINGSTATION_TRAINSTOP
@ GNE_TAG_PERSONTRIP_BUSSTOP_CONTAINERSTOP
@ SUMO_TAG_TAZSINK
a sink within a district (connection road)
@ GNE_TAG_EDGEREL_SINGLE
@ GNE_TAG_TRANSPORT_TRAINSTOP_CONTAINERSTOP
@ GNE_TAG_WAYPOINT_CONTAINERSTOP
@ GNE_TAG_PERSONTRIP_PARKINGAREA_TAZ
@ GNE_TAG_CONTAINERPLANS
@ GNE_TAG_STOPCONTAINER_EDGE
@ GNE_TAG_WAYPOINT_BUSSTOP
@ GNE_TAG_WALK_TRAINSTOP_TAZ
@ GNE_TAG_PERSONTRIP_PARKINGAREA_JUNCTION
@ SUMO_TAG_BUS_STOP
A bus stop.
@ SUMO_TAG_POI
begin/end of the description of a Point of interest
@ GNE_TAG_STOPCONTAINER_PARKINGAREA
@ GNE_TAG_PERSONTRIP_CONTAINERSTOP_TRAINSTOP
@ GNE_TAG_TRANSPORT_CHARGINGSTATION_CONTAINERSTOP
@ GNE_TAG_WAYPOINT_CHARGINGSTATION
@ GNE_TAG_TRANSPORT_TRAINSTOP_CHARGINGSTATION
@ GNE_TAG_TRANSPORT_PARKINGAREA_CONTAINERSTOP
@ GNE_TAG_STOPPERSON_BUSSTOP
@ GNE_TAG_WIRES
@ GNE_TAG_INTERNAL_LANE
internal lane
@ GNE_TAG_TRANSPORT_BUSSTOP_CONTAINERSTOP
@ SUMO_TAG_STOP
stop for vehicles
@ GNE_TAG_PERSONTRIP_BUSSTOP_TRAINSTOP
@ SUMO_TAG_MEANDATA_LANE
a lane based mean data detector
@ GNE_TAG_RIDE_PARKINGAREA_BUSSTOP
@ SUMO_TAG_STEP
trigger: a step description
@ GNE_TAG_PERSONTRIP_CHARGINGSTATION_TAZ
@ GNE_TAG_PERSONTRIP_CONTAINERSTOP_EDGE
@ GNE_TAG_TRANSHIP_CONTAINERSTOP_PARKINGAREA
@ GNE_TAG_PERSONTRIP_JUNCTION_BUSSTOP
@ GNE_TAG_TRANSHIP_BUSSTOP_CONTAINERSTOP
@ GNE_TAG_PERSONTRIP_CHARGINGSTATION_BUSSTOP
@ SUMO_TAG_VEHICLE
description of a vehicle
@ GNE_TAG_TRANSPORT_PARKINGAREA_EDGE
@ GNE_TAG_FLOW_ROUTE
a flow definition using a route instead of a from-to edges route
@ GNE_TAG_PERSONTRIP_TRAINSTOP_TAZ
@ SUMO_TAG_ROUTE_DISTRIBUTION
distribution of a route
@ GNE_TAG_TRANSHIP_PARKINGAREA_TRAINSTOP
@ GNE_TAG_WALK_BUSSTOP_CONTAINERSTOP
@ GNE_TAG_PERSONTRIP_TAZ_PARKINGAREA
@ SUMO_TAG_OVERHEAD_WIRE_CLAMP
An overhead wire clamp (connection of wires in opposite directions).
@ GNE_TAG_PERSONTRIP_CONTAINERSTOP_PARKINGAREA
@ GNE_TAG_WALK_JUNCTION_PARKINGAREA
@ GNE_TAG_RIDE_TRAINSTOP_CHARGINGSTATION
@ GNE_TAG_WALK_CHARGINGSTATION_BUSSTOP
@ GNE_TAG_PERSONTRIP_JUNCTION_TRAINSTOP
@ GNE_TAG_VSS_SYMBOL
VSS Symbol.
@ GNE_TAG_WALK_CONTAINERSTOP_TAZ
@ GNE_TAG_FLOW_JUNCTIONS
a flow between junctions
@ GNE_TAG_PERSONTRIP_TRAINSTOP_BUSSTOP
@ GNE_TAG_TRANSHIP_BUSSTOP_EDGE
@ GNE_TAG_POIGEO
Point of interest over view with GEO attributes.
@ GNE_TAG_TRANSPORT_CHARGINGSTATION_CHARGINGSTATION
@ GNE_TAG_PERSONTRIP_BUSSTOP_JUNCTION
@ GNE_TAG_TRANSHIP_EDGES
@ SUMO_TAG_LANETYPE
lane type
@ GNE_TAG_STOP_CONTAINERSTOP
stop placed over a containerStop
@ GNE_TAG_WALK_JUNCTION_CONTAINERSTOP
@ GNE_TAG_STOPCONTAINER_CONTAINERSTOP
@ GNE_TAG_FLOW_WITHROUTE
description of a vehicle with an embedded route
@ GNE_TAG_RIDE_BUSSTOP_TRAINSTOP
@ GNE_TAG_TRANSHIP_CHARGINGSTATION_EDGE
@ SUMO_TAG_FLOW
a flow definition using from and to edges or a route
@ GNE_TAG_PERSONTRIP_EDGE_TRAINSTOP
@ GNE_TAG_RIDE_BUSSTOP_EDGE
@ GNE_TAG_RIDE_TRAINSTOP_BUSSTOP
@ SUMO_TAG_CONNECTION
connectioon between two lanes
@ SUMO_TAG_PARKING_AREA
A parking area.
@ GNE_TAG_SUPERMODE_DATA
@ SUMO_TAG_TRANSPORT
@ GNE_TAG_WALK_TRAINSTOP_EDGE
@ GNE_TAG_RIDE_EDGE_EDGE
@ GNE_TAG_PERSONTRIP_PARKINGAREA_EDGE
@ GNE_TAG_TRANSPORT_BUSSTOP_CHARGINGSTATION
@ GNE_TAG_PERSONTRIP_PARKINGAREA_CONTAINERSTOP
@ SUMO_TAG_WALKINGAREA
walking area for pedestrians
@ GNE_TAG_PERSONTRIP_TRAINSTOP_TRAINSTOP
@ GNE_TAG_TRANSPORT_EDGE_EDGE
@ GNE_TAG_WALK_EDGE_TRAINSTOP
@ GNE_TAG_WALK_TAZ_CHARGINGSTATION
@ SUMO_TAG_ROUTE_PROB_REROUTE
probability of route of a reroute
@ GNE_TAG_FLOW_TAZS
a flow between TAZs
@ GNE_TAG_CALIBRATOR_LANE
A calibrator placed over lane.
@ GNE_TAG_TRANSPORT_EDGE_CONTAINERSTOP
@ GNE_TAG_STOPCONTAINER_BUSSTOP
@ GNE_TAG_WALK_JUNCTION_TAZ
@ SUMO_TAG_DET_ENTRY
an e3 entry point
@ GNE_TAG_WALK_JUNCTION_CHARGINGSTATION
@ GNE_TAG_DETECTORS
@ GNE_TAG_WALK_CHARGINGSTATION_TAZ
@ GNE_TAG_PERSONTRIP_TAZ_BUSSTOP
@ GNE_TAG_RIDE_PARKINGAREA_CHARGINGSTATION
@ GNE_TAG_PERSONTRIP_CHARGINGSTATION_JUNCTION
@ GNE_TAG_PERSONTRIP_CHARGINGSTATION_CHARGINGSTATION
@ GNE_TAG_WALK_JUNCTION_JUNCTION
@ SUMO_TAG_VIEWSETTINGS_ADDITIONALS
@ SUMO_TAG_PARKING_SPACE
A parking space for a single vehicle within a parking area.
@ GNE_TAG_TRANSPORT_PARKINGAREA_TRAINSTOP
@ SUMO_TAG_CONTAINER
@ SUMO_TAG_JUNCTION
begin/end of the description of a junction
@ GNE_TAG_DATAS
@ SUMO_TAG_CROSSING
crossing between edges for pedestrians
@ GNE_TAG_TRANSHIP_PARKINGAREA_PARKINGAREA
@ GNE_TAG_WALK_CONTAINERSTOP_PARKINGAREA
@ GNE_TAG_WALK_EDGE_EDGE
@ GNE_TAG_PERSONTRIP_TAZ_TAZ
@ GNE_TAG_TRANSHIP_CHARGINGSTATION_CHARGINGSTATION
@ GNE_TAG_STOPS
@ SUMO_TAG_VIEWSETTINGS_VEHICLES
@ SUMO_TAG_ROUTE
description of a route
@ GNE_TAG_RIDE_EDGE_CHARGINGSTATION
@ SUMO_TAG_MEANDATA_EDGE
an edge based mean data detector
@ SUMO_TAG_POLY
begin/end of the description of a polygon
@ SUMO_TAG_RIDE
@ SUMO_TAG_OVERHEAD_WIRE_SECTION
An overhead wire section.
@ GNE_TAG_PERSONTRIP_CHARGINGSTATION_EDGE
@ GNE_TAG_PERSONTRIP_EDGE_BUSSTOP
@ GNE_TAG_WALK_CHARGINGSTATION_CONTAINERSTOP
@ GNE_TAG_WALK_BUSSTOP_PARKINGAREA
@ GNE_TAG_WALK_CHARGINGSTATION_PARKINGAREA
@ GNE_TAG_SUPERMODE_NETWORK
@ GNE_TAG_PERSONTRIP_CHARGINGSTATION_CONTAINERSTOP
@ GNE_TAG_TRANSHIP_BUSSTOP_TRAINSTOP
@ GNE_TAG_PERSONTRIP_BUSSTOP_TAZ
@ GNE_TAG_WALK_CONTAINERSTOP_BUSSTOP
@ SUMO_TAG_TRAIN_STOP
A train stop (alias for bus stop).
@ GNE_TAG_RIDE_CHARGINGSTATION_PARKINGAREA
@ GNE_TAG_RIDE_CHARGINGSTATION_BUSSTOP
@ GNE_TAG_PERSONTRIP_CONTAINERSTOP_CONTAINERSTOP
@ GNE_TAG_TRANSPORT_CHARGINGSTATION_EDGE
@ GNE_TAG_PERSONTRIP_BUSSTOP_CHARGINGSTATION
@ SUMO_TAG_VTYPE_DISTRIBUTION
distribution of a vehicle type
@ SUMO_TAG_LANE
begin/end of the description of a single lane
@ GNE_TAG_WALK_BUSSTOP_EDGE
@ GNE_TAG_TRANSPORT_TRAINSTOP_BUSSTOP
@ SUMO_TAG_INSTANT_INDUCTION_LOOP
An instantenous induction loop.
@ GNE_TAG_WALK_JUNCTION_TRAINSTOP
@ GNE_TAG_TRANSHIP_EDGE_TRAINSTOP
@ GNE_TAG_TRANSHIP_TRAINSTOP_TRAINSTOP
@ GNE_TAG_VEHICLE_WITHROUTE
description of a vehicle with an embedded route
@ GNE_TAG_CALIBRATOR_FLOW
a flow definition within in Calibrator
@ GNE_TAG_RIDE_PARKINGAREA_PARKINGAREA
@ GNE_TAG_WALK_TRAINSTOP_PARKINGAREA
@ GNE_TAG_RIDE_EDGE_BUSSTOP
@ SUMO_TAG_DEST_PROB_REROUTE
probability of destination of a reroute
@ GNE_TAG_WALK_TAZ_JUNCTION
@ GNE_TAG_POILANE
Point of interest over Lane.
@ SUMO_TAG_DATASET
@ GNE_TAG_PERSONTRIP_JUNCTION_PARKINGAREA
@ GNE_TAG_TRANSPORT_BUSSTOP_TRAINSTOP
@ GNE_TAG_TRANSPORT_TRAINSTOP_PARKINGAREA
@ GNE_TAG_STOPPINGPLACES
@ GNE_TAG_STOPPERSON_CONTAINERSTOP
@ GNE_TAG_WALK_BUSSTOP_TAZ
@ GNE_TAG_RIDE_CONTAINERSTOP_CHARGINGSTATION
@ GNE_TAG_TRANSPORT_CONTAINERSTOP_CONTAINERSTOP
@ GNE_TAG_PERSONTRIP_BUSSTOP_BUSSTOP
@ GNE_TAG_TRANSHIP_BUSSTOP_PARKINGAREA
@ GNE_TAG_PERSONTRIP_JUNCTION_JUNCTION
@ GNE_TAG_WALK_TAZ_TAZ
@ GNE_TAG_WALK_TRAINSTOP_BUSSTOP
@ GNE_TAG_WALK_TAZ_EDGE
@ GNE_TAG_PERSONTRIP_TAZ_JUNCTION
@ GNE_TAG_WAYPOINT_LANE
@ GNE_TAG_JPS_OBSTACLE
polygon used for draw juPedSim obstacles
@ GNE_TAG_WALK_EDGE_CHARGINGSTATION
@ GNE_TAG_TRANSPORT_PARKINGAREA_BUSSTOP
@ GNE_TAG_RIDE_EDGE_TRAINSTOP
@ SUMO_TAG_PERSON
@ SUMO_TAG_DET_EXIT
an e3 exit point
@ SUMO_TAG_PERSONTRIP
@ GNE_TAG_TRANSPORTS
@ SUMO_TAG_TYPE
type (edge)
@ GNE_TAG_WALK_TRAINSTOP_CONTAINERSTOP
@ GNE_TAG_WALK_JUNCTION_BUSSTOP
@ GNE_TAG_PERSONTRIP_CONTAINERSTOP_JUNCTION
@ GNE_TAG_PERSONPLANS
@ GNE_TAG_WALK_JUNCTION_EDGE
@ GNE_TAG_CONTAINERSTOPS
@ GNE_TAG_PERSONTRIP_BUSSTOP_PARKINGAREA
@ GNE_TAG_TRANSHIP_CONTAINERSTOP_TRAINSTOP
@ GNE_TAG_PERSONTRIP_PARKINGAREA_BUSSTOP
@ SUMO_TAG_VAPORIZER
vaporizer of vehicles
@ SUMO_TAG_LANE_AREA_DETECTOR
alternative tag for e2 detector
@ GNE_TAG_SHAPES
@ GNE_TAG_RIDE_BUSSTOP_CHARGINGSTATION
@ GNE_TAG_REROUTER_SYMBOL
Rerouter Symbol.
@ GNE_TAG_STOP_LANE
stop placed over a lane
@ GNE_TAG_WALK_EDGE_CONTAINERSTOP
@ GNE_TAG_WALK_TRAINSTOP_JUNCTION
@ GNE_TAG_SUPERMODE_DEMAND
@ GNE_TAG_TRANSHIP_CHARGINGSTATION_PARKINGAREA
@ GNE_TAG_STOPPERSON_CHARGINGSTATION
@ GNE_TAG_TRANSPORT_BUSSTOP_EDGE
@ GNE_TAG_TRANSHIP_CONTAINERSTOP_BUSSTOP
@ GNE_TAG_WALK_PARKINGAREA_TAZ
@ GNE_TAG_PERSONTRIP_JUNCTION_EDGE
@ GNE_TAG_RIDE_CONTAINERSTOP_PARKINGAREA
@ GNE_TAG_RIDE_CHARGINGSTATION_TRAINSTOP
@ GNE_TAG_STOPPERSON_TRAINSTOP
@ GNE_TAG_TRANSPORT_CHARGINGSTATION_BUSSTOP
@ GNE_TAG_PERSONTRIP_PARKINGAREA_CHARGINGSTATION
@ GNE_TAG_TRANSHIP_CHARGINGSTATION_CONTAINERSTOP
@ SUMO_TAG_TAZREL
a relation between two TAZs
@ GNE_TAG_TRANSHIP_EDGE_BUSSTOP
@ GNE_TAG_RIDE_BUSSTOP_PARKINGAREA
@ GNE_TAG_WALK_EDGE_JUNCTION
@ GNE_TAG_RIDE_PARKINGAREA_EDGE
@ GNE_TAG_PERSONTRIP_JUNCTION_TAZ
@ GNE_TAG_TRANSHIP_PARKINGAREA_EDGE
@ GNE_TAG_TRANSPORT_PARKINGAREA_CHARGINGSTATION
@ GNE_TAG_TRANSHIP_TRAINSTOP_CONTAINERSTOP
@ GNE_TAG_FLOWS
@ SUMO_TAG_TAZSOURCE
a source within a district (connection road)
@ GNE_TAG_PERSONTRIP_JUNCTION_CONTAINERSTOP
@ GNE_TAG_WALK_TRAINSTOP_TRAINSTOP
@ GNE_TAG_WALK_CHARGINGSTATION_EDGE
@ GNE_TAG_TRANSHIP_EDGE_PARKINGAREA
@ GNE_TAG_WALK_EDGE_BUSSTOP
@ GNE_TAG_PERSONTRIP_PARKINGAREA_PARKINGAREA
@ GNE_TAG_TRANSHIP_TRAINSTOP_BUSSTOP
@ GNE_TAG_TRANSHIP_BUSSTOP_BUSSTOP
@ GNE_TAG_TRANSPORT_TRAINSTOP_EDGE
@ SUMO_TAG_CLOSING_LANE_REROUTE
lane of a reroute of type closing
@ GNE_TAG_STOP_TRAINSTOP
stop placed over a trainStop
@ GNE_TAG_STOP_CHARGINGSTATION
stop placed over a charging station
@ GNE_TAG_WALKS
@ GNE_TAG_ROUTEREF
virtual element used to reference routes with distributions
@ GNE_TAG_PERSONTRIP_TRAINSTOP_CHARGINGSTATION
@ GNE_TAG_TRANSPORT_EDGE_CHARGINGSTATION
@ GNE_TAG_TRANSHIP_CONTAINERSTOP_CONTAINERSTOP
@ GNE_TAG_ROUTE_EMBEDDED
embedded route
@ GNE_TAG_WALK_CONTAINERSTOP_TRAINSTOP
@ GNE_TAG_RIDE_EDGE_PARKINGAREA
@ GNE_TAG_RIDE_BUSSTOP_CONTAINERSTOP
@ GNE_TAG_WALK_TAZ_TRAINSTOP
@ SUMO_TAG_INDUCTION_LOOP
alternative tag for e1 detector
@ GNE_TAG_JPS_WALKABLEAREA
polygon used for draw juPedSim walkable areas
@ GNE_TAG_PERSONTRIP_CONTAINERSTOP_CHARGINGSTATION
@ GNE_TAG_TRANSHIP_TRAINSTOP_PARKINGAREA
@ GNE_TAG_TAZS
@ GNE_TAG_PERSONTRIP_CONTAINERSTOP_BUSSTOP
@ GNE_TAG_RIDES
@ GNE_TAG_RIDE_TRAINSTOP_TRAINSTOP
@ GNE_TAG_TRANSPORT_BUSSTOP_BUSSTOP
@ GNE_TAG_WALK_PARKINGAREA_BUSSTOP
@ SUMO_TAG_CALIBRATOR
A calibrator placed over edge.
@ GNE_TAG_STOPCONTAINER_CHARGINGSTATION
@ SUMO_TAG_ENTRY_EXIT_DETECTOR
alternative tag for e3 detector
@ GNE_TAG_PERSONSTOPS
@ GNE_TAG_TRANSPORT_BUSSTOP_PARKINGAREA
@ GNE_TAG_WALK_TAZ_PARKINGAREA
@ GNE_TAG_PERSONTRIP_TRAINSTOP_JUNCTION
@ GNE_TAG_RIDE_CONTAINERSTOP_TRAINSTOP
@ SUMO_TAG_VSS
A variable speed sign.
@ GNE_TAG_STOPPERSON_EDGE
@ GNE_TAG_PERSONTRIP_JUNCTION_CHARGINGSTATION
@ GNE_TAG_RIDE_PARKINGAREA_TRAINSTOP
@ GNE_TAG_TRANSPORT_CONTAINERSTOP_PARKINGAREA
@ GNE_TAG_TRANSHIP_CONTAINERSTOP_CHARGINGSTATION
@ GNE_TAG_WALK_ROUTE
@ GNE_TAG_PERSONTRIP_EDGE_TAZ
@ GNE_TAG_WALK_CONTAINERSTOP_CONTAINERSTOP
@ GNE_TAG_RIDE_TRAINSTOP_PARKINGAREA
@ SUMO_TAG_PERSONFLOW
@ GNE_TAG_TRANSHIP_CONTAINERSTOP_EDGE
@ SUMO_TAG_TRIP
a single trip definition (used by router)
@ GNE_TAG_WALK_CHARGINGSTATION_CHARGINGSTATION
@ GNE_TAG_RIDE_EDGE_CONTAINERSTOP
@ GNE_TAG_STOPPERSON_PARKINGAREA
@ SUMO_TAG_EDGE
begin/end of the description of an edge
@ GNE_TAG_RIDE_TRAINSTOP_EDGE
@ GNE_TAG_TRANSHIPS
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
@ SUMO_ATTR_TMP4
@ SUMO_ATTR_CF_W99_CC9
@ SUMO_ATTR_CF_EIDM_T_ACC_MAX
@ SUMO_ATTR_EXPECT_ARRIVAL
@ SUMO_ATTR_STARTPOS
@ SUMO_ATTR_CF_EIDM_EPSILON_ACC
@ SUMO_ATTR_PARKING
@ SUMO_ATTR_EXTENSION
@ SUMO_ATTR_CF_W99_CC5
@ SUMO_ATTR_LCA_PUSHY
@ SUMO_ATTR_DISALLOW
@ SUMO_ATTR_LINES
@ GNE_ATTR_FROM_TRAINSTOP
@ SUMO_ATTR_NUMBER
@ SUMO_ATTR_ALLOW
@ SUMO_ATTR_ICON
icon
@ SUMO_ATTR_ARRIVALSPEED
@ SUMO_ATTR_LANE
@ GNE_ATTR_FROM_BUSSTOP
@ GNE_ATTR_FORCESIZE
size (used in stopping places)
@ SUMO_ATTR_EMISSIONCLASS
@ SUMO_ATTR_JM_IGNORE_FOE_SPEED
@ SUMO_ATTR_ARRIVALLANE
@ SUMO_ATTR_DEPART
@ SUMO_ATTR_ACCEPTED_BADGES
@ SUMO_ATTR_DEPARTEDGE
@ SUMO_ATTR_TLLINKINDEX2
link: the index of the opposite direction link of a pedestrian crossing
@ SUMO_ATTR_LON
@ GNE_ATTR_CENTER_AFTER_CREATION
flag to center camera after element creation
@ SUMO_ATTR_REFID
@ SUMO_ATTR_FROM_JUNCTION
@ SUMO_ATTR_VEHSPERHOUR
@ SUMO_ATTR_ARRIVALEDGE
@ SUMO_ATTR_JM_IGNORE_KEEPCLEAR_TIME
@ SUMO_ATTR_SPEED
@ GNE_ATTR_STOPOFFSET
stop offset (virtual, used by edge and lanes)
@ SUMO_ATTR_WAITINGTIME
@ SUMO_ATTR_CF_EIDM_T_LOOK_AHEAD
@ SUMO_ATTR_VIA
@ GNE_ATTR_SAVEFILE
save file
@ SUMO_ATTR_CF_WIEDEMANN_SECURITY
@ SUMO_ATTR_LCA_ASSERTIVE
@ SUMO_ATTR_RADIUS
The turning radius at an intersection in m.
@ SUMO_ATTR_TRAIN_TYPE
@ SUMO_ATTR_NEXT_EDGES
@ SUMO_ATTR_FILE
@ SUMO_ATTR_INDIRECT
Whether this connection is an indirect (left) turn.
@ SUMO_ATTR_CONTAINER_STOP
@ SUMO_ATTR_CF_EIDM_USEVEHDYNAMICS
@ SUMO_ATTR_PARKING_AREA
@ GNE_ATTR_OPPOSITE
to busStop (used by personPlans)
@ SUMO_ATTR_CF_IDMM_ADAPT_TIME
@ SUMO_ATTR_SUBSTATIONID
id of a traction substation substation
@ SUMO_ATTR_FROM_LANE
@ SUMO_ATTR_LANE_CHANGE_MODEL
@ SUMO_ATTR_CF_KERNER_PHI
@ SUMO_ATTR_EDGE
@ SUMO_ATTR_LCA_TURN_ALIGNMENT_DISTANCE
@ SUMO_ATTR_JAM_DIST_THRESHOLD
@ SUMO_ATTR_CHARGETYPE
Charge type (fuel or electric).
@ SUMO_ATTR_DEPARTPOS_LAT
@ SUMO_ATTR_PARKING_LENGTH
@ SUMO_ATTR_PARKING_BADGES
@ SUMO_ATTR_BUS_STOP
@ SUMO_ATTR_CF_EIDM_C_COOLNESS
@ SUMO_ATTR_CF_EIDM_SIG_ERROR
@ SUMO_ATTR_TRAIN_STOP
@ SUMO_ATTR_TRACK_VEHICLES
@ SUMO_ATTR_LCA_PUSHYGAP
@ SUMO_ATTR_ENDPOS
@ SUMO_ATTR_LCA_LOOKAHEADLEFT
@ SUMO_ATTR_APPARENTDECEL
@ SUMO_ATTR_VOLTAGE
voltage of the traction substation [V]
@ SUMO_ATTR_TO_JUNCTION
@ GNE_ATTR_PARENT
parent of an additional element
@ SUMO_ATTR_MAXSPEED_LAT
@ SUMO_ATTR_LCA_SPEEDGAIN_PARAM
@ SUMO_ATTR_ARRIVALPOS
@ SUMO_ATTR_SPLIT
@ SUMO_ATTR_TMP3
@ SUMO_ATTR_ACTTYPE
@ SUMO_ATTR_ACTIONSTEPLENGTH
@ SUMO_ATTR_TLLAYOUT
node: the layout of the traffic light program
@ GNE_ATTR_SELECTED
element is selected
@ SUMO_ATTR_CUSTOMSHAPE
whether a given shape is user-defined
@ SUMO_ATTR_LCA_IMPATIENCE
@ SUMO_ATTR_BEGIN
weights: time range begin
@ SUMO_ATTR_MINGAP
@ SUMO_ATTR_WITH_INTERNAL
@ SUMO_ATTR_EDGES
the edges of a route
@ GNE_ATTR_POISSON
poisson definition (used in flow)
@ SUMO_ATTR_OFF
@ SUMO_ATTR_ROUTEPROBE
@ SUMO_ATTR_LINEWIDTH
@ GNE_ATTR_PARAMETERS
parameters "key1=value1|key2=value2|...|keyN=valueN"
@ SUMO_ATTR_POSITION_LAT
@ SUMO_ATTR_JM_DRIVE_AFTER_RED_TIME
@ SUMO_ATTR_FRINGE
Fringe type of node.
@ SUMO_ATTR_OVERHEAD_WIRE_FORBIDDEN
forbidden lanes for overhead wire segment
@ SUMO_ATTR_CONTAINER_NUMBER
@ SUMO_ATTR_EXPECTED
@ SUMO_ATTR_AGGREGATE
@ SUMO_ATTR_HALTING_TIME_THRESHOLD
@ SUMO_ATTR_TMP2
@ SUMO_ATTR_GEO
@ SUMO_ATTR_CF_W99_CC8
@ SUMO_ATTR_PRIORITY
@ SUMO_ATTR_LINE
@ SUMO_ATTR_CHARGING_STATION
@ SUMO_ATTR_LOADING_DURATION
@ SUMO_ATTR_CF_IDM_DELTA
@ SUMO_ATTR_CF_EIDM_MAX_VEH_PREVIEW
@ GNE_ATTR_STOPOEXCEPTION
stop exceptions (virtual, used by edge and lanes)
@ SUMO_ATTR_LCA_MAXSPEEDLATFACTOR
@ SUMO_ATTR_GEOSHAPE
@ SUMO_ATTR_CONTAINERSPERHOUR
@ SUMO_ATTR_NUMLANES
@ SUMO_ATTR_LANES
@ SUMO_ATTR_CF_EIDM_T_REACTION
@ SUMO_ATTR_MODES
@ SUMO_ATTR_CF_EIDM_T_PERSISTENCE_ESTIMATE
@ GNE_ATTR_CLOSE_SHAPE
Close shape of a polygon (Used by GNEPolys).
@ SUMO_ATTR_VTYPES
@ SUMO_ATTR_CF_PWAGNER2009_TAULAST
@ GNE_ATTR_SIZE
size (used in stopping places)
@ SUMO_ATTR_OVERHEAD_WIRECLAMP_END
id of the overhead wire, to the end of which the overhead wire clamp is connected
@ SUMO_ATTR_SHAPE
edge: the shape in xml-definition
@ SUMO_ATTR_DEPARTPOS
@ SUMO_ATTR_CF_EIDM_SIG_GAP
@ SUMO_ATTR_CAR_FOLLOW_MODEL
@ SUMO_ATTR_CF_EIDM_JERK_MAX
@ SUMO_ATTR_LEFTHAND
@ SUMO_ATTR_DECEL
@ SUMO_ATTR_LCA_MAXSPEEDLATSTANDING
@ SUMO_ATTR_GROUP
@ SUMO_ATTR_JM_DRIVE_AFTER_YELLOW_TIME
@ SUMO_ATTR_LCA_KEEPRIGHT_PARAM
@ SUMO_ATTR_WEIGHT
@ SUMO_ATTR_GUISHAPE
@ SUMO_ATTR_DESIRED_MAXSPEED
@ SUMO_ATTR_JM_IGNORE_FOE_PROB
@ GNE_ATTR_FROM_CONTAINERSTOP
@ SUMO_ATTR_MAX_TRAVELTIME
@ SUMO_ATTR_TLTYPE
node: the type of traffic light
@ SUMO_ATTR_OVERHEAD_WIRECLAMP_LANESTART
id of the overhead wire lane, to the start of which the overhead wire clamp is connected
@ SUMO_ATTR_CHARGEINTRANSIT
Allow/disallow charge in transit in Charging Stations.
@ SUMO_ATTR_OVERHEAD_WIRECLAMP_START
id of the overhead wire, to the start of which the overhead wire clamp is connected
@ SUMO_ATTR_ONDEMAND
@ SUMO_ATTR_CHANGE_LEFT
@ SUMO_ATTR_CONTAINER_CAPACITY
@ SUMO_ATTR_INDEX
@ SUMO_ATTR_FILL
Fill the polygon.
@ GNE_ATTR_REFERENCE
reference position (used creating stoppingPlaces)
@ SUMO_ATTR_NAME
@ SUMO_ATTR_PERIOD
@ SUMO_ATTR_LAYER
A layer number.
@ SUMO_ATTR_LCA_COOPERATIVE_PARAM
@ SUMO_ATTR_SPREADTYPE
The information about how to spread the lanes from the given position.
@ SUMO_ATTR_LCA_OPPOSITE_PARAM
@ SUMO_ATTR_TO_TAZ
@ SUMO_ATTR_SLOPE
@ SUMO_ATTR_HALTING_SPEED_THRESHOLD
@ SUMO_ATTR_CENTER
@ SUMO_ATTR_PASS
@ GNE_ATTR_IS_ROUNDABOUT
@ SUMO_ATTR_DEPARTSPEED
@ SUMO_ATTR_ANGLE
@ SUMO_ATTR_ENDOFFSET
@ SUMO_ATTR_MINGAP_LAT
@ SUMO_ATTR_TRIP_ID
@ GNE_ATTR_SHAPE_END
last coordinate of edge shape
@ SUMO_ATTR_EMERGENCYDECEL
@ SUMO_ATTR_TO
@ SUMO_ATTR_FROM
@ SUMO_ATTR_CF_W99_CC3
@ SUMO_ATTR_LCA_OVERTAKE_DELTASPEED_FACTOR
@ SUMO_ATTR_HEIGHT
@ SUMO_ATTR_END
weights: time range end
@ SUMO_ATTR_PERMITTED
@ SUMO_ATTR_LCA_SUBLANE_PARAM
@ SUMO_ATTR_JM_CROSSING_GAP
@ SUMO_ATTR_ROUNDABOUT
Roundabout type of node.
@ SUMO_ATTR_ROADSIDE_CAPACITY
@ SUMO_ATTR_ACCELERATION
@ SUMO_ATTR_LATALIGNMENT
@ SUMO_ATTR_FROM_TAZ
@ SUMO_ATTR_CF_IDM_STEPPING
@ SUMO_ATTR_DEPARTLANE
@ SUMO_ATTR_CF_IDMM_ADAPT_FACTOR
@ SUMO_ATTR_CURRENTLIMIT
current limit of the traction substation [A]
@ SUMO_ATTR_BIKELANEWIDTH
@ SUMO_ATTR_IMPATIENCE
@ SUMO_ATTR_COLLISION_MINGAP_FACTOR
@ SUMO_ATTR_CHANGE_RIGHT
@ SUMO_ATTR_JOIN
@ SUMO_ATTR_TLID
link,node: the traffic light id responsible for this link
@ SUMO_ATTR_OPTIONAL
@ SUMO_ATTR_VCLASS
@ SUMO_ATTR_ACCEL
@ SUMO_ATTR_BOARDING_DURATION
@ SUMO_ATTR_DISTANCE
@ SUMO_ATTR_CF_EIDM_M_FLATNESS
@ GNE_ATTR_FRONTELEMENT
@ SUMO_ATTR_CF_W99_CC2
@ SUMO_ATTR_OUTPUT
@ SUMO_ATTR_SHOW_DETECTOR
@ SUMO_ATTR_CF_W99_CC4
@ SUMO_ATTR_JM_SIGMA_MINOR
@ SUMO_ATTR_CF_W99_CC6
@ SUMO_ATTR_CHARGINGPOWER
@ SUMO_ATTR_JUMP
@ SUMO_ATTR_PROB
@ SUMO_ATTR_CF_EIDM_M_BEGIN
@ GNE_ATTR_BIDIR
whether an edge is part of a bidirectional railway
@ SUMO_ATTR_FRIENDLY_POS
@ SUMO_ATTR_CF_EIDM_T_PERSISTENCE_DRIVE
@ SUMO_ATTR_SIDEWALKWIDTH
@ SUMO_ATTR_SPEEDFACTOR
@ GNE_ATTR_FROM_CHARGINGSTATION
@ SUMO_ATTR_ONROAD
@ GNE_ATTR_FLOW_SPACING
flow spacing
@ SUMO_ATTR_LAT
@ SUMO_ATTR_WALKFACTOR
@ SUMO_ATTR_DETERMINISTIC
@ SUMO_ATTR_TO_LANE
@ SUMO_ATTR_MIN_SAMPLES
@ SUMO_ATTR_UNCONTROLLED
@ SUMO_ATTR_CF_EIDM_SIG_LEADER
@ SUMO_ATTR_TYPE
@ SUMO_ATTR_LENGTH
@ SUMO_ATTR_ROUTE
@ SUMO_ATTR_PERSON_NUMBER
@ SUMO_ATTR_COLOR
A color information.
@ SUMO_ATTR_EFFICIENCY
Eficiency of the charge in Charging Stations.
@ SUMO_ATTR_CF_PWAGNER2009_APPROB
@ SUMO_ATTR_MAXSPEED
@ SUMO_ATTR_ID
@ SUMO_ATTR_SIGMA
@ SUMO_ATTR_VISIBLE
@ SUMO_ATTR_UNTIL
@ SUMO_ATTR_RIGHT_OF_WAY
How to compute right of way.
@ SUMO_ATTR_K
@ SUMO_ATTR_TMP1
@ GNE_ATTR_SHAPE_START
first coordinate of edge shape
@ SUMO_ATTR_TOTALPOWER
total charge in W/s of the Charging Stations
@ GNE_ATTR_EDGES_WITHIN
virtual attribute used for use edges within during TAZ creation
@ SUMO_ATTR_OSGFILE
@ SUMO_ATTR_LCA_OVERTAKE_RIGHT
@ SUMO_ATTR_ARRIVALPOS_LAT
@ SUMO_ATTR_LCA_ACCEL_LAT
@ SUMO_ATTR_CF_W99_CC7
@ SUMO_ATTR_LCA_STRATEGIC_PARAM
@ SUMO_ATTR_CF_W99_CC1
@ GNE_ATTR_FLOW_TERMINATE
flow terminating
@ SUMO_ATTR_TAU
@ SUMO_ATTR_VISIBILITY_DISTANCE
foe visibility distance of a link
@ SUMO_ATTR_OPEN_ENTRY
@ SUMO_ATTR_INSERTIONCHECKS
@ SUMO_ATTR_IMGFILE
@ SUMO_ATTR_TRIGGERED
@ SUMO_ATTR_DURATION
@ SUMO_ATTR_CONTPOS
@ SUMO_ATTR_WIDTH
@ SUMO_ATTR_DIR
The abstract direction of a link.
@ SUMO_ATTR_PERSON_CAPACITY
@ SUMO_ATTR_TLLINKINDEX
link: the index of the link within the traffic light
@ SUMO_ATTR_LCA_KEEPRIGHT_ACCEPTANCE_TIME
@ SUMO_ATTR_REPEAT
@ SUMO_ATTR_KEEP_CLEAR
Whether vehicles must keep the junction clear.
@ SUMO_ATTR_POSITION
@ SUMO_ATTR_TMP5
@ SUMO_ATTR_CYCLETIME
@ SUMO_ATTR_STATE
The state of a link.
@ SUMO_ATTR_JM_DRIVE_RED_SPEED
@ SUMO_ATTR_CHARGEDELAY
Delay in the charge of charging stations (different of waiting time).
@ SUMO_ATTR_LCA_TIME_TO_IMPATIENCE
@ SUMO_ATTR_JM_TIMEGAP_MINOR
@ SUMO_ATTR_TIME
trigger: the time of the step
@ SUMO_ATTR_WRITE_ATTRIBUTES
@ SUMO_ATTR_OVERHEAD_WIRECLAMP_LANEEND
id of the overhead wire lane, to the end of which the overhead wire clamp is connected
@ SUMO_ATTR_DETECT_PERSONS
@ SUMO_ATTR_EXCLUDE_EMPTY
@ SUMO_ATTR_CF_WIEDEMANN_ESTIMATION
@ SUMO_ATTR_ROUTINGTYPE
@ SUMO_ATTR_EDGESFILE
@ SUMO_ATTR_PERSONSPERHOUR
@ SUMO_ATTR_LCA_SPEEDGAINRIGHT
const double SUMO_const_laneWidth
Definition StdDefs.h:52
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
Definition ToString.h:49
static const std::string FALSE_STR
true value in string format(used for comparing boolean values in getAttribute(...))
static const std::string TRUE_STR
true value in string format (used for comparing boolean values in getAttribute(......
void setAlternativeName(const std::string &alternativeName)
set alternative name
void setFilenameExtensions(const std::vector< std::string > &extensions)
set discrete values
static const double defaultSize
default element size
void fillVTypesAttribute(GNETagProperties *tagProperties)
fill vTypes attribute
void fillLaneAttribute(GNETagProperties *tagProperties, const bool synonymID)
fill lane attribute
void fillCommonMeanDataAttributes(GNETagProperties *tagProperties)
fill stop person attributes
void fillCommonVehicleAttributes(GNETagProperties *tagProperties, bool calibratorFlow=false)
fill common vehicle attributes (used by vehicles, trips, routeFlows and flows)
std::map< SumoXMLTag, GNETagProperties * > myTagProperties
map with the tags properties
const std::vector< const GNETagProperties * > getTagPropertiesSet(const SumoXMLTag tag, const bool hardFail) const
get tagProperties associated to the given set tag (persons, stops, plans, etc.)
void fillTranshipCommonAttributes(GNETagProperties *tagProperties)
fill ride common attributes
void fillNameAttribute(GNETagProperties *tagProperties)
fill name attribute
void fillCommonRouteAttributes(GNETagProperties *tagProperties)
fill common route attributes
void fillStopElements()
fill stop elements
void fillVehicleElements()
fill vehicle elements
void fillCommonAttributes(GNETagProperties *tagProperties)
fill common attributes
void fillAllowDisallowAttributes(GNETagProperties *tagProperties)
fill allowDisallow attributes
void fillFriendlyPosAttribute(GNETagProperties *tagProperties)
fill friendlyPos attribute
void fillCommonVTypeAttributes(GNETagProperties *tagProperties)
fill common vType attributes
void fillDistributionProbability(GNETagProperties *tagProperties, const bool defaultValue)
fill distribution probability attribute
void fillPersonPlanTrips()
fill person plan trips
const GNETagProperties * getTagProperty(const SumoXMLTag tag, const bool hardFail) const
get tagProperty associated to the given tag
void fillPersonPlanRides()
fill person plan rides
void fillPlanParentAttributes(GNETagProperties *tagProperties)
fill plan from-to attribute
void fillCommonFlowAttributes(GNETagProperties *tagProperties, SumoXMLAttr perHour)
fill common flow attributes (used by flows, routeFlows and personFlows)
void fillIDAttribute(GNETagProperties *tagProperties, const bool createMode)
fill ID attribute
int getMaxNumberOfFlowAttributeRows() const
get max number of flow attribute rows
int myMaxNumberOfGeoAttributeRows
max number of geo attributes (needed for geo attributes editor)
void fillCommonPOIAttributes(GNETagProperties *tagProperties)
fill common POI attributes
int myMaxNumberOfFlowAttributeRows
max number of flow attributes (needed for geo attributes editor)
void fillPlanStopCommonAttributes(GNETagProperties *tagProperties)
fill plan stop common attributes
void fillContainerStopElements()
fill container stop elements
void fillCarFollowingModelAttributes(GNETagProperties *tagProperties)
fill Car Following Model of Vehicle/Person Types
void fillDemandElements()
fill demand elements
void fillWaypointElements()
fill waypoint elements
void fillColorAttribute(GNETagProperties *tagProperties, const std::string &defaultColor)
fill color attribute
void fillCommonPersonAttributes(GNETagProperties *tagProperties)
fill common person attributes (used by person and personFlows)
void fillEdgeAttribute(GNETagProperties *tagProperties, const bool synonymID)
fill edge attribute
void fillDepartAttribute(GNETagProperties *tagProperties)
fill depart attribute
int getMaxNumberOfGeoAttributeRows() const
get max number of geo attribute rows
void writeAttributeHelp() const
write machine readable attribute help to file
void fillJuPedSimElements()
fill JuPedSim elements
void fillOutputAttribute(GNETagProperties *tagProperties)
fill output attribute
const std::vector< const GNETagProperties * > getTagPropertiesByType(const GNETagProperties::Type type) const
get tagProperties associated to the given GNETagProperties::Type (NETWORKELEMENT, ADDITIONALELEMENT,...
int getMaxNumberOfNeteditAttributesRows() const
get max number of netedit attribute rows
void updateMaxNumberOfAttributesEditorRows()
update max number of attributes by type
void fillRideCommonAttributes(GNETagProperties *tagProperties)
fill ride common attributes
void fillContainerElements()
fill container elements
void fillContainerTranshipElements()
fill container tranship elements
void fillWireElements()
fill Wire elements
void fillDataElements()
fill Data elements
void fillCommonContainerAttributes(GNETagProperties *tagProperties)
fill common container attributes (used by container and containerFlows)
void fillNetworkElements()
fill network elements
void fillPersonPlanWalks()
fill person plan walks
int getMaxNumberOfEditableAttributeRows() const
max number of editable (non extended) attributes
void fillJunctionModelAttributes(GNETagProperties *tagProperties)
fill Junction Model Attributes of Vehicle/Person Types
void fillDetectorPeriodAttribute(GNETagProperties *tagProperties)
fill detector period attribute
void fillTransportCommonAttributes(GNETagProperties *tagProperties)
fill transport common attributes
void fillImgFileAttribute(GNETagProperties *tagProperties, const bool isExtended)
fill imgFile attribute
void fillCommonStoppingPlaceAttributes(GNETagProperties *tagProperties, const bool includeColor, const bool parkingAreaAngle)
fill common stoppingPlace attributes
void fillWalkCommonAttributes(GNETagProperties *tagProperties)
fill walk common attributes
void fillLaneChangingModelAttributes(GNETagProperties *tagProperties)
fill Junction Model Attributes of Vehicle/Person Types
void fillTAZElements()
fill TAZ elements
std::map< SumoXMLTag, GNETagProperties * > mySetTagProperties
map with tag properties sets (persons, stops, etc.)
void fillPosOverLaneAttribute(GNETagProperties *tagProperties)
fill lane position attribute
void fillContainerTransportElements()
fill container transport elements
int myMaxNumberOfNeteditAttributeRows
max number of netedit attributes (needed for netedit attributes editor)
void fillPersonElements()
fill person elements
int getHierarchyDepth() const
get hierarchy dept
void fillPersonTripCommonAttributes(GNETagProperties *tagProperties)
fill person trip common attributes
void fillDetectorNextEdgesAttribute(GNETagProperties *tagProperties)
fill detector next edges attribute
void fillHierarchy()
fill hierarchy elements
void fillAdditionalElements()
fill additional elements
void fillShapeElements()
fill shape elements
void fillDetectPersonsAttribute(GNETagProperties *tagProperties)
fill detect person attribute
int myMaxNumberOfEditableAttributeRows
max number of editable (non extended) attributes (needed for attributes editor)
void updateMaxHierarchyDepth()
update max hierarchy depth
void fillDetectorThresholdAttributes(GNETagProperties *tagProperties, const bool includingJam)
fill detector threshold attribute
void fillPersonStopElements()
fill person stop elements
void fillFileAttribute(GNETagProperties *tagProperties)
fill file attribute
void fillCommonStopAttributes(GNETagProperties *tagProperties, const bool waypoint)
fill stop person attributes
bool planToContainerStop() const
return true if tag correspond to a plan that starts in containerStop
bool canBeReparent() const
return true if tag correspond to an element that can be reparent
bool planFromChargingStation() const
return true if tag correspond to a plan that starts in chargingStation
bool planFromJunction() const
return true if tag correspond to a plan that starts in junction
bool planToBusStop() const
return true if tag correspond to a plan that starts in busStop
bool planFromContainerStop() const
return true if tag correspond to a plan that starts in containerStop
const std::string & getTagStr() const
get Tag vinculated with this attribute Property in String Format (used to avoid multiple calls to toS...
bool planRoute() const
return true if tag correspond to a plan placed over route
bool planToJunction() const
return true if tag correspond to a plan that starts in junction
bool planFromParkingArea() const
return true if tag correspond to a plan that starts in parkingAera
bool planParkingArea() const
return true if tag correspond to a plan placed over parkingArea
bool planToTAZ() const
return true if tag correspond to a plan that starts in TAZ
bool planConsecutiveEdges() const
plan parents
bool hasParameters() const
return true if Tag correspond to an element that supports parameters "key1=value1|key2=value2|....
bool isDrawable() const
return true if tag correspond to a drawable element
SumoXMLTag getTag() const
get Tag vinculated with this attribute Property
bool planFromEdge() const
return true if tag correspond to a plan that starts in edge
bool planFromBusStop() const
return true if tag correspond to a plan that starts in busStop
bool planFromTrainStop() const
return true if tag correspond to a plan that starts in trainStop
bool planToTrainStop() const
return true if tag correspond to a plan that starts in trainStop
bool planFromTAZ() const
return true if tag correspond to a plan that starts in TAZ
bool canCenterCameraAfterCreation() const
return true if tag correspond to an element that center camera after creation
bool planEdge() const
return true if tag correspond to a plan placed over edge
bool saveInParentFile() const
element is saved in the parent file
bool planContainerStop() const
return true if tag correspond to a plan placed over containerStop
bool planTrainStop() const
return true if tag correspond to a plan placed over trainStop
bool hasAttribute(SumoXMLAttr attr) const
check if current TagProperties owns the attribute "attr"
bool planToParkingArea() const
return true if tag correspond to a plan that starts in parkingArea
bool planToChargingStation() const
return true if tag correspond to a plan that starts in chargingStation
bool planToEdge() const
return true if tag correspond to a plan that starts in edge
bool planBusStop() const
return true if tag correspond to a plan placed over busStop
bool saveInNetworkFile() const
element is saved in a network file
bool planChargingStation() const
return true if tag correspond to a plan placed over chargingStation
bool isPlanTranship() const
return true if tag correspond to a tranship
static const double UNSPECIFIED_LOADED_LENGTH
no length override given
Definition NBEdge.h:364
static const double UNSPECIFIED_CONTPOS
unspecified internal junction position
Definition NBEdge.h:358
static const double UNSPECIFIED_VISIBILITY_DISTANCE
unspecified foe visibility for connections
Definition NBEdge.h:361
static const double UNSPECIFIED_SPEED
unspecified lane speed
Definition NBEdge.h:352
static OptionsCont & getOptions()
Retrieves the options.
Static storage of an output device and its base (abstract) implementation.
static OutputDevice & getDeviceByOption(const std::string &name)
Returns the device described by the option.
static bool createDeviceByOption(const std::string &optionName, const std::string &rootElement="", const std::string &schemaFile="", const int maximumDepth=2)
Creates the device using the output definition stored in the named option.
static double getDefaultDecel(const SUMOVehicleClass vc=SVC_IGNORING)
Returns the default deceleration for the given vehicle class This needs to be a function because the ...
static double getDefaultEmergencyDecel(const SUMOVehicleClass vc, double decel, double defaultOption)
Returns the default emergency deceleration for the given vehicle class This needs to be a function be...
static std::vector< std::string > getLatAlignmentStrings()
return all valid strings for latAlignment
static double getDefaultImperfection(const SUMOVehicleClass vc=SVC_IGNORING)
Returns the default driver's imperfection (sigma or epsilon in Krauss' model) for the given vehicle c...
static double getDefaultAccel(const SUMOVehicleClass vc=SVC_IGNORING)
Returns the default acceleration for the given vehicle class This needs to be a function because the ...
static StringBijection< LaneSpreadFunction > LaneSpreadFunctions
lane spread functions
static StringBijection< SumoXMLTag > CarFollowModels
car following models
static StringBijection< SumoXMLNodeType > NodeTypes
node types
static StringBijection< MeanDataType > MeanDataTypes
reference positions (used creating certain elements in netedit)
static StringBijection< OutputFileExtension > OutputFileExtensions
output file extensions
static StringBijection< InsertionCheck > InsertionChecks
traffic light layouts
static StringBijection< ChargeType > ChargeTypes
charge type
static StringBijection< AdditionalFileExtension > AdditionalFileExtensions
additional file extensions
static StringBijection< PersonMode > PersonModeValues
person modes
static StringBijection< POIIcon > POIIcons
POI icon values.
static StringBijection< ExcludeEmpty > ExcludeEmptys
exclude empty values
static StringBijection< ImageFileExtension > ImageFileExtensions
image file extensions
static StringBijection< TrainType > TrainTypes
train types
static StringBijection< LaneChangeModel > LaneChangeModels
lane change models
static StringBijection< RightOfWay > RightOfWayValues
righ of way algorithms
static StringBijection< RoundaboutType > RoundaboutTypeValues
fringe types
static StringBijection< FringeType > FringeTypeValues
fringe types
static StringBijection< ReferencePosition > ReferencePositions
reference positions (used creating certain elements in netedit)
static const double DEFAULT_LAYER
Definition Shape.h:43
static const double DEFAULT_LAYER_POI
Definition Shape.h:45
static const double DEFAULT_IMG_WIDTH
Definition Shape.h:48
static const double DEFAULT_ANGLE
Definition Shape.h:46
static const double DEFAULT_IMG_HEIGHT
Definition Shape.h:49
static const std::string DEFAULT_TYPE
Definition Shape.h:42
static std::string to_lower_case(const std::string &str)
Transfers the content to lower case.
static std::string replace(std::string str, const std::string &what, const std::string &by)
Replaces all occurrences of the second string by the third string within the first string.
static const std::string format(const std::string &format, T value, Targs... Fargs)
adds a new formatted message