51 myTagProperty(getTagProperty(tag)),
119 if (attrProperty.hasDefaultValue()) {
120 setAttribute(attrProperty.getAttr(), attrProperty.getDefaultValue());
121 if (attrProperty.isActivatable()) {
122 toggleAttribute(attrProperty.getAttr(), attrProperty.getDefaultActivated());
131 throw ProcessError(
"Nothing to enable, implement in Children");
138 throw ProcessError(
"Nothing to disable, implement in Children");
185template<> std::string
193 if (
string.size() == 0) {
205 if (
string.empty()) {
215 if (
string.size() == 0) {
220 if (!ok || (pos.size() != 1)) {
233 if (
string.empty()) {
257template<> std::vector<std::string>
263template<> std::set<std::string>
266 std::set<std::string> solution;
267 for (
const auto& i : vectorString) {
274template<> std::vector<int>
276 std::vector<std::string> parsedValues = parse<std::vector<std::string> >(
string);
277 std::vector<int> parsedIntValues;
278 for (
const auto& i : parsedValues) {
279 parsedIntValues.push_back(parse<int>(i));
281 return parsedIntValues;
285template<> std::vector<double>
287 std::vector<std::string> parsedValues = parse<std::vector<std::string> >(
string);
288 std::vector<double> parsedDoubleValues;
289 for (
const auto& i : parsedValues) {
290 parsedDoubleValues.push_back(parse<double>(i));
292 return parsedDoubleValues;
296template<> std::vector<bool>
298 std::vector<std::string> parsedValues = parse<std::vector<std::string> >(
string);
299 std::vector<bool> parsedBoolValues;
300 for (
const auto& i : parsedValues) {
301 parsedBoolValues.push_back(parse<bool>(i));
303 return parsedBoolValues;
307template<> std::vector<GNEEdge*>
310 std::vector<std::string> edgeIds = GNEAttributeCarrier::parse<std::vector<std::string> > (value);
311 std::vector<GNEEdge*> parsedEdges;
313 for (
const auto& i : edgeIds) {
325template<> std::vector<GNELane*>
328 std::vector<std::string> laneIds = GNEAttributeCarrier::parse<std::vector<std::string> > (value);
329 std::vector<GNELane*> parsedLanes;
331 for (
const auto& i : laneIds) {
343template<> std::string
346 std::vector<std::string> edgeIDs;
347 for (
const auto& i : ACs) {
348 edgeIDs.push_back(i->getID());
354template<> std::string
357 std::vector<std::string> laneIDs;
358 for (
const auto& i : ACs) {
359 laneIDs.push_back(i->getID());
368 if (lanes.size() > 1) {
371 while (currentLane < ((
int)lanes.size() - 1)) {
374 for (
int i = 0; (i < (int)lanes.at(currentLane)->getParentEdge()->getToJunction()->getGNEOutgoingEdges().size()) && (nextLane == -1); i++) {
376 for (
int j = 0; (j < (int)lanes.at(currentLane)->getParentEdge()->getToJunction()->getGNEOutgoingEdges().at(i)->getLanes().size()) && (nextLane == -1); j++) {
378 if (lanes.at(currentLane)->getParentEdge()->getToJunction()->getGNEOutgoingEdges().at(i)->getLanes().at(j) == lanes.at(currentLane + 1)) {
379 nextLane = currentLane;
383 if (nextLane == -1) {
459template<> std::string
464 result += parameter.first +
"=" + parameter.second +
"|";
467 if (!result.empty()) {
474template<> std::vector<std::pair<std::string, std::string> >
476 std::vector<std::pair<std::string, std::string> > result;
479 result.push_back(std::make_pair(parameter.first, parameter.second));
492 while (parametersTokenizer.
hasNext()) {
495 if (keyValue.size() == 2) {
496 parametersMap[keyValue.front()] = keyValue.back();
509 for (
const auto& parameter : parameters) {
510 parametersMap[parameter.first] = parameter.second;
520 std::string paramsStr;
522 for (
const auto& parameter : parameters) {
523 paramsStr += parameter.first +
"=" + parameter.second +
"|";
526 if (!paramsStr.empty()) {
527 paramsStr.pop_back();
539 parametersMap[key] = attribute;
552 if (std::find(keepKeys.begin(), keepKeys.end(), parameter.first) != keepKeys.end()) {
553 newParametersMap.insert(parameter);
572 if (direction ==
"s") {
573 return "Straight (s)";
574 }
else if (direction ==
"t") {
576 }
else if (direction ==
"l") {
578 }
else if (direction ==
"r") {
580 }
else if (direction ==
"L") {
581 return "Partially left (L)";
582 }
else if (direction ==
"R") {
583 return "Partially right (R)";
584 }
else if (direction ==
"invalid") {
585 return "No direction (Invalid))";
594 return "Dead end (-)";
595 }
else if (state ==
"=") {
597 }
else if (state ==
"m") {
598 return "Minor link (m)";
599 }
else if (state ==
"M") {
600 return "Major link (M)";
601 }
else if (state ==
"O") {
602 return "TLS controller off (O)";
603 }
else if (state ==
"o") {
604 return "TLS yellow flashing (o)";
605 }
else if (state ==
"y") {
606 return "TLS yellow minor link (y)";
607 }
else if (state ==
"Y") {
608 return "TLS yellow major link (Y)";
609 }
else if (state ==
"r") {
610 return "TLS red (r)";
611 }
else if (state ==
"g") {
612 return "TLS green minor (g)";
613 }
else if (state ==
"G") {
614 return "TLS green major (G)";
615 }
else if (state ==
"Z") {
684const std::vector<GNETagProperties>
686 std::vector<GNETagProperties> allowedTags;
694 if (tagProperty.second.isNetworkElement()) {
695 allowedTags.push_back(tagProperty.second);
703 if (tagProperty.second.isAdditionalPureElement() && !tagProperty.second.isSymbol()) {
704 allowedTags.push_back(tagProperty.second);
711 if (tagProperty.second.isSymbol()) {
712 allowedTags.push_back(tagProperty.second);
719 if (tagProperty.second.isShapeElement()) {
720 allowedTags.push_back(tagProperty.second);
727 if (tagProperty.second.isTAZElement()) {
728 allowedTags.push_back(tagProperty.second);
735 if (tagProperty.second.isWireElement()) {
736 allowedTags.push_back(tagProperty.second);
743 if (tagProperty.second.isDemandElement()) {
744 allowedTags.push_back(tagProperty.second);
751 if (tagProperty.second.isRoute()) {
752 allowedTags.push_back(tagProperty.second);
759 if (tagProperty.second.isVehicle()) {
760 allowedTags.push_back(tagProperty.second);
767 if (tagProperty.second.isStop()) {
768 allowedTags.push_back(tagProperty.second);
775 if (tagProperty.second.isPerson()) {
776 allowedTags.push_back(tagProperty.second);
783 if (tagProperty.second.isPersonPlan()) {
784 allowedTags.push_back(tagProperty.second);
791 if (tagProperty.second.isPersonTrip()) {
792 allowedTags.push_back(tagProperty.second);
799 if (tagProperty.second.isWalk()) {
800 allowedTags.push_back(tagProperty.second);
807 if (tagProperty.second.isRide()) {
808 allowedTags.push_back(tagProperty.second);
815 if (tagProperty.second.isStopPerson()) {
816 allowedTags.push_back(tagProperty.second);
823 if (tagProperty.second.isGenericData()) {
824 allowedTags.push_back(tagProperty.second);
831 if (tagProperty.second.isContainer()) {
832 allowedTags.push_back(tagProperty.second);
839 if (tagProperty.second.isContainerPlan()) {
840 allowedTags.push_back(tagProperty.second);
847 if (tagProperty.second.isTransportPlan()) {
848 allowedTags.push_back(tagProperty.second);
855 if (tagProperty.second.isTranshipPlan()) {
856 allowedTags.push_back(tagProperty.second);
863 if (tagProperty.second.isStopContainer()) {
864 allowedTags.push_back(tagProperty.second);
878 if (attrProperty.hasDefaultValue()) {
879 setAttribute(attrProperty.getAttr(), attrProperty.getDefaultValue());
887 throw ProcessError(
"Nothing to toggle, implement in Children");
919 tagProperty.second.checkTagIntegrity();
935 std::vector<std::string> TLTypes;
951 "The id of the node");
956 "The x-y-z position of the node on the plane in meters");
961 "An optional type for the node");
967 "A custom shape for that node");
972 "Optional turning radius (for all corners) for that node in meters",
978 "Whether the junction-blocking-heuristic should be activated at this node",
984 "How to compute right of way rules at this node",
991 "Whether this junction is at the fringe of the network",
998 "Optional name of " +
toString(currentTag));
1003 "An optional type for the traffic light algorithm");
1009 "An optional layout for the traffic light plan");
1018 "An optional id for the traffic light program");
1031 "The id of the edge");
1036 "The number of lanes of the edge",
1042 "The maximum speed allowed on the edge in m/s",
1048 "Explicitly allows the given vehicle classes (not given will be not allowed)",
1054 "Explicitly disallows the given vehicle classes (not given will be allowed)");
1059 "The spreadType defines how to compute the lane geometry from the edge geometry (used for visualization)",
1066 "The priority of the edge",
1072 "Lane width for all lanes of this edge in meters (used for visualization)",
1099 "The maximum speed allowed on the lane in m/s",
1105 "Explicitly allows the given vehicle classes (not given will be not allowed)",
1111 "Explicitly disallows the given vehicle classes (not given will be allowed)");
1116 "Lane width for all lanes of this lane in meters (used for visualization)",
1135 "The name of a node within the nodes-file the edge shall start at");
1140 "The name of a node within the nodes-file the edge shall end at");
1145 "The maximum speed allowed on the edge in m/s",
1151 "The priority of the edge",
1157 "The number of lanes of the edge",
1163 "The name of a type within the SUMO edge type file");
1168 "Explicitly allows the given vehicle classes (not given will be not allowed)",
1174 "Explicitly disallows the given vehicle classes (not given will be allowed)");
1179 "If the shape is given it should start and end with the positions of the from-node and to-node");
1184 "The length of the edge in meter");
1189 "The spreadType defines how to compute the lane geometry from the edge geometry (used for visualization)",
1196 "street name (need not be unique, used for visualization)");
1201 "Lane width for all lanes of this edge in meters (used for visualization)",
1207 "Move the stop line back from the intersection by the given amount",
1213 "Custom position in which shape start (by default position of junction from)");
1218 "Custom position in which shape end (by default position of junction from)");
1223 "Show if edge is bidireccional",
1234 "The stop offset as positive value in meters",
1240 "Specifies, for which vehicle classes the stopOffset does NOT apply.",
1255 "Lane ID (Automatic, non editable)");
1260 "The enumeration index of the lane (0 is the rightmost lane, <NUMBER_LANES>-1 is the leftmost one)");
1265 "Speed in meters per second",
1271 "Explicitly allows the given vehicle classes (not given will be not allowed)",
1277 "Explicitly disallows the given vehicle classes (not given will be allowed)");
1282 "Width in meters (used for visualization)",
1288 "Move the stop line back from the intersection by the given amount",
1294 "Enable or disable lane as acceleration lane",
1300 "If the shape is given it overrides the computation based on edge shape");
1305 "If given, this defines the opposite direction lane");
1310 "Permit changing left only for to the given vehicle classes",
1317 "Permit changing right only for to the given vehicle classes",
1324 "Lane type description (optional)");
1329 "The stop offset as positive value in meters",
1335 "Specifies, for which vehicle classes the stopOffset does NOT apply.",
1355 "The (road) edges which are crossed");
1360 "Whether the pedestrians have priority over the vehicles (automatically set to true at tls-controlled intersections)",
1366 "The width of the crossings",
1372 "sets the tls-index for this crossing",
1378 "sets the opposite-direction tls-index for this crossing",
1384 "Overrids default shape of pedestrian crossing");
1402 "The width of the WalkingArea",
1408 "The length of the WalkingArea in meter");
1413 "Overrids default shape of pedestrian sidelwak");
1426 "The name of the edge the vehicles leave");
1431 "The name of the edge the vehicles may reach when leaving 'from'");
1436 "the lane index of the incoming lane (numbers starting with 0)");
1441 "the lane index of the outgoing lane (numbers starting with 0)");
1446 "if set, vehicles which pass this (lane-2-lane) connection) will not wait",
1452 "if set to false, vehicles which pass this (lane-2-lane) connection) will not worry about blocking the intersection",
1458 "If set to a more than 0 value, an internal junction will be built at this position (in m)/n"
1459 "from the start of the internal lane for this connection",
1465 "If set to true, This connection will not be TLS-controlled despite its node being controlled",
1471 "Vision distance between vehicles",
1477 "sets index of this connection within the controlling trafficlight",
1483 "sets index for the internal junction of this connection within the controlling trafficlight",
1489 "Explicitly allows the given vehicle classes (not given will be not allowed)",
1495 "Explicitly disallows the given vehicle classes (not given will be allowed)");
1500 "sets custom speed limit for the connection",
1506 "sets custom length for the connection",
1512 "sets custom shape for the connection");
1517 "Permit changing left only for to the given vehicle classes",
1524 "Permit changing right only for to the given vehicle classes",
1531 "if set to true, vehicles will make a turn in 2 steps",
1537 "set a custom edge type (for applying vClass-specific speed restrictions)");
1543 "turning direction for this connection (computed)");
1548 "link state for this connection (computed)");
1578 "The id of bus stop");
1583 "The name of the lane the bus stop shall be located at");
1588 "The begin position on the lane (the lower position on the lane) in meters");
1593 "The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m");
1598 "Name of " +
toString(currentTag));
1603 "If set, no error will be reported if element is placed behind the lane.\n"
1604 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
1605 "if the position was negative and larger than the lanes length after multiplication with - 1",
1611 "Meant to be the names of the bus lines that stop at this bus stop. This is only used for visualization purposes");
1616 "Larger numbers of persons trying to enter will create an upstream jam on the sidewalk",
1622 "Optional space definition for vehicles that park at this stop",
1628 "The RGBA color with which the busStop shall be displayed");
1642 "The id of train stop");
1647 "The name of the lane the train stop shall be located at");
1652 "The begin position on the lane (the lower position on the lane) in meters");
1657 "The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m");
1662 "Name of " +
toString(currentTag));
1667 "If set, no error will be reported if element is placed behind the lane.\n"
1668 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
1669 "if the position was negative and larger than the lanes length after multiplication with - 1",
1675 "Meant to be the names of the train lines that stop at this train stop. This is only used for visualization purposes");
1680 "Larger numbers of persons trying to enter will create an upstream jam on the sidewalk",
1686 "Optional space definition for vehicles that park at this stop",
1692 "The RGBA color with which the trainStop shall be displayed");
1706 "The name of the lane the stop access shall be located at");
1711 "The position on the lane (the lower position on the lane) in meters",
1717 "The walking length of the access in meters",
1723 "If set, no error will be reported if element is placed behind the lane.\n"
1724 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
1725 "if the position was negative and larger than the lanes length after multiplication with - 1",
1740 "The id of container stop");
1745 "The name of the lane the container stop shall be located at");
1750 "The begin position on the lane (the lower position on the lane) in meters");
1755 "The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m");
1760 "Name of " +
toString(currentTag));
1765 "If set, no error will be reported if element is placed behind the lane.\n"
1766 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
1767 "if the position was negative and larger than the lanes length after multiplication with - 1",
1773 "meant to be the names of the bus lines that stop at this container stop. This is only used for visualization purposes");
1778 "Larger numbers of container trying to enter will create an upstream jam on the sidewalk",
1784 "Optional space definition for vehicles that park at this stop",
1790 "The RGBA color with which the containerStop shall be displayed");
1803 "The id of charging station");
1808 "Lane of the charging station location");
1813 "Begin position in the specified lane");
1818 "End position in the specified lane");
1823 "Name of " +
toString(currentTag));
1828 "If set, no error will be reported if element is placed behind the lane.\n"
1829 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
1830 "if the position was negative and larger than the lanes length after multiplication with - 1",
1836 "Charging power in W",
1842 "Charging efficiency [0,1]",
1844 attrProperty.setRange(0, 1);
1849 "Enable or disable charge in transit, i.e. vehicle must or must not to stop for charging",
1855 "Time delay after the vehicles has reached / stopped on the charging station, before the energy transfer (charging) begins",
1869 "The id of ParkingArea");
1874 "The name of the lane the Parking Area shall be located at");
1879 "The begin position on the lane (the lower position on the lane) in meters");
1884 "The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m");
1889 "Lane position in that vehicle must depart when leaves parkingArea");
1894 "Name of " +
toString(currentTag));
1899 " The number of parking spaces for road-side parking",
1905 "If set, vehicles will park on the road lane and thereby reducing capacity",
1911 "If set, no error will be reported if element is placed behind the lane.\n"
1912 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
1913 "if the position was negative and larger than the lanes length after multiplication with - 1",
1919 "The width of the road-side parking spaces",
1925 "The length of the road-side parking spaces. By default (endPos - startPos) / roadsideCapacity",
1931 "The angle of the road-side parking spaces relative to the lane angle, positive means clockwise",
1946 "The x-y-z position of the node on the plane in meters");
1951 "Name of " +
toString(currentTag));
1956 "The width of the road-side parking spaces");
1961 "The length of the road-side parking spaces");
1966 "The angle of the road-side parking spaces relative to the lane angle, positive means clockwise");
1971 "The slope of the road-side parking spaces",
1982 GUIIcon::E1, currentTag, {}, FXRGBA(210, 233, 255, 255));
1991 "The id of the lane the detector shall be laid on. The lane must be a part of the network used");
1996 "The position on the lane the detector shall be laid on in meters. The position must be a value between -1*lane's length and the lane's length");
2001 "The aggregation period the values the detector collects shall be summed up",
2007 "Name of " +
toString(currentTag));
2012 "The path to the output file");
2017 "Space separated list of vehicle type ids to consider");
2022 "If set, no error will be reported if element is placed behind the lane.\n"
2023 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
2024 "if the position was negative and larger than the lanes length after multiplication with - 1",
2034 GUIIcon::E2, currentTag, {}, FXRGBA(210, 233, 255, 255));
2043 "The id of the lane the detector shall be laid on. The lane must be a part of the network used");
2048 "The position on the lane the detector shall be laid on in meters");
2053 "The length of the detector in meters",
2059 "The aggregation period the values the detector collects shall be summed up",
2065 "The traffic light that triggers aggregation when switching");
2070 "Name of " +
toString(currentTag));
2075 "The path to the output file");
2080 "Space separated list of vehicle type ids to consider");
2085 "The time-based threshold that describes how much time has to pass until a vehicle is recognized as halting)",
2091 "The speed-based threshold that describes how slow a vehicle has to be to be recognized as halting) in m/s",
2097 "The minimum distance to the next standing vehicle in order to make this vehicle count as a participant to the jam) in m",
2103 "If set, no error will be reported if element is placed behind the lane.\n"
2104 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
2105 "if the position was negative and larger than the lanes length after multiplication with - 1",
2119 "The id of Multilane E2");
2124 "The list of secuencial lane ids in which the detector shall be laid on");
2129 "The position on the lane the detector shall be laid on in meters");
2134 "The end position on the lane the detector shall be laid on in meters");
2139 "The aggregation period the values the detector collects shall be summed up",
2145 "The traffic light that triggers aggregation when switching");
2150 "Name of " +
toString(currentTag));
2155 "The path to the output file");
2160 "Space separated list of vehicle type ids to consider");
2165 "The time-based threshold that describes how much time has to pass until a vehicle is recognized as halting)",
2171 "The speed-based threshold that describes how slow a vehicle has to be to be recognized as halting) in m/s",
2177 "The minimum distance to the next standing vehicle in order to make this vehicle count as a participant to the jam) in m",
2183 "If set, no error will be reported if element is placed behind the lane.\n"
2184 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
2185 "if the position was negative and larger than the lanes length after multiplication with - 1",
2196 GUIIcon::E3, currentTag, {}, FXRGBA(210, 233, 255, 255));
2205 "X-Y position of detector in editor (Only used in NETEDIT)",
2211 "The aggregation period the values the detector collects shall be summed up",
2217 "Name of " +
toString(currentTag));
2222 "The path to the output file");
2227 "Space separated list of vehicle type ids to consider");
2232 "The time-based threshold that describes how much time has to pass until a vehicle is recognized as halting) in s",
2238 "The speed-based threshold that describes how slow a vehicle has to be to be recognized as halting) in m/s",
2252 "The id of the lane the detector shall be laid on. The lane must be a part of the network used");
2257 "The position on the lane the detector shall be laid on in meters");
2262 "If set, no error will be reported if element is placed behind the lane.\n"
2263 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
2264 "if the position was negative and larger than the lanes length after multiplication with - 1",
2279 "The id of the lane the detector shall be laid on. The lane must be a part of the network used");
2284 "The position on the lane the detector shall be laid on in meters");
2289 "If set, no error will be reported if element is placed behind the lane.\n"
2290 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
2291 "if the position was negative and larger than the lanes length after multiplication with - 1",
2306 "The id of Instant Induction Loop (E1Instant)");
2311 "The id of the lane the detector shall be laid on. The lane must be a part of the network used");
2316 "The position on the lane the detector shall be laid on in meters. The position must be a value between -1*lane's length and the lane's length");
2321 "Name of " +
toString(currentTag));
2326 "The path to the output file");
2331 "Space separated list of vehicle type ids to consider");
2336 "If set, no error will be reported if element is placed behind the lane.\n"
2337 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
2338 "if the position was negative and larger than the lanes length after multiplication with - 1",
2353 "The id of Variable Speed Signal");
2358 "X-Y position of detector in editor (Only used in NETEDIT)",
2364 "List of Variable Speed Sign lanes");
2369 "Name of " +
toString(currentTag));
2374 "Space separated list of vehicle type ids to consider (empty to affect all types)");
2414 "The id of Calibrator");
2419 "The id of edge in the simulation network");
2424 "The position of the calibrator on the specified lane",
2430 "The aggregation interval in which to calibrate the flows. Default is step-length",
2436 "Name of " +
toString(currentTag));
2441 "The id of the routeProbe element from which to determine the route distribution for generated vehicles");
2446 "The output file for writing calibrator information or NULL");
2451 "A threshold value to detect and clear unexpected jamming",
2457 "space separated list of vehicle type ids to consider (empty to affect all types)");
2470 "The id of Calibrator");
2475 "The id of lane in the simulation network");
2480 "The position of the calibrator on the specified lane",
2486 "The aggregation interval in which to calibrate the flows. Default is step-length",
2492 "Name of " +
toString(currentTag));
2497 "The id of the routeProbe element from which to determine the route distribution for generated vehicles");
2502 "The output file for writing calibrator information or NULL");
2507 "A threshold value to detect and clear unexpected jamming",
2513 "space separated list of vehicle type ids to consider (empty to affect all types)");
2526 "The id of the route the vehicle shall drive along");
2531 "First " +
toString(currentTag) +
" departure time",
2537 "End of departure interval",
2547 "The id of the vehicle type to use for this " +
toString(currentTag),
2553 "Number of " +
toString(currentTag) +
"s per hour, equally spaced",
2559 "Speed of " +
toString(currentTag) +
"s",
2574 "The id of Rerouter");
2579 "An edge id or a list of edge ids where vehicles shall be rerouted");
2584 "X,Y position in editor (Only used in NETEDIT)",
2590 "Name of " +
toString(currentTag));
2595 "The probability for vehicle rerouting (0-1)",
2601 "The waiting time threshold (in s) that must be reached to activate rerouting (default -1 which disables the threshold)",
2607 "The list of vehicle types that shall be affected by this rerouter (empty to affect all types)");
2612 "Whether the router should be inactive initially (and switched on in the gui)",
2660 "allowed vehicles");
2665 "disallowed vehicles");
2684 "allowed vehicles");
2689 "disallowed vehicles");
2734 "Enable or disable visibility for parking area reroutes",
2768 "The id of RouteProbe");
2773 "The id of an edge in the simulation network");
2778 "The frequency in which to report the distribution",
2784 "Name of " +
toString(currentTag));
2789 "The file for generated output");
2794 "The time at which to start generating output",
2808 "Edge in which vaporizer is placed");
2825 "Name of " +
toString(currentTag));
2846 "The id of the polygon");
2851 "The shape of the polygon");
2856 "The RGBA color with which the polygon shall be displayed",
2862 "An information whether the polygon shall be filled",
2868 "The default line width for drawing an unfilled polygon",
2874 "The layer in which the polygon lies",
2880 "A typename for the polygon",
2886 "Name of " +
toString(currentTag));
2891 "A bitmap to use for rendering this polygon",
2897 "Enable or disable use image file as a relative path",
2903 "Angle of rendered image in degree",
2917 "The id of the " +
toString(currentTag));
2922 "The position in view");
2927 "The color with which the " +
toString(currentTag) +
" shall be displayed",
2933 "A typename for the " +
toString(currentTag),
2939 "Name of " +
toString(currentTag));
2944 "The layer of the " +
toString(currentTag) +
" for drawing and selecting",
2950 "Width of rendered image in meters",
2956 "Height of rendered image in meters",
2962 "A bitmap to use for rendering this " +
toString(currentTag),
2968 "Enable or disable use image file as a relative path",
2974 "Angle of rendered image in degree",
2988 "The id of the " +
toString(currentTag));
2993 "The name of the lane at which the " +
toString(currentTag) +
" is located at");
2998 "The position on the named lane or in the net in meters at which the " +
toString(currentTag) +
" is located at");
3003 "If set, no error will be reported if element is placed behind the lane.\n"
3004 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
3005 "if the position was negative and larger than the lanes length after multiplication with - 1",
3011 "The lateral offset on the named lane at which the " +
toString(currentTag) +
" is located at",
3017 "The color with which the " +
toString(currentTag) +
" shall be displayed",
3023 "A typename for the " +
toString(currentTag),
3029 "Name of " +
toString(currentTag));
3034 "The layer of the " +
toString(currentTag) +
" for drawing and selecting",
3040 "Width of rendered image in meters",
3046 "Height of rendered image in meters",
3052 "A bitmap to use for rendering this " +
toString(currentTag),
3058 "Enable or disable use image file as a relative path",
3064 "Angle of rendered image in degree",
3078 "The id of the " +
toString(currentTag));
3084 "The longitud position of the parking vehicle on the view");
3089 "The latitud position of the parking vehicle on the view");
3094 "The color with which the " +
toString(currentTag) +
" shall be displayed",
3100 "A typename for the " +
toString(currentTag),
3106 "Name of " +
toString(currentTag));
3111 "The layer of the " +
toString(currentTag) +
" for drawing and selecting",
3117 "Width of rendered image in meters",
3123 "Height of rendered image in meters",
3129 "A bitmap to use for rendering this " +
toString(currentTag),
3135 "Enable or disable use image file as a relative path",
3141 "Angle of rendered image in degree",
3163 "The id of the TAZ");
3168 "The shape of the TAZ");
3178 "An information whether the TAZ shall be filled",
3184 "The RGBA color with which the TAZ shall be displayed",
3190 "Name of " +
toString(currentTag));
3203 "The id of edge in the simulation network");
3209 "Depart weight associated to this Edge",
3223 "The id of edge in the simulation network");
3229 "Arrival weight associated to this Edget",
3252 "Traction substation ID");
3257 "X-Y position of detector in editor (Only used in NETEDIT)",
3263 "Voltage of at connection point for the overhead wire",
3269 "Current limit of the feeder line",
3283 "Overhead wire segment ID");
3288 "Substation to which the circuit is connected");
3293 "List of consecutive lanes of the circuit");
3298 "Starting position in the specified lane",
3304 "Ending position in the specified lane",
3310 "If set, no error will be reported if element is placed behind the lane.\n"
3311 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
3312 "if the position was negative and larger than the lanes length after multiplication with - 1",
3318 "Inner lanes, where placing of overhead wire is restricted");
3331 "Overhead wire clamp ID");
3336 "ID of the overhead wire segment, to the start of which the overhead wire clamp is connected");
3341 "ID of the overhead wire segment lane of overheadWireIDStartClamp");
3346 "ID of the overhead wire segment, to the end of which the overhead wire clamp is connected");
3351 "ID of the overhead wire segment lane of overheadWireIDEndClamp");
3379 "The edges the vehicle shall drive along, given as their ids, separated using spaces");
3384 "This route's color");
3389 "The number of times that the edges of this route shall be repeated",
3395 "When defining a repeating route with stops and those stops use the until attribute,\n"
3396 "the times will be shifted forward by 'cycleTime' on each repeat",
3411 "The edges the vehicle shall drive along, given as their ids, separated using spaces");
3416 "This route's color");
3421 "The number of times that the edges of this route shall be repeated",
3427 "When defining a repeating route with stops and those stops use the until attribute,\n"
3428 "the times will be shifted forward by 'cycleTime' on each repeat",
3443 "The id of VehicleType distribution");
3465 "The id of VehicleType");
3470 "Vehicle Type Distribution");
3475 "An abstract vehicle class",
3482 "This vehicle type's color",
3488 "The vehicle's netto-length (length) [m]");
3493 "Empty space after leader [m]");
3498 "The vehicle's maximum velocity [m/s]");
3503 "The vehicles expected multiplicator for lane speed limits (or a distribution specifier)");
3508 "The vehicles desired maximum velocity (interacts with speedFactor).\n"
3509 "Applicable when no speed Limit applies (bicycles, some motorways) [m/s]");
3514 "An abstract emission class");
3520 "How this vehicle is rendered");
3526 "The vehicle's width [m] (only used for drawing)",
3532 "The vehicle's height [m] (only used for drawing)",
3538 "Image file for rendering vehicles of this type (should be grayscale to allow functional coloring)");
3543 "The model used for changing lanes",
3550 "The model used for car following",
3557 "The number of persons (excluding an autonomous driver) the vehicle can transport");
3562 "The number of containers the vehicle can transport");
3567 "The time required by a person to board the vehicle",
3573 "The time required to load a container onto the vehicle",
3579 "The preferred lateral alignment when using the sublane-model",
3586 "The minimum lateral gap at a speed difference of 50km/h when using the sublane-model",
3592 "The maximum lateral speed when using the sublane-model",
3598 "The interval length for which vehicle performs its decision logic (acceleration and lane-changing)",
3604 "The probability when being added to a distribution without an explicit probability",
3610 "3D model file for this class",
3616 "Carriage lengths");
3621 "Locomotive lengths");
3626 "GAP between carriages",
3659 "The name of " +
toString(currentTag) +
"s that will be generated using this trip definition");
3664 "The id of the " +
toString(currentTag) +
" type to use for this " +
toString(currentTag),
3670 "The name of the edge the " +
toString(currentTag) +
" starts at");
3675 "The name of the edge the " +
toString(currentTag) +
" ends at");
3680 "List of intermediate edge ids which shall be part of the " +
toString(currentTag));
3688 "The departure time of the (first) " +
toString(currentTag) +
" which is generated using this " +
toString(currentTag) +
" definition",
3699 myTagProperties[currentTag].setFieldString(
"trip (from-to junctions)");
3704 "The name of " +
toString(currentTag) +
"s that will be generated using this trip definition");
3709 "The id of the " +
toString(currentTag) +
" type to use for this " +
toString(currentTag),
3715 "The name of the junction the " +
toString(currentTag) +
" starts at");
3720 "The name of the junction the " +
toString(currentTag) +
" ends at");
3728 "The departure time of the (first) " +
toString(currentTag) +
" which is generated using this " +
toString(currentTag) +
" definition",
3744 "The name of the " +
toString(currentTag));
3749 "The id of the vehicle type to use for this " +
toString(currentTag),
3755 "The id of the route the " +
toString(currentTag) +
" shall drive along");
3760 "The index of the edge within route the " +
toString(currentTag) +
" starts at");
3765 "The index of the edge within route the " +
toString(currentTag) +
" ends at");
3773 "The time step at which the " +
toString(currentTag) +
" shall enter the network",
3784 myTagProperties[currentTag].setFieldString(
"vehicle (embedded route)");
3800 "The index of the edge within route the " +
toString(currentTag) +
" starts at");
3805 "The index of the edge within route the " +
toString(currentTag) +
" ends at");
3829 "The name of the " +
toString(currentTag));
3834 "The id of the " +
toString(currentTag) +
" type to use for this " +
toString(currentTag),
3840 "The name of the edge the " +
toString(currentTag) +
" starts at");
3845 "The name of the edge the " +
toString(currentTag) +
" ends at");
3850 "List of intermediate edge ids which shall be part of the " +
toString(currentTag));
3866 myTagProperties[currentTag].setFieldString(
"flow (from-to junctions)");
3871 "The name of the " +
toString(currentTag));
3876 "The id of the " +
toString(currentTag) +
" type to use for this " +
toString(currentTag),
3882 "The name of the junction the " +
toString(currentTag) +
" starts at");
3887 "The name of the junction the " +
toString(currentTag) +
" ends at");
3908 "The name of the " +
toString(currentTag));
3913 "The id of the " +
toString(currentTag) +
" type to use for this " +
toString(currentTag),
3919 "The id of the route the " +
toString(currentTag) +
" shall drive along");
3924 "The index of the edge within route the " +
toString(currentTag) +
" starts at");
3929 "The index of the edge within route the " +
toString(currentTag) +
" ends at");
3961 "The index of the edge within route the " +
toString(currentTag) +
" starts at");
3966 "The index of the edge within route the " +
toString(currentTag) +
" ends at");
4003 "The name of the lane the stop shall be located at");
4008 "The begin position on the lane (the lower position on the lane) in meters");
4013 "The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m");
4018 "If set, no error will be reported if element is placed behind the lane.\n"
4019 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
4020 "if the position was negative and larger than the lanes length after multiplication with - 1",
4026 "The lateral offset on the named lane at which the vehicle must stop",
4043 "BusStop associated with this stop");
4059 "ContainerStop associated with this stop");
4075 "ChargingStation associated with this stop");
4091 "ParkingArea associated with this stop");
4115 "The name of the lane the waypoint shall be located at");
4120 "The begin position on the lane (the lower position on the lane) in meters");
4125 "The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m");
4130 "If set, no error will be reported if element is placed behind the lane.\n"
4131 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
4132 "if the position was negative and larger than the lanes length after multiplication with - 1",
4138 "The lateral offset on the named lane at which the vehicle must waypoint",
4155 "BusWaypoint associated with this waypoint");
4171 "ContainerWaypoint associated with this waypoint");
4187 "ChargingStation associated with this waypoint");
4203 "ParkingArea associated with this waypoint");
4231 "The time step at which the " +
toString(currentTag) +
" shall enter the network",
4271 "The time step at which the " +
toString(currentTag) +
" shall enter the network",
4307 "The name of the edge the " +
toString(currentTag) +
" starts at");
4312 "The name of the edge the " +
toString(currentTag) +
" ends at");
4317 "arrival position on the destination edge",
4323 "list of vehicle alternatives to take for the " +
toString(currentTag),
4337 "The name of the edge the " +
toString(currentTag) +
" starts at");
4347 "list of vehicle alternatives to take for the " +
toString(currentTag),
4369 "The name of the edge the " +
toString(currentTag) +
" starts at");
4374 "The name of the edge the " +
toString(currentTag) +
" ends at");
4379 "The position at which the " +
toString(currentTag) +
" shall enter the net",
4385 "arrival position on the destination edge",
4391 "speed of the container for this tranship in m/s",
4405 "The name of the edge the " +
toString(currentTag) +
" starts at");
4415 "The position at which the " +
toString(currentTag) +
" shall enter the net",
4421 "speed of the container for this tranship in m/s",
4435 "id of the edges to walk");
4440 "The position at which the " +
toString(currentTag) +
" shall enter the net",
4446 "Arrival position on the destination edge",
4452 "speed of the container for this tranship in m/s",
4475 "The name of the edge the stop shall be located at");
4480 "The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m");
4485 "If set, no error will be reported if element is placed behind the lane.\n"
4486 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
4487 "if the position was negative and larger than the lanes length after multiplication with - 1",
4493 "Minimum duration for stopping",
4495 attrProperty.setDefaultActivated(
true);
4500 "The time step at which the route continues",
4506 "Activity displayed for stopped container in GUI and output files ");
4520 "ContainerStop associated with this stop");
4525 "Minimum duration for stopping",
4527 attrProperty.setDefaultActivated(
true);
4532 "The time step at which the route continues",
4538 "Activity displayed for stopped container in GUI and output files ");
4559 "The name of the edge the " +
toString(currentTag) +
" starts at");
4564 "The name of the edge the " +
toString(currentTag) +
" ends at");
4569 "arrival position on the destination edge",
4575 "List of possible vehicle types to take");
4580 "List of possible traffic modes. Walking is always possible regardless of this value");
4585 "list of vehicle alternatives to take for the " +
toString(currentTag),
4599 "The name of the edge the " +
toString(currentTag) +
" starts at");
4609 "List of possible vehicle types to take");
4614 "List of possible traffic modes. Walking is always possible regardless of this value");
4619 "list of vehicle alternatives to take for the " +
toString(currentTag),
4633 "The name of the junction the " +
toString(currentTag) +
" starts at");
4638 "The name of the junction the " +
toString(currentTag) +
" ends at");
4643 "List of possible vehicle types to take");
4648 "List of possible traffic modes. Walking is always possible regardless of this value");
4653 "list of vehicle alternatives to take for the " +
toString(currentTag),
4675 "The name of the edge the " +
toString(currentTag) +
" starts at");
4680 "The name of the edge the " +
toString(currentTag) +
" ends at");
4685 "arrival position on the destination edge",
4699 "The name of the edge the " +
toString(currentTag) +
" starts at");
4717 "id of the edges to walk");
4722 "Arrival position on the destination edge",
4736 "The id of the route to walk");
4741 "Arrival position on the destination edge",
4756 "The name of the junction the " +
toString(currentTag) +
" starts at");
4761 "The name of the junction the " +
toString(currentTag) +
" ends at");
4782 "The name of the edge the " +
toString(currentTag) +
" starts at");
4787 "The name of the edge the " +
toString(currentTag) +
" ends at");
4792 "arrival position on the destination edge",
4798 "list of vehicle alternatives to take for the " +
toString(currentTag),
4812 "The name of the edge the " +
toString(currentTag) +
" starts at");
4822 "list of vehicle alternatives to take for the " +
toString(currentTag),
4845 "The name of the edge the stop shall be located at");
4850 "The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m");
4855 "If set, no error will be reported if element is placed behind the lane.\n"
4856 "Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,\n"
4857 "if the position was negative and larger than the lanes length after multiplication with - 1",
4863 "Minimum duration for stopping",
4865 attrProperty.setDefaultActivated(
true);
4870 "The time step at which the route continues",
4876 "Activity displayed for stopped person in GUI and output files ");
4890 "BusStop associated with this stop");
4895 "Minimum duration for stopping",
4897 attrProperty.setDefaultActivated(
true);
4902 "The time step at which the route continues",
4908 "Activity displayed for stopped person in GUI and output files ");
4920 "This " +
toString(currentTag) +
"'s color",
4926 "The lane on which the " +
toString(currentTag) +
" shall be inserted",
4932 "The position at which the " +
toString(currentTag) +
" shall enter the net",
4938 "The speed with which the " +
toString(currentTag) +
" shall enter the network",
4944 "The lane at which the " +
toString(currentTag) +
" shall leave the network",
4950 "The position at which the " +
toString(currentTag) +
" shall leave the network",
4956 "The speed with which the " +
toString(currentTag) +
" shall leave the network",
4962 "A string specifying the id of a public transport line which can be used when specifying person rides");
4967 "The number of occupied seats when the " +
toString(currentTag) +
" is inserted",
4973 "The number of occupied container places when the " +
toString(currentTag) +
" is inserted",
4979 "The lateral position on the departure lane at which the " +
toString(currentTag) +
" shall enter the net",
4985 "The lateral position on the arrival lane at which the " +
toString(currentTag) +
" shall arrive",
5004 "First " +
toString(currentTag) +
" departure time",
5010 "End of departure interval",
5016 "probability for emitting a " +
toString(currentTag) +
" each second\n"
5017 "(not together with vehsPerHour or period)",
5023 "Number of " +
toString(currentTag) +
"s per hour, equally spaced\n"
5024 "(not together with period or probability or poisson)",
5030 "Insert equally spaced " +
toString(currentTag) +
"s at that period\n"
5031 "(not together with vehsPerHour or probability or poisson)",
5037 "probability for emitting a " +
toString(currentTag) +
" each second\n"
5038 "(not together with vehsPerHour or period or poisson)",
5044 "Insert " +
toString(currentTag) +
"s spaciated using a poisson distribution\n"
5045 "(not together with period or vehsPerHour or probability)",
5058 "The acceleration ability of vehicles of this type [m/s^2]",
5064 "The deceleration ability of vehicles of this type [m/s^2]",
5070 "The apparent deceleration of the vehicle as used by the standard model [m/s^2]",
5076 "The maximal physically possible deceleration for the vehicle [m/s^2]",
5082 "Car-following model parameter",
5089 "Car-following model parameter",
5095 "SKRAUSSX parameter 1",
5101 "SKRAUSSX parameter 2",
5107 "SKRAUSSX parameter 3",
5113 "SKRAUSSX parameter 4",
5119 "SKRAUSSX parameter 5",
5125 "EIDM Look ahead / preview parameter [s]",
5131 "EIDM AP Reaction Time parameter [s]",
5137 "EIDM Wiener Process parameter for the Driving Error [s]",
5143 "EIDM Wiener Process parameter for the Estimation Error [s]",
5149 "EIDM Coolness parameter of the Enhanced IDM [-]",
5156 "EIDM leader speed estimation error parameter [-]",
5162 "EIDM gap estimation error parameter [-]",
5168 "EIDM driving error parameter [-]",
5174 "EIDM maximal jerk parameter [m/s^3]",
5180 "EIDM maximal negative acceleration between two Action Points (threshold) [m/s^2]",
5186 "EIDM Time parameter untill vehicle reaches amax after startup/driveoff [s]",
5192 "EIDM Flatness parameter of startup/driveoff curve [-]",
5198 "EIDM Shift parameter of startup/driveoff curve [-]",
5204 "EIDM parameter if model shall include vehicle dynamics into the acceleration calculation [0/1]",
5210 "EIDM parameter how many vehicles are taken into the preview calculation of the driver (at least always 1!) [-]",
5216 "Peter Wagner 2009 parameter",
5222 "Peter Wagner 2009 parameter",
5240 "Wiedemann parameter",
5246 "Wiedemann parameter",
5252 "MinGap factor parameter",
5265 "Kerner Phi parameter",
5271 "IDM Delta parameter",
5277 "IDM Stepping parameter",
5296 "Minimum distance to pedestrians that are walking towards the conflict point with the ego vehicle.",
5302 "The accumulated waiting time after which a vehicle will drive onto an intersection even though this might cause jamming.",
5308 "This value causes vehicles to violate a yellow light if the duration of the yellow phase is lower than the given threshold.",
5314 "This value causes vehicles to violate a red light if the duration of the red phase is lower than the given threshold.",
5320 "This value causes vehicles affected by jmDriveAfterRedTime to slow down when violating a red light.",
5326 "This value causes vehicles to ignore foe vehicles that have right-of-way with the given probability.",
5332 "This value is used in conjunction with jmIgnoreFoeProb.\n"
5333 "Only vehicles with a speed below or equal to the given value may be ignored.",
5339 "This value configures driving imperfection (dawdling) while passing a minor link.",
5345 "This value defines the minimum time gap when passing ahead of a prioritized vehicle. ",
5351 "Willingess of drivers to impede vehicles with higher priority",
5364 "The eagerness for performing strategic lane changing. Higher values result in earlier lane-changing.",
5370 "The willingness for performing cooperative lane changing. Lower values result in reduced cooperation.",
5376 "The eagerness for performing lane changing to gain speed. Higher values result in more lane-changing.",
5382 "The eagerness for following the obligation to keep right. Higher values result in earlier lane-changing.",
5388 "The eagerness for using the configured lateral alignment within the lane.\n"
5389 "Higher values result in increased willingness to sacrifice speed for alignment.",
5395 "The eagerness for overtaking through the opposite-direction lane. Higher values result in more lane-changing.",
5401 "Willingness to encroach laterally on other drivers.",
5407 "Minimum lateral gap when encroaching laterally on other drives (alternative way to define lcPushy)",
5413 "Willingness to accept lower front and rear gaps on the target lane.",
5419 "Dynamic factor for modifying lcAssertive and lcPushy.",
5425 "Time to reach maximum impatience (of 1). Impatience grows whenever a lane-change manoeuvre is blocked.",
5431 "Maximum lateral acceleration per second.",
5437 "Factor for configuring the strategic lookahead distance when a change to the left is necessary (relative to right lookahead).",
5443 "Factor for configuring the treshold asymmetry when changing to the left or to the right for speed gain.",
5449 "Upper bound on lateral speed when standing.",
5455 "Upper bound on lateral speed while moving computed as lcMaxSpeedLatStanding + lcMaxSpeedLatFactor * getSpeed()",
5461 "Distance to an upcoming turn on the vehicles route, below which the alignment\n"
5462 "should be dynamically adapted to match the turn direction.",
5468 "The probability for violating rules gainst overtaking on the right.",
5474 "Time threshold for the willingness to change right.",
5480 "Speed difference factor for the eagerness of overtaking a neighbor vehicle before changing lanes (threshold = factor*speedlimit).",
5502 "The name of the " +
toString(currentTag));
5507 "The id of the " +
toString(currentTag) +
" type to use for this " +
toString(currentTag),
5513 "This " +
toString(currentTag) +
"'s color",
5519 "The position at which the " +
toString(currentTag) +
" shall enter the net",
5532 "The name of the " +
toString(currentTag));
5537 "The id of the " +
toString(currentTag) +
" type to use for this " +
toString(currentTag),
5543 "This " +
toString(currentTag) +
"'s color",
5556 "Minimum duration for stopping",
5563 "The time step at which the route continues",
5569 "If set to a non-negative time value, then the stop duration can be extended at most by the extension value in seconds",
5575 "Whether a person or container or bth may end the stop",
5582 "List of elements that must board the vehicle before it may continue");
5587 "List of elements that can board the vehicle before it may continue");
5592 "Whether the vehicle stops on the road or beside",
5599 "Activity displayed for stopped person in GUI and output files");
5604 "Parameter to be applied to the vehicle to track the trip id within a cyclical public transport route");
5609 "New line attribute to be set on the vehicle when reaching this stop (for cyclical public transport route)");
5615 "Speed to be kept while driving between startPos and endPos",
5621 "Whether the stop may be skipped if no passengers wants to embark or disembark",
5666 "First " +
toString(currentTag) +
" departure time",
5672 "End of departure interval",
5702 "The name of the edge the " +
toString(currentTag) +
" starts at");
5707 "The name of the edge the " +
toString(currentTag) +
" ends at");
5721 "The name of the TAZ the " +
toString(currentTag) +
" starts at");
5726 "The name of the TAZ the " +
toString(currentTag) +
" ends at");
GUISelectedStorage gSelected
A global holder of selected objects.
@ TRANSPORT_CONTAINERSTOP
@ VCLASS_SMALL_RAIL_URBAN
@ VCLASS_SMALL_RAIL_ELECTRIC
@ VCLASS_SMALL_MOTORCYCLE
@ VCLASS_SMALL_PEDESTRIAN
SUMOTime string2time(const std::string &r)
convert string to SUMOTime
StringBijection< SUMOVehicleShape > SumoVehicleShapeStrings(sumoVehicleShapeStringInitializer, SUMOVehicleShape::UNKNOWN, false)
StringBijection< SUMOVehicleClass > SumoVehicleClassStrings(sumoVehicleClassStringInitializer, SVC_CUSTOM2, false)
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
@ SVC_SHIP
is an arbitrary ship
@ SVC_PRIVATE
private vehicles
@ SVC_HOV
vehicle is a HOV
@ SVC_TRUCK
vehicle is a large transport vehicle
@ SVC_IGNORING
vehicles ignoring classes
@ SVC_CUSTOM2
is a user-defined type
@ SVC_RAIL
vehicle is a not electrified rail
@ SVC_COACH
vehicle is a coach
@ SVC_PASSENGER
vehicle is a passenger car (a "normal" car)
@ SVC_BICYCLE
vehicle is a bicycle
@ SVC_RAIL_FAST
vehicle that is allowed to drive on high-speed rail tracks
@ SVC_TRAILER
vehicle is a large transport vehicle
@ SVC_CUSTOM1
is a user-defined type
@ SVC_RAIL_ELECTRIC
rail vehicle that requires electrified tracks
@ SVC_DELIVERY
vehicle is a small delivery vehicle
@ SVC_RAIL_URBAN
vehicle is a city rail
@ SVC_MOTORCYCLE
vehicle is a motorcycle
@ SVC_EMERGENCY
public emergency vehicles
@ SVC_MOPED
vehicle is a moped
@ SVC_AUTHORITY
authorities vehicles
@ SVC_TRAM
vehicle is a light rail
@ SVC_TAXI
vehicle is a taxi
@ SVC_BUS
vehicle is a bus
@ SVC_E_VEHICLE
is an electric vehicle
@ SVC_PEDESTRIAN
pedestrian
const double DEFAULT_VEH_PROB
SUMOVehicleShape
Definition of vehicle classes to differ between different appearances.
const std::string DEFAULT_VTYPE_ID
const std::string DEFAULT_CONTAINERTYPE_ID
SumoXMLTag
Numbers representing SUMO-XML - element names.
@ GNE_TAG_TRIP_JUNCTIONS
a trip between junctions (used in NETEDIT)
@ SUMO_TAG_TRACTION_SUBSTATION
A traction substation.
@ SUMO_TAG_INTERVAL
an aggreagated-output interval
@ SUMO_TAG_CLOSING_REROUTE
reroute of type closing
@ SUMO_TAG_STOP_CONTAINERSTOP
stop placed over a containerStop (used in netedit)
@ GNE_TAG_PERSONTRIP_JUNCTIONS
@ SUMO_TAG_REROUTER
A rerouter.
@ SUMO_TAG_EDGEREL
a relation between two edges
@ GNE_TAG_WAYPOINT_PARKINGAREA
waypoint placed over a parking area (used in netedit)
@ GNE_TAG_MULTI_LANE_AREA_DETECTOR
an e2 detector over multiple lanes (placed here due create Additional Frame)
@ SUMO_TAG_ROUTEPROBE
a routeprobe detector
@ GNE_TAG_TRANSPORT_CONTAINERSTOP
@ SUMO_TAG_TAZ
a traffic assignment zone
@ SUMO_TAG_CHARGING_STATION
A Charging Station.
@ SUMO_TAG_VTYPE
description of a vehicle/person/container type
@ SUMO_TAG_ACCESS
An access point for a train stop.
@ GNE_TAG_PERSONTRIP_BUSSTOP
@ SUMO_TAG_CONTAINER_STOP
A container stop.
@ SUMO_TAG_PARKING_AREA_REROUTE
entry for an alternative parking zone
@ SUMO_TAG_STOP_CHARGINGSTATION
stop placed over a charging station (used in netedit)
@ SUMO_TAG_TAZSINK
a sink within a district (connection road)
@ SUMO_TAG_STOP_LANE
stop placed over a lane (used in netedit)
@ GNE_TAG_WAYPOINT_CONTAINERSTOP
waypoint placed over a containerStop (used in netedit)
@ GNE_TAG_STOPCONTAINER_EDGE
@ GNE_TAG_WAYPOINT_BUSSTOP
waypoint placed over a busStop (used in netedit)
@ SUMO_TAG_BUS_STOP
A bus stop.
@ SUMO_TAG_POI
begin/end of the description of a Point of interest
@ GNE_TAG_WAYPOINT_CHARGINGSTATION
waypoint placed over a charging station (used in netedit)
@ GNE_TAG_STOPPERSON_BUSSTOP
@ SUMO_TAG_STOP
stop for vehicles
@ SUMO_TAG_STEP
trigger: a step description
@ SUMO_TAG_VEHICLE
description of a vehicle
@ GNE_TAG_FLOW_ROUTE
a flow definition using a route instead of a from-to edges route (used in NETEDIT)
@ SUMO_TAG_OVERHEAD_WIRE_CLAMP
An overhead wire clamp (connection of wires in opposite directions)
@ GNE_TAG_VSS_SYMBOL
VSS Symbol.
@ GNE_TAG_FLOW_JUNCTIONS
a flow between junctions (used in NETEDIT)
@ GNE_TAG_POIGEO
Point of interest over view with GEO attributes.
@ SUMO_TAG_LANETYPE
lane type
@ GNE_TAG_STOPCONTAINER_CONTAINERSTOP
@ GNE_TAG_FLOW_WITHROUTE
description of a vehicle with an embedded route (used in NETEDIT)
@ SUMO_TAG_FLOW
a flow definitio nusing a from-to edges instead of a route (used by router)
@ SUMO_TAG_CONNECTION
connectio between two lanes
@ SUMO_TAG_PARKING_AREA
A parking area.
@ SUMO_TAG_WALKINGAREA
walking area for pedestrians
@ SUMO_TAG_ROUTE_PROB_REROUTE
probability of route of a reroute
@ GNE_TAG_CALIBRATOR_LANE
A calibrator placed over lane.
@ SUMO_TAG_DET_ENTRY
an e3 entry point
@ SUMO_TAG_PARKING_SPACE
A parking space for a single vehicle within a parking area.
@ SUMO_TAG_JUNCTION
begin/end of the description of a junction
@ SUMO_TAG_CROSSING
crossing between edges for pedestrians
@ SUMO_TAG_ROUTE
begin/end of the description of a route
@ SUMO_TAG_MEANDATA_EDGE
an edge based mean data detector
@ SUMO_TAG_POLY
begin/end of the description of a polygon
@ SUMO_TAG_OVERHEAD_WIRE_SECTION
An overhead wire section.
@ SUMO_TAG_TRAIN_STOP
A train stop (alias for bus stop)
@ SUMO_TAG_STOP_BUSSTOP
stop placed over a busStop (used in netedit)
@ SUMO_TAG_VTYPE_DISTRIBUTION
distribution of a vehicle type
@ SUMO_TAG_LANE
begin/end of the description of a single lane
@ SUMO_TAG_INSTANT_INDUCTION_LOOP
An instantenous induction loop.
@ GNE_TAG_VEHICLE_WITHROUTE
description of a vehicle with an embedded route (used in NETEDIT)
@ GNE_TAG_CALIBRATOR_FLOW
a flow definition within in Calibrator
@ SUMO_TAG_DEST_PROB_REROUTE
probability of destiny of a reroute
@ GNE_TAG_POILANE
Point of interest over Lane.
@ GNE_TAG_WAYPOINT_LANE
waypoint placed over a lane (used in netedit)
@ SUMO_TAG_DET_EXIT
an e3 exit point
@ SUMO_TAG_TYPE
type (edge)
@ SUMO_TAG_VAPORIZER
vaporizer of vehicles
@ SUMO_TAG_LANE_AREA_DETECTOR
alternative tag for e2 detector
@ GNE_TAG_REROUTER_SYMBOL
Rerouter Symbol.
@ SUMO_TAG_STOP_PARKINGAREA
stop placed over a parking area (used in netedit)
@ SUMO_TAG_TAZREL
a relation between two TAZs
@ SUMO_TAG_TAZSOURCE
a source within a district (connection road)
@ SUMO_TAG_CLOSING_LANE_REROUTE
lane of a reroute of type closing
@ GNE_TAG_PERSONTRIP_EDGE
@ GNE_TAG_ROUTE_EMBEDDED
embedded route (used in NETEDIT)
@ SUMO_TAG_INDUCTION_LOOP
alternative tag for e1 detector
@ SUMO_TAG_CALIBRATOR
A calibrator placed over edge.
@ SUMO_TAG_ENTRY_EXIT_DETECTOR
alternative tag for e3 detector
@ SUMO_TAG_VSS
A variable speed sign.
@ GNE_TAG_STOPPERSON_EDGE
@ SUMO_TAG_TRIP
a single trip definition (used by router)
@ GNE_TAG_TRANSHIP_CONTAINERSTOP
@ SUMO_TAG_EDGE
begin/end of the description of an edge
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
@ SUMO_ATTR_CF_EIDM_T_ACC_MAX
@ SUMO_ATTR_CF_EIDM_EPSILON_ACC
@ SUMO_ATTR_EMISSIONCLASS
@ SUMO_ATTR_JM_IGNORE_FOE_SPEED
@ SUMO_ATTR_TLLINKINDEX2
link: the index of the opposite direction link of a pedestrian crossing
@ GNE_ATTR_TO_CONTAINERSTOP
to busStop (used by containerPlans)
@ SUMO_ATTR_JM_IGNORE_KEEPCLEAR_TIME
@ GNE_ATTR_STOPOFFSET
stop offset (virtual, used by edge and lanes)
@ SUMO_ATTR_CF_EIDM_T_LOOK_AHEAD
@ SUMO_ATTR_CF_WIEDEMANN_SECURITY
@ SUMO_ATTR_LCA_ASSERTIVE
@ SUMO_ATTR_RADIUS
The turning radius at an intersection in m.
@ SUMO_ATTR_INDIRECT
Whether this connection is an indirect (left) turn.
@ SUMO_ATTR_CONTAINER_STOP
@ SUMO_ATTR_CF_EIDM_USEVEHDYNAMICS
@ GNE_ATTR_OPPOSITE
neighboring lane, simplified lane attr instead of child element
@ SUMO_ATTR_CF_IDMM_ADAPT_TIME
@ SUMO_ATTR_SUBSTATIONID
id of a traction substation substation
@ SUMO_ATTR_LANE_CHANGE_MODEL
@ SUMO_ATTR_CF_KERNER_PHI
@ SUMO_ATTR_LCA_TURN_ALIGNMENT_DISTANCE
@ SUMO_ATTR_JAM_DIST_THRESHOLD
@ SUMO_ATTR_DEPARTPOS_LAT
@ SUMO_ATTR_PARKING_LENGTH
@ SUMO_ATTR_CF_EIDM_C_COOLNESS
@ SUMO_ATTR_CF_EIDM_SIG_ERROR
@ SUMO_ATTR_LCA_LOOKAHEADLEFT
@ SUMO_ATTR_APPARENTDECEL
@ SUMO_ATTR_VOLTAGE
voltage of the traction substation [V]
@ SUMO_ATTR_LCA_SPEEDGAIN_PARAM
@ SUMO_ATTR_ACTIONSTEPLENGTH
@ SUMO_ATTR_TLLAYOUT
node: the layout of the traffic light program
@ SUMO_ATTR_CUSTOMSHAPE
whether a given shape is user-defined
@ SUMO_ATTR_LCA_IMPATIENCE
@ SUMO_ATTR_BEGIN
weights: time range begin
@ GNE_ATTR_VTYPE_DISTRIBUTION
vehicle type distribution
@ SUMO_ATTR_EDGES
the edges of a route
@ GNE_ATTR_POISSON
poisson definition (used in flow)
@ GNE_ATTR_PARAMETERS
parameters "key1=value1|key2=value2|...|keyN=valueN"
@ 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_HALTING_TIME_THRESHOLD
@ SUMO_ATTR_CHARGING_STATION
@ SUMO_ATTR_LOADING_DURATION
@ SUMO_ATTR_CF_EIDM_MAX_VEH_PREVIEW
@ GNE_ATTR_STOPOEXCEPTION
stop exceptions (virtual, used by edge and lanes)
@ SUMO_ATTR_LCA_MAXSPEEDLATFACTOR
@ SUMO_ATTR_CONTAINERSPERHOUR
@ SUMO_ATTR_CF_EIDM_T_REACTION
@ SUMO_ATTR_CF_EIDM_T_PERSISTENCE_ESTIMATE
@ SUMO_ATTR_CF_PWAGNER2009_TAULAST
@ 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_CF_EIDM_SIG_GAP
@ SUMO_ATTR_CAR_FOLLOW_MODEL
@ SUMO_ATTR_CF_EIDM_JERK_MAX
@ SUMO_ATTR_LCA_MAXSPEEDLATSTANDING
@ SUMO_ATTR_JM_DRIVE_AFTER_YELLOW_TIME
@ SUMO_ATTR_LCA_KEEPRIGHT_PARAM
@ SUMO_ATTR_DESIRED_MAXSPEED
@ SUMO_ATTR_JM_IGNORE_FOE_PROB
@ GNE_ATTR_TO_BUSSTOP
to busStop (used by personPlans)
@ 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_CONTAINER_CAPACITY
@ SUMO_ATTR_FILL
Fill the polygon.
@ 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_HALTING_SPEED_THRESHOLD
@ GNE_ATTR_SHAPE_END
last coordinate of edge shape
@ SUMO_ATTR_EMERGENCYDECEL
@ SUMO_ATTR_LCA_OVERTAKE_DELTASPEED_FACTOR
@ SUMO_ATTR_END
weights: time range end
@ SUMO_ATTR_LCA_SUBLANE_PARAM
@ SUMO_ATTR_JM_CROSSING_GAP
@ SUMO_ATTR_ROADSIDE_CAPACITY
@ SUMO_ATTR_CARRIAGE_LENGTH
@ SUMO_ATTR_CF_IDM_STEPPING
@ SUMO_ATTR_CF_IDMM_ADAPT_FACTOR
@ SUMO_ATTR_CURRENTLIMIT
current limit of the traction substation [A]
@ SUMO_ATTR_COLLISION_MINGAP_FACTOR
@ SUMO_ATTR_TLID
link,node: the traffic light id responsible for this link
@ SUMO_ATTR_BOARDING_DURATION
@ SUMO_ATTR_CF_EIDM_M_FLATNESS
@ SUMO_ATTR_JM_SIGMA_MINOR
@ SUMO_ATTR_CHARGINGPOWER
@ SUMO_ATTR_CF_EIDM_M_BEGIN
@ GNE_ATTR_BIDIR
whether an edge is part of a bidirectional railway
@ SUMO_ATTR_CF_EIDM_T_PERSISTENCE_DRIVE
@ SUMO_ATTR_CF_EIDM_SIG_LEADER
@ 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_RIGHT_OF_WAY
How to compute right of way.
@ GNE_ATTR_SHAPE_START
first coordinate of edge shape
@ SUMO_ATTR_LCA_OVERTAKE_RIGHT
@ SUMO_ATTR_ARRIVALPOS_LAT
@ SUMO_ATTR_LCA_ACCEL_LAT
@ SUMO_ATTR_LCA_STRATEGIC_PARAM
@ SUMO_ATTR_VISIBILITY_DISTANCE
foe visibility distance of a link
@ SUMO_ATTR_INSERTIONCHECKS
@ 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_KEEP_CLEAR
Whether vehicles must keep the junction clear.
@ SUMO_ATTR_LOCOMOTIVE_LENGTH
@ SUMO_ATTR_STATE
The state of a link.
@ SUMO_ATTR_JM_DRIVE_RED_SPEED
@ SUMO_ATTR_CHARGEDELAY
Delay in the charge of charging stations.
@ SUMO_ATTR_LCA_TIME_TO_IMPATIENCE
@ SUMO_ATTR_JM_TIMEGAP_MINOR
@ SUMO_ATTR_TIME
trigger: the time of the step
@ SUMO_ATTR_OVERHEAD_WIRECLAMP_LANEEND
id of the overhead wire lane, to the end of which the overhead wire clamp is connected
@ SUMO_ATTR_CF_WIEDEMANN_ESTIMATION
@ SUMO_ATTR_PERSONSPERHOUR
@ SUMO_ATTR_LCA_SPEEDGAINRIGHT
const double INVALID_DOUBLE
const double SUMO_const_laneWidth
std::string joinToString(const std::vector< T > &v, const T_BETWEEN &between, std::streamsize accuracy=gPrecision)
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
virtual std::string getAttributeForSelection(SumoXMLAttr key) const
method for getting the attribute in the context of object selection
const std::string getID() const
get ID (all Attribute Carriers have one)
bool isAttributeCarrierSelected() const
check if attribute carrier is selected
virtual void enableAttribute(SumoXMLAttr key, GNEUndoList *undoList)
GNEAttributeCarrier(const SumoXMLTag tag, GNENet *net)
Constructor.
FXIcon * getACIcon() const
get FXIcon associated to this AC
static const std::vector< GNETagProperties > getTagPropertiesByType(const int tagPropertyCategory)
get tagProperties associated to the given GNETagProperties::TagType (NETWORKELEMENT,...
bool mySelected
boolean to check if this AC is selected (instead of GUIGlObjectStorage)
static void fillContainerStopElements()
fill container stop elements
static void fillVehicleElements()
fill vehicle elements
static void fillDemandElements()
fill demand elements
static void fillWaypointElements()
fill waypoint elements
static void fillPersonElements()
fill person elements
void setACParameters(const std::string ¶meters, GNEUndoList *undoList)
set parameters (string)
static void fillDataElements()
fill Data elements
static void fillPersonPlanRides()
fill person plan rides
static void fillCommonStopAttributes(SumoXMLTag currentTag, const bool waypoint)
fill stop person attributes
static void fillLaneChangingModelAttributes(SumoXMLTag currentTag)
fill Junction Model Attributes of Vehicle/Person Types
void resetAttributes()
reset attributes to their default values without undo-redo (used in GNEFrameAttributeModules)
bool myIsTemplate
whether the current object is a template object (not drawn in the view)
static void fillAttributeCarriers()
fill Attribute Carriers
virtual void toggleAttribute(SumoXMLAttr key, const bool value)
method for enable or disable the attribute and nothing else (used in GNEChange_EnableAttribute)
static void fillAdditionalElements()
fill additional elements
static const std::string FEATURE_LOADED
static void fillCommonPersonAttributes(SumoXMLTag currentTag)
fill common person attributes (used by person and personFlows)
static void fillNetworkElements()
fill network elements
static void fillStopPersonElements()
fill stopPerson elements
static const std::string FEATURE_APPROVED
feature has been approved but not changed (i.e. after being reguessed)
static T parse(const std::string &string)
parses a value of type T from string (used for basic types: int, double, bool, etc....
std::string getAlternativeValueForDisabledAttributes(SumoXMLAttr key) const
virtual bool isAttributeComputed(SumoXMLAttr key) const
static void fillWireElements()
fill Wire elements
static const std::string True
true value in string format (used for comparing boolean values in getAttribute(......
void removeACParametersKeys(const std::vector< std::string > &keepKeys, GNEUndoList *undoList)
remove keys
static FXIcon * getVClassIcon(const SUMOVehicleClass vc)
returns icon associated to the given vClass
virtual bool isAttributeEnabled(SumoXMLAttr key) const
const std::string & getTagStr() const
get tag assigned to this object in string format
static const std::string FEATURE_GUESSED
feature has been reguessed (may still be unchanged be we can't tell (yet)
static void fillStopElements()
fill stop elements
const GNETagProperties & getTagProperty() const
get tagProperty associated with this Attribute Carrier
bool isTemplate() const
check if this AC is template
virtual const Parameterised::Map & getACParametersMap() const =0
void unselectAttributeCarrier(const bool changeFlag=true)
unselect attribute carrier using GUIGlobalSelection
bool drawUsingSelectColor() const
check if attribute carrier must be drawn using selecting color.
static void fillShapeElements()
fill shape elements
static void fillCommonVehicleAttributes(SumoXMLTag currentTag)
fill common vehicle attributes (used by vehicles, trips, routeFlows and flows)
void addACParameters(const std::string &key, const std::string &attribute, GNEUndoList *undoList)
add (or update attribute) key and attribute
static const Parameterised::Map PARAMETERS_EMPTY
empty parameter maps (used by ACs without parameters)
static bool lanesConsecutives(const std::vector< GNELane * > &lanes)
check if lanes are consecutives
void resetDefaultValues()
reset attribute carrier to their default values
static void fillPersonPlanWalks()
fill person plan walks
static void fillTAZElements()
fill TAZ elements
GNENet * myNet
pointer to net
static void fillCommonContainerAttributes(SumoXMLTag currentTag)
fill common container attributes (used by container and containerFlows)
static void fillCommonFlowAttributes(SumoXMLTag currentTag, SumoXMLAttr perHour)
fill common flow attributes (used by flows, routeFlows and personFlows)
static void fillJunctionModelAttributes(SumoXMLTag currentTag)
fill Junction Model Attributes of Vehicle/Person Types
GNENet * getNet() const
get pointer to net
virtual void disableAttribute(SumoXMLAttr key, GNEUndoList *undoList)
static void fillPersonPlanTrips()
fill person plan trips
static std::string parseIDs(const std::vector< T > &ACs)
parses a list of specific Attribute Carriers into a string of IDs
void selectAttributeCarrier(const bool changeFlag=true)
select attribute carrier using GUIGlobalSelection
static const std::string FEATURE_MODIFIED
feature has been manually modified (implies approval)
static const std::string False
true value in string format(used for comparing boolean values in getAttribute(...))
static void fillCarFollowingModelAttributes(SumoXMLTag currentTag)
fill Car Following Model of Vehicle/Person Types
static void fillContainerElements()
fill container elements
virtual void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)=0
T getACParameters() const
get parameters
virtual ~GNEAttributeCarrier()
Destructor.
virtual std::string getAttribute(SumoXMLAttr key) const =0
static void fillContainerTranshipElements()
fill container tranship elements
virtual GUIGlObject * getGUIGlObject()=0
const GNETagProperties & myTagProperty
reference to tagProperty associated with this attribute carrier
static std::map< SumoXMLTag, GNETagProperties > myTagProperties
map with the tags properties
static const size_t MAXNUMBEROFATTRIBUTES
max number of attributes allowed for every tag
static void fillContainerTransportElements()
fill container transport elements
void setDiscreteValues(const std::vector< std::string > &discreteValues)
set discrete values
void setDefaultActivated(const bool value)
set default activated value
void setRange(const double minimum, const double maximum)
set range
A road/street connecting two junctions (netedit-version)
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
GNELane * retrieveLane(const std::string &id, bool hardFail=true, bool checkVolatileChange=false) const
get lane by id
GNEEdge * retrieveEdge(const std::string &id, bool hardFail=true) const
get edge by id
A NBNetBuilder extended by visualisation and editing capabilities.
GNENetHelper::AttributeCarriers * getAttributeCarriers() const
get all attribute carriers used in this net
GNEViewNet * getViewNet() const
get view net
bool vClassIcon() const
return true if tag correspond to an element that has vClass icons
bool isGenericData() const
return true if tag correspond to a generic data element
const std::string & getTagStr() const
get Tag vinculated with this attribute Property in String Format (used to avoid multiple calls to toS...
bool isNetworkElement() const
return true if tag correspond to a network element
bool isSelectable() const
return true if tag correspond to a selectable element
GUIIcon getGUIIcon() const
get GUI icon associated to this Tag
bool isDemandElement() const
return true if tag correspond to a demand element
bool isAdditionalElement() const
return true if tag correspond to an additional element (note: this include TAZ, shapes and wires)
const GNEViewNetHelper::EditModes & getEditModes() const
get edit modes
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
void select(GUIGlID id, bool update=true)
Adds the object with the given id.
void deselect(GUIGlID id)
Deselects the object with the given id.
static PositionVector parseShapeReporting(const std::string &shpdef, const std::string &objecttype, const char *objectid, bool &ok, bool allowEmpty, bool report=true)
Builds a PositionVector from a string representation, reporting occurred errors.
static const double UNSPECIFIED_LOADED_LENGTH
no length override given
static const double UNSPECIFIED_CONTPOS
unspecified internal junction position
static const double UNSPECIFIED_VISIBILITY_DISTANCE
unspecified foe visibility for connections
static const double UNSPECIFIED_SPEED
unspecified lane speed
A storage for options typed value containers)
double getFloat(const std::string &name) const
Returns the double-value of the named option (only for Option_Float)
int getInt(const std::string &name) const
Returns the int-value of the named option (only for Option_Integer)
static OptionsCont & getOptions()
Retrieves the options.
std::map< std::string, std::string > Map
parameters map
static const std::vector< std::string > & getAllClassesStr()
Get all SUMOEmissionClass in string format.
A point in 2D or 3D with translation and scaling methods.
static const RGBColor INVISIBLE
static RGBColor parseColor(std::string coldef)
Parses a color information.
static std::vector< std::string > getLatAlignmentStrings()
return all valid strings for latAlignment
static StringBijection< LaneSpreadFunction > LaneSpreadFunctions
lane spread functions
static StringBijection< SumoXMLTag > CarFollowModels
car following models
static StringBijection< SumoXMLNodeType > NodeTypes
node types
static StringBijection< InsertionCheck > InsertionChecks
traffic light layouts
static StringBijection< TrainType > TrainTypes
train types
static StringBijection< LaneChangeModel > LaneChangeModels
lane change models
static StringBijection< RightOfWay > RightOfWayValues
righ of way algorithms
static StringBijection< FringeType > FringeTypeValues
fringe types
static const bool DEFAULT_RELATIVEPATH
static const double DEFAULT_LAYER
static const double DEFAULT_LAYER_POI
static const double DEFAULT_IMG_WIDTH
static const std::string DEFAULT_IMG_FILE
static const double DEFAULT_ANGLE
static const double DEFAULT_IMG_HEIGHT
static const std::string DEFAULT_TYPE
std::vector< std::string > getStrings() const
std::vector< std::string > getVector()
return vector of strings
bool hasNext()
returns the information whether further substrings exist
std::string next()
returns the next substring when it exists. Otherwise the behaviour is undefined
static double toDouble(const std::string &sData)
converts a string into the double value described by it by calling the char-type converter
static int toInt(const std::string &sData)
converts a string into the integer value described by it by calling the char-type converter,...
static bool toBool(const std::string &sData)
converts a string into the bool value described by it by calling the char-type converter
bool isCurrentSupermodeDemand() const
@check if current supermode is Demand
bool isCurrentSupermodeData() const
@check if current supermode is Data
bool isCurrentSupermodeNetwork() const
@check if current supermode is Network