Path: blob/main/src/netedit/GNETagPropertiesDatabase.cpp
169665 views
/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2001-2025 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/GNENet.h>21#include <utils/emissions/PollutantsInterface.h>22#include <utils/options/OptionsCont.h>2324#include "GNETagPropertiesDatabase.h"2526// ===========================================================================27// method definitions28// ===========================================================================2930GNETagPropertiesDatabase::GNETagPropertiesDatabase() {31// fill all groups of ACs32fillHierarchy();33fillNetworkElements();34fillAdditionalElements();35fillShapeElements();36fillTAZElements();37fillWireElements();38fillJuPedSimElements();39// demand40fillDemandElements();41fillVehicleElements();42fillStopElements();43fillWaypointElements();44// persons45fillPersonElements();46fillPersonPlanTrips();47fillPersonPlanWalks();48fillPersonPlanRides();49fillPersonStopElements();50// containers51fillContainerElements();52fillContainerTransportElements();53fillContainerTranshipElements();54fillContainerStopElements();55//data56fillDataElements();57// add common attributes to all elements58for (auto& tagProperties : myTagProperties) {59fillCommonAttributes(tagProperties.second);60}61// update max number of editable attributes62updateMaxNumberOfAttributesEditorRows();63// calculate hierarchy dept64updateMaxHierarchyDepth();65// check integrity of all Tags (function checkTagIntegrity() throws an exception if there is an inconsistency)66for (const auto& tagProperties : myTagProperties) {67tagProperties.second->checkTagIntegrity();68}69}707172GNETagPropertiesDatabase::~GNETagPropertiesDatabase() {73// delete all tag properties (this also delete all attributeProperties)74for (auto& tagProperties : myTagProperties) {75delete tagProperties.second;76}77}787980const GNETagProperties*81GNETagPropertiesDatabase::getTagProperty(SumoXMLTag tag, const bool hardFail) const {82// check that tag is defined in tagProperties or in tagPropertiesSet83if (myTagProperties.count(tag) > 0) {84return myTagProperties.at(tag);85} else if (mySetTagProperties.count(tag) > 0) {86return mySetTagProperties.at(tag);87} else if (hardFail) {88throw ProcessError(TLF("Property for tag '%' not defined", toString(tag)));89} else {90return nullptr;91}92}939495const std::vector<const GNETagProperties*>96GNETagPropertiesDatabase::getTagPropertiesSet(const SumoXMLTag tag, const bool hardFail) const {97// check that tag is defined in tagProperties or in tagPropertiesSet98if (mySetTagProperties.count(tag) > 0) {99return mySetTagProperties.at(tag)->getHierarchicalChildren();100} else if (hardFail) {101throw ProcessError(TLF("TagPropertySet for tag '%' not defined", toString(tag)));102} else {103return {};104}105}106107108const std::vector<const GNETagProperties*>109GNETagPropertiesDatabase::getTagPropertiesByType(const GNETagProperties::Type type) const {110std::vector<const GNETagProperties*> allowedTags;111if (type & GNETagProperties::Type::NETWORKELEMENT) {112// fill networkElements tags113for (const auto& tagProperty : myTagProperties) {114if (tagProperty.second->isNetworkElement()) {115allowedTags.push_back(tagProperty.second);116}117}118}119if (type & GNETagProperties::Type::ADDITIONALELEMENT) {120// fill additional tags (only with pure additionals)121for (const auto& tagProperty : myTagProperties) {122if (tagProperty.second->isAdditionalPureElement()) {123allowedTags.push_back(tagProperty.second);124}125}126}127if (type & GNETagProperties::Type::SHAPE) {128// fill shape tags129for (const auto& tagProperty : myTagProperties) {130if (tagProperty.second->isShapeElement()) {131allowedTags.push_back(tagProperty.second);132}133}134}135if (type & GNETagProperties::Type::TAZELEMENT) {136// fill taz tags137for (const auto& tagProperty : myTagProperties) {138if (tagProperty.second->isTAZElement()) {139allowedTags.push_back(tagProperty.second);140}141}142}143if (type & GNETagProperties::Type::WIRE) {144// fill wire tags145for (const auto& tagProperty : myTagProperties) {146if (tagProperty.second->isWireElement()) {147allowedTags.push_back(tagProperty.second);148}149}150}151if (type & GNETagProperties::Type::DEMANDELEMENT) {152// fill demand tags153for (const auto& tagProperty : myTagProperties) {154if (tagProperty.second->isDemandElement()) {155allowedTags.push_back(tagProperty.second);156}157}158}159if (type & GNETagProperties::Type::ROUTE) {160// fill route tags161for (const auto& tagProperty : myTagProperties) {162if (tagProperty.second->isRoute()) {163allowedTags.push_back(tagProperty.second);164}165}166}167if (type & GNETagProperties::Type::VEHICLE) {168// fill vehicle tags169for (const auto& tagProperty : myTagProperties) {170if (tagProperty.second->isVehicle()) {171allowedTags.push_back(tagProperty.second);172}173}174}175if (type & GNETagProperties::Type::STOP_VEHICLE) {176// fill stop (and waypoints) tags177for (const auto& tagProperty : myTagProperties) {178if (tagProperty.second->isVehicleStop()) {179allowedTags.push_back(tagProperty.second);180}181}182}183if (type & GNETagProperties::Type::PERSON) {184// fill person tags185for (const auto& tagProperty : myTagProperties) {186if (tagProperty.second->isPerson()) {187allowedTags.push_back(tagProperty.second);188}189}190}191if (type & GNETagProperties::Type::PERSONPLAN) {192// fill person plan tags193for (const auto& tagProperty : myTagProperties) {194if (tagProperty.second->isPlanPerson()) {195allowedTags.push_back(tagProperty.second);196}197}198}199if (type & GNETagProperties::Type::PERSONTRIP) {200// fill demand tags201for (const auto& tagProperty : myTagProperties) {202if (tagProperty.second->isPlanPersonTrip()) {203allowedTags.push_back(tagProperty.second);204}205}206}207if (type & GNETagProperties::Type::WALK) {208// fill demand tags209for (const auto& tagProperty : myTagProperties) {210if (tagProperty.second->isPlanWalk()) {211allowedTags.push_back(tagProperty.second);212}213}214}215if (type & GNETagProperties::Type::RIDE) {216// fill demand tags217for (const auto& tagProperty : myTagProperties) {218if (tagProperty.second->isPlanRide()) {219allowedTags.push_back(tagProperty.second);220}221}222}223if (type & GNETagProperties::Type::STOP_PERSON) {224// fill demand tags225for (const auto& tagProperty : myTagProperties) {226if (tagProperty.second->isPlanStopPerson()) {227allowedTags.push_back(tagProperty.second);228}229}230}231if (type & GNETagProperties::Type::GENERICDATA) {232// fill generic data tags233for (const auto& tagProperty : myTagProperties) {234if (tagProperty.second->isGenericData()) {235allowedTags.push_back(tagProperty.second);236}237}238}239if (type & GNETagProperties::Type::MEANDATA) {240// fill generic data tags241for (const auto& tagProperty : myTagProperties) {242if (tagProperty.second->isMeanData()) {243allowedTags.push_back(tagProperty.second);244}245}246}247if (type & GNETagProperties::Type::CONTAINER) {248// fill container tags249for (const auto& tagProperty : myTagProperties) {250if (tagProperty.second->isContainer()) {251allowedTags.push_back(tagProperty.second);252}253}254}255if (type & GNETagProperties::Type::CONTAINERPLAN) {256// fill container plan tags257for (const auto& tagProperty : myTagProperties) {258if (tagProperty.second->isPlanContainer()) {259allowedTags.push_back(tagProperty.second);260}261}262}263if (type & GNETagProperties::Type::TRANSPORT) {264// fill demand tags265for (const auto& tagProperty : myTagProperties) {266if (tagProperty.second->isPlanTransport()) {267allowedTags.push_back(tagProperty.second);268}269}270}271if (type & GNETagProperties::Type::TRANSHIP) {272// fill demand tags273for (const auto& tagProperty : myTagProperties) {274if (tagProperty.second->isPlanTranship()) {275allowedTags.push_back(tagProperty.second);276}277}278}279if (type & GNETagProperties::Type::STOP_CONTAINER) {280// fill demand tags281for (const auto& tagProperty : myTagProperties) {282if (tagProperty.second->isPlanStopContainer()) {283allowedTags.push_back(tagProperty.second);284}285}286}287return allowedTags;288}289290291int292GNETagPropertiesDatabase::getMaxNumberOfEditableAttributeRows() const {293return myMaxNumberOfEditableAttributeRows;294}295296297int298GNETagPropertiesDatabase::getMaxNumberOfGeoAttributeRows() const {299return myMaxNumberOfGeoAttributeRows;300}301302303int304GNETagPropertiesDatabase::getMaxNumberOfFlowAttributeRows() const {305return myMaxNumberOfFlowAttributeRows;306}307308309int310GNETagPropertiesDatabase::getMaxNumberOfNeteditAttributesRows() const {311return myMaxNumberOfNeteditAttributeRows;312}313314315int316GNETagPropertiesDatabase::getHierarchyDepth() const {317return myHierarchyDepth;318}319320321void322GNETagPropertiesDatabase::writeAttributeHelp() const {323const std::string opt = "attribute-help-output";324OutputDevice::createDeviceByOption(opt);325OutputDevice& dev = OutputDevice::getDeviceByOption(opt);326dev << "# Netedit attribute help\n";327for (const auto& tagProperty : myTagProperties) {328if (tagProperty.second->getAttributeProperties().begin() == tagProperty.second->getAttributeProperties().end()) {329// don't write elements without attributes, they are only used for internal purposes330continue;331}332if (tagProperty.second->getXMLTag() != tagProperty.first) {333dev << "\n## " << toString(tagProperty.second->getXMLTag()) << " (" << toString(tagProperty.first) << ")\n";334} else if (tagProperty.second->getXMLParentTags().empty()) {335dev << "\n## " << toString(tagProperty.first) << "\n";336} else {337if (tagProperty.first == SUMO_TAG_FLOW) {338dev << "\n## " << toString(tagProperty.first) << "\n";339dev << "also child element of ";340} else {341dev << "\n### " << toString(tagProperty.first) << "\n";342dev << "child element of ";343}344bool sep = false;345for (const auto& pTag : tagProperty.second->getXMLParentTags()) {346if (sep) {347dev << ", ";348} else {349sep = true;350}351dev << "[" << toString(pTag) << "](#" << StringUtils::to_lower_case(toString(pTag)) << ")";352}353dev << "\n\n";354}355dev << "| Attribute | Type | Description |\n";356dev << "|-----------|------|-------------|\n";357for (const auto& attr : tagProperty.second->getAttributeProperties()) {358// ignore netedit attributes (front, selected, etc.)359if (!attr->isNeteditEditor() && (attr->getAttr() != GNE_ATTR_PARAMETERS)) {360dev << "|" << toString(attr->getAttr()) << "|"361<< attr->getDescription() << "|"362<< StringUtils::replace(attr->getDefinition(), "\n", " ");363if (attr->hasDefaultValue()) {364dev << " *default:* **" << attr->getDefaultStringValue() << "**";365}366dev << "|\n";367}368}369}370}371372373void374GNETagPropertiesDatabase::fillHierarchy() {375// root - level 0376mySetTagProperties[SUMO_TAG_ROOTFILE] = new GNETagProperties(SUMO_TAG_ROOTFILE,377nullptr,378GUIIcon::NETEDIT_MINI,379TL("Root"));380// supermodes - level 1381mySetTagProperties[GNE_TAG_SUPERMODE_NETWORK] = new GNETagProperties(GNE_TAG_SUPERMODE_NETWORK,382mySetTagProperties.at(SUMO_TAG_ROOTFILE),383GUIIcon::SUPERMODENETWORK,384TL("Supermode network"),385FXRGBA(255, 255, 255, 255),386TL("Supermode network"));387mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND] = new GNETagProperties(GNE_TAG_SUPERMODE_DEMAND,388mySetTagProperties.at(SUMO_TAG_ROOTFILE),389GUIIcon::SUPERMODEDEMAND,390TL("Supermode demand"),391FXRGBA(255, 255, 255, 255),392TL("Supermode demand"));393mySetTagProperties[GNE_TAG_SUPERMODE_DATA] = new GNETagProperties(GNE_TAG_SUPERMODE_DATA,394mySetTagProperties.at(SUMO_TAG_ROOTFILE),395GUIIcon::SUPERMODEDATA,396TL("Supermode data"),397FXRGBA(255, 255, 255, 255),398TL("Supermode data"));399// net - level 2400mySetTagProperties[SUMO_TAG_NET] = new GNETagProperties(SUMO_TAG_NET,401mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),402GUIIcon::MODECREATEEDGE,403TL("Network elements"),404FXRGBA(255, 255, 255, 255),405TL("Network elements"));406// additionals - level 2407mySetTagProperties[SUMO_TAG_VIEWSETTINGS_ADDITIONALS] = new GNETagProperties(SUMO_TAG_VIEWSETTINGS_ADDITIONALS,408mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),409GUIIcon::MODEADDITIONAL,410TL("Additional elements"),411FXRGBA(255, 255, 255, 255),412TL("Additional elements"));413// stoppingPlaces - level 3414mySetTagProperties[GNE_TAG_STOPPINGPLACES] = new GNETagProperties(GNE_TAG_STOPPINGPLACES,415mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),416GUIIcon::BUSSTOP,417TL("Stopping places"),418FXRGBA(255, 255, 255, 255),419TL("Stopping places"));420// detectors - level 3421mySetTagProperties[GNE_TAG_DETECTORS] = new GNETagProperties(GNE_TAG_DETECTORS,422mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),423GUIIcon::E1,424TL("Detectors"),425FXRGBA(255, 255, 255, 255),426TL("Detectors"));427// wires - level 2428mySetTagProperties[GNE_TAG_WIRES] = new GNETagProperties(GNE_TAG_WIRES,429mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),430GUIIcon::MODEWIRE,431TL("Wire elements"),432FXRGBA(255, 255, 255, 255),433TL("Wire elements"));434// shapes - level 2435mySetTagProperties[GNE_TAG_SHAPES] = new GNETagProperties(GNE_TAG_SHAPES,436mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),437GUIIcon::MODESHAPE,438TL("Shape elements"),439FXRGBA(255, 255, 255, 255),440TL("Shape elements"));441mySetTagProperties[GNE_TAG_JUPEDSIM] = new GNETagProperties(GNE_TAG_JUPEDSIM,442mySetTagProperties.at(GNE_TAG_SHAPES),443GUIIcon::JPS_WALKABLEAREA,444TL("JuPedSim elements"),445FXRGBA(255, 255, 255, 255),446TL("JuPedSim elements"));447// TAZs - level 2448mySetTagProperties[GNE_TAG_TAZS] = new GNETagProperties(GNE_TAG_TAZS,449mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),450GUIIcon::MODEADDITIONAL,451TL("TAZ elements"),452FXRGBA(255, 255, 255, 255),453TL("TAZ elements"));454// vehicles - level 2455mySetTagProperties[SUMO_TAG_VIEWSETTINGS_VEHICLES] = new GNETagProperties(SUMO_TAG_VIEWSETTINGS_VEHICLES,456mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),457GUIIcon::VEHICLE,458TL("Vehicles"),459FXRGBA(255, 255, 255, 255),460TL("Vehicles"));461// flows - level 2462mySetTagProperties[GNE_TAG_FLOWS] = new GNETagProperties(GNE_TAG_FLOWS,463mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),464GUIIcon::FLOW,465TL("Flows"),466FXRGBA(255, 255, 255, 255),467TL("Vehicle flows"));468// stops - level 2469mySetTagProperties[GNE_TAG_STOPS] = new GNETagProperties(GNE_TAG_STOPS,470mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),471GUIIcon::MODESTOP,472TL("Vehicle stops"),473FXRGBA(255, 255, 255, 255),474TL("Vehicle stops"));475// personPlans - level 2476mySetTagProperties[GNE_TAG_PERSONPLANS] = new GNETagProperties(GNE_TAG_PERSONPLANS,477mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),478GUIIcon::MODEPERSONPLAN,479TL("Person plans"),480FXRGBA(255, 255, 255, 255),481TL("Person plans"));482// personTrips - level 3483mySetTagProperties[GNE_TAG_PERSONTRIPS] = new GNETagProperties(GNE_TAG_PERSONTRIPS,484mySetTagProperties.at(GNE_TAG_PERSONPLANS),485GUIIcon::PERSONTRIP_BUSSTOP,486TL("Person trips"),487FXRGBA(255, 255, 255, 255),488TL("Person trips"));489// rides - level 3490mySetTagProperties[GNE_TAG_RIDES] = new GNETagProperties(GNE_TAG_RIDES,491mySetTagProperties.at(GNE_TAG_PERSONPLANS),492GUIIcon::RIDE_BUSSTOP,493TL("Person rides"),494FXRGBA(255, 255, 255, 255),495TL("Person rides"));496// walks - level 3497mySetTagProperties[GNE_TAG_WALKS] = new GNETagProperties(GNE_TAG_WALKS,498mySetTagProperties.at(GNE_TAG_PERSONPLANS),499GUIIcon::WALK_BUSSTOP,500TL("Person walks"),501FXRGBA(255, 255, 255, 255),502TL("Person walks"));503// personStops - level 3504mySetTagProperties[GNE_TAG_PERSONSTOPS] = new GNETagProperties(GNE_TAG_PERSONSTOPS,505mySetTagProperties.at(GNE_TAG_PERSONPLANS),506GUIIcon::STOP,507TL("Person stop"),508FXRGBA(255, 255, 255, 255),509TL("Person stop"));510// containerPlans - level 2511mySetTagProperties[GNE_TAG_CONTAINERPLANS] = new GNETagProperties(GNE_TAG_CONTAINERPLANS,512mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),513GUIIcon::MODECONTAINERPLAN,514TL("Container plans"),515FXRGBA(255, 255, 255, 255),516TL("Container plans"));517// transports - level 3518mySetTagProperties[GNE_TAG_TRANSPORTS] = new GNETagProperties(GNE_TAG_TRANSPORTS,519mySetTagProperties.at(GNE_TAG_CONTAINERPLANS),520GUIIcon::TRANSPORT_BUSSTOP,521TL("Container transports"),522FXRGBA(255, 255, 255, 255),523TL("Container transports"));524// tranships - level 3525mySetTagProperties[GNE_TAG_TRANSHIPS] = new GNETagProperties(GNE_TAG_TRANSHIPS,526mySetTagProperties.at(GNE_TAG_CONTAINERPLANS),527GUIIcon::TRANSHIP_BUSSTOP,528TL("Container tranships"),529FXRGBA(255, 255, 255, 255),530TL("Container tranships"));531// containerStops - level 3532mySetTagProperties[GNE_TAG_CONTAINERSTOPS] = new GNETagProperties(GNE_TAG_CONTAINERSTOPS,533mySetTagProperties.at(GNE_TAG_CONTAINERPLANS),534GUIIcon::STOP,535TL("Container stops"),536FXRGBA(255, 255, 255, 255),537TL("Container stops"));538// datas - level 2539mySetTagProperties[GNE_TAG_DATAS] = new GNETagProperties(GNE_TAG_DATAS,540mySetTagProperties.at(GNE_TAG_SUPERMODE_DATA),541GUIIcon::EDGEDATA,542TL("Datas"),543FXRGBA(255, 255, 255, 255),544TL("Datas"));545}546547548void549GNETagPropertiesDatabase::fillNetworkElements() {550// obtain Node Types except SumoXMLNodeType::DEAD_END_DEPRECATED551const auto& neteditOptions = OptionsCont::getOptions();552std::vector<std::string> nodeTypes = SUMOXMLDefinitions::NodeTypes.getStrings();553nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::DEAD_END_DEPRECATED)));554nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::DEAD_END)));555nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::INTERNAL)));556// obtain TLTypes (note: avoid insert all TLTypes because some of them are experimental and not documented)557std::vector<std::string> TLTypes;558TLTypes.push_back(toString(TrafficLightType::STATIC));559TLTypes.push_back(toString(TrafficLightType::ACTUATED));560TLTypes.push_back(toString(TrafficLightType::DELAYBASED));561TLTypes.push_back(toString(TrafficLightType::NEMA));562// fill networkElement ACs563SumoXMLTag currentTag = SUMO_TAG_JUNCTION;564{565// set values of tag566myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),567GNETagProperties::Type::NETWORKELEMENT,568GNETagProperties::Property::RTREE,569GNETagProperties::Over::VIEW,570GNETagProperties::Conflicts::NO_CONFLICTS,571GUIIcon::JUNCTION, GUIGlObjectType::GLO_JUNCTION, currentTag, TL("Junction"));572// set values of attributes573fillIDAttribute(myTagProperties[currentTag], true);574575new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,576GNEAttributeProperties::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_Y577GNEAttributeProperties::Edit::EDITMODE,578TL("The x-y-z position of the node on the plane in meters"));579580auto type = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,581GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,582GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,583TL("An optional type for the node"));584type->setDiscreteValues(nodeTypes);585586new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,587GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,588GNEAttributeProperties::Edit::EDITMODE,589TL("A custom shape for that node"));590591new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_RADIUS,592GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,593GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,594TL("Optional turning radius (for all corners) for that node in meters"),595"4");596597new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_KEEP_CLEAR,598GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,599GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,600TL("Whether the junction-blocking-heuristic should be activated at this node"),601GNEAttributeCarrier::TRUE_STR);602603auto rightOfWay = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_RIGHT_OF_WAY,604GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,605GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,606TL("How to compute right of way rules at this node"),607SUMOXMLDefinitions::RightOfWayValues.getString(RightOfWay::DEFAULT));608rightOfWay->setDiscreteValues(SUMOXMLDefinitions::RightOfWayValues.getStrings());609610auto fringe = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FRINGE,611GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,612GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,613TL("Whether this junction is at the fringe of the network"),614SUMOXMLDefinitions::FringeTypeValues.getString(FringeType::DEFAULT));615fringe->setDiscreteValues(SUMOXMLDefinitions::FringeTypeValues.getStrings());616617fillNameAttribute(myTagProperties[currentTag]);618619auto tlType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLTYPE,620GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,621GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,622TL("An optional type for the traffic light algorithm"));623tlType->setDiscreteValues(TLTypes);624625auto tlLayout = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLAYOUT,626GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,627GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,628TL("An optional layout for the traffic light plan"),629toString(TrafficLightLayout::DEFAULT));630tlLayout->setDiscreteValues({toString(TrafficLightLayout::DEFAULT),631toString(TrafficLightLayout::OPPOSITES),632toString(TrafficLightLayout::INCOMING),633toString(TrafficLightLayout::ALTERNATE_ONEWAY)});634635new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLID,636GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,637GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,638TL("An optional id for the traffic light program"));639640new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_IS_ROUNDABOUT,641GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,642GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,643TL("Whether this junction is part of a roundabout"),644GNEAttributeCarrier::FALSE_STR);645}646currentTag = SUMO_TAG_TYPE;647{648// set values of tag649myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),650GNETagProperties::Type::NETWORKELEMENT,651GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE,652GNETagProperties::Over::VIEW,653GNETagProperties::Conflicts::NO_CONFLICTS,654GUIIcon::EDGETYPE, GUIGlObjectType::GLO_EDGETYPE, currentTag, TL("EdgeType"));655// set values of attributes656fillIDAttribute(myTagProperties[currentTag], false);657658new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_NUMLANES,659GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,660GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,661TL("The number of lanes of the edge"),662toString(neteditOptions.getInt("default.lanenumber")));663664new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,665GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,666GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,667TL("The maximum speed allowed on the edge in m/s"),668toString(neteditOptions.getFloat("default.speed")));669670fillAllowDisallowAttributes(myTagProperties[currentTag]);671672auto spreadType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPREADTYPE,673GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,674GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,675TL("The spreadType defines how to compute the lane geometry from the edge geometry (used for visualization)"),676SUMOXMLDefinitions::LaneSpreadFunctions.getString(LaneSpreadFunction::RIGHT));677spreadType->setDiscreteValues(SUMOXMLDefinitions::LaneSpreadFunctions.getStrings());678679new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PRIORITY,680GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,681GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,682TL("The priority of the edge"),683toString(neteditOptions.getInt("default.priority")));684685new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,686GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,687GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,688TL("Lane width for all lanes of this edge in meters (used for visualization)"),689"", toString(SUMO_const_laneWidth));690691new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SIDEWALKWIDTH,692GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,693GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,694TL("The width of the sidewalk that should be added as an additional lane"),695"", "2");696697new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BIKELANEWIDTH,698GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,699GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,700TL("The width of the bike lane that should be added as an additional lane"),701"", "1");702}703currentTag = SUMO_TAG_LANETYPE;704{705// set values of tag706myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),707GNETagProperties::Type::NETWORKELEMENT,708GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE,709GNETagProperties::Over::VIEW,710GNETagProperties::Conflicts::NO_CONFLICTS,711GUIIcon::LANETYPE, GUIGlObjectType::GLO_LANETYPE, currentTag, TL("LaneType"));712// set values of attributes713new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,714GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,715GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,716TL("The maximum speed allowed on the lane in m/s"),717toString(neteditOptions.getFloat("default.speed")));718719fillAllowDisallowAttributes(myTagProperties[currentTag]);720721new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,722GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::COPYABLE,723GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,724TL("Lane width for all lanes of this type in meters (used for visualization)"),725"3.2");726}727currentTag = SUMO_TAG_EDGE;728{729// set values of tag730myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),731GNETagProperties::Type::NETWORKELEMENT,732GNETagProperties::Property::RTREE,733GNETagProperties::Over::VIEW,734GNETagProperties::Conflicts::NO_CONFLICTS,735GUIIcon::EDGE, GUIGlObjectType::GLO_EDGE, currentTag, TL("Edge"));736// set values of attributes737fillIDAttribute(myTagProperties[currentTag], true);738739new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,740GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,741GNEAttributeProperties::Edit::EDITMODE,742TL("The name of a node within the nodes-file the edge shall start at"));743744new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,745GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,746GNEAttributeProperties::Edit::EDITMODE,747TL("The name of a node within the nodes-file the edge shall end at"));748749new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,750GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,751GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,752TL("The maximum speed allowed on the edge in m/s"),753toString(neteditOptions.getFloat("default.speed")));754755new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PRIORITY,756GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,757GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,758TL("The priority of the edge"),759toString(neteditOptions.getInt("default.priority")));760761new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_NUMLANES,762GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,763GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,764TL("The number of lanes of the edge"),765toString(neteditOptions.getInt("default.lanenumber")));766767new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,768GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,769GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,770TL("The name of a type within the SUMO edge type file"));771772fillAllowDisallowAttributes(myTagProperties[currentTag]);773774new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,775GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,776GNEAttributeProperties::Edit::EDITMODE,777TL("If the shape is given it should start and end with the positions of the from-node and to-node"));778779new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,780GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY,781GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,782TL("The length of the edge in meter"));783784auto spreadType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPREADTYPE,785GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,786GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,787TL("The spreadType defines how to compute the lane geometry from the edge geometry (used for visualization)"),788SUMOXMLDefinitions::LaneSpreadFunctions.getString(LaneSpreadFunction::RIGHT));789spreadType->setDiscreteValues(SUMOXMLDefinitions::LaneSpreadFunctions.getStrings());790791new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_NAME,792GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,793GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,794TL("street name (does not need to be unique, used for visualization)"));795796new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,797GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::COPYABLE,798GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,799TL("Lane width for all lanes of this edge in meters (used for visualization)"),800"3.2");801802new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDOFFSET,803GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,804GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,805TL("Move the stop line back from the intersection by the given amount"),806"0");807808new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SHAPE_START,809GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY, // virtual attribute used to define an endPoint810GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,811TL("Custom position in which shape start (by default position of junction from)"));812813new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SHAPE_END,814GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY, // virtual attribute from to define an endPoint815GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,816TL("Custom position in which shape end (by default position of junction from)"));817818new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_BIDIR,819GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE, // virtual attribute to check of this edge is part of a bidirectional railway (cannot be edited)820GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,821TL("Show if edge is bidirectional"),822GNEAttributeCarrier::FALSE_STR);823824new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DISTANCE,825GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE,826GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,827TL("Distance"),828"0");829830new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOFFSET,831GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,832GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,833TL("The stop offset as positive value in meters"),834"0");835836new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOEXCEPTION,837GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,838GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,839TL("Specifies, for which vehicle classes the stopOffset does NOT apply."));840841new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_IS_ROUNDABOUT,842GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE, // cannot be edited843GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,844TL("Whether this edge is part of a roundabout"),845GNEAttributeCarrier::FALSE_STR);846}847currentTag = SUMO_TAG_LANE;848{849// set values of tag850myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),851GNETagProperties::Type::NETWORKELEMENT,852GNETagProperties::Property::NO_PROPERTY,853GNETagProperties::Over::VIEW,854GNETagProperties::Conflicts::NO_CONFLICTS,855GUIIcon::LANE, GUIGlObjectType::GLO_LANE, currentTag, TL("Lane"));856// set values of attributes857fillIDAttribute(myTagProperties[currentTag], true);858859new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_INDEX,860GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,861GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,862TL("The enumeration index of the lane (0 is the rightmost lane, <NUMBER_LANES>-1 is the leftmost one)"));863864new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,865GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,866GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,867TL("Speed in meters per second"),868toString(neteditOptions.getFloat("default.speed")));869870fillAllowDisallowAttributes(myTagProperties[currentTag]);871872new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,873GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::COPYABLE,874GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,875TL("Width in meters (used for visualization)"),876"", "-1");877878new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDOFFSET,879GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,880GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,881TL("Move the stop line back from the intersection by the given amount"),882"0");883884new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ACCELERATION,885GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,886GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,887TL("Enable or disable lane as acceleration lane"),888GNEAttributeCarrier::FALSE_STR);889890new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CUSTOMSHAPE,891GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,892GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,893TL("If the shape is given it overrides the computation based on edge shape"));894895new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_OPPOSITE,896GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE,897GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,898TL("If given, this defines the opposite direction lane"));899900new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_LEFT,901GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,902GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,903TL("Permit changing left only for to the given vehicle classes"),904"all");905906new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_RIGHT,907GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,908GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,909TL("Permit changing right only for to the given vehicle classes"),910"all");911912new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,913GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,914GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,915TL("Lane type description (optional)"));916917new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOFFSET,918GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,919GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,920TL("The stop offset as positive value in meters"),921"0");922923new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOEXCEPTION,924GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,925GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,926TL("Specifies, for which vehicle classes the stopOffset does NOT apply."));927}928currentTag = SUMO_TAG_CROSSING;929{930// set values of tag931myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),932GNETagProperties::Type::NETWORKELEMENT,933GNETagProperties::Property::NO_PROPERTY,934GNETagProperties::Over::JUNCTION,935GNETagProperties::Conflicts::NO_CONFLICTS,936GUIIcon::CROSSING, GUIGlObjectType::GLO_CROSSING, currentTag, TL("Crossing"));937// set values of attributes938fillIDAttribute(myTagProperties[currentTag], true);939940new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EDGES,941GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,942GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,943TL("The (road) edges which are crossed"));944945new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PRIORITY,946GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,947GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,948TL("Whether the pedestrians have priority over the vehicles (automatically set to true at tls-controlled intersections)"),949GNEAttributeCarrier::FALSE_STR);950951new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,952GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,953GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,954TL("The width of the crossings"),955toString(OptionsCont::getOptions().getFloat("default.crossing-width")));956957new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX,958GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,959GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,960TL("sets the tls-index for this crossing (-1 means automatic assignment)"),961"-1");962963new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX2,964GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,965GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,966TL("sets the opposite-direction tls-index for this crossing (-1 means not assigned)"),967"-1");968969new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CUSTOMSHAPE,970GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,971GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,972TL("Overrides default shape of pedestrian crossing"));973}974currentTag = SUMO_TAG_WALKINGAREA;975{976// set values of tag977myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),978GNETagProperties::Type::NETWORKELEMENT,979GNETagProperties::Property::NOPARAMETERS,980GNETagProperties::Over::JUNCTION,981GNETagProperties::Conflicts::NO_CONFLICTS,982GUIIcon::WALKINGAREA, GUIGlObjectType::GLO_WALKINGAREA, currentTag, TL("WalkingArea"));983// set values of attributes984fillIDAttribute(myTagProperties[currentTag], true);985986new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,987GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,988GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,989TL("The width of the WalkingArea"),990toString(OptionsCont::getOptions().getFloat("default.sidewalk-width")));991992new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,993GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY,994GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,995TL("The length of the WalkingArea in meter"));996997new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,998GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,999GNEAttributeProperties::Edit::EDITMODE,1000TL("Overrides default shape of pedestrian sidewalk"));10011002}1003currentTag = SUMO_TAG_CONNECTION;1004{1005// set values of tag1006myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),1007GNETagProperties::Type::NETWORKELEMENT,1008GNETagProperties::Property::NO_PROPERTY,1009GNETagProperties::Over::JUNCTION,1010GNETagProperties::Conflicts::NO_CONFLICTS,1011GUIIcon::CONNECTION, GUIGlObjectType::GLO_CONNECTION, currentTag, TL("Connection"));1012// set values of attributes1013new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,1014GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1015GNEAttributeProperties::Edit::EDITMODE,1016TL("The ID of the edge the vehicles leave"));10171018new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,1019GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1020GNEAttributeProperties::Edit::EDITMODE,1021TL("The ID of the edge the vehicles may reach when leaving 'from'"));10221023new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_LANE,1024GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1025GNEAttributeProperties::Edit::EDITMODE,1026TL("the lane index of the incoming lane (numbers starting with 0)"));10271028new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_LANE,1029GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1030GNEAttributeProperties::Edit::EDITMODE,1031TL("the lane index of the outgoing lane (numbers starting with 0)"));10321033new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PASS,1034GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1035GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1036TL("if set, vehicles which pass this (lane-2-lane) connection) will not wait"),1037GNEAttributeCarrier::FALSE_STR);10381039new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_KEEP_CLEAR,1040GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1041GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1042TL("if set to false, vehicles which pass this (lane-2-lane) connection) will not worry about blocking the intersection"),1043GNEAttributeCarrier::FALSE_STR);10441045new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTPOS,1046GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1047GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1048TL("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"),1049"", toString(NBEdge::UNSPECIFIED_CONTPOS));10501051new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_UNCONTROLLED,1052GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1053GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1054TL("If set to true, This connection will not be TLS-controlled despite its node being controlled"),1055GNEAttributeCarrier::FALSE_STR);10561057new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VISIBILITY_DISTANCE,1058GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1059GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1060TL("Vision distance between vehicles"),1061"", toString(NBEdge::UNSPECIFIED_VISIBILITY_DISTANCE));10621063new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX,1064GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,1065GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1066TL("sets index of this connection within the controlling traffic light (-1 means automatic assignment)"),1067"-1");10681069new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX2,1070GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,1071GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1072TL("sets index for the internal junction of this connection within the controlling traffic light (-1 means internal junction not controlled)"),1073"-1");10741075fillAllowDisallowAttributes(myTagProperties[currentTag]);10761077new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,1078GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1079GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1080TL("sets custom speed limit for the connection"),1081"", toString(NBEdge::UNSPECIFIED_SPEED));10821083new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,1084GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1085GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1086TL("sets custom length for the connection"),1087"", toString(NBEdge::UNSPECIFIED_LOADED_LENGTH));10881089new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CUSTOMSHAPE,1090GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1091GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1092TL("sets custom shape for the connection"));10931094new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_LEFT,1095GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1096GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1097TL("Permit changing left only for to the given vehicle classes"),1098"all");10991100new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_RIGHT,1101GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1102GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1103TL("Permit changing right only for to the given vehicle classes"),1104"all");11051106new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_INDIRECT,1107GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1108GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1109TL("if set to true, vehicles will make a turn in 2 steps"),1110GNEAttributeCarrier::FALSE_STR);11111112new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,1113GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,1114GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1115TL("set a custom edge type (for applying vClass-specific speed restrictions)"));111611171118new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DIR,1119GNEAttributeProperties::Property::STRING,1120GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1121TL("turning direction for this connection (computed)"));11221123new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STATE,1124GNEAttributeProperties::Property::STRING,1125GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1126TL("link state for this connection (computed)"));1127}1128currentTag = GNE_TAG_INTERNAL_LANE;1129{1130// set values of tag1131myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),1132GNETagProperties::Type::INTERNALLANE,1133GNETagProperties::Property::NO_PROPERTY,1134GNETagProperties::Over::JUNCTION,1135GNETagProperties::Conflicts::NO_CONFLICTS,1136GUIIcon::JUNCTION, GUIGlObjectType::GLO_TLLOGIC, currentTag, TL("InternalLanes"));1137// internal lanes does't have attributes1138}1139}114011411142void1143GNETagPropertiesDatabase::fillAdditionalElements() {1144// fill additional elements1145SumoXMLTag currentTag = SUMO_TAG_BUS_STOP;1146{1147// set values of tag1148myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),1149GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,1150GNETagProperties::Property::NO_PROPERTY,1151GNETagProperties::Over::LANE,1152GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,1153GUIIcon::BUSSTOP, GUIGlObjectType::GLO_BUS_STOP, currentTag, TL("BusStop"),1154{}, FXRGBA(240, 255, 205, 255));1155// set common attributes1156fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true);11571158// set specific attributes1159new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINES,1160GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1161GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1162TL("Meant to be the names of the bus lines that stop at this bus stop. This is only used for visualization purposes"));11631164new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERSON_CAPACITY,1165GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1166GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1167TL("Larger numbers of persons trying to enter will create an upstream jam on the sidewalk"),1168"6");11691170new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_LENGTH,1171GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,1172GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1173TL("Optional space definition for vehicles that park at this stop"),1174"0");1175}1176currentTag = SUMO_TAG_TRAIN_STOP;1177{1178// set values of tag1179myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),1180GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,1181GNETagProperties::Property::NO_PROPERTY,1182GNETagProperties::Over::LANE,1183GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,1184GUIIcon::TRAINSTOP, GUIGlObjectType::GLO_TRAIN_STOP, currentTag, TL("TrainStop"),1185{}, FXRGBA(240, 255, 205, 255));1186// set common attributes1187fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true);11881189// set specific attributes1190new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINES,1191GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1192GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1193TL("Meant to be the names of the train lines that stop at this train stop. This is only used for visualization purposes"));11941195new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERSON_CAPACITY,1196GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1197GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1198TL("Larger numbers of persons trying to enter will create an upstream jam on the sidewalk"),1199"6");12001201new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_LENGTH,1202GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,1203GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1204TL("Optional space definition for vehicles that park at this stop"),1205"0");12061207}1208currentTag = SUMO_TAG_ACCESS;1209{1210// set values of tag1211myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1212GNETagProperties::Type::ADDITIONALELEMENT,1213GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT,1214GNETagProperties::Over::LANE,1215GNETagProperties::Conflicts::POS_LANE,1216GUIIcon::ACCESS, GUIGlObjectType::GLO_ACCESS, currentTag, TL("Access"),1217{SUMO_TAG_BUS_STOP, SUMO_TAG_TRAIN_STOP, SUMO_TAG_CONTAINER_STOP}, FXRGBA(240, 255, 205, 255));1218// set values of attributes1219fillLaneAttribute(myTagProperties[currentTag], false);12201221fillPosOverLaneAttribute(myTagProperties[currentTag]);12221223fillFriendlyPosAttribute(myTagProperties[currentTag]);12241225new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,1226GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1227GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1228TL("The walking length of the access in meters (default is geometric length)"),1229"", "-1");1230}1231currentTag = SUMO_TAG_CONTAINER_STOP;1232{1233// set values of tag1234myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),1235GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,1236GNETagProperties::Property::NO_PROPERTY,1237GNETagProperties::Over::LANE,1238GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,1239GUIIcon::CONTAINERSTOP, GUIGlObjectType::GLO_CONTAINER_STOP, currentTag, TL("ContainerStop"),1240{}, FXRGBA(240, 255, 205, 255));1241// set common attributes1242fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true);12431244// set specific attributes1245new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINES,1246GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1247GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1248TL("meant to be the names of the bus lines that stop at this container stop. This is only used for visualization purposes"));12491250new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTAINER_CAPACITY,1251GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1252GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1253TL("Larger numbers of container trying to enter will create an upstream jam on the sidewalk"),1254"6");12551256new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_LENGTH,1257GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,1258GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1259TL("Optional space definition for vehicles that park at this stop"),1260"", "0");1261}1262currentTag = SUMO_TAG_CHARGING_STATION;1263{1264// set values of tag1265myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),1266GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,1267GNETagProperties::Property::NO_PROPERTY,1268GNETagProperties::Over::LANE,1269GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,1270GUIIcon::CHARGINGSTATION, GUIGlObjectType::GLO_CHARGING_STATION, currentTag, TL("ChargingStation"),1271{}, FXRGBA(240, 255, 205, 255));1272// set common attributes1273fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], false);12741275// set specific attributes1276new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGINGPOWER,1277GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1278GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1279TL("Charging power in W"),1280"22000");12811282auto efficiency = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EFFICIENCY,1283GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,1284GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1285TL("Charging efficiency [0,1]"),1286"0.95");1287efficiency->setRange(0, 1);12881289new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGEINTRANSIT,1290GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1291GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1292TL("Enable or disable charge in transit, i.e. vehicle must or must not to stop for charging"),1293GNEAttributeCarrier::FALSE_STR);12941295new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGEDELAY,1296GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1297GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1298TL("Time delay after the vehicles has reached / stopped on the charging station, before the energy transfer (charging) begins"),1299"0");13001301auto chargeType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGETYPE,1302GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,1303GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1304TL("Battery charging type"),1305SUMOXMLDefinitions::ChargeTypes.getString(ChargeType::NORMAL));1306chargeType->setDiscreteValues(SUMOXMLDefinitions::ChargeTypes.getStrings());13071308new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WAITINGTIME,1309GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1310GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1311TL("Waiting time before start charging"),1312"900");13131314new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_AREA,1315GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,1316GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1317TL("Parking area the charging station is located"));1318}1319currentTag = SUMO_TAG_PARKING_AREA;1320{1321// set values of tag1322myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),1323GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,1324GNETagProperties::Property::NO_PROPERTY,1325GNETagProperties::Over::LANE,1326GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,1327GUIIcon::PARKINGAREA, GUIGlObjectType::GLO_PARKING_AREA, currentTag, TL("ParkingArea"),1328{}, FXRGBA(240, 255, 205, 255));1329// set common attributes1330fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], false);13311332// set specific attributes1333new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTPOS,1334GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1335GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1336TL("Lane position in that vehicle must depart when leaves parkingArea"));13371338new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ACCEPTED_BADGES,1339GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,1340GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1341TL("Accepted badges to access this parkingArea"));13421343new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROADSIDE_CAPACITY,1344GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1345GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1346TL(" The number of parking spaces for road-side parking"),1347"0");13481349new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ONROAD,1350GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1351GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1352TL("If set, vehicles will park on the road lane and thereby reducing capacity"),1353"0");13541355new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,1356GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1357GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1358TL("The width of the road-side parking spaces"),1359toString(SUMO_const_laneWidth));13601361new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,1362GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1363GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1364TL("The length of the road-side parking spaces. By default (endPos - startPos) / roadsideCapacity"),1365"", "0");13661367new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LEFTHAND,1368GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1369GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1370TL("Enable or disable lefthand position"),1371GNEAttributeCarrier::FALSE_STR);13721373}1374currentTag = SUMO_TAG_PARKING_SPACE;1375{1376// set values of tag1377myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1378GNETagProperties::Type::ADDITIONALELEMENT,1379GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT | GNETagProperties::Property::RTREE,1380GNETagProperties::Over::VIEW,1381GNETagProperties::Conflicts::NO_CONFLICTS,1382GUIIcon::PARKINGSPACE, GUIGlObjectType::GLO_PARKING_SPACE, currentTag, TL("ParkingSpace"),1383{SUMO_TAG_PARKING_AREA}, FXRGBA(240, 255, 205, 255));1384// set values of attributes1385new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,1386GNEAttributeProperties::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_Y1387GNEAttributeProperties::Edit::EDITMODE,1388TL("The x-y-z position of the node on the plane in meters"));13891390fillNameAttribute(myTagProperties[currentTag]);13911392new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,1393GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1394GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1395TL("The width of the road-side parking spaces"));13961397new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,1398GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1399GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1400TL("The length of the road-side parking spaces"));14011402new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ANGLE,1403GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1404GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1405TL("The angle of the road-side parking spaces relative to the lane angle, positive means clockwise"));14061407new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SLOPE,1408GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1409GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1410TL("The slope of the road-side parking spaces"),1411"0");14121413}1414currentTag = SUMO_TAG_INDUCTION_LOOP;1415{1416// set values of tag1417myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1418GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1419GNETagProperties::Property::NO_PROPERTY,1420GNETagProperties::Over::LANE,1421GNETagProperties::Conflicts::POS_LANE,1422GUIIcon::E1, GUIGlObjectType::GLO_E1DETECTOR, currentTag, TL("E1 InductionLoop"),1423{}, FXRGBA(210, 233, 255, 255));1424// set values of attributes1425fillIDAttribute(myTagProperties[currentTag], true);14261427fillLaneAttribute(myTagProperties[currentTag], false);14281429fillPosOverLaneAttribute(myTagProperties[currentTag]);14301431fillFriendlyPosAttribute(myTagProperties[currentTag]);14321433fillNameAttribute(myTagProperties[currentTag]);14341435fillDetectorPeriodAttribute(myTagProperties[currentTag]);14361437fillFileAttribute(myTagProperties[currentTag]);14381439fillVTypesAttribute(myTagProperties[currentTag]);14401441fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);14421443fillDetectPersonsAttribute(myTagProperties[currentTag]);1444}1445currentTag = SUMO_TAG_LANE_AREA_DETECTOR;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,1452GNETagProperties::Conflicts::NO_CONFLICTS,1453GUIIcon::E2, GUIGlObjectType::GLO_E2DETECTOR, currentTag, TL("E2 LaneAreaDetector"),1454{}, FXRGBA(210, 233, 255, 255));1455// set values of attributes1456fillIDAttribute(myTagProperties[currentTag], true);14571458fillLaneAttribute(myTagProperties[currentTag], false);14591460fillPosOverLaneAttribute(myTagProperties[currentTag]);14611462fillFriendlyPosAttribute(myTagProperties[currentTag]);14631464new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,1465GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1466GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1467TL("The length of the detector in meters"),1468"10");14691470fillNameAttribute(myTagProperties[currentTag]);14711472fillDetectorPeriodAttribute(myTagProperties[currentTag]);14731474new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLID,1475GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,1476GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1477TL("The traffic light that triggers aggregation when switching"));14781479fillFileAttribute(myTagProperties[currentTag]);14801481fillVTypesAttribute(myTagProperties[currentTag]);14821483fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);14841485fillDetectPersonsAttribute(myTagProperties[currentTag]);14861487fillDetectorThresholdAttributes(myTagProperties[currentTag], true);14881489new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHOW_DETECTOR,1490GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1491GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1492TL("Show detector in sumo-gui"),1493GNEAttributeCarrier::TRUE_STR);1494}1495currentTag = GNE_TAG_MULTI_LANE_AREA_DETECTOR;1496{1497// set values of tag1498myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1499GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1500GNETagProperties::Property::NO_PROPERTY,1501GNETagProperties::Over::CONSECUTIVE_LANES,1502GNETagProperties::Conflicts::NO_CONFLICTS,1503GUIIcon::E2, GUIGlObjectType::GLO_E2DETECTOR, SUMO_TAG_LANE_AREA_DETECTOR, TL("E2 MultiLaneAreaDetector"),1504{}, FXRGBA(210, 233, 255, 255));1505// set values of attributes1506fillIDAttribute(myTagProperties[currentTag], true);15071508new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LANES,1509GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::SECUENCIAL | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1510GNEAttributeProperties::Edit::EDITMODE,1511TL("The sequence of lane ids in which the detector shall be laid on"));15121513fillPosOverLaneAttribute(myTagProperties[currentTag]);15141515new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,1516GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1517GNEAttributeProperties::Edit::EDITMODE,1518TL("The end position on the lane the detector shall be laid on in meters"));15191520fillFriendlyPosAttribute(myTagProperties[currentTag]);15211522fillDetectorPeriodAttribute(myTagProperties[currentTag]);15231524new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLID,1525GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,1526GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1527TL("The traffic light that triggers aggregation when switching"));15281529fillNameAttribute(myTagProperties[currentTag]);15301531fillFileAttribute(myTagProperties[currentTag]);15321533fillVTypesAttribute(myTagProperties[currentTag]);15341535fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);15361537fillDetectPersonsAttribute(myTagProperties[currentTag]);15381539fillDetectorThresholdAttributes(myTagProperties[currentTag], true);15401541new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHOW_DETECTOR,1542GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1543GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1544TL("Show detector in sumo-gui"),1545GNEAttributeCarrier::TRUE_STR);1546}1547currentTag = SUMO_TAG_ENTRY_EXIT_DETECTOR;1548{1549// set values of tag1550myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1551GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1552GNETagProperties::Property::RTREE,1553GNETagProperties::Over::VIEW,1554GNETagProperties::Conflicts::NO_ADDITIONAL_CHILDREN,1555GUIIcon::E3, GUIGlObjectType::GLO_DET_ENTRYEXIT, currentTag, TL("E3 EntryExitDetector"),1556{}, FXRGBA(210, 233, 255, 255));1557// set values of attributes1558fillIDAttribute(myTagProperties[currentTag], true);15591560new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,1561GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1562GNEAttributeProperties::Edit::EDITMODE,1563TL("X-Y position of detector in editor (Only used in netedit)"),1564"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y15651566fillNameAttribute(myTagProperties[currentTag]);15671568fillDetectorPeriodAttribute(myTagProperties[currentTag]);15691570fillFileAttribute(myTagProperties[currentTag]);15711572fillVTypesAttribute(myTagProperties[currentTag]);15731574fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);15751576fillDetectPersonsAttribute(myTagProperties[currentTag]);15771578new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OPEN_ENTRY,1579GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1580GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1581TL("If set to true, no error will be reported if vehicles leave the detector without first entering it"),1582GNEAttributeCarrier::FALSE_STR);15831584fillDetectorThresholdAttributes(myTagProperties[currentTag], false);15851586new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EXPECT_ARRIVAL,1587GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1588GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1589TL("Whether no warning should be issued when a vehicle arrives within the detector area."),1590GNEAttributeCarrier::FALSE_STR);1591}1592currentTag = SUMO_TAG_DET_ENTRY;1593{1594// set values of tag1595myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1596GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1597GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT,1598GNETagProperties::Over::LANE,1599GNETagProperties::Conflicts::POS_LANE,1600GUIIcon::E3ENTRY, GUIGlObjectType::GLO_DET_ENTRY, currentTag, TL("E3 DetEntry"),1601{SUMO_TAG_ENTRY_EXIT_DETECTOR}, FXRGBA(210, 233, 255, 255));1602// set values of attributes1603fillLaneAttribute(myTagProperties[currentTag], false);16041605fillPosOverLaneAttribute(myTagProperties[currentTag]);16061607fillFriendlyPosAttribute(myTagProperties[currentTag]);16081609}1610currentTag = SUMO_TAG_DET_EXIT;1611{1612// set values of tag1613myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1614GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1615GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT,1616GNETagProperties::Over::LANE,1617GNETagProperties::Conflicts::POS_LANE,1618GUIIcon::E3EXIT, GUIGlObjectType::GLO_DET_EXIT, currentTag, TL("E3 DetExit"),1619{SUMO_TAG_ENTRY_EXIT_DETECTOR}, FXRGBA(210, 233, 255, 255));1620// set values of attributes1621fillLaneAttribute(myTagProperties[currentTag], false);16221623fillPosOverLaneAttribute(myTagProperties[currentTag]);16241625fillFriendlyPosAttribute(myTagProperties[currentTag]);16261627}1628currentTag = SUMO_TAG_INSTANT_INDUCTION_LOOP;1629{1630// set values of tag1631myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),1632GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,1633GNETagProperties::Property::NO_PROPERTY,1634GNETagProperties::Over::LANE,1635GNETagProperties::Conflicts::POS_LANE,1636GUIIcon::E1INSTANT, GUIGlObjectType::GLO_E1DETECTOR_INSTANT, currentTag, TL("E3 DetExit"),1637{}, FXRGBA(210, 233, 255, 255));1638// set values of attributes1639fillIDAttribute(myTagProperties[currentTag], true);16401641fillLaneAttribute(myTagProperties[currentTag], false);16421643fillPosOverLaneAttribute(myTagProperties[currentTag]);16441645fillFriendlyPosAttribute(myTagProperties[currentTag]);16461647fillNameAttribute(myTagProperties[currentTag]);16481649fillFileAttribute(myTagProperties[currentTag]);16501651fillVTypesAttribute(myTagProperties[currentTag]);16521653fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);16541655fillDetectPersonsAttribute(myTagProperties[currentTag]);1656}1657currentTag = SUMO_TAG_ROUTEPROBE;1658{1659// set values of tag1660myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1661GNETagProperties::Type::ADDITIONALELEMENT,1662GNETagProperties::Property::CENTERAFTERCREATION,1663GNETagProperties::Over::EDGE,1664GNETagProperties::Conflicts::NO_CONFLICTS,1665GUIIcon::ROUTEPROBE, GUIGlObjectType::GLO_ROUTEPROBE, currentTag, TL("RouteProbe"),1666{}, FXRGBA(210, 233, 255, 255));1667// set values of attributes1668fillIDAttribute(myTagProperties[currentTag], true);16691670fillEdgeAttribute(myTagProperties[currentTag], false);16711672fillNameAttribute(myTagProperties[currentTag]);16731674new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERIOD,1675GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1676GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1677TL("The frequency in which to report the distribution"),1678"3600");16791680fillFileAttribute(myTagProperties[currentTag]);16811682new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,1683GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1684GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1685TL("The time at which to start generating output"),1686"0");16871688fillVTypesAttribute(myTagProperties[currentTag]);1689}1690currentTag = SUMO_TAG_VSS;1691{1692// set values of tag1693myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1694GNETagProperties::Type::ADDITIONALELEMENT,1695GNETagProperties::Property::RTREE | GNETagProperties::Property::DIALOG,1696GNETagProperties::Over::LANES,1697GNETagProperties::Conflicts::NO_CONFLICTS,1698GUIIcon::VARIABLESPEEDSIGN, GUIGlObjectType::GLO_VSS, currentTag, TL("VariableSpeedSign"),1699{}, FXRGBA(210, 233, 255, 255));1700// set values of attributes1701fillIDAttribute(myTagProperties[currentTag], true);17021703new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LANES,1704GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1705GNEAttributeProperties::Edit::EDITMODE,1706TL("List of Variable Speed Sign lanes"));17071708new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,1709GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1710GNEAttributeProperties::Edit::EDITMODE,1711TL("X-Y position of detector in editor (Only used in netedit)"),1712"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y17131714fillNameAttribute(myTagProperties[currentTag]);17151716fillVTypesAttribute(myTagProperties[currentTag]);1717}1718currentTag = GNE_TAG_VSS_SYMBOL;1719{1720// set values of tag1721myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1722GNETagProperties::Type::ADDITIONALELEMENT,1723GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::SYMBOL,1724GNETagProperties::Over::LANE,1725GNETagProperties::Conflicts::NO_CONFLICTS,1726GUIIcon::LANE, GUIGlObjectType::GLO_VSS, currentTag, TL("VariableSpeedSign (lane)"),1727{SUMO_TAG_VSS}, FXRGBA(210, 233, 255, 255));1728}1729currentTag = SUMO_TAG_STEP;1730{1731// set values of tag1732myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1733GNETagProperties::Type::ADDITIONALELEMENT,1734GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,1735GNETagProperties::Over::VIEW,1736GNETagProperties::Conflicts::NO_CONFLICTS,1737GUIIcon::VSSSTEP, GUIGlObjectType::GLO_VSS_STEP, currentTag, TL("VariableSpeedSign Step"),1738{SUMO_TAG_VSS}, FXRGBA(210, 233, 255, 255));1739// set values of attributes1740new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TIME,1741GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::UNIQUE,1742GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1743TL("Time"));17441745new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,1746GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,1747GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1748TL("Speed"),1749toString(OptionsCont::getOptions().getFloat("default.speed")));1750}1751currentTag = SUMO_TAG_CALIBRATOR;1752{1753// set values of tag1754myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1755GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::CALIBRATOR,1756GNETagProperties::Property::DIALOG | GNETagProperties::Property::CENTERAFTERCREATION,1757GNETagProperties::Over::EDGE,1758GNETagProperties::Conflicts::NO_CONFLICTS,1759GUIIcon::CALIBRATOR, GUIGlObjectType::GLO_CALIBRATOR, currentTag, TL("Calibrator"),1760{}, FXRGBA(253, 255, 206, 255));1761// set values of attributes1762fillIDAttribute(myTagProperties[currentTag], true);17631764fillEdgeAttribute(myTagProperties[currentTag], false);17651766fillPosOverLaneAttribute(myTagProperties[currentTag]);17671768fillNameAttribute(myTagProperties[currentTag]);17691770new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERIOD,1771GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1772GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1773TL("The aggregation interval in which to calibrate the flows. Default is step-length"),1774"1");17751776new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTEPROBE,1777GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,1778GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1779TL("The id of the routeProbe element from which to determine the route distribution for generated vehicles"));17801781fillOutputAttribute(myTagProperties[currentTag]);17821783new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_JAM_DIST_THRESHOLD,1784GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1785GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1786TL("A threshold value to detect and clear unexpected jamming"),1787"0.50");17881789fillVTypesAttribute(myTagProperties[currentTag]);1790}1791currentTag = GNE_TAG_CALIBRATOR_LANE;1792{1793// set values of tag1794myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1795GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::CALIBRATOR,1796GNETagProperties::Property::DIALOG | GNETagProperties::Property::CENTERAFTERCREATION,1797GNETagProperties::Over::LANE,1798GNETagProperties::Conflicts::NO_CONFLICTS,1799GUIIcon::CALIBRATOR, GUIGlObjectType::GLO_CALIBRATOR, SUMO_TAG_CALIBRATOR, TL("CalibratorLane"),1800{}, FXRGBA(253, 255, 206, 255));1801// set values of attributes1802fillIDAttribute(myTagProperties[currentTag], true);18031804fillLaneAttribute(myTagProperties[currentTag], false);18051806fillPosOverLaneAttribute(myTagProperties[currentTag]);18071808fillNameAttribute(myTagProperties[currentTag]);18091810new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERIOD,1811GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1812GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1813TL("The aggregation interval in which to calibrate the flows. Default is step-length"),1814"1");18151816new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTEPROBE,1817GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,1818GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1819TL("The id of the routeProbe element from which to determine the route distribution for generated vehicles"));18201821fillOutputAttribute(myTagProperties[currentTag]);18221823new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_JAM_DIST_THRESHOLD,1824GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,1825GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1826TL("A threshold value to detect and clear unexpected jamming"),1827"0.50");18281829fillVTypesAttribute(myTagProperties[currentTag]);1830}1831currentTag = GNE_TAG_CALIBRATOR_FLOW;1832{1833// set values of tag1834myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1835GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::CALIBRATOR,1836GNETagProperties::Property::XMLCHILD,1837GNETagProperties::Over::VIEW,1838GNETagProperties::Conflicts::NO_CONFLICTS,1839GUIIcon::FLOW, GUIGlObjectType::GLO_CALIBRATOR_FLOW, SUMO_TAG_FLOW, TL("CalibratorFlow"),1840{SUMO_TAG_CALIBRATOR}, FXRGBA(253, 255, 206, 255));1841// set values of attributes1842new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,1843GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1844GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1845TL("First calibrator flow departure time"),1846"0");18471848new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,1849GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1850GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1851TL("End of departure interval"),1852"3600");18531854new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,1855GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::VTYPE,1856GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1857TL("The id of the vehicle type to use for this calibrator flow"),1858DEFAULT_VTYPE_ID);18591860new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,1861GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1862GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1863TL("The id of the route the vehicle shall drive along"));18641865// at least one of the following attributes must be defined18661867new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR,1868GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::ACTIVATABLE,1869GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1870TL("Number of vehicles per hour, equally spaced"),1871"1800");18721873new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,1874GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::ACTIVATABLE,1875GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1876TL("Vehicle's speed"),1877"15");18781879// fill common vehicle attributes1880fillCommonVehicleAttributes(myTagProperties[currentTag]);1881}1882currentTag = SUMO_TAG_REROUTER;1883{1884// set values of tag1885myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1886GNETagProperties::Type::ADDITIONALELEMENT,1887GNETagProperties::Property::RTREE | GNETagProperties::Property::DIALOG,1888GNETagProperties::Over::VIEW,1889GNETagProperties::Conflicts::NO_CONFLICTS,1890GUIIcon::REROUTER, GUIGlObjectType::GLO_REROUTER, currentTag, TL("Rerouter"),1891{}, FXRGBA(255, 213, 213, 255));18921893// set values of attributes1894fillIDAttribute(myTagProperties[currentTag], true);18951896new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,1897GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1898GNEAttributeProperties::Edit::EDITMODE,1899TL("X,Y position in editor (Only used in netedit)"),1900"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y19011902new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EDGES,1903GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,1904GNEAttributeProperties::Edit::EDITMODE,1905TL("An edge id or a list of edge ids where vehicles shall be rerouted"));19061907fillNameAttribute(myTagProperties[currentTag]);19081909new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,1910GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::PROBABILITY | GNEAttributeProperties::Property::DEFAULTVALUE,1911GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1912TL("The probability for vehicle rerouting (0-1)"),1913"1");19141915new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_HALTING_TIME_THRESHOLD,1916GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,1917GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1918TL("The waiting time threshold (in s) that must be reached to activate rerouting (default -1 which disables the threshold)"),1919"0");19201921fillVTypesAttribute(myTagProperties[currentTag]);19221923new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OFF,1924GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1925GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1926TL("Whether the router should be inactive initially (and switched on in the gui)"),1927GNEAttributeCarrier::FALSE_STR);19281929new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OPTIONAL,1930GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,1931GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,1932TL("If rerouter is optional"),1933GNEAttributeCarrier::FALSE_STR);1934}1935currentTag = GNE_TAG_REROUTER_SYMBOL;1936{1937// set values of tag1938myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1939GNETagProperties::Type::ADDITIONALELEMENT,1940GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::SYMBOL,1941GNETagProperties::Over::EDGE,1942GNETagProperties::Conflicts::NO_CONFLICTS,1943GUIIcon::EDGE, GUIGlObjectType::GLO_REROUTER, currentTag, TL("Rerouter (Edge)"),1944{GNE_TAG_REROUTER_SYMBOL}, FXRGBA(255, 213, 213, 255));1945}1946currentTag = SUMO_TAG_INTERVAL;1947{1948// set values of tag1949myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1950GNETagProperties::Type::ADDITIONALELEMENT,1951GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,1952GNETagProperties::Over::VIEW,1953GNETagProperties::Conflicts::NO_CONFLICTS,1954GUIIcon::REROUTERINTERVAL, GUIGlObjectType::GLO_REROUTER_INTERVAL, currentTag, TL("Rerouter Interval"),1955{SUMO_TAG_REROUTER}, FXRGBA(255, 213, 213, 255));1956// set values of attributes1957new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,1958GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE,1959GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1960TL("Begin"),1961"0");19621963new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,1964GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE,1965GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,1966TL("End"),1967"3600");1968}1969currentTag = SUMO_TAG_CLOSING_REROUTE;1970{1971// set values of tag1972myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1973GNETagProperties::Type::ADDITIONALELEMENT,1974GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,1975GNETagProperties::Over::VIEW,1976GNETagProperties::Conflicts::NO_CONFLICTS,1977GUIIcon::CLOSINGREROUTE, GUIGlObjectType::GLO_REROUTER_CLOSINGREROUTE, currentTag, TL("ClosingReroute"),1978{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));1979// set values of attributes1980fillEdgeAttribute(myTagProperties[currentTag], true);19811982fillAllowDisallowAttributes(myTagProperties[currentTag]);1983}1984currentTag = SUMO_TAG_CLOSING_LANE_REROUTE;1985{1986// set values of tag1987myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),1988GNETagProperties::Type::ADDITIONALELEMENT,1989GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,1990GNETagProperties::Over::VIEW,1991GNETagProperties::Conflicts::NO_CONFLICTS,1992GUIIcon::CLOSINGLANEREROUTE, GUIGlObjectType::GLO_REROUTER_CLOSINGLANEREROUTE, currentTag, TL("ClosingLaneReroute"),1993{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));1994// set values of attributes1995fillLaneAttribute(myTagProperties[currentTag], true);19961997fillAllowDisallowAttributes(myTagProperties[currentTag]);1998}1999currentTag = SUMO_TAG_DEST_PROB_REROUTE;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 | GNETagProperties::Property::LISTED,2005GNETagProperties::Over::VIEW,2006GNETagProperties::Conflicts::NO_CONFLICTS,2007GUIIcon::DESTPROBREROUTE, GUIGlObjectType::GLO_REROUTER_DESTPROBREROUTE, currentTag, TL("DestinationProbabilityReroute"),2008{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));2009// set values of attributes2010fillEdgeAttribute(myTagProperties[currentTag], true);20112012new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,2013GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2014GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2015TL("SUMO Probability"),2016"1");2017}2018currentTag = SUMO_TAG_PARKING_AREA_REROUTE;2019{2020// set values of tag2021myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),2022GNETagProperties::Type::ADDITIONALELEMENT,2023GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,2024GNETagProperties::Over::VIEW,2025GNETagProperties::Conflicts::NO_CONFLICTS,2026GUIIcon::PARKINGZONEREROUTE, GUIGlObjectType::GLO_REROUTER_PARKINGAREAREROUTE, currentTag, TL("ParkingAreaReroute"),2027{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));2028// set values of attributes2029auto parking = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING,2030GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM,2031GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2032TL("ParkingArea ID"));2033parking->setSynonym(SUMO_ATTR_ID);20342035new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,2036GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2037GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2038TL("SUMO Probability"),2039"1");20402041new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VISIBLE,2042GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2043GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2044TL("Enable or disable visibility for parking area reroutes"),2045GNEAttributeCarrier::TRUE_STR);2046}2047currentTag = SUMO_TAG_ROUTE_PROB_REROUTE;2048{2049// set values of tag2050myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),2051GNETagProperties::Type::ADDITIONALELEMENT,2052GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,2053GNETagProperties::Over::VIEW,2054GNETagProperties::Conflicts::NO_CONFLICTS,2055GUIIcon::ROUTEPROBREROUTE, GUIGlObjectType::GLO_REROUTER_ROUTEPROBREROUTE, currentTag, TL("RouteProbabilityReroute"),2056{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));2057// set values of attributes2058auto route = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,2059GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM | GNEAttributeProperties::Property::UPDATEGEOMETRY,2060GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2061TL("Route"));2062route->setSynonym(SUMO_ATTR_ID);20632064new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,2065GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2066GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,2067TL("SUMO Probability"),2068"1");2069}2070currentTag = SUMO_TAG_VAPORIZER;2071{2072// set values of tag2073myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),2074GNETagProperties::Type::ADDITIONALELEMENT,2075GNETagProperties::Property::CENTERAFTERCREATION,2076GNETagProperties::Over::EDGE,2077GNETagProperties::Conflicts::NO_CONFLICTS,2078GUIIcon::VAPORIZER, GUIGlObjectType::GLO_VAPORIZER, currentTag, TL("Vaporizer"),2079{}, FXRGBA(253, 255, 206, 255));2080// set values of attributes2081fillEdgeAttribute(myTagProperties[currentTag], true);20822083fillNameAttribute(myTagProperties[currentTag]);20842085new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,2086GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,2087GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2088TL("Start Time"),2089"0");20902091new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,2092GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,2093GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2094TL("End Time"),2095"3600");2096}2097}209820992100void2101GNETagPropertiesDatabase::fillShapeElements() {2102// fill shape ACs2103SumoXMLTag currentTag = SUMO_TAG_POLY;2104{2105// set values of tag2106myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),2107GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,2108GNETagProperties::Property::RTREE | GNETagProperties::Property::GEOSHAPE,2109GNETagProperties::Over::VIEW,2110GNETagProperties::Conflicts::NO_CONFLICTS,2111GUIIcon::POLY, GUIGlObjectType::GLO_POLYGON, currentTag, TL("Polygon"),2112{}, FXRGBA(240, 255, 205, 255));2113// set values of attributes2114fillIDAttribute(myTagProperties[currentTag], true);21152116new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,2117GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,2118GNEAttributeProperties::Edit::EDITMODE,2119TL("The shape of the polygon"));21202121fillNameAttribute(myTagProperties[currentTag]);21222123fillColorAttribute(myTagProperties[currentTag], "red");21242125new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FILL,2126GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2127GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2128TL("An information whether the polygon shall be filled"),2129GNEAttributeCarrier::FALSE_STR);21302131new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINEWIDTH,2132GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2133GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2134TL("The default line width for drawing an unfilled polygon"),2135"1");21362137new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LAYER,2138GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,2139GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2140TL("The layer in which the polygon lies"),2141toString(Shape::DEFAULT_LAYER));21422143new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2144GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,2145GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2146TL("A typename for the polygon"),2147toString(Shape::DEFAULT_TYPE));21482149fillImgFileAttribute(myTagProperties[currentTag], false);21502151new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ANGLE,2152GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE,2153GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2154TL("Angle of rendered image in degree"),2155toString(Shape::DEFAULT_ANGLE));21562157new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEO,2158GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2159GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2160TL("Enable or disable GEO attributes"),2161GNEAttributeCarrier::FALSE_STR);21622163new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEOSHAPE,2164GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2165GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2166TL("A custom geo shape for this polygon"));21672168new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_CLOSE_SHAPE,2169GNEAttributeProperties::Property::BOOL,2170GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,2171TL("Toggle close or open shape"));2172}2173currentTag = SUMO_TAG_POI;2174{2175// set values of tag2176myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),2177GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,2178GNETagProperties::Property::RTREE,2179GNETagProperties::Over::VIEW,2180GNETagProperties::Conflicts::NO_CONFLICTS,2181GUIIcon::POI, GUIGlObjectType::GLO_POI, currentTag, TL("PointOfInterest"),2182{}, FXRGBA(210, 233, 255, 255));2183// set values of attributes2184fillIDAttribute(myTagProperties[currentTag], true);21852186new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,2187GNEAttributeProperties::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_Y2188GNEAttributeProperties::Edit::EDITMODE,2189TL("The position in view"));21902191// fill Poi attributes2192fillCommonPOIAttributes(myTagProperties[currentTag]);2193}2194currentTag = GNE_TAG_POILANE;2195{2196// set values of tag2197myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),2198GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,2199GNETagProperties::Property::NO_PROPERTY,2200GNETagProperties::Over::LANE,2201GNETagProperties::Conflicts::POS_LANE,2202GUIIcon::POILANE, GUIGlObjectType::GLO_POI, SUMO_TAG_POI, TL("PointOfInterestLane"),2203{}, FXRGBA(210, 233, 255, 255));2204// set values of attributes2205fillIDAttribute(myTagProperties[currentTag], true);22062207fillLaneAttribute(myTagProperties[currentTag], false);22082209fillPosOverLaneAttribute(myTagProperties[currentTag]);22102211fillFriendlyPosAttribute(myTagProperties[currentTag]);22122213new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION_LAT,2214GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2215GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2216TL("The lateral offset on the named lane at which the POI is located at"),2217"0");22182219// fill Poi attributes2220fillCommonPOIAttributes(myTagProperties[currentTag]);2221}2222currentTag = GNE_TAG_POIGEO;2223{2224// set values of tag2225myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),2226GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,2227GNETagProperties::Property::RTREE | GNETagProperties::Property::REQUIRE_PROJ,2228GNETagProperties::Over::VIEW,2229GNETagProperties::Conflicts::NO_CONFLICTS,2230GUIIcon::POIGEO, GUIGlObjectType::GLO_POI, SUMO_TAG_POI, TL("PointOfInterestGeo"),2231{}, FXRGBA(210, 233, 255, 255));2232// set values of attributes2233fillIDAttribute(myTagProperties[currentTag], true);22342235// set values of attributes2236new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LON,2237GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2238GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2239TL("The longitude position of the parking vehicle on the view"));22402241new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LAT,2242GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2243GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2244TL("The latitude position of the parking vehicle on the view"));22452246// fill Poi attributes2247fillCommonPOIAttributes(myTagProperties[currentTag]);2248}2249}225022512252void2253GNETagPropertiesDatabase::fillTAZElements() {2254// fill TAZ ACs2255SumoXMLTag currentTag = SUMO_TAG_TAZ;2256{2257// set values of tag2258myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),2259GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::TAZELEMENT,2260GNETagProperties::Property::RTREE,2261GNETagProperties::Over::VIEW,2262GNETagProperties::Conflicts::NO_CONFLICTS,2263GUIIcon::TAZ, GUIGlObjectType::GLO_TAZ, currentTag, TL("TrafficAssignmentZones"));2264// set values of attributes2265fillIDAttribute(myTagProperties[currentTag], true);22662267new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,2268GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2269GNEAttributeProperties::Edit::EDITMODE,2270TL("The shape of the TAZ"));22712272new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CENTER,2273GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2274GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2275TL("TAZ center"));22762277fillNameAttribute(myTagProperties[currentTag]);22782279fillColorAttribute(myTagProperties[currentTag], "red");22802281new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FILL,2282GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2283GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2284TL("An information whether the TAZ shall be filled"),2285GNEAttributeCarrier::FALSE_STR);22862287auto edgesWithin = new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_EDGES_WITHIN,2288GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,2289GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,2290TL("Use the edges within the shape"),2291GNEAttributeCarrier::TRUE_STR);2292edgesWithin->setAlternativeName(TL("edges within"));2293}2294currentTag = SUMO_TAG_TAZSOURCE;2295{2296// set values of tag2297myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),2298GNETagProperties::Type::OTHER,2299GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,2300GNETagProperties::Over::EDGE,2301GNETagProperties::Conflicts::NO_CONFLICTS,2302GUIIcon::TAZEDGE, GUIGlObjectType::GLO_TAZ, currentTag, TL("TAZ Source"),2303{SUMO_TAG_TAZ});2304// set values of attributes2305fillEdgeAttribute(myTagProperties[currentTag], true);23062307new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WEIGHT,2308GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2309GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2310TL("Depart weight associated to this Edge"),2311"1");2312}2313currentTag = SUMO_TAG_TAZSINK;2314{2315// set values of tag2316myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),2317GNETagProperties::Type::OTHER,2318GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,2319GNETagProperties::Over::EDGE,2320GNETagProperties::Conflicts::NO_CONFLICTS,2321GUIIcon::TAZEDGE, GUIGlObjectType::GLO_TAZ, currentTag, TL("TAZ Sink"),2322{SUMO_TAG_TAZ});2323// set values of attributes2324fillEdgeAttribute(myTagProperties[currentTag], true);23252326new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WEIGHT,2327GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2328GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2329TL("Arrival weight associated to this Edge"),2330"1");2331}2332}233323342335void2336GNETagPropertiesDatabase::fillWireElements() {2337// fill wire elements2338SumoXMLTag currentTag = SUMO_TAG_TRACTION_SUBSTATION;2339{2340// set tag properties2341myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),2342GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::WIRE,2343GNETagProperties::Property::RTREE,2344GNETagProperties::Over::VIEW,2345GNETagProperties::Conflicts::NO_CONFLICTS,2346GUIIcon::TRACTION_SUBSTATION, GUIGlObjectType::GLO_TRACTIONSUBSTATION, currentTag, TL("TractionSubstation"));2347// set attribute properties2348fillIDAttribute(myTagProperties[currentTag], true);23492350new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,2351GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2352GNEAttributeProperties::Edit::EDITMODE,2353TL("X-Y position of detector in editor (Only used in netedit)"),2354"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y23552356new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VOLTAGE,2357GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2358GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2359TL("Voltage of at connection point for the overhead wire"),2360"600");23612362new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CURRENTLIMIT,2363GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2364GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2365TL("Current limit of the feeder line"),2366"400");2367}2368currentTag = SUMO_TAG_OVERHEAD_WIRE_SECTION;2369{2370// set tag properties2371myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),2372GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::WIRE,2373GNETagProperties::Property::NO_PROPERTY,2374GNETagProperties::Over::CONSECUTIVE_LANES,2375GNETagProperties::Conflicts::NO_CONFLICTS,2376GUIIcon::OVERHEADWIRE, GUIGlObjectType::GLO_OVERHEAD_WIRE_SEGMENT, currentTag, TL("WireSection"));2377// set attribute properties2378fillIDAttribute(myTagProperties[currentTag], true);23792380new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SUBSTATIONID,2381GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2382GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2383TL("Substation to which the circuit is connected"));23842385new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LANES,2386GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,2387GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2388TL("List of consecutive lanes of the circuit"));23892390new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STARTPOS,2391GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE,2392GNEAttributeProperties::Edit::EDITMODE,2393TL("Starting position in the specified lane"),2394"", "0");23952396new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,2397GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE,2398GNEAttributeProperties::Edit::EDITMODE,2399TL("Ending position in the specified lane"),2400"", "INVALID_DOUBLE");24012402fillFriendlyPosAttribute(myTagProperties[currentTag]);24032404new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRE_FORBIDDEN,2405GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST,2406GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2407TL("Inner lanes, where placing of overhead wire is restricted"));2408}2409currentTag = SUMO_TAG_OVERHEAD_WIRE_CLAMP;2410{2411// set tag properties2412myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),2413GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::WIRE,2414GNETagProperties::Property::NO_PROPERTY,2415GNETagProperties::Over::VIEW,2416GNETagProperties::Conflicts::NO_CONFLICTS,2417GUIIcon::OVERHEADWIRE_CLAMP, GUIGlObjectType::GLO_OVERHEAD_WIRE_SEGMENT, currentTag, TL("OverheadWireClamp"));2418// set attribute properties2419fillIDAttribute(myTagProperties[currentTag], true);24202421new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_START,2422GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2423GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2424TL("ID of the overhead wire segment, to the start of which the overhead wire clamp is connected"));24252426new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_LANESTART,2427GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2428GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2429TL("ID of the overhead wire segment lane of overheadWireIDStartClamp"));24302431new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_END,2432GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2433GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2434TL("ID of the overhead wire segment, to the end of which the overhead wire clamp is connected"));24352436new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_LANEEND,2437GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2438GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2439TL("ID of the overhead wire segment lane of overheadWireIDEndClamp"));2440}2441}244224432444void2445GNETagPropertiesDatabase::fillJuPedSimElements() {2446// fill shape ACs2447SumoXMLTag currentTag = GNE_TAG_JPS_WALKABLEAREA;2448{2449// set values of tag2450myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_JUPEDSIM),2451GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE | GNETagProperties::Type::JUPEDSIM,2452GNETagProperties::Property::RTREE,2453GNETagProperties::Over::VIEW,2454GNETagProperties::Conflicts::NO_CONFLICTS,2455GUIIcon::JPS_WALKABLEAREA, GUIGlObjectType::GLO_JPS_WALKABLEAREA, SUMO_TAG_POLY, TL("JuPedSim WalkableArea"),2456{}, FXRGBA(253, 255, 206, 255));2457// set values of attributes2458fillIDAttribute(myTagProperties[currentTag], true);24592460new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,2461GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,2462GNEAttributeProperties::Edit::EDITMODE,2463TL("The shape of the walkable area"));24642465fillNameAttribute(myTagProperties[currentTag]);24662467new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEO,2468GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2469GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2470TL("Enable or disable GEO attributes"),2471GNEAttributeCarrier::FALSE_STR);24722473new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEOSHAPE,2474GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2475GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2476TL("A custom geo shape for this walkable area"));2477}2478currentTag = GNE_TAG_JPS_OBSTACLE;2479{2480// set values of tag2481myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_JUPEDSIM),2482GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE | GNETagProperties::Type::JUPEDSIM,2483GNETagProperties::Property::RTREE,2484GNETagProperties::Over::VIEW,2485GNETagProperties::Conflicts::NO_CONFLICTS,2486GUIIcon::JPS_OBSTACLE, GUIGlObjectType::GLO_JPS_OBSTACLE, SUMO_TAG_POLY, TL("JuPedSim Obstacle"),2487{}, FXRGBA(253, 255, 206, 255));2488// set values of attributes2489fillIDAttribute(myTagProperties[currentTag], true);24902491new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,2492GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,2493GNEAttributeProperties::Edit::EDITMODE,2494TL("The shape of the obstacle"));24952496fillNameAttribute(myTagProperties[currentTag]);24972498new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEO,2499GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,2500GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2501TL("Enable or disable GEO attributes"),2502GNEAttributeCarrier::FALSE_STR);25032504new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEOSHAPE,2505GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2506GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,2507TL("A custom geo shape for this obstacle"));2508}2509}251025112512void2513GNETagPropertiesDatabase::fillDemandElements() {2514// fill demand elements2515SumoXMLTag currentTag = SUMO_TAG_ROUTE_DISTRIBUTION;2516{2517// set values of tag2518myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2519GNETagProperties::Type::DEMANDELEMENT,2520GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::NOPARAMETERS,2521GNETagProperties::Over::VIEW,2522GNETagProperties::Conflicts::NO_CONFLICTS,2523GUIIcon::ROUTEDISTRIBUTION, GUIGlObjectType::GLO_ROUTE_DISTRIBUTION, currentTag, TL("RouteDistribution"));25242525// set values of attributes2526fillIDAttribute(myTagProperties[currentTag], true);2527}2528currentTag = SUMO_TAG_ROUTE;2529{2530// set values of tag2531myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2532GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::ROUTE,2533GNETagProperties::Property::NO_PROPERTY,2534GNETagProperties::Over::CONSECUTIVE_EDGES,2535GNETagProperties::Conflicts::NO_CONFLICTS,2536GUIIcon::ROUTE, GUIGlObjectType::GLO_ROUTE, currentTag, TL("Route"));25372538// set values of attributes2539fillIDAttribute(myTagProperties[currentTag], true);25402541// add common route attributes2542fillCommonRouteAttributes(myTagProperties[currentTag]);2543}2544currentTag = GNE_TAG_ROUTEREF;2545{2546// set values of tag2547myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2548GNETagProperties::Type::DEMANDELEMENT,2549GNETagProperties::Property::XMLCHILD,2550GNETagProperties::Over::VIEW,2551GNETagProperties::Conflicts::NO_CONFLICTS,2552GUIIcon::ROUTEREF, GUIGlObjectType::GLO_ROUTE_REF, currentTag, TL("Route (Ref)"),2553{SUMO_TAG_ROUTE_DISTRIBUTION});25542555// set values of attributes2556new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_ROUTE_DISTRIBUTION,2557GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2558GNEAttributeProperties::Edit::EDITMODE,2559TL("Route distribution in which this routeRef is defined"));25602561new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_REFID,2562GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2563GNEAttributeProperties::Edit::EDITMODE,2564TL("Reference ID of route"));25652566fillDistributionProbability(myTagProperties[currentTag], true);2567}2568currentTag = GNE_TAG_ROUTE_EMBEDDED;2569{2570// set values of tag2571myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2572GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::ROUTE,2573GNETagProperties::Property::XMLCHILD,2574GNETagProperties::Over::CONSECUTIVE_EDGES,2575GNETagProperties::Conflicts::NO_CONFLICTS,2576GUIIcon::ROUTE, GUIGlObjectType::GLO_ROUTE_EMBEDDED, SUMO_TAG_ROUTE, TL("Route (embedded)"),2577{GNE_TAG_VEHICLE_WITHROUTE, GNE_TAG_FLOW_WITHROUTE});25782579// add common route attributes2580fillCommonRouteAttributes(myTagProperties[currentTag]);2581}2582currentTag = SUMO_TAG_VTYPE_DISTRIBUTION;2583{2584// set values of tag2585myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2586GNETagProperties::Type::DEMANDELEMENT,2587GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::NOPARAMETERS,2588GNETagProperties::Over::VIEW,2589GNETagProperties::Conflicts::NO_CONFLICTS,2590GUIIcon::VTYPEDISTRIBUTION, GUIGlObjectType::GLO_VTYPE_DISTRIBUTION, currentTag, TL("TypeDistribution"));25912592new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DETERMINISTIC,2593GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,2594GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,2595TL("Deterministic distribution"),2596"-1");25972598// set values of attributes2599fillIDAttribute(myTagProperties[currentTag], true);2600}2601currentTag = SUMO_TAG_VTYPE;2602{2603// set values of tag2604myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2605GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VTYPE,2606GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::VCLASS_ICON | GNETagProperties::Property::EXTENDED,2607GNETagProperties::Over::VIEW,2608GNETagProperties::Conflicts::NO_CONFLICTS,2609GUIIcon::VTYPE, GUIGlObjectType::GLO_VTYPE, currentTag, TL("VehicleType"));26102611// set values of attributes2612fillIDAttribute(myTagProperties[currentTag], true);26132614// add common vType attributes2615fillCommonVTypeAttributes(myTagProperties[currentTag]);2616}2617currentTag = GNE_TAG_VTYPEREF;2618{2619// set values of tag2620myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],2621GNETagProperties::Type::DEMANDELEMENT,2622GNETagProperties::Property::XMLCHILD,2623GNETagProperties::Over::VIEW,2624GNETagProperties::Conflicts::NO_CONFLICTS,2625GUIIcon::VTYPEREF, GUIGlObjectType::GLO_VTYPE_REF, currentTag, TL("VType (Ref)"),2626{SUMO_TAG_VTYPE_DISTRIBUTION});26272628// set values of attributes2629new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_VTYPE_DISTRIBUTION,2630GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2631GNEAttributeProperties::Edit::EDITMODE,2632TL("VType distribution in which this vTypeRef is defined"));26332634new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_REFID,2635GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,2636GNEAttributeProperties::Edit::EDITMODE,2637TL("Reference ID of vType"));26382639fillDistributionProbability(myTagProperties[currentTag], true);2640}2641}264226432644void2645GNETagPropertiesDatabase::fillVehicleElements() {2646// fill vehicle ACs2647SumoXMLTag currentTag = SUMO_TAG_TRIP;2648{2649// set values of tag2650myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2651GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,2652GNETagProperties::Property::NO_PROPERTY,2653GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,2654GNETagProperties::Conflicts::NO_CONFLICTS,2655GUIIcon::TRIP, GUIGlObjectType::GLO_TRIP, currentTag, TL("TripEdges"),2656{}, FXRGBA(253, 255, 206, 255), "trip (from-to edges)");26572658// set values of attributes2659fillIDAttribute(myTagProperties[currentTag], true);26602661new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2662GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2663GNEAttributeProperties::Edit::EDITMODE,2664TL("The id of the vehicle type to use for this trip"),2665DEFAULT_VTYPE_ID);26662667new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,2668GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2669GNEAttributeProperties::Edit::EDITMODE,2670TL("The ID of the edge the trip starts at"));26712672new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,2673GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2674GNEAttributeProperties::Edit::EDITMODE,2675TL("The ID of the edge the trip ends at"));26762677new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VIA,2678GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::LIST,2679GNEAttributeProperties::Edit::EDITMODE,2680TL("List of intermediate edge ids which shall be part of the trip"));26812682// add common attributes2683fillCommonVehicleAttributes(myTagProperties[currentTag]);26842685fillDepartAttribute(myTagProperties[currentTag]);2686}2687currentTag = GNE_TAG_TRIP_JUNCTIONS;2688{2689// set values of tag2690myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2691GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,2692GNETagProperties::Property::NO_PROPERTY,2693GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,2694GNETagProperties::Conflicts::NO_CONFLICTS,2695GUIIcon::TRIP_JUNCTIONS, GUIGlObjectType::GLO_TRIP, SUMO_TAG_TRIP, TL("TripJunctions"),2696{}, FXRGBA(255, 213, 213, 255), "trip (from-to junctions)");26972698// set values of attributes2699fillIDAttribute(myTagProperties[currentTag], true);27002701new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2702GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2703GNEAttributeProperties::Edit::EDITMODE,2704TL("The id of the vehicle type to use for this trip"),2705DEFAULT_VTYPE_ID);27062707new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_JUNCTION,2708GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2709GNEAttributeProperties::Edit::EDITMODE,2710TL("The name of the junction the trip starts at"));27112712new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_JUNCTION,2713GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2714GNEAttributeProperties::Edit::EDITMODE,2715TL("The name of the junction the trip ends at"));27162717// add common attributes2718fillCommonVehicleAttributes(myTagProperties[currentTag]);27192720fillDepartAttribute(myTagProperties[currentTag]);2721}2722currentTag = GNE_TAG_TRIP_TAZS;2723{2724// set values of tag2725myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2726GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,2727GNETagProperties::Property::NO_PROPERTY,2728GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,2729GNETagProperties::Conflicts::NO_CONFLICTS,2730GUIIcon::TRIP_TAZS, GUIGlObjectType::GLO_TRIP, SUMO_TAG_TRIP, TL("TripTAZs"),2731{}, FXRGBA(240, 255, 205, 255), "trip (from-to TAZs)");27322733// set values of attributes2734fillIDAttribute(myTagProperties[currentTag], true);27352736new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2737GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2738GNEAttributeProperties::Edit::EDITMODE,2739TL("The id of the vehicle type to use for this trip"),2740DEFAULT_VTYPE_ID);27412742new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_TAZ,2743GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2744GNEAttributeProperties::Edit::EDITMODE,2745TL("The name of the TAZ the trip starts at"));27462747new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_TAZ,2748GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2749GNEAttributeProperties::Edit::EDITMODE,2750TL("The name of the TAZ the trip ends at"));27512752// add common attributes2753fillCommonVehicleAttributes(myTagProperties[currentTag]);27542755fillDepartAttribute(myTagProperties[currentTag]);2756}2757currentTag = SUMO_TAG_VEHICLE;2758{2759// set values of tag2760myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2761GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,2762GNETagProperties::Property::NO_PROPERTY,2763GNETagProperties::Over::ROUTE,2764GNETagProperties::Conflicts::NO_CONFLICTS,2765GUIIcon::VEHICLE, GUIGlObjectType::GLO_VEHICLE, currentTag, TL("VehicleRoute"),2766{}, FXRGBA(210, 233, 255, 255), "vehicle (over route)");27672768// set values of attributes2769fillIDAttribute(myTagProperties[currentTag], true);27702771new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2772GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2773GNEAttributeProperties::Edit::EDITMODE,2774TL("The id of the vehicle type to use for this vehicle"),2775DEFAULT_VTYPE_ID);27762777new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,2778GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2779GNEAttributeProperties::Edit::EDITMODE,2780TL("The id of the route the vehicle shall drive along"));27812782new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,2783GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,2784GNEAttributeProperties::Edit::EDITMODE,2785TL("The index of the edge within route the vehicle starts at"));27862787new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,2788GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,2789GNEAttributeProperties::Edit::EDITMODE,2790TL("The index of the edge within route the vehicle ends at"));27912792// add common attributes2793fillCommonVehicleAttributes(myTagProperties[currentTag]);27942795fillDepartAttribute(myTagProperties[currentTag]);2796}2797currentTag = GNE_TAG_VEHICLE_WITHROUTE;2798{2799// set values of tag2800myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2801GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,2802GNETagProperties::Property::NO_PROPERTY,2803GNETagProperties::Over::ROUTE_EMBEDDED,2804GNETagProperties::Conflicts::NO_CONFLICTS,2805GUIIcon::VEHICLE, GUIGlObjectType::GLO_VEHICLE, SUMO_TAG_VEHICLE, TL("VehicleEmbeddedRoute"),2806{}, FXRGBA(210, 233, 255, 255), "vehicle (embedded route)");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 vehicle"),2815DEFAULT_VTYPE_ID);28162817new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,2818GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,2819GNEAttributeProperties::Edit::EDITMODE,2820TL("The index of the edge within route the vehicle starts at"));28212822new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,2823GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,2824GNEAttributeProperties::Edit::EDITMODE,2825TL("The index of the edge within route the vehicle ends at"));28262827// add common attributes2828fillCommonVehicleAttributes(myTagProperties[currentTag]);28292830fillDepartAttribute(myTagProperties[currentTag]);2831}2832currentTag = SUMO_TAG_FLOW;2833{2834// set values of tag2835myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2836GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,2837GNETagProperties::Property::NO_PROPERTY,2838GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,2839GNETagProperties::Conflicts::NO_CONFLICTS,2840GUIIcon::FLOW, GUIGlObjectType::GLO_FLOW, currentTag, TL("FlowEdges"),2841{}, FXRGBA(253, 255, 206, 255), "flow (from-to edges)");28422843// set values of attributes2844fillIDAttribute(myTagProperties[currentTag], true);28452846new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2847GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2848GNEAttributeProperties::Edit::EDITMODE,2849TL("The id of the flow type to use for this flow"),2850DEFAULT_VTYPE_ID);28512852new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,2853GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2854GNEAttributeProperties::Edit::EDITMODE,2855TL("The ID of the edge the flow starts at"));28562857new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,2858GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2859GNEAttributeProperties::Edit::EDITMODE,2860TL("The ID of the edge the flow ends at"));28612862new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VIA,2863GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::LIST,2864GNEAttributeProperties::Edit::EDITMODE,2865TL("List of intermediate edge ids which shall be part of the flow"));28662867// add common attributes2868fillCommonVehicleAttributes(myTagProperties[currentTag]);28692870// add flow attributes2871fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);2872}2873currentTag = GNE_TAG_FLOW_JUNCTIONS;2874{2875// set values of tag2876myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2877GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,2878GNETagProperties::Property::NO_PROPERTY,2879GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,2880GNETagProperties::Conflicts::NO_CONFLICTS,2881GUIIcon::FLOW_JUNCTIONS, GUIGlObjectType::GLO_FLOW, SUMO_TAG_FLOW, TL("FlowJunctions"),2882{}, FXRGBA(255, 213, 213, 255), "flow (from-to junctions)");28832884// set values of attributes2885fillIDAttribute(myTagProperties[currentTag], true);28862887new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2888GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2889GNEAttributeProperties::Edit::EDITMODE,2890TL("The id of the flow type to use for this flow"),2891DEFAULT_VTYPE_ID);28922893new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_JUNCTION,2894GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2895GNEAttributeProperties::Edit::EDITMODE,2896TL("The name of the junction the flow starts at"));28972898new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_JUNCTION,2899GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2900GNEAttributeProperties::Edit::EDITMODE,2901TL("The name of the junction the flow ends at"));29022903// add common attributes2904fillCommonVehicleAttributes(myTagProperties[currentTag]);29052906// add flow attributes2907fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);2908}2909currentTag = GNE_TAG_FLOW_TAZS;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_TAZ | GNETagProperties::Over::TO_TAZ,2916GNETagProperties::Conflicts::NO_CONFLICTS,2917GUIIcon::FLOW_TAZS, GUIGlObjectType::GLO_FLOW, SUMO_TAG_FLOW, TL("FlowTAZs"),2918{}, FXRGBA(240, 255, 205, 255), "flow (from-to TAZs)");29192920// set values of attributes2921fillIDAttribute(myTagProperties[currentTag], true);29222923new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2924GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2925GNEAttributeProperties::Edit::EDITMODE,2926TL("The id of the flow type to use for this flow"),2927DEFAULT_VTYPE_ID);29282929new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_TAZ,2930GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2931GNEAttributeProperties::Edit::EDITMODE,2932TL("The name of the TAZ the flow starts at"));29332934new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_TAZ,2935GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2936GNEAttributeProperties::Edit::EDITMODE,2937TL("The name of the TAZ the flow ends at"));29382939// add common attributes2940fillCommonVehicleAttributes(myTagProperties[currentTag]);29412942// add flow attributes2943fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);2944}2945currentTag = GNE_TAG_FLOW_ROUTE;2946{2947// set values of tag2948myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2949GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,2950GNETagProperties::Property::NO_PROPERTY,2951GNETagProperties::Over::ROUTE,2952GNETagProperties::Conflicts::NO_CONFLICTS,2953GUIIcon::ROUTEFLOW, GUIGlObjectType::GLO_ROUTEFLOW, SUMO_TAG_FLOW, TL("FlowRoute"),2954{}, FXRGBA(210, 233, 255, 255), "flow (over route)");29552956// set values of attributes2957fillIDAttribute(myTagProperties[currentTag], true);29582959new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,2960GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,2961GNEAttributeProperties::Edit::EDITMODE,2962TL("The id of the flow type to use for this flow"),2963DEFAULT_VTYPE_ID);29642965new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,2966GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,2967GNEAttributeProperties::Edit::EDITMODE,2968TL("The id of the route the flow shall drive along"));29692970new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,2971GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,2972GNEAttributeProperties::Edit::EDITMODE,2973TL("The index of the edge within route the flow starts at"));29742975new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,2976GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,2977GNEAttributeProperties::Edit::EDITMODE,2978TL("The index of the edge within route the flow ends at"));29792980// add common attributes2981fillCommonVehicleAttributes(myTagProperties[currentTag]);29822983// add flow attributes2984fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);2985}2986currentTag = GNE_TAG_FLOW_WITHROUTE;2987{2988// set values of tag2989myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),2990GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,2991GNETagProperties::Property::NO_PROPERTY,2992GNETagProperties::Over::ROUTE_EMBEDDED,2993GNETagProperties::Conflicts::NO_CONFLICTS,2994GUIIcon::ROUTEFLOW, GUIGlObjectType::GLO_ROUTEFLOW, SUMO_TAG_FLOW, TL("FlowEmbeddedRoute"),2995{}, FXRGBA(210, 233, 255, 255), "flow (embedded route)");29962997// set values of attributes2998fillIDAttribute(myTagProperties[currentTag], true);29993000new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,3001GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,3002GNEAttributeProperties::Edit::EDITMODE,3003TL("The id of the flow type to use for this flow"),3004DEFAULT_VTYPE_ID);30053006new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,3007GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,3008GNEAttributeProperties::Edit::EDITMODE,3009TL("The index of the edge within route the flow starts at"));30103011new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,3012GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,3013GNEAttributeProperties::Edit::EDITMODE,3014TL("The index of the edge within route the flow ends at"));30153016// add common attributes3017fillCommonVehicleAttributes(myTagProperties[currentTag]);30183019// add flow attributes3020fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);3021}3022}302330243025void3026GNETagPropertiesDatabase::fillStopElements() {3027// fill stops ACs3028SumoXMLTag currentTag = GNE_TAG_STOP_LANE;3029{3030// set values of tag3031myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3032GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3033GNETagProperties::Property::XMLCHILD,3034GNETagProperties::Over::LANE,3035GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,3036GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopLane"),3037{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3038// set values of attributes3039fillLaneAttribute(myTagProperties[currentTag], false);30403041new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STARTPOS,3042GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3043GNEAttributeProperties::Edit::EDITMODE,3044TL("The begin position on the lane (the lower position on the lane) in meters"));30453046new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,3047GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3048GNEAttributeProperties::Edit::EDITMODE,3049TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));30503051fillFriendlyPosAttribute(myTagProperties[currentTag]);30523053new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION_LAT,3054GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3055GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,3056TL("The lateral offset on the named lane at which the vehicle must stop"));30573058// fill common stop attributes3059fillCommonStopAttributes(myTagProperties[currentTag], false);3060/*3061// netedit attributes3062new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SIZE,3063GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Edit::NETEDITEDITOR,3064TLF("Length of %", myTagProperties[currentTag]->getTagStr()));30653066new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_FORCESIZE,3067GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Edit::NETEDITEDITOR,3068GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,3069TL("Force size during creation"),3070GNEAttributeCarrier::FALSE_STR);30713072new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_REFERENCE,3073GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Edit::NETEDITEDITOR,3074TLF("Reference position used for creating %", myTagProperties[currentTag]->getTagStr()));3075attrProperty->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());3076*/3077}3078currentTag = GNE_TAG_STOP_BUSSTOP;3079{3080// set values of tag3081myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3082GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3083GNETagProperties::Property::XMLCHILD,3084GNETagProperties::Over::BUSSTOP,3085GNETagProperties::Conflicts::NO_CONFLICTS,3086GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopBusStop"),3087{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3088// set values of attributes3089new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BUS_STOP,3090GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3091GNEAttributeProperties::Edit::EDITMODE,3092TL("BusStop associated with this stop"));30933094// fill common stop attributes3095fillCommonStopAttributes(myTagProperties[currentTag], false);3096}3097currentTag = GNE_TAG_STOP_TRAINSTOP;3098{3099// set values of tag3100myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3101GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3102GNETagProperties::Property::XMLCHILD,3103GNETagProperties::Over::TRAINSTOP,3104GNETagProperties::Conflicts::NO_CONFLICTS,3105GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopTrainStop"),3106{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3107// set values of attributes3108new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TRAIN_STOP,3109GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3110GNEAttributeProperties::Edit::EDITMODE,3111TL("TrainStop associated with this stop"));31123113// fill common stop attributes3114fillCommonStopAttributes(myTagProperties[currentTag], false);3115}3116currentTag = GNE_TAG_STOP_CONTAINERSTOP;3117{3118// set values of tag3119myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3120GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3121GNETagProperties::Property::XMLCHILD,3122GNETagProperties::Over::CONTAINERSTOP,3123GNETagProperties::Conflicts::NO_CONFLICTS,3124GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopContainerStop"),3125{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3126// set values of attributes3127new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTAINER_STOP,3128GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3129GNEAttributeProperties::Edit::EDITMODE,3130TL("ContainerStop associated with this stop"));31313132// fill common stop attributes3133fillCommonStopAttributes(myTagProperties[currentTag], false);3134}3135currentTag = GNE_TAG_STOP_CHARGINGSTATION;3136{3137// set values of tag3138myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3139GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3140GNETagProperties::Property::XMLCHILD,3141GNETagProperties::Over::CHARGINGSTATION,3142GNETagProperties::Conflicts::NO_CONFLICTS,3143GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopChargingStation"),3144{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3145// set values of attributes3146new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGING_STATION,3147GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3148GNEAttributeProperties::Edit::EDITMODE,3149TL("ChargingStation associated with this stop"));31503151// fill common stop attributes3152fillCommonStopAttributes(myTagProperties[currentTag], false);3153}3154currentTag = GNE_TAG_STOP_PARKINGAREA;3155{3156// set values of tag3157myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3158GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,3159GNETagProperties::Property::XMLCHILD,3160GNETagProperties::Over::PARKINGAREA,3161GNETagProperties::Conflicts::NO_CONFLICTS,3162GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopParkingArea"),3163{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));3164// set values of attributes3165new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_AREA,3166GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3167GNEAttributeProperties::Edit::EDITMODE,3168TL("ParkingArea associated with this stop"));31693170// fill common stop attributes (no parking)3171fillCommonStopAttributes(myTagProperties[currentTag], false);3172}3173}317431753176void3177GNETagPropertiesDatabase::fillWaypointElements() {3178// fill waypoints ACs3179SumoXMLTag currentTag = GNE_TAG_WAYPOINT_LANE;3180{3181// set values of tag3182myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3183GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,3184GNETagProperties::Property::XMLCHILD,3185GNETagProperties::Over::LANE,3186GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,3187GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointLane"),3188{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3189// set values of attributes3190fillLaneAttribute(myTagProperties[currentTag], false);31913192new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STARTPOS,3193GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3194GNEAttributeProperties::Edit::EDITMODE,3195TL("The begin position on the lane (the lower position on the lane) in meters"));31963197new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,3198GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3199GNEAttributeProperties::Edit::EDITMODE,3200TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));32013202fillFriendlyPosAttribute(myTagProperties[currentTag]);32033204new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION_LAT,3205GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3206GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,3207TL("The lateral offset on the named lane at which the vehicle must waypoint"));32083209// fill common waypoint (stop) attributes3210fillCommonStopAttributes(myTagProperties[currentTag], true);3211/*3212// netedit attributes3213new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SIZE,3214GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Edit::NETEDITEDITOR,3215TLF("Length of %", myTagProperties[currentTag]->getTagStr()));32163217new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_FORCESIZE,3218GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Edit::NETEDITEDITOR,3219GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,3220TL("Force size during creation"),3221GNEAttributeCarrier::FALSE_STR);32223223new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_REFERENCE,3224GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Edit::NETEDITEDITOR,3225TLF("Reference position used for creating %", myTagProperties[currentTag]->getTagStr()));3226attrProperty->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());3227*/3228}3229currentTag = GNE_TAG_WAYPOINT_BUSSTOP;3230{3231// set values of tag3232myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3233GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,3234GNETagProperties::Property::XMLCHILD,3235GNETagProperties::Over::BUSSTOP,3236GNETagProperties::Conflicts::NO_CONFLICTS,3237GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointBusStop"),3238{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3239// set values of attributes3240new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BUS_STOP,3241GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3242GNEAttributeProperties::Edit::EDITMODE,3243TL("BusWaypoint associated with this waypoint"));32443245// fill common waypoint (stop) attributes3246fillCommonStopAttributes(myTagProperties[currentTag], true);3247}3248currentTag = GNE_TAG_WAYPOINT_TRAINSTOP;3249{3250// set values of tag3251myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3252GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,3253GNETagProperties::Property::XMLCHILD,3254GNETagProperties::Over::TRAINSTOP,3255GNETagProperties::Conflicts::NO_CONFLICTS,3256GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointTrainStop"),3257{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3258// set values of attributes3259new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TRAIN_STOP,3260GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3261GNEAttributeProperties::Edit::EDITMODE,3262TL("TrainWaypoint associated with this waypoint"));32633264// fill common waypoint (stop) attributes3265fillCommonStopAttributes(myTagProperties[currentTag], true);3266}3267currentTag = GNE_TAG_WAYPOINT_CONTAINERSTOP;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 | GNETagProperties::Property::NOPARAMETERS,3273GNETagProperties::Over::CONTAINERSTOP,3274GNETagProperties::Conflicts::NO_CONFLICTS,3275GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointContainerStop"),3276{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3277// set values of attributes3278new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTAINER_STOP,3279GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3280GNEAttributeProperties::Edit::EDITMODE,3281TL("ContainerWaypoint associated with this waypoint"));32823283// fill common waypoint (stop) attributes3284fillCommonStopAttributes(myTagProperties[currentTag], true);3285}3286currentTag = GNE_TAG_WAYPOINT_CHARGINGSTATION;3287{3288// set values of tag3289myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3290GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,3291GNETagProperties::Property::XMLCHILD,3292GNETagProperties::Over::CHARGINGSTATION,3293GNETagProperties::Conflicts::NO_CONFLICTS,3294GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointChargingStation"),3295{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3296// set values of attributes3297new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGING_STATION,3298GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3299GNEAttributeProperties::Edit::EDITMODE,3300TL("ChargingStation associated with this waypoint"));33013302// fill common waypoint (stop) attributes3303fillCommonStopAttributes(myTagProperties[currentTag], true);3304}3305currentTag = GNE_TAG_WAYPOINT_PARKINGAREA;3306{3307// set values of tag3308myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),3309GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,3310GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,3311GNETagProperties::Over::PARKINGAREA,3312GNETagProperties::Conflicts::NO_CONFLICTS,3313GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointParkingArea"),3314{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));3315// set values of attributes3316new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_AREA,3317GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,3318GNEAttributeProperties::Edit::EDITMODE,3319TL("ParkingArea associated with this waypoint"));33203321// fill common waypoint (stop) attributes3322fillCommonStopAttributes(myTagProperties[currentTag], true);3323}3324}332533263327void3328GNETagPropertiesDatabase::fillPersonElements() {3329// fill vehicle ACs3330SumoXMLTag currentTag = SUMO_TAG_PERSON;3331{3332// set values of tag3333myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),3334GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSON,3335GNETagProperties::Property::NO_PROPERTY,3336GNETagProperties::Over::VIEW,3337GNETagProperties::Conflicts::NO_CONFLICTS,3338GUIIcon::PERSON, GUIGlObjectType::GLO_PERSON, currentTag, TL("Person"));33393340// add flow attributes3341fillCommonPersonAttributes(myTagProperties[currentTag]);33423343fillDepartAttribute(myTagProperties[currentTag]);33443345}3346currentTag = SUMO_TAG_PERSONFLOW;3347{3348// set values of tag3349myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),3350GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSON | GNETagProperties::Type::FLOW,3351GNETagProperties::Property::NO_PROPERTY,3352GNETagProperties::Over::BUSSTOP,3353GNETagProperties::Conflicts::NO_CONFLICTS,3354GUIIcon::PERSONFLOW, GUIGlObjectType::GLO_PERSONFLOW, currentTag, TL("PersonFlow"));33553356// add flow attributes3357fillCommonPersonAttributes(myTagProperties[currentTag]);33583359// add flow attributes3360fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_PERSONSPERHOUR);3361}3362}336333643365void3366GNETagPropertiesDatabase::fillContainerElements() {3367// fill vehicle ACs3368SumoXMLTag currentTag = SUMO_TAG_CONTAINER;3369{3370// set values of tag3371myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),3372GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINER,3373GNETagProperties::Property::NO_PROPERTY,3374GNETagProperties::Over::BUSSTOP,3375GNETagProperties::Conflicts::NO_CONFLICTS,3376GUIIcon::CONTAINER, GUIGlObjectType::GLO_CONTAINER, currentTag, TL("Container"));33773378// add flow attributes3379fillCommonContainerAttributes(myTagProperties[currentTag]);33803381fillDepartAttribute(myTagProperties[currentTag]);3382}3383currentTag = SUMO_TAG_CONTAINERFLOW;3384{3385// set values of tag3386myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),3387GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINER | GNETagProperties::Type::FLOW,3388GNETagProperties::Property::NO_PROPERTY,3389GNETagProperties::Over::BUSSTOP,3390GNETagProperties::Conflicts::NO_CONFLICTS,3391GUIIcon::CONTAINERFLOW, GUIGlObjectType::GLO_CONTAINERFLOW, currentTag, TL("ContainerFlow"));33923393// add common container attribute3394fillCommonContainerAttributes(myTagProperties[currentTag]);33953396// add flow attributes3397fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_CONTAINERSPERHOUR);3398}3399}340034013402void3403GNETagPropertiesDatabase::fillContainerTransportElements() {3404// declare common tag types and properties3405const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINERPLAN | GNETagProperties::Type::TRANSPORT;3406const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;3407const auto tagPropertyTAZ = GNETagProperties::Property::RTREE | tagProperty;3408const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;3409const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});3410const unsigned int color = FXRGBA(240, 255, 205, 255);3411const GUIIcon icon = GUIIcon::TRANSPORT_EDGE;3412const GUIGlObjectType GLType = GUIGlObjectType::GLO_TRANSPORT;3413const SumoXMLTag xmlTag = SUMO_TAG_TRANSPORT;3414// from edge3415SumoXMLTag currentTag = GNE_TAG_TRANSPORT_EDGE_EDGE;3416{3417// set values of tag3418myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3419GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,3420conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("edge")), parents, color);3421// set values of attributes3422fillPlanParentAttributes(myTagProperties[currentTag]);3423fillTransportCommonAttributes(myTagProperties[currentTag]);3424}3425currentTag = GNE_TAG_TRANSPORT_EDGE_TAZ;3426{3427// set values of tag3428myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3429GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TAZ,3430conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("taz")), parents, color);3431// set values of attributes3432fillPlanParentAttributes(myTagProperties[currentTag]);3433fillTransportCommonAttributes(myTagProperties[currentTag]);3434}3435currentTag = GNE_TAG_TRANSPORT_EDGE_JUNCTION;3436{3437// set values of tag3438myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3439GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_JUNCTION,3440conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("junction")), parents, color);3441// set values of attributes3442fillPlanParentAttributes(myTagProperties[currentTag]);3443fillTransportCommonAttributes(myTagProperties[currentTag]);3444}3445currentTag = GNE_TAG_TRANSPORT_EDGE_BUSSTOP;3446{3447// set values of tag3448myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3449GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,3450conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("busStop")), parents, color);3451// set values of attributes3452fillPlanParentAttributes(myTagProperties[currentTag]);3453fillTransportCommonAttributes(myTagProperties[currentTag]);3454}3455currentTag = GNE_TAG_TRANSPORT_EDGE_TRAINSTOP;3456{3457// set values of tag3458myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3459GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,3460conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("trainStop")), parents, color);3461// set values of attributes3462fillPlanParentAttributes(myTagProperties[currentTag]);3463fillTransportCommonAttributes(myTagProperties[currentTag]);3464}3465currentTag = GNE_TAG_TRANSPORT_EDGE_CONTAINERSTOP;3466{3467// set values of tag3468myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3469GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,3470conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("containerStop")), parents, color);3471// set values of attributes3472fillPlanParentAttributes(myTagProperties[currentTag]);3473fillTransportCommonAttributes(myTagProperties[currentTag]);3474}3475currentTag = GNE_TAG_TRANSPORT_EDGE_CHARGINGSTATION;3476{3477// set values of tag3478myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3479GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,3480conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("chargingStation")), parents, color);3481// set values of attributes3482fillPlanParentAttributes(myTagProperties[currentTag]);3483fillTransportCommonAttributes(myTagProperties[currentTag]);3484}3485currentTag = GNE_TAG_TRANSPORT_EDGE_PARKINGAREA;3486{3487// set values of tag3488myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3489GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,3490conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("parkingArea")), parents, color);3491// set values of attributes3492fillPlanParentAttributes(myTagProperties[currentTag]);3493fillTransportCommonAttributes(myTagProperties[currentTag]);3494}3495// from taz3496currentTag = GNE_TAG_TRANSPORT_TAZ_EDGE;3497{3498// set values of tag3499myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3500GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_EDGE,3501conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("taz"), TL("taz")), parents, color);3502// set values of attributes3503fillPlanParentAttributes(myTagProperties[currentTag]);3504fillTransportCommonAttributes(myTagProperties[currentTag]);3505}3506currentTag = GNE_TAG_TRANSPORT_TAZ_TAZ;3507{3508// set values of tag3509myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3510GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,3511conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("taz"), TL("taz")), parents, color);3512// set values of attributes3513fillPlanParentAttributes(myTagProperties[currentTag]);3514fillTransportCommonAttributes(myTagProperties[currentTag]);3515}3516currentTag = GNE_TAG_TRANSPORT_TAZ_JUNCTION;3517{3518// set values of tag3519myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3520GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_JUNCTION,3521conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("taz"), TL("junction")), parents, color);3522// set values of attributes3523fillPlanParentAttributes(myTagProperties[currentTag]);3524fillTransportCommonAttributes(myTagProperties[currentTag]);3525}3526currentTag = GNE_TAG_TRANSPORT_TAZ_BUSSTOP;3527{3528// set values of tag3529myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3530GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_BUSSTOP,3531conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("taz"), TL("busStop")), parents, color);3532// set values of attributes3533fillPlanParentAttributes(myTagProperties[currentTag]);3534fillTransportCommonAttributes(myTagProperties[currentTag]);3535}3536currentTag = GNE_TAG_TRANSPORT_TAZ_TRAINSTOP;3537{3538// set values of tag3539myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3540GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TRAINSTOP,3541conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("taz"), TL("trainStop")), parents, color);3542// set values of attributes3543fillPlanParentAttributes(myTagProperties[currentTag]);3544fillTransportCommonAttributes(myTagProperties[currentTag]);3545}3546currentTag = GNE_TAG_TRANSPORT_TAZ_CONTAINERSTOP;3547{3548// set values of tag3549myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3550GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CONTAINERSTOP,3551conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("taz"), TL("containerStop")), parents, color);3552// set values of attributes3553fillPlanParentAttributes(myTagProperties[currentTag]);3554fillTransportCommonAttributes(myTagProperties[currentTag]);3555}3556currentTag = GNE_TAG_TRANSPORT_TAZ_CHARGINGSTATION;3557{3558// set values of tag3559myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3560GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CHARGINGSTATION,3561conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("taz"), TL("chargingStation")), parents, color);3562// set values of attributes3563fillPlanParentAttributes(myTagProperties[currentTag]);3564fillTransportCommonAttributes(myTagProperties[currentTag]);3565}3566currentTag = GNE_TAG_TRANSPORT_TAZ_PARKINGAREA;3567{3568// set values of tag3569myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3570GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_PARKINGAREA,3571conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("taz"), TL("parkingArea")), parents, color);3572// set values of attributes3573fillPlanParentAttributes(myTagProperties[currentTag]);3574fillTransportCommonAttributes(myTagProperties[currentTag]);3575}3576// from junction3577currentTag = GNE_TAG_TRANSPORT_JUNCTION_EDGE;3578{3579// set values of tag3580myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3581GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_EDGE,3582conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("junction"), TL("edge")), parents, color);3583// set values of attributes3584fillPlanParentAttributes(myTagProperties[currentTag]);3585fillTransportCommonAttributes(myTagProperties[currentTag]);3586}3587currentTag = GNE_TAG_TRANSPORT_JUNCTION_TAZ;3588{3589// set values of tag3590myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3591GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TAZ,3592conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("junction"), TL("taz")), parents, color);3593// set values of attributes3594fillPlanParentAttributes(myTagProperties[currentTag]);3595fillTransportCommonAttributes(myTagProperties[currentTag]);3596}3597currentTag = GNE_TAG_TRANSPORT_JUNCTION_JUNCTION;3598{3599// set values of tag3600myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3601GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,3602conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("junction"), TL("junction")), parents, color);3603// set values of attributes3604fillPlanParentAttributes(myTagProperties[currentTag]);3605fillTransportCommonAttributes(myTagProperties[currentTag]);3606}3607currentTag = GNE_TAG_TRANSPORT_JUNCTION_BUSSTOP;3608{3609// set values of tag3610myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3611GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_BUSSTOP,3612conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("junction"), TL("busStop")), parents, color);3613// set values of attributes3614fillPlanParentAttributes(myTagProperties[currentTag]);3615fillTransportCommonAttributes(myTagProperties[currentTag]);3616}3617currentTag = GNE_TAG_TRANSPORT_JUNCTION_TRAINSTOP;3618{3619// set values of tag3620myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3621GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TRAINSTOP,3622conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("junction"), TL("trainStop")), parents, color);3623// set values of attributes3624fillPlanParentAttributes(myTagProperties[currentTag]);3625fillTransportCommonAttributes(myTagProperties[currentTag]);3626}3627currentTag = GNE_TAG_TRANSPORT_JUNCTION_CONTAINERSTOP;3628{3629// set values of tag3630myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3631GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CONTAINERSTOP,3632conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("junction"), TL("containerStop")), parents, color);3633// set values of attributes3634fillPlanParentAttributes(myTagProperties[currentTag]);3635fillTransportCommonAttributes(myTagProperties[currentTag]);3636}3637currentTag = GNE_TAG_TRANSPORT_JUNCTION_CHARGINGSTATION;3638{3639// set values of tag3640myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3641GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CHARGINGSTATION,3642conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("junction"), TL("chargingStation")), parents, color);3643// set values of attributes3644fillPlanParentAttributes(myTagProperties[currentTag]);3645fillTransportCommonAttributes(myTagProperties[currentTag]);3646}3647currentTag = GNE_TAG_TRANSPORT_JUNCTION_PARKINGAREA;3648{3649// set values of tag3650myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3651GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_PARKINGAREA,3652conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("junction"), TL("parkingArea")), parents, color);3653// set values of attributes3654fillPlanParentAttributes(myTagProperties[currentTag]);3655fillTransportCommonAttributes(myTagProperties[currentTag]);3656}3657// from busStop3658currentTag = GNE_TAG_TRANSPORT_BUSSTOP_EDGE;3659{3660// set values of tag3661myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3662GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,3663conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("edge")), parents, color);3664// set values of attributes3665fillPlanParentAttributes(myTagProperties[currentTag]);3666fillTransportCommonAttributes(myTagProperties[currentTag]);3667}3668currentTag = GNE_TAG_TRANSPORT_BUSSTOP_TAZ;3669{3670// set values of tag3671myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3672GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TAZ,3673conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("taz")), parents, color);3674// set values of attributes3675fillPlanParentAttributes(myTagProperties[currentTag]);3676fillTransportCommonAttributes(myTagProperties[currentTag]);3677}3678currentTag = GNE_TAG_TRANSPORT_BUSSTOP_JUNCTION;3679{3680// set values of tag3681myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3682GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_JUNCTION,3683conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("junction")), parents, color);3684// set values of attributes3685fillPlanParentAttributes(myTagProperties[currentTag]);3686fillTransportCommonAttributes(myTagProperties[currentTag]);3687}3688currentTag = GNE_TAG_TRANSPORT_BUSSTOP_BUSSTOP;3689{3690// set values of tag3691myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3692GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,3693conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("busStop")), parents, color);3694// set values of attributes3695fillPlanParentAttributes(myTagProperties[currentTag]);3696fillTransportCommonAttributes(myTagProperties[currentTag]);3697}3698currentTag = GNE_TAG_TRANSPORT_BUSSTOP_TRAINSTOP;3699{3700// set values of tag3701myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3702GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,3703conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("trainStop")), parents, color);3704// set values of attributes3705fillPlanParentAttributes(myTagProperties[currentTag]);3706fillTransportCommonAttributes(myTagProperties[currentTag]);3707}3708currentTag = GNE_TAG_TRANSPORT_BUSSTOP_CONTAINERSTOP;3709{3710// set values of tag3711myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3712GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,3713conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("containerStop")), parents, color);3714// set values of attributes3715fillPlanParentAttributes(myTagProperties[currentTag]);3716fillTransportCommonAttributes(myTagProperties[currentTag]);3717}3718currentTag = GNE_TAG_TRANSPORT_BUSSTOP_CHARGINGSTATION;3719{3720// set values of tag3721myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3722GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,3723conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("chargingStation")), parents, color);3724// set values of attributes3725fillPlanParentAttributes(myTagProperties[currentTag]);3726fillTransportCommonAttributes(myTagProperties[currentTag]);3727}3728currentTag = GNE_TAG_TRANSPORT_BUSSTOP_PARKINGAREA;3729{3730// set values of tag3731myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3732GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,3733conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("parkingArea")), parents, color);3734// set values of attributes3735fillPlanParentAttributes(myTagProperties[currentTag]);3736fillTransportCommonAttributes(myTagProperties[currentTag]);3737}3738// from trainStop3739currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_EDGE;3740{3741// set values of tag3742myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3743GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,3744conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("edge")), parents, color);3745// set values of attributes3746fillPlanParentAttributes(myTagProperties[currentTag]);3747fillTransportCommonAttributes(myTagProperties[currentTag]);3748}3749currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_TAZ;3750{3751// set values of tag3752myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3753GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TAZ,3754conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("taz")), parents, color);3755// set values of attributes3756fillPlanParentAttributes(myTagProperties[currentTag]);3757fillTransportCommonAttributes(myTagProperties[currentTag]);3758}3759currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_JUNCTION;3760{3761// set values of tag3762myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3763GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_JUNCTION,3764conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("junction")), parents, color);3765// set values of attributes3766fillPlanParentAttributes(myTagProperties[currentTag]);3767fillTransportCommonAttributes(myTagProperties[currentTag]);3768}3769currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_BUSSTOP;3770{3771// set values of tag3772myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3773GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,3774conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("busStop")), parents, color);3775// set values of attributes3776fillPlanParentAttributes(myTagProperties[currentTag]);3777fillTransportCommonAttributes(myTagProperties[currentTag]);3778}3779currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_TRAINSTOP;3780{3781// set values of tag3782myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3783GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,3784conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("trainStop")), parents, color);3785// set values of attributes3786fillPlanParentAttributes(myTagProperties[currentTag]);3787fillTransportCommonAttributes(myTagProperties[currentTag]);3788}3789currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_CONTAINERSTOP;3790{3791// set values of tag3792myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3793GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,3794conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("containerStop")), parents, color);3795// set values of attributes3796fillPlanParentAttributes(myTagProperties[currentTag]);3797fillTransportCommonAttributes(myTagProperties[currentTag]);3798}3799currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_CHARGINGSTATION;3800{3801// set values of tag3802myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3803GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,3804conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("chargingStation")), parents, color);3805// set values of attributes3806fillPlanParentAttributes(myTagProperties[currentTag]);3807fillTransportCommonAttributes(myTagProperties[currentTag]);3808}3809currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_PARKINGAREA;3810{3811// set values of tag3812myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3813GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,3814conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("parkingArea")), parents, color);3815// set values of attributes3816fillPlanParentAttributes(myTagProperties[currentTag]);3817fillTransportCommonAttributes(myTagProperties[currentTag]);3818}3819// from containerStop3820currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_EDGE;3821{3822// set values of tag3823myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3824GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,3825conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("edge")), parents, color);3826// set values of attributes3827fillPlanParentAttributes(myTagProperties[currentTag]);3828fillTransportCommonAttributes(myTagProperties[currentTag]);3829}3830currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_TAZ;3831{3832// set values of tag3833myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3834GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TAZ,3835conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("taz")), parents, color);3836// set values of attributes3837fillPlanParentAttributes(myTagProperties[currentTag]);3838fillTransportCommonAttributes(myTagProperties[currentTag]);3839}3840currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_JUNCTION;3841{3842// set values of tag3843myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3844GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_JUNCTION,3845conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("junction")), parents, color);3846// set values of attributes3847fillPlanParentAttributes(myTagProperties[currentTag]);3848fillTransportCommonAttributes(myTagProperties[currentTag]);3849}3850currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_BUSSTOP;3851{3852// set values of tag3853myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3854GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,3855conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("busStop")), parents, color);3856// set values of attributes3857fillPlanParentAttributes(myTagProperties[currentTag]);3858fillTransportCommonAttributes(myTagProperties[currentTag]);3859}3860currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_TRAINSTOP;3861{3862// set values of tag3863myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3864GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,3865conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("trainStop")), parents, color);3866// set values of attributes3867fillPlanParentAttributes(myTagProperties[currentTag]);3868fillTransportCommonAttributes(myTagProperties[currentTag]);3869}3870currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_CONTAINERSTOP;3871{3872// set values of tag3873myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3874GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,3875conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("containerStop")), parents, color);3876// set values of attributes3877fillPlanParentAttributes(myTagProperties[currentTag]);3878fillTransportCommonAttributes(myTagProperties[currentTag]);3879}3880currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_CHARGINGSTATION;3881{3882// set values of tag3883myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3884GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,3885conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("chargingStation")), parents, color);3886// set values of attributes3887fillPlanParentAttributes(myTagProperties[currentTag]);3888fillTransportCommonAttributes(myTagProperties[currentTag]);3889}3890currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_PARKINGAREA;3891{3892// set values of tag3893myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3894GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,3895conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("parkingArea")), parents, color);38963897// set values of attributes3898fillPlanParentAttributes(myTagProperties[currentTag]);3899fillTransportCommonAttributes(myTagProperties[currentTag]);3900}3901// from chargingStation3902currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_EDGE;3903{3904// set values of tag3905myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3906GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,3907conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("edge")), parents, color);3908// set values of attributes3909fillPlanParentAttributes(myTagProperties[currentTag]);3910fillTransportCommonAttributes(myTagProperties[currentTag]);3911}3912currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_TAZ;3913{3914// set values of tag3915myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3916GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TAZ,3917conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("taz")), parents, color);3918// set values of attributes3919fillPlanParentAttributes(myTagProperties[currentTag]);3920fillTransportCommonAttributes(myTagProperties[currentTag]);3921}3922currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_JUNCTION;3923{3924// set values of tag3925myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3926GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_JUNCTION,3927conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("junction")), parents, color);3928// set values of attributes3929fillPlanParentAttributes(myTagProperties[currentTag]);3930fillTransportCommonAttributes(myTagProperties[currentTag]);3931}3932currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_BUSSTOP;3933{3934// set values of tag3935myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3936GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,3937conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("busStop")), parents, color);3938// set values of attributes3939fillPlanParentAttributes(myTagProperties[currentTag]);3940fillTransportCommonAttributes(myTagProperties[currentTag]);3941}3942currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_TRAINSTOP;3943{3944// set values of tag3945myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3946GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,3947conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("trainStop")), parents, color);3948// set values of attributes3949fillPlanParentAttributes(myTagProperties[currentTag]);3950fillTransportCommonAttributes(myTagProperties[currentTag]);3951}3952currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_CONTAINERSTOP;3953{3954// set values of tag3955myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3956GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,3957conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("containerStop")), parents, color);3958// set values of attributes3959fillPlanParentAttributes(myTagProperties[currentTag]);3960fillTransportCommonAttributes(myTagProperties[currentTag]);3961}3962currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_CHARGINGSTATION;3963{3964// set values of tag3965myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3966GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,3967conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("chargingStation")), parents, color);3968// set values of attributes3969fillPlanParentAttributes(myTagProperties[currentTag]);3970fillTransportCommonAttributes(myTagProperties[currentTag]);3971}3972currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_PARKINGAREA;3973{3974// set values of tag3975myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3976GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,3977conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("parkingArea")), parents, color);3978// set values of attributes3979fillPlanParentAttributes(myTagProperties[currentTag]);3980fillTransportCommonAttributes(myTagProperties[currentTag]);3981}3982// from parkingArea3983currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_EDGE;3984{3985// set values of tag3986myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,3987GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,3988conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("edge")), parents, color);3989// set values of attributes3990fillPlanParentAttributes(myTagProperties[currentTag]);3991fillTransportCommonAttributes(myTagProperties[currentTag]);3992}3993currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_TAZ;3994{3995// set values of tag3996myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagPropertyTAZ,3997GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TAZ,3998conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("taz")), parents, color);3999// set values of attributes4000fillPlanParentAttributes(myTagProperties[currentTag]);4001fillTransportCommonAttributes(myTagProperties[currentTag]);4002}4003currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_JUNCTION;4004{4005// set values of tag4006myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,4007GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_JUNCTION,4008conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("junction")), parents, color);4009// set values of attributes4010fillPlanParentAttributes(myTagProperties[currentTag]);4011fillTransportCommonAttributes(myTagProperties[currentTag]);4012}4013currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_BUSSTOP;4014{4015// set values of tag4016myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,4017GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,4018conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("busStop")), parents, color);4019// set values of attributes4020fillPlanParentAttributes(myTagProperties[currentTag]);4021fillTransportCommonAttributes(myTagProperties[currentTag]);4022}4023currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_TRAINSTOP;4024{4025// set values of tag4026myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,4027GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,4028conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("trainStop")), parents, color);4029// set values of attributes4030fillPlanParentAttributes(myTagProperties[currentTag]);4031fillTransportCommonAttributes(myTagProperties[currentTag]);4032}4033currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_CONTAINERSTOP;4034{4035// set values of tag4036myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,4037GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,4038conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("containerStop")), parents, color);4039// set values of attributes4040fillPlanParentAttributes(myTagProperties[currentTag]);4041fillTransportCommonAttributes(myTagProperties[currentTag]);4042}4043currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_CHARGINGSTATION;4044{4045// set values of tag4046myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,4047GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,4048conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("chargingStation")), parents, color);4049// set values of attributes4050fillPlanParentAttributes(myTagProperties[currentTag]);4051fillTransportCommonAttributes(myTagProperties[currentTag]);4052}4053currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_PARKINGAREA;4054{4055// set values of tag4056myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,4057GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,4058conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("parkingArea")), parents, color);4059// set values of attributes4060fillPlanParentAttributes(myTagProperties[currentTag]);4061fillTransportCommonAttributes(myTagProperties[currentTag]);4062}4063}406440654066void4067GNETagPropertiesDatabase::fillContainerTranshipElements() {4068// declare common tag types and properties4069const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINERPLAN | GNETagProperties::Type::TRANSHIP;4070const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;4071const auto tagPropertyTAZ = GNETagProperties::Property::RTREE | tagProperty;4072const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;4073const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});4074const unsigned int color = FXRGBA(210, 233, 255, 255);4075const GUIIcon icon = GUIIcon::TRANSHIP_EDGES;4076const GUIGlObjectType GLType = GUIGlObjectType::GLO_TRANSHIP;4077const SumoXMLTag xmlTag = SUMO_TAG_TRANSHIP;4078// fill tags4079SumoXMLTag currentTag = GNE_TAG_TRANSHIP_EDGES;4080{4081// set values of tag4082myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4083GNETagProperties::Over::CONSECUTIVE_EDGES,4084conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Tranship"), TL("edges")), parents, color);4085// set values of attributes4086fillPlanParentAttributes(myTagProperties[currentTag]);4087fillTranshipCommonAttributes(myTagProperties[currentTag]);4088}4089// from edge4090currentTag = GNE_TAG_TRANSHIP_EDGE_EDGE;4091{4092// set values of tag4093myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4094GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,4095conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("edge")), parents, color);4096// set values of attributes4097fillPlanParentAttributes(myTagProperties[currentTag]);4098fillTranshipCommonAttributes(myTagProperties[currentTag]);4099}4100currentTag = GNE_TAG_TRANSHIP_EDGE_TAZ;4101{4102// set values of tag4103myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4104GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TAZ,4105conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("taz")), parents, color);4106// set values of attributes4107fillPlanParentAttributes(myTagProperties[currentTag]);4108fillTranshipCommonAttributes(myTagProperties[currentTag]);4109}4110currentTag = GNE_TAG_TRANSHIP_EDGE_JUNCTION;4111{4112// set values of tag4113myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4114GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_JUNCTION,4115conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("junction")), parents, color);4116// set values of attributes4117fillPlanParentAttributes(myTagProperties[currentTag]);4118fillTranshipCommonAttributes(myTagProperties[currentTag]);4119}4120currentTag = GNE_TAG_TRANSHIP_EDGE_BUSSTOP;4121{4122// set values of tag4123myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4124GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,4125conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("busStop")), parents, color);4126// set values of attributes4127fillPlanParentAttributes(myTagProperties[currentTag]);4128fillTranshipCommonAttributes(myTagProperties[currentTag]);4129}4130currentTag = GNE_TAG_TRANSHIP_EDGE_TRAINSTOP;4131{4132// set values of tag4133myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4134GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,4135conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("trainStop")), parents, color);4136// set values of attributes4137fillPlanParentAttributes(myTagProperties[currentTag]);4138fillTranshipCommonAttributes(myTagProperties[currentTag]);4139}4140currentTag = GNE_TAG_TRANSHIP_EDGE_CONTAINERSTOP;4141{4142// set values of tag4143myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4144GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,4145conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("containerStop")), parents, color);4146// set values of attributes4147fillPlanParentAttributes(myTagProperties[currentTag]);4148fillTranshipCommonAttributes(myTagProperties[currentTag]);4149}4150currentTag = GNE_TAG_TRANSHIP_EDGE_CHARGINGSTATION;4151{4152// set values of tag4153myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4154GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,4155conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("chargingStation")), parents, color);4156// set values of attributes4157fillPlanParentAttributes(myTagProperties[currentTag]);4158fillTranshipCommonAttributes(myTagProperties[currentTag]);4159}4160currentTag = GNE_TAG_TRANSHIP_EDGE_PARKINGAREA;4161{4162// set values of tag4163myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4164GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,4165conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("parkingArea")), parents, color);4166// set values of attributes4167fillPlanParentAttributes(myTagProperties[currentTag]);4168fillTranshipCommonAttributes(myTagProperties[currentTag]);4169}4170// from taz4171currentTag = GNE_TAG_TRANSHIP_TAZ_EDGE;4172{4173// set values of tag4174myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4175GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_EDGE,4176conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("taz"), TL("taz")), parents, color);4177// set values of attributes4178fillPlanParentAttributes(myTagProperties[currentTag]);4179fillTranshipCommonAttributes(myTagProperties[currentTag]);4180}4181currentTag = GNE_TAG_TRANSHIP_TAZ_TAZ;4182{4183// set values of tag4184myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4185GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,4186conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("taz"), TL("taz")), parents, color);4187// set values of attributes4188fillPlanParentAttributes(myTagProperties[currentTag]);4189fillTranshipCommonAttributes(myTagProperties[currentTag]);4190}4191currentTag = GNE_TAG_TRANSHIP_TAZ_JUNCTION;4192{4193// set values of tag4194myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4195GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_JUNCTION,4196conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("taz"), TL("junction")), parents, color);4197// set values of attributes4198fillPlanParentAttributes(myTagProperties[currentTag]);4199fillTranshipCommonAttributes(myTagProperties[currentTag]);4200}4201currentTag = GNE_TAG_TRANSHIP_TAZ_BUSSTOP;4202{4203// set values of tag4204myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4205GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_BUSSTOP,4206conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("taz"), TL("busStop")), parents, color);4207// set values of attributes4208fillPlanParentAttributes(myTagProperties[currentTag]);4209fillTranshipCommonAttributes(myTagProperties[currentTag]);4210}4211currentTag = GNE_TAG_TRANSHIP_TAZ_TRAINSTOP;4212{4213// set values of tag4214myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4215GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TRAINSTOP,4216conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("taz"), TL("trainStop")), parents, color);4217// set values of attributes4218fillPlanParentAttributes(myTagProperties[currentTag]);4219fillTranshipCommonAttributes(myTagProperties[currentTag]);4220}4221currentTag = GNE_TAG_TRANSHIP_TAZ_CONTAINERSTOP;4222{4223// set values of tag4224myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4225GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CONTAINERSTOP,4226conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("taz"), TL("containerStop")), parents, color);4227// set values of attributes4228fillPlanParentAttributes(myTagProperties[currentTag]);4229fillTranshipCommonAttributes(myTagProperties[currentTag]);4230}4231currentTag = GNE_TAG_TRANSHIP_TAZ_CHARGINGSTATION;4232{4233// set values of tag4234myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4235GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CHARGINGSTATION,4236conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("taz"), TL("chargingStation")), parents, color);4237// set values of attributes4238fillPlanParentAttributes(myTagProperties[currentTag]);4239fillTranshipCommonAttributes(myTagProperties[currentTag]);4240}4241currentTag = GNE_TAG_TRANSHIP_TAZ_PARKINGAREA;4242{4243// set values of tag4244myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4245GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_PARKINGAREA,4246conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("taz"), TL("parkingArea")), parents, color);4247// set values of attributes4248fillPlanParentAttributes(myTagProperties[currentTag]);4249fillTranshipCommonAttributes(myTagProperties[currentTag]);4250}4251// from junction4252currentTag = GNE_TAG_TRANSHIP_JUNCTION_EDGE;4253{4254// set values of tag4255myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4256GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_EDGE,4257conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("junction"), TL("edge")), parents, color);4258// set values of attributes4259fillPlanParentAttributes(myTagProperties[currentTag]);4260fillTranshipCommonAttributes(myTagProperties[currentTag]);4261}4262currentTag = GNE_TAG_TRANSHIP_JUNCTION_TAZ;4263{4264// set values of tag4265myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4266GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TAZ,4267conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("junction"), TL("taz")), parents, color);4268// set values of attributes4269fillPlanParentAttributes(myTagProperties[currentTag]);4270fillTranshipCommonAttributes(myTagProperties[currentTag]);4271}4272currentTag = GNE_TAG_TRANSHIP_JUNCTION_JUNCTION;4273{4274// set values of tag4275myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4276GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,4277conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("junction"), TL("junction")), parents, color);4278// set values of attributes4279fillPlanParentAttributes(myTagProperties[currentTag]);4280fillTranshipCommonAttributes(myTagProperties[currentTag]);4281}4282currentTag = GNE_TAG_TRANSHIP_JUNCTION_BUSSTOP;4283{4284// set values of tag4285myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4286GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_BUSSTOP,4287conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("junction"), TL("busStop")), parents, color);4288// set values of attributes4289fillPlanParentAttributes(myTagProperties[currentTag]);4290fillTranshipCommonAttributes(myTagProperties[currentTag]);4291}4292currentTag = GNE_TAG_TRANSHIP_JUNCTION_TRAINSTOP;4293{4294// set values of tag4295myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4296GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TRAINSTOP,4297conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("junction"), TL("trainStop")), parents, color);4298// set values of attributes4299fillPlanParentAttributes(myTagProperties[currentTag]);4300fillTranshipCommonAttributes(myTagProperties[currentTag]);4301}4302currentTag = GNE_TAG_TRANSHIP_JUNCTION_CONTAINERSTOP;4303{4304// set values of tag4305myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4306GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CONTAINERSTOP,4307conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("junction"), TL("containerStop")), parents, color);4308// set values of attributes4309fillPlanParentAttributes(myTagProperties[currentTag]);4310fillTranshipCommonAttributes(myTagProperties[currentTag]);4311}4312currentTag = GNE_TAG_TRANSHIP_JUNCTION_CHARGINGSTATION;4313{4314// set values of tag4315myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4316GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CHARGINGSTATION,4317conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("junction"), TL("chargingStation")), parents, color);4318// set values of attributes4319fillPlanParentAttributes(myTagProperties[currentTag]);4320fillTranshipCommonAttributes(myTagProperties[currentTag]);4321}4322currentTag = GNE_TAG_TRANSHIP_JUNCTION_PARKINGAREA;4323{4324// set values of tag4325myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4326GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_PARKINGAREA,4327conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("junction"), TL("parkingArea")), parents, color);4328// set values of attributes4329fillPlanParentAttributes(myTagProperties[currentTag]);4330fillTranshipCommonAttributes(myTagProperties[currentTag]);4331}4332// from busStop4333currentTag = GNE_TAG_TRANSHIP_BUSSTOP_EDGE;4334{4335// set values of tag4336myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4337GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,4338conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("edge")), parents, color);4339// set values of attributes4340fillPlanParentAttributes(myTagProperties[currentTag]);4341fillTranshipCommonAttributes(myTagProperties[currentTag]);4342}4343currentTag = GNE_TAG_TRANSHIP_BUSSTOP_TAZ;4344{4345// set values of tag4346myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4347GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TAZ,4348conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("taz")), parents, color);4349// set values of attributes4350fillPlanParentAttributes(myTagProperties[currentTag]);4351fillTranshipCommonAttributes(myTagProperties[currentTag]);4352}4353currentTag = GNE_TAG_TRANSHIP_BUSSTOP_JUNCTION;4354{4355// set values of tag4356myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4357GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_JUNCTION,4358conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("junction")), parents, color);4359// set values of attributes4360fillPlanParentAttributes(myTagProperties[currentTag]);4361fillTranshipCommonAttributes(myTagProperties[currentTag]);4362}4363currentTag = GNE_TAG_TRANSHIP_BUSSTOP_BUSSTOP;4364{4365// set values of tag4366myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4367GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,4368conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("busStop")), parents, color);4369// set values of attributes4370fillPlanParentAttributes(myTagProperties[currentTag]);4371fillTranshipCommonAttributes(myTagProperties[currentTag]);4372}4373currentTag = GNE_TAG_TRANSHIP_BUSSTOP_TRAINSTOP;4374{4375// set values of tag4376myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4377GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,4378conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("trainStop")), parents, color);4379// set values of attributes4380fillPlanParentAttributes(myTagProperties[currentTag]);4381fillTranshipCommonAttributes(myTagProperties[currentTag]);4382}4383currentTag = GNE_TAG_TRANSHIP_BUSSTOP_CONTAINERSTOP;4384{4385// set values of tag4386myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4387GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,4388conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("containerStop")), parents, color);4389// set values of attributes4390fillPlanParentAttributes(myTagProperties[currentTag]);4391fillTranshipCommonAttributes(myTagProperties[currentTag]);4392}4393currentTag = GNE_TAG_TRANSHIP_BUSSTOP_CHARGINGSTATION;4394{4395// set values of tag4396myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4397GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,4398conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("chargingStation")), parents, color);4399// set values of attributes4400fillPlanParentAttributes(myTagProperties[currentTag]);4401fillTranshipCommonAttributes(myTagProperties[currentTag]);4402}4403currentTag = GNE_TAG_TRANSHIP_BUSSTOP_PARKINGAREA;4404{4405// set values of tag4406myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4407GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,4408conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("parkingArea")), parents, color);4409// set values of attributes4410fillPlanParentAttributes(myTagProperties[currentTag]);4411fillTranshipCommonAttributes(myTagProperties[currentTag]);4412}4413// from trainStop4414currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_EDGE;4415{4416// set values of tag4417myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4418GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,4419conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("edge")), parents, color);4420// set values of attributes4421fillPlanParentAttributes(myTagProperties[currentTag]);4422fillTranshipCommonAttributes(myTagProperties[currentTag]);4423}4424currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_TAZ;4425{4426// set values of tag4427myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4428GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TAZ,4429conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("taz")), parents, color);4430// set values of attributes4431fillPlanParentAttributes(myTagProperties[currentTag]);4432fillTranshipCommonAttributes(myTagProperties[currentTag]);4433}4434currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_JUNCTION;4435{4436// set values of tag4437myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4438GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_JUNCTION,4439conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("junction")), parents, color);4440// set values of attributes4441fillPlanParentAttributes(myTagProperties[currentTag]);4442fillTranshipCommonAttributes(myTagProperties[currentTag]);4443}4444currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_BUSSTOP;4445{4446// set values of tag4447myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4448GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,4449conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("busStop")), parents, color);4450// set values of attributes4451fillPlanParentAttributes(myTagProperties[currentTag]);4452fillTranshipCommonAttributes(myTagProperties[currentTag]);4453}4454currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_TRAINSTOP;4455{4456// set values of tag4457myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4458GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,4459conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("trainStop")), parents, color);4460// set values of attributes4461fillPlanParentAttributes(myTagProperties[currentTag]);4462fillTranshipCommonAttributes(myTagProperties[currentTag]);4463}4464currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_CONTAINERSTOP;4465{4466// set values of tag4467myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4468GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,4469conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("containerStop")), parents, color);4470// set values of attributes4471fillPlanParentAttributes(myTagProperties[currentTag]);4472fillTranshipCommonAttributes(myTagProperties[currentTag]);4473}4474currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_CHARGINGSTATION;4475{4476// set values of tag4477myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4478GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,4479conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("chargingStation")), parents, color);4480// set values of attributes4481fillPlanParentAttributes(myTagProperties[currentTag]);4482fillTranshipCommonAttributes(myTagProperties[currentTag]);4483}4484currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_PARKINGAREA;4485{4486// set values of tag4487myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4488GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,4489conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("parkingArea")), parents, color);4490// set values of attributes4491fillPlanParentAttributes(myTagProperties[currentTag]);4492fillTranshipCommonAttributes(myTagProperties[currentTag]);4493}4494// from containerStop4495currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_EDGE;4496{4497// set values of tag4498myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4499GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,4500conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("edge")), parents, color);4501// set values of attributes4502fillPlanParentAttributes(myTagProperties[currentTag]);4503fillTranshipCommonAttributes(myTagProperties[currentTag]);4504}4505currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_TAZ;4506{4507// set values of tag4508myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4509GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TAZ,4510conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("taz")), parents, color);4511// set values of attributes4512fillPlanParentAttributes(myTagProperties[currentTag]);4513fillTranshipCommonAttributes(myTagProperties[currentTag]);4514}4515currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_JUNCTION;4516{4517// set values of tag4518myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4519GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_JUNCTION,4520conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("junction")), parents, color);4521// set values of attributes4522fillPlanParentAttributes(myTagProperties[currentTag]);4523fillTranshipCommonAttributes(myTagProperties[currentTag]);4524}4525currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_BUSSTOP;4526{4527// set values of tag4528myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4529GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,4530conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("busStop")), parents, color);4531// set values of attributes4532fillPlanParentAttributes(myTagProperties[currentTag]);4533fillTranshipCommonAttributes(myTagProperties[currentTag]);4534}4535currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_TRAINSTOP;4536{4537// set values of tag4538myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4539GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,4540conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("trainStop")), parents, color);4541// set values of attributes4542fillPlanParentAttributes(myTagProperties[currentTag]);4543fillTranshipCommonAttributes(myTagProperties[currentTag]);4544}4545currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_CONTAINERSTOP;4546{4547// set values of tag4548myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4549GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,4550conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("containerStop")), parents, color);4551// set values of attributes4552fillPlanParentAttributes(myTagProperties[currentTag]);4553fillTranshipCommonAttributes(myTagProperties[currentTag]);4554}4555currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_CHARGINGSTATION;4556{4557// set values of tag4558myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4559GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,4560conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("chargingStation")), parents, color);4561// set values of attributes4562fillPlanParentAttributes(myTagProperties[currentTag]);4563fillTranshipCommonAttributes(myTagProperties[currentTag]);4564}4565currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_PARKINGAREA;4566{4567// set values of tag4568myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4569GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,4570conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("parkingArea")), parents, color);4571// set values of attributes4572fillPlanParentAttributes(myTagProperties[currentTag]);4573fillTranshipCommonAttributes(myTagProperties[currentTag]);4574}4575// from chargingStation4576currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_EDGE;4577{4578// set values of tag4579myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4580GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,4581conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("edge")), parents, color);4582// set values of attributes4583fillPlanParentAttributes(myTagProperties[currentTag]);4584fillTranshipCommonAttributes(myTagProperties[currentTag]);4585}4586currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_TAZ;4587{4588// set values of tag4589myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4590GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TAZ,4591conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("taz")), parents, color);4592// set values of attributes4593fillPlanParentAttributes(myTagProperties[currentTag]);4594fillTranshipCommonAttributes(myTagProperties[currentTag]);4595}4596currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_JUNCTION;4597{4598// set values of tag4599myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4600GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_JUNCTION,4601conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("junction")), parents, color);4602// set values of attributes4603fillPlanParentAttributes(myTagProperties[currentTag]);4604fillTranshipCommonAttributes(myTagProperties[currentTag]);4605}4606currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_BUSSTOP;4607{4608// set values of tag4609myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4610GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,4611conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("busStop")), parents, color);4612// set values of attributes4613fillPlanParentAttributes(myTagProperties[currentTag]);4614fillTranshipCommonAttributes(myTagProperties[currentTag]);4615}4616currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_TRAINSTOP;4617{4618// set values of tag4619myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4620GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,4621conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("trainStop")), parents, color);4622// set values of attributes4623fillPlanParentAttributes(myTagProperties[currentTag]);4624fillTranshipCommonAttributes(myTagProperties[currentTag]);4625}4626currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_CONTAINERSTOP;4627{4628// set values of tag4629myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4630GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,4631conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("containerStop")), parents, color);4632// set values of attributes4633fillPlanParentAttributes(myTagProperties[currentTag]);4634fillTranshipCommonAttributes(myTagProperties[currentTag]);4635}4636currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_CHARGINGSTATION;4637{4638// set values of tag4639myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4640GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,4641conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("chargingStation")), parents, color);4642// set values of attributes4643fillPlanParentAttributes(myTagProperties[currentTag]);4644fillTranshipCommonAttributes(myTagProperties[currentTag]);4645}4646currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_PARKINGAREA;4647{4648// set values of tag4649myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4650GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,4651conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("parkingArea")), parents, color);4652// set values of attributes4653fillPlanParentAttributes(myTagProperties[currentTag]);4654fillTranshipCommonAttributes(myTagProperties[currentTag]);4655}4656// from parkingArea4657currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_EDGE;4658{4659// set values of tag4660myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4661GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,4662conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("edge")), parents, color);4663// set values of attributes4664fillPlanParentAttributes(myTagProperties[currentTag]);4665fillTranshipCommonAttributes(myTagProperties[currentTag]);4666}4667currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_TAZ;4668{4669// set values of tag4670myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagPropertyTAZ,4671GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TAZ,4672conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("taz")), parents, color);4673// set values of attributes4674fillPlanParentAttributes(myTagProperties[currentTag]);4675fillTranshipCommonAttributes(myTagProperties[currentTag]);4676}4677currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_JUNCTION;4678{4679// set values of tag4680myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4681GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_JUNCTION,4682conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("junction")), parents, color);4683// set values of attributes4684fillPlanParentAttributes(myTagProperties[currentTag]);4685fillTranshipCommonAttributes(myTagProperties[currentTag]);4686}4687currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_BUSSTOP;4688{4689// set values of tag4690myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4691GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,4692conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("busStop")), parents, color);4693// set values of attributes4694fillPlanParentAttributes(myTagProperties[currentTag]);4695fillTranshipCommonAttributes(myTagProperties[currentTag]);4696}4697currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_TRAINSTOP;4698{4699// set values of tag4700myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4701GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,4702conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("trainStop")), parents, color);4703// set values of attributes4704fillPlanParentAttributes(myTagProperties[currentTag]);4705fillTranshipCommonAttributes(myTagProperties[currentTag]);4706}4707currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_CONTAINERSTOP;4708{4709// set values of tag4710myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4711GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,4712conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("containerStop")), parents, color);4713// set values of attributes4714fillPlanParentAttributes(myTagProperties[currentTag]);4715fillTranshipCommonAttributes(myTagProperties[currentTag]);4716}4717currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_CHARGINGSTATION;4718{4719// set values of tag4720myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4721GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,4722conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("chargingStation")), parents, color);4723// set values of attributes4724fillPlanParentAttributes(myTagProperties[currentTag]);4725fillTranshipCommonAttributes(myTagProperties[currentTag]);4726}4727currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_PARKINGAREA;4728{4729// set values of tag4730myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,4731GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,4732conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("parkingArea")), parents, color);4733// set values of attributes4734fillPlanParentAttributes(myTagProperties[currentTag]);4735fillTranshipCommonAttributes(myTagProperties[currentTag]);4736}4737}473847394740void4741GNETagPropertiesDatabase::fillContainerStopElements() {4742// declare common tag types and properties4743const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINERPLAN | GNETagProperties::Type::STOP_CONTAINER;4744const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;4745const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;4746const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});4747const unsigned int color = FXRGBA(255, 213, 213, 255);4748const GUIIcon icon = GUIIcon::STOPELEMENT;4749const GUIGlObjectType GLType = GUIGlObjectType::GLO_STOP_PLAN;4750const SumoXMLTag xmlTag = SUMO_TAG_STOP;4751// fill tags4752SumoXMLTag currentTag = GNE_TAG_STOPCONTAINER_EDGE;4753{4754// set values of tag4755myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4756GNETagProperties::Over::EDGE,4757conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("edge")), parents, color);47584759// set values of attributes4760fillPlanParentAttributes(myTagProperties[currentTag]);4761fillPlanStopCommonAttributes(myTagProperties[currentTag]);4762}4763currentTag = GNE_TAG_STOPCONTAINER_BUSSTOP;4764{4765// set values of tag4766myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4767GNETagProperties::Over::BUSSTOP,4768conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("busStop")), parents, color);47694770// set values of attributes4771fillPlanParentAttributes(myTagProperties[currentTag]);4772fillPlanStopCommonAttributes(myTagProperties[currentTag]);4773}4774currentTag = GNE_TAG_STOPCONTAINER_TRAINSTOP;4775{4776// set values of tag4777myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4778GNETagProperties::Over::TRAINSTOP,4779conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("trainStop")), parents, color);47804781// set values of attributes4782fillPlanParentAttributes(myTagProperties[currentTag]);4783fillPlanStopCommonAttributes(myTagProperties[currentTag]);4784}4785currentTag = GNE_TAG_STOPCONTAINER_CONTAINERSTOP;4786{4787// set values of tag4788myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4789GNETagProperties::Over::CONTAINERSTOP,4790conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("containerStop")), parents, color);47914792// set values of attributes4793fillPlanParentAttributes(myTagProperties[currentTag]);4794fillPlanStopCommonAttributes(myTagProperties[currentTag]);4795}4796currentTag = GNE_TAG_STOPCONTAINER_CHARGINGSTATION;4797{4798myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4799GNETagProperties::Over::CHARGINGSTATION,4800conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("chargingStation")), parents, color);48014802// set values of attributes4803fillPlanParentAttributes(myTagProperties[currentTag]);4804fillPlanStopCommonAttributes(myTagProperties[currentTag]);4805}4806currentTag = GNE_TAG_STOPCONTAINER_PARKINGAREA;4807{4808// set values of tag4809myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,4810GNETagProperties::Over::PARKINGAREA,4811conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("parkingArea")), parents, color);48124813// set values of attributes4814fillPlanParentAttributes(myTagProperties[currentTag]);4815fillPlanStopCommonAttributes(myTagProperties[currentTag]);4816}4817}481848194820void4821GNETagPropertiesDatabase::fillPersonPlanTrips() {4822// declare common tag types and properties4823const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::PERSONTRIP;4824const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;4825const auto tagPropertyTAZ = GNETagProperties::Property::RTREE | tagProperty;4826const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;4827const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});4828const unsigned int color = FXRGBA(253, 255, 206, 255);4829const GUIIcon icon = GUIIcon::PERSONTRIP_EDGE;4830const GUIGlObjectType GLType = GUIGlObjectType::GLO_PERSONTRIP;4831const SumoXMLTag xmlTag = SUMO_TAG_PERSONTRIP;4832// from edge4833SumoXMLTag currentTag = GNE_TAG_PERSONTRIP_EDGE_EDGE;4834{4835// set values of tag4836myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4837GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,4838conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("edge")), parents, color);4839// set values of attributes4840fillPlanParentAttributes(myTagProperties[currentTag]);4841fillPersonTripCommonAttributes(myTagProperties[currentTag]);4842}4843currentTag = GNE_TAG_PERSONTRIP_EDGE_TAZ;4844{4845// set values of tag4846myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4847GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TAZ,4848conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("taz")), parents, color);4849// set values of attributes4850fillPlanParentAttributes(myTagProperties[currentTag]);4851fillPersonTripCommonAttributes(myTagProperties[currentTag]);4852}4853currentTag = GNE_TAG_PERSONTRIP_EDGE_JUNCTION;4854{4855// set values of tag4856myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4857GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_JUNCTION,4858conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("junction")), parents, color);4859// set values of attributes4860fillPlanParentAttributes(myTagProperties[currentTag]);4861fillPersonTripCommonAttributes(myTagProperties[currentTag]);4862}4863currentTag = GNE_TAG_PERSONTRIP_EDGE_BUSSTOP;4864{4865// set values of tag4866myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4867GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,4868conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("busStop")), parents, color);4869// set values of attributes4870fillPlanParentAttributes(myTagProperties[currentTag]);4871fillPersonTripCommonAttributes(myTagProperties[currentTag]);4872}4873currentTag = GNE_TAG_PERSONTRIP_EDGE_TRAINSTOP;4874{4875// set values of tag4876myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4877GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,4878conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("trainStop")), parents, color);4879// set values of attributes4880fillPlanParentAttributes(myTagProperties[currentTag]);4881fillPersonTripCommonAttributes(myTagProperties[currentTag]);4882}4883currentTag = GNE_TAG_PERSONTRIP_EDGE_CONTAINERSTOP;4884{4885// set values of tag4886myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4887GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,4888conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("containerStop")), parents, color);4889// set values of attributes4890fillPlanParentAttributes(myTagProperties[currentTag]);4891fillPersonTripCommonAttributes(myTagProperties[currentTag]);4892}4893currentTag = GNE_TAG_PERSONTRIP_EDGE_CHARGINGSTATION;4894{4895// set values of tag4896myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4897GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,4898conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("chargingStation")), parents, color);4899// set values of attributes4900fillPlanParentAttributes(myTagProperties[currentTag]);4901fillPersonTripCommonAttributes(myTagProperties[currentTag]);4902}4903currentTag = GNE_TAG_PERSONTRIP_EDGE_PARKINGAREA;4904{4905// set values of tag4906myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4907GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,4908conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("parkingArea")), parents, color);4909// set values of attributes4910fillPlanParentAttributes(myTagProperties[currentTag]);4911fillPersonTripCommonAttributes(myTagProperties[currentTag]);4912}4913// from taz4914currentTag = GNE_TAG_PERSONTRIP_TAZ_EDGE;4915{4916// set values of tag4917myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4918GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_EDGE,4919conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("taz")), parents, color);4920// set values of attributes4921fillPlanParentAttributes(myTagProperties[currentTag]);4922fillPersonTripCommonAttributes(myTagProperties[currentTag]);4923}4924currentTag = GNE_TAG_PERSONTRIP_TAZ_TAZ;4925{4926// set values of tag4927myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4928GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,4929conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("taz")), parents, color);4930// set values of attributes4931fillPlanParentAttributes(myTagProperties[currentTag]);4932fillPersonTripCommonAttributes(myTagProperties[currentTag]);4933}4934currentTag = GNE_TAG_PERSONTRIP_TAZ_JUNCTION;4935{4936// set values of tag4937myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4938GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_JUNCTION,4939conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("junction")), parents, color);4940// set values of attributes4941fillPlanParentAttributes(myTagProperties[currentTag]);4942fillPersonTripCommonAttributes(myTagProperties[currentTag]);4943}4944currentTag = GNE_TAG_PERSONTRIP_TAZ_BUSSTOP;4945{4946// set values of tag4947myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4948GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_BUSSTOP,4949conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("busStop")), parents, color);4950// set values of attributes4951fillPlanParentAttributes(myTagProperties[currentTag]);4952fillPersonTripCommonAttributes(myTagProperties[currentTag]);4953}4954currentTag = GNE_TAG_PERSONTRIP_TAZ_TRAINSTOP;4955{4956// set values of tag4957myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4958GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TRAINSTOP,4959conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("trainStop")), parents, color);4960// set values of attributes4961fillPlanParentAttributes(myTagProperties[currentTag]);4962fillPersonTripCommonAttributes(myTagProperties[currentTag]);4963}4964currentTag = GNE_TAG_PERSONTRIP_TAZ_CONTAINERSTOP;4965{4966// set values of tag4967myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4968GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CONTAINERSTOP,4969conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("containerStop")), parents, color);4970// set values of attributes4971fillPlanParentAttributes(myTagProperties[currentTag]);4972fillPersonTripCommonAttributes(myTagProperties[currentTag]);4973}4974currentTag = GNE_TAG_PERSONTRIP_TAZ_CHARGINGSTATION;4975{4976// set values of tag4977myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4978GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CHARGINGSTATION,4979conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("chargingStation")), parents, color);4980// set values of attributes4981fillPlanParentAttributes(myTagProperties[currentTag]);4982fillPersonTripCommonAttributes(myTagProperties[currentTag]);4983}4984currentTag = GNE_TAG_PERSONTRIP_TAZ_PARKINGAREA;4985{4986// set values of tag4987myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,4988GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_PARKINGAREA,4989conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("parkingArea")), parents, color);4990// set values of attributes4991fillPlanParentAttributes(myTagProperties[currentTag]);4992fillPersonTripCommonAttributes(myTagProperties[currentTag]);4993}4994// from junction4995currentTag = GNE_TAG_PERSONTRIP_JUNCTION_EDGE;4996{4997// set values of tag4998myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,4999GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_EDGE,5000conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("edge")), parents, color);5001// set values of attributes5002fillPlanParentAttributes(myTagProperties[currentTag]);5003fillPersonTripCommonAttributes(myTagProperties[currentTag]);5004}5005currentTag = GNE_TAG_PERSONTRIP_JUNCTION_TAZ;5006{5007// set values of tag5008myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,5009GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TAZ,5010conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("taz")), parents, color);5011// set values of attributes5012fillPlanParentAttributes(myTagProperties[currentTag]);5013fillPersonTripCommonAttributes(myTagProperties[currentTag]);5014}5015currentTag = GNE_TAG_PERSONTRIP_JUNCTION_JUNCTION;5016{5017// set values of tag5018myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5019GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,5020conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("junction")), parents, color);5021// set values of attributes5022fillPlanParentAttributes(myTagProperties[currentTag]);5023fillPersonTripCommonAttributes(myTagProperties[currentTag]);5024}5025currentTag = GNE_TAG_PERSONTRIP_JUNCTION_BUSSTOP;5026{5027// set values of tag5028myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5029GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_BUSSTOP,5030conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("busStop")), parents, color);5031// set values of attributes5032fillPlanParentAttributes(myTagProperties[currentTag]);5033fillPersonTripCommonAttributes(myTagProperties[currentTag]);5034}5035currentTag = GNE_TAG_PERSONTRIP_JUNCTION_TRAINSTOP;5036{5037// set values of tag5038myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5039GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TRAINSTOP,5040conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("trainStop")), parents, color);5041// set values of attributes5042fillPlanParentAttributes(myTagProperties[currentTag]);5043fillPersonTripCommonAttributes(myTagProperties[currentTag]);5044}5045currentTag = GNE_TAG_PERSONTRIP_JUNCTION_CONTAINERSTOP;5046{5047// set values of tag5048myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5049GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CONTAINERSTOP,5050conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("containerStop")), parents, color);5051// set values of attributes5052fillPlanParentAttributes(myTagProperties[currentTag]);5053fillPersonTripCommonAttributes(myTagProperties[currentTag]);5054}5055currentTag = GNE_TAG_PERSONTRIP_JUNCTION_CHARGINGSTATION;5056{5057// set values of tag5058myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5059GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CHARGINGSTATION,5060conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("chargingStation")), parents, color);5061// set values of attributes5062fillPlanParentAttributes(myTagProperties[currentTag]);5063fillPersonTripCommonAttributes(myTagProperties[currentTag]);5064}5065currentTag = GNE_TAG_PERSONTRIP_JUNCTION_PARKINGAREA;5066{5067// set values of tag5068myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5069GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_PARKINGAREA,5070conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("parkingArea")), parents, color);5071// set values of attributes5072fillPlanParentAttributes(myTagProperties[currentTag]);5073fillPersonTripCommonAttributes(myTagProperties[currentTag]);5074}5075// from busStop5076currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_EDGE;5077{5078// set values of tag5079myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5080GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,5081conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("edge")), parents, color);5082// set values of attributes5083fillPlanParentAttributes(myTagProperties[currentTag]);5084fillPersonTripCommonAttributes(myTagProperties[currentTag]);5085}5086currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_TAZ;5087{5088// set values of tag5089myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,5090GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TAZ,5091conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("taz")), parents, color);5092// set values of attributes5093fillPlanParentAttributes(myTagProperties[currentTag]);5094fillPersonTripCommonAttributes(myTagProperties[currentTag]);5095}5096currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_JUNCTION;5097{5098// set values of tag5099myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5100GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_JUNCTION,5101conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("junction")), parents, color);5102// set values of attributes5103fillPlanParentAttributes(myTagProperties[currentTag]);5104fillPersonTripCommonAttributes(myTagProperties[currentTag]);5105}5106currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_BUSSTOP;5107{5108// set values of tag5109myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5110GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,5111conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("busStop")), parents, color);5112// set values of attributes5113fillPlanParentAttributes(myTagProperties[currentTag]);5114fillPersonTripCommonAttributes(myTagProperties[currentTag]);5115}5116currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_TRAINSTOP;5117{5118// set values of tag5119myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5120GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,5121conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("trainStop")), parents, color);5122// set values of attributes5123fillPlanParentAttributes(myTagProperties[currentTag]);5124fillPersonTripCommonAttributes(myTagProperties[currentTag]);5125}5126currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_CONTAINERSTOP;5127{5128// set values of tag5129myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5130GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5131conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("containerStop")), parents, color);5132// set values of attributes5133fillPlanParentAttributes(myTagProperties[currentTag]);5134fillPersonTripCommonAttributes(myTagProperties[currentTag]);5135}5136currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_CHARGINGSTATION;5137{5138// set values of tag5139myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5140GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5141conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("chargingStation")), parents, color);5142// set values of attributes5143fillPlanParentAttributes(myTagProperties[currentTag]);5144fillPersonTripCommonAttributes(myTagProperties[currentTag]);5145}5146currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_PARKINGAREA;5147{5148// set values of tag5149myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5150GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,5151conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("parkingArea")), parents, color);5152// set values of attributes5153fillPlanParentAttributes(myTagProperties[currentTag]);5154fillPersonTripCommonAttributes(myTagProperties[currentTag]);5155}5156// from trainStop5157currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_EDGE;5158{5159// set values of tag5160myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5161GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,5162conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("edge")), parents, color);5163// set values of attributes5164fillPlanParentAttributes(myTagProperties[currentTag]);5165fillPersonTripCommonAttributes(myTagProperties[currentTag]);5166}5167currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_TAZ;5168{5169// set values of tag5170myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,5171GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TAZ,5172conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("taz")), parents, color);5173// set values of attributes5174fillPlanParentAttributes(myTagProperties[currentTag]);5175fillPersonTripCommonAttributes(myTagProperties[currentTag]);5176}5177currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_JUNCTION;5178{5179// set values of tag5180myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5181GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_JUNCTION,5182conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("junction")), parents, color);5183// set values of attributes5184fillPlanParentAttributes(myTagProperties[currentTag]);5185fillPersonTripCommonAttributes(myTagProperties[currentTag]);5186}5187currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_BUSSTOP;5188{5189// set values of tag5190myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5191GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,5192conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("busStop")), parents, color);5193// set values of attributes5194fillPlanParentAttributes(myTagProperties[currentTag]);5195fillPersonTripCommonAttributes(myTagProperties[currentTag]);5196}5197currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_TRAINSTOP;5198{5199// set values of tag5200myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5201GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,5202conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("trainStop")), parents, color);5203// set values of attributes5204fillPlanParentAttributes(myTagProperties[currentTag]);5205fillPersonTripCommonAttributes(myTagProperties[currentTag]);5206}5207currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_CONTAINERSTOP;5208{5209// set values of tag5210myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5211GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5212conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("containerStop")), parents, color);5213// set values of attributes5214fillPlanParentAttributes(myTagProperties[currentTag]);5215fillPersonTripCommonAttributes(myTagProperties[currentTag]);5216}5217currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_CHARGINGSTATION;5218{5219// set values of tag5220myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5221GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5222conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("chargingStation")), parents, color);5223// set values of attributes5224fillPlanParentAttributes(myTagProperties[currentTag]);5225fillPersonTripCommonAttributes(myTagProperties[currentTag]);5226}5227currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_PARKINGAREA;5228{5229// set values of tag5230myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5231GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,5232conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("parkingArea")), parents, color);5233// set values of attributes5234fillPlanParentAttributes(myTagProperties[currentTag]);5235fillPersonTripCommonAttributes(myTagProperties[currentTag]);5236}5237// from containerStop5238currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_EDGE;5239{5240// set values of tag5241myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5242GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,5243conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("edge")), parents, color);5244// set values of attributes5245fillPlanParentAttributes(myTagProperties[currentTag]);5246fillPersonTripCommonAttributes(myTagProperties[currentTag]);5247}5248currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_TAZ;5249{5250// set values of tag5251myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,5252GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TAZ,5253conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("taz")), parents, color);5254// set values of attributes5255fillPlanParentAttributes(myTagProperties[currentTag]);5256fillPersonTripCommonAttributes(myTagProperties[currentTag]);5257}5258currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_JUNCTION;5259{5260// set values of tag5261myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5262GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_JUNCTION,5263conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("junction")), parents, color);5264// set values of attributes5265fillPlanParentAttributes(myTagProperties[currentTag]);5266fillPersonTripCommonAttributes(myTagProperties[currentTag]);5267}5268currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_BUSSTOP;5269{5270// set values of tag5271myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5272GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,5273conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("busStop")), parents, color);5274// set values of attributes5275fillPlanParentAttributes(myTagProperties[currentTag]);5276fillPersonTripCommonAttributes(myTagProperties[currentTag]);5277}5278currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_TRAINSTOP;5279{5280// set values of tag5281myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5282GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,5283conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("trainStop")), parents, color);5284// set values of attributes5285fillPlanParentAttributes(myTagProperties[currentTag]);5286fillPersonTripCommonAttributes(myTagProperties[currentTag]);5287}5288currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_CONTAINERSTOP;5289{5290// set values of tag5291myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5292GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5293conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("containerStop")), parents, color);5294// set values of attributes5295fillPlanParentAttributes(myTagProperties[currentTag]);5296fillPersonTripCommonAttributes(myTagProperties[currentTag]);5297}5298currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_CHARGINGSTATION;5299{5300// set values of tag5301myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5302GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5303conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("chargingStation")), parents, color);5304// set values of attributes5305fillPlanParentAttributes(myTagProperties[currentTag]);5306fillPersonTripCommonAttributes(myTagProperties[currentTag]);5307}5308currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_PARKINGAREA;5309{5310// set values of tag5311myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5312GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,5313conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("parkingArea")), parents, color);5314// set values of attributes5315fillPlanParentAttributes(myTagProperties[currentTag]);5316fillPersonTripCommonAttributes(myTagProperties[currentTag]);5317}5318// from chargingStation5319currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_EDGE;5320{5321// set values of tag5322myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5323GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,5324conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("edge")), parents, color);5325// set values of attributes5326fillPlanParentAttributes(myTagProperties[currentTag]);5327fillPersonTripCommonAttributes(myTagProperties[currentTag]);5328}5329currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_TAZ;5330{5331// set values of tag5332myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,5333GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TAZ,5334conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("taz")), parents, color);5335// set values of attributes5336fillPlanParentAttributes(myTagProperties[currentTag]);5337fillPersonTripCommonAttributes(myTagProperties[currentTag]);5338}5339currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_JUNCTION;5340{5341// set values of tag5342myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5343GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_JUNCTION,5344conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("junction")), parents, color);5345// set values of attributes5346fillPlanParentAttributes(myTagProperties[currentTag]);5347fillPersonTripCommonAttributes(myTagProperties[currentTag]);5348}5349currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_BUSSTOP;5350{5351// set values of tag5352myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5353GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,5354conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("busStop")), parents, color);5355// set values of attributes5356fillPlanParentAttributes(myTagProperties[currentTag]);5357fillPersonTripCommonAttributes(myTagProperties[currentTag]);5358}5359currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_TRAINSTOP;5360{5361// set values of tag5362myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5363GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,5364conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("trainStop")), parents, color);5365// set values of attributes5366fillPlanParentAttributes(myTagProperties[currentTag]);5367fillPersonTripCommonAttributes(myTagProperties[currentTag]);5368}5369currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_CONTAINERSTOP;5370{5371// set values of tag5372myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5373GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,5374conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("containerStop")), parents, color);5375// set values of attributes5376fillPlanParentAttributes(myTagProperties[currentTag]);5377fillPersonTripCommonAttributes(myTagProperties[currentTag]);5378}5379currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_CHARGINGSTATION;5380{5381// set values of tag5382myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5383GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,5384conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("chargingStation")), parents, color);5385// set values of attributes5386fillPlanParentAttributes(myTagProperties[currentTag]);5387fillPersonTripCommonAttributes(myTagProperties[currentTag]);5388}5389currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_PARKINGAREA;5390{5391// set values of tag5392myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5393GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,5394conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("parkingArea")), parents, color);5395// set values of attributes5396fillPlanParentAttributes(myTagProperties[currentTag]);5397fillPersonTripCommonAttributes(myTagProperties[currentTag]);5398}5399// from parkingArea5400currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_EDGE;5401{5402// set values of tag5403myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5404GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,5405conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("edge")), parents, color);5406// set values of attributes5407fillPlanParentAttributes(myTagProperties[currentTag]);5408fillPersonTripCommonAttributes(myTagProperties[currentTag]);5409}5410currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_TAZ;5411{5412// set values of tag5413myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,5414GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TAZ,5415conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("taz")), parents, color);5416// set values of attributes5417fillPlanParentAttributes(myTagProperties[currentTag]);5418fillPersonTripCommonAttributes(myTagProperties[currentTag]);5419}5420currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_JUNCTION;5421{5422// set values of tag5423myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5424GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_JUNCTION,5425conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("junction")), parents, color);5426// set values of attributes5427fillPlanParentAttributes(myTagProperties[currentTag]);5428fillPersonTripCommonAttributes(myTagProperties[currentTag]);5429}5430currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_BUSSTOP;5431{5432// set values of tag5433myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5434GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,5435conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("busStop")), parents, color);5436// set values of attributes5437fillPlanParentAttributes(myTagProperties[currentTag]);5438fillPersonTripCommonAttributes(myTagProperties[currentTag]);5439}5440currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_TRAINSTOP;5441{5442// set values of tag5443myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5444GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,5445conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("trainStop")), parents, color);5446// set values of attributes5447fillPlanParentAttributes(myTagProperties[currentTag]);5448fillPersonTripCommonAttributes(myTagProperties[currentTag]);5449}5450currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_CONTAINERSTOP;5451{5452// set values of tag5453myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5454GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,5455conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("containerStop")), parents, color);5456// set values of attributes5457fillPlanParentAttributes(myTagProperties[currentTag]);5458fillPersonTripCommonAttributes(myTagProperties[currentTag]);5459}5460currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_CHARGINGSTATION;5461{5462// set values of tag5463myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5464GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,5465conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("chargingStation")), parents, color);5466// set values of attributes5467fillPlanParentAttributes(myTagProperties[currentTag]);5468fillPersonTripCommonAttributes(myTagProperties[currentTag]);5469}5470currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_PARKINGAREA;5471{5472// set values of tag5473myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,5474GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,5475conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("parkingArea")), parents, color);5476// set values of attributes5477fillPlanParentAttributes(myTagProperties[currentTag]);5478fillPersonTripCommonAttributes(myTagProperties[currentTag]);5479}5480}548154825483void5484GNETagPropertiesDatabase::fillPersonPlanWalks() {5485// declare common tag types and properties5486const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::WALK;5487const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;5488const auto tagPropertyTAZ = GNETagProperties::Property::RTREE | tagProperty;5489const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;5490const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});5491const unsigned int color = FXRGBA(240, 255, 205, 255);5492const GUIIcon icon = GUIIcon::WALK_EDGES;5493const GUIGlObjectType GLType = GUIGlObjectType::GLO_WALK;5494const SumoXMLTag xmlTag = SUMO_TAG_WALK;5495// fill tags5496SumoXMLTag currentTag = GNE_TAG_WALK_EDGES;5497{5498// set values of tag5499myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5500GNETagProperties::Over::CONSECUTIVE_EDGES,5501conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Walk"), TL("edges")), parents, color);5502// set values of attributes5503fillPlanParentAttributes(myTagProperties[currentTag]);5504fillWalkCommonAttributes(myTagProperties[currentTag]);5505}5506currentTag = GNE_TAG_WALK_ROUTE;5507{5508// set values of tag5509myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5510GNETagProperties::Over::ROUTE,5511conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Walk"), TL("route")), parents, color);5512// set values of attributes5513fillPlanParentAttributes(myTagProperties[currentTag]);5514fillWalkCommonAttributes(myTagProperties[currentTag]);5515}5516// from edge5517currentTag = GNE_TAG_WALK_EDGE_EDGE;5518{5519// set values of tag5520myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5521GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,5522conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("edge")), parents, color);5523// set values of attributes5524fillPlanParentAttributes(myTagProperties[currentTag]);5525fillWalkCommonAttributes(myTagProperties[currentTag]);5526}5527currentTag = GNE_TAG_WALK_EDGE_TAZ;5528{5529// set values of tag5530myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5531GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TAZ,5532conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("taz")), parents, color);5533// set values of attributes5534fillPlanParentAttributes(myTagProperties[currentTag]);5535fillWalkCommonAttributes(myTagProperties[currentTag]);5536}5537currentTag = GNE_TAG_WALK_EDGE_JUNCTION;5538{5539// set values of tag5540myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5541GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_JUNCTION,5542conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("junction")), parents, color);5543// set values of attributes5544fillPlanParentAttributes(myTagProperties[currentTag]);5545fillWalkCommonAttributes(myTagProperties[currentTag]);5546}5547currentTag = GNE_TAG_WALK_EDGE_BUSSTOP;5548{5549// set values of tag5550myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5551GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,5552conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("busStop")), parents, color);5553// set values of attributes5554fillPlanParentAttributes(myTagProperties[currentTag]);5555fillWalkCommonAttributes(myTagProperties[currentTag]);5556}5557currentTag = GNE_TAG_WALK_EDGE_TRAINSTOP;5558{5559// set values of tag5560myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5561GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,5562conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("trainStop")), parents, color);5563// set values of attributes5564fillPlanParentAttributes(myTagProperties[currentTag]);5565fillWalkCommonAttributes(myTagProperties[currentTag]);5566}5567currentTag = GNE_TAG_WALK_EDGE_CONTAINERSTOP;5568{5569// set values of tag5570myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5571GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,5572conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("containerStop")), parents, color);5573// set values of attributes5574fillPlanParentAttributes(myTagProperties[currentTag]);5575fillWalkCommonAttributes(myTagProperties[currentTag]);5576}5577currentTag = GNE_TAG_WALK_EDGE_CHARGINGSTATION;5578{5579// set values of tag5580myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5581GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,5582conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("chargingStation")), parents, color);5583// set values of attributes5584fillPlanParentAttributes(myTagProperties[currentTag]);5585fillWalkCommonAttributes(myTagProperties[currentTag]);5586}5587currentTag = GNE_TAG_WALK_EDGE_PARKINGAREA;5588{5589// set values of tag5590myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5591GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,5592conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("parkingArea")), parents, color);5593// set values of attributes5594fillPlanParentAttributes(myTagProperties[currentTag]);5595fillWalkCommonAttributes(myTagProperties[currentTag]);5596}5597// from taz5598currentTag = GNE_TAG_WALK_TAZ_EDGE;5599{5600// set values of tag5601myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5602GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_EDGE,5603conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("taz")), parents, color);5604// set values of attributes5605fillPlanParentAttributes(myTagProperties[currentTag]);5606fillWalkCommonAttributes(myTagProperties[currentTag]);5607}5608currentTag = GNE_TAG_WALK_TAZ_TAZ;5609{5610// set values of tag5611myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5612GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,5613conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("taz")), parents, color);5614// set values of attributes5615fillPlanParentAttributes(myTagProperties[currentTag]);5616fillWalkCommonAttributes(myTagProperties[currentTag]);5617}5618currentTag = GNE_TAG_WALK_TAZ_JUNCTION;5619{5620// set values of tag5621myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5622GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_JUNCTION,5623conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("junction")), parents, color);5624// set values of attributes5625fillPlanParentAttributes(myTagProperties[currentTag]);5626fillWalkCommonAttributes(myTagProperties[currentTag]);5627}5628currentTag = GNE_TAG_WALK_TAZ_BUSSTOP;5629{5630// set values of tag5631myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5632GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_BUSSTOP,5633conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("busStop")), parents, color);5634// set values of attributes5635fillPlanParentAttributes(myTagProperties[currentTag]);5636fillWalkCommonAttributes(myTagProperties[currentTag]);5637}5638currentTag = GNE_TAG_WALK_TAZ_TRAINSTOP;5639{5640// set values of tag5641myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5642GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TRAINSTOP,5643conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("trainStop")), parents, color);5644// set values of attributes5645fillPlanParentAttributes(myTagProperties[currentTag]);5646fillWalkCommonAttributes(myTagProperties[currentTag]);5647}5648currentTag = GNE_TAG_WALK_TAZ_CONTAINERSTOP;5649{5650// set values of tag5651myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5652GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CONTAINERSTOP,5653conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("containerStop")), parents, color);5654// set values of attributes5655fillPlanParentAttributes(myTagProperties[currentTag]);5656fillWalkCommonAttributes(myTagProperties[currentTag]);5657}5658currentTag = GNE_TAG_WALK_TAZ_CHARGINGSTATION;5659{5660// set values of tag5661myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5662GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CHARGINGSTATION,5663conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("chargingStation")), parents, color);5664// set values of attributes5665fillPlanParentAttributes(myTagProperties[currentTag]);5666fillWalkCommonAttributes(myTagProperties[currentTag]);5667}5668currentTag = GNE_TAG_WALK_TAZ_PARKINGAREA;5669{5670// set values of tag5671myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5672GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_PARKINGAREA,5673conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("parkingArea")), parents, color);5674// set values of attributes5675fillPlanParentAttributes(myTagProperties[currentTag]);5676fillWalkCommonAttributes(myTagProperties[currentTag]);5677}5678// from junction5679currentTag = GNE_TAG_WALK_JUNCTION_EDGE;5680{5681// set values of tag5682myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5683GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_EDGE,5684conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("edge")), parents, color);5685// set values of attributes5686fillPlanParentAttributes(myTagProperties[currentTag]);5687fillWalkCommonAttributes(myTagProperties[currentTag]);5688}5689currentTag = GNE_TAG_WALK_JUNCTION_TAZ;5690{5691// set values of tag5692myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5693GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TAZ,5694conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("taz")), parents, color);5695// set values of attributes5696fillPlanParentAttributes(myTagProperties[currentTag]);5697fillWalkCommonAttributes(myTagProperties[currentTag]);5698}5699currentTag = GNE_TAG_WALK_JUNCTION_JUNCTION;5700{5701// set values of tag5702myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5703GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,5704conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("junction")), parents, color);5705// set values of attributes5706fillPlanParentAttributes(myTagProperties[currentTag]);5707fillWalkCommonAttributes(myTagProperties[currentTag]);5708}5709currentTag = GNE_TAG_WALK_JUNCTION_BUSSTOP;5710{5711// set values of tag5712myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5713GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_BUSSTOP,5714conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("busStop")), parents, color);5715// set values of attributes5716fillPlanParentAttributes(myTagProperties[currentTag]);5717fillWalkCommonAttributes(myTagProperties[currentTag]);5718}5719currentTag = GNE_TAG_WALK_JUNCTION_TRAINSTOP;5720{5721// set values of tag5722myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5723GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TRAINSTOP,5724conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("trainStop")), parents, color);5725// set values of attributes5726fillPlanParentAttributes(myTagProperties[currentTag]);5727fillWalkCommonAttributes(myTagProperties[currentTag]);5728}5729currentTag = GNE_TAG_WALK_JUNCTION_CONTAINERSTOP;5730{5731// set values of tag5732myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5733GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CONTAINERSTOP,5734conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("containerStop")), parents, color);5735// set values of attributes5736fillPlanParentAttributes(myTagProperties[currentTag]);5737fillWalkCommonAttributes(myTagProperties[currentTag]);5738}5739currentTag = GNE_TAG_WALK_JUNCTION_CHARGINGSTATION;5740{5741// set values of tag5742myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5743GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CHARGINGSTATION,5744conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("chargingStation")), parents, color);5745// set values of attributes5746fillPlanParentAttributes(myTagProperties[currentTag]);5747fillWalkCommonAttributes(myTagProperties[currentTag]);5748}5749currentTag = GNE_TAG_WALK_JUNCTION_PARKINGAREA;5750{5751// set values of tag5752myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5753GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_PARKINGAREA,5754conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("parkingArea")), parents, color);5755// set values of attributes5756fillPlanParentAttributes(myTagProperties[currentTag]);5757fillWalkCommonAttributes(myTagProperties[currentTag]);5758}5759// from busStop5760currentTag = GNE_TAG_WALK_BUSSTOP_EDGE;5761{5762// set values of tag5763myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5764GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,5765conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("edge")), parents, color);5766// set values of attributes5767fillPlanParentAttributes(myTagProperties[currentTag]);5768fillWalkCommonAttributes(myTagProperties[currentTag]);5769}5770currentTag = GNE_TAG_WALK_BUSSTOP_TAZ;5771{5772// set values of tag5773myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5774GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TAZ,5775conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("taz")), parents, color);5776// set values of attributes5777fillPlanParentAttributes(myTagProperties[currentTag]);5778fillWalkCommonAttributes(myTagProperties[currentTag]);5779}5780currentTag = GNE_TAG_WALK_BUSSTOP_JUNCTION;5781{5782// set values of tag5783myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5784GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_JUNCTION,5785conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("junction")), parents, color);5786// set values of attributes5787fillPlanParentAttributes(myTagProperties[currentTag]);5788fillWalkCommonAttributes(myTagProperties[currentTag]);5789}5790currentTag = GNE_TAG_WALK_BUSSTOP_BUSSTOP;5791{5792// set values of tag5793myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5794GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,5795conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("busStop")), parents, color);5796// set values of attributes5797fillPlanParentAttributes(myTagProperties[currentTag]);5798fillWalkCommonAttributes(myTagProperties[currentTag]);5799}5800currentTag = GNE_TAG_WALK_BUSSTOP_TRAINSTOP;5801{5802// set values of tag5803myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5804GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,5805conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("trainStop")), parents, color);5806// set values of attributes5807fillPlanParentAttributes(myTagProperties[currentTag]);5808fillWalkCommonAttributes(myTagProperties[currentTag]);5809}5810currentTag = GNE_TAG_WALK_BUSSTOP_CONTAINERSTOP;5811{5812// set values of tag5813myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5814GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5815conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("containerStop")), parents, color);5816// set values of attributes5817fillPlanParentAttributes(myTagProperties[currentTag]);5818fillWalkCommonAttributes(myTagProperties[currentTag]);5819}5820currentTag = GNE_TAG_WALK_BUSSTOP_CHARGINGSTATION;5821{5822// set values of tag5823myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5824GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5825conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("chargingStation")), parents, color);5826// set values of attributes5827fillPlanParentAttributes(myTagProperties[currentTag]);5828fillWalkCommonAttributes(myTagProperties[currentTag]);5829}5830currentTag = GNE_TAG_WALK_BUSSTOP_PARKINGAREA;5831{5832// set values of tag5833myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5834GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,5835conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("parkingArea")), parents, color);5836// set values of attributes5837fillPlanParentAttributes(myTagProperties[currentTag]);5838fillWalkCommonAttributes(myTagProperties[currentTag]);5839}5840// from trainStop5841currentTag = GNE_TAG_WALK_TRAINSTOP_EDGE;5842{5843// set values of tag5844myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5845GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,5846conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("edge")), parents, color);5847// set values of attributes5848fillPlanParentAttributes(myTagProperties[currentTag]);5849fillWalkCommonAttributes(myTagProperties[currentTag]);5850}5851currentTag = GNE_TAG_WALK_TRAINSTOP_TAZ;5852{5853// set values of tag5854myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5855GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TAZ,5856conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("taz")), parents, color);5857// set values of attributes5858fillPlanParentAttributes(myTagProperties[currentTag]);5859fillWalkCommonAttributes(myTagProperties[currentTag]);5860}5861currentTag = GNE_TAG_WALK_TRAINSTOP_JUNCTION;5862{5863// set values of tag5864myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5865GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_JUNCTION,5866conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("junction")), parents, color);5867// set values of attributes5868fillPlanParentAttributes(myTagProperties[currentTag]);5869fillWalkCommonAttributes(myTagProperties[currentTag]);5870}5871currentTag = GNE_TAG_WALK_TRAINSTOP_BUSSTOP;5872{5873// set values of tag5874myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5875GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,5876conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("busStop")), parents, color);5877// set values of attributes5878fillPlanParentAttributes(myTagProperties[currentTag]);5879fillWalkCommonAttributes(myTagProperties[currentTag]);5880}5881currentTag = GNE_TAG_WALK_TRAINSTOP_TRAINSTOP;5882{5883// set values of tag5884myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5885GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,5886conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("trainStop")), parents, color);5887// set values of attributes5888fillPlanParentAttributes(myTagProperties[currentTag]);5889fillWalkCommonAttributes(myTagProperties[currentTag]);5890}5891currentTag = GNE_TAG_WALK_TRAINSTOP_CONTAINERSTOP;5892{5893// set values of tag5894myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5895GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5896conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("containerStop")), parents, color);5897// set values of attributes5898fillPlanParentAttributes(myTagProperties[currentTag]);5899fillWalkCommonAttributes(myTagProperties[currentTag]);5900}5901currentTag = GNE_TAG_WALK_TRAINSTOP_CHARGINGSTATION;5902{5903// set values of tag5904myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5905GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5906conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("chargingStation")), parents, color);5907// set values of attributes5908fillPlanParentAttributes(myTagProperties[currentTag]);5909fillWalkCommonAttributes(myTagProperties[currentTag]);5910}5911currentTag = GNE_TAG_WALK_TRAINSTOP_PARKINGAREA;5912{5913// set values of tag5914myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5915GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,5916conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("parkingArea")), parents, color);5917// set values of attributes5918fillPlanParentAttributes(myTagProperties[currentTag]);5919fillWalkCommonAttributes(myTagProperties[currentTag]);5920}5921// from containerStop5922currentTag = GNE_TAG_WALK_CONTAINERSTOP_EDGE;5923{5924// set values of tag5925myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5926GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,5927conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("edge")), parents, color);5928// set values of attributes5929fillPlanParentAttributes(myTagProperties[currentTag]);5930fillWalkCommonAttributes(myTagProperties[currentTag]);5931}5932currentTag = GNE_TAG_WALK_CONTAINERSTOP_TAZ;5933{5934// set values of tag5935myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,5936GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TAZ,5937conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("taz")), parents, color);5938// set values of attributes5939fillPlanParentAttributes(myTagProperties[currentTag]);5940fillWalkCommonAttributes(myTagProperties[currentTag]);5941}5942currentTag = GNE_TAG_WALK_CONTAINERSTOP_JUNCTION;5943{5944// set values of tag5945myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5946GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_JUNCTION,5947conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("junction")), parents, color);5948// set values of attributes5949fillPlanParentAttributes(myTagProperties[currentTag]);5950fillWalkCommonAttributes(myTagProperties[currentTag]);5951}5952currentTag = GNE_TAG_WALK_CONTAINERSTOP_BUSSTOP;5953{5954// set values of tag5955myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5956GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,5957conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("busStop")), parents, color);5958// set values of attributes5959fillPlanParentAttributes(myTagProperties[currentTag]);5960fillWalkCommonAttributes(myTagProperties[currentTag]);5961}5962currentTag = GNE_TAG_WALK_CONTAINERSTOP_TRAINSTOP;5963{5964// set values of tag5965myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5966GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,5967conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("trainStop")), parents, color);5968// set values of attributes5969fillPlanParentAttributes(myTagProperties[currentTag]);5970fillWalkCommonAttributes(myTagProperties[currentTag]);5971}5972currentTag = GNE_TAG_WALK_CONTAINERSTOP_CONTAINERSTOP;5973{5974// set values of tag5975myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5976GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,5977conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("containerStop")), parents, color);5978// set values of attributes5979fillPlanParentAttributes(myTagProperties[currentTag]);5980fillWalkCommonAttributes(myTagProperties[currentTag]);5981}5982currentTag = GNE_TAG_WALK_CONTAINERSTOP_CHARGINGSTATION;5983{5984// set values of tag5985myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5986GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,5987conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("chargingStation")), parents, color);5988// set values of attributes5989fillPlanParentAttributes(myTagProperties[currentTag]);5990fillWalkCommonAttributes(myTagProperties[currentTag]);5991}5992currentTag = GNE_TAG_WALK_CONTAINERSTOP_PARKINGAREA;5993{5994// set values of tag5995myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,5996GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,5997conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("parkingArea")), parents, color);5998// set values of attributes5999fillPlanParentAttributes(myTagProperties[currentTag]);6000fillWalkCommonAttributes(myTagProperties[currentTag]);6001}6002// from chargingStation6003currentTag = GNE_TAG_WALK_CHARGINGSTATION_EDGE;6004{6005// set values of tag6006myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6007GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,6008conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("edge")), parents, color);6009// set values of attributes6010fillPlanParentAttributes(myTagProperties[currentTag]);6011fillWalkCommonAttributes(myTagProperties[currentTag]);6012}6013currentTag = GNE_TAG_WALK_CHARGINGSTATION_TAZ;6014{6015// set values of tag6016myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,6017GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TAZ,6018conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("taz")), parents, color);6019// set values of attributes6020fillPlanParentAttributes(myTagProperties[currentTag]);6021fillWalkCommonAttributes(myTagProperties[currentTag]);6022}6023currentTag = GNE_TAG_WALK_CHARGINGSTATION_JUNCTION;6024{6025// set values of tag6026myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6027GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_JUNCTION,6028conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("junction")), parents, color);6029// set values of attributes6030fillPlanParentAttributes(myTagProperties[currentTag]);6031fillWalkCommonAttributes(myTagProperties[currentTag]);6032}6033currentTag = GNE_TAG_WALK_CHARGINGSTATION_BUSSTOP;6034{6035// set values of tag6036myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6037GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,6038conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("busStop")), parents, color);6039// set values of attributes6040fillPlanParentAttributes(myTagProperties[currentTag]);6041fillWalkCommonAttributes(myTagProperties[currentTag]);6042}6043currentTag = GNE_TAG_WALK_CHARGINGSTATION_TRAINSTOP;6044{6045// set values of tag6046myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6047GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,6048conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("trainStop")), parents, color);6049// set values of attributes6050fillPlanParentAttributes(myTagProperties[currentTag]);6051fillWalkCommonAttributes(myTagProperties[currentTag]);6052}6053currentTag = GNE_TAG_WALK_CHARGINGSTATION_CONTAINERSTOP;6054{6055// set values of tag6056myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6057GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,6058conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("containerStop")), parents, color);6059// set values of attributes6060fillPlanParentAttributes(myTagProperties[currentTag]);6061fillWalkCommonAttributes(myTagProperties[currentTag]);6062}6063currentTag = GNE_TAG_WALK_CHARGINGSTATION_CHARGINGSTATION;6064{6065// set values of tag6066myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6067GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,6068conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("chargingStation")), parents, color);6069// set values of attributes6070fillPlanParentAttributes(myTagProperties[currentTag]);6071fillWalkCommonAttributes(myTagProperties[currentTag]);6072}6073currentTag = GNE_TAG_WALK_CHARGINGSTATION_PARKINGAREA;6074{6075// set values of tag6076myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6077GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,6078conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("parkingArea")), parents, color);6079// set values of attributes6080fillPlanParentAttributes(myTagProperties[currentTag]);6081fillWalkCommonAttributes(myTagProperties[currentTag]);6082}6083// from parkingArea6084currentTag = GNE_TAG_WALK_PARKINGAREA_EDGE;6085{6086// set values of tag6087myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6088GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,6089conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("edge")), parents, color);6090// set values of attributes6091fillPlanParentAttributes(myTagProperties[currentTag]);6092fillWalkCommonAttributes(myTagProperties[currentTag]);6093}6094currentTag = GNE_TAG_WALK_PARKINGAREA_TAZ;6095{6096// set values of tag6097myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,6098GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TAZ,6099conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("taz")), parents, color);6100// set values of attributes6101fillPlanParentAttributes(myTagProperties[currentTag]);6102fillWalkCommonAttributes(myTagProperties[currentTag]);6103}6104currentTag = GNE_TAG_WALK_PARKINGAREA_JUNCTION;6105{6106// set values of tag6107myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6108GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_JUNCTION,6109conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("junction")), parents, color);6110// set values of attributes6111fillPlanParentAttributes(myTagProperties[currentTag]);6112fillWalkCommonAttributes(myTagProperties[currentTag]);6113}6114currentTag = GNE_TAG_WALK_PARKINGAREA_BUSSTOP;6115{6116// set values of tag6117myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6118GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,6119conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("busStop")), parents, color);6120// set values of attributes6121fillPlanParentAttributes(myTagProperties[currentTag]);6122fillWalkCommonAttributes(myTagProperties[currentTag]);6123}6124currentTag = GNE_TAG_WALK_PARKINGAREA_TRAINSTOP;6125{6126// set values of tag6127myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6128GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,6129conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("trainStop")), parents, color);6130// set values of attributes6131fillPlanParentAttributes(myTagProperties[currentTag]);6132fillWalkCommonAttributes(myTagProperties[currentTag]);6133}6134currentTag = GNE_TAG_WALK_PARKINGAREA_CONTAINERSTOP;6135{6136// set values of tag6137myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6138GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,6139conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("containerStop")), parents, color);6140// set values of attributes6141fillPlanParentAttributes(myTagProperties[currentTag]);6142fillWalkCommonAttributes(myTagProperties[currentTag]);6143}6144currentTag = GNE_TAG_WALK_PARKINGAREA_CHARGINGSTATION;6145{6146// set values of tag6147myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6148GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,6149conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("chargingStation")), parents, color);6150// set values of attributes6151fillPlanParentAttributes(myTagProperties[currentTag]);6152fillWalkCommonAttributes(myTagProperties[currentTag]);6153}6154currentTag = GNE_TAG_WALK_PARKINGAREA_PARKINGAREA;6155{6156// set values of tag6157myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,6158GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,6159conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("parkingArea")), parents, color);6160// set values of attributes6161fillPlanParentAttributes(myTagProperties[currentTag]);6162fillWalkCommonAttributes(myTagProperties[currentTag]);6163}6164}616561666167void6168GNETagPropertiesDatabase::fillPersonPlanRides() {6169// declare common tag types and properties6170const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::RIDE;6171const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;6172const auto tagPropertyTAZ = GNETagProperties::Property::RTREE | tagProperty;6173const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;6174const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});6175const unsigned int color = FXRGBA(253, 255, 206, 255);6176const GUIIcon icon = GUIIcon::RIDE_EDGE;6177const GUIGlObjectType GLType = GUIGlObjectType::GLO_RIDE;6178const SumoXMLTag xmlTag = SUMO_TAG_RIDE;6179// from edge6180SumoXMLTag currentTag = GNE_TAG_RIDE_EDGE_EDGE;6181{6182// set values of tag6183myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6184GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,6185conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("edge")), parents, color);6186// set values of attributes6187fillPlanParentAttributes(myTagProperties[currentTag]);6188fillRideCommonAttributes(myTagProperties[currentTag]);6189}6190currentTag = GNE_TAG_RIDE_EDGE_TAZ;6191{6192// set values of tag6193myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6194GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TAZ,6195conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("taz")), parents, color);6196// set values of attributes6197fillPlanParentAttributes(myTagProperties[currentTag]);6198fillRideCommonAttributes(myTagProperties[currentTag]);6199}6200currentTag = GNE_TAG_RIDE_EDGE_JUNCTION;6201{6202// set values of tag6203myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6204GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_JUNCTION,6205conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("junction")), parents, color);6206// set values of attributes6207fillPlanParentAttributes(myTagProperties[currentTag]);6208fillRideCommonAttributes(myTagProperties[currentTag]);6209}6210currentTag = GNE_TAG_RIDE_EDGE_BUSSTOP;6211{6212// set values of tag6213myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6214GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,6215conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("busStop")), parents, color);6216// set values of attributes6217fillPlanParentAttributes(myTagProperties[currentTag]);6218fillRideCommonAttributes(myTagProperties[currentTag]);6219}6220currentTag = GNE_TAG_RIDE_EDGE_TRAINSTOP;6221{6222// set values of tag6223myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6224GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,6225conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("trainStop")), parents, color);6226// set values of attributes6227fillPlanParentAttributes(myTagProperties[currentTag]);6228fillRideCommonAttributes(myTagProperties[currentTag]);6229}6230currentTag = GNE_TAG_RIDE_EDGE_CONTAINERSTOP;6231{6232// set values of tag6233myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6234GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,6235conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("containerStop")), parents, color);6236// set values of attributes6237fillPlanParentAttributes(myTagProperties[currentTag]);6238fillRideCommonAttributes(myTagProperties[currentTag]);6239}6240currentTag = GNE_TAG_RIDE_EDGE_CHARGINGSTATION;6241{6242// set values of tag6243myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6244GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,6245conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("chargingStation")), parents, color);6246// set values of attributes6247fillPlanParentAttributes(myTagProperties[currentTag]);6248fillRideCommonAttributes(myTagProperties[currentTag]);6249}6250currentTag = GNE_TAG_RIDE_EDGE_PARKINGAREA;6251{6252// set values of tag6253myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6254GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,6255conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("parkingArea")), parents, color);6256// set values of attributes6257fillPlanParentAttributes(myTagProperties[currentTag]);6258fillRideCommonAttributes(myTagProperties[currentTag]);6259}6260// from taz6261currentTag = GNE_TAG_RIDE_TAZ_EDGE;6262{6263// set values of tag6264myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6265GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_EDGE,6266conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("taz"), TL("taz")), parents, color);6267// set values of attributes6268fillPlanParentAttributes(myTagProperties[currentTag]);6269fillRideCommonAttributes(myTagProperties[currentTag]);6270}6271currentTag = GNE_TAG_RIDE_TAZ_TAZ;6272{6273// set values of tag6274myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6275GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,6276conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("taz"), TL("taz")), parents, color);6277// set values of attributes6278fillPlanParentAttributes(myTagProperties[currentTag]);6279fillRideCommonAttributes(myTagProperties[currentTag]);6280}6281currentTag = GNE_TAG_RIDE_TAZ_JUNCTION;6282{6283// set values of tag6284myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6285GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_JUNCTION,6286conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("taz"), TL("junction")), parents, color);6287// set values of attributes6288fillPlanParentAttributes(myTagProperties[currentTag]);6289fillRideCommonAttributes(myTagProperties[currentTag]);6290}6291currentTag = GNE_TAG_RIDE_TAZ_BUSSTOP;6292{6293// set values of tag6294myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6295GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_BUSSTOP,6296conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("taz"), TL("busStop")), parents, color);6297// set values of attributes6298fillPlanParentAttributes(myTagProperties[currentTag]);6299fillRideCommonAttributes(myTagProperties[currentTag]);6300}6301currentTag = GNE_TAG_RIDE_TAZ_TRAINSTOP;6302{6303// set values of tag6304myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6305GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TRAINSTOP,6306conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("taz"), TL("trainStop")), parents, color);6307// set values of attributes6308fillPlanParentAttributes(myTagProperties[currentTag]);6309fillRideCommonAttributes(myTagProperties[currentTag]);6310}6311currentTag = GNE_TAG_RIDE_TAZ_CONTAINERSTOP;6312{6313// set values of tag6314myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6315GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CONTAINERSTOP,6316conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("taz"), TL("containerStop")), parents, color);6317// set values of attributes6318fillPlanParentAttributes(myTagProperties[currentTag]);6319fillRideCommonAttributes(myTagProperties[currentTag]);6320}6321currentTag = GNE_TAG_RIDE_TAZ_CHARGINGSTATION;6322{6323// set values of tag6324myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6325GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CHARGINGSTATION,6326conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("taz"), TL("chargingStation")), parents, color);6327// set values of attributes6328fillPlanParentAttributes(myTagProperties[currentTag]);6329fillRideCommonAttributes(myTagProperties[currentTag]);6330}6331currentTag = GNE_TAG_RIDE_TAZ_PARKINGAREA;6332{6333// set values of tag6334myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6335GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_PARKINGAREA,6336conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("taz"), TL("parkingArea")), parents, color);6337// set values of attributes6338fillPlanParentAttributes(myTagProperties[currentTag]);6339fillRideCommonAttributes(myTagProperties[currentTag]);6340}6341// from junction6342currentTag = GNE_TAG_RIDE_JUNCTION_EDGE;6343{6344// set values of tag6345myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6346GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_EDGE,6347conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("junction"), TL("edge")), parents, color);6348// set values of attributes6349fillPlanParentAttributes(myTagProperties[currentTag]);6350fillRideCommonAttributes(myTagProperties[currentTag]);6351}6352currentTag = GNE_TAG_RIDE_JUNCTION_TAZ;6353{6354// set values of tag6355myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6356GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TAZ,6357conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("junction"), TL("taz")), parents, color);6358// set values of attributes6359fillPlanParentAttributes(myTagProperties[currentTag]);6360fillRideCommonAttributes(myTagProperties[currentTag]);6361}6362currentTag = GNE_TAG_RIDE_JUNCTION_JUNCTION;6363{6364// set values of tag6365myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6366GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,6367conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("junction"), TL("junction")), parents, color);6368// set values of attributes6369fillPlanParentAttributes(myTagProperties[currentTag]);6370fillRideCommonAttributes(myTagProperties[currentTag]);6371}6372currentTag = GNE_TAG_RIDE_JUNCTION_BUSSTOP;6373{6374// set values of tag6375myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6376GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_BUSSTOP,6377conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("junction"), TL("busStop")), parents, color);6378// set values of attributes6379fillPlanParentAttributes(myTagProperties[currentTag]);6380fillRideCommonAttributes(myTagProperties[currentTag]);6381}6382currentTag = GNE_TAG_RIDE_JUNCTION_TRAINSTOP;6383{6384// set values of tag6385myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6386GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TRAINSTOP,6387conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("junction"), TL("trainStop")), parents, color);6388// set values of attributes6389fillPlanParentAttributes(myTagProperties[currentTag]);6390fillRideCommonAttributes(myTagProperties[currentTag]);6391}6392currentTag = GNE_TAG_RIDE_JUNCTION_CONTAINERSTOP;6393{6394// set values of tag6395myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6396GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CONTAINERSTOP,6397conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("junction"), TL("containerStop")), parents, color);6398// set values of attributes6399fillPlanParentAttributes(myTagProperties[currentTag]);6400fillRideCommonAttributes(myTagProperties[currentTag]);6401}6402currentTag = GNE_TAG_RIDE_JUNCTION_CHARGINGSTATION;6403{6404// set values of tag6405myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6406GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CHARGINGSTATION,6407conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("junction"), TL("chargingStation")), parents, color);6408// set values of attributes6409fillPlanParentAttributes(myTagProperties[currentTag]);6410fillRideCommonAttributes(myTagProperties[currentTag]);6411}6412currentTag = GNE_TAG_RIDE_JUNCTION_PARKINGAREA;6413{6414// set values of tag6415myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6416GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_PARKINGAREA,6417conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("junction"), TL("parkingArea")), parents, color);6418// set values of attributes6419fillPlanParentAttributes(myTagProperties[currentTag]);6420fillRideCommonAttributes(myTagProperties[currentTag]);6421}6422// from busStop6423currentTag = GNE_TAG_RIDE_BUSSTOP_EDGE;6424{6425// set values of tag6426myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6427GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,6428conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("edge")), parents, color);6429// set values of attributes6430fillPlanParentAttributes(myTagProperties[currentTag]);6431fillRideCommonAttributes(myTagProperties[currentTag]);6432}6433currentTag = GNE_TAG_RIDE_BUSSTOP_TAZ;6434{6435// set values of tag6436myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6437GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TAZ,6438conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("taz")), parents, color);6439// set values of attributes6440fillPlanParentAttributes(myTagProperties[currentTag]);6441fillRideCommonAttributes(myTagProperties[currentTag]);6442}6443currentTag = GNE_TAG_RIDE_BUSSTOP_JUNCTION;6444{6445// set values of tag6446myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6447GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_JUNCTION,6448conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("junction")), parents, color);6449// set values of attributes6450fillPlanParentAttributes(myTagProperties[currentTag]);6451fillRideCommonAttributes(myTagProperties[currentTag]);6452}6453currentTag = GNE_TAG_RIDE_BUSSTOP_BUSSTOP;6454{6455// set values of tag6456myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6457GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,6458conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("busStop")), parents, color);6459// set values of attributes6460fillPlanParentAttributes(myTagProperties[currentTag]);6461fillRideCommonAttributes(myTagProperties[currentTag]);6462}6463currentTag = GNE_TAG_RIDE_BUSSTOP_TRAINSTOP;6464{6465// set values of tag6466myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6467GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,6468conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("trainStop")), parents, color);6469// set values of attributes6470fillPlanParentAttributes(myTagProperties[currentTag]);6471fillRideCommonAttributes(myTagProperties[currentTag]);6472}6473currentTag = GNE_TAG_RIDE_BUSSTOP_CONTAINERSTOP;6474{6475// set values of tag6476myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6477GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,6478conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("containerStop")), parents, color);6479// set values of attributes6480fillPlanParentAttributes(myTagProperties[currentTag]);6481fillRideCommonAttributes(myTagProperties[currentTag]);6482}6483currentTag = GNE_TAG_RIDE_BUSSTOP_CHARGINGSTATION;6484{6485// set values of tag6486myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6487GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,6488conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("chargingStation")), parents, color);6489// set values of attributes6490fillPlanParentAttributes(myTagProperties[currentTag]);6491fillRideCommonAttributes(myTagProperties[currentTag]);6492}6493currentTag = GNE_TAG_RIDE_BUSSTOP_PARKINGAREA;6494{6495// set values of tag6496myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6497GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,6498conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("parkingArea")), parents, color);6499// set values of attributes6500fillPlanParentAttributes(myTagProperties[currentTag]);6501fillRideCommonAttributes(myTagProperties[currentTag]);6502}6503// from trainStop6504currentTag = GNE_TAG_RIDE_TRAINSTOP_EDGE;6505{6506// set values of tag6507myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6508GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,6509conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("edge")), parents, color);6510// set values of attributes6511fillPlanParentAttributes(myTagProperties[currentTag]);6512fillRideCommonAttributes(myTagProperties[currentTag]);6513}6514currentTag = GNE_TAG_RIDE_TRAINSTOP_TAZ;6515{6516// set values of tag6517myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6518GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TAZ,6519conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("taz")), parents, color);6520// set values of attributes6521fillPlanParentAttributes(myTagProperties[currentTag]);6522fillRideCommonAttributes(myTagProperties[currentTag]);6523}6524currentTag = GNE_TAG_RIDE_TRAINSTOP_JUNCTION;6525{6526// set values of tag6527myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6528GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_JUNCTION,6529conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("junction")), parents, color);6530// set values of attributes6531fillPlanParentAttributes(myTagProperties[currentTag]);6532fillRideCommonAttributes(myTagProperties[currentTag]);6533}6534currentTag = GNE_TAG_RIDE_TRAINSTOP_BUSSTOP;6535{6536// set values of tag6537myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6538GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,6539conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("busStop")), parents, color);6540// set values of attributes6541fillPlanParentAttributes(myTagProperties[currentTag]);6542fillRideCommonAttributes(myTagProperties[currentTag]);6543}6544currentTag = GNE_TAG_RIDE_TRAINSTOP_TRAINSTOP;6545{6546// set values of tag6547myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6548GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,6549conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("trainStop")), parents, color);6550// set values of attributes6551fillPlanParentAttributes(myTagProperties[currentTag]);6552fillRideCommonAttributes(myTagProperties[currentTag]);6553}6554currentTag = GNE_TAG_RIDE_TRAINSTOP_CONTAINERSTOP;6555{6556// set values of tag6557myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6558GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,6559conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("containerStop")), parents, color);6560// set values of attributes6561fillPlanParentAttributes(myTagProperties[currentTag]);6562fillRideCommonAttributes(myTagProperties[currentTag]);6563}6564currentTag = GNE_TAG_RIDE_TRAINSTOP_CHARGINGSTATION;6565{6566// set values of tag6567myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6568GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,6569conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("chargingStation")), parents, color);6570// set values of attributes6571fillPlanParentAttributes(myTagProperties[currentTag]);6572fillRideCommonAttributes(myTagProperties[currentTag]);6573}6574currentTag = GNE_TAG_RIDE_TRAINSTOP_PARKINGAREA;6575{6576// set values of tag6577myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6578GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,6579conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("parkingArea")), parents, color);6580// set values of attributes6581fillPlanParentAttributes(myTagProperties[currentTag]);6582fillRideCommonAttributes(myTagProperties[currentTag]);6583}6584// from containerStop6585currentTag = GNE_TAG_RIDE_CONTAINERSTOP_EDGE;6586{6587// set values of tag6588myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6589GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,6590conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("edge")), parents, color);6591// set values of attributes6592fillPlanParentAttributes(myTagProperties[currentTag]);6593fillRideCommonAttributes(myTagProperties[currentTag]);6594}6595currentTag = GNE_TAG_RIDE_CONTAINERSTOP_TAZ;6596{6597// set values of tag6598myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6599GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TAZ,6600conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("taz")), parents, color);6601// set values of attributes6602fillPlanParentAttributes(myTagProperties[currentTag]);6603fillRideCommonAttributes(myTagProperties[currentTag]);6604}6605currentTag = GNE_TAG_RIDE_CONTAINERSTOP_JUNCTION;6606{6607// set values of tag6608myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6609GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_JUNCTION,6610conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("junction")), parents, color);6611// set values of attributes6612fillPlanParentAttributes(myTagProperties[currentTag]);6613fillRideCommonAttributes(myTagProperties[currentTag]);6614}6615currentTag = GNE_TAG_RIDE_CONTAINERSTOP_BUSSTOP;6616{6617// set values of tag6618myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6619GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,6620conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("busStop")), parents, color);6621// set values of attributes6622fillPlanParentAttributes(myTagProperties[currentTag]);6623fillRideCommonAttributes(myTagProperties[currentTag]);6624}6625currentTag = GNE_TAG_RIDE_CONTAINERSTOP_TRAINSTOP;6626{6627// set values of tag6628myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6629GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,6630conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("trainStop")), parents, color);6631// set values of attributes6632fillPlanParentAttributes(myTagProperties[currentTag]);6633fillRideCommonAttributes(myTagProperties[currentTag]);6634}6635currentTag = GNE_TAG_RIDE_CONTAINERSTOP_CONTAINERSTOP;6636{6637// set values of tag6638myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6639GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,6640conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("containerStop")), parents, color);6641// set values of attributes6642fillPlanParentAttributes(myTagProperties[currentTag]);6643fillRideCommonAttributes(myTagProperties[currentTag]);6644}6645currentTag = GNE_TAG_RIDE_CONTAINERSTOP_CHARGINGSTATION;6646{6647// set values of tag6648myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6649GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,6650conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("chargingStation")), parents, color);6651// set values of attributes6652fillPlanParentAttributes(myTagProperties[currentTag]);6653fillRideCommonAttributes(myTagProperties[currentTag]);6654}6655currentTag = GNE_TAG_RIDE_CONTAINERSTOP_PARKINGAREA;6656{6657// set values of tag6658myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6659GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,6660conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("parkingArea")), parents, color);6661// set values of attributes6662fillPlanParentAttributes(myTagProperties[currentTag]);6663fillRideCommonAttributes(myTagProperties[currentTag]);6664}6665// from chargingStation6666currentTag = GNE_TAG_RIDE_CHARGINGSTATION_EDGE;6667{6668// set values of tag6669myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6670GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,6671conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("edge")), parents, color);6672// set values of attributes6673fillPlanParentAttributes(myTagProperties[currentTag]);6674fillRideCommonAttributes(myTagProperties[currentTag]);6675}6676currentTag = GNE_TAG_RIDE_CHARGINGSTATION_TAZ;6677{6678// set values of tag6679myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6680GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TAZ,6681conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("taz")), parents, color);6682// set values of attributes6683fillPlanParentAttributes(myTagProperties[currentTag]);6684fillRideCommonAttributes(myTagProperties[currentTag]);6685}6686currentTag = GNE_TAG_RIDE_CHARGINGSTATION_JUNCTION;6687{6688// set values of tag6689myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6690GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_JUNCTION,6691conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("junction")), parents, color);6692// set values of attributes6693fillPlanParentAttributes(myTagProperties[currentTag]);6694fillRideCommonAttributes(myTagProperties[currentTag]);6695}6696currentTag = GNE_TAG_RIDE_CHARGINGSTATION_BUSSTOP;6697{6698// set values of tag6699myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6700GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,6701conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("busStop")), parents, color);6702// set values of attributes6703fillPlanParentAttributes(myTagProperties[currentTag]);6704fillRideCommonAttributes(myTagProperties[currentTag]);6705}6706currentTag = GNE_TAG_RIDE_CHARGINGSTATION_TRAINSTOP;6707{6708// set values of tag6709myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6710GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,6711conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("trainStop")), parents, color);6712// set values of attributes6713fillPlanParentAttributes(myTagProperties[currentTag]);6714fillRideCommonAttributes(myTagProperties[currentTag]);6715}6716currentTag = GNE_TAG_RIDE_CHARGINGSTATION_CONTAINERSTOP;6717{6718// set values of tag6719myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6720GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,6721conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("containerStop")), parents, color);6722// set values of attributes6723fillPlanParentAttributes(myTagProperties[currentTag]);6724fillRideCommonAttributes(myTagProperties[currentTag]);6725}6726currentTag = GNE_TAG_RIDE_CHARGINGSTATION_CHARGINGSTATION;6727{6728// set values of tag6729myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6730GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,6731conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("chargingStation")), parents, color);6732// set values of attributes6733fillPlanParentAttributes(myTagProperties[currentTag]);6734fillRideCommonAttributes(myTagProperties[currentTag]);6735}6736currentTag = GNE_TAG_RIDE_CHARGINGSTATION_PARKINGAREA;6737{6738// set values of tag6739myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6740GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,6741conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("parkingArea")), parents, color);6742// set values of attributes6743fillPlanParentAttributes(myTagProperties[currentTag]);6744fillRideCommonAttributes(myTagProperties[currentTag]);6745}6746// from parkingArea6747currentTag = GNE_TAG_RIDE_PARKINGAREA_EDGE;6748{6749// set values of tag6750myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6751GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,6752conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("edge")), parents, color);6753// set values of attributes6754fillPlanParentAttributes(myTagProperties[currentTag]);6755fillRideCommonAttributes(myTagProperties[currentTag]);6756}6757currentTag = GNE_TAG_RIDE_PARKINGAREA_TAZ;6758{6759// set values of tag6760myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagPropertyTAZ,6761GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TAZ,6762conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("taz")), parents, color);6763// set values of attributes6764fillPlanParentAttributes(myTagProperties[currentTag]);6765fillRideCommonAttributes(myTagProperties[currentTag]);6766}6767currentTag = GNE_TAG_RIDE_PARKINGAREA_JUNCTION;6768{6769// set values of tag6770myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6771GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_JUNCTION,6772conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("junction")), parents, color);6773// set values of attributes6774fillPlanParentAttributes(myTagProperties[currentTag]);6775fillRideCommonAttributes(myTagProperties[currentTag]);6776}6777currentTag = GNE_TAG_RIDE_PARKINGAREA_BUSSTOP;6778{6779// set values of tag6780myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6781GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,6782conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("busStop")), parents, color);6783// set values of attributes6784fillPlanParentAttributes(myTagProperties[currentTag]);6785fillRideCommonAttributes(myTagProperties[currentTag]);6786}6787currentTag = GNE_TAG_RIDE_PARKINGAREA_TRAINSTOP;6788{6789// set values of tag6790myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6791GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,6792conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("trainStop")), parents, color);6793// set values of attributes6794fillPlanParentAttributes(myTagProperties[currentTag]);6795fillRideCommonAttributes(myTagProperties[currentTag]);6796}6797currentTag = GNE_TAG_RIDE_PARKINGAREA_CONTAINERSTOP;6798{6799// set values of tag6800myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6801GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,6802conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("containerStop")), parents, color);6803// set values of attributes6804fillPlanParentAttributes(myTagProperties[currentTag]);6805fillRideCommonAttributes(myTagProperties[currentTag]);6806}6807currentTag = GNE_TAG_RIDE_PARKINGAREA_CHARGINGSTATION;6808{6809// set values of tag6810myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6811GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,6812conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("chargingStation")), parents, color);6813// set values of attributes6814fillPlanParentAttributes(myTagProperties[currentTag]);6815fillRideCommonAttributes(myTagProperties[currentTag]);6816}6817currentTag = GNE_TAG_RIDE_PARKINGAREA_PARKINGAREA;6818{6819// set values of tag6820myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,6821GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,6822conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("parkingArea")), parents, color);6823// set values of attributes6824fillPlanParentAttributes(myTagProperties[currentTag]);6825fillRideCommonAttributes(myTagProperties[currentTag]);6826}6827}682868296830void6831GNETagPropertiesDatabase::fillPersonStopElements() {6832// declare common tag types and properties6833const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::STOP_PERSON;6834const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;6835const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;6836const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});6837const unsigned int color = FXRGBA(255, 213, 213, 255);6838const GUIIcon icon = GUIIcon::STOPELEMENT;6839const GUIGlObjectType GLType = GUIGlObjectType::GLO_STOP_PLAN;6840const SumoXMLTag xmlTag = SUMO_TAG_STOP;6841// fill tags6842SumoXMLTag currentTag = GNE_TAG_STOPPERSON_EDGE;6843{6844// set values of tag6845myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6846GNETagProperties::Over::EDGE,6847conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("edge")), parents, color);68486849// set values of attributes6850fillPlanParentAttributes(myTagProperties[currentTag]);6851fillPlanStopCommonAttributes(myTagProperties[currentTag]);6852}6853currentTag = GNE_TAG_STOPPERSON_BUSSTOP;6854{6855// set values of tag6856myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6857GNETagProperties::Over::BUSSTOP,6858conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("busStop")), parents, color);68596860// set values of attributes6861fillPlanParentAttributes(myTagProperties[currentTag]);6862fillPlanStopCommonAttributes(myTagProperties[currentTag]);6863}6864currentTag = GNE_TAG_STOPPERSON_TRAINSTOP;6865{6866// set values of tag6867myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6868GNETagProperties::Over::TRAINSTOP,6869conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("trainStop")), parents, color);68706871// set values of attributes6872fillPlanParentAttributes(myTagProperties[currentTag]);6873fillPlanStopCommonAttributes(myTagProperties[currentTag]);6874}6875currentTag = GNE_TAG_STOPPERSON_CONTAINERSTOP;6876{6877// set values of tag6878myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6879GNETagProperties::Over::CONTAINERSTOP,6880conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("containerStop")), parents, color);68816882// set values of attributes6883fillPlanParentAttributes(myTagProperties[currentTag]);6884fillPlanStopCommonAttributes(myTagProperties[currentTag]);6885}6886currentTag = GNE_TAG_STOPPERSON_CHARGINGSTATION;6887{6888myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6889GNETagProperties::Over::CHARGINGSTATION,6890conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("chargingStation")), parents, color);68916892// set values of attributes6893fillPlanParentAttributes(myTagProperties[currentTag]);6894fillPlanStopCommonAttributes(myTagProperties[currentTag]);6895}6896currentTag = GNE_TAG_STOPPERSON_PARKINGAREA;6897{6898// set values of tag6899myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,6900GNETagProperties::Over::PARKINGAREA,6901conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("parkingArea")), parents, color);69026903// set values of attributes6904fillPlanParentAttributes(myTagProperties[currentTag]);6905fillPlanStopCommonAttributes(myTagProperties[currentTag]);6906}6907}690869096910void6911GNETagPropertiesDatabase::fillCommonAttributes(GNETagProperties* tagProperties) {6912GNEAttributeProperties* commonAttribute = nullptr;6913// check if element can be reparent6914if (tagProperties->canCenterCameraAfterCreation()) {6915commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_CENTER_AFTER_CREATION,6916GNEAttributeProperties::Property::BOOL,6917GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6918TLF("Center view over element % after creation", tagProperties->getTagStr()));6919commonAttribute->setAlternativeName(TL("center view"));6920}6921// fill file attributes6922if (!tagProperties->isChild() && !tagProperties->isSymbol()) {6923if (tagProperties->isAdditionalElement()) {6924commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_ADDITIONAL_FILE,6925GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,6926GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6927TL("The path to the additional file"));6928commonAttribute->setFilenameExtensions(SUMOXMLDefinitions::AdditionalFileExtensions.getStrings());6929commonAttribute->setAlternativeName(TL("add. file"));6930} else if (tagProperties->isDemandElement()) {6931commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_DEMAND_FILE,6932GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,6933GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6934TL("The path to the route file"));6935commonAttribute->setFilenameExtensions(SUMOXMLDefinitions::RouteFileExtensions.getStrings());6936commonAttribute->setAlternativeName(TL("route file"));6937} else if (tagProperties->isDataElement()) {6938commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_DATA_FILE,6939GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,6940GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6941TL("The path to the data file"));6942commonAttribute->setFilenameExtensions(SUMOXMLDefinitions::EdgeDataFileExtensions.getStrings());6943commonAttribute->setAlternativeName(TL("data file"));6944} else if (tagProperties->isMeanData()) {6945commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_MEANDATA_FILE,6946GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,6947GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6948TL("The path to the data file"));6949commonAttribute->setFilenameExtensions(SUMOXMLDefinitions::MeanDataFileExtensions.getStrings());6950commonAttribute->setAlternativeName(TL("mean file"));6951}6952}6953/*6954new GNEAttributeProperties(myTagProperties[currentTag], relativePath,6955GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,6956GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6957TL("Enable or disable use image file as a relative path"),6958toString(Shape::DEFAULT_RELATIVEPATH));6959*/6960// if this is a drawable element, add front and select attributes6961if (tagProperties->isDrawable()) {6962commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_FRONTELEMENT,6963GNEAttributeProperties::Property::BOOL,6964GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6965TL("Toggle front element"));69666967commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SELECTED,6968GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,6969GNEAttributeProperties::Edit::NETEDITEDITOR,6970TL("Toggle select element"),6971GNEAttributeCarrier::FALSE_STR);6972}6973// check if element can be reparent6974if (tagProperties->canBeReparent()) {6975commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_PARENT,6976GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UPDATEGEOMETRY,6977GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,6978TL("Change element parent"));6979}6980// check if element has parameters6981if (tagProperties->hasParameters()) {6982commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_PARAMETERS,6983GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,6984GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,6985TL("Generic parameters (Format: key1=value1|key2=value2|..."));6986commonAttribute->setAlternativeName(TL("parameters"));6987}6988}698969906991void6992GNETagPropertiesDatabase::fillCommonStoppingPlaceAttributes(GNETagProperties* tagProperties, const bool includeColor) {6993// set values of attributes6994fillIDAttribute(tagProperties, true);69956996fillLaneAttribute(tagProperties, false);69976998new GNEAttributeProperties(tagProperties, SUMO_ATTR_STARTPOS,6999GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7000GNEAttributeProperties::Edit::EDITMODE,7001TL("The begin position on the lane (the lower position on the lane) in meters"),7002GNEAttributeCarrier::LANE_START, "INVALID_DOUBLE");70037004new GNEAttributeProperties(tagProperties, SUMO_ATTR_ENDPOS,7005GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7006GNEAttributeProperties::Edit::EDITMODE,7007TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"),7008GNEAttributeCarrier::LANE_END, "INVALID_DOUBLE");70097010fillFriendlyPosAttribute(tagProperties);70117012fillNameAttribute(tagProperties);70137014if (includeColor) {7015fillColorAttribute(tagProperties, "");7016}70177018new GNEAttributeProperties(tagProperties, SUMO_ATTR_ANGLE,7019GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7020GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7021TLF("Angle of %", tagProperties->getTagStr()),7022"0");70237024// netedit attributes7025new GNEAttributeProperties(tagProperties, GNE_ATTR_SIZE,7026GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,7027GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,7028TLF("Length of %", tagProperties->getTagStr()),7029"10");70307031auto forceSize = new GNEAttributeProperties(tagProperties, GNE_ATTR_FORCESIZE,7032GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,7033GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,7034TL("Force size during creation"),7035GNEAttributeCarrier::FALSE_STR);7036forceSize->setAlternativeName(TL("force size"));70377038auto reference = new GNEAttributeProperties(tagProperties, GNE_ATTR_REFERENCE,7039GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE,7040GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,7041TLF("Reference position used for creating %", tagProperties->getTagStr()));7042reference->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());7043}704470457046void7047GNETagPropertiesDatabase::fillCommonPOIAttributes(GNETagProperties* tagProperties) {7048// fill POI attributes7049fillNameAttribute(tagProperties);70507051fillColorAttribute(tagProperties, "red");70527053new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,7054GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7055GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7056TL("A typename for the POI"),7057toString(Shape::DEFAULT_TYPE));70587059auto icon = new GNEAttributeProperties(tagProperties, SUMO_ATTR_ICON,7060GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7061GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7062TL("POI Icon"),7063SUMOXMLDefinitions::POIIcons.getString(POIIcon::NONE));7064icon->setDiscreteValues(SUMOXMLDefinitions::POIIcons.getStrings());70657066new GNEAttributeProperties(tagProperties, SUMO_ATTR_LAYER,7067GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7068GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7069TL("The layer of the POI for drawing and selecting"),7070toString(Shape::DEFAULT_LAYER_POI));70717072new GNEAttributeProperties(tagProperties, SUMO_ATTR_WIDTH,7073GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7074GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7075TL("Width of rendered image in meters"),7076toString(Shape::DEFAULT_IMG_WIDTH));70777078new GNEAttributeProperties(tagProperties, SUMO_ATTR_HEIGHT,7079GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7080GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7081TL("Height of rendered image in meters"),7082toString(Shape::DEFAULT_IMG_HEIGHT));70837084fillImgFileAttribute(tagProperties, false);70857086new GNEAttributeProperties(tagProperties, SUMO_ATTR_ANGLE,7087GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE,7088GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7089TL("Angle of rendered image in degree"),7090toString(Shape::DEFAULT_ANGLE));7091}709270937094void7095GNETagPropertiesDatabase::fillCommonRouteAttributes(GNETagProperties* tagProperties) {7096// fill route attributes7097new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,7098GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7099GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,7100TL("The edges the vehicle shall drive along, given as their ids, separated using spaces"));71017102fillColorAttribute(tagProperties, "");71037104new GNEAttributeProperties(tagProperties, SUMO_ATTR_REPEAT,7105GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7106GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7107TL("The number of times that the edges of this route shall be repeated"),7108"0");71097110new GNEAttributeProperties(tagProperties, SUMO_ATTR_CYCLETIME,7111GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,7112GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7113TL("When defining a repeating route with stops and those stops use the until attribute,") + std::string("\n") +7114TL("the times will be shifted forward by 'cycleTime' on each repeat"),7115"0");7116}711771187119void7120GNETagPropertiesDatabase::fillCommonVTypeAttributes(GNETagProperties* tagProperties) {7121// fill vType attributes7122auto vClass = new GNEAttributeProperties(tagProperties, SUMO_ATTR_VCLASS,7123GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7124GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,7125TL("An abstract vehicle class"),7126"passenger");7127vClass->setDiscreteValues(SumoVehicleClassStrings.getStrings());71287129fillColorAttribute(tagProperties, "");71307131new GNEAttributeProperties(tagProperties, SUMO_ATTR_LENGTH,7132GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,7133GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7134TL("The vehicle's netto-length (length) [m]"));71357136new GNEAttributeProperties(tagProperties, SUMO_ATTR_MINGAP,7137GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,7138GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7139TL("Empty space after leader [m]"));71407141new GNEAttributeProperties(tagProperties, SUMO_ATTR_MAXSPEED,7142GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,7143GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7144TL("The vehicle's maximum velocity [m/s]"));71457146new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEEDFACTOR,7147GNEAttributeProperties::Property::STRING,7148GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7149TL("The vehicle's expected multiplicator for lane speed limits (or a distribution specifier)"));71507151new GNEAttributeProperties(tagProperties, SUMO_ATTR_DESIRED_MAXSPEED,7152GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,7153GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7154TL("The vehicle's desired maximum velocity (interacts with speedFactor).") + std::string("\n") +7155TL("Applicable when no speed limit applies (bicycles, some motorways) [m/s]"));71567157auto emissionClass = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EMISSIONCLASS,7158GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE,7159GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7160TL("An abstract emission class"));7161emissionClass->setDiscreteValues(PollutantsInterface::getAllClassesStr());71627163auto GUIShape = new GNEAttributeProperties(tagProperties, SUMO_ATTR_GUISHAPE,7164GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE,7165GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7166TL("How this vehicle is rendered"));7167GUIShape->setDiscreteValues(SumoVehicleShapeStrings.getStrings());71687169new GNEAttributeProperties(tagProperties, SUMO_ATTR_WIDTH,7170GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7171GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7172TL("The vehicle's width [m] (only used for drawing)"),7173"1.8");71747175new GNEAttributeProperties(tagProperties, SUMO_ATTR_HEIGHT,7176GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7177GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7178TL("The vehicle's height [m] (only used for drawing)"),7179"1.5");71807181new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING_BADGES,7182GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7183GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7184TL("The parking badges assigned to the vehicle"));71857186fillImgFileAttribute(tagProperties, true);71877188auto laneChangeModel = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LANE_CHANGE_MODEL,7189GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7190GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7191TL("The model used for changing lanes"),7192SUMOXMLDefinitions::LaneChangeModels.getString(LaneChangeModel::DEFAULT));7193laneChangeModel->setDiscreteValues(SUMOXMLDefinitions::LaneChangeModels.getStrings());71947195auto carFollowModel = new GNEAttributeProperties(tagProperties, SUMO_ATTR_CAR_FOLLOW_MODEL,7196GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7197GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7198TL("The model used for car-following"),7199SUMOXMLDefinitions::CarFollowModels.getString(SUMO_TAG_CF_KRAUSS));7200carFollowModel->setDiscreteValues(SUMOXMLDefinitions::CarFollowModels.getStrings());72017202new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERSON_CAPACITY,7203GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE,7204GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7205TL("The number of persons (excluding an autonomous driver) the vehicle can transport"));72067207new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_CAPACITY,7208GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE,7209GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7210TL("The number of containers the vehicle can transport"));72117212new GNEAttributeProperties(tagProperties, SUMO_ATTR_BOARDING_DURATION,7213GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,7214GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7215TL("The time required by a person to board the vehicle"),7216"0.50");72177218new GNEAttributeProperties(tagProperties, SUMO_ATTR_LOADING_DURATION,7219GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,7220GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7221TL("The time required to load a container onto the vehicle"),7222"90");72237224auto latAlignment = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LATALIGNMENT,7225GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7226GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7227TL("The preferred lateral alignment when using the sublane-model"),7228"center");7229latAlignment->setDiscreteValues(SUMOVTypeParameter::getLatAlignmentStrings());72307231new GNEAttributeProperties(tagProperties, SUMO_ATTR_MINGAP_LAT,7232GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7233GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7234TL("The minimum lateral gap at a speed difference of 50km/h when using the sublane-model"),7235"0.12");72367237new GNEAttributeProperties(tagProperties, SUMO_ATTR_MAXSPEED_LAT,7238GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7239GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7240TL("The maximum lateral speed when using the sublane-model"),7241"1");72427243new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACTIONSTEPLENGTH,7244GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7245GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7246TL("The interval length for which vehicle performs its decision logic (acceleration and lane-changing)"),7247toString(OptionsCont::getOptions().getFloat("default.action-step-length")));72487249fillDistributionProbability(tagProperties, false);72507251new GNEAttributeProperties(tagProperties, SUMO_ATTR_OSGFILE,7252GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7253GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7254TL("3D model file for this class"));7255/*7256Waiting for #163437257new GNEAttributeProperties(tagProperties, SUMO_ATTR_CARRIAGE_LENGTH,7258GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE,7259GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7260TL("Carriage lengths"));72617262new GNEAttributeProperties(tagProperties, SUMO_ATTR_LOCOMOTIVE_LENGTH,7263GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE,7264GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7265TL("Locomotive lengths"));72667267new GNEAttributeProperties(tagProperties, SUMO_ATTR_CARRIAGE_GAP,7268GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7269GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7270TL("Gap between carriages"),7271"1");7272*/7273// fill VType Car Following Model Values (implemented in a separated function to improve code legibility)7274fillCarFollowingModelAttributes(tagProperties);72757276// fill VType Junction Model Parameters (implemented in a separated function to improve code legibility)7277fillJunctionModelAttributes(tagProperties);72787279// fill VType Lane Change Model Parameters (implemented in a separated function to improve code legibility)7280fillLaneChangingModelAttributes(tagProperties);7281}728272837284void7285GNETagPropertiesDatabase::fillCommonVehicleAttributes(GNETagProperties* tagProperties) {7286// fill vehicle attributes7287fillColorAttribute(tagProperties, "yellow");72887289new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTLANE,7290GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7291GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7292TL("The lane on which the vehicle shall be inserted"),7293"first");72947295new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,7296GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7297GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7298TL("The position at which the vehicle shall enter the net"),7299"base");73007301new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTSPEED,7302GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7303GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7304TL("The speed with which the vehicle shall enter the network"),7305"0");73067307new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALLANE,7308GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7309GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7310TL("The lane at which the vehicle shall leave the network"),7311"current");73127313new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,7314GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7315GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7316TL("The position at which the vehicle shall leave the network"),7317"max");73187319new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALSPEED,7320GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7321GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7322TL("The speed with which the vehicle shall leave the network"),7323"current");73247325new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINE,7326GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7327GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7328TL("A string specifying the id of a public transport line which can be used when specifying person rides"));73297330new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERSON_NUMBER,7331GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7332GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7333TL("The number of occupied seats when the vehicle is inserted"),7334"0");73357336new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_NUMBER,7337GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7338GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7339TL("The number of occupied container places when the vehicle is inserted"),7340"0");73417342new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS_LAT,7343GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7344GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7345TL("The lateral position on the departure lane at which the vehicle shall enter the net"),7346"center");73477348new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS_LAT,7349GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7350GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7351TL("The lateral position on the arrival lane at which the vehicle shall arrive"),7352"center");73537354new GNEAttributeProperties(tagProperties, SUMO_ATTR_INSERTIONCHECKS,7355GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7356GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7357TL("Insertion checks"),7358SUMOXMLDefinitions::InsertionChecks.getString(InsertionCheck::ALL));7359}736073617362void7363GNETagPropertiesDatabase::fillCommonFlowAttributes(GNETagProperties* tagProperties, SumoXMLAttr perHour) {7364// fill common flow attributes7365new GNEAttributeProperties(tagProperties, SUMO_ATTR_BEGIN,7366GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,7367GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7368TL("First flow departure time"),7369"0");73707371auto flowTerminate = new GNEAttributeProperties(tagProperties, GNE_ATTR_FLOW_TERMINATE,7372GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,7373GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,7374TL("Criterion for flow termination"),7375toString(SUMO_ATTR_END));7376flowTerminate->setDiscreteValues({toString(SUMO_ATTR_END), toString(SUMO_ATTR_NUMBER), toString(SUMO_ATTR_END) + "-" + toString(SUMO_ATTR_NUMBER)});73777378auto flowSpacing = new GNEAttributeProperties(tagProperties, GNE_ATTR_FLOW_SPACING,7379GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,7380GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,7381TL("Criterion for flow spacing"),7382toString(perHour));7383flowSpacing->setDiscreteValues({toString(perHour), toString(SUMO_ATTR_PERIOD), toString(SUMO_ATTR_PROB), toString(GNE_ATTR_POISSON)});73847385new GNEAttributeProperties(tagProperties, SUMO_ATTR_END,7386GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,7387GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,7388TL("End of departure interval"),7389"3600");73907391new GNEAttributeProperties(tagProperties, SUMO_ATTR_NUMBER,7392GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,7393GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,7394TL("probability for emitting a flow each second") + std::string("\n") +7395TL("(not together with vehsPerHour or period)"),7396"1800");73977398new GNEAttributeProperties(tagProperties, perHour,7399GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,7400GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,7401TL("Number of flows per hour, equally spaced") + std::string("\n") +7402TL("(not together with period or probability or poisson)"),7403"1800");74047405new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERIOD,7406GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,7407GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,7408TL("Insert equally spaced flows at that period") + std::string("\n") +7409TL("(not together with vehsPerHour or probability or poisson)"),7410"2");74117412new GNEAttributeProperties(tagProperties, SUMO_ATTR_PROB,7413GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,7414GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,7415TL("probability for emitting a flow each second") + std::string("\n") +7416TL("(not together with vehsPerHour or period or poisson)"),7417"0.5");74187419new GNEAttributeProperties(tagProperties, GNE_ATTR_POISSON,7420GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,7421GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,7422TL("Insert flow expected vehicles per second with poisson distributed insertion rate") + std::string("\n") +7423TL("(not together with period or vehsPerHour or probability)"),7424"0.5");7425}742674277428void7429GNETagPropertiesDatabase::fillCarFollowingModelAttributes(GNETagProperties* tagProperties) {7430// fill CFM attributes7431new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACCEL,7432GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7433GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7434TL("The acceleration ability of vehicles of this type [m/s^2]"),7435toString(SUMOVTypeParameter::getDefaultAccel()));74367437new GNEAttributeProperties(tagProperties, SUMO_ATTR_DECEL,7438GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7439GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7440TL("The deceleration ability of vehicles of this type [m/s^2]"),7441toString(SUMOVTypeParameter::getDefaultDecel()));74427443new GNEAttributeProperties(tagProperties, SUMO_ATTR_APPARENTDECEL,7444GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7445GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7446TL("The apparent deceleration of the vehicle as used by the standard model [m/s^2]"),7447toString(SUMOVTypeParameter::getDefaultDecel()));74487449new GNEAttributeProperties(tagProperties, SUMO_ATTR_EMERGENCYDECEL,7450GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7451GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7452TL("The maximal physically possible deceleration for the vehicle [m/s^2]"),7453toString(SUMOVTypeParameter::getDefaultEmergencyDecel(SVC_IGNORING,7454SUMOVTypeParameter::getDefaultDecel(),7455VTYPEPARS_DEFAULT_EMERGENCYDECEL_DEFAULT)));74567457auto sigma = new GNEAttributeProperties(tagProperties, SUMO_ATTR_SIGMA,7458GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,7459GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7460TL("Car-following model parameter"),7461toString(SUMOVTypeParameter::getDefaultImperfection()));7462sigma->setRange(0, 1);74637464new GNEAttributeProperties(tagProperties, SUMO_ATTR_TAU,7465GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7466GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7467TL("Car-following model parameter"),7468"1");74697470new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP1,7471GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7472GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7473TL("SKRAUSSX parameter 1"));74747475new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP2,7476GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7477GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7478TL("SKRAUSSX parameter 2"));74797480new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP3,7481GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7482GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7483TL("SKRAUSSX parameter 3"));74847485new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP4,7486GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7487GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7488TL("SKRAUSSX parameter 4"));74897490new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP5,7491GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7492GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7493TL("SKRAUSSX parameter 5"));74947495new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_LOOK_AHEAD,7496GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7497GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7498TL("EIDM Look ahead / preview parameter [s]"),7499"4");75007501new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_REACTION,7502GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7503GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7504TL("EIDM AP Reaction Time parameter [s]"),7505"0.50");75067507new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_PERSISTENCE_DRIVE,7508GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7509GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7510TL("EIDM Wiener Process parameter for the Driving Error [s]"),7511"3");75127513new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_PERSISTENCE_ESTIMATE,7514GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7515GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7516TL("EIDM Wiener Process parameter for the Estimation Error [s]"),7517"10");75187519auto coolness = new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_C_COOLNESS,7520GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,7521GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7522TL("EIDM Coolness parameter of the Enhanced IDM [-]"),7523"0.99");7524coolness->setRange(0, 1);75257526new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_SIG_LEADER,7527GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7528GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7529TL("EIDM leader speed estimation error parameter [-]"),7530"0.02");75317532new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_SIG_GAP,7533GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7534GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7535TL("EIDM gap estimation error parameter [-]"),7536"0.10");75377538new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_SIG_ERROR,7539GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7540GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7541TL("EIDM driving error parameter [-]"),7542"0.04");75437544new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_JERK_MAX,7545GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7546GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7547TL("EIDM maximal jerk parameter [m/s^3]"),7548"3");75497550new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_EPSILON_ACC,7551GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7552GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7553TL("EIDM maximal negative acceleration between two Action Points (threshold) [m/s^2]"),7554"1");75557556new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_ACC_MAX,7557GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7558GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7559TL("EIDM Time parameter until vehicle reaches amax after startup/driveoff [s]"),7560"1.20");75617562new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_M_FLATNESS,7563GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7564GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7565TL("EIDM Flatness parameter of startup/driveoff curve [-]"),7566"2");75677568new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_M_BEGIN,7569GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7570GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7571TL("EIDM Shift parameter of startup/driveoff curve [-]"),7572"0.70");75737574new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_USEVEHDYNAMICS,7575GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,7576GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7577TL("EIDM parameter if model shall include vehicle dynamics into the acceleration calculation [0/1]"),7578"0");75797580new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_MAX_VEH_PREVIEW,7581GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7582GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7583TL("EIDM parameter how many vehicles are taken into the preview calculation of the driver (at least always 1!) [-]"),7584"0");75857586new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_PWAGNER2009_TAULAST,7587GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7588GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7589TL("Peter Wagner 2009 parameter"),7590"0");75917592new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_PWAGNER2009_APPROB,7593GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7594GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7595TL("Peter Wagner 2009 parameter"),7596"0");75977598new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDMM_ADAPT_FACTOR,7599GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7600GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7601TL("IDMM parameter"),7602"0");76037604new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDMM_ADAPT_TIME,7605GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7606GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7607TL("IDMM parameter"),7608"0");76097610new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC1,7611GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7612GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7613TL("W99 parameter"),7614"1.3");76157616new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC2,7617GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7618GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7619TL("W99 parameter"),7620"8");76217622new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC3,7623GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7624GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7625TL("W99 parameter"),7626"-12");76277628new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC4,7629GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7630GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7631TL("W99 parameter"),7632"-0.25");76337634new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC5,7635GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7636GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7637TL("W99 parameter"),7638"0.35");76397640new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC6,7641GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7642GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7643TL("W99 parameter"),7644"6");76457646new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC7,7647GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7648GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7649TL("W99 parameter"),7650"0.25");76517652new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC8,7653GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7654GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7655TL("W99 parameter"),7656"2");76577658new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC9,7659GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7660GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7661TL("W99 parameter"),7662"1.5");76637664new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_WIEDEMANN_SECURITY,7665GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7666GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7667TL("Wiedemann parameter"));76687669new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_WIEDEMANN_ESTIMATION,7670GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7671GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7672TL("Wiedemann parameter"));76737674new GNEAttributeProperties(tagProperties, SUMO_ATTR_COLLISION_MINGAP_FACTOR,7675GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7676GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7677TL("MinGap factor parameter"));76787679new GNEAttributeProperties(tagProperties, SUMO_ATTR_K,7680GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7681GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7682TL("K parameter"));76837684new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_KERNER_PHI,7685GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7686GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7687TL("Kerner Phi parameter"));76887689new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDM_DELTA,7690GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7691GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7692TL("IDM Delta parameter"));76937694new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDM_STEPPING,7695GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7696GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7697TL("IDM Stepping parameter"));76987699auto trainType = new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRAIN_TYPE,7700GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7701GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7702TL("Train Types"),7703SUMOXMLDefinitions::TrainTypes.getString(TrainType::NGT400));7704trainType->setDiscreteValues(SUMOXMLDefinitions::TrainTypes.getStrings());7705}770677077708void7709GNETagPropertiesDatabase::fillJunctionModelAttributes(GNETagProperties* tagProperties) {7710// fill junction model attributes7711new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_CROSSING_GAP,7712GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7713GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7714TL("Minimum distance to pedestrians that are walking towards the conflict point with the ego vehicle."),7715"10");77167717new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_IGNORE_KEEPCLEAR_TIME,7718GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7719GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7720TL("The accumulated waiting time after which a vehicle will drive onto an intersection even though this might cause jamming."),7721"", "-1");77227723new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_DRIVE_AFTER_YELLOW_TIME,7724GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7725GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7726TL("This value causes vehicles to violate a yellow light if the duration of the yellow phase is lower than the given threshold."),7727"", "-1");77287729new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_DRIVE_AFTER_RED_TIME,7730GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7731GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7732TL("This value causes vehicles to violate a red light if the duration of the red phase is lower than the given threshold."),7733"", "-1");77347735new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_DRIVE_RED_SPEED,7736GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7737GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7738TL("This value causes vehicles affected by jmDriveAfterRedTime to slow down when violating a red light."),7739"0");77407741new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_IGNORE_FOE_PROB,7742GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7743GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7744TL("This value causes vehicles to ignore foe vehicles that have right-of-way with the given probability."),7745"0");77467747new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_IGNORE_FOE_SPEED,7748GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7749GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7750TL("This value is used in conjunction with jmIgnoreFoeProb.") + std::string("\n") +7751TL("Only vehicles with a speed below or equal to the given value may be ignored."),7752"0");77537754new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_SIGMA_MINOR,7755GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7756GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7757TL("This value configures driving imperfection (dawdling) while passing a minor link."),7758"0");77597760new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_TIMEGAP_MINOR,7761GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7762GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7763TL("This value defines the minimum time gap when passing ahead of a prioritized vehicle. "),7764"1");77657766new GNEAttributeProperties(tagProperties, SUMO_ATTR_IMPATIENCE,7767GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7768GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7769TL("Willingess of drivers to impede vehicles with higher priority"),7770"0");7771}777277737774void7775GNETagPropertiesDatabase::fillLaneChangingModelAttributes(GNETagProperties* tagProperties) {7776// fill lane changing model7777new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_STRATEGIC_PARAM,7778GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7779GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7780TL("The eagerness for performing strategic lane changing. Higher values result in earlier lane-changing."),7781"1");77827783new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_COOPERATIVE_PARAM,7784GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7785GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7786TL("The willingness for performing cooperative lane changing. Lower values result in reduced cooperation."),7787"1");77887789new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_SPEEDGAIN_PARAM,7790GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7791GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7792TL("The eagerness for performing lane changing to gain speed. Higher values result in more lane-changing."),7793"1");77947795new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_KEEPRIGHT_PARAM,7796GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7797GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7798TL("The eagerness for following the obligation to keep right. Higher values result in earlier lane-changing."),7799"1");78007801new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_SUBLANE_PARAM,7802GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7803GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7804TL("The eagerness for using the configured lateral alignment within the lane.") + std::string("\n") +7805TL("Higher values result in increased willingness to sacrifice speed for alignment."),7806"1");78077808new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_OPPOSITE_PARAM,7809GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7810GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7811TL("The eagerness for overtaking through the opposite-direction lane. Higher values result in more lane-changing."),7812"1");78137814new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_PUSHY,7815GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7816GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7817TL("Willingness to encroach laterally on other drivers."),7818"0");78197820new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_PUSHYGAP,7821GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7822GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7823TL("Minimum lateral gap when encroaching laterally on other drives (alternative way to define lcPushy)"),7824"0");78257826new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_ASSERTIVE,7827GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7828GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7829TL("Willingness to accept lower front and rear gaps on the target lane."),7830"1");78317832new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_IMPATIENCE,7833GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7834GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7835TL("Dynamic factor for modifying lcAssertive and lcPushy."),7836"0");78377838new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_TIME_TO_IMPATIENCE,7839GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7840GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7841TL("Time to reach maximum impatience (of 1). Impatience grows whenever a lane-change manoeuvre is blocked."),7842"infinity");78437844new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_ACCEL_LAT,7845GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7846GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7847TL("Maximum lateral acceleration per second."),7848"1");78497850new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_LOOKAHEADLEFT,7851GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7852GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7853TL("Factor for configuring the strategic lookahead distance when a change to the left is necessary (relative to right lookahead)."),7854"2");78557856new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_SPEEDGAINRIGHT,7857GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7858GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7859TL("Factor for configuring the threshold asymmetry when changing to the left or to the right for speed gain."),7860"0.1");78617862new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_MAXSPEEDLATSTANDING,7863GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7864GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7865TL("Upper bound on lateral speed when standing."),7866"0");78677868new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_MAXSPEEDLATFACTOR,7869GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7870GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7871TL("Upper bound on lateral speed while moving computed as lcMaxSpeedLatStanding + lcMaxSpeedLatFactor * getSpeed()"),7872"1");78737874new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_TURN_ALIGNMENT_DISTANCE,7875GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7876GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7877TL("Distance to an upcoming turn on the vehicles route, below which the alignment") + std::string("\n") +7878TL("should be dynamically adapted to match the turn direction."),7879"0");78807881new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_OVERTAKE_RIGHT,7882GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,7883GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7884TL("The probability for violating rules gainst overtaking on the right."),7885"0");78867887new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_KEEPRIGHT_ACCEPTANCE_TIME,7888GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,7889GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7890TL("Time threshold for the willingness to change right."),7891"", "-1");78927893auto factor = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_OVERTAKE_DELTASPEED_FACTOR,7894GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,7895GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,7896TL("Speed difference factor for the eagerness of overtaking a neighbor vehicle before changing lanes (threshold = factor*speedlimit)."),7897"0");7898factor->setRange(-1, 1);78997900}790179027903void7904GNETagPropertiesDatabase::fillCommonPersonAttributes(GNETagProperties* tagProperties) {7905// fill person attributes7906fillIDAttribute(tagProperties, true);79077908new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,7909GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,7910GNEAttributeProperties::Edit::EDITMODE,7911TL("The id of the person type to use for this person"),7912DEFAULT_VTYPE_ID);79137914fillColorAttribute(tagProperties, "yellow");79157916new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,7917GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7918GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7919TL("The position at which the person shall enter the net"),7920"base");7921}792279237924void7925GNETagPropertiesDatabase::fillCommonContainerAttributes(GNETagProperties* tagProperties) {7926// fill common container attributes7927fillIDAttribute(tagProperties, true);79287929new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,7930GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,7931GNEAttributeProperties::Edit::EDITMODE,7932TL("The id of the container type to use for this container"),7933DEFAULT_CONTAINERTYPE_ID);79347935fillColorAttribute(tagProperties, "yellow");79367937new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,7938GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,7939GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7940TL("The position at which the container shall enter the net"),7941"base");7942}794379447945void7946GNETagPropertiesDatabase::fillCommonStopAttributes(GNETagProperties* tagProperties, const bool waypoint) {7947// fill common stop attributes7948auto duration = new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,7949GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,7950GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7951TL("Minimum duration for stopping"),7952"60");7953duration->setDefaultActivated(true);79547955new GNEAttributeProperties(tagProperties, SUMO_ATTR_UNTIL,7956GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,7957GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7958TL("The time step at which the route continues"),7959"0");79607961new GNEAttributeProperties(tagProperties, SUMO_ATTR_EXTENSION,7962GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,7963GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7964TL("If set to a non-negative time value, then the stop duration can be extended at most by the extension value in seconds"),7965"0");79667967if (!waypoint) {7968auto triggered = new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRIGGERED,7969GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7970GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7971TL("Whether a person or container or both may end the stop"),7972"false");7973triggered->setDiscreteValues({"false", "person", "container", "join"});79747975new GNEAttributeProperties(tagProperties, SUMO_ATTR_EXPECTED,7976GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7977GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7978TL("List of elements that must board the vehicle before it may continue"));79797980new GNEAttributeProperties(tagProperties, SUMO_ATTR_JOIN,7981GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,7982GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7983TL("Joins this train to another upon reaching the stop"));7984}79857986new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERMITTED,7987GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,7988GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7989TL("List of elements that can board the vehicle before it may continue"));79907991auto parking = new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING,7992GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,7993GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,7994TL("Whether the vehicle stops on the road or beside"),7995"false");7996parking->setDiscreteValues({"true", "false", "opportunistic"});79977998new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACTTYPE,7999GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,8000GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8001TL("Activity displayed for stopped person in GUI and output files"));80028003new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRIP_ID,8004GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,8005GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8006TL("Parameter to be applied to the vehicle to track the trip id within a cyclical public transport route"));80078008new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINE,8009GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,8010GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8011TL("New line attribute to be set on the vehicle when reaching this stop (for cyclical public transport route)"));80128013if (waypoint) {8014new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEED,8015GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8016GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8017TL("Speed to be kept while driving between startPos and endPos"),8018"0");8019} else {8020new GNEAttributeProperties(tagProperties, SUMO_ATTR_ONDEMAND,8021GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,8022GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8023TL("Whether the stop may be skipped if no passengers wants to embark or disembark"),8024GNEAttributeCarrier::FALSE_STR);8025}80268027new GNEAttributeProperties(tagProperties, SUMO_ATTR_JUMP,8028GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,8029GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8030TL("transfer time if there shall be a jump from this stop to the next route edge"),8031"", "-1");80328033new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPLIT,8034GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,8035GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8036TL("Splits the train upon reaching the stop"));8037}803880398040void8041GNETagPropertiesDatabase::fillPlanParentAttributes(GNETagProperties* tagProperties) {8042// fill plan parents8043// basic parents8044if (tagProperties->planConsecutiveEdges()) {8045new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,8046GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,8047GNEAttributeProperties::Edit::EDITMODE,8048TL("list of consecutive edges"));80498050new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,8051GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,8052GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8053TL("Arrival position on the last edge"),8054"", "-1");8055}8056if (tagProperties->planRoute()) {8057new GNEAttributeProperties(tagProperties, SUMO_ATTR_ROUTE,8058GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,8059GNEAttributeProperties::Edit::EDITMODE,8060TL("Route ID"));80618062new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,8063GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,8064GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8065TL("Arrival position on the destination edge"),8066"", "-1");8067}8068if (tagProperties->planEdge()) {80698070fillEdgeAttribute(tagProperties, false);80718072new GNEAttributeProperties(tagProperties, SUMO_ATTR_ENDPOS,8073GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,8074GNEAttributeProperties::Edit::EDITMODE,8075TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));8076}8077if (tagProperties->planBusStop()) {8078new GNEAttributeProperties(tagProperties, SUMO_ATTR_BUS_STOP,8079GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8080GNEAttributeProperties::Edit::EDITMODE,8081TL("Bus stop ID"));8082}8083if (tagProperties->planTrainStop()) {8084new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRAIN_STOP,8085GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8086GNEAttributeProperties::Edit::EDITMODE,8087TL("Train stop ID"));8088}8089if (tagProperties->planContainerStop()) {8090new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_STOP,8091GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8092GNEAttributeProperties::Edit::EDITMODE,8093TL("Container stop ID"));8094}8095if (tagProperties->planChargingStation()) {8096new GNEAttributeProperties(tagProperties, SUMO_ATTR_CHARGING_STATION,8097GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8098GNEAttributeProperties::Edit::EDITMODE,8099TL("Charging station ID"));8100}8101if (tagProperties->planParkingArea()) {8102new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING_AREA,8103GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8104GNEAttributeProperties::Edit::EDITMODE,8105TL("Parking area ID"));8106}8107// from parents8108if (tagProperties->planFromEdge()) {8109new GNEAttributeProperties(tagProperties, SUMO_ATTR_FROM,8110GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8111GNEAttributeProperties::Edit::EDITMODE,8112TL("Edge start ID"));8113}8114if (tagProperties->planFromTAZ()) {8115new GNEAttributeProperties(tagProperties, SUMO_ATTR_FROM_TAZ,8116GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8117GNEAttributeProperties::Edit::EDITMODE,8118TL("TAZ start ID"));8119}8120if (tagProperties->planFromJunction()) {8121new GNEAttributeProperties(tagProperties, SUMO_ATTR_FROM_JUNCTION,8122GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8123GNEAttributeProperties::Edit::EDITMODE,8124TL("Junction start ID"));8125}8126if (tagProperties->planFromBusStop()) {8127new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_BUSSTOP,8128GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8129GNEAttributeProperties::Edit::EDITMODE,8130TL("BusStop start ID"));8131}8132if (tagProperties->planFromTrainStop()) {8133new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_TRAINSTOP,8134GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8135GNEAttributeProperties::Edit::EDITMODE,8136TL("TrainStop start ID"));8137}8138if (tagProperties->planFromContainerStop()) {8139new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_CONTAINERSTOP,8140GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8141GNEAttributeProperties::Edit::EDITMODE,8142TL("ContainerStop start ID"));8143}8144if (tagProperties->planFromChargingStation()) {8145new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_CHARGINGSTATION,8146GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8147GNEAttributeProperties::Edit::EDITMODE,8148TL("ChargingStation start ID"));8149}8150if (tagProperties->planFromParkingArea()) {8151new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_CHARGINGSTATION,8152GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8153GNEAttributeProperties::Edit::EDITMODE,8154TL("ParkingArea start ID"));8155}8156// to parents8157if (tagProperties->planToEdge()) {8158new GNEAttributeProperties(tagProperties, SUMO_ATTR_TO,8159GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8160GNEAttributeProperties::Edit::EDITMODE,8161TL("Edge end ID"));8162// departPos only for tranships8163if (tagProperties->isPlanTranship()) {8164// depart pos8165new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,8166GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8167GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8168TL("The position at which the tranship shall enter the net"),8169"0");8170}8171new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,8172GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,8173GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8174TL("arrival position on the destination edge"),8175"", "-1");8176}8177if (tagProperties->planToTAZ()) {8178new GNEAttributeProperties(tagProperties, SUMO_ATTR_TO_TAZ,8179GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8180GNEAttributeProperties::Edit::EDITMODE,8181TL("TAZ end ID"));8182}8183if (tagProperties->planToJunction()) {8184new GNEAttributeProperties(tagProperties, SUMO_ATTR_TO_JUNCTION,8185GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8186GNEAttributeProperties::Edit::EDITMODE,8187TL("Junction end ID"));8188}8189if (tagProperties->planToBusStop()) {8190new GNEAttributeProperties(tagProperties, SUMO_ATTR_BUS_STOP,8191GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8192GNEAttributeProperties::Edit::EDITMODE,8193TL("BusStop end ID"));8194}8195if (tagProperties->planToTrainStop()) {8196new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRAIN_STOP,8197GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8198GNEAttributeProperties::Edit::EDITMODE,8199TL("TrainStop end ID"));8200}8201if (tagProperties->planToContainerStop()) {8202new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_STOP,8203GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8204GNEAttributeProperties::Edit::EDITMODE,8205TL("ContainerStop end ID"));8206}8207if (tagProperties->planToChargingStation()) {8208new GNEAttributeProperties(tagProperties, SUMO_ATTR_CHARGING_STATION,8209GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8210GNEAttributeProperties::Edit::EDITMODE,8211TL("ChargingStation end ID"));8212}8213if (tagProperties->planToParkingArea()) {8214new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING_AREA,8215GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8216GNEAttributeProperties::Edit::EDITMODE,8217TL("ParkingArea end ID"));8218}8219}822082218222void8223GNETagPropertiesDatabase::fillPersonTripCommonAttributes(GNETagProperties* tagProperties) {8224// fill person trip common attributes8225fillVTypesAttribute(tagProperties);82268227new GNEAttributeProperties(tagProperties, SUMO_ATTR_MODES,8228GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,8229GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8230TL("List of possible traffic modes. Walking is always possible regardless of this value"));82318232new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINES,8233GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,8234GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8235TL("list of vehicle alternatives to take for the person trip"));82368237new GNEAttributeProperties(tagProperties, SUMO_ATTR_WALKFACTOR,8238GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8239GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8240TL("Walk factor"),8241"0");82428243new GNEAttributeProperties(tagProperties, SUMO_ATTR_GROUP,8244GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,8245GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8246TL("id of the travel group. Persons with the same group may share a taxi ride"));8247}824882498250void8251GNETagPropertiesDatabase::fillWalkCommonAttributes(GNETagProperties* tagProperties) {8252// fill walk common attributes8253new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEED,8254GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8255GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8256TLF("speed of the person for this % in m/s (not together with duration)", tagProperties->getTagStr()),8257"1.39");82588259new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,8260GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8261GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8262TL("duration of the plan in second (not together with speed)"),8263"0");8264}826582668267void8268GNETagPropertiesDatabase::fillRideCommonAttributes(GNETagProperties* tagProperties) {8269// fill ride common attributes8270new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINES,8271GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,8272GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8273TL("list of vehicle alternatives to take for the ride"));82748275new GNEAttributeProperties(tagProperties, SUMO_ATTR_GROUP,8276GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,8277GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8278TL("id of the travel group. Persons with the same group may share a taxi ride"));8279}828082818282void8283GNETagPropertiesDatabase::fillTransportCommonAttributes(GNETagProperties* tagProperties) {8284new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINES,8285GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,8286GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8287TL("list of vehicle alternatives to take for the transport"));82888289new GNEAttributeProperties(tagProperties, SUMO_ATTR_GROUP,8290GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,8291GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8292TL("id of the travel group. Persons with the same group may share a taxi ride"));8293}829482958296void8297GNETagPropertiesDatabase::fillTranshipCommonAttributes(GNETagProperties* tagProperties) {8298// fill tranship attributes8299new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEED,8300GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8301GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8302TL("speed of the person for this tranship in m/s (not together with duration)"),8303"1.39");83048305new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,8306GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8307GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8308TL("duration of the plan in second (not together with speed)"),8309"0");8310}831183128313void8314GNETagPropertiesDatabase::fillPlanStopCommonAttributes(GNETagProperties* tagProperties) {8315// fill plan stop common attributes8316auto duration = new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,8317GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,8318GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8319TL("Minimum duration for stopping"),8320"60");8321duration->setDefaultActivated(true);83228323new GNEAttributeProperties(tagProperties, SUMO_ATTR_UNTIL,8324GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,8325GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8326TL("The time step at which the route continues"),8327"0");83288329new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACTTYPE,8330GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,8331GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8332TL("Activity displayed for stopped person in GUI and output files "));83338334// friendlyPos attribute only for stops over edges8335if (tagProperties->hasAttribute(SUMO_ATTR_EDGE)) {8336fillFriendlyPosAttribute(tagProperties);8337}8338}833983408341void8342GNETagPropertiesDatabase::fillDataElements() {8343// fill data set element8344SumoXMLTag currentTag = SUMO_TAG_DATASET;8345{8346// set values of tag8347myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DATA],8348GNETagProperties::Type::DATAELEMENT,8349GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE,8350GNETagProperties::Over::VIEW,8351GNETagProperties::Conflicts::NO_CONFLICTS,8352GUIIcon::DATASET, GUIGlObjectType::GLO_DATASET, currentTag, TL("DataSet"));83538354// set values of attributes8355fillIDAttribute(myTagProperties[currentTag], true);8356}8357// fill data interval element8358currentTag = SUMO_TAG_DATAINTERVAL;8359{8360// set values of tag8361myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DATA],8362GNETagProperties::Type::DATAELEMENT,8363GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOTSELECTABLE,8364GNETagProperties::Over::VIEW,8365GNETagProperties::Conflicts::NO_CONFLICTS,8366GUIIcon::DATAINTERVAL, GUIGlObjectType::GLO_DATAINTERVAL, currentTag, TL("DataInterval"),8367{SUMO_TAG_DATASET});83688369// set values of attributes8370fillIDAttribute(myTagProperties[currentTag], true);83718372// set values of attributes8373new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,8374GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,8375GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8376TL("Data interval begin time"),8377"0");83788379new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,8380GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,8381GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8382TL("Data interval end time"),8383"3600");8384}8385// fill edge data element8386currentTag = GNE_TAG_EDGEREL_SINGLE;8387{8388// set values of tag8389myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),8390GNETagProperties::Type::DATAELEMENT | GNETagProperties::Type::GENERICDATA,8391GNETagProperties::Property::NO_PROPERTY,8392GNETagProperties::Over::EDGE,8393GNETagProperties::Conflicts::NO_CONFLICTS,8394GUIIcon::EDGEDATA, GUIGlObjectType::GLO_EDGEDATA, SUMO_TAG_EDGE, TL("EdgeRelationSingle"));8395}8396currentTag = SUMO_TAG_EDGEREL;8397{8398// set values of tag8399myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),8400GNETagProperties::Type::DATAELEMENT | GNETagProperties::Type::GENERICDATA,8401GNETagProperties::Property::NO_PROPERTY,8402GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,8403GNETagProperties::Conflicts::NO_CONFLICTS,8404GUIIcon::EDGERELDATA, GUIGlObjectType::GLO_EDGERELDATA, currentTag, TL("EdgeRelation"));84058406// set values of attributes8407new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,8408GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,8409GNEAttributeProperties::Edit::EDITMODE,8410TL("The ID of the edge the edgeRel starts at"));84118412new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,8413GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,8414GNEAttributeProperties::Edit::EDITMODE,8415TL("The ID of the edge the edgeRel ends at"));8416}8417currentTag = SUMO_TAG_TAZREL;8418{8419// set values of tag8420myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),8421GNETagProperties::Type::DATAELEMENT | GNETagProperties::Type::GENERICDATA,8422GNETagProperties::Property::RTREE | GNETagProperties::Property::XMLCHILD,8423GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,8424GNETagProperties::Conflicts::NO_CONFLICTS,8425GUIIcon::TAZRELDATA, GUIGlObjectType::GLO_TAZRELDATA, currentTag, TL("TAZRelation"),8426{SUMO_TAG_DATAINTERVAL});84278428// set values of attributes8429new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,8430GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,8431GNEAttributeProperties::Edit::EDITMODE,8432TL("The name of the TAZ the TAZRel starts at"));84338434new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,8435GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,8436GNEAttributeProperties::Edit::EDITMODE,8437TL("The name of the TAZ the TAZRel ends at"));8438}8439currentTag = SUMO_TAG_MEANDATA_EDGE;8440{8441// set values of tag8442myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DATA),8443GNETagProperties::Type::MEANDATA,8444GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE,8445GNETagProperties::Over::VIEW,8446GNETagProperties::Conflicts::NO_CONFLICTS,8447GUIIcon::MEANDATAEDGE, GUIGlObjectType::GLO_MEANDATA, currentTag, TL("MeanDataEdge"));84488449// set values of attributes8450fillCommonMeanDataAttributes(myTagProperties[currentTag]);8451}8452currentTag = SUMO_TAG_MEANDATA_LANE;8453{8454// set values of tag8455myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DATA),8456GNETagProperties::Type::MEANDATA,8457GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE,8458GNETagProperties::Over::VIEW,8459GNETagProperties::Conflicts::NO_CONFLICTS,8460GUIIcon::MEANDATALANE, GUIGlObjectType::GLO_MEANDATA, currentTag, TL("MeanDataLane"));84618462// set values of attributes8463fillCommonMeanDataAttributes(myTagProperties[currentTag]);8464}8465}846684678468void8469GNETagPropertiesDatabase::fillCommonMeanDataAttributes(GNETagProperties* tagProperties) {8470// fill all meanData attributes8471fillIDAttribute(tagProperties, true);84728473fillFileAttribute(tagProperties);84748475new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERIOD,8476GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,8477GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8478TL("The aggregation period the values the detector collects shall be summed up"),8479"-1");84808481new GNEAttributeProperties(tagProperties, SUMO_ATTR_BEGIN,8482GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,8483GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8484TL("The time to start writing. If not given, the simulation's begin is used."),8485"-1");84868487new GNEAttributeProperties(tagProperties, SUMO_ATTR_END,8488GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,8489GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8490TL("The time to end writing. If not given the simulation's end is used."),8491"-1");84928493auto excludeEmpty = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EXCLUDE_EMPTY,8494GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,8495GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8496TL("If set to true, edges/lanes which were not used by a vehicle during this period will not be written"),8497SUMOXMLDefinitions::ExcludeEmptys.getString(ExcludeEmpty::FALSES));8498excludeEmpty->setDiscreteValues(SUMOXMLDefinitions::ExcludeEmptys.getStrings());84998500new GNEAttributeProperties(tagProperties, SUMO_ATTR_WITH_INTERNAL,8501GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,8502GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8503TL("If set, junction internal edges/lanes will be written as well"),8504GNEAttributeCarrier::FALSE_STR);85058506new GNEAttributeProperties(tagProperties, SUMO_ATTR_MAX_TRAVELTIME,8507GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,8508GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8509TL("The maximum travel time in seconds to write if only very small movements occur"),8510toString(100000));85118512new GNEAttributeProperties(tagProperties, SUMO_ATTR_MIN_SAMPLES,8513GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,8514GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8515TL("Consider an edge/lane unused if it has at most this many sampled seconds"),8516"0");85178518new GNEAttributeProperties(tagProperties, SUMO_ATTR_HALTING_SPEED_THRESHOLD,8519GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,8520GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8521TL("The maximum speed to consider a vehicle halting;"),8522"0.1");85238524new GNEAttributeProperties(tagProperties, SUMO_ATTR_VTYPES,8525GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,8526GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8527TL("space separated list of vehicle type ids to consider"));85288529new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRACK_VEHICLES,8530GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,8531GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8532TL("whether aggregation should be performed over all vehicles that entered the edge/lane in the aggregation interval"),8533GNEAttributeCarrier::FALSE_STR);85348535fillDetectPersonsAttribute(tagProperties);85368537new GNEAttributeProperties(tagProperties, SUMO_ATTR_WRITE_ATTRIBUTES,8538GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,8539GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8540TL("List of attribute names that shall be written"));85418542new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,8543GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,8544GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8545TL("Restrict output to the given list of edge ids"));85468547auto edgesFile = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGESFILE,8548GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILEOPEN | GNEAttributeProperties::Property::DEFAULTVALUE,8549GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8550TL("Restrict output to the given list of edges given in file"));8551edgesFile->setFilenameExtensions(SUMOXMLDefinitions::OutputFileExtensions.getStrings());85528553new GNEAttributeProperties(tagProperties, SUMO_ATTR_AGGREGATE,8554GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,8555GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8556TL("Whether the traffic statistic of all edges shall be aggregated into a single value"),8557GNEAttributeCarrier::FALSE_STR);8558}855985608561void8562GNETagPropertiesDatabase::fillIDAttribute(GNETagProperties* tagProperties, const bool createMode) {8563if (createMode) {8564new GNEAttributeProperties(tagProperties, SUMO_ATTR_ID,8565GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8566GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,8567TLF("ID of %", tagProperties->getTagStr()));8568} else {8569new GNEAttributeProperties(tagProperties, SUMO_ATTR_ID,8570GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,8571GNEAttributeProperties::Edit::EDITMODE,8572TLF("ID of %", tagProperties->getTagStr()));8573}8574}857585768577void8578GNETagPropertiesDatabase::fillNameAttribute(GNETagProperties* tagProperties) {8579new GNEAttributeProperties(tagProperties, SUMO_ATTR_NAME,8580GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,8581GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8582TLF("Optional name for %", tagProperties->getTagStr()));8583}858485858586void8587GNETagPropertiesDatabase::fillEdgeAttribute(GNETagProperties* tagProperties, const bool synonymID) {8588if (synonymID) {8589// set values of attributes8590auto edge = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGE,8591GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM | GNEAttributeProperties::Property::UPDATEGEOMETRY,8592GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,8593TL("The id of an edge in the simulation network"));8594edge->setSynonym(SUMO_ATTR_ID);8595} else {8596new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGE,8597GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,8598GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,8599TL("The id of an edge in the simulation network"));8600}8601}860286038604void8605GNETagPropertiesDatabase::fillLaneAttribute(GNETagProperties* tagProperties, const bool synonymID) {8606if (synonymID) {8607auto lane = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LANE,8608GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM | GNEAttributeProperties::Property::UPDATEGEOMETRY,8609GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,8610TLF("The name of the lane the % shall be located at", tagProperties->getTagStr()));8611lane->setSynonym(SUMO_ATTR_ID);8612} else {8613new GNEAttributeProperties(tagProperties, SUMO_ATTR_LANE,8614GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,8615GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,8616TLF("The name of the lane the % shall be located at", tagProperties->getTagStr()));8617}8618}861986208621void8622GNETagPropertiesDatabase::fillFriendlyPosAttribute(GNETagProperties* tagProperties) {8623new GNEAttributeProperties(tagProperties, SUMO_ATTR_FRIENDLY_POS,8624GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,8625GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8626TL("If set, no error will be reported if element is placed behind the lane.") + std::string("\n") +8627TL("Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,") + std::string("\n") +8628TL("if the position was negative and larger than the lanes length after multiplication with - 1"),8629GNEAttributeCarrier::FALSE_STR);8630}863186328633void8634GNETagPropertiesDatabase::fillVTypesAttribute(GNETagProperties* tagProperties) {8635new GNEAttributeProperties(tagProperties, SUMO_ATTR_VTYPES,8636GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,8637GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8638TL("Space separated list of vehicle type ids to consider"));8639}864086418642void8643GNETagPropertiesDatabase::fillFileAttribute(GNETagProperties* tagProperties) {8644auto file = new GNEAttributeProperties(tagProperties, SUMO_ATTR_FILE,8645GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,8646GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8647TL("The path to the output file"));8648file->setFilenameExtensions(SUMOXMLDefinitions::OutputFileExtensions.getStrings());8649}865086518652void8653GNETagPropertiesDatabase::fillOutputAttribute(GNETagProperties* tagProperties) {8654auto output = new GNEAttributeProperties(tagProperties, SUMO_ATTR_OUTPUT,8655GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,8656GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8657TL("Path to the output file for writing information"));8658output->setFilenameExtensions(SUMOXMLDefinitions::OutputFileExtensions.getStrings());8659}866086618662void8663GNETagPropertiesDatabase::fillImgFileAttribute(GNETagProperties* tagProperties, const bool isExtended) {8664GNEAttributeProperties* imgFile = nullptr;8665if (isExtended) {8666imgFile = new GNEAttributeProperties(tagProperties, SUMO_ATTR_IMGFILE,8667GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILEOPEN | GNEAttributeProperties::Property::DEFAULTVALUE,8668GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,8669TLF("A bitmap to use for rendering this %", tagProperties->getTagStr()));8670} else {8671imgFile = new GNEAttributeProperties(tagProperties, SUMO_ATTR_IMGFILE,8672GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILEOPEN | GNEAttributeProperties::Property::DEFAULTVALUE,8673GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8674TLF("A bitmap to use for rendering this %", tagProperties->getTagStr()));8675}8676imgFile->setFilenameExtensions(SUMOXMLDefinitions::ImageFileExtensions.getStrings());8677}867886798680void8681GNETagPropertiesDatabase::fillDepartAttribute(GNETagProperties* tagProperties) {8682new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPART,8683GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,8684GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8685TLF("The departure time of the (first) % which is generated using this trip definition", tagProperties->getTagStr()),8686"0");8687}868886898690void8691GNETagPropertiesDatabase::fillAllowDisallowAttributes(GNETagProperties* tagProperties) {8692new GNEAttributeProperties(tagProperties, SUMO_ATTR_ALLOW,8693GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,8694GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,8695TL("Explicitly allows the given vehicle classes (not given will be not allowed)"),8696"all");86978698new GNEAttributeProperties(tagProperties, SUMO_ATTR_DISALLOW,8699GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,8700GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,8701TL("Explicitly disallows the given vehicle classes (not given will be allowed)"));8702}870387048705void8706GNETagPropertiesDatabase::fillPosOverLaneAttribute(GNETagProperties* tagProperties) {8707new GNEAttributeProperties(tagProperties, SUMO_ATTR_POSITION,8708GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,8709GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,8710TLF("The position on the lane the % shall be laid on in meters", tagProperties->getTagStr()),8711"0");8712}871387148715void8716GNETagPropertiesDatabase::fillDetectPersonsAttribute(GNETagProperties* tagProperties) {8717auto detectPersons = new GNEAttributeProperties(tagProperties, SUMO_ATTR_DETECT_PERSONS,8718GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,8719GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8720TL("Detect persons instead of vehicles (pedestrians or passengers)"),8721SUMOXMLDefinitions::PersonModeValues.getString(PersonMode::NONE));8722detectPersons->setDiscreteValues(SUMOXMLDefinitions::PersonModeValues.getStrings());8723}872487258726void8727GNETagPropertiesDatabase::fillColorAttribute(GNETagProperties* tagProperties, const std::string& defaultColor) {8728new GNEAttributeProperties(tagProperties, SUMO_ATTR_COLOR,8729GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::COLOR | GNEAttributeProperties::Property::DEFAULTVALUE,8730GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8731TLF("The RGBA color with which the % shall be displayed", tagProperties->getTagStr()),8732defaultColor);8733}873487358736void8737GNETagPropertiesDatabase::fillDetectorPeriodAttribute(GNETagProperties* tagProperties) {8738new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERIOD,8739GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,8740GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8741TLF("The aggregation period the values the % detector collects shall be summed up", tagProperties->getTagStr()),8742"300");8743}874487458746void8747GNETagPropertiesDatabase::fillDetectorNextEdgesAttribute(GNETagProperties* tagProperties) {8748new GNEAttributeProperties(tagProperties, SUMO_ATTR_NEXT_EDGES,8749GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,8750GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8751TL("List of edge ids that must all be part of the future route of the vehicle to qualify for detection"));8752}875387548755void8756GNETagPropertiesDatabase::fillDetectorThresholdAttributes(GNETagProperties* tagProperties, const bool includingJam) {8757new GNEAttributeProperties(tagProperties, SUMO_ATTR_HALTING_TIME_THRESHOLD,8758GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,8759GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8760TL("The time-based threshold that describes how much time has to pass until a vehicle is recognized as halting)"),8761"1");87628763new GNEAttributeProperties(tagProperties, SUMO_ATTR_HALTING_SPEED_THRESHOLD,8764GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8765GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8766TL("The speed-based threshold that describes how slow a vehicle has to be to be recognized as halting) in m/s"),8767"1.39");8768if (includingJam) {8769new GNEAttributeProperties(tagProperties, SUMO_ATTR_JAM_DIST_THRESHOLD,8770GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8771GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8772TL("The maximum distance to the next standing vehicle in order to make this vehicle count as a participant to the jam in m"),8773"10");8774}8775}877687778778void8779GNETagPropertiesDatabase::fillDistributionProbability(GNETagProperties* tagProperties, const bool visible) {8780if (visible) {8781new GNEAttributeProperties(tagProperties, SUMO_ATTR_PROB,8782GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8783GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,8784TL("The probability when being added to a distribution without an explicit probability"),8785"1");8786} else {8787new GNEAttributeProperties(tagProperties, SUMO_ATTR_PROB,8788GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,8789GNEAttributeProperties::Edit::NO_EDIT,8790TL("The probability when being added to a distribution without an explicit probability"),8791"1");8792}8793}879487958796void8797GNETagPropertiesDatabase::updateMaxNumberOfAttributesEditorRows() {8798for (const auto& tagPropertyItem : myTagProperties) {8799int basicEditableAttributes = 0;8800int geoAttributes = 0;8801int flowAttributes = 0;8802int neteditAttributes = 0;8803for (const auto& attributeProperty : tagPropertyItem.second->getAttributeProperties()) {8804if (attributeProperty->isCreateMode() || attributeProperty->isEditMode()) {8805if (attributeProperty->isBasicEditor()) {8806basicEditableAttributes++;8807}8808if (attributeProperty->isGeoEditor()) {8809geoAttributes++;8810}8811if (attributeProperty->isFlowEditor()) {8812flowAttributes++;8813}8814if (attributeProperty->isNeteditEditor()) {8815neteditAttributes++;8816}8817}8818}8819if (myMaxNumberOfEditableAttributeRows < basicEditableAttributes) {8820myMaxNumberOfEditableAttributeRows = basicEditableAttributes;8821}8822if (myMaxNumberOfGeoAttributeRows < geoAttributes) {8823myMaxNumberOfGeoAttributeRows = geoAttributes;8824}8825if (myMaxNumberOfFlowAttributeRows < flowAttributes) {8826myMaxNumberOfFlowAttributeRows = flowAttributes;8827}8828if (myMaxNumberOfNeteditAttributeRows < neteditAttributes) {8829myMaxNumberOfNeteditAttributeRows = neteditAttributes;8830}8831}8832}883388348835void8836GNETagPropertiesDatabase::updateMaxHierarchyDepth() {8837for (const auto& tagPropertyItem : myTagProperties) {8838const int hierarchySize = (int)tagPropertyItem.second->getHierarchicalParentsRecuersively().size();8839if (hierarchySize > myHierarchyDepth) {8840myHierarchyDepth = hierarchySize;8841}8842}8843}88448845/****************************************************************************/884688478848