Path: blob/main/src/netedit/GNETagPropertiesDatabase.cpp
193674 views
/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2001-2026 German Aerospace Center (DLR) and others.3// This program and the accompanying materials are made available under the4// terms of the Eclipse Public License 2.0 which is available at5// https://www.eclipse.org/legal/epl-2.0/6// This Source Code may also be made available under the following Secondary7// Licenses when the conditions for such availability set forth in the Eclipse8// Public License 2.0 are satisfied: GNU General Public License, version 29// or later which is available at10// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later12/****************************************************************************/13/// @file GNETagPropertiesDatabase.cpp14/// @author Pablo Alvarez lopez15/// @date Feb 202516///17// Database with all information about netedit elements18/****************************************************************************/1920#include <netedit/elements/moving/GNEMoveElementLaneDouble.h>21#include <netedit/elements/moving/GNEMoveElementLaneSingle.h>22#include <netedit/GNENet.h>23#include <utils/emissions/PollutantsInterface.h>24#include <utils/options/OptionsCont.h>2526#include "GNETagPropertiesDatabase.h"2728// ===========================================================================29// method definitions30// ===========================================================================3132GNETagPropertiesDatabase::GNETagPropertiesDatabase() {33// fill all groups of ACs34fillHierarchy();35fillNetworkElements();36fillAdditionalElements();37fillShapeElements();38fillTAZElements();39fillWireElements();40fillJuPedSimElements();41// demand42fillDemandElements();43fillVehicleElements();44fillStopElements();45fillWaypointElements();46// persons47fillPersonElements();48fillPersonPlanTrips();49fillPersonPlanWalks();50fillPersonPlanRides();51fillPersonStopElements();52// containers53fillContainerElements();54fillContainerTransportElements();55fillContainerTranshipElements();56fillContainerStopElements();57//data58fillDataElements();59// add common attributes to all elements60for (auto& tagProperties : myTagProperties) {61fillCommonAttributes(tagProperties.second);62}63// update max number of editable attributes64updateMaxNumberOfAttributesEditorRows();65// calculate hierarchy dept66updateMaxHierarchyDepth();67// check integrity of all Tags (function checkTagIntegrity() throws an exception if there is an inconsistency)68for (const auto& tagProperties : myTagProperties) {69tagProperties.second->checkTagIntegrity();70}71}727374GNETagPropertiesDatabase::~GNETagPropertiesDatabase() {75// delete all tag properties (this also delete all attributeProperties)76for (auto& tagProperties : myTagProperties) {77delete tagProperties.second;78}79}808182const GNETagProperties*83GNETagPropertiesDatabase::getTagProperty(SumoXMLTag tag, const bool hardFail) const {84// check that tag is defined in tagProperties or in tagPropertiesSet85if (myTagProperties.count(tag) > 0) {86return myTagProperties.at(tag);87} else if (mySetTagProperties.count(tag) > 0) {88return mySetTagProperties.at(tag);89} else if (hardFail) {90throw ProcessError(TLF("Property for tag '%' not defined", toString(tag)));91} else {92return nullptr;93}94}959697const std::vector<const GNETagProperties*>98GNETagPropertiesDatabase::getTagPropertiesSet(const SumoXMLTag tag, const bool hardFail) const {99// check that tag is defined in tagProperties or in tagPropertiesSet100if (mySetTagProperties.count(tag) > 0) {101return mySetTagProperties.at(tag)->getHierarchicalChildren();102} else if (hardFail) {103throw ProcessError(TLF("TagPropertySet for tag '%' not defined", toString(tag)));104} else {105return {};106}107}108109110const std::vector<const GNETagProperties*>111GNETagPropertiesDatabase::getTagPropertiesByType(const GNETagProperties::Type type) const {112std::vector<const GNETagProperties*> allowedTags;113if (type & GNETagProperties::Type::NETWORKELEMENT) {114// fill networkElements tags115for (const auto& tagProperty : myTagProperties) {116if (tagProperty.second->isNetworkElement()) {117allowedTags.push_back(tagProperty.second);118}119}120}121if (type & GNETagProperties::Type::ADDITIONALELEMENT) {122// fill additional tags (only with pure additionals)123for (const auto& tagProperty : myTagProperties) {124if (tagProperty.second->isAdditionalPureElement()) {125allowedTags.push_back(tagProperty.second);126}127}128}129if (type & GNETagProperties::Type::SHAPE) {130// fill shape tags131for (const auto& tagProperty : myTagProperties) {132if (tagProperty.second->isShapeElement()) {133allowedTags.push_back(tagProperty.second);134}135}136}137if (type & GNETagProperties::Type::TAZELEMENT) {138// fill taz tags139for (const auto& tagProperty : myTagProperties) {140if (tagProperty.second->isTAZElement()) {141allowedTags.push_back(tagProperty.second);142}143}144}145if (type & GNETagProperties::Type::WIRE) {146// fill wire tags147for (const auto& tagProperty : myTagProperties) {148if (tagProperty.second->isWireElement()) {149allowedTags.push_back(tagProperty.second);150}151}152}153if (type & GNETagProperties::Type::DEMANDELEMENT) {154// fill demand tags155for (const auto& tagProperty : myTagProperties) {156if (tagProperty.second->isDemandElement()) {157allowedTags.push_back(tagProperty.second);158}159}160}161if (type & GNETagProperties::Type::ROUTE) {162// fill route tags163for (const auto& tagProperty : myTagProperties) {164if (tagProperty.second->isRoute()) {165allowedTags.push_back(tagProperty.second);166}167}168}169if (type & GNETagProperties::Type::VEHICLE) {170// fill vehicle tags171for (const auto& tagProperty : myTagProperties) {172if (tagProperty.second->isVehicle()) {173allowedTags.push_back(tagProperty.second);174}175}176}177if (type & GNETagProperties::Type::STOP_VEHICLE) {178// fill stop (and waypoints) tags179for (const auto& tagProperty : myTagProperties) {180if (tagProperty.second->isVehicleStop()) {181allowedTags.push_back(tagProperty.second);182}183}184}185if (type & GNETagProperties::Type::PERSON) {186// fill person tags187for (const auto& tagProperty : myTagProperties) {188if (tagProperty.second->isPerson()) {189allowedTags.push_back(tagProperty.second);190}191}192}193if (type & GNETagProperties::Type::PERSONPLAN) {194// fill person plan tags195for (const auto& tagProperty : myTagProperties) {196if (tagProperty.second->isPlanPerson()) {197allowedTags.push_back(tagProperty.second);198}199}200}201if (type & GNETagProperties::Type::PERSONTRIP) {202// fill demand tags203for (const auto& tagProperty : myTagProperties) {204if (tagProperty.second->isPlanPersonTrip()) {205allowedTags.push_back(tagProperty.second);206}207}208}209if (type & GNETagProperties::Type::WALK) {210// fill demand tags211for (const auto& tagProperty : myTagProperties) {212if (tagProperty.second->isPlanWalk()) {213allowedTags.push_back(tagProperty.second);214}215}216}217if (type & GNETagProperties::Type::RIDE) {218// fill demand tags219for (const auto& tagProperty : myTagProperties) {220if (tagProperty.second->isPlanRide()) {221allowedTags.push_back(tagProperty.second);222}223}224}225if (type & GNETagProperties::Type::STOP_PERSON) {226// fill demand tags227for (const auto& tagProperty : myTagProperties) {228if (tagProperty.second->isPlanStopPerson()) {229allowedTags.push_back(tagProperty.second);230}231}232}233if (type & GNETagProperties::Type::GENERICDATA) {234// fill generic data tags235for (const auto& tagProperty : myTagProperties) {236if (tagProperty.second->isGenericData()) {237allowedTags.push_back(tagProperty.second);238}239}240}241if (type & GNETagProperties::Type::MEANDATA) {242// fill generic data tags243for (const auto& tagProperty : myTagProperties) {244if (tagProperty.second->isMeanData()) {245allowedTags.push_back(tagProperty.second);246}247}248}249if (type & GNETagProperties::Type::CONTAINER) {250// fill container tags251for (const auto& tagProperty : myTagProperties) {252if (tagProperty.second->isContainer()) {253allowedTags.push_back(tagProperty.second);254}255}256}257if (type & GNETagProperties::Type::CONTAINERPLAN) {258// fill container plan tags259for (const auto& tagProperty : myTagProperties) {260if (tagProperty.second->isPlanContainer()) {261allowedTags.push_back(tagProperty.second);262}263}264}265if (type & GNETagProperties::Type::TRANSPORT) {266// fill demand tags267for (const auto& tagProperty : myTagProperties) {268if (tagProperty.second->isPlanTransport()) {269allowedTags.push_back(tagProperty.second);270}271}272}273if (type & GNETagProperties::Type::TRANSHIP) {274// fill demand tags275for (const auto& tagProperty : myTagProperties) {276if (tagProperty.second->isPlanTranship()) {277allowedTags.push_back(tagProperty.second);278}279}280}281if (type & GNETagProperties::Type::STOP_CONTAINER) {282// fill demand tags283for (const auto& tagProperty : myTagProperties) {284if (tagProperty.second->isPlanStopContainer()) {285allowedTags.push_back(tagProperty.second);286}287}288}289return allowedTags;290}291292293int294GNETagPropertiesDatabase::getMaxNumberOfEditableAttributeRows() const {295return myMaxNumberOfEditableAttributeRows;296}297298299int300GNETagPropertiesDatabase::getMaxNumberOfGeoAttributeRows() const {301return myMaxNumberOfGeoAttributeRows;302}303304305int306GNETagPropertiesDatabase::getMaxNumberOfFlowAttributeRows() const {307return myMaxNumberOfFlowAttributeRows;308}309310311int312GNETagPropertiesDatabase::getMaxNumberOfNeteditAttributesRows() const {313return myMaxNumberOfNeteditAttributeRows;314}315316317int318GNETagPropertiesDatabase::getHierarchyDepth() const {319return myHierarchyDepth;320}321322323void324GNETagPropertiesDatabase::writeAttributeHelp() const {325const std::string opt = "attribute-help-output";326OutputDevice::createDeviceByOption(opt);327OutputDevice& dev = OutputDevice::getDeviceByOption(opt);328dev << "# Netedit attribute help\n";329for (const auto& tagProperty : myTagProperties) {330if (tagProperty.second->getAttributeProperties().begin() == tagProperty.second->getAttributeProperties().end()) {331// don't write elements without attributes, they are only used for internal purposes332continue;333}334if (tagProperty.second->getXMLTag() != tagProperty.first) {335dev << "\n## " << toString(tagProperty.second->getXMLTag()) << " (" << toString(tagProperty.first) << ")\n";336} else if (tagProperty.second->getXMLParentTags().empty()) {337dev << "\n## " << toString(tagProperty.first) << "\n";338} else {339if (tagProperty.first == SUMO_TAG_FLOW) {340dev << "\n## " << toString(tagProperty.first) << "\n";341dev << "also child element of ";342} else {343dev << "\n### " << toString(tagProperty.first) << "\n";344dev << "child element of ";345}346bool sep = false;347for (const auto& pTag : tagProperty.second->getXMLParentTags()) {348if (sep) {349dev << ", ";350} else {351sep = true;352}353dev << "[" << toString(pTag) << "](#" << StringUtils::to_lower_case(toString(pTag)) << ")";354}355dev << "\n\n";356}357dev << "| Attribute | Type | Description |\n";358dev << "|-----------|------|-------------|\n";359for (const auto& attr : tagProperty.second->getAttributeProperties()) {360// ignore netedit attributes (front, selected, etc.)361if (!attr->isNeteditEditor() && (attr->getAttr() != GNE_ATTR_PARAMETERS)) {362dev << "|" << toString(attr->getAttr()) << "|"363<< attr->getDescription() << "|"364<< StringUtils::replace(attr->getDefinition(), "\n", " ");365if (attr->hasDefaultValue() && attr->getDefaultStringValue() != "") {366dev << " *default:* **" << attr->getDefaultStringValue() << "**";367}368dev << "|\n";369}370}371}372}373374375void376GNETagPropertiesDatabase::fillHierarchy() {377// root - level 0378mySetTagProperties[SUMO_TAG_ROOTFILE] = new GNETagProperties(SUMO_TAG_ROOTFILE,379nullptr,380GUIIcon::NETEDIT_MINI,381TL("Root"));382// supermodes - level 1383mySetTagProperties[GNE_TAG_SUPERMODE_NETWORK] = new GNETagProperties(GNE_TAG_SUPERMODE_NETWORK,384mySetTagProperties.at(SUMO_TAG_ROOTFILE),385GUIIcon::SUPERMODENETWORK,386TL("Supermode network"),387FXRGBA(255, 255, 255, 255),388TL("Supermode network"));389mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND] = new GNETagProperties(GNE_TAG_SUPERMODE_DEMAND,390mySetTagProperties.at(SUMO_TAG_ROOTFILE),391GUIIcon::SUPERMODEDEMAND,392TL("Supermode demand"),393FXRGBA(255, 255, 255, 255),394TL("Supermode demand"));395mySetTagProperties[GNE_TAG_SUPERMODE_DATA] = new GNETagProperties(GNE_TAG_SUPERMODE_DATA,396mySetTagProperties.at(SUMO_TAG_ROOTFILE),397GUIIcon::SUPERMODEDATA,398TL("Supermode data"),399FXRGBA(255, 255, 255, 255),400TL("Supermode data"));401// net - level 2402mySetTagProperties[SUMO_TAG_NET] = new GNETagProperties(SUMO_TAG_NET,403mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),404GUIIcon::MODECREATEEDGE,405TL("Network elements"),406FXRGBA(255, 255, 255, 255),407TL("Network elements"));408// additionals - level 2409mySetTagProperties[SUMO_TAG_VIEWSETTINGS_ADDITIONALS] = new GNETagProperties(SUMO_TAG_VIEWSETTINGS_ADDITIONALS,410mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),411GUIIcon::MODEADDITIONAL,412TL("Additional elements"),413FXRGBA(255, 255, 255, 255),414TL("Additional elements"));415// stoppingPlaces - level 3416mySetTagProperties[GNE_TAG_STOPPINGPLACES] = new GNETagProperties(GNE_TAG_STOPPINGPLACES,417mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),418GUIIcon::BUSSTOP,419TL("Stopping places"),420FXRGBA(255, 255, 255, 255),421TL("Stopping places"));422// detectors - level 3423mySetTagProperties[GNE_TAG_DETECTORS] = new GNETagProperties(GNE_TAG_DETECTORS,424mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),425GUIIcon::E1,426TL("Detectors"),427FXRGBA(255, 255, 255, 255),428TL("Detectors"));429// wires - level 2430mySetTagProperties[GNE_TAG_WIRES] = new GNETagProperties(GNE_TAG_WIRES,431mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),432GUIIcon::MODEWIRE,433TL("Wire elements"),434FXRGBA(255, 255, 255, 255),435TL("Wire elements"));436// shapes - level 2437mySetTagProperties[GNE_TAG_SHAPES] = new GNETagProperties(GNE_TAG_SHAPES,438mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),439GUIIcon::MODESHAPE,440TL("Shape elements"),441FXRGBA(255, 255, 255, 255),442TL("Shape elements"));443mySetTagProperties[GNE_TAG_JUPEDSIM] = new GNETagProperties(GNE_TAG_JUPEDSIM,444mySetTagProperties.at(GNE_TAG_SHAPES),445GUIIcon::JPS_WALKABLEAREA,446TL("JuPedSim elements"),447FXRGBA(255, 255, 255, 255),448TL("JuPedSim elements"));449// TAZs - level 2450mySetTagProperties[GNE_TAG_TAZS] = new GNETagProperties(GNE_TAG_TAZS,451mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),452GUIIcon::MODEADDITIONAL,453TL("TAZ elements"),454FXRGBA(255, 255, 255, 255),455TL("TAZ elements"));456// vehicles - level 2457mySetTagProperties[SUMO_TAG_VIEWSETTINGS_VEHICLES] = new GNETagProperties(SUMO_TAG_VIEWSETTINGS_VEHICLES,458mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),459GUIIcon::VEHICLE,460TL("Vehicles"),461FXRGBA(255, 255, 255, 255),462TL("Vehicles"));463// flows - level 2464mySetTagProperties[GNE_TAG_FLOWS] = new GNETagProperties(GNE_TAG_FLOWS,465mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),466GUIIcon::FLOW,467TL("Flows"),468FXRGBA(255, 255, 255, 255),469TL("Vehicle flows"));470// stops - level 2471mySetTagProperties[GNE_TAG_STOPS] = new GNETagProperties(GNE_TAG_STOPS,472mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),473GUIIcon::MODESTOP,474TL("Vehicle stops"),475FXRGBA(255, 255, 255, 255),476TL("Vehicle stops"));477// personPlans - level 2478mySetTagProperties[GNE_TAG_PERSONPLANS] = new GNETagProperties(GNE_TAG_PERSONPLANS,479mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),480GUIIcon::MODEPERSONPLAN,481TL("Person plans"),482FXRGBA(255, 255, 255, 255),483TL("Person plans"));484// personTrips - level 3485mySetTagProperties[GNE_TAG_PERSONTRIPS] = new GNETagProperties(GNE_TAG_PERSONTRIPS,486mySetTagProperties.at(GNE_TAG_PERSONPLANS),487GUIIcon::PERSONTRIP_BUSSTOP,488TL("Person trips"),489FXRGBA(255, 255, 255, 255),490TL("Person trips"));491// rides - level 3492mySetTagProperties[GNE_TAG_RIDES] = new GNETagProperties(GNE_TAG_RIDES,493mySetTagProperties.at(GNE_TAG_PERSONPLANS),494GUIIcon::RIDE_BUSSTOP,495TL("Person rides"),496FXRGBA(255, 255, 255, 255),497TL("Person rides"));498// walks - level 3499mySetTagProperties[GNE_TAG_WALKS] = new GNETagProperties(GNE_TAG_WALKS,500mySetTagProperties.at(GNE_TAG_PERSONPLANS),501GUIIcon::WALK_BUSSTOP,502TL("Person walks"),503FXRGBA(255, 255, 255, 255),504TL("Person walks"));505// personStops - level 3506mySetTagProperties[GNE_TAG_PERSONSTOPS] = new GNETagProperties(GNE_TAG_PERSONSTOPS,507mySetTagProperties.at(GNE_TAG_PERSONPLANS),508GUIIcon::STOP,509TL("Person stop"),510FXRGBA(255, 255, 255, 255),511TL("Person stop"));512// containerPlans - level 2513mySetTagProperties[GNE_TAG_CONTAINERPLANS] = new GNETagProperties(GNE_TAG_CONTAINERPLANS,514mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),515GUIIcon::MODECONTAINERPLAN,516TL("Container plans"),517FXRGBA(255, 255, 255, 255),518TL("Container plans"));519// transports - level 3520mySetTagProperties[GNE_TAG_TRANSPORTS] = new GNETagProperties(GNE_TAG_TRANSPORTS,521mySetTagProperties.at(GNE_TAG_CONTAINERPLANS),522GUIIcon::TRANSPORT_BUSSTOP,523TL("Container transports"),524FXRGBA(255, 255, 255, 255),525TL("Container transports"));526// tranships - level 3527mySetTagProperties[GNE_TAG_TRANSHIPS] = new GNETagProperties(GNE_TAG_TRANSHIPS,528mySetTagProperties.at(GNE_TAG_CONTAINERPLANS),529GUIIcon::TRANSHIP_BUSSTOP,530TL("Container tranships"),531FXRGBA(255, 255, 255, 255),532TL("Container tranships"));533// containerStops - level 3534mySetTagProperties[GNE_TAG_CONTAINERSTOPS] = new GNETagProperties(GNE_TAG_CONTAINERSTOPS,535mySetTagProperties.at(GNE_TAG_CONTAINERPLANS),536GUIIcon::STOP,537TL("Container stops"),538FXRGBA(255, 255, 255, 255),539TL("Container stops"));540// datas - level 2541mySetTagProperties[GNE_TAG_DATAS] = new GNETagProperties(GNE_TAG_DATAS,542mySetTagProperties.at(GNE_TAG_SUPERMODE_DATA),543GUIIcon::EDGEDATA,544TL("Datas"),545FXRGBA(255, 255, 255, 255),546TL("Datas"));547}548549550void551GNETagPropertiesDatabase::fillNetworkElements() {552// obtain Node Types except SumoXMLNodeType::DEAD_END_DEPRECATED553const auto& neteditOptions = OptionsCont::getOptions();554std::vector<std::string> nodeTypes = SUMOXMLDefinitions::NodeTypes.getStrings();555nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::DEAD_END_DEPRECATED)));556nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::DEAD_END)));557nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::INTERNAL)));558// obtain TLTypes (note: avoid insert all TLTypes because some of them are experimental and not documented)559std::vector<std::string> TLTypes;560TLTypes.push_back(toString(TrafficLightType::STATIC));561TLTypes.push_back(toString(TrafficLightType::ACTUATED));562TLTypes.push_back(toString(TrafficLightType::DELAYBASED));563TLTypes.push_back(toString(TrafficLightType::NEMA));564// fill networkElement ACs565SumoXMLTag currentTag = SUMO_TAG_JUNCTION;566{567// set values of tag568myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),569GNETagProperties::Type::NETWORKELEMENT,570GNETagProperties::Property::RTREE,571GNETagProperties::Over::VIEW,572FileBucket::Type::NETWORK,573GNETagProperties::Conflicts::NO_CONFLICTS,574GUIIcon::JUNCTION, GUIGlObjectType::GLO_JUNCTION, currentTag, TL("Junction"));575// set values of attributes576fillIDAttribute(myTagProperties[currentTag], true);577578new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,579GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UPDATEGEOMETRY, // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y580GNEAttributeProperties::Edit::EDITMODE,581TL("The x-y-z position of the node on the plane in meters"));582583auto type = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,584GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,585GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,586TL("An optional type for the node"));587type->setDiscreteValues(nodeTypes);588589new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,590GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,591GNEAttributeProperties::Edit::EDITMODE,592TL("A custom shape for that node"));593594new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_RADIUS,595GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,596GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,597TL("Optional turning radius (for all corners) for that node in meters"),598"4");599600new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_KEEP_CLEAR,601GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,602GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,603TL("Whether the junction-blocking-heuristic should be activated at this node"),604GNEAttributeCarrier::TRUE_STR);605606auto rightOfWay = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_RIGHT_OF_WAY,607GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,608GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,609TL("How to compute right of way rules at this node"),610SUMOXMLDefinitions::RightOfWayValues.getString(RightOfWay::DEFAULT));611rightOfWay->setDiscreteValues(SUMOXMLDefinitions::RightOfWayValues.getStrings());612613auto fringe = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FRINGE,614GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,615GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,616TL("Whether this junction is at the fringe of the network"),617SUMOXMLDefinitions::FringeTypeValues.getString(FringeType::DEFAULT));618fringe->setDiscreteValues(SUMOXMLDefinitions::FringeTypeValues.getStrings());619620auto roundabout = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUNDABOUT,621GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,622GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,623TL("Whether this junction may be considered when guessing roundabouts"),624SUMOXMLDefinitions::FringeTypeValues.getString(FringeType::DEFAULT));625roundabout->setDiscreteValues(SUMOXMLDefinitions::RoundaboutTypeValues.getStrings());626627fillNameAttribute(myTagProperties[currentTag]);628629auto tlType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLTYPE,630GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,631GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,632TL("An optional type for the traffic light algorithm"));633tlType->setDiscreteValues(TLTypes);634635auto tlLayout = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLAYOUT,636GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,637GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,638TL("An optional layout for the traffic light plan"),639toString(TrafficLightLayout::DEFAULT));640tlLayout->setDiscreteValues({toString(TrafficLightLayout::DEFAULT),641toString(TrafficLightLayout::OPPOSITES),642toString(TrafficLightLayout::INCOMING),643toString(TrafficLightLayout::ALTERNATE_ONEWAY)});644645new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLID,646GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,647GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,648TL("An optional id for the traffic light program"));649650new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_IS_ROUNDABOUT,651GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,652GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,653TL("Whether this junction is part of a roundabout"),654GNEAttributeCarrier::FALSE_STR);655}656currentTag = SUMO_TAG_TYPE;657{658// set values of tag659myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),660GNETagProperties::Type::NETWORKELEMENT,661GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE,662GNETagProperties::Over::VIEW,663FileBucket::Type::NETWORK,664GNETagProperties::Conflicts::NO_CONFLICTS,665GUIIcon::EDGETYPE, GUIGlObjectType::GLO_EDGETYPE, currentTag, TL("EdgeType"));666// set values of attributes667fillIDAttribute(myTagProperties[currentTag], false);668669new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_NUMLANES,670GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,671GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,672TL("The number of lanes of the edge"),673toString(neteditOptions.getInt("default.lanenumber")));674675new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,676GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,677GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,678TL("The maximum speed allowed on the edge in m/s"),679toString(neteditOptions.getFloat("default.speed")));680681fillAllowDisallowAttributes(myTagProperties[currentTag]);682683auto spreadType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPREADTYPE,684GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,685GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,686TL("The spreadType defines how to compute the lane geometry from the edge geometry (used for visualization)"),687SUMOXMLDefinitions::LaneSpreadFunctions.getString(LaneSpreadFunction::RIGHT));688spreadType->setDiscreteValues(SUMOXMLDefinitions::LaneSpreadFunctions.getStrings());689690new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PRIORITY,691GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,692GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,693TL("The priority of the edge"),694toString(neteditOptions.getInt("default.priority")));695696new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,697GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,698GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,699TL("Lane width for all lanes of this edge in meters (used for visualization)"),700"", toString(SUMO_const_laneWidth));701702new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SIDEWALKWIDTH,703GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,704GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,705TL("The width of the sidewalk that should be added as an additional lane"),706"", "2");707708new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BIKELANEWIDTH,709GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,710GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,711TL("The width of the bike lane that should be added as an additional lane"),712"", "1");713}714currentTag = SUMO_TAG_LANETYPE;715{716// set values of tag717myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),718GNETagProperties::Type::NETWORKELEMENT,719GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE,720GNETagProperties::Over::VIEW,721FileBucket::Type::NETWORK,722GNETagProperties::Conflicts::NO_CONFLICTS,723GUIIcon::LANETYPE, GUIGlObjectType::GLO_LANETYPE, currentTag, TL("LaneType"));724// set values of attributes725new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,726GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,727GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,728TL("The maximum speed allowed on the lane in m/s"),729toString(neteditOptions.getFloat("default.speed")));730731fillAllowDisallowAttributes(myTagProperties[currentTag]);732733new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,734GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::COPYABLE,735GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,736TL("Lane width for all lanes of this type in meters (used for visualization)"),737"3.2");738}739currentTag = SUMO_TAG_EDGE;740{741// set values of tag742myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),743GNETagProperties::Type::NETWORKELEMENT,744GNETagProperties::Property::RTREE,745GNETagProperties::Over::VIEW,746FileBucket::Type::NETWORK,747GNETagProperties::Conflicts::NO_CONFLICTS,748GUIIcon::EDGE, GUIGlObjectType::GLO_EDGE, currentTag, TL("Edge"));749// set values of attributes750fillIDAttribute(myTagProperties[currentTag], true);751752new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,753GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,754GNEAttributeProperties::Edit::EDITMODE,755TL("The name of a node within the nodes-file the edge shall start at"));756757new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,758GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,759GNEAttributeProperties::Edit::EDITMODE,760TL("The name of a node within the nodes-file the edge shall end at"));761762new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,763GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,764GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,765TL("The maximum speed allowed on the edge in m/s"),766toString(neteditOptions.getFloat("default.speed")));767768new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PRIORITY,769GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,770GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,771TL("The priority of the edge"),772toString(neteditOptions.getInt("default.priority")));773774new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_NUMLANES,775GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,776GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,777TL("The number of lanes of the edge"),778toString(neteditOptions.getInt("default.lanenumber")));779780new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,781GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,782GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,783TL("The name of a type within the SUMO edge type file"));784785fillAllowDisallowAttributes(myTagProperties[currentTag]);786787new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,788GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,789GNEAttributeProperties::Edit::EDITMODE,790TL("If the shape is given it should start and end with the positions of the from-node and to-node"));791792new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,793GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY,794GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,795TL("The length of the edge in meter"));796797auto spreadType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPREADTYPE,798GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,799GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,800TL("The spreadType defines how to compute the lane geometry from the edge geometry (used for visualization)"),801SUMOXMLDefinitions::LaneSpreadFunctions.getString(LaneSpreadFunction::RIGHT));802spreadType->setDiscreteValues(SUMOXMLDefinitions::LaneSpreadFunctions.getStrings());803804new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_NAME,805GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,806GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,807TL("street name (does not need to be unique, used for visualization)"));808809new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,810GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::COPYABLE,811GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,812TL("Lane width for all lanes of this edge in meters (used for visualization)"),813"3.2");814815new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDOFFSET,816GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,817GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,818TL("Move the stop line back from the intersection by the given amount"),819"0");820821new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SHAPE_START,822GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY, // virtual attribute used to define an endPoint823GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,824TL("Custom position in which shape start (by default position of junction from)"));825826new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SHAPE_END,827GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY, // virtual attribute from to define an endPoint828GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,829TL("Custom position in which shape end (by default position of junction from)"));830831new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_BIDIR,832GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE, // virtual attribute to check of this edge is part of a bidirectional railway (cannot be edited)833GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,834TL("Show if edge is bidirectional"),835GNEAttributeCarrier::FALSE_STR);836837new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DISTANCE,838GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE,839GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,840TL("Distance"),841"0");842843new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOFFSET,844GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,845GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,846TL("The stop offset as positive value in meters"),847"0");848849new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOEXCEPTION,850GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,851GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,852TL("Specifies, for which vehicle classes the stopOffset does NOT apply."));853854new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_IS_ROUNDABOUT,855GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE, // cannot be edited856GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,857TL("Whether this edge is part of a roundabout"),858GNEAttributeCarrier::FALSE_STR);859}860currentTag = SUMO_TAG_LANE;861{862// set values of tag863myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),864GNETagProperties::Type::NETWORKELEMENT,865GNETagProperties::Property::NO_PROPERTY,866GNETagProperties::Over::VIEW,867FileBucket::Type::NETWORK,868GNETagProperties::Conflicts::NO_CONFLICTS,869GUIIcon::LANE, GUIGlObjectType::GLO_LANE, currentTag, TL("Lane"));870// set values of attributes871fillIDAttribute(myTagProperties[currentTag], true);872873new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_INDEX,874GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,875GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,876TL("The enumeration index of the lane (0 is the rightmost lane, <NUMBER_LANES>-1 is the leftmost one)"));877878new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,879GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,880GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,881TL("Speed in meters per second"),882toString(neteditOptions.getFloat("default.speed")));883884fillAllowDisallowAttributes(myTagProperties[currentTag]);885886new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,887GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::COPYABLE,888GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,889TL("Width in meters (used for visualization)"),890"", "-1");891892new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDOFFSET,893GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,894GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,895TL("Move the stop line back from the intersection by the given amount"),896"0");897898new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ACCELERATION,899GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,900GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,901TL("Enable or disable lane as acceleration lane"),902GNEAttributeCarrier::FALSE_STR);903904new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CUSTOMSHAPE,905GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,906GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,907TL("If the shape is given it overrides the computation based on edge shape"));908909new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_OPPOSITE,910GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE,911GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,912TL("If given, this defines the opposite direction lane"));913914new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_LEFT,915GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,916GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,917TL("Permit changing left only for to the given vehicle classes"),918"all");919920new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_RIGHT,921GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,922GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,923TL("Permit changing right only for to the given vehicle classes"),924"all");925926new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,927GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,928GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,929TL("Lane type description (optional)"));930931new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOFFSET,932GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,933GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,934TL("The stop offset as positive value in meters"),935"0");936937new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOEXCEPTION,938GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,939GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,940TL("Specifies, for which vehicle classes the stopOffset does NOT apply."));941}942currentTag = SUMO_TAG_CROSSING;943{944// set values of tag945myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),946GNETagProperties::Type::NETWORKELEMENT,947GNETagProperties::Property::NOPARAMETERS,948GNETagProperties::Over::JUNCTION,949FileBucket::Type::NETWORK,950GNETagProperties::Conflicts::NO_CONFLICTS,951GUIIcon::CROSSING, GUIGlObjectType::GLO_CROSSING, currentTag, TL("Crossing"));952// set values of attributes953fillIDAttribute(myTagProperties[currentTag], true);954955new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EDGES,956GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,957GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,958TL("The (road) edges which are crossed"));959960new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PRIORITY,961GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,962GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,963TL("Whether the pedestrians have priority over the vehicles (automatically set to true at tls-controlled intersections)"),964GNEAttributeCarrier::FALSE_STR);965966new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,967GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,968GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,969TL("The width of the crossings"),970toString(OptionsCont::getOptions().getFloat("default.crossing-width")));971972new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX,973GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,974GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,975TL("sets the tls-index for this crossing (-1 means automatic assignment)"),976"-1");977978new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX2,979GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,980GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,981TL("sets the opposite-direction tls-index for this crossing (-1 means not assigned)"),982"-1");983984new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CUSTOMSHAPE,985GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,986GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,987TL("Overrides default shape of pedestrian crossing"));988}989currentTag = SUMO_TAG_WALKINGAREA;990{991// set values of tag992myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),993GNETagProperties::Type::NETWORKELEMENT,994GNETagProperties::Property::NOPARAMETERS,995GNETagProperties::Over::JUNCTION,996FileBucket::Type::NETWORK,997GNETagProperties::Conflicts::NO_CONFLICTS,998GUIIcon::WALKINGAREA, GUIGlObjectType::GLO_WALKINGAREA, currentTag, TL("WalkingArea"));999// set values of attributes1000fillIDAttribute(myTagProperties[currentTag], true);10011002new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,1003GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1004GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1005TL("The width of the WalkingArea"),1006toString(OptionsCont::getOptions().getFloat("default.sidewalk-width")));10071008new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,1009GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1010GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1011TL("The length of the WalkingArea in meter"));10121013new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,1014GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1015GNEAttributeProperties::Edit::EDITMODE,1016TL("Overrides default shape of pedestrian sidewalk"));10171018}1019currentTag = SUMO_TAG_CONNECTION;1020{1021// set values of tag1022myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),1023GNETagProperties::Type::NETWORKELEMENT,1024GNETagProperties::Property::NO_PROPERTY,1025GNETagProperties::Over::JUNCTION,1026FileBucket::Type::NETWORK,1027GNETagProperties::Conflicts::NO_CONFLICTS,1028GUIIcon::CONNECTION, GUIGlObjectType::GLO_CONNECTION, currentTag, TL("Connection"));1029// set values of attributes1030new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,1031GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1032GNEAttributeProperties::Edit::EDITMODE,1033TL("The ID of the edge the vehicles leave"));10341035new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,1036GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1037GNEAttributeProperties::Edit::EDITMODE,1038TL("The ID of the edge the vehicles may reach when leaving 'from'"));10391040new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_LANE,1041GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1042GNEAttributeProperties::Edit::EDITMODE,1043TL("the lane index of the incoming lane (numbers starting with 0)"));10441045new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_LANE,1046GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1047GNEAttributeProperties::Edit::EDITMODE,1048TL("the lane index of the outgoing lane (numbers starting with 0)"));10491050new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PASS,1051GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1052GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1053TL("if set, vehicles which pass this (lane-2-lane) connection) will not wait"),1054GNEAttributeCarrier::FALSE_STR);10551056new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_KEEP_CLEAR,1057GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1058GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1059TL("if set to false, vehicles which pass this (lane-2-lane) connection) will not worry about blocking the intersection"),1060GNEAttributeCarrier::FALSE_STR);10611062new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTPOS,1063GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1064GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1065TL("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"),1066"", toString(NBEdge::UNSPECIFIED_CONTPOS));10671068new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_UNCONTROLLED,1069GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1070GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1071TL("If set to true, This connection will not be TLS-controlled despite its node being controlled"),1072GNEAttributeCarrier::FALSE_STR);10731074new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VISIBILITY_DISTANCE,1075GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1076GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1077TL("Vision distance between vehicles"),1078"", toString(NBEdge::UNSPECIFIED_VISIBILITY_DISTANCE));10791080new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX,1081GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,1082GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1083TL("sets index of this connection within the controlling traffic light (-1 means automatic assignment)"),1084"-1");10851086new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX2,1087GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,1088GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1089TL("sets index for the internal junction of this connection within the controlling traffic light (-1 means internal junction not controlled)"),1090"-1");10911092fillAllowDisallowAttributes(myTagProperties[currentTag]);10931094new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,1095GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1096GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1097TL("sets custom speed limit for the connection"),1098"", toString(NBEdge::UNSPECIFIED_SPEED));10991100new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,1101GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1102GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1103TL("sets custom length for the connection"),1104"", toString(NBEdge::UNSPECIFIED_LOADED_LENGTH));11051106new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CUSTOMSHAPE,1107GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1108GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1109TL("sets custom shape for the connection"));11101111new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_LEFT,1112GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1113GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1114TL("Permit changing left only for to the given vehicle classes"),1115"all");11161117new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_RIGHT,1118GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1119GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1120TL("Permit changing right only for to the given vehicle classes"),1121"all");11221123new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_INDIRECT,1124GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1125GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1126TL("if set to true, vehicles will make a turn in 2 steps"),1127GNEAttributeCarrier::FALSE_STR);11281129new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,1130GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,1131GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1132TL("set a custom edge type (for applying vClass-specific speed restrictions)"));113311341135new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DIR,1136GNEAttributeProperties::Property::STRING,1137GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1138TL("turning direction for this connection (computed)"));11391140new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STATE,1141GNEAttributeProperties::Property::STRING,1142GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1143TL("link state for this connection (computed)"));1144}1145currentTag = GNE_TAG_INTERNAL_LANE;1146{1147// set values of tag1148myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),1149GNETagProperties::Type::INTERNALLANE,1150GNETagProperties::Property::NO_PROPERTY,1151GNETagProperties::Over::JUNCTION,1152FileBucket::Type::NETWORK,1153GNETagProperties::Conflicts::NO_CONFLICTS,1154GUIIcon::JUNCTION, GUIGlObjectType::GLO_TLLOGIC, currentTag, TL("InternalLanes"));1155// internal lanes does't have attributes1156}1157}115811591160void1161GNETagPropertiesDatabase::fillAdditionalElements() {1162// fill additional elements1163SumoXMLTag currentTag = SUMO_TAG_BUS_STOP;1164{1165// set values of tag1166myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),1167GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,1168GNETagProperties::Property::NO_PROPERTY,1169GNETagProperties::Over::LANE,1170FileBucket::Type::ADDITIONAL,1171GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,1172GUIIcon::BUSSTOP, GUIGlObjectType::GLO_BUS_STOP, currentTag, TL("BusStop"),1173{}, FXRGBA(240, 255, 205, 255));1174// set common attributes1175fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true, false);11761177// set specific attributes1178new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINES,1179GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1180GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1181TL("Meant to be the names of the bus lines that stop at this bus stop. This is only used for visualization purposes"));11821183new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERSON_CAPACITY,1184GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1185GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1186TL("Larger numbers of persons trying to enter will create an upstream jam on the sidewalk"),1187"6");11881189new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_LENGTH,1190GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,1191GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1192TL("Optional space definition for vehicles that park at this stop"),1193"0");1194}1195currentTag = SUMO_TAG_TRAIN_STOP;1196{1197// set values of tag1198myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),1199GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,1200GNETagProperties::Property::NO_PROPERTY,1201GNETagProperties::Over::LANE,1202FileBucket::Type::ADDITIONAL,1203GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,1204GUIIcon::TRAINSTOP, GUIGlObjectType::GLO_TRAIN_STOP, currentTag, TL("TrainStop"),1205{}, FXRGBA(240, 255, 205, 255));1206// set common attributes1207fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true, false);12081209// set specific attributes1210new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINES,1211GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1212GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1213TL("Meant to be the names of the train lines that stop at this train stop. This is only used for visualization purposes"));12141215new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERSON_CAPACITY,1216GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1217GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1218TL("Larger numbers of persons trying to enter will create an upstream jam on the sidewalk"),1219"6");12201221new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_LENGTH,1222GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,1223GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1224TL("Optional space definition for vehicles that park at this stop"),1225"0");12261227}1228currentTag = SUMO_TAG_ACCESS;1229{1230// set values of tag1231myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1232GNETagProperties::Type::ADDITIONALELEMENT,1233GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT,1234GNETagProperties::Over::LANE,1235FileBucket::Type::NOTHING,1236GNETagProperties::Conflicts::POS_LANE,1237GUIIcon::ACCESS, GUIGlObjectType::GLO_ACCESS, currentTag, TL("Access"),1238{SUMO_TAG_BUS_STOP, SUMO_TAG_TRAIN_STOP, SUMO_TAG_CONTAINER_STOP}, FXRGBA(240, 255, 205, 255));1239// set values of attributes1240fillLaneAttribute(myTagProperties[currentTag], false);12411242fillPosOverLaneAttribute(myTagProperties[currentTag]);12431244fillFriendlyPosAttribute(myTagProperties[currentTag]);12451246new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,1247GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1248GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1249TL("The walking length of the access in meters (default is geometric length)"),1250"", "-1");1251}1252currentTag = SUMO_TAG_CONTAINER_STOP;1253{1254// set values of tag1255myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),1256GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,1257GNETagProperties::Property::NO_PROPERTY,1258GNETagProperties::Over::LANE,1259FileBucket::Type::ADDITIONAL,1260GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,1261GUIIcon::CONTAINERSTOP, GUIGlObjectType::GLO_CONTAINER_STOP, currentTag, TL("ContainerStop"),1262{}, FXRGBA(240, 255, 205, 255));1263// set common attributes1264fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true, false);12651266// set specific attributes1267new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINES,1268GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1269GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1270TL("meant to be the names of the bus lines that stop at this container stop. This is only used for visualization purposes"));12711272new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTAINER_CAPACITY,1273GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1274GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1275TL("Larger numbers of container trying to enter will create an upstream jam on the sidewalk"),1276"6");12771278new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_LENGTH,1279GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,1280GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1281TL("Optional space definition for vehicles that park at this stop"),1282"", "0");1283}1284currentTag = SUMO_TAG_CHARGING_STATION;1285{1286// set values of tag1287myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),1288GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,1289GNETagProperties::Property::NO_PROPERTY,1290GNETagProperties::Over::LANE,1291FileBucket::Type::ADDITIONAL,1292GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,1293GUIIcon::CHARGINGSTATION, GUIGlObjectType::GLO_CHARGING_STATION, currentTag, TL("ChargingStation"),1294{}, FXRGBA(240, 255, 205, 255));1295// set common attributes1296fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], false, false);12971298// set specific attributes1299new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGINGPOWER,1300GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1301GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1302TL("Charging power in W"),1303"22000");13041305new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TOTALPOWER,1306GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1307GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1308TL("Total power in W"),1309"0");13101311auto efficiency = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EFFICIENCY,1312GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,1313GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1314TL("Charging efficiency [0,1]"),1315"0.95");1316efficiency->setRange(0, 1);13171318new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGEINTRANSIT,1319GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1320GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1321TL("Enable or disable charge in transit, i.e. vehicle must or must not to stop for charging"),1322GNEAttributeCarrier::FALSE_STR);13231324new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGEDELAY,1325GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1326GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1327TL("Time delay after the vehicles has reached / stopped on the charging station, before the energy transfer (charging) begins"),1328"0");13291330auto chargeType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGETYPE,1331GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,1332GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1333TL("Battery charging type"),1334SUMOXMLDefinitions::ChargeTypes.getString(ChargeType::NORMAL));1335chargeType->setDiscreteValues(SUMOXMLDefinitions::ChargeTypes.getStrings());13361337new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WAITINGTIME,1338GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1339GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1340TL("Waiting time before start charging"),1341"900");13421343new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_AREA,1344GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,1345GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1346TL("Parking area the charging station is located"));1347}1348currentTag = SUMO_TAG_PARKING_AREA;1349{1350// set values of tag1351myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),1352GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,1353GNETagProperties::Property::NO_PROPERTY,1354GNETagProperties::Over::LANE,1355FileBucket::Type::ADDITIONAL,1356GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,1357GUIIcon::PARKINGAREA, GUIGlObjectType::GLO_PARKING_AREA, currentTag, TL("ParkingArea"),1358{}, FXRGBA(240, 255, 205, 255));1359// set common attributes1360fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], false, true);13611362// set specific attributes1363new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTPOS,1364GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1365GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1366TL("Lane position in that vehicle must depart when leaves parkingArea"));13671368new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ACCEPTED_BADGES,1369GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1370GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1371TL("Accepted badges to access this parkingArea"));13721373new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROADSIDE_CAPACITY,1374GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1375GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1376TL(" The number of parking spaces for road-side parking"),1377"0");13781379new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ONROAD,1380GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1381GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1382TL("If set, vehicles will park on the road lane and thereby reducing capacity"),1383"0");13841385new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,1386GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1387GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1388TL("The width of the road-side parking spaces"),1389toString(SUMO_const_laneWidth));13901391new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,1392GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1393GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1394TL("The length of the road-side parking spaces. By default (endPos - startPos) / roadsideCapacity"),1395"", "0");13961397new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LEFTHAND,1398GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1399GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1400TL("Visual placement to the left of the lane (in righthand networks)"),1401GNEAttributeCarrier::FALSE_STR);14021403}1404currentTag = SUMO_TAG_PARKING_SPACE;1405{1406// set values of tag1407myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1408GNETagProperties::Type::ADDITIONALELEMENT,1409GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT | GNETagProperties::Property::RTREE,1410GNETagProperties::Over::VIEW,1411FileBucket::Type::NOTHING,1412GNETagProperties::Conflicts::NO_CONFLICTS,1413GUIIcon::PARKINGSPACE, GUIGlObjectType::GLO_PARKING_SPACE, currentTag, TL("ParkingSpace"),1414{SUMO_TAG_PARKING_AREA}, FXRGBA(240, 255, 205, 255));1415// set values of attributes1416new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,1417GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UPDATEGEOMETRY, // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y1418GNEAttributeProperties::Edit::EDITMODE,1419TL("The x-y-z position of the node on the plane in meters"));14201421fillNameAttribute(myTagProperties[currentTag]);14221423new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,1424GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1425GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1426TL("The width of the road-side parking spaces"));14271428new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,1429GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1430GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1431TL("The length of the road-side parking spaces"));14321433new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ANGLE,1434GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1435GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1436TL("The angle of the road-side parking spaces relative to the lane angle, positive means clockwise"));14371438new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SLOPE,1439GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1440GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1441TL("The slope of the road-side parking spaces"),1442"0");14431444}1445currentTag = SUMO_TAG_INDUCTION_LOOP;1446{1447// set values of tag1448myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1449GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1450GNETagProperties::Property::NO_PROPERTY,1451GNETagProperties::Over::LANE,1452FileBucket::Type::ADDITIONAL,1453GNETagProperties::Conflicts::POS_LANE,1454GUIIcon::E1, GUIGlObjectType::GLO_E1DETECTOR, currentTag, TL("E1 InductionLoop"),1455{}, FXRGBA(210, 233, 255, 255));1456// set values of attributes1457fillIDAttribute(myTagProperties[currentTag], true);14581459fillLaneAttribute(myTagProperties[currentTag], false);14601461fillPosOverLaneAttribute(myTagProperties[currentTag]);14621463fillFriendlyPosAttribute(myTagProperties[currentTag]);14641465fillNameAttribute(myTagProperties[currentTag]);14661467fillDetectorPeriodAttribute(myTagProperties[currentTag]);14681469fillFileAttribute(myTagProperties[currentTag]);14701471fillVTypesAttribute(myTagProperties[currentTag]);14721473fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);14741475fillDetectPersonsAttribute(myTagProperties[currentTag]);1476}1477currentTag = SUMO_TAG_LANE_AREA_DETECTOR;1478{1479// set values of tag1480myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1481GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1482GNETagProperties::Property::NO_PROPERTY,1483GNETagProperties::Over::LANE,1484FileBucket::Type::ADDITIONAL,1485GNETagProperties::Conflicts::NO_CONFLICTS,1486GUIIcon::E2, GUIGlObjectType::GLO_E2DETECTOR, currentTag, TL("E2 LaneAreaDetector"),1487{}, FXRGBA(210, 233, 255, 255));1488// set values of attributes1489fillIDAttribute(myTagProperties[currentTag], true);14901491fillLaneAttribute(myTagProperties[currentTag], false);14921493fillPosOverLaneAttribute(myTagProperties[currentTag]);14941495// this is a "virtual attribute", only used for movement1496new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,1497GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1498GNEAttributeProperties::Edit::NO_EDIT,1499TL("The end position on the lane the detector shall be laid on in meters"));15001501fillFriendlyPosAttribute(myTagProperties[currentTag]);15021503new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,1504GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1505GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1506TL("The length of the detector in meters"),1507toString(GNEMoveElementLaneDouble::defaultSize));15081509fillNameAttribute(myTagProperties[currentTag]);15101511fillDetectorPeriodAttribute(myTagProperties[currentTag]);15121513new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLID,1514GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,1515GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1516TL("The traffic light that triggers aggregation when switching"));15171518fillFileAttribute(myTagProperties[currentTag]);15191520fillVTypesAttribute(myTagProperties[currentTag]);15211522fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);15231524fillDetectPersonsAttribute(myTagProperties[currentTag]);15251526fillDetectorThresholdAttributes(myTagProperties[currentTag], true);15271528new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHOW_DETECTOR,1529GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1530GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1531TL("Show detector in sumo-gui"),1532GNEAttributeCarrier::TRUE_STR);1533}1534currentTag = GNE_TAG_MULTI_LANE_AREA_DETECTOR;1535{1536// set values of tag1537myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1538GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1539GNETagProperties::Property::NO_PROPERTY,1540GNETagProperties::Over::CONSECUTIVE_LANES,1541FileBucket::Type::ADDITIONAL,1542GNETagProperties::Conflicts::NO_CONFLICTS,1543GUIIcon::E2, GUIGlObjectType::GLO_E2DETECTOR, SUMO_TAG_LANE_AREA_DETECTOR, TL("E2 MultiLaneAreaDetector"),1544{}, FXRGBA(210, 233, 255, 255));1545// set values of attributes1546fillIDAttribute(myTagProperties[currentTag], true);15471548new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LANES,1549GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::SECUENCIAL | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1550GNEAttributeProperties::Edit::EDITMODE,1551TL("The sequence of lane ids in which the detector shall be laid on"));15521553fillPosOverLaneAttribute(myTagProperties[currentTag]);15541555new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,1556GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1557GNEAttributeProperties::Edit::EDITMODE,1558TL("The end position on the lane the detector shall be laid on in meters"));15591560fillFriendlyPosAttribute(myTagProperties[currentTag]);15611562fillDetectorPeriodAttribute(myTagProperties[currentTag]);15631564new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLID,1565GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,1566GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1567TL("The traffic light that triggers aggregation when switching"));15681569fillNameAttribute(myTagProperties[currentTag]);15701571fillFileAttribute(myTagProperties[currentTag]);15721573fillVTypesAttribute(myTagProperties[currentTag]);15741575fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);15761577fillDetectPersonsAttribute(myTagProperties[currentTag]);15781579fillDetectorThresholdAttributes(myTagProperties[currentTag], true);15801581new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHOW_DETECTOR,1582GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1583GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1584TL("Show detector in sumo-gui"),1585GNEAttributeCarrier::TRUE_STR);1586}1587currentTag = SUMO_TAG_ENTRY_EXIT_DETECTOR;1588{1589// set values of tag1590myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1591GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1592GNETagProperties::Property::RTREE,1593GNETagProperties::Over::VIEW,1594FileBucket::Type::ADDITIONAL,1595GNETagProperties::Conflicts::NO_ADDITIONAL_CHILDREN,1596GUIIcon::E3, GUIGlObjectType::GLO_DET_ENTRYEXIT, currentTag, TL("E3 EntryExitDetector"),1597{}, FXRGBA(210, 233, 255, 255));1598// set values of attributes1599fillIDAttribute(myTagProperties[currentTag], true);16001601new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,1602GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1603GNEAttributeProperties::Edit::EDITMODE,1604TL("X-Y position of detector in editor (Only used in netedit)"),1605"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y16061607fillNameAttribute(myTagProperties[currentTag]);16081609fillDetectorPeriodAttribute(myTagProperties[currentTag]);16101611fillFileAttribute(myTagProperties[currentTag]);16121613fillVTypesAttribute(myTagProperties[currentTag]);16141615fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);16161617fillDetectPersonsAttribute(myTagProperties[currentTag]);16181619new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OPEN_ENTRY,1620GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1621GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1622TL("If set to true, no error will be reported if vehicles leave the detector without first entering it"),1623GNEAttributeCarrier::FALSE_STR);16241625fillDetectorThresholdAttributes(myTagProperties[currentTag], false);16261627new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EXPECT_ARRIVAL,1628GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1629GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1630TL("Whether no warning should be issued when a vehicle arrives within the detector area."),1631GNEAttributeCarrier::FALSE_STR);1632}1633currentTag = SUMO_TAG_DET_ENTRY;1634{1635// set values of tag1636myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1637GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1638GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT,1639GNETagProperties::Over::LANE,1640FileBucket::Type::NOTHING,1641GNETagProperties::Conflicts::POS_LANE,1642GUIIcon::E3ENTRY, GUIGlObjectType::GLO_DET_ENTRY, currentTag, TL("E3 DetEntry"),1643{SUMO_TAG_ENTRY_EXIT_DETECTOR}, FXRGBA(210, 233, 255, 255));1644// set values of attributes1645fillLaneAttribute(myTagProperties[currentTag], false);16461647fillPosOverLaneAttribute(myTagProperties[currentTag]);16481649fillFriendlyPosAttribute(myTagProperties[currentTag]);16501651}1652currentTag = SUMO_TAG_DET_EXIT;1653{1654// set values of tag1655myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1656GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1657GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT,1658GNETagProperties::Over::LANE,1659FileBucket::Type::NOTHING,1660GNETagProperties::Conflicts::POS_LANE,1661GUIIcon::E3EXIT, GUIGlObjectType::GLO_DET_EXIT, currentTag, TL("E3 DetExit"),1662{SUMO_TAG_ENTRY_EXIT_DETECTOR}, FXRGBA(210, 233, 255, 255));1663// set values of attributes1664fillLaneAttribute(myTagProperties[currentTag], false);16651666fillPosOverLaneAttribute(myTagProperties[currentTag]);16671668fillFriendlyPosAttribute(myTagProperties[currentTag]);16691670}1671currentTag = SUMO_TAG_INSTANT_INDUCTION_LOOP;1672{1673// set values of tag1674myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1675GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1676GNETagProperties::Property::NO_PROPERTY,1677GNETagProperties::Over::LANE,1678FileBucket::Type::ADDITIONAL,1679GNETagProperties::Conflicts::POS_LANE,1680GUIIcon::E1INSTANT, GUIGlObjectType::GLO_E1DETECTOR_INSTANT, currentTag, TL("E3 DetExit"),1681{}, FXRGBA(210, 233, 255, 255));1682// set values of attributes1683fillIDAttribute(myTagProperties[currentTag], true);16841685fillLaneAttribute(myTagProperties[currentTag], false);16861687fillPosOverLaneAttribute(myTagProperties[currentTag]);16881689fillFriendlyPosAttribute(myTagProperties[currentTag]);16901691fillNameAttribute(myTagProperties[currentTag]);16921693fillFileAttribute(myTagProperties[currentTag]);16941695fillVTypesAttribute(myTagProperties[currentTag]);16961697fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);16981699fillDetectPersonsAttribute(myTagProperties[currentTag]);1700}1701currentTag = SUMO_TAG_ROUTEPROBE;1702{1703// set values of tag1704myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1705GNETagProperties::Type::ADDITIONALELEMENT,1706GNETagProperties::Property::CENTERAFTERCREATION,1707GNETagProperties::Over::EDGE,1708FileBucket::Type::ADDITIONAL,1709GNETagProperties::Conflicts::NO_CONFLICTS,1710GUIIcon::ROUTEPROBE, GUIGlObjectType::GLO_ROUTEPROBE, currentTag, TL("RouteProbe"),1711{}, FXRGBA(210, 233, 255, 255));1712// set values of attributes1713fillIDAttribute(myTagProperties[currentTag], true);17141715fillEdgeAttribute(myTagProperties[currentTag], false);17161717fillNameAttribute(myTagProperties[currentTag]);17181719new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERIOD,1720GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1721GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1722TL("The frequency in which to report the distribution"),1723"3600");17241725fillFileAttribute(myTagProperties[currentTag]);17261727new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,1728GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1729GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1730TL("The time at which to start generating output"),1731"0");17321733fillVTypesAttribute(myTagProperties[currentTag]);1734}1735currentTag = SUMO_TAG_VSS;1736{1737// set values of tag1738myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1739GNETagProperties::Type::ADDITIONALELEMENT,1740GNETagProperties::Property::RTREE | GNETagProperties::Property::DIALOG,1741GNETagProperties::Over::LANES,1742FileBucket::Type::ADDITIONAL,1743GNETagProperties::Conflicts::NO_CONFLICTS,1744GUIIcon::VARIABLESPEEDSIGN, GUIGlObjectType::GLO_VSS, currentTag, TL("VariableSpeedSign"),1745{}, FXRGBA(210, 233, 255, 255));1746// set values of attributes1747fillIDAttribute(myTagProperties[currentTag], true);17481749new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LANES,1750GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1751GNEAttributeProperties::Edit::EDITMODE,1752TL("List of Variable Speed Sign lanes"));17531754new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,1755GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1756GNEAttributeProperties::Edit::EDITMODE,1757TL("X-Y position of detector in editor (Only used in netedit)"),1758"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y17591760fillNameAttribute(myTagProperties[currentTag]);17611762fillVTypesAttribute(myTagProperties[currentTag]);1763}1764currentTag = GNE_TAG_VSS_SYMBOL;1765{1766// set values of tag1767myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1768GNETagProperties::Type::ADDITIONALELEMENT,1769GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::SYMBOL,1770GNETagProperties::Over::LANE,1771FileBucket::Type::NOTHING,1772GNETagProperties::Conflicts::NO_CONFLICTS,1773GUIIcon::LANE, GUIGlObjectType::GLO_VSS, currentTag, TL("VariableSpeedSign (lane)"),1774{SUMO_TAG_VSS}, FXRGBA(210, 233, 255, 255));1775}1776currentTag = SUMO_TAG_STEP;1777{1778// set values of tag1779myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1780GNETagProperties::Type::ADDITIONALELEMENT,1781GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,1782GNETagProperties::Over::VIEW,1783FileBucket::Type::NOTHING,1784GNETagProperties::Conflicts::NO_CONFLICTS,1785GUIIcon::VSSSTEP, GUIGlObjectType::GLO_VSS_STEP, currentTag, TL("VariableSpeedSign Step"),1786{SUMO_TAG_VSS}, FXRGBA(210, 233, 255, 255));1787// set values of attributes1788new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TIME,1789GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SORTABLE,1790GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1791TL("Time"));17921793new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,1794GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::SORTABLE,1795GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1796TL("Speed"),1797toString(OptionsCont::getOptions().getFloat("default.speed")));1798}1799currentTag = SUMO_TAG_CALIBRATOR;1800{1801// set values of tag1802myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1803GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::CALIBRATOR,1804GNETagProperties::Property::DIALOG | GNETagProperties::Property::CENTERAFTERCREATION,1805GNETagProperties::Over::EDGE,1806FileBucket::Type::ADDITIONAL,1807GNETagProperties::Conflicts::NO_CONFLICTS,1808GUIIcon::CALIBRATOR, GUIGlObjectType::GLO_CALIBRATOR, currentTag, TL("Calibrator"),1809{}, FXRGBA(253, 255, 206, 255));1810// set values of attributes1811fillIDAttribute(myTagProperties[currentTag], true);18121813fillEdgeAttribute(myTagProperties[currentTag], false);18141815fillPosOverLaneAttribute(myTagProperties[currentTag]);18161817fillNameAttribute(myTagProperties[currentTag]);18181819new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERIOD,1820GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1821GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1822TL("The aggregation interval in which to calibrate the flows. Default is step-length"),1823"1");18241825new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTEPROBE,1826GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,1827GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1828TL("The id of the routeProbe element from which to determine the route distribution for generated vehicles"));18291830fillOutputAttribute(myTagProperties[currentTag]);18311832new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_JAM_DIST_THRESHOLD,1833GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1834GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1835TL("A threshold value to detect and clear unexpected jamming"),1836"0.50");18371838fillVTypesAttribute(myTagProperties[currentTag]);1839}1840currentTag = GNE_TAG_CALIBRATOR_LANE;1841{1842// set values of tag1843myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1844GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::CALIBRATOR,1845GNETagProperties::Property::DIALOG | GNETagProperties::Property::CENTERAFTERCREATION,1846GNETagProperties::Over::LANE,1847FileBucket::Type::ADDITIONAL,1848GNETagProperties::Conflicts::NO_CONFLICTS,1849GUIIcon::CALIBRATOR, GUIGlObjectType::GLO_CALIBRATOR, SUMO_TAG_CALIBRATOR, TL("CalibratorLane"),1850{}, FXRGBA(253, 255, 206, 255));1851// set values of attributes1852fillIDAttribute(myTagProperties[currentTag], true);18531854fillLaneAttribute(myTagProperties[currentTag], false);18551856fillPosOverLaneAttribute(myTagProperties[currentTag]);18571858fillNameAttribute(myTagProperties[currentTag]);18591860new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERIOD,1861GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1862GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1863TL("The aggregation interval in which to calibrate the flows. Default is step-length"),1864"1");18651866new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTEPROBE,1867GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,1868GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1869TL("The id of the routeProbe element from which to determine the route distribution for generated vehicles"));18701871fillOutputAttribute(myTagProperties[currentTag]);18721873new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_JAM_DIST_THRESHOLD,1874GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1875GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1876TL("A threshold value to detect and clear unexpected jamming"),1877"0.50");18781879fillVTypesAttribute(myTagProperties[currentTag]);1880}1881currentTag = GNE_TAG_CALIBRATOR_FLOW;1882{1883// set values of tag1884myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1885GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::CALIBRATOR,1886GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::LISTED,1887GNETagProperties::Over::VIEW,1888FileBucket::Type::NOTHING,1889GNETagProperties::Conflicts::NO_CONFLICTS,1890GUIIcon::FLOW, GUIGlObjectType::GLO_CALIBRATOR_FLOW, SUMO_TAG_FLOW, TL("CalibratorFlow"),1891{SUMO_TAG_CALIBRATOR}, FXRGBA(253, 255, 206, 255));1892// set values of attributes1893new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,1894GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::SORTABLE,1895GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1896TL("First calibrator flow departure time"),1897"0");18981899new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,1900GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::SORTABLE,1901GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1902TL("End of departure interval"),1903"3600");19041905new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,1906GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::VTYPE,1907GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1908TL("The id of the vehicle type to use for this calibrator flow"),1909DEFAULT_VTYPE_ID);19101911new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,1912GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1913GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1914TL("The id of the route the vehicle shall drive along"));19151916// at least one of the following attributes must be defined19171918new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR,1919GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::ACTIVATABLE,1920GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1921TL("Number of vehicles per hour, equally spaced"),1922"1800");19231924new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,1925GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::ACTIVATABLE,1926GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1927TL("Vehicle's speed"),1928"15");19291930// fill common vehicle attributes1931fillCommonVehicleAttributes(myTagProperties[currentTag]);1932}1933currentTag = SUMO_TAG_REROUTER;1934{1935// set values of tag1936myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1937GNETagProperties::Type::ADDITIONALELEMENT,1938GNETagProperties::Property::RTREE | GNETagProperties::Property::DIALOG,1939GNETagProperties::Over::VIEW,1940FileBucket::Type::ADDITIONAL,1941GNETagProperties::Conflicts::NO_CONFLICTS,1942GUIIcon::REROUTER, GUIGlObjectType::GLO_REROUTER, currentTag, TL("Rerouter"),1943{}, FXRGBA(255, 213, 213, 255));19441945// set values of attributes1946fillIDAttribute(myTagProperties[currentTag], true);19471948new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,1949GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1950GNEAttributeProperties::Edit::EDITMODE,1951TL("X,Y position in editor (Only used in netedit)"),1952"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y19531954new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EDGES,1955GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1956GNEAttributeProperties::Edit::EDITMODE,1957TL("An edge id or a list of edge ids where vehicles shall be rerouted"));19581959fillNameAttribute(myTagProperties[currentTag]);19601961new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,1962GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::PROBABILITY | GNEAttributeProperties::Property::DEFAULTVALUE,1963GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1964TL("The probability for vehicle rerouting (0-1)"),1965"1");19661967new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_HALTING_TIME_THRESHOLD,1968GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1969GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1970TL("The waiting time threshold (in s) that must be reached to activate rerouting (default -1 which disables the threshold)"),1971"0");19721973fillVTypesAttribute(myTagProperties[currentTag]);19741975new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OFF,1976GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1977GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1978TL("Whether the router should be inactive initially (and switched on in the gui)"),1979GNEAttributeCarrier::FALSE_STR);19801981new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OPTIONAL,1982GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1983GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1984TL("If rerouter is optional"),1985GNEAttributeCarrier::FALSE_STR);1986}1987currentTag = GNE_TAG_REROUTER_SYMBOL;1988{1989// set values of tag1990myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1991GNETagProperties::Type::ADDITIONALELEMENT,1992GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::SYMBOL,1993GNETagProperties::Over::EDGE,1994FileBucket::Type::NOTHING,1995GNETagProperties::Conflicts::NO_CONFLICTS,1996GUIIcon::EDGE, GUIGlObjectType::GLO_REROUTER, currentTag, TL("Rerouter (Edge)"),1997{GNE_TAG_REROUTER_SYMBOL}, FXRGBA(255, 213, 213, 255));1998}1999currentTag = SUMO_TAG_INTERVAL;2000{2001// set values of tag2002myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),2003GNETagProperties::Type::ADDITIONALELEMENT,2004GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,2005GNETagProperties::Over::VIEW,2006FileBucket::Type::NOTHING,2007GNETagProperties::Conflicts::NO_CONFLICTS,2008GUIIcon::REROUTERINTERVAL, GUIGlObjectType::GLO_REROUTER_INTERVAL, currentTag, TL("Rerouter Interval"),2009{SUMO_TAG_REROUTER}, FXRGBA(255, 213, 213, 255));2010// set values of attributes2011new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,2012GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::SORTABLE,2013GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2014TL("Begin"),2015"0");20162017new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,2018GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::SORTABLE,2019GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2020TL("End"),2021"3600");2022}2023currentTag = SUMO_TAG_CLOSING_REROUTE;2024{2025// set values of tag2026myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),2027GNETagProperties::Type::ADDITIONALELEMENT,2028GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,2029GNETagProperties::Over::VIEW,2030FileBucket::Type::NOTHING,2031GNETagProperties::Conflicts::NO_CONFLICTS,2032GUIIcon::CLOSINGREROUTE, GUIGlObjectType::GLO_REROUTER_CLOSINGREROUTE, currentTag, TL("ClosingReroute"),2033{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));2034// set values of attributes2035fillEdgeAttribute(myTagProperties[currentTag], true);20362037fillAllowDisallowAttributes(myTagProperties[currentTag]);2038}2039currentTag = SUMO_TAG_CLOSING_LANE_REROUTE;2040{2041// set values of tag2042myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),2043GNETagProperties::Type::ADDITIONALELEMENT,2044GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,2045GNETagProperties::Over::VIEW,2046FileBucket::Type::NOTHING,2047GNETagProperties::Conflicts::NO_CONFLICTS,2048GUIIcon::CLOSINGLANEREROUTE, GUIGlObjectType::GLO_REROUTER_CLOSINGLANEREROUTE, currentTag, TL("ClosingLaneReroute"),2049{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));2050// set values of attributes2051fillLaneAttribute(myTagProperties[currentTag], true);20522053fillAllowDisallowAttributes(myTagProperties[currentTag]);2054}2055currentTag = SUMO_TAG_DEST_PROB_REROUTE;2056{2057// set values of tag2058myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),2059GNETagProperties::Type::ADDITIONALELEMENT,2060GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,2061GNETagProperties::Over::VIEW,2062FileBucket::Type::NOTHING,2063GNETagProperties::Conflicts::NO_CONFLICTS,2064GUIIcon::DESTPROBREROUTE, GUIGlObjectType::GLO_REROUTER_DESTPROBREROUTE, currentTag, TL("DestinationProbabilityReroute"),2065{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));2066// set values of attributes2067fillEdgeAttribute(myTagProperties[currentTag], true);20682069new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,2070GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2071GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2072TL("SUMO Probability"),2073"1");2074}2075currentTag = SUMO_TAG_PARKING_AREA_REROUTE;2076{2077// set values of tag2078myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),2079GNETagProperties::Type::ADDITIONALELEMENT,2080GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,2081GNETagProperties::Over::VIEW,2082FileBucket::Type::NOTHING,2083GNETagProperties::Conflicts::NO_CONFLICTS,2084GUIIcon::PARKINGZONEREROUTE, GUIGlObjectType::GLO_REROUTER_PARKINGAREAREROUTE, currentTag, TL("ParkingAreaReroute"),2085{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));2086// set values of attributes2087auto parking = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING,2088GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM,2089GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2090TL("ParkingArea ID"));2091parking->setSynonym(SUMO_ATTR_ID);20922093new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,2094GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2095GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2096TL("SUMO Probability"),2097"1");20982099new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VISIBLE,2100GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2101GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2102TL("Enable or disable visibility for parking area reroutes"),2103GNEAttributeCarrier::TRUE_STR);2104}2105currentTag = SUMO_TAG_ROUTE_PROB_REROUTE;2106{2107// set values of tag2108myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),2109GNETagProperties::Type::ADDITIONALELEMENT,2110GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,2111GNETagProperties::Over::VIEW,2112FileBucket::Type::NOTHING,2113GNETagProperties::Conflicts::NO_CONFLICTS,2114GUIIcon::ROUTEPROBREROUTE, GUIGlObjectType::GLO_REROUTER_ROUTEPROBREROUTE, currentTag, TL("RouteProbabilityReroute"),2115{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));2116// set values of attributes2117auto route = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,2118GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM | GNEAttributeProperties::Property::UPDATEGEOMETRY,2119GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2120TL("Route"));2121route->setSynonym(SUMO_ATTR_ID);21222123new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,2124GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2125GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2126TL("SUMO Probability"),2127"1");2128}2129currentTag = SUMO_TAG_VAPORIZER;2130{2131// set values of tag2132myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),2133GNETagProperties::Type::ADDITIONALELEMENT,2134GNETagProperties::Property::CENTERAFTERCREATION,2135GNETagProperties::Over::EDGE,2136FileBucket::Type::ADDITIONAL,2137GNETagProperties::Conflicts::NO_CONFLICTS,2138GUIIcon::VAPORIZER, GUIGlObjectType::GLO_VAPORIZER, currentTag, TL("Vaporizer"),2139{}, FXRGBA(253, 255, 206, 255));2140// set values of attributes2141fillEdgeAttribute(myTagProperties[currentTag], true);21422143fillNameAttribute(myTagProperties[currentTag]);21442145new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,2146GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,2147GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2148TL("Start Time"),2149"0");21502151new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,2152GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,2153GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2154TL("End Time"),2155"3600");2156}2157}215821592160void2161GNETagPropertiesDatabase::fillShapeElements() {2162// fill shape ACs2163SumoXMLTag currentTag = SUMO_TAG_POLY;2164{2165// set values of tag2166myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),2167GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,2168GNETagProperties::Property::RTREE | GNETagProperties::Property::GEOSHAPE,2169GNETagProperties::Over::VIEW,2170FileBucket::Type::ADDITIONAL,2171GNETagProperties::Conflicts::NO_CONFLICTS,2172GUIIcon::POLY, GUIGlObjectType::GLO_POLYGON, currentTag, TL("Polygon"),2173{}, FXRGBA(240, 255, 205, 255));2174// set values of attributes2175fillIDAttribute(myTagProperties[currentTag], true);21762177new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,2178GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,2179GNEAttributeProperties::Edit::EDITMODE,2180TL("The shape of the polygon"));21812182fillNameAttribute(myTagProperties[currentTag]);21832184fillColorAttribute(myTagProperties[currentTag], "red");21852186new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FILL,2187GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2188GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2189TL("An information whether the polygon shall be filled"),2190GNEAttributeCarrier::FALSE_STR);21912192new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINEWIDTH,2193GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2194GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2195TL("The default line width for drawing an unfilled polygon"),2196"1");21972198new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LAYER,2199GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,2200GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2201TL("The layer in which the polygon lies"),2202toString(Shape::DEFAULT_LAYER));22032204new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2205GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,2206GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2207TL("A typename for the polygon"),2208toString(Shape::DEFAULT_TYPE));22092210fillImgFileAttribute(myTagProperties[currentTag], false);22112212new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ANGLE,2213GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE,2214GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2215TL("Angle of rendered image in degree"),2216toString(Shape::DEFAULT_ANGLE));22172218new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEO,2219GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2220GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2221TL("Enable or disable GEO attributes"),2222GNEAttributeCarrier::FALSE_STR);22232224new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEOSHAPE,2225GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2226GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2227TL("A custom geo shape for this polygon"));22282229new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_CLOSE_SHAPE,2230GNEAttributeProperties::Property::BOOL,2231GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,2232TL("Toggle close or open shape"));2233}2234currentTag = SUMO_TAG_POI;2235{2236// set values of tag2237myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),2238GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,2239GNETagProperties::Property::RTREE,2240GNETagProperties::Over::VIEW,2241FileBucket::Type::ADDITIONAL,2242GNETagProperties::Conflicts::NO_CONFLICTS,2243GUIIcon::POI, GUIGlObjectType::GLO_POI, currentTag, TL("PointOfInterest"),2244{}, FXRGBA(210, 233, 255, 255));2245// set values of attributes2246fillIDAttribute(myTagProperties[currentTag], true);22472248new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,2249GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY, // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y2250GNEAttributeProperties::Edit::EDITMODE,2251TL("The position in view"));22522253// fill Poi attributes2254fillCommonPOIAttributes(myTagProperties[currentTag]);2255}2256currentTag = GNE_TAG_POILANE;2257{2258// set values of tag2259myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),2260GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,2261GNETagProperties::Property::NO_PROPERTY,2262GNETagProperties::Over::LANE,2263FileBucket::Type::ADDITIONAL,2264GNETagProperties::Conflicts::POS_LANE,2265GUIIcon::POILANE, GUIGlObjectType::GLO_POI, SUMO_TAG_POI, TL("PointOfInterestLane"),2266{}, FXRGBA(210, 233, 255, 255));2267// set values of attributes2268fillIDAttribute(myTagProperties[currentTag], true);22692270fillLaneAttribute(myTagProperties[currentTag], false);22712272fillPosOverLaneAttribute(myTagProperties[currentTag]);22732274fillFriendlyPosAttribute(myTagProperties[currentTag]);22752276new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION_LAT,2277GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2278GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2279TL("The lateral offset on the named lane at which the POI is located at"),2280"0");22812282// fill Poi attributes2283fillCommonPOIAttributes(myTagProperties[currentTag]);2284}2285currentTag = GNE_TAG_POIGEO;2286{2287// set values of tag2288myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),2289GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,2290GNETagProperties::Property::RTREE | GNETagProperties::Property::REQUIRE_PROJ,2291GNETagProperties::Over::VIEW,2292FileBucket::Type::ADDITIONAL,2293GNETagProperties::Conflicts::NO_CONFLICTS,2294GUIIcon::POIGEO, GUIGlObjectType::GLO_POI, SUMO_TAG_POI, TL("PointOfInterestGeo"),2295{}, FXRGBA(210, 233, 255, 255));2296// set values of attributes2297fillIDAttribute(myTagProperties[currentTag], true);22982299// set values of attributes2300new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LON,2301GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2302GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2303TL("The longitude position of the parking vehicle on the view"));23042305new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LAT,2306GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2307GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2308TL("The latitude position of the parking vehicle on the view"));23092310// fill Poi attributes2311fillCommonPOIAttributes(myTagProperties[currentTag]);2312}2313}231423152316void2317GNETagPropertiesDatabase::fillTAZElements() {2318// fill TAZ ACs2319SumoXMLTag currentTag = SUMO_TAG_TAZ;2320{2321// set values of tag2322myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),2323GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::TAZELEMENT,2324GNETagProperties::Property::RTREE,2325GNETagProperties::Over::VIEW,2326FileBucket::Type::ADDITIONAL,2327GNETagProperties::Conflicts::NO_CONFLICTS,2328GUIIcon::TAZ, GUIGlObjectType::GLO_TAZ, currentTag, TL("TrafficAssignmentZones"));2329// set values of attributes2330fillIDAttribute(myTagProperties[currentTag], true);23312332new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,2333GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2334GNEAttributeProperties::Edit::EDITMODE,2335TL("The shape of the TAZ"));23362337new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CENTER,2338GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2339GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2340TL("TAZ center"));23412342fillNameAttribute(myTagProperties[currentTag]);23432344fillColorAttribute(myTagProperties[currentTag], "red");23452346new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FILL,2347GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2348GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2349TL("An information whether the TAZ shall be filled"),2350GNEAttributeCarrier::FALSE_STR);23512352auto edgesWithin = new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_EDGES_WITHIN,2353GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,2354GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,2355TL("Use the edges within the shape"),2356GNEAttributeCarrier::TRUE_STR);2357edgesWithin->setAlternativeName(TL("edges within"));2358}2359currentTag = SUMO_TAG_TAZSOURCE;2360{2361// set values of tag2362myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),2363GNETagProperties::Type::OTHER,2364GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,2365GNETagProperties::Over::EDGE,2366FileBucket::Type::NOTHING,2367GNETagProperties::Conflicts::NO_CONFLICTS,2368GUIIcon::TAZEDGE, GUIGlObjectType::GLO_TAZ, currentTag, TL("TAZ Source"),2369{SUMO_TAG_TAZ});2370// set values of attributes2371fillEdgeAttribute(myTagProperties[currentTag], true);23722373new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WEIGHT,2374GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2375GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2376TL("Depart weight associated to this Edge"),2377"1");2378}2379currentTag = SUMO_TAG_TAZSINK;2380{2381// set values of tag2382myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),2383GNETagProperties::Type::OTHER,2384GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,2385GNETagProperties::Over::EDGE,2386FileBucket::Type::NOTHING,2387GNETagProperties::Conflicts::NO_CONFLICTS,2388GUIIcon::TAZEDGE, GUIGlObjectType::GLO_TAZ, currentTag, TL("TAZ Sink"),2389{SUMO_TAG_TAZ});2390// set values of attributes2391fillEdgeAttribute(myTagProperties[currentTag], true);23922393new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WEIGHT,2394GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2395GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2396TL("Arrival weight associated to this Edge"),2397"1");2398}2399}240024012402void2403GNETagPropertiesDatabase::fillWireElements() {2404// fill wire elements2405SumoXMLTag currentTag = SUMO_TAG_TRACTION_SUBSTATION;2406{2407// set tag properties2408myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),2409GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::WIRE,2410GNETagProperties::Property::RTREE,2411GNETagProperties::Over::VIEW,2412FileBucket::Type::ADDITIONAL,2413GNETagProperties::Conflicts::NO_CONFLICTS,2414GUIIcon::TRACTION_SUBSTATION, GUIGlObjectType::GLO_TRACTIONSUBSTATION, currentTag, TL("TractionSubstation"));2415// set attribute properties2416fillIDAttribute(myTagProperties[currentTag], true);24172418new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,2419GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2420GNEAttributeProperties::Edit::EDITMODE,2421TL("X-Y position of detector in editor (Only used in netedit)"),2422"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y24232424new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VOLTAGE,2425GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2426GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2427TL("Voltage of at connection point for the overhead wire"),2428"600");24292430new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CURRENTLIMIT,2431GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2432GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2433TL("Current limit of the feeder line"),2434"400");2435}2436currentTag = SUMO_TAG_OVERHEAD_WIRE_SECTION;2437{2438// set tag properties2439myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),2440GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::WIRE,2441GNETagProperties::Property::NO_PROPERTY,2442GNETagProperties::Over::CONSECUTIVE_LANES,2443FileBucket::Type::ADDITIONAL,2444GNETagProperties::Conflicts::NO_CONFLICTS,2445GUIIcon::OVERHEADWIRE, GUIGlObjectType::GLO_OVERHEAD_WIRE_SEGMENT, currentTag, TL("WireSection"));2446// set attribute properties2447fillIDAttribute(myTagProperties[currentTag], true);24482449new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SUBSTATIONID,2450GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2451GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2452TL("Substation to which the circuit is connected"));24532454new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LANES,2455GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,2456GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2457TL("List of consecutive lanes of the circuit"));24582459new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STARTPOS,2460GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE,2461GNEAttributeProperties::Edit::EDITMODE,2462TL("Starting position in the specified lane"),2463"", "0");24642465new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,2466GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE,2467GNEAttributeProperties::Edit::EDITMODE,2468TL("Ending position in the specified lane"),2469"", "INVALID_DOUBLE");24702471fillFriendlyPosAttribute(myTagProperties[currentTag]);24722473new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRE_FORBIDDEN,2474GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST,2475GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2476TL("Inner lanes, where placing of overhead wire is restricted"));2477}2478currentTag = SUMO_TAG_OVERHEAD_WIRE_CLAMP;2479{2480// set tag properties2481myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),2482GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::WIRE,2483GNETagProperties::Property::NO_PROPERTY,2484GNETagProperties::Over::VIEW,2485FileBucket::Type::ADDITIONAL,2486GNETagProperties::Conflicts::NO_CONFLICTS,2487GUIIcon::OVERHEADWIRE_CLAMP, GUIGlObjectType::GLO_OVERHEAD_WIRE_SEGMENT, currentTag, TL("OverheadWireClamp"));2488// set attribute properties2489fillIDAttribute(myTagProperties[currentTag], true);24902491new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_START,2492GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2493GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2494TL("ID of the overhead wire segment, to the start of which the overhead wire clamp is connected"));24952496new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_LANESTART,2497GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2498GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2499TL("ID of the overhead wire segment lane of overheadWireIDStartClamp"));25002501new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_END,2502GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2503GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2504TL("ID of the overhead wire segment, to the end of which the overhead wire clamp is connected"));25052506new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_LANEEND,2507GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2508GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2509TL("ID of the overhead wire segment lane of overheadWireIDEndClamp"));2510}2511}251225132514void2515GNETagPropertiesDatabase::fillJuPedSimElements() {2516// fill shape ACs2517SumoXMLTag currentTag = GNE_TAG_JPS_WALKABLEAREA;2518{2519// set values of tag2520myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_JUPEDSIM),2521GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE | GNETagProperties::Type::JUPEDSIM,2522GNETagProperties::Property::RTREE,2523GNETagProperties::Over::VIEW,2524FileBucket::Type::ADDITIONAL,2525GNETagProperties::Conflicts::NO_CONFLICTS,2526GUIIcon::JPS_WALKABLEAREA, GUIGlObjectType::GLO_JPS_WALKABLEAREA, SUMO_TAG_POLY, TL("JuPedSim WalkableArea"),2527{}, FXRGBA(253, 255, 206, 255));2528// set values of attributes2529fillIDAttribute(myTagProperties[currentTag], true);25302531new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,2532GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,2533GNEAttributeProperties::Edit::EDITMODE,2534TL("The shape of the walkable area"));25352536fillNameAttribute(myTagProperties[currentTag]);25372538new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEO,2539GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2540GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2541TL("Enable or disable GEO attributes"),2542GNEAttributeCarrier::FALSE_STR);25432544new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEOSHAPE,2545GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2546GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2547TL("A custom geo shape for this walkable area"));2548}2549currentTag = GNE_TAG_JPS_OBSTACLE;2550{2551// set values of tag2552myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_JUPEDSIM),2553GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE | GNETagProperties::Type::JUPEDSIM,2554GNETagProperties::Property::RTREE,2555GNETagProperties::Over::VIEW,2556FileBucket::Type::ADDITIONAL,2557GNETagProperties::Conflicts::NO_CONFLICTS,2558GUIIcon::JPS_OBSTACLE, GUIGlObjectType::GLO_JPS_OBSTACLE, SUMO_TAG_POLY, TL("JuPedSim Obstacle"),2559{}, FXRGBA(253, 255, 206, 255));2560// set values of attributes2561fillIDAttribute(myTagProperties[currentTag], true);25622563new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,2564GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,2565GNEAttributeProperties::Edit::EDITMODE,2566TL("The shape of the obstacle"));25672568fillNameAttribute(myTagProperties[currentTag]);25692570new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEO,2571GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2572GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2573TL("Enable or disable GEO attributes"),2574GNEAttributeCarrier::FALSE_STR);25752576new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEOSHAPE,2577GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2578GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2579TL("A custom geo shape for this obstacle"));2580}2581}258225832584void2585GNETagPropertiesDatabase::fillDemandElements() {2586// fill demand elements2587SumoXMLTag currentTag = SUMO_TAG_ROUTE;2588{2589// set values of tag2590myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2591GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::ROUTE,2592GNETagProperties::Property::NO_PROPERTY,2593GNETagProperties::Over::CONSECUTIVE_EDGES,2594FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2595GNETagProperties::Conflicts::NO_CONFLICTS,2596GUIIcon::ROUTE, GUIGlObjectType::GLO_ROUTE, currentTag, TL("Route"));25972598// set values of attributes2599fillIDAttribute(myTagProperties[currentTag], true);26002601// add common route attributes2602fillCommonRouteAttributes(myTagProperties[currentTag]);26032604// add distribution probability2605fillDistributionProbability(myTagProperties[currentTag], true);2606}2607currentTag = GNE_TAG_ROUTE_EMBEDDED;2608{2609// set values of tag2610myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2611GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::ROUTE,2612GNETagProperties::Property::XMLCHILD,2613GNETagProperties::Over::CONSECUTIVE_EDGES,2614FileBucket::Type::NOTHING,2615GNETagProperties::Conflicts::NO_CONFLICTS,2616GUIIcon::ROUTE, GUIGlObjectType::GLO_ROUTE_EMBEDDED, SUMO_TAG_ROUTE, TL("Route (embedded)"),2617{GNE_TAG_VEHICLE_WITHROUTE, GNE_TAG_FLOW_WITHROUTE});26182619// add common route attributes2620fillCommonRouteAttributes(myTagProperties[currentTag]);2621}2622currentTag = SUMO_TAG_ROUTE_DISTRIBUTION;2623{2624// set values of tag2625myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2626GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::ROUTE | GNETagProperties::Type::DISTRIBUTION,2627GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::NOPARAMETERS,2628GNETagProperties::Over::VIEW,2629FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2630GNETagProperties::Conflicts::NO_CONFLICTS,2631GUIIcon::ROUTEDISTRIBUTION, GUIGlObjectType::GLO_ROUTE_DISTRIBUTION, currentTag, TL("RouteDistribution"));26322633// set values of attributes2634fillIDAttribute(myTagProperties[currentTag], true);2635}2636currentTag = GNE_TAG_ROUTEREF;2637{2638// set values of tag2639myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2640GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::DISTRIBUTIONREF,2641GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,2642GNETagProperties::Over::VIEW,2643FileBucket::Type::NOTHING,2644GNETagProperties::Conflicts::NO_CONFLICTS,2645GUIIcon::ROUTEREF, GUIGlObjectType::GLO_ROUTE_REF, currentTag, TL("Route (Ref)"),2646{SUMO_TAG_ROUTE_DISTRIBUTION});26472648new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_REFID,2649GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2650GNEAttributeProperties::Edit::EDITMODE,2651TL("Reference ID of route"));26522653// add distribution probability2654fillDistributionProbability(myTagProperties[currentTag], false);2655}2656currentTag = SUMO_TAG_VTYPE;2657{2658// set values of tag2659myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2660GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VTYPE,2661GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::VCLASS_ICON | GNETagProperties::Property::EXTENDED,2662GNETagProperties::Over::VIEW,2663FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2664GNETagProperties::Conflicts::NO_CONFLICTS,2665GUIIcon::VTYPE, GUIGlObjectType::GLO_VTYPE, currentTag, TL("VehicleType"));26662667// set values of attributes2668fillIDAttribute(myTagProperties[currentTag], true);26692670// add common vType attributes2671fillCommonVTypeAttributes(myTagProperties[currentTag]);2672}2673currentTag = SUMO_TAG_VTYPE_DISTRIBUTION;2674{2675// set values of tag2676myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2677GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VTYPE | GNETagProperties::Type::DISTRIBUTION,2678GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::NOPARAMETERS,2679GNETagProperties::Over::VIEW,2680FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2681GNETagProperties::Conflicts::NO_CONFLICTS,2682GUIIcon::VTYPEDISTRIBUTION, GUIGlObjectType::GLO_VTYPE_DISTRIBUTION, currentTag, TL("TypeDistribution"));26832684new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DETERMINISTIC,2685GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2686GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2687TL("Deterministic distribution"),2688"-1");26892690// set values of attributes2691fillIDAttribute(myTagProperties[currentTag], true);2692}2693currentTag = GNE_TAG_VTYPEREF;2694{2695// set values of tag2696myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2697GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::DISTRIBUTIONREF,2698GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,2699GNETagProperties::Over::VIEW,2700FileBucket::Type::NOTHING,2701GNETagProperties::Conflicts::NO_CONFLICTS,2702GUIIcon::VTYPEREF, GUIGlObjectType::GLO_VTYPE_REF, currentTag, TL("VType (Ref)"),2703{SUMO_TAG_VTYPE_DISTRIBUTION});27042705new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_REFID,2706GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2707GNEAttributeProperties::Edit::EDITMODE,2708TL("Reference ID of vType"));27092710// add distribution probability2711fillDistributionProbability(myTagProperties[currentTag], false);2712}2713}271427152716void2717GNETagPropertiesDatabase::fillVehicleElements() {2718// fill vehicle ACs2719SumoXMLTag currentTag = SUMO_TAG_TRIP;2720{2721// set values of tag2722myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2723GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,2724GNETagProperties::Property::NO_PROPERTY,2725GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,2726FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2727GNETagProperties::Conflicts::NO_CONFLICTS,2728GUIIcon::TRIP, GUIGlObjectType::GLO_TRIP, currentTag, TL("TripEdges"),2729{}, FXRGBA(253, 255, 206, 255), "trip (from-to edges)");27302731// set values of attributes2732fillIDAttribute(myTagProperties[currentTag], true);27332734new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2735GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2736GNEAttributeProperties::Edit::EDITMODE,2737TL("The id of the vehicle type to use for this trip"),2738DEFAULT_VTYPE_ID);27392740new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,2741GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2742GNEAttributeProperties::Edit::EDITMODE,2743TL("The ID of the edge the trip starts at"));27442745new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,2746GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2747GNEAttributeProperties::Edit::EDITMODE,2748TL("The ID of the edge the trip ends at"));27492750new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VIA,2751GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::LIST,2752GNEAttributeProperties::Edit::EDITMODE,2753TL("List of intermediate edge ids which shall be part of the trip"));27542755// add common attributes2756fillCommonVehicleAttributes(myTagProperties[currentTag]);27572758fillDepartAttribute(myTagProperties[currentTag]);2759}2760currentTag = GNE_TAG_TRIP_JUNCTIONS;2761{2762// set values of tag2763myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2764GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,2765GNETagProperties::Property::NO_PROPERTY,2766GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,2767FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2768GNETagProperties::Conflicts::NO_CONFLICTS,2769GUIIcon::TRIP_JUNCTIONS, GUIGlObjectType::GLO_TRIP, SUMO_TAG_TRIP, TL("TripJunctions"),2770{}, FXRGBA(255, 213, 213, 255), "trip (from-to junctions)");27712772// set values of attributes2773fillIDAttribute(myTagProperties[currentTag], true);27742775new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2776GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2777GNEAttributeProperties::Edit::EDITMODE,2778TL("The id of the vehicle type to use for this trip"),2779DEFAULT_VTYPE_ID);27802781new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_JUNCTION,2782GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2783GNEAttributeProperties::Edit::EDITMODE,2784TL("The name of the junction the trip starts at"));27852786new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_JUNCTION,2787GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2788GNEAttributeProperties::Edit::EDITMODE,2789TL("The name of the junction the trip ends at"));27902791// add common attributes2792fillCommonVehicleAttributes(myTagProperties[currentTag]);27932794fillDepartAttribute(myTagProperties[currentTag]);2795}2796currentTag = GNE_TAG_TRIP_TAZS;2797{2798// set values of tag2799myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2800GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,2801GNETagProperties::Property::NO_PROPERTY,2802GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,2803FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2804GNETagProperties::Conflicts::NO_CONFLICTS,2805GUIIcon::TRIP_TAZS, GUIGlObjectType::GLO_TRIP, SUMO_TAG_TRIP, TL("TripTAZs"),2806{}, FXRGBA(240, 255, 205, 255), "trip (from-to TAZs)");28072808// set values of attributes2809fillIDAttribute(myTagProperties[currentTag], true);28102811new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2812GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2813GNEAttributeProperties::Edit::EDITMODE,2814TL("The id of the vehicle type to use for this trip"),2815DEFAULT_VTYPE_ID);28162817new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_TAZ,2818GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2819GNEAttributeProperties::Edit::EDITMODE,2820TL("The name of the TAZ the trip starts at"));28212822new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_TAZ,2823GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2824GNEAttributeProperties::Edit::EDITMODE,2825TL("The name of the TAZ the trip ends at"));28262827// add common attributes2828fillCommonVehicleAttributes(myTagProperties[currentTag]);28292830fillDepartAttribute(myTagProperties[currentTag]);2831}2832currentTag = SUMO_TAG_VEHICLE;2833{2834// set values of tag2835myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2836GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,2837GNETagProperties::Property::NO_PROPERTY,2838GNETagProperties::Over::ROUTE,2839FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2840GNETagProperties::Conflicts::NO_CONFLICTS,2841GUIIcon::VEHICLE, GUIGlObjectType::GLO_VEHICLE, SUMO_TAG_VEHICLE, TL("VehicleRoute"),2842{}, FXRGBA(210, 233, 255, 255), "vehicle (over route)");28432844// set values of attributes2845fillIDAttribute(myTagProperties[currentTag], true);28462847new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2848GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2849GNEAttributeProperties::Edit::EDITMODE,2850TL("The id of the vehicle type to use for this vehicle"),2851DEFAULT_VTYPE_ID);28522853new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,2854GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2855GNEAttributeProperties::Edit::EDITMODE,2856TL("The id of the route the vehicle shall drive along"));28572858new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,2859GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,2860GNEAttributeProperties::Edit::EDITMODE,2861TL("The index of the edge within route the vehicle starts at"));28622863new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,2864GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,2865GNEAttributeProperties::Edit::EDITMODE,2866TL("The index of the edge within route the vehicle ends at"));28672868// add common attributes2869fillCommonVehicleAttributes(myTagProperties[currentTag]);28702871fillDepartAttribute(myTagProperties[currentTag]);2872}2873currentTag = GNE_TAG_VEHICLE_WITHROUTE;2874{2875// set values of tag2876myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2877GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,2878GNETagProperties::Property::NO_PROPERTY,2879GNETagProperties::Over::ROUTE_EMBEDDED,2880FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2881GNETagProperties::Conflicts::NO_CONFLICTS,2882GUIIcon::VEHICLE, GUIGlObjectType::GLO_VEHICLE, SUMO_TAG_VEHICLE, TL("VehicleEmbeddedRoute"),2883{}, FXRGBA(210, 233, 255, 255), "vehicle (embedded route)");28842885// set values of attributes2886fillIDAttribute(myTagProperties[currentTag], true);28872888new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2889GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2890GNEAttributeProperties::Edit::EDITMODE,2891TL("The id of the vehicle type to use for this vehicle"),2892DEFAULT_VTYPE_ID);28932894new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,2895GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,2896GNEAttributeProperties::Edit::EDITMODE,2897TL("The index of the edge within route the vehicle starts at"));28982899new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,2900GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,2901GNEAttributeProperties::Edit::EDITMODE,2902TL("The index of the edge within route the vehicle ends at"));29032904// add common attributes2905fillCommonVehicleAttributes(myTagProperties[currentTag]);29062907fillDepartAttribute(myTagProperties[currentTag]);2908}2909currentTag = SUMO_TAG_FLOW;2910{2911// set values of tag2912myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2913GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,2914GNETagProperties::Property::NO_PROPERTY,2915GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,2916FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2917GNETagProperties::Conflicts::NO_CONFLICTS,2918GUIIcon::FLOW, GUIGlObjectType::GLO_FLOW, currentTag, TL("FlowEdges"),2919{}, FXRGBA(253, 255, 206, 255), "flow (from-to edges)");29202921// set values of attributes2922fillIDAttribute(myTagProperties[currentTag], true);29232924new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2925GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2926GNEAttributeProperties::Edit::EDITMODE,2927TL("The id of the flow type to use for this flow"),2928DEFAULT_VTYPE_ID);29292930new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,2931GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2932GNEAttributeProperties::Edit::EDITMODE,2933TL("The ID of the edge the flow starts at"));29342935new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,2936GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2937GNEAttributeProperties::Edit::EDITMODE,2938TL("The ID of the edge the flow ends at"));29392940new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VIA,2941GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::LIST,2942GNEAttributeProperties::Edit::EDITMODE,2943TL("List of intermediate edge ids which shall be part of the flow"));29442945// add common attributes2946fillCommonVehicleAttributes(myTagProperties[currentTag]);29472948// add flow attributes2949fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);2950}2951currentTag = GNE_TAG_FLOW_JUNCTIONS;2952{2953// set values of tag2954myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2955GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,2956GNETagProperties::Property::NO_PROPERTY,2957GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,2958FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2959GNETagProperties::Conflicts::NO_CONFLICTS,2960GUIIcon::FLOW_JUNCTIONS, GUIGlObjectType::GLO_FLOW, SUMO_TAG_FLOW, TL("FlowJunctions"),2961{}, FXRGBA(255, 213, 213, 255), "flow (from-to junctions)");29622963// set values of attributes2964fillIDAttribute(myTagProperties[currentTag], true);29652966new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2967GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2968GNEAttributeProperties::Edit::EDITMODE,2969TL("The id of the flow type to use for this flow"),2970DEFAULT_VTYPE_ID);29712972new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_JUNCTION,2973GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2974GNEAttributeProperties::Edit::EDITMODE,2975TL("The name of the junction the flow starts at"));29762977new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_JUNCTION,2978GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2979GNEAttributeProperties::Edit::EDITMODE,2980TL("The name of the junction the flow ends at"));29812982// add common attributes2983fillCommonVehicleAttributes(myTagProperties[currentTag]);29842985// add flow attributes2986fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);2987}2988currentTag = GNE_TAG_FLOW_TAZS;2989{2990// set values of tag2991myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2992GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,2993GNETagProperties::Property::NO_PROPERTY,2994GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,2995FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,2996GNETagProperties::Conflicts::NO_CONFLICTS,2997GUIIcon::FLOW_TAZS, GUIGlObjectType::GLO_FLOW, SUMO_TAG_FLOW, TL("FlowTAZs"),2998{}, FXRGBA(240, 255, 205, 255), "flow (from-to TAZs)");29993000// set values of attributes3001fillIDAttribute(myTagProperties[currentTag], true);30023003new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,3004GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,3005GNEAttributeProperties::Edit::EDITMODE,3006TL("The id of the flow type to use for this flow"),3007DEFAULT_VTYPE_ID);30083009new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_TAZ,3010GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3011GNEAttributeProperties::Edit::EDITMODE,3012TL("The name of the TAZ the flow starts at"));30133014new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_TAZ,3015GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3016GNEAttributeProperties::Edit::EDITMODE,3017TL("The name of the TAZ the flow ends at"));30183019// add common attributes3020fillCommonVehicleAttributes(myTagProperties[currentTag]);30213022// add flow attributes3023fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);3024}3025currentTag = GNE_TAG_FLOW_ROUTE;3026{3027// set values of tag3028myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),3029GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,3030GNETagProperties::Property::NO_PROPERTY,3031GNETagProperties::Over::ROUTE,3032FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,3033GNETagProperties::Conflicts::NO_CONFLICTS,3034GUIIcon::ROUTEFLOW, GUIGlObjectType::GLO_ROUTEFLOW, SUMO_TAG_FLOW, TL("FlowRoute"),3035{}, FXRGBA(210, 233, 255, 255), "flow (over route)");30363037// set values of attributes3038fillIDAttribute(myTagProperties[currentTag], true);30393040new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,3041GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,3042GNEAttributeProperties::Edit::EDITMODE,3043TL("The id of the flow type to use for this flow"),3044DEFAULT_VTYPE_ID);30453046new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,3047GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3048GNEAttributeProperties::Edit::EDITMODE,3049TL("The id of the route the flow shall drive along"));30503051new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,3052GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,3053GNEAttributeProperties::Edit::EDITMODE,3054TL("The index of the edge within route the flow starts at"));30553056new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,3057GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,3058GNEAttributeProperties::Edit::EDITMODE,3059TL("The index of the edge within route the flow ends at"));30603061// add common attributes3062fillCommonVehicleAttributes(myTagProperties[currentTag]);30633064// add flow attributes3065fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);3066}3067currentTag = GNE_TAG_FLOW_WITHROUTE;3068{3069// set values of tag3070myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),3071GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,3072GNETagProperties::Property::NO_PROPERTY,3073GNETagProperties::Over::ROUTE_EMBEDDED,3074FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,3075GNETagProperties::Conflicts::NO_CONFLICTS,3076GUIIcon::ROUTEFLOW, GUIGlObjectType::GLO_ROUTEFLOW, SUMO_TAG_FLOW, TL("FlowEmbeddedRoute"),3077{}, FXRGBA(210, 233, 255, 255), "flow (embedded route)");30783079// set values of attributes3080fillIDAttribute(myTagProperties[currentTag], true);30813082new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,3083GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,3084GNEAttributeProperties::Edit::EDITMODE,3085TL("The id of the flow type to use for this flow"),3086DEFAULT_VTYPE_ID);30873088new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,3089GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,3090GNEAttributeProperties::Edit::EDITMODE,3091TL("The index of the edge within route the flow starts at"));30923093new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,3094GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,3095GNEAttributeProperties::Edit::EDITMODE,3096TL("The index of the edge within route the flow ends at"));30973098// add common attributes3099fillCommonVehicleAttributes(myTagProperties[currentTag]);31003101// add flow attributes3102fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);3103}3104}310531063107void3108GNETagPropertiesDatabase::fillStopElements() {3109// fill stops ACs3110SumoXMLTag currentTag = GNE_TAG_STOP_LANE;3111{3112// set values of tag3113myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3114GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3115GNETagProperties::Property::XMLCHILD,3116GNETagProperties::Over::LANE,3117FileBucket::Type::NOTHING,3118GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,3119GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopLane"),3120{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3121// set values of attributes3122fillLaneAttribute(myTagProperties[currentTag], false);31233124new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STARTPOS,3125GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3126GNEAttributeProperties::Edit::EDITMODE,3127TL("The begin position on the lane (the lower position on the lane) in meters"));31283129new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,3130GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3131GNEAttributeProperties::Edit::EDITMODE,3132TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));31333134fillFriendlyPosAttribute(myTagProperties[currentTag]);31353136new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION_LAT,3137GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3138GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,3139TL("The lateral offset on the named lane at which the vehicle must stop"));31403141// fill common stop attributes3142fillCommonStopAttributes(myTagProperties[currentTag], false);3143/*3144// netedit attributes3145new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SIZE,3146GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Edit::NETEDITEDITOR,3147TLF("Length of %", myTagProperties[currentTag]->getTagStr()));31483149new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_FORCESIZE,3150GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Edit::NETEDITEDITOR,3151GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,3152TL("Force size during creation"),3153GNEAttributeCarrier::FALSE_STR);31543155new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_REFERENCE,3156GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Edit::NETEDITEDITOR,3157TLF("Reference position used for creating %", myTagProperties[currentTag]->getTagStr()));3158attrProperty->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());3159*/3160}3161currentTag = GNE_TAG_STOP_BUSSTOP;3162{3163// set values of tag3164myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3165GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3166GNETagProperties::Property::XMLCHILD,3167GNETagProperties::Over::BUSSTOP,3168FileBucket::Type::NOTHING,3169GNETagProperties::Conflicts::NO_CONFLICTS,3170GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopBusStop"),3171{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3172// set values of attributes3173new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BUS_STOP,3174GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3175GNEAttributeProperties::Edit::EDITMODE,3176TL("BusStop associated with this stop"));31773178// fill common stop attributes3179fillCommonStopAttributes(myTagProperties[currentTag], false);3180}3181currentTag = GNE_TAG_STOP_TRAINSTOP;3182{3183// set values of tag3184myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3185GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3186GNETagProperties::Property::XMLCHILD,3187GNETagProperties::Over::TRAINSTOP,3188FileBucket::Type::NOTHING,3189GNETagProperties::Conflicts::NO_CONFLICTS,3190GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopTrainStop"),3191{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3192// set values of attributes3193new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TRAIN_STOP,3194GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3195GNEAttributeProperties::Edit::EDITMODE,3196TL("TrainStop associated with this stop"));31973198// fill common stop attributes3199fillCommonStopAttributes(myTagProperties[currentTag], false);3200}3201currentTag = GNE_TAG_STOP_CONTAINERSTOP;3202{3203// set values of tag3204myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3205GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3206GNETagProperties::Property::XMLCHILD,3207GNETagProperties::Over::CONTAINERSTOP,3208FileBucket::Type::NOTHING,3209GNETagProperties::Conflicts::NO_CONFLICTS,3210GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopContainerStop"),3211{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3212// set values of attributes3213new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTAINER_STOP,3214GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3215GNEAttributeProperties::Edit::EDITMODE,3216TL("ContainerStop associated with this stop"));32173218// fill common stop attributes3219fillCommonStopAttributes(myTagProperties[currentTag], false);3220}3221currentTag = GNE_TAG_STOP_CHARGINGSTATION;3222{3223// set values of tag3224myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3225GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3226GNETagProperties::Property::XMLCHILD,3227GNETagProperties::Over::CHARGINGSTATION,3228FileBucket::Type::NOTHING,3229GNETagProperties::Conflicts::NO_CONFLICTS,3230GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopChargingStation"),3231{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3232// set values of attributes3233new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGING_STATION,3234GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3235GNEAttributeProperties::Edit::EDITMODE,3236TL("ChargingStation associated with this stop"));32373238// fill common stop attributes3239fillCommonStopAttributes(myTagProperties[currentTag], false);3240}3241currentTag = GNE_TAG_STOP_PARKINGAREA;3242{3243// set values of tag3244myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3245GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3246GNETagProperties::Property::XMLCHILD,3247GNETagProperties::Over::PARKINGAREA,3248FileBucket::Type::NOTHING,3249GNETagProperties::Conflicts::NO_CONFLICTS,3250GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopParkingArea"),3251{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3252// set values of attributes3253new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_AREA,3254GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3255GNEAttributeProperties::Edit::EDITMODE,3256TL("ParkingArea associated with this stop"));32573258// fill common stop attributes (no parking)3259fillCommonStopAttributes(myTagProperties[currentTag], false);3260}3261}326232633264void3265GNETagPropertiesDatabase::fillWaypointElements() {3266// fill waypoints ACs3267SumoXMLTag currentTag = GNE_TAG_WAYPOINT_LANE;3268{3269// set values of tag3270myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3271GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,3272GNETagProperties::Property::XMLCHILD,3273GNETagProperties::Over::LANE,3274FileBucket::Type::NOTHING,3275GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,3276GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointLane"),3277{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3278// set values of attributes3279fillLaneAttribute(myTagProperties[currentTag], false);32803281new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STARTPOS,3282GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3283GNEAttributeProperties::Edit::EDITMODE,3284TL("The begin position on the lane (the lower position on the lane) in meters"));32853286new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,3287GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3288GNEAttributeProperties::Edit::EDITMODE,3289TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));32903291fillFriendlyPosAttribute(myTagProperties[currentTag]);32923293new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION_LAT,3294GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3295GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,3296TL("The lateral offset on the named lane at which the vehicle must waypoint"));32973298// fill common waypoint (stop) attributes3299fillCommonStopAttributes(myTagProperties[currentTag], true);3300/*3301// netedit attributes3302new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SIZE,3303GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Edit::NETEDITEDITOR,3304TLF("Length of %", myTagProperties[currentTag]->getTagStr()));33053306new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_FORCESIZE,3307GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Edit::NETEDITEDITOR,3308GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,3309TL("Force size during creation"),3310GNEAttributeCarrier::FALSE_STR);33113312new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_REFERENCE,3313GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Edit::NETEDITEDITOR,3314TLF("Reference position used for creating %", myTagProperties[currentTag]->getTagStr()));3315attrProperty->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());3316*/3317}3318currentTag = GNE_TAG_WAYPOINT_BUSSTOP;3319{3320// set values of tag3321myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3322GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,3323GNETagProperties::Property::XMLCHILD,3324GNETagProperties::Over::BUSSTOP,3325FileBucket::Type::NOTHING,3326GNETagProperties::Conflicts::NO_CONFLICTS,3327GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointBusStop"),3328{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3329// set values of attributes3330new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BUS_STOP,3331GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3332GNEAttributeProperties::Edit::EDITMODE,3333TL("BusWaypoint associated with this waypoint"));33343335// fill common waypoint (stop) attributes3336fillCommonStopAttributes(myTagProperties[currentTag], true);3337}3338currentTag = GNE_TAG_WAYPOINT_TRAINSTOP;3339{3340// set values of tag3341myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3342GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,3343GNETagProperties::Property::XMLCHILD,3344GNETagProperties::Over::TRAINSTOP,3345FileBucket::Type::NOTHING,3346GNETagProperties::Conflicts::NO_CONFLICTS,3347GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointTrainStop"),3348{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3349// set values of attributes3350new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TRAIN_STOP,3351GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3352GNEAttributeProperties::Edit::EDITMODE,3353TL("TrainWaypoint associated with this waypoint"));33543355// fill common waypoint (stop) attributes3356fillCommonStopAttributes(myTagProperties[currentTag], true);3357}3358currentTag = GNE_TAG_WAYPOINT_CONTAINERSTOP;3359{3360// set values of tag3361myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3362GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,3363GNETagProperties::Property::XMLCHILD,3364GNETagProperties::Over::CONTAINERSTOP,3365FileBucket::Type::NOTHING,3366GNETagProperties::Conflicts::NO_CONFLICTS,3367GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointContainerStop"),3368{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3369// set values of attributes3370new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTAINER_STOP,3371GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3372GNEAttributeProperties::Edit::EDITMODE,3373TL("ContainerWaypoint associated with this waypoint"));33743375// fill common waypoint (stop) attributes3376fillCommonStopAttributes(myTagProperties[currentTag], true);3377}3378currentTag = GNE_TAG_WAYPOINT_CHARGINGSTATION;3379{3380// set values of tag3381myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3382GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,3383GNETagProperties::Property::XMLCHILD,3384GNETagProperties::Over::CHARGINGSTATION,3385FileBucket::Type::NOTHING,3386GNETagProperties::Conflicts::NO_CONFLICTS,3387GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointChargingStation"),3388{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3389// set values of attributes3390new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGING_STATION,3391GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3392GNEAttributeProperties::Edit::EDITMODE,3393TL("ChargingStation associated with this waypoint"));33943395// fill common waypoint (stop) attributes3396fillCommonStopAttributes(myTagProperties[currentTag], true);3397}3398currentTag = GNE_TAG_WAYPOINT_PARKINGAREA;3399{3400// set values of tag3401myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3402GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,3403GNETagProperties::Property::XMLCHILD,3404GNETagProperties::Over::PARKINGAREA,3405FileBucket::Type::NOTHING,3406GNETagProperties::Conflicts::NO_CONFLICTS,3407GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointParkingArea"),3408{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3409// set values of attributes3410new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_AREA,3411GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3412GNEAttributeProperties::Edit::EDITMODE,3413TL("ParkingArea associated with this waypoint"));34143415// fill common waypoint (stop) attributes3416fillCommonStopAttributes(myTagProperties[currentTag], true);3417}3418}341934203421void3422GNETagPropertiesDatabase::fillPersonElements() {3423// fill vehicle ACs3424SumoXMLTag currentTag = SUMO_TAG_PERSON;3425{3426// set values of tag3427myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),3428GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSON,3429GNETagProperties::Property::NO_PROPERTY,3430GNETagProperties::Over::VIEW,3431FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,3432GNETagProperties::Conflicts::NO_CONFLICTS,3433GUIIcon::PERSON, GUIGlObjectType::GLO_PERSON, currentTag, TL("Person"));34343435// add flow attributes3436fillCommonPersonAttributes(myTagProperties[currentTag]);34373438fillDepartAttribute(myTagProperties[currentTag]);34393440}3441currentTag = SUMO_TAG_PERSONFLOW;3442{3443// set values of tag3444myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),3445GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSON | GNETagProperties::Type::FLOW,3446GNETagProperties::Property::NO_PROPERTY,3447GNETagProperties::Over::VIEW,3448FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,3449GNETagProperties::Conflicts::NO_CONFLICTS,3450GUIIcon::PERSONFLOW, GUIGlObjectType::GLO_PERSONFLOW, currentTag, TL("PersonFlow"));34513452// add flow attributes3453fillCommonPersonAttributes(myTagProperties[currentTag]);34543455// add flow attributes3456fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_PERSONSPERHOUR);3457}3458}345934603461void3462GNETagPropertiesDatabase::fillContainerElements() {3463// fill vehicle ACs3464SumoXMLTag currentTag = SUMO_TAG_CONTAINER;3465{3466// set values of tag3467myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),3468GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINER,3469GNETagProperties::Property::NO_PROPERTY,3470GNETagProperties::Over::VIEW,3471FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,3472GNETagProperties::Conflicts::NO_CONFLICTS,3473GUIIcon::CONTAINER, GUIGlObjectType::GLO_CONTAINER, currentTag, TL("Container"));34743475// add flow attributes3476fillCommonContainerAttributes(myTagProperties[currentTag]);34773478fillDepartAttribute(myTagProperties[currentTag]);3479}3480currentTag = SUMO_TAG_CONTAINERFLOW;3481{3482// set values of tag3483myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),3484GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINER | GNETagProperties::Type::FLOW,3485GNETagProperties::Property::NO_PROPERTY,3486GNETagProperties::Over::VIEW,3487FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,3488GNETagProperties::Conflicts::NO_CONFLICTS,3489GUIIcon::CONTAINERFLOW, GUIGlObjectType::GLO_CONTAINERFLOW, currentTag, TL("ContainerFlow"));34903491// add common container attribute3492fillCommonContainerAttributes(myTagProperties[currentTag]);34933494// add flow attributes3495fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_CONTAINERSPERHOUR);3496}3497}349834993500void3501GNETagPropertiesDatabase::fillContainerTransportElements() {3502// declare common tag types and properties3503const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINERPLAN | GNETagProperties::Type::TRANSPORT;3504const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;3505const auto files = FileBucket::Type::NOTHING;3506const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;3507const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});3508const unsigned int color = FXRGBA(240, 255, 205, 255);3509const GUIIcon icon = GUIIcon::TRANSPORT_EDGE;3510const GUIGlObjectType GLType = GUIGlObjectType::GLO_TRANSPORT;3511const SumoXMLTag xmlTag = SUMO_TAG_TRANSPORT;3512// from edge3513SumoXMLTag currentTag = GNE_TAG_TRANSPORT_EDGE_EDGE;3514{3515// set values of tag3516myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3517GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,3518files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("edge")), parents, color);3519// set values of attributes3520fillPlanParentAttributes(myTagProperties[currentTag]);3521fillTransportCommonAttributes(myTagProperties[currentTag]);3522}3523currentTag = GNE_TAG_TRANSPORT_EDGE_BUSSTOP;3524{3525// set values of tag3526myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3527GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,3528files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("busStop")), parents, color);3529// set values of attributes3530fillPlanParentAttributes(myTagProperties[currentTag]);3531fillTransportCommonAttributes(myTagProperties[currentTag]);3532}3533currentTag = GNE_TAG_TRANSPORT_EDGE_TRAINSTOP;3534{3535// set values of tag3536myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3537GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,3538files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("trainStop")), parents, color);3539// set values of attributes3540fillPlanParentAttributes(myTagProperties[currentTag]);3541fillTransportCommonAttributes(myTagProperties[currentTag]);3542}3543currentTag = GNE_TAG_TRANSPORT_EDGE_CONTAINERSTOP;3544{3545// set values of tag3546myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3547GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,3548files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("containerStop")), parents, color);3549// set values of attributes3550fillPlanParentAttributes(myTagProperties[currentTag]);3551fillTransportCommonAttributes(myTagProperties[currentTag]);3552}3553currentTag = GNE_TAG_TRANSPORT_EDGE_CHARGINGSTATION;3554{3555// set values of tag3556myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3557GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,3558files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("chargingStation")), parents, color);3559// set values of attributes3560fillPlanParentAttributes(myTagProperties[currentTag]);3561fillTransportCommonAttributes(myTagProperties[currentTag]);3562}3563currentTag = GNE_TAG_TRANSPORT_EDGE_PARKINGAREA;3564{3565// set values of tag3566myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3567GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,3568files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("parkingArea")), parents, color);3569// set values of attributes3570fillPlanParentAttributes(myTagProperties[currentTag]);3571fillTransportCommonAttributes(myTagProperties[currentTag]);3572}3573// from busStop3574currentTag = GNE_TAG_TRANSPORT_BUSSTOP_EDGE;3575{3576// set values of tag3577myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3578GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,3579files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("edge")), parents, color);3580// set values of attributes3581fillPlanParentAttributes(myTagProperties[currentTag]);3582fillTransportCommonAttributes(myTagProperties[currentTag]);3583}3584currentTag = GNE_TAG_TRANSPORT_BUSSTOP_BUSSTOP;3585{3586// set values of tag3587myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3588GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,3589files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("busStop")), parents, color);3590// set values of attributes3591fillPlanParentAttributes(myTagProperties[currentTag]);3592fillTransportCommonAttributes(myTagProperties[currentTag]);3593}3594currentTag = GNE_TAG_TRANSPORT_BUSSTOP_TRAINSTOP;3595{3596// set values of tag3597myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3598GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,3599files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("trainStop")), parents, color);3600// set values of attributes3601fillPlanParentAttributes(myTagProperties[currentTag]);3602fillTransportCommonAttributes(myTagProperties[currentTag]);3603}3604currentTag = GNE_TAG_TRANSPORT_BUSSTOP_CONTAINERSTOP;3605{3606// set values of tag3607myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3608GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,3609files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("containerStop")), parents, color);3610// set values of attributes3611fillPlanParentAttributes(myTagProperties[currentTag]);3612fillTransportCommonAttributes(myTagProperties[currentTag]);3613}3614currentTag = GNE_TAG_TRANSPORT_BUSSTOP_CHARGINGSTATION;3615{3616// set values of tag3617myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3618GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,3619files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("chargingStation")), parents, color);3620// set values of attributes3621fillPlanParentAttributes(myTagProperties[currentTag]);3622fillTransportCommonAttributes(myTagProperties[currentTag]);3623}3624currentTag = GNE_TAG_TRANSPORT_BUSSTOP_PARKINGAREA;3625{3626// set values of tag3627myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3628GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,3629files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("parkingArea")), parents, color);3630// set values of attributes3631fillPlanParentAttributes(myTagProperties[currentTag]);3632fillTransportCommonAttributes(myTagProperties[currentTag]);3633}3634// from trainStop3635currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_EDGE;3636{3637// set values of tag3638myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3639GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,3640files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("edge")), parents, color);3641// set values of attributes3642fillPlanParentAttributes(myTagProperties[currentTag]);3643fillTransportCommonAttributes(myTagProperties[currentTag]);3644}3645currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_BUSSTOP;3646{3647// set values of tag3648myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3649GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,3650files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("busStop")), parents, color);3651// set values of attributes3652fillPlanParentAttributes(myTagProperties[currentTag]);3653fillTransportCommonAttributes(myTagProperties[currentTag]);3654}3655currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_TRAINSTOP;3656{3657// set values of tag3658myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3659GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,3660files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("trainStop")), parents, color);3661// set values of attributes3662fillPlanParentAttributes(myTagProperties[currentTag]);3663fillTransportCommonAttributes(myTagProperties[currentTag]);3664}3665currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_CONTAINERSTOP;3666{3667// set values of tag3668myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3669GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,3670files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("containerStop")), parents, color);3671// set values of attributes3672fillPlanParentAttributes(myTagProperties[currentTag]);3673fillTransportCommonAttributes(myTagProperties[currentTag]);3674}3675currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_CHARGINGSTATION;3676{3677// set values of tag3678myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3679GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,3680files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("chargingStation")), parents, color);3681// set values of attributes3682fillPlanParentAttributes(myTagProperties[currentTag]);3683fillTransportCommonAttributes(myTagProperties[currentTag]);3684}3685currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_PARKINGAREA;3686{3687// set values of tag3688myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3689GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,3690files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("parkingArea")), parents, color);3691// set values of attributes3692fillPlanParentAttributes(myTagProperties[currentTag]);3693fillTransportCommonAttributes(myTagProperties[currentTag]);3694}3695// from containerStop3696currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_EDGE;3697{3698// set values of tag3699myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3700GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,3701files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("edge")), parents, color);3702// set values of attributes3703fillPlanParentAttributes(myTagProperties[currentTag]);3704fillTransportCommonAttributes(myTagProperties[currentTag]);3705}3706currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_BUSSTOP;3707{3708// set values of tag3709myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3710GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,3711files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("busStop")), parents, color);3712// set values of attributes3713fillPlanParentAttributes(myTagProperties[currentTag]);3714fillTransportCommonAttributes(myTagProperties[currentTag]);3715}3716currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_TRAINSTOP;3717{3718// set values of tag3719myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3720GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,3721files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("trainStop")), parents, color);3722// set values of attributes3723fillPlanParentAttributes(myTagProperties[currentTag]);3724fillTransportCommonAttributes(myTagProperties[currentTag]);3725}3726currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_CONTAINERSTOP;3727{3728// set values of tag3729myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3730GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,3731files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("containerStop")), parents, color);3732// set values of attributes3733fillPlanParentAttributes(myTagProperties[currentTag]);3734fillTransportCommonAttributes(myTagProperties[currentTag]);3735}3736currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_CHARGINGSTATION;3737{3738// set values of tag3739myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3740GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,3741files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("chargingStation")), parents, color);3742// set values of attributes3743fillPlanParentAttributes(myTagProperties[currentTag]);3744fillTransportCommonAttributes(myTagProperties[currentTag]);3745}3746currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_PARKINGAREA;3747{3748// set values of tag3749myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3750GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,3751files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("parkingArea")), parents, color);37523753// set values of attributes3754fillPlanParentAttributes(myTagProperties[currentTag]);3755fillTransportCommonAttributes(myTagProperties[currentTag]);3756}3757// from chargingStation3758currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_EDGE;3759{3760// set values of tag3761myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3762GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,3763files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("edge")), parents, color);3764// set values of attributes3765fillPlanParentAttributes(myTagProperties[currentTag]);3766fillTransportCommonAttributes(myTagProperties[currentTag]);3767}3768currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_BUSSTOP;3769{3770// set values of tag3771myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3772GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,3773files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("busStop")), parents, color);3774// set values of attributes3775fillPlanParentAttributes(myTagProperties[currentTag]);3776fillTransportCommonAttributes(myTagProperties[currentTag]);3777}3778currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_TRAINSTOP;3779{3780// set values of tag3781myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3782GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,3783files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("trainStop")), parents, color);3784// set values of attributes3785fillPlanParentAttributes(myTagProperties[currentTag]);3786fillTransportCommonAttributes(myTagProperties[currentTag]);3787}3788currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_CONTAINERSTOP;3789{3790// set values of tag3791myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3792GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,3793files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("containerStop")), parents, color);3794// set values of attributes3795fillPlanParentAttributes(myTagProperties[currentTag]);3796fillTransportCommonAttributes(myTagProperties[currentTag]);3797}3798currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_CHARGINGSTATION;3799{3800// set values of tag3801myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3802GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,3803files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("chargingStation")), parents, color);3804// set values of attributes3805fillPlanParentAttributes(myTagProperties[currentTag]);3806fillTransportCommonAttributes(myTagProperties[currentTag]);3807}3808currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_PARKINGAREA;3809{3810// set values of tag3811myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3812GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,3813files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("parkingArea")), parents, color);3814// set values of attributes3815fillPlanParentAttributes(myTagProperties[currentTag]);3816fillTransportCommonAttributes(myTagProperties[currentTag]);3817}3818// from parkingArea3819currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_EDGE;3820{3821// set values of tag3822myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3823GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,3824files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("edge")), parents, color);3825// set values of attributes3826fillPlanParentAttributes(myTagProperties[currentTag]);3827fillTransportCommonAttributes(myTagProperties[currentTag]);3828}3829currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_BUSSTOP;3830{3831// set values of tag3832myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3833GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,3834files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("busStop")), parents, color);3835// set values of attributes3836fillPlanParentAttributes(myTagProperties[currentTag]);3837fillTransportCommonAttributes(myTagProperties[currentTag]);3838}3839currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_TRAINSTOP;3840{3841// set values of tag3842myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3843GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,3844files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("trainStop")), parents, color);3845// set values of attributes3846fillPlanParentAttributes(myTagProperties[currentTag]);3847fillTransportCommonAttributes(myTagProperties[currentTag]);3848}3849currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_CONTAINERSTOP;3850{3851// set values of tag3852myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3853GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,3854files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("containerStop")), parents, color);3855// set values of attributes3856fillPlanParentAttributes(myTagProperties[currentTag]);3857fillTransportCommonAttributes(myTagProperties[currentTag]);3858}3859currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_CHARGINGSTATION;3860{3861// set values of tag3862myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3863GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,3864files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("chargingStation")), parents, color);3865// set values of attributes3866fillPlanParentAttributes(myTagProperties[currentTag]);3867fillTransportCommonAttributes(myTagProperties[currentTag]);3868}3869currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_PARKINGAREA;3870{3871// set values of tag3872myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3873GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,3874files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("parkingArea")), parents, color);3875// set values of attributes3876fillPlanParentAttributes(myTagProperties[currentTag]);3877fillTransportCommonAttributes(myTagProperties[currentTag]);3878}3879}388038813882void3883GNETagPropertiesDatabase::fillContainerTranshipElements() {3884// declare common tag types and properties3885const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINERPLAN | GNETagProperties::Type::TRANSHIP;3886const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;3887const auto files = FileBucket::Type::NOTHING;3888const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;3889const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});3890const unsigned int color = FXRGBA(210, 233, 255, 255);3891const GUIIcon icon = GUIIcon::TRANSHIP_EDGES;3892const GUIGlObjectType GLType = GUIGlObjectType::GLO_TRANSHIP;3893const SumoXMLTag xmlTag = SUMO_TAG_TRANSHIP;3894// fill tags3895SumoXMLTag currentTag = GNE_TAG_TRANSHIP_EDGES;3896{3897// set values of tag3898myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,3899GNETagProperties::Over::CONSECUTIVE_EDGES,3900files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Tranship"), TL("edges")), parents, color);3901// set values of attributes3902fillPlanParentAttributes(myTagProperties[currentTag]);3903fillTranshipCommonAttributes(myTagProperties[currentTag]);3904}3905// from edge3906currentTag = GNE_TAG_TRANSHIP_EDGE_EDGE;3907{3908// set values of tag3909myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,3910GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,3911files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("edge")), parents, color);3912// set values of attributes3913fillPlanParentAttributes(myTagProperties[currentTag]);3914fillTranshipCommonAttributes(myTagProperties[currentTag]);3915}3916currentTag = GNE_TAG_TRANSHIP_EDGE_BUSSTOP;3917{3918// set values of tag3919myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,3920GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,3921files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("busStop")), parents, color);3922// set values of attributes3923fillPlanParentAttributes(myTagProperties[currentTag]);3924fillTranshipCommonAttributes(myTagProperties[currentTag]);3925}3926currentTag = GNE_TAG_TRANSHIP_EDGE_TRAINSTOP;3927{3928// set values of tag3929myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,3930GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,3931files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("trainStop")), parents, color);3932// set values of attributes3933fillPlanParentAttributes(myTagProperties[currentTag]);3934fillTranshipCommonAttributes(myTagProperties[currentTag]);3935}3936currentTag = GNE_TAG_TRANSHIP_EDGE_CONTAINERSTOP;3937{3938// set values of tag3939myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,3940GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,3941files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("containerStop")), parents, color);3942// set values of attributes3943fillPlanParentAttributes(myTagProperties[currentTag]);3944fillTranshipCommonAttributes(myTagProperties[currentTag]);3945}3946currentTag = GNE_TAG_TRANSHIP_EDGE_CHARGINGSTATION;3947{3948// set values of tag3949myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,3950GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,3951files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("chargingStation")), parents, color);3952// set values of attributes3953fillPlanParentAttributes(myTagProperties[currentTag]);3954fillTranshipCommonAttributes(myTagProperties[currentTag]);3955}3956currentTag = GNE_TAG_TRANSHIP_EDGE_PARKINGAREA;3957{3958// set values of tag3959myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,3960GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,3961files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("parkingArea")), parents, color);3962// set values of attributes3963fillPlanParentAttributes(myTagProperties[currentTag]);3964fillTranshipCommonAttributes(myTagProperties[currentTag]);3965}3966// from busStop3967currentTag = GNE_TAG_TRANSHIP_BUSSTOP_EDGE;3968{3969// set values of tag3970myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,3971GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,3972files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("edge")), parents, color);3973// set values of attributes3974fillPlanParentAttributes(myTagProperties[currentTag]);3975fillTranshipCommonAttributes(myTagProperties[currentTag]);3976}3977currentTag = GNE_TAG_TRANSHIP_BUSSTOP_BUSSTOP;3978{3979// set values of tag3980myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,3981GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,3982files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("busStop")), parents, color);3983// set values of attributes3984fillPlanParentAttributes(myTagProperties[currentTag]);3985fillTranshipCommonAttributes(myTagProperties[currentTag]);3986}3987currentTag = GNE_TAG_TRANSHIP_BUSSTOP_TRAINSTOP;3988{3989// set values of tag3990myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,3991GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,3992files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("trainStop")), parents, color);3993// set values of attributes3994fillPlanParentAttributes(myTagProperties[currentTag]);3995fillTranshipCommonAttributes(myTagProperties[currentTag]);3996}3997currentTag = GNE_TAG_TRANSHIP_BUSSTOP_CONTAINERSTOP;3998{3999// set values of tag4000myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4001GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,4002files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("containerStop")), parents, color);4003// set values of attributes4004fillPlanParentAttributes(myTagProperties[currentTag]);4005fillTranshipCommonAttributes(myTagProperties[currentTag]);4006}4007currentTag = GNE_TAG_TRANSHIP_BUSSTOP_CHARGINGSTATION;4008{4009// set values of tag4010myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4011GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,4012files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("chargingStation")), parents, color);4013// set values of attributes4014fillPlanParentAttributes(myTagProperties[currentTag]);4015fillTranshipCommonAttributes(myTagProperties[currentTag]);4016}4017currentTag = GNE_TAG_TRANSHIP_BUSSTOP_PARKINGAREA;4018{4019// set values of tag4020myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4021GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,4022files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("parkingArea")), parents, color);4023// set values of attributes4024fillPlanParentAttributes(myTagProperties[currentTag]);4025fillTranshipCommonAttributes(myTagProperties[currentTag]);4026}4027// from trainStop4028currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_EDGE;4029{4030// set values of tag4031myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4032GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,4033files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("edge")), parents, color);4034// set values of attributes4035fillPlanParentAttributes(myTagProperties[currentTag]);4036fillTranshipCommonAttributes(myTagProperties[currentTag]);4037}4038currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_BUSSTOP;4039{4040// set values of tag4041myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4042GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,4043files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("busStop")), parents, color);4044// set values of attributes4045fillPlanParentAttributes(myTagProperties[currentTag]);4046fillTranshipCommonAttributes(myTagProperties[currentTag]);4047}4048currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_TRAINSTOP;4049{4050// set values of tag4051myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4052GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,4053files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("trainStop")), parents, color);4054// set values of attributes4055fillPlanParentAttributes(myTagProperties[currentTag]);4056fillTranshipCommonAttributes(myTagProperties[currentTag]);4057}4058currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_CONTAINERSTOP;4059{4060// set values of tag4061myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4062GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,4063files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("containerStop")), parents, color);4064// set values of attributes4065fillPlanParentAttributes(myTagProperties[currentTag]);4066fillTranshipCommonAttributes(myTagProperties[currentTag]);4067}4068currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_CHARGINGSTATION;4069{4070// set values of tag4071myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4072GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,4073files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("chargingStation")), parents, color);4074// set values of attributes4075fillPlanParentAttributes(myTagProperties[currentTag]);4076fillTranshipCommonAttributes(myTagProperties[currentTag]);4077}4078currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_PARKINGAREA;4079{4080// set values of tag4081myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4082GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,4083files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("parkingArea")), parents, color);4084// set values of attributes4085fillPlanParentAttributes(myTagProperties[currentTag]);4086fillTranshipCommonAttributes(myTagProperties[currentTag]);4087}4088// from containerStop4089currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_EDGE;4090{4091// set values of tag4092myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4093GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,4094files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("edge")), parents, color);4095// set values of attributes4096fillPlanParentAttributes(myTagProperties[currentTag]);4097fillTranshipCommonAttributes(myTagProperties[currentTag]);4098}4099currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_BUSSTOP;4100{4101// set values of tag4102myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4103GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,4104files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("busStop")), parents, color);4105// set values of attributes4106fillPlanParentAttributes(myTagProperties[currentTag]);4107fillTranshipCommonAttributes(myTagProperties[currentTag]);4108}4109currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_TRAINSTOP;4110{4111// set values of tag4112myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4113GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,4114files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("trainStop")), parents, color);4115// set values of attributes4116fillPlanParentAttributes(myTagProperties[currentTag]);4117fillTranshipCommonAttributes(myTagProperties[currentTag]);4118}4119currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_CONTAINERSTOP;4120{4121// set values of tag4122myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4123GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,4124files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("containerStop")), parents, color);4125// set values of attributes4126fillPlanParentAttributes(myTagProperties[currentTag]);4127fillTranshipCommonAttributes(myTagProperties[currentTag]);4128}4129currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_CHARGINGSTATION;4130{4131// set values of tag4132myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4133GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,4134files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("chargingStation")), parents, color);4135// set values of attributes4136fillPlanParentAttributes(myTagProperties[currentTag]);4137fillTranshipCommonAttributes(myTagProperties[currentTag]);4138}4139currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_PARKINGAREA;4140{4141// set values of tag4142myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4143GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,4144files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("parkingArea")), parents, color);4145// set values of attributes4146fillPlanParentAttributes(myTagProperties[currentTag]);4147fillTranshipCommonAttributes(myTagProperties[currentTag]);4148}4149// from chargingStation4150currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_EDGE;4151{4152// set values of tag4153myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4154GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,4155files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("edge")), parents, color);4156// set values of attributes4157fillPlanParentAttributes(myTagProperties[currentTag]);4158fillTranshipCommonAttributes(myTagProperties[currentTag]);4159}4160currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_BUSSTOP;4161{4162// set values of tag4163myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4164GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,4165files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("busStop")), parents, color);4166// set values of attributes4167fillPlanParentAttributes(myTagProperties[currentTag]);4168fillTranshipCommonAttributes(myTagProperties[currentTag]);4169}4170currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_TRAINSTOP;4171{4172// set values of tag4173myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4174GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,4175files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("trainStop")), parents, color);4176// set values of attributes4177fillPlanParentAttributes(myTagProperties[currentTag]);4178fillTranshipCommonAttributes(myTagProperties[currentTag]);4179}4180currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_CONTAINERSTOP;4181{4182// set values of tag4183myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4184GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,4185files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("containerStop")), parents, color);4186// set values of attributes4187fillPlanParentAttributes(myTagProperties[currentTag]);4188fillTranshipCommonAttributes(myTagProperties[currentTag]);4189}4190currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_CHARGINGSTATION;4191{4192// set values of tag4193myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4194GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,4195files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("chargingStation")), parents, color);4196// set values of attributes4197fillPlanParentAttributes(myTagProperties[currentTag]);4198fillTranshipCommonAttributes(myTagProperties[currentTag]);4199}4200currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_PARKINGAREA;4201{4202// set values of tag4203myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4204GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,4205files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("parkingArea")), parents, color);4206// set values of attributes4207fillPlanParentAttributes(myTagProperties[currentTag]);4208fillTranshipCommonAttributes(myTagProperties[currentTag]);4209}4210// from parkingArea4211currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_EDGE;4212{4213// set values of tag4214myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4215GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,4216files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("edge")), parents, color);4217// set values of attributes4218fillPlanParentAttributes(myTagProperties[currentTag]);4219fillTranshipCommonAttributes(myTagProperties[currentTag]);4220}4221currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_BUSSTOP;4222{4223// set values of tag4224myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4225GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,4226files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("busStop")), parents, color);4227// set values of attributes4228fillPlanParentAttributes(myTagProperties[currentTag]);4229fillTranshipCommonAttributes(myTagProperties[currentTag]);4230}4231currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_TRAINSTOP;4232{4233// set values of tag4234myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4235GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,4236files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("trainStop")), parents, color);4237// set values of attributes4238fillPlanParentAttributes(myTagProperties[currentTag]);4239fillTranshipCommonAttributes(myTagProperties[currentTag]);4240}4241currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_CONTAINERSTOP;4242{4243// set values of tag4244myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4245GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,4246files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("containerStop")), parents, color);4247// set values of attributes4248fillPlanParentAttributes(myTagProperties[currentTag]);4249fillTranshipCommonAttributes(myTagProperties[currentTag]);4250}4251currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_CHARGINGSTATION;4252{4253// set values of tag4254myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4255GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,4256files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("chargingStation")), parents, color);4257// set values of attributes4258fillPlanParentAttributes(myTagProperties[currentTag]);4259fillTranshipCommonAttributes(myTagProperties[currentTag]);4260}4261currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_PARKINGAREA;4262{4263// set values of tag4264myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4265GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,4266files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("parkingArea")), parents, color);4267// set values of attributes4268fillPlanParentAttributes(myTagProperties[currentTag]);4269fillTranshipCommonAttributes(myTagProperties[currentTag]);4270}4271}427242734274void4275GNETagPropertiesDatabase::fillContainerStopElements() {4276// declare common tag types and properties4277const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINERPLAN | GNETagProperties::Type::STOP_CONTAINER;4278const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;4279const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;4280const auto files = FileBucket::Type::NOTHING;4281const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});4282const unsigned int color = FXRGBA(255, 213, 213, 255);4283const GUIIcon icon = GUIIcon::STOPELEMENT;4284const GUIGlObjectType GLType = GUIGlObjectType::GLO_STOP_PLAN;4285const SumoXMLTag xmlTag = SUMO_TAG_STOP;4286// fill tags4287SumoXMLTag currentTag = GNE_TAG_STOPCONTAINER_EDGE;4288{4289// set values of tag4290myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4291GNETagProperties::Over::EDGE,4292files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("edge")), parents, color);42934294// set values of attributes4295fillPlanParentAttributes(myTagProperties[currentTag]);4296fillPlanStopCommonAttributes(myTagProperties[currentTag]);4297}4298currentTag = GNE_TAG_STOPCONTAINER_BUSSTOP;4299{4300// set values of tag4301myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4302GNETagProperties::Over::BUSSTOP,4303files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("busStop")), parents, color);43044305// set values of attributes4306fillPlanParentAttributes(myTagProperties[currentTag]);4307fillPlanStopCommonAttributes(myTagProperties[currentTag]);4308}4309currentTag = GNE_TAG_STOPCONTAINER_TRAINSTOP;4310{4311// set values of tag4312myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4313GNETagProperties::Over::TRAINSTOP,4314files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("trainStop")), parents, color);43154316// set values of attributes4317fillPlanParentAttributes(myTagProperties[currentTag]);4318fillPlanStopCommonAttributes(myTagProperties[currentTag]);4319}4320currentTag = GNE_TAG_STOPCONTAINER_CONTAINERSTOP;4321{4322// set values of tag4323myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4324GNETagProperties::Over::CONTAINERSTOP,4325files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("containerStop")), parents, color);43264327// set values of attributes4328fillPlanParentAttributes(myTagProperties[currentTag]);4329fillPlanStopCommonAttributes(myTagProperties[currentTag]);4330}4331currentTag = GNE_TAG_STOPCONTAINER_CHARGINGSTATION;4332{4333myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4334GNETagProperties::Over::CHARGINGSTATION,4335files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("chargingStation")), parents, color);43364337// set values of attributes4338fillPlanParentAttributes(myTagProperties[currentTag]);4339fillPlanStopCommonAttributes(myTagProperties[currentTag]);4340}4341currentTag = GNE_TAG_STOPCONTAINER_PARKINGAREA;4342{4343// set values of tag4344myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4345GNETagProperties::Over::PARKINGAREA,4346files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("parkingArea")), parents, color);43474348// set values of attributes4349fillPlanParentAttributes(myTagProperties[currentTag]);4350fillPlanStopCommonAttributes(myTagProperties[currentTag]);4351}4352}435343544355void4356GNETagPropertiesDatabase::fillPersonPlanTrips() {4357// declare common tag types and properties4358const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::PERSONTRIP;4359const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;4360const auto tagPropertyTAZ = GNETagProperties::Property::RTREE | tagProperty;4361const auto files = FileBucket::Type::NOTHING;4362const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;4363const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});4364const unsigned int color = FXRGBA(253, 255, 206, 255);4365const GUIIcon icon = GUIIcon::PERSONTRIP_EDGE;4366const GUIGlObjectType GLType = GUIGlObjectType::GLO_PERSONTRIP;4367const SumoXMLTag xmlTag = SUMO_TAG_PERSONTRIP;4368// from edge4369SumoXMLTag currentTag = GNE_TAG_PERSONTRIP_EDGE_EDGE;4370{4371// set values of tag4372myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4373GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,4374files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("edge")), parents, color);4375// set values of attributes4376fillPlanParentAttributes(myTagProperties[currentTag]);4377fillPersonTripCommonAttributes(myTagProperties[currentTag]);4378}4379currentTag = GNE_TAG_PERSONTRIP_EDGE_TAZ;4380{4381// set values of tag4382myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4383GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TAZ,4384files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("taz")), parents, color);4385// set values of attributes4386fillPlanParentAttributes(myTagProperties[currentTag]);4387fillPersonTripCommonAttributes(myTagProperties[currentTag]);4388}4389currentTag = GNE_TAG_PERSONTRIP_EDGE_JUNCTION;4390{4391// set values of tag4392myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4393GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_JUNCTION,4394files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("junction")), parents, color);4395// set values of attributes4396fillPlanParentAttributes(myTagProperties[currentTag]);4397fillPersonTripCommonAttributes(myTagProperties[currentTag]);4398}4399currentTag = GNE_TAG_PERSONTRIP_EDGE_BUSSTOP;4400{4401// set values of tag4402myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4403GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,4404files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("busStop")), parents, color);4405// set values of attributes4406fillPlanParentAttributes(myTagProperties[currentTag]);4407fillPersonTripCommonAttributes(myTagProperties[currentTag]);4408}4409currentTag = GNE_TAG_PERSONTRIP_EDGE_TRAINSTOP;4410{4411// set values of tag4412myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4413GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,4414files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("trainStop")), parents, color);4415// set values of attributes4416fillPlanParentAttributes(myTagProperties[currentTag]);4417fillPersonTripCommonAttributes(myTagProperties[currentTag]);4418}4419currentTag = GNE_TAG_PERSONTRIP_EDGE_CONTAINERSTOP;4420{4421// set values of tag4422myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4423GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,4424files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("containerStop")), parents, color);4425// set values of attributes4426fillPlanParentAttributes(myTagProperties[currentTag]);4427fillPersonTripCommonAttributes(myTagProperties[currentTag]);4428}4429currentTag = GNE_TAG_PERSONTRIP_EDGE_CHARGINGSTATION;4430{4431// set values of tag4432myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4433GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,4434files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("chargingStation")), parents, color);4435// set values of attributes4436fillPlanParentAttributes(myTagProperties[currentTag]);4437fillPersonTripCommonAttributes(myTagProperties[currentTag]);4438}4439currentTag = GNE_TAG_PERSONTRIP_EDGE_PARKINGAREA;4440{4441// set values of tag4442myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4443GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,4444files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("parkingArea")), parents, color);4445// set values of attributes4446fillPlanParentAttributes(myTagProperties[currentTag]);4447fillPersonTripCommonAttributes(myTagProperties[currentTag]);4448}4449// from taz4450currentTag = GNE_TAG_PERSONTRIP_TAZ_EDGE;4451{4452// set values of tag4453myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4454GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_EDGE,4455files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("taz")), parents, color);4456// set values of attributes4457fillPlanParentAttributes(myTagProperties[currentTag]);4458fillPersonTripCommonAttributes(myTagProperties[currentTag]);4459}4460currentTag = GNE_TAG_PERSONTRIP_TAZ_TAZ;4461{4462// set values of tag4463myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4464GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,4465files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("taz")), parents, color);4466// set values of attributes4467fillPlanParentAttributes(myTagProperties[currentTag]);4468fillPersonTripCommonAttributes(myTagProperties[currentTag]);4469}4470currentTag = GNE_TAG_PERSONTRIP_TAZ_JUNCTION;4471{4472// set values of tag4473myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4474GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_JUNCTION,4475files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("junction")), parents, color);4476// set values of attributes4477fillPlanParentAttributes(myTagProperties[currentTag]);4478fillPersonTripCommonAttributes(myTagProperties[currentTag]);4479}4480currentTag = GNE_TAG_PERSONTRIP_TAZ_BUSSTOP;4481{4482// set values of tag4483myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4484GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_BUSSTOP,4485files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("busStop")), parents, color);4486// set values of attributes4487fillPlanParentAttributes(myTagProperties[currentTag]);4488fillPersonTripCommonAttributes(myTagProperties[currentTag]);4489}4490currentTag = GNE_TAG_PERSONTRIP_TAZ_TRAINSTOP;4491{4492// set values of tag4493myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4494GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TRAINSTOP,4495files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("trainStop")), parents, color);4496// set values of attributes4497fillPlanParentAttributes(myTagProperties[currentTag]);4498fillPersonTripCommonAttributes(myTagProperties[currentTag]);4499}4500currentTag = GNE_TAG_PERSONTRIP_TAZ_CONTAINERSTOP;4501{4502// set values of tag4503myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4504GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CONTAINERSTOP,4505files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("containerStop")), parents, color);4506// set values of attributes4507fillPlanParentAttributes(myTagProperties[currentTag]);4508fillPersonTripCommonAttributes(myTagProperties[currentTag]);4509}4510currentTag = GNE_TAG_PERSONTRIP_TAZ_CHARGINGSTATION;4511{4512// set values of tag4513myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4514GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CHARGINGSTATION,4515files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("chargingStation")), parents, color);4516// set values of attributes4517fillPlanParentAttributes(myTagProperties[currentTag]);4518fillPersonTripCommonAttributes(myTagProperties[currentTag]);4519}4520currentTag = GNE_TAG_PERSONTRIP_TAZ_PARKINGAREA;4521{4522// set values of tag4523myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4524GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_PARKINGAREA,4525files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("parkingArea")), parents, color);4526// set values of attributes4527fillPlanParentAttributes(myTagProperties[currentTag]);4528fillPersonTripCommonAttributes(myTagProperties[currentTag]);4529}4530// from junction4531currentTag = GNE_TAG_PERSONTRIP_JUNCTION_EDGE;4532{4533// set values of tag4534myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4535GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_EDGE,4536files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("edge")), parents, color);4537// set values of attributes4538fillPlanParentAttributes(myTagProperties[currentTag]);4539fillPersonTripCommonAttributes(myTagProperties[currentTag]);4540}4541currentTag = GNE_TAG_PERSONTRIP_JUNCTION_TAZ;4542{4543// set values of tag4544myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4545GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TAZ,4546files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("taz")), parents, color);4547// set values of attributes4548fillPlanParentAttributes(myTagProperties[currentTag]);4549fillPersonTripCommonAttributes(myTagProperties[currentTag]);4550}4551currentTag = GNE_TAG_PERSONTRIP_JUNCTION_JUNCTION;4552{4553// set values of tag4554myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4555GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,4556files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("junction")), parents, color);4557// set values of attributes4558fillPlanParentAttributes(myTagProperties[currentTag]);4559fillPersonTripCommonAttributes(myTagProperties[currentTag]);4560}4561currentTag = GNE_TAG_PERSONTRIP_JUNCTION_BUSSTOP;4562{4563// set values of tag4564myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4565GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_BUSSTOP,4566files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("busStop")), parents, color);4567// set values of attributes4568fillPlanParentAttributes(myTagProperties[currentTag]);4569fillPersonTripCommonAttributes(myTagProperties[currentTag]);4570}4571currentTag = GNE_TAG_PERSONTRIP_JUNCTION_TRAINSTOP;4572{4573// set values of tag4574myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4575GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TRAINSTOP,4576files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("trainStop")), parents, color);4577// set values of attributes4578fillPlanParentAttributes(myTagProperties[currentTag]);4579fillPersonTripCommonAttributes(myTagProperties[currentTag]);4580}4581currentTag = GNE_TAG_PERSONTRIP_JUNCTION_CONTAINERSTOP;4582{4583// set values of tag4584myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4585GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CONTAINERSTOP,4586files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("containerStop")), parents, color);4587// set values of attributes4588fillPlanParentAttributes(myTagProperties[currentTag]);4589fillPersonTripCommonAttributes(myTagProperties[currentTag]);4590}4591currentTag = GNE_TAG_PERSONTRIP_JUNCTION_CHARGINGSTATION;4592{4593// set values of tag4594myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4595GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CHARGINGSTATION,4596files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("chargingStation")), parents, color);4597// set values of attributes4598fillPlanParentAttributes(myTagProperties[currentTag]);4599fillPersonTripCommonAttributes(myTagProperties[currentTag]);4600}4601currentTag = GNE_TAG_PERSONTRIP_JUNCTION_PARKINGAREA;4602{4603// set values of tag4604myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4605GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_PARKINGAREA,4606files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("parkingArea")), parents, color);4607// set values of attributes4608fillPlanParentAttributes(myTagProperties[currentTag]);4609fillPersonTripCommonAttributes(myTagProperties[currentTag]);4610}4611// from busStop4612currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_EDGE;4613{4614// set values of tag4615myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4616GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,4617files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("edge")), parents, color);4618// set values of attributes4619fillPlanParentAttributes(myTagProperties[currentTag]);4620fillPersonTripCommonAttributes(myTagProperties[currentTag]);4621}4622currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_TAZ;4623{4624// set values of tag4625myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4626GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TAZ,4627files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("taz")), parents, color);4628// set values of attributes4629fillPlanParentAttributes(myTagProperties[currentTag]);4630fillPersonTripCommonAttributes(myTagProperties[currentTag]);4631}4632currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_JUNCTION;4633{4634// set values of tag4635myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4636GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_JUNCTION,4637files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("junction")), parents, color);4638// set values of attributes4639fillPlanParentAttributes(myTagProperties[currentTag]);4640fillPersonTripCommonAttributes(myTagProperties[currentTag]);4641}4642currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_BUSSTOP;4643{4644// set values of tag4645myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4646GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,4647files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("busStop")), parents, color);4648// set values of attributes4649fillPlanParentAttributes(myTagProperties[currentTag]);4650fillPersonTripCommonAttributes(myTagProperties[currentTag]);4651}4652currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_TRAINSTOP;4653{4654// set values of tag4655myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4656GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,4657files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("trainStop")), parents, color);4658// set values of attributes4659fillPlanParentAttributes(myTagProperties[currentTag]);4660fillPersonTripCommonAttributes(myTagProperties[currentTag]);4661}4662currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_CONTAINERSTOP;4663{4664// set values of tag4665myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4666GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,4667files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("containerStop")), parents, color);4668// set values of attributes4669fillPlanParentAttributes(myTagProperties[currentTag]);4670fillPersonTripCommonAttributes(myTagProperties[currentTag]);4671}4672currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_CHARGINGSTATION;4673{4674// set values of tag4675myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4676GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,4677files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("chargingStation")), parents, color);4678// set values of attributes4679fillPlanParentAttributes(myTagProperties[currentTag]);4680fillPersonTripCommonAttributes(myTagProperties[currentTag]);4681}4682currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_PARKINGAREA;4683{4684// set values of tag4685myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4686GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,4687files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("parkingArea")), parents, color);4688// set values of attributes4689fillPlanParentAttributes(myTagProperties[currentTag]);4690fillPersonTripCommonAttributes(myTagProperties[currentTag]);4691}4692// from trainStop4693currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_EDGE;4694{4695// set values of tag4696myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4697GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,4698files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("edge")), parents, color);4699// set values of attributes4700fillPlanParentAttributes(myTagProperties[currentTag]);4701fillPersonTripCommonAttributes(myTagProperties[currentTag]);4702}4703currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_TAZ;4704{4705// set values of tag4706myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4707GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TAZ,4708files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("taz")), parents, color);4709// set values of attributes4710fillPlanParentAttributes(myTagProperties[currentTag]);4711fillPersonTripCommonAttributes(myTagProperties[currentTag]);4712}4713currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_JUNCTION;4714{4715// set values of tag4716myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4717GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_JUNCTION,4718files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("junction")), parents, color);4719// set values of attributes4720fillPlanParentAttributes(myTagProperties[currentTag]);4721fillPersonTripCommonAttributes(myTagProperties[currentTag]);4722}4723currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_BUSSTOP;4724{4725// set values of tag4726myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4727GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,4728files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("busStop")), parents, color);4729// set values of attributes4730fillPlanParentAttributes(myTagProperties[currentTag]);4731fillPersonTripCommonAttributes(myTagProperties[currentTag]);4732}4733currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_TRAINSTOP;4734{4735// set values of tag4736myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4737GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,4738files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("trainStop")), parents, color);4739// set values of attributes4740fillPlanParentAttributes(myTagProperties[currentTag]);4741fillPersonTripCommonAttributes(myTagProperties[currentTag]);4742}4743currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_CONTAINERSTOP;4744{4745// set values of tag4746myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4747GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,4748files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("containerStop")), parents, color);4749// set values of attributes4750fillPlanParentAttributes(myTagProperties[currentTag]);4751fillPersonTripCommonAttributes(myTagProperties[currentTag]);4752}4753currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_CHARGINGSTATION;4754{4755// set values of tag4756myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4757GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,4758files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("chargingStation")), parents, color);4759// set values of attributes4760fillPlanParentAttributes(myTagProperties[currentTag]);4761fillPersonTripCommonAttributes(myTagProperties[currentTag]);4762}4763currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_PARKINGAREA;4764{4765// set values of tag4766myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4767GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,4768files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("parkingArea")), parents, color);4769// set values of attributes4770fillPlanParentAttributes(myTagProperties[currentTag]);4771fillPersonTripCommonAttributes(myTagProperties[currentTag]);4772}4773// from containerStop4774currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_EDGE;4775{4776// set values of tag4777myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4778GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,4779files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("edge")), parents, color);4780// set values of attributes4781fillPlanParentAttributes(myTagProperties[currentTag]);4782fillPersonTripCommonAttributes(myTagProperties[currentTag]);4783}4784currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_TAZ;4785{4786// set values of tag4787myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4788GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TAZ,4789files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("taz")), parents, color);4790// set values of attributes4791fillPlanParentAttributes(myTagProperties[currentTag]);4792fillPersonTripCommonAttributes(myTagProperties[currentTag]);4793}4794currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_JUNCTION;4795{4796// set values of tag4797myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4798GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_JUNCTION,4799files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("junction")), parents, color);4800// set values of attributes4801fillPlanParentAttributes(myTagProperties[currentTag]);4802fillPersonTripCommonAttributes(myTagProperties[currentTag]);4803}4804currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_BUSSTOP;4805{4806// set values of tag4807myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4808GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,4809files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("busStop")), parents, color);4810// set values of attributes4811fillPlanParentAttributes(myTagProperties[currentTag]);4812fillPersonTripCommonAttributes(myTagProperties[currentTag]);4813}4814currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_TRAINSTOP;4815{4816// set values of tag4817myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4818GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,4819files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("trainStop")), parents, color);4820// set values of attributes4821fillPlanParentAttributes(myTagProperties[currentTag]);4822fillPersonTripCommonAttributes(myTagProperties[currentTag]);4823}4824currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_CONTAINERSTOP;4825{4826// set values of tag4827myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4828GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,4829files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("containerStop")), parents, color);4830// set values of attributes4831fillPlanParentAttributes(myTagProperties[currentTag]);4832fillPersonTripCommonAttributes(myTagProperties[currentTag]);4833}4834currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_CHARGINGSTATION;4835{4836// set values of tag4837myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4838GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,4839files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("chargingStation")), parents, color);4840// set values of attributes4841fillPlanParentAttributes(myTagProperties[currentTag]);4842fillPersonTripCommonAttributes(myTagProperties[currentTag]);4843}4844currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_PARKINGAREA;4845{4846// set values of tag4847myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4848GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,4849files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("parkingArea")), parents, color);4850// set values of attributes4851fillPlanParentAttributes(myTagProperties[currentTag]);4852fillPersonTripCommonAttributes(myTagProperties[currentTag]);4853}4854// from chargingStation4855currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_EDGE;4856{4857// set values of tag4858myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4859GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,4860files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("edge")), parents, color);4861// set values of attributes4862fillPlanParentAttributes(myTagProperties[currentTag]);4863fillPersonTripCommonAttributes(myTagProperties[currentTag]);4864}4865currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_TAZ;4866{4867// set values of tag4868myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4869GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TAZ,4870files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("taz")), parents, color);4871// set values of attributes4872fillPlanParentAttributes(myTagProperties[currentTag]);4873fillPersonTripCommonAttributes(myTagProperties[currentTag]);4874}4875currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_JUNCTION;4876{4877// set values of tag4878myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4879GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_JUNCTION,4880files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("junction")), parents, color);4881// set values of attributes4882fillPlanParentAttributes(myTagProperties[currentTag]);4883fillPersonTripCommonAttributes(myTagProperties[currentTag]);4884}4885currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_BUSSTOP;4886{4887// set values of tag4888myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4889GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,4890files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("busStop")), parents, color);4891// set values of attributes4892fillPlanParentAttributes(myTagProperties[currentTag]);4893fillPersonTripCommonAttributes(myTagProperties[currentTag]);4894}4895currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_TRAINSTOP;4896{4897// set values of tag4898myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4899GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,4900files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("trainStop")), parents, color);4901// set values of attributes4902fillPlanParentAttributes(myTagProperties[currentTag]);4903fillPersonTripCommonAttributes(myTagProperties[currentTag]);4904}4905currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_CONTAINERSTOP;4906{4907// set values of tag4908myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4909GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,4910files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("containerStop")), parents, color);4911// set values of attributes4912fillPlanParentAttributes(myTagProperties[currentTag]);4913fillPersonTripCommonAttributes(myTagProperties[currentTag]);4914}4915currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_CHARGINGSTATION;4916{4917// set values of tag4918myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4919GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,4920files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("chargingStation")), parents, color);4921// set values of attributes4922fillPlanParentAttributes(myTagProperties[currentTag]);4923fillPersonTripCommonAttributes(myTagProperties[currentTag]);4924}4925currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_PARKINGAREA;4926{4927// set values of tag4928myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4929GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,4930files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("parkingArea")), parents, color);4931// set values of attributes4932fillPlanParentAttributes(myTagProperties[currentTag]);4933fillPersonTripCommonAttributes(myTagProperties[currentTag]);4934}4935// from parkingArea4936currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_EDGE;4937{4938// set values of tag4939myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4940GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,4941files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("edge")), parents, color);4942// set values of attributes4943fillPlanParentAttributes(myTagProperties[currentTag]);4944fillPersonTripCommonAttributes(myTagProperties[currentTag]);4945}4946currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_TAZ;4947{4948// set values of tag4949myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4950GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TAZ,4951files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("taz")), parents, color);4952// set values of attributes4953fillPlanParentAttributes(myTagProperties[currentTag]);4954fillPersonTripCommonAttributes(myTagProperties[currentTag]);4955}4956currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_JUNCTION;4957{4958// set values of tag4959myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4960GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_JUNCTION,4961files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("junction")), parents, color);4962// set values of attributes4963fillPlanParentAttributes(myTagProperties[currentTag]);4964fillPersonTripCommonAttributes(myTagProperties[currentTag]);4965}4966currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_BUSSTOP;4967{4968// set values of tag4969myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4970GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,4971files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("busStop")), parents, color);4972// set values of attributes4973fillPlanParentAttributes(myTagProperties[currentTag]);4974fillPersonTripCommonAttributes(myTagProperties[currentTag]);4975}4976currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_TRAINSTOP;4977{4978// set values of tag4979myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4980GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,4981files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("trainStop")), parents, color);4982// set values of attributes4983fillPlanParentAttributes(myTagProperties[currentTag]);4984fillPersonTripCommonAttributes(myTagProperties[currentTag]);4985}4986currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_CONTAINERSTOP;4987{4988// set values of tag4989myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4990GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,4991files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("containerStop")), parents, color);4992// set values of attributes4993fillPlanParentAttributes(myTagProperties[currentTag]);4994fillPersonTripCommonAttributes(myTagProperties[currentTag]);4995}4996currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_CHARGINGSTATION;4997{4998// set values of tag4999myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5000GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,5001files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("chargingStation")), parents, color);5002// set values of attributes5003fillPlanParentAttributes(myTagProperties[currentTag]);5004fillPersonTripCommonAttributes(myTagProperties[currentTag]);5005}5006currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_PARKINGAREA;5007{5008// set values of tag5009myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5010GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,5011files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("parkingArea")), parents, color);5012// set values of attributes5013fillPlanParentAttributes(myTagProperties[currentTag]);5014fillPersonTripCommonAttributes(myTagProperties[currentTag]);5015}5016}501750185019void5020GNETagPropertiesDatabase::fillPersonPlanWalks() {5021// declare common tag types and properties5022const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::WALK;5023const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;5024const auto tagPropertyTAZ = GNETagProperties::Property::RTREE | tagProperty;5025const auto files = FileBucket::Type::NOTHING;5026const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;5027const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});5028const unsigned int color = FXRGBA(240, 255, 205, 255);5029const GUIIcon icon = GUIIcon::WALK_EDGES;5030const GUIGlObjectType GLType = GUIGlObjectType::GLO_WALK;5031const SumoXMLTag xmlTag = SUMO_TAG_WALK;5032// fill tags5033SumoXMLTag currentTag = GNE_TAG_WALK_EDGES;5034{5035// set values of tag5036myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5037GNETagProperties::Over::CONSECUTIVE_EDGES,5038files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Walk"), TL("edges")), parents, color);5039// set values of attributes5040fillPlanParentAttributes(myTagProperties[currentTag]);5041fillWalkCommonAttributes(myTagProperties[currentTag]);5042}5043currentTag = GNE_TAG_WALK_ROUTE;5044{5045// set values of tag5046myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5047GNETagProperties::Over::ROUTE,5048files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Walk"), TL("route")), parents, color);5049// set values of attributes5050fillPlanParentAttributes(myTagProperties[currentTag]);5051fillWalkCommonAttributes(myTagProperties[currentTag]);5052}5053// from edge5054currentTag = GNE_TAG_WALK_EDGE_EDGE;5055{5056// set values of tag5057myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5058GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,5059files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("edge")), parents, color);5060// set values of attributes5061fillPlanParentAttributes(myTagProperties[currentTag]);5062fillWalkCommonAttributes(myTagProperties[currentTag]);5063}5064currentTag = GNE_TAG_WALK_EDGE_TAZ;5065{5066// set values of tag5067myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5068GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TAZ,5069files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("taz")), parents, color);5070// set values of attributes5071fillPlanParentAttributes(myTagProperties[currentTag]);5072fillWalkCommonAttributes(myTagProperties[currentTag]);5073}5074currentTag = GNE_TAG_WALK_EDGE_JUNCTION;5075{5076// set values of tag5077myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5078GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_JUNCTION,5079files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("junction")), parents, color);5080// set values of attributes5081fillPlanParentAttributes(myTagProperties[currentTag]);5082fillWalkCommonAttributes(myTagProperties[currentTag]);5083}5084currentTag = GNE_TAG_WALK_EDGE_BUSSTOP;5085{5086// set values of tag5087myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5088GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,5089files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("busStop")), parents, color);5090// set values of attributes5091fillPlanParentAttributes(myTagProperties[currentTag]);5092fillWalkCommonAttributes(myTagProperties[currentTag]);5093}5094currentTag = GNE_TAG_WALK_EDGE_TRAINSTOP;5095{5096// set values of tag5097myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5098GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,5099files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("trainStop")), parents, color);5100// set values of attributes5101fillPlanParentAttributes(myTagProperties[currentTag]);5102fillWalkCommonAttributes(myTagProperties[currentTag]);5103}5104currentTag = GNE_TAG_WALK_EDGE_CONTAINERSTOP;5105{5106// set values of tag5107myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5108GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,5109files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("containerStop")), parents, color);5110// set values of attributes5111fillPlanParentAttributes(myTagProperties[currentTag]);5112fillWalkCommonAttributes(myTagProperties[currentTag]);5113}5114currentTag = GNE_TAG_WALK_EDGE_CHARGINGSTATION;5115{5116// set values of tag5117myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5118GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,5119files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("chargingStation")), parents, color);5120// set values of attributes5121fillPlanParentAttributes(myTagProperties[currentTag]);5122fillWalkCommonAttributes(myTagProperties[currentTag]);5123}5124currentTag = GNE_TAG_WALK_EDGE_PARKINGAREA;5125{5126// set values of tag5127myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5128GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,5129files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("parkingArea")), parents, color);5130// set values of attributes5131fillPlanParentAttributes(myTagProperties[currentTag]);5132fillWalkCommonAttributes(myTagProperties[currentTag]);5133}5134// from taz5135currentTag = GNE_TAG_WALK_TAZ_EDGE;5136{5137// set values of tag5138myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5139GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_EDGE,5140files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("taz")), parents, color);5141// set values of attributes5142fillPlanParentAttributes(myTagProperties[currentTag]);5143fillWalkCommonAttributes(myTagProperties[currentTag]);5144}5145currentTag = GNE_TAG_WALK_TAZ_TAZ;5146{5147// set values of tag5148myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5149GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,5150files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("taz")), parents, color);5151// set values of attributes5152fillPlanParentAttributes(myTagProperties[currentTag]);5153fillWalkCommonAttributes(myTagProperties[currentTag]);5154}5155currentTag = GNE_TAG_WALK_TAZ_JUNCTION;5156{5157// set values of tag5158myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5159GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_JUNCTION,5160files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("junction")), parents, color);5161// set values of attributes5162fillPlanParentAttributes(myTagProperties[currentTag]);5163fillWalkCommonAttributes(myTagProperties[currentTag]);5164}5165currentTag = GNE_TAG_WALK_TAZ_BUSSTOP;5166{5167// set values of tag5168myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5169GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_BUSSTOP,5170files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("busStop")), parents, color);5171// set values of attributes5172fillPlanParentAttributes(myTagProperties[currentTag]);5173fillWalkCommonAttributes(myTagProperties[currentTag]);5174}5175currentTag = GNE_TAG_WALK_TAZ_TRAINSTOP;5176{5177// set values of tag5178myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5179GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TRAINSTOP,5180files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("trainStop")), parents, color);5181// set values of attributes5182fillPlanParentAttributes(myTagProperties[currentTag]);5183fillWalkCommonAttributes(myTagProperties[currentTag]);5184}5185currentTag = GNE_TAG_WALK_TAZ_CONTAINERSTOP;5186{5187// set values of tag5188myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5189GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CONTAINERSTOP,5190files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("containerStop")), parents, color);5191// set values of attributes5192fillPlanParentAttributes(myTagProperties[currentTag]);5193fillWalkCommonAttributes(myTagProperties[currentTag]);5194}5195currentTag = GNE_TAG_WALK_TAZ_CHARGINGSTATION;5196{5197// set values of tag5198myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5199GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CHARGINGSTATION,5200files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("chargingStation")), parents, color);5201// set values of attributes5202fillPlanParentAttributes(myTagProperties[currentTag]);5203fillWalkCommonAttributes(myTagProperties[currentTag]);5204}5205currentTag = GNE_TAG_WALK_TAZ_PARKINGAREA;5206{5207// set values of tag5208myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5209GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_PARKINGAREA,5210files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("parkingArea")), parents, color);5211// set values of attributes5212fillPlanParentAttributes(myTagProperties[currentTag]);5213fillWalkCommonAttributes(myTagProperties[currentTag]);5214}5215// from junction5216currentTag = GNE_TAG_WALK_JUNCTION_EDGE;5217{5218// set values of tag5219myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5220GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_EDGE,5221files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("edge")), parents, color);5222// set values of attributes5223fillPlanParentAttributes(myTagProperties[currentTag]);5224fillWalkCommonAttributes(myTagProperties[currentTag]);5225}5226currentTag = GNE_TAG_WALK_JUNCTION_TAZ;5227{5228// set values of tag5229myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5230GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TAZ,5231files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("taz")), parents, color);5232// set values of attributes5233fillPlanParentAttributes(myTagProperties[currentTag]);5234fillWalkCommonAttributes(myTagProperties[currentTag]);5235}5236currentTag = GNE_TAG_WALK_JUNCTION_JUNCTION;5237{5238// set values of tag5239myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5240GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,5241files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("junction")), parents, color);5242// set values of attributes5243fillPlanParentAttributes(myTagProperties[currentTag]);5244fillWalkCommonAttributes(myTagProperties[currentTag]);5245}5246currentTag = GNE_TAG_WALK_JUNCTION_BUSSTOP;5247{5248// set values of tag5249myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5250GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_BUSSTOP,5251files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("busStop")), parents, color);5252// set values of attributes5253fillPlanParentAttributes(myTagProperties[currentTag]);5254fillWalkCommonAttributes(myTagProperties[currentTag]);5255}5256currentTag = GNE_TAG_WALK_JUNCTION_TRAINSTOP;5257{5258// set values of tag5259myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5260GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TRAINSTOP,5261files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("trainStop")), parents, color);5262// set values of attributes5263fillPlanParentAttributes(myTagProperties[currentTag]);5264fillWalkCommonAttributes(myTagProperties[currentTag]);5265}5266currentTag = GNE_TAG_WALK_JUNCTION_CONTAINERSTOP;5267{5268// set values of tag5269myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5270GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CONTAINERSTOP,5271files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("containerStop")), parents, color);5272// set values of attributes5273fillPlanParentAttributes(myTagProperties[currentTag]);5274fillWalkCommonAttributes(myTagProperties[currentTag]);5275}5276currentTag = GNE_TAG_WALK_JUNCTION_CHARGINGSTATION;5277{5278// set values of tag5279myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5280GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CHARGINGSTATION,5281files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("chargingStation")), parents, color);5282// set values of attributes5283fillPlanParentAttributes(myTagProperties[currentTag]);5284fillWalkCommonAttributes(myTagProperties[currentTag]);5285}5286currentTag = GNE_TAG_WALK_JUNCTION_PARKINGAREA;5287{5288// set values of tag5289myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5290GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_PARKINGAREA,5291files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("parkingArea")), parents, color);5292// set values of attributes5293fillPlanParentAttributes(myTagProperties[currentTag]);5294fillWalkCommonAttributes(myTagProperties[currentTag]);5295}5296// from busStop5297currentTag = GNE_TAG_WALK_BUSSTOP_EDGE;5298{5299// set values of tag5300myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5301GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,5302files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("edge")), parents, color);5303// set values of attributes5304fillPlanParentAttributes(myTagProperties[currentTag]);5305fillWalkCommonAttributes(myTagProperties[currentTag]);5306}5307currentTag = GNE_TAG_WALK_BUSSTOP_TAZ;5308{5309// set values of tag5310myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5311GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TAZ,5312files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("taz")), parents, color);5313// set values of attributes5314fillPlanParentAttributes(myTagProperties[currentTag]);5315fillWalkCommonAttributes(myTagProperties[currentTag]);5316}5317currentTag = GNE_TAG_WALK_BUSSTOP_JUNCTION;5318{5319// set values of tag5320myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5321GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_JUNCTION,5322files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("junction")), parents, color);5323// set values of attributes5324fillPlanParentAttributes(myTagProperties[currentTag]);5325fillWalkCommonAttributes(myTagProperties[currentTag]);5326}5327currentTag = GNE_TAG_WALK_BUSSTOP_BUSSTOP;5328{5329// set values of tag5330myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5331GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,5332files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("busStop")), parents, color);5333// set values of attributes5334fillPlanParentAttributes(myTagProperties[currentTag]);5335fillWalkCommonAttributes(myTagProperties[currentTag]);5336}5337currentTag = GNE_TAG_WALK_BUSSTOP_TRAINSTOP;5338{5339// set values of tag5340myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5341GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,5342files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("trainStop")), parents, color);5343// set values of attributes5344fillPlanParentAttributes(myTagProperties[currentTag]);5345fillWalkCommonAttributes(myTagProperties[currentTag]);5346}5347currentTag = GNE_TAG_WALK_BUSSTOP_CONTAINERSTOP;5348{5349// set values of tag5350myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5351GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5352files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("containerStop")), parents, color);5353// set values of attributes5354fillPlanParentAttributes(myTagProperties[currentTag]);5355fillWalkCommonAttributes(myTagProperties[currentTag]);5356}5357currentTag = GNE_TAG_WALK_BUSSTOP_CHARGINGSTATION;5358{5359// set values of tag5360myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5361GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5362files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("chargingStation")), parents, color);5363// set values of attributes5364fillPlanParentAttributes(myTagProperties[currentTag]);5365fillWalkCommonAttributes(myTagProperties[currentTag]);5366}5367currentTag = GNE_TAG_WALK_BUSSTOP_PARKINGAREA;5368{5369// set values of tag5370myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5371GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,5372files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("parkingArea")), parents, color);5373// set values of attributes5374fillPlanParentAttributes(myTagProperties[currentTag]);5375fillWalkCommonAttributes(myTagProperties[currentTag]);5376}5377// from trainStop5378currentTag = GNE_TAG_WALK_TRAINSTOP_EDGE;5379{5380// set values of tag5381myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5382GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,5383files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("edge")), parents, color);5384// set values of attributes5385fillPlanParentAttributes(myTagProperties[currentTag]);5386fillWalkCommonAttributes(myTagProperties[currentTag]);5387}5388currentTag = GNE_TAG_WALK_TRAINSTOP_TAZ;5389{5390// set values of tag5391myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5392GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TAZ,5393files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("taz")), parents, color);5394// set values of attributes5395fillPlanParentAttributes(myTagProperties[currentTag]);5396fillWalkCommonAttributes(myTagProperties[currentTag]);5397}5398currentTag = GNE_TAG_WALK_TRAINSTOP_JUNCTION;5399{5400// set values of tag5401myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5402GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_JUNCTION,5403files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("junction")), parents, color);5404// set values of attributes5405fillPlanParentAttributes(myTagProperties[currentTag]);5406fillWalkCommonAttributes(myTagProperties[currentTag]);5407}5408currentTag = GNE_TAG_WALK_TRAINSTOP_BUSSTOP;5409{5410// set values of tag5411myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5412GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,5413files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("busStop")), parents, color);5414// set values of attributes5415fillPlanParentAttributes(myTagProperties[currentTag]);5416fillWalkCommonAttributes(myTagProperties[currentTag]);5417}5418currentTag = GNE_TAG_WALK_TRAINSTOP_TRAINSTOP;5419{5420// set values of tag5421myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5422GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,5423files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("trainStop")), parents, color);5424// set values of attributes5425fillPlanParentAttributes(myTagProperties[currentTag]);5426fillWalkCommonAttributes(myTagProperties[currentTag]);5427}5428currentTag = GNE_TAG_WALK_TRAINSTOP_CONTAINERSTOP;5429{5430// set values of tag5431myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5432GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5433files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("containerStop")), parents, color);5434// set values of attributes5435fillPlanParentAttributes(myTagProperties[currentTag]);5436fillWalkCommonAttributes(myTagProperties[currentTag]);5437}5438currentTag = GNE_TAG_WALK_TRAINSTOP_CHARGINGSTATION;5439{5440// set values of tag5441myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5442GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5443files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("chargingStation")), parents, color);5444// set values of attributes5445fillPlanParentAttributes(myTagProperties[currentTag]);5446fillWalkCommonAttributes(myTagProperties[currentTag]);5447}5448currentTag = GNE_TAG_WALK_TRAINSTOP_PARKINGAREA;5449{5450// set values of tag5451myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5452GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,5453files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("parkingArea")), parents, color);5454// set values of attributes5455fillPlanParentAttributes(myTagProperties[currentTag]);5456fillWalkCommonAttributes(myTagProperties[currentTag]);5457}5458// from containerStop5459currentTag = GNE_TAG_WALK_CONTAINERSTOP_EDGE;5460{5461// set values of tag5462myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5463GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,5464files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("edge")), parents, color);5465// set values of attributes5466fillPlanParentAttributes(myTagProperties[currentTag]);5467fillWalkCommonAttributes(myTagProperties[currentTag]);5468}5469currentTag = GNE_TAG_WALK_CONTAINERSTOP_TAZ;5470{5471// set values of tag5472myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5473GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TAZ,5474files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("taz")), parents, color);5475// set values of attributes5476fillPlanParentAttributes(myTagProperties[currentTag]);5477fillWalkCommonAttributes(myTagProperties[currentTag]);5478}5479currentTag = GNE_TAG_WALK_CONTAINERSTOP_JUNCTION;5480{5481// set values of tag5482myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5483GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_JUNCTION,5484files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("junction")), parents, color);5485// set values of attributes5486fillPlanParentAttributes(myTagProperties[currentTag]);5487fillWalkCommonAttributes(myTagProperties[currentTag]);5488}5489currentTag = GNE_TAG_WALK_CONTAINERSTOP_BUSSTOP;5490{5491// set values of tag5492myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5493GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,5494files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("busStop")), parents, color);5495// set values of attributes5496fillPlanParentAttributes(myTagProperties[currentTag]);5497fillWalkCommonAttributes(myTagProperties[currentTag]);5498}5499currentTag = GNE_TAG_WALK_CONTAINERSTOP_TRAINSTOP;5500{5501// set values of tag5502myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5503GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,5504files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("trainStop")), parents, color);5505// set values of attributes5506fillPlanParentAttributes(myTagProperties[currentTag]);5507fillWalkCommonAttributes(myTagProperties[currentTag]);5508}5509currentTag = GNE_TAG_WALK_CONTAINERSTOP_CONTAINERSTOP;5510{5511// set values of tag5512myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5513GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5514files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("containerStop")), parents, color);5515// set values of attributes5516fillPlanParentAttributes(myTagProperties[currentTag]);5517fillWalkCommonAttributes(myTagProperties[currentTag]);5518}5519currentTag = GNE_TAG_WALK_CONTAINERSTOP_CHARGINGSTATION;5520{5521// set values of tag5522myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5523GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5524files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("chargingStation")), parents, color);5525// set values of attributes5526fillPlanParentAttributes(myTagProperties[currentTag]);5527fillWalkCommonAttributes(myTagProperties[currentTag]);5528}5529currentTag = GNE_TAG_WALK_CONTAINERSTOP_PARKINGAREA;5530{5531// set values of tag5532myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5533GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,5534files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("parkingArea")), parents, color);5535// set values of attributes5536fillPlanParentAttributes(myTagProperties[currentTag]);5537fillWalkCommonAttributes(myTagProperties[currentTag]);5538}5539// from chargingStation5540currentTag = GNE_TAG_WALK_CHARGINGSTATION_EDGE;5541{5542// set values of tag5543myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5544GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,5545files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("edge")), parents, color);5546// set values of attributes5547fillPlanParentAttributes(myTagProperties[currentTag]);5548fillWalkCommonAttributes(myTagProperties[currentTag]);5549}5550currentTag = GNE_TAG_WALK_CHARGINGSTATION_TAZ;5551{5552// set values of tag5553myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5554GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TAZ,5555files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("taz")), parents, color);5556// set values of attributes5557fillPlanParentAttributes(myTagProperties[currentTag]);5558fillWalkCommonAttributes(myTagProperties[currentTag]);5559}5560currentTag = GNE_TAG_WALK_CHARGINGSTATION_JUNCTION;5561{5562// set values of tag5563myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5564GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_JUNCTION,5565files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("junction")), parents, color);5566// set values of attributes5567fillPlanParentAttributes(myTagProperties[currentTag]);5568fillWalkCommonAttributes(myTagProperties[currentTag]);5569}5570currentTag = GNE_TAG_WALK_CHARGINGSTATION_BUSSTOP;5571{5572// set values of tag5573myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5574GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,5575files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("busStop")), parents, color);5576// set values of attributes5577fillPlanParentAttributes(myTagProperties[currentTag]);5578fillWalkCommonAttributes(myTagProperties[currentTag]);5579}5580currentTag = GNE_TAG_WALK_CHARGINGSTATION_TRAINSTOP;5581{5582// set values of tag5583myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5584GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,5585files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("trainStop")), parents, color);5586// set values of attributes5587fillPlanParentAttributes(myTagProperties[currentTag]);5588fillWalkCommonAttributes(myTagProperties[currentTag]);5589}5590currentTag = GNE_TAG_WALK_CHARGINGSTATION_CONTAINERSTOP;5591{5592// set values of tag5593myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5594GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,5595files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("containerStop")), parents, color);5596// set values of attributes5597fillPlanParentAttributes(myTagProperties[currentTag]);5598fillWalkCommonAttributes(myTagProperties[currentTag]);5599}5600currentTag = GNE_TAG_WALK_CHARGINGSTATION_CHARGINGSTATION;5601{5602// set values of tag5603myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5604GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,5605files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("chargingStation")), parents, color);5606// set values of attributes5607fillPlanParentAttributes(myTagProperties[currentTag]);5608fillWalkCommonAttributes(myTagProperties[currentTag]);5609}5610currentTag = GNE_TAG_WALK_CHARGINGSTATION_PARKINGAREA;5611{5612// set values of tag5613myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5614GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,5615files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("parkingArea")), parents, color);5616// set values of attributes5617fillPlanParentAttributes(myTagProperties[currentTag]);5618fillWalkCommonAttributes(myTagProperties[currentTag]);5619}5620// from parkingArea5621currentTag = GNE_TAG_WALK_PARKINGAREA_EDGE;5622{5623// set values of tag5624myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5625GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,5626files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("edge")), parents, color);5627// set values of attributes5628fillPlanParentAttributes(myTagProperties[currentTag]);5629fillWalkCommonAttributes(myTagProperties[currentTag]);5630}5631currentTag = GNE_TAG_WALK_PARKINGAREA_TAZ;5632{5633// set values of tag5634myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5635GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TAZ,5636files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("taz")), parents, color);5637// set values of attributes5638fillPlanParentAttributes(myTagProperties[currentTag]);5639fillWalkCommonAttributes(myTagProperties[currentTag]);5640}5641currentTag = GNE_TAG_WALK_PARKINGAREA_JUNCTION;5642{5643// set values of tag5644myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5645GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_JUNCTION,5646files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("junction")), parents, color);5647// set values of attributes5648fillPlanParentAttributes(myTagProperties[currentTag]);5649fillWalkCommonAttributes(myTagProperties[currentTag]);5650}5651currentTag = GNE_TAG_WALK_PARKINGAREA_BUSSTOP;5652{5653// set values of tag5654myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5655GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,5656files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("busStop")), parents, color);5657// set values of attributes5658fillPlanParentAttributes(myTagProperties[currentTag]);5659fillWalkCommonAttributes(myTagProperties[currentTag]);5660}5661currentTag = GNE_TAG_WALK_PARKINGAREA_TRAINSTOP;5662{5663// set values of tag5664myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5665GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,5666files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("trainStop")), parents, color);5667// set values of attributes5668fillPlanParentAttributes(myTagProperties[currentTag]);5669fillWalkCommonAttributes(myTagProperties[currentTag]);5670}5671currentTag = GNE_TAG_WALK_PARKINGAREA_CONTAINERSTOP;5672{5673// set values of tag5674myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5675GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,5676files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("containerStop")), parents, color);5677// set values of attributes5678fillPlanParentAttributes(myTagProperties[currentTag]);5679fillWalkCommonAttributes(myTagProperties[currentTag]);5680}5681currentTag = GNE_TAG_WALK_PARKINGAREA_CHARGINGSTATION;5682{5683// set values of tag5684myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5685GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,5686files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("chargingStation")), parents, color);5687// set values of attributes5688fillPlanParentAttributes(myTagProperties[currentTag]);5689fillWalkCommonAttributes(myTagProperties[currentTag]);5690}5691currentTag = GNE_TAG_WALK_PARKINGAREA_PARKINGAREA;5692{5693// set values of tag5694myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5695GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,5696files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("parkingArea")), parents, color);5697// set values of attributes5698fillPlanParentAttributes(myTagProperties[currentTag]);5699fillWalkCommonAttributes(myTagProperties[currentTag]);5700}5701}570257035704void5705GNETagPropertiesDatabase::fillPersonPlanRides() {5706// declare common tag types and properties5707const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::RIDE;5708const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;5709const auto files = FileBucket::Type::NOTHING;5710const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;5711const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});5712const unsigned int color = FXRGBA(253, 255, 206, 255);5713const GUIIcon icon = GUIIcon::RIDE_EDGE;5714const GUIGlObjectType GLType = GUIGlObjectType::GLO_RIDE;5715const SumoXMLTag xmlTag = SUMO_TAG_RIDE;5716// from edge5717SumoXMLTag currentTag = GNE_TAG_RIDE_EDGE_EDGE;5718{5719// set values of tag5720myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5721GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,5722files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("edge")), parents, color);5723// set values of attributes5724fillPlanParentAttributes(myTagProperties[currentTag]);5725fillRideCommonAttributes(myTagProperties[currentTag]);5726}5727currentTag = GNE_TAG_RIDE_EDGE_BUSSTOP;5728{5729// set values of tag5730myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5731GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,5732files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("busStop")), parents, color);5733// set values of attributes5734fillPlanParentAttributes(myTagProperties[currentTag]);5735fillRideCommonAttributes(myTagProperties[currentTag]);5736}5737currentTag = GNE_TAG_RIDE_EDGE_TRAINSTOP;5738{5739// set values of tag5740myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5741GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,5742files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("trainStop")), parents, color);5743// set values of attributes5744fillPlanParentAttributes(myTagProperties[currentTag]);5745fillRideCommonAttributes(myTagProperties[currentTag]);5746}5747currentTag = GNE_TAG_RIDE_EDGE_CONTAINERSTOP;5748{5749// set values of tag5750myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5751GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,5752files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("containerStop")), parents, color);5753// set values of attributes5754fillPlanParentAttributes(myTagProperties[currentTag]);5755fillRideCommonAttributes(myTagProperties[currentTag]);5756}5757currentTag = GNE_TAG_RIDE_EDGE_CHARGINGSTATION;5758{5759// set values of tag5760myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5761GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,5762files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("chargingStation")), parents, color);5763// set values of attributes5764fillPlanParentAttributes(myTagProperties[currentTag]);5765fillRideCommonAttributes(myTagProperties[currentTag]);5766}5767currentTag = GNE_TAG_RIDE_EDGE_PARKINGAREA;5768{5769// set values of tag5770myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5771GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,5772files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("parkingArea")), parents, color);5773// set values of attributes5774fillPlanParentAttributes(myTagProperties[currentTag]);5775fillRideCommonAttributes(myTagProperties[currentTag]);5776}5777// from busStop5778currentTag = GNE_TAG_RIDE_BUSSTOP_EDGE;5779{5780// set values of tag5781myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5782GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,5783files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("edge")), parents, color);5784// set values of attributes5785fillPlanParentAttributes(myTagProperties[currentTag]);5786fillRideCommonAttributes(myTagProperties[currentTag]);5787}5788currentTag = GNE_TAG_RIDE_BUSSTOP_BUSSTOP;5789{5790// set values of tag5791myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5792GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,5793files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("busStop")), parents, color);5794// set values of attributes5795fillPlanParentAttributes(myTagProperties[currentTag]);5796fillRideCommonAttributes(myTagProperties[currentTag]);5797}5798currentTag = GNE_TAG_RIDE_BUSSTOP_TRAINSTOP;5799{5800// set values of tag5801myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5802GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,5803files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("trainStop")), parents, color);5804// set values of attributes5805fillPlanParentAttributes(myTagProperties[currentTag]);5806fillRideCommonAttributes(myTagProperties[currentTag]);5807}5808currentTag = GNE_TAG_RIDE_BUSSTOP_CONTAINERSTOP;5809{5810// set values of tag5811myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5812GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5813files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("containerStop")), parents, color);5814// set values of attributes5815fillPlanParentAttributes(myTagProperties[currentTag]);5816fillRideCommonAttributes(myTagProperties[currentTag]);5817}5818currentTag = GNE_TAG_RIDE_BUSSTOP_CHARGINGSTATION;5819{5820// set values of tag5821myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5822GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5823files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("chargingStation")), parents, color);5824// set values of attributes5825fillPlanParentAttributes(myTagProperties[currentTag]);5826fillRideCommonAttributes(myTagProperties[currentTag]);5827}5828currentTag = GNE_TAG_RIDE_BUSSTOP_PARKINGAREA;5829{5830// set values of tag5831myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5832GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,5833files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("parkingArea")), parents, color);5834// set values of attributes5835fillPlanParentAttributes(myTagProperties[currentTag]);5836fillRideCommonAttributes(myTagProperties[currentTag]);5837}5838// from trainStop5839currentTag = GNE_TAG_RIDE_TRAINSTOP_EDGE;5840{5841// set values of tag5842myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5843GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,5844files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("edge")), parents, color);5845// set values of attributes5846fillPlanParentAttributes(myTagProperties[currentTag]);5847fillRideCommonAttributes(myTagProperties[currentTag]);5848}5849currentTag = GNE_TAG_RIDE_TRAINSTOP_BUSSTOP;5850{5851// set values of tag5852myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5853GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,5854files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("busStop")), parents, color);5855// set values of attributes5856fillPlanParentAttributes(myTagProperties[currentTag]);5857fillRideCommonAttributes(myTagProperties[currentTag]);5858}5859currentTag = GNE_TAG_RIDE_TRAINSTOP_TRAINSTOP;5860{5861// set values of tag5862myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5863GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,5864files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("trainStop")), parents, color);5865// set values of attributes5866fillPlanParentAttributes(myTagProperties[currentTag]);5867fillRideCommonAttributes(myTagProperties[currentTag]);5868}5869currentTag = GNE_TAG_RIDE_TRAINSTOP_CONTAINERSTOP;5870{5871// set values of tag5872myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5873GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5874files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("containerStop")), parents, color);5875// set values of attributes5876fillPlanParentAttributes(myTagProperties[currentTag]);5877fillRideCommonAttributes(myTagProperties[currentTag]);5878}5879currentTag = GNE_TAG_RIDE_TRAINSTOP_CHARGINGSTATION;5880{5881// set values of tag5882myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5883GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5884files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("chargingStation")), parents, color);5885// set values of attributes5886fillPlanParentAttributes(myTagProperties[currentTag]);5887fillRideCommonAttributes(myTagProperties[currentTag]);5888}5889currentTag = GNE_TAG_RIDE_TRAINSTOP_PARKINGAREA;5890{5891// set values of tag5892myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5893GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,5894files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("parkingArea")), parents, color);5895// set values of attributes5896fillPlanParentAttributes(myTagProperties[currentTag]);5897fillRideCommonAttributes(myTagProperties[currentTag]);5898}5899// from containerStop5900currentTag = GNE_TAG_RIDE_CONTAINERSTOP_EDGE;5901{5902// set values of tag5903myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5904GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,5905files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("edge")), parents, color);5906// set values of attributes5907fillPlanParentAttributes(myTagProperties[currentTag]);5908fillRideCommonAttributes(myTagProperties[currentTag]);5909}5910currentTag = GNE_TAG_RIDE_CONTAINERSTOP_BUSSTOP;5911{5912// set values of tag5913myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5914GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,5915files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("busStop")), parents, color);5916// set values of attributes5917fillPlanParentAttributes(myTagProperties[currentTag]);5918fillRideCommonAttributes(myTagProperties[currentTag]);5919}5920currentTag = GNE_TAG_RIDE_CONTAINERSTOP_TRAINSTOP;5921{5922// set values of tag5923myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5924GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,5925files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("trainStop")), parents, color);5926// set values of attributes5927fillPlanParentAttributes(myTagProperties[currentTag]);5928fillRideCommonAttributes(myTagProperties[currentTag]);5929}5930currentTag = GNE_TAG_RIDE_CONTAINERSTOP_CONTAINERSTOP;5931{5932// set values of tag5933myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5934GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5935files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("containerStop")), parents, color);5936// set values of attributes5937fillPlanParentAttributes(myTagProperties[currentTag]);5938fillRideCommonAttributes(myTagProperties[currentTag]);5939}5940currentTag = GNE_TAG_RIDE_CONTAINERSTOP_CHARGINGSTATION;5941{5942// set values of tag5943myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5944GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5945files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("chargingStation")), parents, color);5946// set values of attributes5947fillPlanParentAttributes(myTagProperties[currentTag]);5948fillRideCommonAttributes(myTagProperties[currentTag]);5949}5950currentTag = GNE_TAG_RIDE_CONTAINERSTOP_PARKINGAREA;5951{5952// set values of tag5953myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5954GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,5955files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("parkingArea")), parents, color);5956// set values of attributes5957fillPlanParentAttributes(myTagProperties[currentTag]);5958fillRideCommonAttributes(myTagProperties[currentTag]);5959}5960// from chargingStation5961currentTag = GNE_TAG_RIDE_CHARGINGSTATION_EDGE;5962{5963// set values of tag5964myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5965GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,5966files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("edge")), parents, color);5967// set values of attributes5968fillPlanParentAttributes(myTagProperties[currentTag]);5969fillRideCommonAttributes(myTagProperties[currentTag]);5970}5971currentTag = GNE_TAG_RIDE_CHARGINGSTATION_BUSSTOP;5972{5973// set values of tag5974myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5975GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,5976files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("busStop")), parents, color);5977// set values of attributes5978fillPlanParentAttributes(myTagProperties[currentTag]);5979fillRideCommonAttributes(myTagProperties[currentTag]);5980}5981currentTag = GNE_TAG_RIDE_CHARGINGSTATION_TRAINSTOP;5982{5983// set values of tag5984myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5985GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,5986files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("trainStop")), parents, color);5987// set values of attributes5988fillPlanParentAttributes(myTagProperties[currentTag]);5989fillRideCommonAttributes(myTagProperties[currentTag]);5990}5991currentTag = GNE_TAG_RIDE_CHARGINGSTATION_CONTAINERSTOP;5992{5993// set values of tag5994myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,5995GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,5996files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("containerStop")), parents, color);5997// set values of attributes5998fillPlanParentAttributes(myTagProperties[currentTag]);5999fillRideCommonAttributes(myTagProperties[currentTag]);6000}6001currentTag = GNE_TAG_RIDE_CHARGINGSTATION_CHARGINGSTATION;6002{6003// set values of tag6004myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6005GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,6006files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("chargingStation")), parents, color);6007// set values of attributes6008fillPlanParentAttributes(myTagProperties[currentTag]);6009fillRideCommonAttributes(myTagProperties[currentTag]);6010}6011currentTag = GNE_TAG_RIDE_CHARGINGSTATION_PARKINGAREA;6012{6013// set values of tag6014myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6015GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,6016files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("parkingArea")), parents, color);6017// set values of attributes6018fillPlanParentAttributes(myTagProperties[currentTag]);6019fillRideCommonAttributes(myTagProperties[currentTag]);6020}6021// from parkingArea6022currentTag = GNE_TAG_RIDE_PARKINGAREA_EDGE;6023{6024// set values of tag6025myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6026GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,6027files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("edge")), parents, color);6028// set values of attributes6029fillPlanParentAttributes(myTagProperties[currentTag]);6030fillRideCommonAttributes(myTagProperties[currentTag]);6031}6032currentTag = GNE_TAG_RIDE_PARKINGAREA_BUSSTOP;6033{6034// set values of tag6035myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6036GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,6037files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("busStop")), parents, color);6038// set values of attributes6039fillPlanParentAttributes(myTagProperties[currentTag]);6040fillRideCommonAttributes(myTagProperties[currentTag]);6041}6042currentTag = GNE_TAG_RIDE_PARKINGAREA_TRAINSTOP;6043{6044// set values of tag6045myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6046GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,6047files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("trainStop")), parents, color);6048// set values of attributes6049fillPlanParentAttributes(myTagProperties[currentTag]);6050fillRideCommonAttributes(myTagProperties[currentTag]);6051}6052currentTag = GNE_TAG_RIDE_PARKINGAREA_CONTAINERSTOP;6053{6054// set values of tag6055myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6056GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,6057files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("containerStop")), parents, color);6058// set values of attributes6059fillPlanParentAttributes(myTagProperties[currentTag]);6060fillRideCommonAttributes(myTagProperties[currentTag]);6061}6062currentTag = GNE_TAG_RIDE_PARKINGAREA_CHARGINGSTATION;6063{6064// set values of tag6065myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6066GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,6067files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("chargingStation")), parents, color);6068// set values of attributes6069fillPlanParentAttributes(myTagProperties[currentTag]);6070fillRideCommonAttributes(myTagProperties[currentTag]);6071}6072currentTag = GNE_TAG_RIDE_PARKINGAREA_PARKINGAREA;6073{6074// set values of tag6075myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6076GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,6077files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("parkingArea")), parents, color);6078// set values of attributes6079fillPlanParentAttributes(myTagProperties[currentTag]);6080fillRideCommonAttributes(myTagProperties[currentTag]);6081}6082}608360846085void6086GNETagPropertiesDatabase::fillPersonStopElements() {6087// declare common tag types and properties6088const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::STOP_PERSON;6089const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;6090const auto files = FileBucket::Type::NOTHING;6091const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;6092const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});6093const unsigned int color = FXRGBA(255, 213, 213, 255);6094const GUIIcon icon = GUIIcon::STOPELEMENT;6095const GUIGlObjectType GLType = GUIGlObjectType::GLO_STOP_PLAN;6096const SumoXMLTag xmlTag = SUMO_TAG_STOP;6097// fill tags6098SumoXMLTag currentTag = GNE_TAG_STOPPERSON_EDGE;6099{6100// set values of tag6101myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6102GNETagProperties::Over::EDGE,6103files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("edge")), parents, color);61046105// set values of attributes6106fillPlanParentAttributes(myTagProperties[currentTag]);6107fillPlanStopCommonAttributes(myTagProperties[currentTag]);6108}6109currentTag = GNE_TAG_STOPPERSON_BUSSTOP;6110{6111// set values of tag6112myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6113GNETagProperties::Over::BUSSTOP,6114files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("busStop")), parents, color);61156116// set values of attributes6117fillPlanParentAttributes(myTagProperties[currentTag]);6118fillPlanStopCommonAttributes(myTagProperties[currentTag]);6119}6120currentTag = GNE_TAG_STOPPERSON_TRAINSTOP;6121{6122// set values of tag6123myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6124GNETagProperties::Over::TRAINSTOP,6125files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("trainStop")), parents, color);61266127// set values of attributes6128fillPlanParentAttributes(myTagProperties[currentTag]);6129fillPlanStopCommonAttributes(myTagProperties[currentTag]);6130}6131currentTag = GNE_TAG_STOPPERSON_CONTAINERSTOP;6132{6133// set values of tag6134myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6135GNETagProperties::Over::CONTAINERSTOP,6136files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("containerStop")), parents, color);61376138// set values of attributes6139fillPlanParentAttributes(myTagProperties[currentTag]);6140fillPlanStopCommonAttributes(myTagProperties[currentTag]);6141}6142currentTag = GNE_TAG_STOPPERSON_CHARGINGSTATION;6143{6144myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6145GNETagProperties::Over::CHARGINGSTATION,6146files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("chargingStation")), parents, color);61476148// set values of attributes6149fillPlanParentAttributes(myTagProperties[currentTag]);6150fillPlanStopCommonAttributes(myTagProperties[currentTag]);6151}6152currentTag = GNE_TAG_STOPPERSON_PARKINGAREA;6153{6154// set values of tag6155myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6156GNETagProperties::Over::PARKINGAREA,6157files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("parkingArea")), parents, color);61586159// set values of attributes6160fillPlanParentAttributes(myTagProperties[currentTag]);6161fillPlanStopCommonAttributes(myTagProperties[currentTag]);6162}6163}616461656166void6167GNETagPropertiesDatabase::fillCommonAttributes(GNETagProperties* tagProperties) {6168GNEAttributeProperties* commonAttribute = nullptr;6169// check if element can be reparent6170if (tagProperties->canCenterCameraAfterCreation()) {6171commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_CENTER_AFTER_CREATION,6172GNEAttributeProperties::Property::BOOL,6173GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6174TLF("Center view over element % after creation", tagProperties->getTagStr()));6175commonAttribute->setAlternativeName(TL("center view"));6176}6177// fill save file attributes6178if (tagProperties->saveInNetworkFile()) {6179commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SAVEFILE,6180GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,6181GNEAttributeProperties::Edit::NETEDITEDITOR,6182TL("The path to the file to save this element (not editable for network elements)"));6183commonAttribute->setFilenameExtensions(SUMOXMLDefinitions::AdditionalFileExtensions.getStrings());6184commonAttribute->setAlternativeName(TL("File"));6185} else if (tagProperties->saveInParentFile()) {6186commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SAVEFILE,6187GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,6188GNEAttributeProperties::Edit::NETEDITEDITOR,6189TL("The path to the file to save this element (the same of their parent)"));6190commonAttribute->setFilenameExtensions(SUMOXMLDefinitions::AdditionalFileExtensions.getStrings());6191commonAttribute->setAlternativeName(TL("File"));6192} else {6193commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SAVEFILE,6194GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,6195GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6196TL("The path to the file to save this element"));6197commonAttribute->setFilenameExtensions(SUMOXMLDefinitions::AdditionalFileExtensions.getStrings());6198commonAttribute->setAlternativeName(TL("File"));6199}62006201// if this is a drawable element, add front and select attributes6202if (tagProperties->isDrawable()) {6203commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_FRONTELEMENT,6204GNEAttributeProperties::Property::BOOL,6205GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6206TL("Toggle front element"));62076208commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SELECTED,6209GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,6210GNEAttributeProperties::Edit::NETEDITEDITOR,6211TL("Toggle select element"),6212GNEAttributeCarrier::FALSE_STR);6213}6214// check if element can be reparent6215if (tagProperties->canBeReparent()) {6216commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_PARENT,6217GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UPDATEGEOMETRY,6218GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6219TL("Change element parent"));6220}6221// check if element has parameters6222if (tagProperties->hasParameters()) {6223commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_PARAMETERS,6224GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6225GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6226TL("Generic parameters (Format: key1=value1|key2=value2|..."));6227commonAttribute->setAlternativeName(TL("parameters"));6228}6229}623062316232void6233GNETagPropertiesDatabase::fillCommonStoppingPlaceAttributes(GNETagProperties* tagProperties, const bool includeColor, const bool parkingAreaAngle) {6234// set values of attributes6235fillIDAttribute(tagProperties, true);62366237fillLaneAttribute(tagProperties, false);62386239new GNEAttributeProperties(tagProperties, SUMO_ATTR_STARTPOS,6240GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,6241GNEAttributeProperties::Edit::EDITMODE,6242TL("The begin position on the lane (the lower position on the lane) in meters"),6243GNEMoveElementLaneSingle::PositionType::STARPOS, "INVALID_DOUBLE");62446245new GNEAttributeProperties(tagProperties, SUMO_ATTR_ENDPOS,6246GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,6247GNEAttributeProperties::Edit::EDITMODE,6248TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"),6249GNEMoveElementLaneSingle::PositionType::ENDPOS, "INVALID_DOUBLE");62506251fillFriendlyPosAttribute(tagProperties);62526253fillNameAttribute(tagProperties);62546255if (includeColor) {6256fillColorAttribute(tagProperties, "");6257}62586259new GNEAttributeProperties(tagProperties, SUMO_ATTR_ANGLE,6260GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,6261GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6262parkingAreaAngle ? TL("The angle of the road-side parking spaces relative to the lane angle, positive means clockwise") :6263TLF("Angle of waiting %s relative to lane angle", tagProperties->getTag() == SUMO_TAG_CONTAINER_STOP ? toString(SUMO_TAG_CONTAINER) : toString(SUMO_TAG_PERSON)),6264"0");62656266// netedit attributes6267new GNEAttributeProperties(tagProperties, GNE_ATTR_SIZE,6268GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,6269GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6270TLF("Length of %", tagProperties->getTagStr()),6271toString(GNEMoveElementLaneDouble::defaultSize));62726273auto forceSize = new GNEAttributeProperties(tagProperties, GNE_ATTR_FORCESIZE,6274GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,6275GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6276TL("Force size during creation"),6277GNEAttributeCarrier::FALSE_STR);6278forceSize->setAlternativeName(TL("force size"));62796280auto reference = new GNEAttributeProperties(tagProperties, GNE_ATTR_REFERENCE,6281GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE,6282GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6283TLF("Longitudinal reference position for creating %", tagProperties->getTagStr()));6284reference->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());6285}628662876288void6289GNETagPropertiesDatabase::fillCommonPOIAttributes(GNETagProperties* tagProperties) {6290// fill POI attributes6291fillNameAttribute(tagProperties);62926293fillColorAttribute(tagProperties, "red");62946295new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,6296GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6297GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6298TL("A typename for the POI"),6299toString(Shape::DEFAULT_TYPE));63006301auto icon = new GNEAttributeProperties(tagProperties, SUMO_ATTR_ICON,6302GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,6303GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6304TL("POI Icon"),6305SUMOXMLDefinitions::POIIcons.getString(POIIcon::NONE));6306icon->setDiscreteValues(SUMOXMLDefinitions::POIIcons.getStrings());63076308new GNEAttributeProperties(tagProperties, SUMO_ATTR_LAYER,6309GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,6310GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6311TL("The layer of the POI for drawing and selecting"),6312toString(Shape::DEFAULT_LAYER_POI));63136314new GNEAttributeProperties(tagProperties, SUMO_ATTR_WIDTH,6315GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6316GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6317TL("Width of rendered image in meters"),6318toString(Shape::DEFAULT_IMG_WIDTH));63196320new GNEAttributeProperties(tagProperties, SUMO_ATTR_HEIGHT,6321GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6322GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6323TL("Height of rendered image in meters"),6324toString(Shape::DEFAULT_IMG_HEIGHT));63256326fillImgFileAttribute(tagProperties, false);63276328new GNEAttributeProperties(tagProperties, SUMO_ATTR_ANGLE,6329GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE,6330GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6331TL("Angle of rendered image in degree"),6332toString(Shape::DEFAULT_ANGLE));6333}633463356336void6337GNETagPropertiesDatabase::fillCommonRouteAttributes(GNETagProperties* tagProperties) {6338// fill route attributes6339new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,6340GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,6341GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,6342TL("The edges the vehicle shall drive along, given as their ids, separated using spaces"));63436344fillColorAttribute(tagProperties, "");63456346new GNEAttributeProperties(tagProperties, SUMO_ATTR_REPEAT,6347GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6348GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6349TL("The number of times that the edges of this route shall be repeated"),6350"0");63516352new GNEAttributeProperties(tagProperties, SUMO_ATTR_CYCLETIME,6353GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,6354GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6355TL("When defining a repeating route with stops and those stops use the until attribute,") + std::string("\n") +6356TL("the times will be shifted forward by 'cycleTime' on each repeat"),6357"0");6358}635963606361void6362GNETagPropertiesDatabase::fillCommonVTypeAttributes(GNETagProperties* tagProperties) {6363// fill vType attributes6364auto vClass = new GNEAttributeProperties(tagProperties, SUMO_ATTR_VCLASS,6365GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,6366GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,6367TL("An abstract vehicle class"),6368"passenger");6369vClass->setDiscreteValues(SumoVehicleClassStrings.getStrings());63706371fillColorAttribute(tagProperties, "");63726373new GNEAttributeProperties(tagProperties, SUMO_ATTR_LENGTH,6374GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,6375GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6376TL("The vehicle's netto-length (length) [m]"));63776378new GNEAttributeProperties(tagProperties, SUMO_ATTR_MINGAP,6379GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,6380GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6381TL("Empty space after leader [m]"));63826383new GNEAttributeProperties(tagProperties, SUMO_ATTR_MAXSPEED,6384GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,6385GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6386TL("The vehicle's maximum velocity [m/s]"));63876388new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEEDFACTOR,6389GNEAttributeProperties::Property::STRING,6390GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6391TL("The vehicle's expected multiplicator for lane speed limits (or a distribution specifier)"));63926393new GNEAttributeProperties(tagProperties, SUMO_ATTR_DESIRED_MAXSPEED,6394GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,6395GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6396TL("The vehicle's desired maximum velocity (interacts with speedFactor).") + std::string("\n") +6397TL("Applicable when no speed limit applies (bicycles, some motorways) [m/s]"));63986399auto emissionClass = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EMISSIONCLASS,6400GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE,6401GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6402TL("An abstract emission class"));6403emissionClass->setDiscreteValues(PollutantsInterface::getAllClassesStr());64046405auto GUIShape = new GNEAttributeProperties(tagProperties, SUMO_ATTR_GUISHAPE,6406GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE,6407GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6408TL("How this vehicle is rendered"));6409GUIShape->setDiscreteValues(SumoVehicleShapeStrings.getStrings());64106411new GNEAttributeProperties(tagProperties, SUMO_ATTR_WIDTH,6412GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6413GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6414TL("The vehicle's width [m] (only used for drawing)"),6415"1.8");64166417new GNEAttributeProperties(tagProperties, SUMO_ATTR_HEIGHT,6418GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6419GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6420TL("The vehicle's height [m] (only used for drawing)"),6421"1.5");64226423new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING_BADGES,6424GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,6425GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6426TL("The parking badges assigned to the vehicle"));64276428fillImgFileAttribute(tagProperties, true);64296430auto laneChangeModel = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LANE_CHANGE_MODEL,6431GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,6432GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6433TL("The model used for changing lanes"),6434SUMOXMLDefinitions::LaneChangeModels.getString(LaneChangeModel::DEFAULT));6435laneChangeModel->setDiscreteValues(SUMOXMLDefinitions::LaneChangeModels.getStrings());64366437auto carFollowModel = new GNEAttributeProperties(tagProperties, SUMO_ATTR_CAR_FOLLOW_MODEL,6438GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,6439GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6440TL("The model used for car-following"),6441SUMOXMLDefinitions::CarFollowModels.getString(SUMO_TAG_CF_KRAUSS));6442carFollowModel->setDiscreteValues(SUMOXMLDefinitions::CarFollowModels.getStrings());64436444new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERSON_CAPACITY,6445GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE,6446GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6447TL("The number of persons (excluding an autonomous driver) the vehicle can transport"));64486449new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_CAPACITY,6450GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE,6451GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6452TL("The number of containers the vehicle can transport"));64536454new GNEAttributeProperties(tagProperties, SUMO_ATTR_BOARDING_DURATION,6455GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,6456GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6457TL("The time required by a person to board the vehicle"),6458"0.50");64596460new GNEAttributeProperties(tagProperties, SUMO_ATTR_LOADING_DURATION,6461GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,6462GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6463TL("The time required to load a container onto the vehicle"),6464"90");64656466auto latAlignment = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LATALIGNMENT,6467GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,6468GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6469TL("The preferred lateral alignment when using the sublane-model"),6470"center");6471latAlignment->setDiscreteValues(SUMOVTypeParameter::getLatAlignmentStrings());64726473new GNEAttributeProperties(tagProperties, SUMO_ATTR_MINGAP_LAT,6474GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6475GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6476TL("The minimum lateral gap at a speed difference of 50km/h when using the sublane-model"),6477"0.12");64786479new GNEAttributeProperties(tagProperties, SUMO_ATTR_MAXSPEED_LAT,6480GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6481GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6482TL("The maximum lateral speed when using the sublane-model"),6483"1");64846485new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACTIONSTEPLENGTH,6486GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6487GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6488TL("The interval length for which vehicle performs its decision logic (acceleration and lane-changing)"),6489toString(OptionsCont::getOptions().getFloat("default.action-step-length")));64906491// add distribution probability6492fillDistributionProbability(tagProperties, true);64936494new GNEAttributeProperties(tagProperties, SUMO_ATTR_OSGFILE,6495GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6496GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6497TL("3D model file for this class"));6498/*6499Waiting for #163436500new GNEAttributeProperties(tagProperties, SUMO_ATTR_CARRIAGE_LENGTH,6501GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE,6502GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6503TL("Carriage lengths"));65046505new GNEAttributeProperties(tagProperties, SUMO_ATTR_LOCOMOTIVE_LENGTH,6506GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE,6507GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6508TL("Locomotive lengths"));65096510new GNEAttributeProperties(tagProperties, SUMO_ATTR_CARRIAGE_GAP,6511GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6512GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6513TL("Gap between carriages"),6514"1");6515*/6516// fill VType Car Following Model Values (implemented in a separated function to improve code legibility)6517fillCarFollowingModelAttributes(tagProperties);65186519// fill VType Junction Model Parameters (implemented in a separated function to improve code legibility)6520fillJunctionModelAttributes(tagProperties);65216522// fill VType Lane Change Model Parameters (implemented in a separated function to improve code legibility)6523fillLaneChangingModelAttributes(tagProperties);6524}652565266527void6528GNETagPropertiesDatabase::fillCommonVehicleAttributes(GNETagProperties* tagProperties) {6529// fill vehicle attributes6530fillColorAttribute(tagProperties, "yellow");65316532new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTLANE,6533GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,6534GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6535TL("The lane on which the vehicle shall be inserted"),6536"first");65376538new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,6539GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,6540GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6541TL("The position at which the vehicle shall enter the net"),6542"base");65436544new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTSPEED,6545GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6546GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6547TL("The speed with which the vehicle shall enter the network"),6548"0");65496550new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALLANE,6551GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,6552GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6553TL("The lane at which the vehicle shall leave the network"),6554"current");65556556new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,6557GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,6558GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6559TL("The position at which the vehicle shall leave the network"),6560"max");65616562new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALSPEED,6563GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6564GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6565TL("The speed with which the vehicle shall leave the network"),6566"current");65676568new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINE,6569GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6570GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6571TL("A string specifying the id of a public transport line which can be used when specifying person rides"));65726573new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERSON_NUMBER,6574GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6575GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6576TL("The number of occupied seats when the vehicle is inserted"),6577"0");65786579new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_NUMBER,6580GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6581GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6582TL("The number of occupied container places when the vehicle is inserted"),6583"0");65846585new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS_LAT,6586GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,6587GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6588TL("The lateral position on the departure lane at which the vehicle shall enter the net"),6589"center");65906591new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS_LAT,6592GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,6593GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6594TL("The lateral position on the arrival lane at which the vehicle shall arrive"),6595"center");65966597new GNEAttributeProperties(tagProperties, SUMO_ATTR_INSERTIONCHECKS,6598GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6599GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6600TL("Insertion checks"),6601SUMOXMLDefinitions::InsertionChecks.getString(InsertionCheck::ALL));6602}660366046605void6606GNETagPropertiesDatabase::fillCommonFlowAttributes(GNETagProperties* tagProperties, SumoXMLAttr perHour) {6607// fill common flow attributes6608new GNEAttributeProperties(tagProperties, SUMO_ATTR_BEGIN,6609GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,6610GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6611TL("First flow departure time"),6612"0");66136614auto flowTerminate = new GNEAttributeProperties(tagProperties, GNE_ATTR_FLOW_TERMINATE,6615GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,6616GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,6617TL("Criterion for flow termination"),6618toString(SUMO_ATTR_END));6619flowTerminate->setDiscreteValues({toString(SUMO_ATTR_END), toString(SUMO_ATTR_NUMBER), toString(SUMO_ATTR_END) + "-" + toString(SUMO_ATTR_NUMBER)});66206621auto flowSpacing = new GNEAttributeProperties(tagProperties, GNE_ATTR_FLOW_SPACING,6622GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,6623GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,6624TL("Criterion for flow spacing"),6625toString(perHour));6626flowSpacing->setDiscreteValues({toString(perHour), toString(SUMO_ATTR_PERIOD), toString(SUMO_ATTR_PROB), toString(GNE_ATTR_POISSON)});66276628new GNEAttributeProperties(tagProperties, SUMO_ATTR_END,6629GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,6630GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,6631TL("End of departure interval"),6632"3600");66336634new GNEAttributeProperties(tagProperties, SUMO_ATTR_NUMBER,6635GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,6636GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,6637TL("probability for emitting a flow each second") + std::string("\n") +6638TL("(not together with vehsPerHour or period)"),6639"1800");66406641new GNEAttributeProperties(tagProperties, perHour,6642GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,6643GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,6644TL("Number of flows per hour, equally spaced") + std::string("\n") +6645TL("(not together with period or probability or poisson)"),6646"1800");66476648new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERIOD,6649GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,6650GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,6651TL("Insert equally spaced flows at that period") + std::string("\n") +6652TL("(not together with vehsPerHour or probability or poisson)"),6653"2");66546655new GNEAttributeProperties(tagProperties, SUMO_ATTR_PROB,6656GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,6657GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,6658TL("probability for emitting a flow each second") + std::string("\n") +6659TL("(not together with vehsPerHour or period or poisson)"),6660"0.5");66616662new GNEAttributeProperties(tagProperties, GNE_ATTR_POISSON,6663GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,6664GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,6665TL("Insert flow expected vehicles per second with poisson distributed insertion rate") + std::string("\n") +6666TL("(not together with period or vehsPerHour or probability)"),6667"0.5");6668}666966706671void6672GNETagPropertiesDatabase::fillCarFollowingModelAttributes(GNETagProperties* tagProperties) {6673// fill CFM attributes6674new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACCEL,6675GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6676GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6677TL("The acceleration ability of vehicles of this type [m/s^2]"),6678toString(SUMOVTypeParameter::getDefaultAccel()));66796680new GNEAttributeProperties(tagProperties, SUMO_ATTR_DECEL,6681GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6682GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6683TL("The deceleration ability of vehicles of this type [m/s^2]"),6684toString(SUMOVTypeParameter::getDefaultDecel()));66856686new GNEAttributeProperties(tagProperties, SUMO_ATTR_APPARENTDECEL,6687GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6688GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6689TL("The apparent deceleration of the vehicle as used by the standard model [m/s^2]"),6690toString(SUMOVTypeParameter::getDefaultDecel()));66916692new GNEAttributeProperties(tagProperties, SUMO_ATTR_EMERGENCYDECEL,6693GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6694GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6695TL("The maximal physically possible deceleration for the vehicle [m/s^2]"),6696toString(SUMOVTypeParameter::getDefaultEmergencyDecel(SVC_IGNORING,6697SUMOVTypeParameter::getDefaultDecel(),6698VTYPEPARS_DEFAULT_EMERGENCYDECEL_DEFAULT)));66996700auto sigma = new GNEAttributeProperties(tagProperties, SUMO_ATTR_SIGMA,6701GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,6702GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6703TL("Car-following model parameter"),6704toString(SUMOVTypeParameter::getDefaultImperfection()));6705sigma->setRange(0, 1);67066707new GNEAttributeProperties(tagProperties, SUMO_ATTR_TAU,6708GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6709GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6710TL("Car-following model parameter"),6711"1");67126713new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP1,6714GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6715GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6716TL("SKRAUSSX parameter 1"));67176718new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP2,6719GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6720GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6721TL("SKRAUSSX parameter 2"));67226723new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP3,6724GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6725GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6726TL("SKRAUSSX parameter 3"));67276728new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP4,6729GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6730GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6731TL("SKRAUSSX parameter 4"));67326733new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP5,6734GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6735GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6736TL("SKRAUSSX parameter 5"));67376738new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_LOOK_AHEAD,6739GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6740GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6741TL("EIDM Look ahead / preview parameter [s]"),6742"4");67436744new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_REACTION,6745GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6746GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6747TL("EIDM AP Reaction Time parameter [s]"),6748"0.50");67496750new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_PERSISTENCE_DRIVE,6751GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6752GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6753TL("EIDM Wiener Process parameter for the Driving Error [s]"),6754"3");67556756new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_PERSISTENCE_ESTIMATE,6757GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6758GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6759TL("EIDM Wiener Process parameter for the Estimation Error [s]"),6760"10");67616762auto coolness = new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_C_COOLNESS,6763GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,6764GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6765TL("EIDM Coolness parameter of the Enhanced IDM [-]"),6766"0.99");6767coolness->setRange(0, 1);67686769new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_SIG_LEADER,6770GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6771GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6772TL("EIDM leader speed estimation error parameter [-]"),6773"0.02");67746775new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_SIG_GAP,6776GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6777GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6778TL("EIDM gap estimation error parameter [-]"),6779"0.10");67806781new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_SIG_ERROR,6782GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6783GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6784TL("EIDM driving error parameter [-]"),6785"0.04");67866787new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_JERK_MAX,6788GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6789GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6790TL("EIDM maximal jerk parameter [m/s^3]"),6791"3");67926793new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_EPSILON_ACC,6794GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6795GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6796TL("EIDM maximal negative acceleration between two Action Points (threshold) [m/s^2]"),6797"1");67986799new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_ACC_MAX,6800GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6801GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6802TL("EIDM Time parameter until vehicle reaches amax after startup/driveoff [s]"),6803"1.20");68046805new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_M_FLATNESS,6806GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6807GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6808TL("EIDM Flatness parameter of startup/driveoff curve [-]"),6809"2");68106811new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_M_BEGIN,6812GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6813GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6814TL("EIDM Shift parameter of startup/driveoff curve [-]"),6815"0.70");68166817new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_USEVEHDYNAMICS,6818GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,6819GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6820TL("EIDM parameter if model shall include vehicle dynamics into the acceleration calculation [0/1]"),6821"0");68226823new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_MAX_VEH_PREVIEW,6824GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6825GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6826TL("EIDM parameter how many vehicles are taken into the preview calculation of the driver (at least always 1!) [-]"),6827"0");68286829new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_PWAGNER2009_TAULAST,6830GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6831GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6832TL("Peter Wagner 2009 parameter"),6833"0");68346835new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_PWAGNER2009_APPROB,6836GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6837GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6838TL("Peter Wagner 2009 parameter"),6839"0");68406841new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDMM_ADAPT_FACTOR,6842GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6843GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6844TL("IDMM parameter"),6845"0");68466847new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDMM_ADAPT_TIME,6848GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6849GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6850TL("IDMM parameter"),6851"0");68526853new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC1,6854GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6855GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6856TL("W99 parameter"),6857"1.3");68586859new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC2,6860GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6861GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6862TL("W99 parameter"),6863"8");68646865new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC3,6866GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6867GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6868TL("W99 parameter"),6869"-12");68706871new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC4,6872GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6873GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6874TL("W99 parameter"),6875"-0.25");68766877new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC5,6878GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6879GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6880TL("W99 parameter"),6881"0.35");68826883new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC6,6884GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6885GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6886TL("W99 parameter"),6887"6");68886889new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC7,6890GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6891GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6892TL("W99 parameter"),6893"0.25");68946895new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC8,6896GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6897GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6898TL("W99 parameter"),6899"2");69006901new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC9,6902GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6903GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6904TL("W99 parameter"),6905"1.5");69066907new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_WIEDEMANN_SECURITY,6908GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6909GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6910TL("Wiedemann parameter"));69116912new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_WIEDEMANN_ESTIMATION,6913GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6914GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6915TL("Wiedemann parameter"));69166917new GNEAttributeProperties(tagProperties, SUMO_ATTR_COLLISION_MINGAP_FACTOR,6918GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6919GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6920TL("MinGap factor parameter"));69216922new GNEAttributeProperties(tagProperties, SUMO_ATTR_K,6923GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6924GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6925TL("K parameter"));69266927new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_KERNER_PHI,6928GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6929GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6930TL("Kerner Phi parameter"));69316932new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDM_DELTA,6933GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6934GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6935TL("IDM Delta parameter"));69366937new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDM_STEPPING,6938GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6939GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6940TL("IDM Stepping parameter"));69416942auto trainType = new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRAIN_TYPE,6943GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,6944GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6945TL("Train Types"),6946SUMOXMLDefinitions::TrainTypes.getString(TrainType::NGT400));6947trainType->setDiscreteValues(SUMOXMLDefinitions::TrainTypes.getStrings());6948}694969506951void6952GNETagPropertiesDatabase::fillJunctionModelAttributes(GNETagProperties* tagProperties) {6953// fill junction model attributes6954new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_CROSSING_GAP,6955GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6956GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6957TL("Minimum distance to pedestrians that are walking towards the conflict point with the ego vehicle."),6958"10");69596960new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_IGNORE_KEEPCLEAR_TIME,6961GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,6962GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6963TL("The accumulated waiting time after which a vehicle will drive onto an intersection even though this might cause jamming."),6964"", "-1");69656966new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_DRIVE_AFTER_YELLOW_TIME,6967GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6968GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6969TL("This value causes vehicles to violate a yellow light if the duration of the yellow phase is lower than the given threshold."),6970"", "-1");69716972new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_DRIVE_AFTER_RED_TIME,6973GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,6974GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6975TL("This value causes vehicles to violate a red light if the duration of the red phase is lower than the given threshold."),6976"", "-1");69776978new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_DRIVE_RED_SPEED,6979GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,6980GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6981TL("This value causes vehicles affected by jmDriveAfterRedTime to slow down when violating a red light."),6982"0");69836984new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_IGNORE_FOE_PROB,6985GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6986GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6987TL("This value causes vehicles to ignore foe vehicles that have right-of-way with the given probability."),6988"0");69896990new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_IGNORE_FOE_SPEED,6991GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,6992GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,6993TL("This value is used in conjunction with jmIgnoreFoeProb.") + std::string("\n") +6994TL("Only vehicles with a speed below or equal to the given value may be ignored."),6995"0");69966997new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_SIGMA_MINOR,6998GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,6999GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7000TL("This value configures driving imperfection (dawdling) while passing a minor link."),7001"0");70027003new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_TIMEGAP_MINOR,7004GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7005GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7006TL("This value defines the minimum time gap when passing ahead of a prioritized vehicle. "),7007"1");70087009new GNEAttributeProperties(tagProperties, SUMO_ATTR_IMPATIENCE,7010GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7011GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7012TL("Willingess of drivers to impede vehicles with higher priority"),7013"0");7014}701570167017void7018GNETagPropertiesDatabase::fillLaneChangingModelAttributes(GNETagProperties* tagProperties) {7019// fill lane changing model7020new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_STRATEGIC_PARAM,7021GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7022GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7023TL("The eagerness for performing strategic lane changing. Higher values result in earlier lane-changing."),7024"1");70257026new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_COOPERATIVE_PARAM,7027GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7028GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7029TL("The willingness for performing cooperative lane changing. Lower values result in reduced cooperation."),7030"1");70317032new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_SPEEDGAIN_PARAM,7033GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7034GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7035TL("The eagerness for performing lane changing to gain speed. Higher values result in more lane-changing."),7036"1");70377038new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_KEEPRIGHT_PARAM,7039GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7040GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7041TL("The eagerness for following the obligation to keep right. Higher values result in earlier lane-changing."),7042"1");70437044new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_SUBLANE_PARAM,7045GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7046GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7047TL("The eagerness for using the configured lateral alignment within the lane.") + std::string("\n") +7048TL("Higher values result in increased willingness to sacrifice speed for alignment."),7049"1");70507051new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_OPPOSITE_PARAM,7052GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7053GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7054TL("The eagerness for overtaking through the opposite-direction lane. Higher values result in more lane-changing."),7055"1");70567057new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_PUSHY,7058GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7059GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7060TL("Willingness to encroach laterally on other drivers."),7061"0");70627063new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_PUSHYGAP,7064GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7065GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7066TL("Minimum lateral gap when encroaching laterally on other drives (alternative way to define lcPushy)"),7067"0");70687069new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_ASSERTIVE,7070GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7071GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7072TL("Willingness to accept lower front and rear gaps on the target lane."),7073"1");70747075new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_IMPATIENCE,7076GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7077GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7078TL("Dynamic factor for modifying lcAssertive and lcPushy."),7079"0");70807081new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_TIME_TO_IMPATIENCE,7082GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7083GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7084TL("Time to reach maximum impatience (of 1). Impatience grows whenever a lane-change manoeuvre is blocked."),7085"infinity");70867087new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_ACCEL_LAT,7088GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7089GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7090TL("Maximum lateral acceleration per second."),7091"1");70927093new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_LOOKAHEADLEFT,7094GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7095GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7096TL("Factor for configuring the strategic lookahead distance when a change to the left is necessary (relative to right lookahead)."),7097"2");70987099new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_SPEEDGAINRIGHT,7100GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7101GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7102TL("Factor for configuring the threshold asymmetry when changing to the left or to the right for speed gain."),7103"0.1");71047105new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_MAXSPEEDLATSTANDING,7106GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7107GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7108TL("Upper bound on lateral speed when standing."),7109"0");71107111new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_MAXSPEEDLATFACTOR,7112GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7113GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7114TL("Upper bound on lateral speed while moving computed as lcMaxSpeedLatStanding + lcMaxSpeedLatFactor * getSpeed()"),7115"1");71167117new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_TURN_ALIGNMENT_DISTANCE,7118GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7119GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7120TL("Distance to an upcoming turn on the vehicles route, below which the alignment") + std::string("\n") +7121TL("should be dynamically adapted to match the turn direction."),7122"0");71237124new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_OVERTAKE_RIGHT,7125GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7126GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7127TL("The probability for violating rules gainst overtaking on the right."),7128"0");71297130new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_KEEPRIGHT_ACCEPTANCE_TIME,7131GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7132GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7133TL("Time threshold for the willingness to change right."),7134"", "-1");71357136auto factor = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_OVERTAKE_DELTASPEED_FACTOR,7137GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,7138GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7139TL("Speed difference factor for the eagerness of overtaking a neighbor vehicle before changing lanes (threshold = factor*speedlimit)."),7140"0");7141factor->setRange(-1, 1);71427143}714471457146void7147GNETagPropertiesDatabase::fillCommonPersonAttributes(GNETagProperties* tagProperties) {7148// fill person attributes7149fillIDAttribute(tagProperties, true);71507151new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,7152GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,7153GNEAttributeProperties::Edit::EDITMODE,7154TL("The id of the person type to use for this person"),7155DEFAULT_VTYPE_ID);71567157fillColorAttribute(tagProperties, "yellow");71587159new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,7160GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7161GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7162TL("The position at which the person shall enter the net"),7163"base");7164}716571667167void7168GNETagPropertiesDatabase::fillCommonContainerAttributes(GNETagProperties* tagProperties) {7169// fill common container attributes7170fillIDAttribute(tagProperties, true);71717172new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,7173GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,7174GNEAttributeProperties::Edit::EDITMODE,7175TL("The id of the container type to use for this container"),7176DEFAULT_CONTAINERTYPE_ID);71777178fillColorAttribute(tagProperties, "yellow");71797180new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,7181GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7182GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7183TL("The position at which the container shall enter the net"),7184"base");7185}718671877188void7189GNETagPropertiesDatabase::fillCommonStopAttributes(GNETagProperties* tagProperties, const bool waypoint) {7190// fill common stop attributes7191auto duration = new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,7192GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,7193GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7194TL("Minimum duration for stopping"),7195"60");7196duration->setDefaultActivated(true);71977198new GNEAttributeProperties(tagProperties, SUMO_ATTR_UNTIL,7199GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,7200GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7201TL("The time step at which the route continues"),7202"0");72037204new GNEAttributeProperties(tagProperties, SUMO_ATTR_EXTENSION,7205GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,7206GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7207TL("If set to a non-negative time value, then the stop duration can be extended at most by the extension value in seconds"),7208"0");72097210if (!waypoint) {7211auto triggered = new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRIGGERED,7212GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7213GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7214TL("Whether a person or container or both may end the stop"),7215"false");7216triggered->setDiscreteValues({"false", "person", "container", "join"});72177218new GNEAttributeProperties(tagProperties, SUMO_ATTR_EXPECTED,7219GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7220GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7221TL("List of elements that must board the vehicle before it may continue"));72227223new GNEAttributeProperties(tagProperties, SUMO_ATTR_JOIN,7224GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7225GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7226TL("Joins this train to another upon reaching the stop"));7227}72287229new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERMITTED,7230GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7231GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7232TL("List of elements that can board the vehicle before it may continue"));72337234auto parking = new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING,7235GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7236GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7237TL("Whether the vehicle stops on the road or beside"),7238"false");7239parking->setDiscreteValues({"true", "false", "opportunistic"});72407241new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACTTYPE,7242GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7243GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7244TL("Activity displayed for stopped person in GUI and output files"));72457246new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRIP_ID,7247GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7248GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7249TL("Parameter to be applied to the vehicle to track the trip id within a cyclical public transport route"));72507251new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINE,7252GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7253GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7254TL("New line attribute to be set on the vehicle when reaching this stop (for cyclical public transport route)"));72557256if (waypoint) {7257new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEED,7258GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7259GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7260TL("Speed to be kept while driving between startPos and endPos"),7261"0");7262} else {7263new GNEAttributeProperties(tagProperties, SUMO_ATTR_ONDEMAND,7264GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,7265GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7266TL("Whether the stop may be skipped if no passengers wants to embark or disembark"),7267GNEAttributeCarrier::FALSE_STR);7268}72697270new GNEAttributeProperties(tagProperties, SUMO_ATTR_JUMP,7271GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,7272GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7273TL("transfer time if there shall be a jump from this stop to the next route edge"),7274"", "-1");72757276new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPLIT,7277GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7278GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7279TL("Splits the train upon reaching the stop"));7280}728172827283void7284GNETagPropertiesDatabase::fillPlanParentAttributes(GNETagProperties* tagProperties) {7285// fill plan parents7286// basic parents7287if (tagProperties->planConsecutiveEdges()) {7288new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,7289GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7290GNEAttributeProperties::Edit::EDITMODE,7291TL("list of consecutive edges"));72927293new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,7294GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7295GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7296TL("Arrival position on the last edge"),7297"", "-1");7298}7299if (tagProperties->planRoute()) {7300new GNEAttributeProperties(tagProperties, SUMO_ATTR_ROUTE,7301GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7302GNEAttributeProperties::Edit::EDITMODE,7303TL("Route ID"));73047305new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,7306GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7307GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7308TL("Arrival position on the destination edge"),7309"", "-1");7310}7311if (tagProperties->planEdge()) {73127313fillEdgeAttribute(tagProperties, false);73147315new GNEAttributeProperties(tagProperties, SUMO_ATTR_ENDPOS,7316GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7317GNEAttributeProperties::Edit::EDITMODE,7318TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));7319}7320if (tagProperties->planBusStop()) {7321new GNEAttributeProperties(tagProperties, SUMO_ATTR_BUS_STOP,7322GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7323GNEAttributeProperties::Edit::EDITMODE,7324TL("Bus stop ID"));7325}7326if (tagProperties->planTrainStop()) {7327new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRAIN_STOP,7328GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7329GNEAttributeProperties::Edit::EDITMODE,7330TL("Train stop ID"));7331}7332if (tagProperties->planContainerStop()) {7333new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_STOP,7334GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7335GNEAttributeProperties::Edit::EDITMODE,7336TL("Container stop ID"));7337}7338if (tagProperties->planChargingStation()) {7339new GNEAttributeProperties(tagProperties, SUMO_ATTR_CHARGING_STATION,7340GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7341GNEAttributeProperties::Edit::EDITMODE,7342TL("Charging station ID"));7343}7344if (tagProperties->planParkingArea()) {7345new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING_AREA,7346GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7347GNEAttributeProperties::Edit::EDITMODE,7348TL("Parking area ID"));7349}7350// from parents7351if (tagProperties->planFromEdge()) {7352new GNEAttributeProperties(tagProperties, SUMO_ATTR_FROM,7353GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7354GNEAttributeProperties::Edit::EDITMODE,7355TL("Edge start ID"));7356}7357if (tagProperties->planFromTAZ()) {7358new GNEAttributeProperties(tagProperties, SUMO_ATTR_FROM_TAZ,7359GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7360GNEAttributeProperties::Edit::EDITMODE,7361TL("TAZ start ID"));7362}7363if (tagProperties->planFromJunction()) {7364new GNEAttributeProperties(tagProperties, SUMO_ATTR_FROM_JUNCTION,7365GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7366GNEAttributeProperties::Edit::EDITMODE,7367TL("Junction start ID"));7368}7369if (tagProperties->planFromBusStop()) {7370new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_BUSSTOP,7371GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7372GNEAttributeProperties::Edit::EDITMODE,7373TL("BusStop start ID"));7374}7375if (tagProperties->planFromTrainStop()) {7376new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_TRAINSTOP,7377GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7378GNEAttributeProperties::Edit::EDITMODE,7379TL("TrainStop start ID"));7380}7381if (tagProperties->planFromContainerStop()) {7382new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_CONTAINERSTOP,7383GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7384GNEAttributeProperties::Edit::EDITMODE,7385TL("ContainerStop start ID"));7386}7387if (tagProperties->planFromChargingStation()) {7388new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_CHARGINGSTATION,7389GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7390GNEAttributeProperties::Edit::EDITMODE,7391TL("ChargingStation start ID"));7392}7393if (tagProperties->planFromParkingArea()) {7394new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_CHARGINGSTATION,7395GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7396GNEAttributeProperties::Edit::EDITMODE,7397TL("ParkingArea start ID"));7398}7399// to parents7400if (tagProperties->planToEdge()) {7401new GNEAttributeProperties(tagProperties, SUMO_ATTR_TO,7402GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7403GNEAttributeProperties::Edit::EDITMODE,7404TL("Edge end ID"));7405// departPos only for tranships7406if (tagProperties->isPlanTranship()) {7407// depart pos7408new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,7409GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7410GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7411TL("The position at which the tranship shall enter the net"),7412"0");7413}7414new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,7415GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7416GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7417TL("arrival position on the destination edge"),7418"", "-1");7419}7420if (tagProperties->planToTAZ()) {7421new GNEAttributeProperties(tagProperties, SUMO_ATTR_TO_TAZ,7422GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7423GNEAttributeProperties::Edit::EDITMODE,7424TL("TAZ end ID"));7425}7426if (tagProperties->planToJunction()) {7427new GNEAttributeProperties(tagProperties, SUMO_ATTR_TO_JUNCTION,7428GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7429GNEAttributeProperties::Edit::EDITMODE,7430TL("Junction end ID"));7431}7432if (tagProperties->planToBusStop()) {7433new GNEAttributeProperties(tagProperties, SUMO_ATTR_BUS_STOP,7434GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7435GNEAttributeProperties::Edit::EDITMODE,7436TL("BusStop end ID"));7437}7438if (tagProperties->planToTrainStop()) {7439new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRAIN_STOP,7440GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7441GNEAttributeProperties::Edit::EDITMODE,7442TL("TrainStop end ID"));7443}7444if (tagProperties->planToContainerStop()) {7445new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_STOP,7446GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7447GNEAttributeProperties::Edit::EDITMODE,7448TL("ContainerStop end ID"));7449}7450if (tagProperties->planToChargingStation()) {7451new GNEAttributeProperties(tagProperties, SUMO_ATTR_CHARGING_STATION,7452GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7453GNEAttributeProperties::Edit::EDITMODE,7454TL("ChargingStation end ID"));7455}7456if (tagProperties->planToParkingArea()) {7457new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING_AREA,7458GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7459GNEAttributeProperties::Edit::EDITMODE,7460TL("ParkingArea end ID"));7461}7462}746374647465void7466GNETagPropertiesDatabase::fillPersonTripCommonAttributes(GNETagProperties* tagProperties) {7467// fill person trip common attributes7468fillVTypesAttribute(tagProperties);74697470new GNEAttributeProperties(tagProperties, SUMO_ATTR_MODES,7471GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7472GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7473TL("List of possible traffic modes. Walking is always possible regardless of this value"));74747475new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINES,7476GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7477GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7478TL("list of vehicle alternatives to take for the person trip"));74797480new GNEAttributeProperties(tagProperties, SUMO_ATTR_WALKFACTOR,7481GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7482GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7483TL("Walk factor"),7484"0");74857486new GNEAttributeProperties(tagProperties, SUMO_ATTR_GROUP,7487GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7488GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7489TL("id of the travel group. Persons with the same group may share a taxi ride"));7490}749174927493void7494GNETagPropertiesDatabase::fillWalkCommonAttributes(GNETagProperties* tagProperties) {7495// fill walk common attributes7496new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEED,7497GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7498GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7499TLF("speed of the person for this % in m/s (not together with duration)", tagProperties->getTagStr()),7500"1.39");75017502new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,7503GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7504GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7505TL("duration of the plan in second (not together with speed)"),7506"0");7507}750875097510void7511GNETagPropertiesDatabase::fillRideCommonAttributes(GNETagProperties* tagProperties) {7512// fill ride common attributes7513new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINES,7514GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7515GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7516TL("list of vehicle alternatives to take for the ride"));75177518new GNEAttributeProperties(tagProperties, SUMO_ATTR_GROUP,7519GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7520GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7521TL("id of the travel group. Persons with the same group may share a taxi ride"));7522}752375247525void7526GNETagPropertiesDatabase::fillTransportCommonAttributes(GNETagProperties* tagProperties) {7527new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINES,7528GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7529GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7530TL("list of vehicle alternatives to take for the transport"));75317532new GNEAttributeProperties(tagProperties, SUMO_ATTR_GROUP,7533GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7534GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7535TL("id of the travel group. Persons with the same group may share a taxi ride"));7536}753775387539void7540GNETagPropertiesDatabase::fillTranshipCommonAttributes(GNETagProperties* tagProperties) {7541// fill tranship attributes7542new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEED,7543GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7544GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7545TL("speed of the person for this tranship in m/s (not together with duration)"),7546"1.39");75477548new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,7549GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7550GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7551TL("duration of the plan in second (not together with speed)"),7552"0");7553}755475557556void7557GNETagPropertiesDatabase::fillPlanStopCommonAttributes(GNETagProperties* tagProperties) {7558// fill plan stop common attributes7559auto duration = new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,7560GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,7561GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7562TL("Minimum duration for stopping"),7563"60");7564duration->setDefaultActivated(true);75657566new GNEAttributeProperties(tagProperties, SUMO_ATTR_UNTIL,7567GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,7568GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7569TL("The time step at which the route continues"),7570"0");75717572new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACTTYPE,7573GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7574GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7575TL("Activity displayed for stopped person in GUI and output files "));75767577// friendlyPos attribute only for stops over edges7578if (tagProperties->hasAttribute(SUMO_ATTR_EDGE)) {7579fillFriendlyPosAttribute(tagProperties);7580}7581}758275837584void7585GNETagPropertiesDatabase::fillDataElements() {7586// fill data set element7587SumoXMLTag currentTag = SUMO_TAG_DATASET;7588{7589// set values of tag7590myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DATA],7591GNETagProperties::Type::DATAELEMENT,7592GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE,7593GNETagProperties::Over::VIEW,7594FileBucket::Type::DATA,7595GNETagProperties::Conflicts::NO_CONFLICTS,7596GUIIcon::DATASET, GUIGlObjectType::GLO_DATASET, currentTag, TL("DataSet"));75977598// set values of attributes7599fillIDAttribute(myTagProperties[currentTag], true);7600}7601// fill data interval element7602currentTag = SUMO_TAG_DATAINTERVAL;7603{7604// set values of tag7605myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DATA],7606GNETagProperties::Type::DATAELEMENT,7607GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOTSELECTABLE,7608GNETagProperties::Over::VIEW,7609FileBucket::Type::NOTHING,7610GNETagProperties::Conflicts::NO_CONFLICTS,7611GUIIcon::DATAINTERVAL, GUIGlObjectType::GLO_DATAINTERVAL, currentTag, TL("DataInterval"),7612{SUMO_TAG_DATASET});76137614// set values of attributes7615fillIDAttribute(myTagProperties[currentTag], true);76167617// set values of attributes7618new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,7619GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,7620GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7621TL("Data interval begin time"),7622"0");76237624new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,7625GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,7626GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7627TL("Data interval end time"),7628"3600");7629}7630// fill edge data element7631currentTag = GNE_TAG_EDGEREL_SINGLE;7632{7633// set values of tag7634myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),7635GNETagProperties::Type::DATAELEMENT | GNETagProperties::Type::GENERICDATA,7636GNETagProperties::Property::NO_PROPERTY,7637GNETagProperties::Over::EDGE,7638FileBucket::Type::NOTHING,7639GNETagProperties::Conflicts::NO_CONFLICTS,7640GUIIcon::EDGEDATA, GUIGlObjectType::GLO_EDGEDATA, SUMO_TAG_EDGE, TL("EdgeRelationSingle"));7641}7642currentTag = SUMO_TAG_EDGEREL;7643{7644// set values of tag7645myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),7646GNETagProperties::Type::DATAELEMENT | GNETagProperties::Type::GENERICDATA,7647GNETagProperties::Property::NO_PROPERTY,7648GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,7649FileBucket::Type::NOTHING,7650GNETagProperties::Conflicts::NO_CONFLICTS,7651GUIIcon::EDGERELDATA, GUIGlObjectType::GLO_EDGERELDATA, currentTag, TL("EdgeRelation"));76527653// set values of attributes7654new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,7655GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7656GNEAttributeProperties::Edit::EDITMODE,7657TL("The ID of the edge the edgeRel starts at"));76587659new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,7660GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7661GNEAttributeProperties::Edit::EDITMODE,7662TL("The ID of the edge the edgeRel ends at"));7663}7664currentTag = SUMO_TAG_TAZREL;7665{7666// set values of tag7667myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),7668GNETagProperties::Type::DATAELEMENT | GNETagProperties::Type::GENERICDATA,7669GNETagProperties::Property::RTREE | GNETagProperties::Property::XMLCHILD,7670GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,7671FileBucket::Type::NOTHING,7672GNETagProperties::Conflicts::NO_CONFLICTS,7673GUIIcon::TAZRELDATA, GUIGlObjectType::GLO_TAZRELDATA, currentTag, TL("TAZRelation"),7674{SUMO_TAG_DATAINTERVAL});76757676// set values of attributes7677new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,7678GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7679GNEAttributeProperties::Edit::EDITMODE,7680TL("The name of the TAZ the TAZRel starts at"));76817682new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,7683GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7684GNEAttributeProperties::Edit::EDITMODE,7685TL("The name of the TAZ the TAZRel ends at"));7686}7687currentTag = SUMO_TAG_MEANDATA_EDGE;7688{7689// set values of tag7690myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DATA),7691GNETagProperties::Type::MEANDATA,7692GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE,7693GNETagProperties::Over::VIEW,7694FileBucket::Type::MEANDATA | FileBucket::Type::ADDITIONAL,7695GNETagProperties::Conflicts::NO_CONFLICTS,7696GUIIcon::MEANDATAEDGE, GUIGlObjectType::GLO_MEANDATA, currentTag, TL("MeanDataEdge"));76977698// set values of attributes7699fillCommonMeanDataAttributes(myTagProperties[currentTag]);7700}7701currentTag = SUMO_TAG_MEANDATA_LANE;7702{7703// set values of tag7704myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DATA),7705GNETagProperties::Type::MEANDATA,7706GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE,7707GNETagProperties::Over::VIEW,7708FileBucket::Type::MEANDATA | FileBucket::Type::ADDITIONAL,7709GNETagProperties::Conflicts::NO_CONFLICTS,7710GUIIcon::MEANDATALANE, GUIGlObjectType::GLO_MEANDATA, currentTag, TL("MeanDataLane"));77117712// set values of attributes7713fillCommonMeanDataAttributes(myTagProperties[currentTag]);7714}7715}771677177718void7719GNETagPropertiesDatabase::fillCommonMeanDataAttributes(GNETagProperties* tagProperties) {7720// fill all meanData attributes7721fillIDAttribute(tagProperties, true);77227723fillFileAttribute(tagProperties);77247725auto meanDataType = new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,7726GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7727GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7728TL("Type of data generated by this mean data"),7729SUMOXMLDefinitions::MeanDataTypes.getString(MeanDataType::DEFAULT));7730meanDataType->setDiscreteValues(SUMOXMLDefinitions::MeanDataTypes.getStrings());77317732new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERIOD,7733GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,7734GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7735TL("The aggregation period the values the detector collects shall be summed up"),7736"-1");77377738new GNEAttributeProperties(tagProperties, SUMO_ATTR_BEGIN,7739GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,7740GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7741TL("The time to start writing. If not given, the simulation's begin is used."),7742"-1");77437744new GNEAttributeProperties(tagProperties, SUMO_ATTR_END,7745GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,7746GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7747TL("The time to end writing. If not given the simulation's end is used."),7748"-1");77497750auto excludeEmpty = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EXCLUDE_EMPTY,7751GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7752GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7753TL("If set to true, edges/lanes which were not used by a vehicle during this period will not be written"),7754SUMOXMLDefinitions::ExcludeEmptys.getString(ExcludeEmpty::FALSES));7755excludeEmpty->setDiscreteValues(SUMOXMLDefinitions::ExcludeEmptys.getStrings());77567757new GNEAttributeProperties(tagProperties, SUMO_ATTR_WITH_INTERNAL,7758GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,7759GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7760TL("If set, junction internal edges/lanes will be written as well"),7761GNEAttributeCarrier::FALSE_STR);77627763new GNEAttributeProperties(tagProperties, SUMO_ATTR_MAX_TRAVELTIME,7764GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7765GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7766TL("The maximum travel time in seconds to write if only very small movements occur"),7767toString(100000));77687769new GNEAttributeProperties(tagProperties, SUMO_ATTR_MIN_SAMPLES,7770GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7771GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7772TL("Consider an edge/lane unused if it has at most this many sampled seconds"),7773"0");77747775new GNEAttributeProperties(tagProperties, SUMO_ATTR_HALTING_SPEED_THRESHOLD,7776GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7777GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7778TL("The maximum speed to consider a vehicle halting;"),7779"0.1");77807781new GNEAttributeProperties(tagProperties, SUMO_ATTR_VTYPES,7782GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7783GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7784TL("space separated list of vehicle type ids to consider"));77857786new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRACK_VEHICLES,7787GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,7788GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7789TL("whether aggregation should be performed over all vehicles that entered the edge/lane in the aggregation interval"),7790GNEAttributeCarrier::FALSE_STR);77917792fillDetectPersonsAttribute(tagProperties);77937794new GNEAttributeProperties(tagProperties, SUMO_ATTR_WRITE_ATTRIBUTES,7795GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7796GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7797TL("List of attribute names that shall be written"));77987799new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,7800GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7801GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7802TL("Restrict output to the given list of edge ids"));78037804auto edgesFile = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGESFILE,7805GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILEOPEN | GNEAttributeProperties::Property::DEFAULTVALUE,7806GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7807TL("Restrict output to the given list of edges given in file"));7808edgesFile->setFilenameExtensions(SUMOXMLDefinitions::OutputFileExtensions.getStrings());78097810new GNEAttributeProperties(tagProperties, SUMO_ATTR_AGGREGATE,7811GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,7812GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7813TL("Whether the traffic statistic of all edges shall be aggregated into a single value"),7814GNEAttributeCarrier::FALSE_STR);7815}781678177818void7819GNETagPropertiesDatabase::fillIDAttribute(GNETagProperties* tagProperties, const bool createMode) {7820if (createMode) {7821new GNEAttributeProperties(tagProperties, SUMO_ATTR_ID,7822GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7823GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,7824TLF("ID of %", tagProperties->getTagStr()));7825} else {7826new GNEAttributeProperties(tagProperties, SUMO_ATTR_ID,7827GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,7828GNEAttributeProperties::Edit::EDITMODE,7829TLF("ID of %", tagProperties->getTagStr()));7830}7831}783278337834void7835GNETagPropertiesDatabase::fillNameAttribute(GNETagProperties* tagProperties) {7836new GNEAttributeProperties(tagProperties, SUMO_ATTR_NAME,7837GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7838GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7839TLF("Optional name for %", tagProperties->getTagStr()));7840}784178427843void7844GNETagPropertiesDatabase::fillEdgeAttribute(GNETagProperties* tagProperties, const bool synonymID) {7845if (synonymID) {7846// set values of attributes7847auto edge = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGE,7848GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM | GNEAttributeProperties::Property::UPDATEGEOMETRY,7849GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,7850TL("The id of an edge in the simulation network"));7851edge->setSynonym(SUMO_ATTR_ID);7852} else {7853new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGE,7854GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7855GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,7856TL("The id of an edge in the simulation network"));7857}7858}785978607861void7862GNETagPropertiesDatabase::fillLaneAttribute(GNETagProperties* tagProperties, const bool synonymID) {7863if (synonymID) {7864auto lane = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LANE,7865GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM | GNEAttributeProperties::Property::UPDATEGEOMETRY,7866GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,7867TLF("The name of the lane the % shall be located at", tagProperties->getTagStr()));7868lane->setSynonym(SUMO_ATTR_ID);7869} else {7870new GNEAttributeProperties(tagProperties, SUMO_ATTR_LANE,7871GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7872GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,7873TLF("The name of the lane the % shall be located at", tagProperties->getTagStr()));7874}7875}787678777878void7879GNETagPropertiesDatabase::fillFriendlyPosAttribute(GNETagProperties* tagProperties) {7880new GNEAttributeProperties(tagProperties, SUMO_ATTR_FRIENDLY_POS,7881GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,7882GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7883TL("If set, no error will be reported if element is placed behind the lane.") + std::string("\n") +7884TL("Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,") + std::string("\n") +7885TL("if the position was negative and larger than the lanes length after multiplication with - 1"),7886GNEAttributeCarrier::FALSE_STR);7887}788878897890void7891GNETagPropertiesDatabase::fillVTypesAttribute(GNETagProperties* tagProperties) {7892new GNEAttributeProperties(tagProperties, SUMO_ATTR_VTYPES,7893GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7894GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7895TL("Space separated list of vehicle type ids to consider"));7896}789778987899void7900GNETagPropertiesDatabase::fillFileAttribute(GNETagProperties* tagProperties) {7901auto file = new GNEAttributeProperties(tagProperties, SUMO_ATTR_FILE,7902GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,7903GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7904TL("The path to the output file"));7905file->setFilenameExtensions(SUMOXMLDefinitions::OutputFileExtensions.getStrings());7906}790779087909void7910GNETagPropertiesDatabase::fillOutputAttribute(GNETagProperties* tagProperties) {7911auto output = new GNEAttributeProperties(tagProperties, SUMO_ATTR_OUTPUT,7912GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,7913GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7914TL("Path to the output file for writing information"));7915output->setFilenameExtensions(SUMOXMLDefinitions::OutputFileExtensions.getStrings());7916}791779187919void7920GNETagPropertiesDatabase::fillImgFileAttribute(GNETagProperties* tagProperties, const bool isExtended) {7921GNEAttributeProperties* imgFile = nullptr;7922if (isExtended) {7923imgFile = new GNEAttributeProperties(tagProperties, SUMO_ATTR_IMGFILE,7924GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILEOPEN | GNEAttributeProperties::Property::DEFAULTVALUE,7925GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7926TLF("A bitmap to use for rendering this %", tagProperties->getTagStr()));7927} else {7928imgFile = new GNEAttributeProperties(tagProperties, SUMO_ATTR_IMGFILE,7929GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILEOPEN | GNEAttributeProperties::Property::DEFAULTVALUE,7930GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7931TLF("A bitmap to use for rendering this %", tagProperties->getTagStr()));7932}7933imgFile->setFilenameExtensions(SUMOXMLDefinitions::ImageFileExtensions.getStrings());7934}793579367937void7938GNETagPropertiesDatabase::fillDepartAttribute(GNETagProperties* tagProperties) {7939new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPART,7940GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7941GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7942TLF("The departure time of the (first) % which is generated using this trip definition", tagProperties->getTagStr()),7943"0");7944}794579467947void7948GNETagPropertiesDatabase::fillAllowDisallowAttributes(GNETagProperties* tagProperties) {7949new GNEAttributeProperties(tagProperties, SUMO_ATTR_ALLOW,7950GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,7951GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,7952TL("Explicitly allows the given vehicle classes (not given will be not allowed)"),7953"all");79547955new GNEAttributeProperties(tagProperties, SUMO_ATTR_DISALLOW,7956GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,7957GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,7958TL("Explicitly disallows the given vehicle classes (not given will be allowed)"));7959}796079617962void7963GNETagPropertiesDatabase::fillPosOverLaneAttribute(GNETagProperties* tagProperties) {7964new GNEAttributeProperties(tagProperties, SUMO_ATTR_POSITION,7965GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7966GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,7967TLF("The position on the lane the % shall be laid on in meters", tagProperties->getTagStr()),7968"0");7969}797079717972void7973GNETagPropertiesDatabase::fillDetectPersonsAttribute(GNETagProperties* tagProperties) {7974auto detectPersons = new GNEAttributeProperties(tagProperties, SUMO_ATTR_DETECT_PERSONS,7975GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7976GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7977TL("Detect persons instead of vehicles (pedestrians or passengers)"),7978SUMOXMLDefinitions::PersonModeValues.getString(PersonMode::NONE));7979detectPersons->setDiscreteValues(SUMOXMLDefinitions::PersonModeValues.getStrings());7980}798179827983void7984GNETagPropertiesDatabase::fillColorAttribute(GNETagProperties* tagProperties, const std::string& defaultColor) {7985new GNEAttributeProperties(tagProperties, SUMO_ATTR_COLOR,7986GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::COLOR | GNEAttributeProperties::Property::DEFAULTVALUE,7987GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7988TLF("The RGBA color with which the % shall be displayed", tagProperties->getTagStr()),7989defaultColor);7990}799179927993void7994GNETagPropertiesDatabase::fillDetectorPeriodAttribute(GNETagProperties* tagProperties) {7995new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERIOD,7996GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,7997GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7998TLF("The aggregation period the values the % detector collects shall be summed up", tagProperties->getTagStr()),7999"300");8000}800180028003void8004GNETagPropertiesDatabase::fillDetectorNextEdgesAttribute(GNETagProperties* tagProperties) {8005new GNEAttributeProperties(tagProperties, SUMO_ATTR_NEXT_EDGES,8006GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,8007GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8008TL("List of edge ids that must all be part of the future route of the vehicle to qualify for detection"));8009}801080118012void8013GNETagPropertiesDatabase::fillDetectorThresholdAttributes(GNETagProperties* tagProperties, const bool includingJam) {8014new GNEAttributeProperties(tagProperties, SUMO_ATTR_HALTING_TIME_THRESHOLD,8015GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,8016GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8017TL("The time-based threshold that describes how much time has to pass until a vehicle is recognized as halting)"),8018"1");80198020new GNEAttributeProperties(tagProperties, SUMO_ATTR_HALTING_SPEED_THRESHOLD,8021GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8022GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8023TL("The speed-based threshold that describes how slow a vehicle has to be to be recognized as halting) in m/s"),8024"1.39");8025if (includingJam) {8026new GNEAttributeProperties(tagProperties, SUMO_ATTR_JAM_DIST_THRESHOLD,8027GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8028GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8029TL("The maximum distance to the next standing vehicle in order to make this vehicle count as a participant to the jam in m"),8030"10");8031}8032}803380348035void8036GNETagPropertiesDatabase::fillDistributionProbability(GNETagProperties* tagProperties, const bool defaultValue) {8037if (defaultValue) {8038new GNEAttributeProperties(tagProperties, SUMO_ATTR_PROB,8039GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8040GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8041TL("The probability when being added to a distribution"),8042toString(DEFAULT_VEH_PROB));8043} else {8044new GNEAttributeProperties(tagProperties, SUMO_ATTR_PROB,8045GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE,8046GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8047TL("The probability when being added to a distribution"));8048}8049}805080518052void8053GNETagPropertiesDatabase::updateMaxNumberOfAttributesEditorRows() {8054for (const auto& tagPropertyItem : myTagProperties) {8055int basicEditableAttributes = 0;8056int geoAttributes = 0;8057int flowAttributes = 0;8058int neteditAttributes = 0;8059for (const auto& attributeProperty : tagPropertyItem.second->getAttributeProperties()) {8060if (attributeProperty->isCreateMode() || attributeProperty->isEditMode()) {8061if (attributeProperty->isBasicEditor()) {8062basicEditableAttributes++;8063}8064if (attributeProperty->isGeoEditor()) {8065geoAttributes++;8066}8067if (attributeProperty->isFlowEditor()) {8068flowAttributes++;8069}8070if (attributeProperty->isNeteditEditor()) {8071neteditAttributes++;8072}8073}8074}8075if (myMaxNumberOfEditableAttributeRows < basicEditableAttributes) {8076myMaxNumberOfEditableAttributeRows = basicEditableAttributes;8077}8078if (myMaxNumberOfGeoAttributeRows < geoAttributes) {8079myMaxNumberOfGeoAttributeRows = geoAttributes;8080}8081if (myMaxNumberOfFlowAttributeRows < flowAttributes) {8082myMaxNumberOfFlowAttributeRows = flowAttributes;8083}8084if (myMaxNumberOfNeteditAttributeRows < neteditAttributes) {8085myMaxNumberOfNeteditAttributeRows = neteditAttributes;8086}8087}8088}808980908091void8092GNETagPropertiesDatabase::updateMaxHierarchyDepth() {8093for (const auto& tagPropertyItem : myTagProperties) {8094const int hierarchySize = (int)tagPropertyItem.second->getHierarchicalParentsRecuersively().size();8095if (hierarchySize > myHierarchyDepth) {8096myHierarchyDepth = hierarchySize;8097}8098}8099}81008101/****************************************************************************/810281038104