Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/src/netedit/GNETagPropertiesDatabase.cpp
193674 views
1
/****************************************************************************/
2
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3
// Copyright (C) 2001-2026 German Aerospace Center (DLR) and others.
4
// This program and the accompanying materials are made available under the
5
// terms of the Eclipse Public License 2.0 which is available at
6
// https://www.eclipse.org/legal/epl-2.0/
7
// This Source Code may also be made available under the following Secondary
8
// Licenses when the conditions for such availability set forth in the Eclipse
9
// Public License 2.0 are satisfied: GNU General Public License, version 2
10
// or later which is available at
11
// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13
/****************************************************************************/
14
/// @file GNETagPropertiesDatabase.cpp
15
/// @author Pablo Alvarez lopez
16
/// @date Feb 2025
17
///
18
// Database with all information about netedit elements
19
/****************************************************************************/
20
21
#include <netedit/elements/moving/GNEMoveElementLaneDouble.h>
22
#include <netedit/elements/moving/GNEMoveElementLaneSingle.h>
23
#include <netedit/GNENet.h>
24
#include <utils/emissions/PollutantsInterface.h>
25
#include <utils/options/OptionsCont.h>
26
27
#include "GNETagPropertiesDatabase.h"
28
29
// ===========================================================================
30
// method definitions
31
// ===========================================================================
32
33
GNETagPropertiesDatabase::GNETagPropertiesDatabase() {
34
// fill all groups of ACs
35
fillHierarchy();
36
fillNetworkElements();
37
fillAdditionalElements();
38
fillShapeElements();
39
fillTAZElements();
40
fillWireElements();
41
fillJuPedSimElements();
42
// demand
43
fillDemandElements();
44
fillVehicleElements();
45
fillStopElements();
46
fillWaypointElements();
47
// persons
48
fillPersonElements();
49
fillPersonPlanTrips();
50
fillPersonPlanWalks();
51
fillPersonPlanRides();
52
fillPersonStopElements();
53
// containers
54
fillContainerElements();
55
fillContainerTransportElements();
56
fillContainerTranshipElements();
57
fillContainerStopElements();
58
//data
59
fillDataElements();
60
// add common attributes to all elements
61
for (auto& tagProperties : myTagProperties) {
62
fillCommonAttributes(tagProperties.second);
63
}
64
// update max number of editable attributes
65
updateMaxNumberOfAttributesEditorRows();
66
// calculate hierarchy dept
67
updateMaxHierarchyDepth();
68
// check integrity of all Tags (function checkTagIntegrity() throws an exception if there is an inconsistency)
69
for (const auto& tagProperties : myTagProperties) {
70
tagProperties.second->checkTagIntegrity();
71
}
72
}
73
74
75
GNETagPropertiesDatabase::~GNETagPropertiesDatabase() {
76
// delete all tag properties (this also delete all attributeProperties)
77
for (auto& tagProperties : myTagProperties) {
78
delete tagProperties.second;
79
}
80
}
81
82
83
const GNETagProperties*
84
GNETagPropertiesDatabase::getTagProperty(SumoXMLTag tag, const bool hardFail) const {
85
// check that tag is defined in tagProperties or in tagPropertiesSet
86
if (myTagProperties.count(tag) > 0) {
87
return myTagProperties.at(tag);
88
} else if (mySetTagProperties.count(tag) > 0) {
89
return mySetTagProperties.at(tag);
90
} else if (hardFail) {
91
throw ProcessError(TLF("Property for tag '%' not defined", toString(tag)));
92
} else {
93
return nullptr;
94
}
95
}
96
97
98
const std::vector<const GNETagProperties*>
99
GNETagPropertiesDatabase::getTagPropertiesSet(const SumoXMLTag tag, const bool hardFail) const {
100
// check that tag is defined in tagProperties or in tagPropertiesSet
101
if (mySetTagProperties.count(tag) > 0) {
102
return mySetTagProperties.at(tag)->getHierarchicalChildren();
103
} else if (hardFail) {
104
throw ProcessError(TLF("TagPropertySet for tag '%' not defined", toString(tag)));
105
} else {
106
return {};
107
}
108
}
109
110
111
const std::vector<const GNETagProperties*>
112
GNETagPropertiesDatabase::getTagPropertiesByType(const GNETagProperties::Type type) const {
113
std::vector<const GNETagProperties*> allowedTags;
114
if (type & GNETagProperties::Type::NETWORKELEMENT) {
115
// fill networkElements tags
116
for (const auto& tagProperty : myTagProperties) {
117
if (tagProperty.second->isNetworkElement()) {
118
allowedTags.push_back(tagProperty.second);
119
}
120
}
121
}
122
if (type & GNETagProperties::Type::ADDITIONALELEMENT) {
123
// fill additional tags (only with pure additionals)
124
for (const auto& tagProperty : myTagProperties) {
125
if (tagProperty.second->isAdditionalPureElement()) {
126
allowedTags.push_back(tagProperty.second);
127
}
128
}
129
}
130
if (type & GNETagProperties::Type::SHAPE) {
131
// fill shape tags
132
for (const auto& tagProperty : myTagProperties) {
133
if (tagProperty.second->isShapeElement()) {
134
allowedTags.push_back(tagProperty.second);
135
}
136
}
137
}
138
if (type & GNETagProperties::Type::TAZELEMENT) {
139
// fill taz tags
140
for (const auto& tagProperty : myTagProperties) {
141
if (tagProperty.second->isTAZElement()) {
142
allowedTags.push_back(tagProperty.second);
143
}
144
}
145
}
146
if (type & GNETagProperties::Type::WIRE) {
147
// fill wire tags
148
for (const auto& tagProperty : myTagProperties) {
149
if (tagProperty.second->isWireElement()) {
150
allowedTags.push_back(tagProperty.second);
151
}
152
}
153
}
154
if (type & GNETagProperties::Type::DEMANDELEMENT) {
155
// fill demand tags
156
for (const auto& tagProperty : myTagProperties) {
157
if (tagProperty.second->isDemandElement()) {
158
allowedTags.push_back(tagProperty.second);
159
}
160
}
161
}
162
if (type & GNETagProperties::Type::ROUTE) {
163
// fill route tags
164
for (const auto& tagProperty : myTagProperties) {
165
if (tagProperty.second->isRoute()) {
166
allowedTags.push_back(tagProperty.second);
167
}
168
}
169
}
170
if (type & GNETagProperties::Type::VEHICLE) {
171
// fill vehicle tags
172
for (const auto& tagProperty : myTagProperties) {
173
if (tagProperty.second->isVehicle()) {
174
allowedTags.push_back(tagProperty.second);
175
}
176
}
177
}
178
if (type & GNETagProperties::Type::STOP_VEHICLE) {
179
// fill stop (and waypoints) tags
180
for (const auto& tagProperty : myTagProperties) {
181
if (tagProperty.second->isVehicleStop()) {
182
allowedTags.push_back(tagProperty.second);
183
}
184
}
185
}
186
if (type & GNETagProperties::Type::PERSON) {
187
// fill person tags
188
for (const auto& tagProperty : myTagProperties) {
189
if (tagProperty.second->isPerson()) {
190
allowedTags.push_back(tagProperty.second);
191
}
192
}
193
}
194
if (type & GNETagProperties::Type::PERSONPLAN) {
195
// fill person plan tags
196
for (const auto& tagProperty : myTagProperties) {
197
if (tagProperty.second->isPlanPerson()) {
198
allowedTags.push_back(tagProperty.second);
199
}
200
}
201
}
202
if (type & GNETagProperties::Type::PERSONTRIP) {
203
// fill demand tags
204
for (const auto& tagProperty : myTagProperties) {
205
if (tagProperty.second->isPlanPersonTrip()) {
206
allowedTags.push_back(tagProperty.second);
207
}
208
}
209
}
210
if (type & GNETagProperties::Type::WALK) {
211
// fill demand tags
212
for (const auto& tagProperty : myTagProperties) {
213
if (tagProperty.second->isPlanWalk()) {
214
allowedTags.push_back(tagProperty.second);
215
}
216
}
217
}
218
if (type & GNETagProperties::Type::RIDE) {
219
// fill demand tags
220
for (const auto& tagProperty : myTagProperties) {
221
if (tagProperty.second->isPlanRide()) {
222
allowedTags.push_back(tagProperty.second);
223
}
224
}
225
}
226
if (type & GNETagProperties::Type::STOP_PERSON) {
227
// fill demand tags
228
for (const auto& tagProperty : myTagProperties) {
229
if (tagProperty.second->isPlanStopPerson()) {
230
allowedTags.push_back(tagProperty.second);
231
}
232
}
233
}
234
if (type & GNETagProperties::Type::GENERICDATA) {
235
// fill generic data tags
236
for (const auto& tagProperty : myTagProperties) {
237
if (tagProperty.second->isGenericData()) {
238
allowedTags.push_back(tagProperty.second);
239
}
240
}
241
}
242
if (type & GNETagProperties::Type::MEANDATA) {
243
// fill generic data tags
244
for (const auto& tagProperty : myTagProperties) {
245
if (tagProperty.second->isMeanData()) {
246
allowedTags.push_back(tagProperty.second);
247
}
248
}
249
}
250
if (type & GNETagProperties::Type::CONTAINER) {
251
// fill container tags
252
for (const auto& tagProperty : myTagProperties) {
253
if (tagProperty.second->isContainer()) {
254
allowedTags.push_back(tagProperty.second);
255
}
256
}
257
}
258
if (type & GNETagProperties::Type::CONTAINERPLAN) {
259
// fill container plan tags
260
for (const auto& tagProperty : myTagProperties) {
261
if (tagProperty.second->isPlanContainer()) {
262
allowedTags.push_back(tagProperty.second);
263
}
264
}
265
}
266
if (type & GNETagProperties::Type::TRANSPORT) {
267
// fill demand tags
268
for (const auto& tagProperty : myTagProperties) {
269
if (tagProperty.second->isPlanTransport()) {
270
allowedTags.push_back(tagProperty.second);
271
}
272
}
273
}
274
if (type & GNETagProperties::Type::TRANSHIP) {
275
// fill demand tags
276
for (const auto& tagProperty : myTagProperties) {
277
if (tagProperty.second->isPlanTranship()) {
278
allowedTags.push_back(tagProperty.second);
279
}
280
}
281
}
282
if (type & GNETagProperties::Type::STOP_CONTAINER) {
283
// fill demand tags
284
for (const auto& tagProperty : myTagProperties) {
285
if (tagProperty.second->isPlanStopContainer()) {
286
allowedTags.push_back(tagProperty.second);
287
}
288
}
289
}
290
return allowedTags;
291
}
292
293
294
int
295
GNETagPropertiesDatabase::getMaxNumberOfEditableAttributeRows() const {
296
return myMaxNumberOfEditableAttributeRows;
297
}
298
299
300
int
301
GNETagPropertiesDatabase::getMaxNumberOfGeoAttributeRows() const {
302
return myMaxNumberOfGeoAttributeRows;
303
}
304
305
306
int
307
GNETagPropertiesDatabase::getMaxNumberOfFlowAttributeRows() const {
308
return myMaxNumberOfFlowAttributeRows;
309
}
310
311
312
int
313
GNETagPropertiesDatabase::getMaxNumberOfNeteditAttributesRows() const {
314
return myMaxNumberOfNeteditAttributeRows;
315
}
316
317
318
int
319
GNETagPropertiesDatabase::getHierarchyDepth() const {
320
return myHierarchyDepth;
321
}
322
323
324
void
325
GNETagPropertiesDatabase::writeAttributeHelp() const {
326
const std::string opt = "attribute-help-output";
327
OutputDevice::createDeviceByOption(opt);
328
OutputDevice& dev = OutputDevice::getDeviceByOption(opt);
329
dev << "# Netedit attribute help\n";
330
for (const auto& tagProperty : myTagProperties) {
331
if (tagProperty.second->getAttributeProperties().begin() == tagProperty.second->getAttributeProperties().end()) {
332
// don't write elements without attributes, they are only used for internal purposes
333
continue;
334
}
335
if (tagProperty.second->getXMLTag() != tagProperty.first) {
336
dev << "\n## " << toString(tagProperty.second->getXMLTag()) << " (" << toString(tagProperty.first) << ")\n";
337
} else if (tagProperty.second->getXMLParentTags().empty()) {
338
dev << "\n## " << toString(tagProperty.first) << "\n";
339
} else {
340
if (tagProperty.first == SUMO_TAG_FLOW) {
341
dev << "\n## " << toString(tagProperty.first) << "\n";
342
dev << "also child element of ";
343
} else {
344
dev << "\n### " << toString(tagProperty.first) << "\n";
345
dev << "child element of ";
346
}
347
bool sep = false;
348
for (const auto& pTag : tagProperty.second->getXMLParentTags()) {
349
if (sep) {
350
dev << ", ";
351
} else {
352
sep = true;
353
}
354
dev << "[" << toString(pTag) << "](#" << StringUtils::to_lower_case(toString(pTag)) << ")";
355
}
356
dev << "\n\n";
357
}
358
dev << "| Attribute | Type | Description |\n";
359
dev << "|-----------|------|-------------|\n";
360
for (const auto& attr : tagProperty.second->getAttributeProperties()) {
361
// ignore netedit attributes (front, selected, etc.)
362
if (!attr->isNeteditEditor() && (attr->getAttr() != GNE_ATTR_PARAMETERS)) {
363
dev << "|" << toString(attr->getAttr()) << "|"
364
<< attr->getDescription() << "|"
365
<< StringUtils::replace(attr->getDefinition(), "\n", " ");
366
if (attr->hasDefaultValue() && attr->getDefaultStringValue() != "") {
367
dev << " *default:* **" << attr->getDefaultStringValue() << "**";
368
}
369
dev << "|\n";
370
}
371
}
372
}
373
}
374
375
376
void
377
GNETagPropertiesDatabase::fillHierarchy() {
378
// root - level 0
379
mySetTagProperties[SUMO_TAG_ROOTFILE] = new GNETagProperties(SUMO_TAG_ROOTFILE,
380
nullptr,
381
GUIIcon::NETEDIT_MINI,
382
TL("Root"));
383
// supermodes - level 1
384
mySetTagProperties[GNE_TAG_SUPERMODE_NETWORK] = new GNETagProperties(GNE_TAG_SUPERMODE_NETWORK,
385
mySetTagProperties.at(SUMO_TAG_ROOTFILE),
386
GUIIcon::SUPERMODENETWORK,
387
TL("Supermode network"),
388
FXRGBA(255, 255, 255, 255),
389
TL("Supermode network"));
390
mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND] = new GNETagProperties(GNE_TAG_SUPERMODE_DEMAND,
391
mySetTagProperties.at(SUMO_TAG_ROOTFILE),
392
GUIIcon::SUPERMODEDEMAND,
393
TL("Supermode demand"),
394
FXRGBA(255, 255, 255, 255),
395
TL("Supermode demand"));
396
mySetTagProperties[GNE_TAG_SUPERMODE_DATA] = new GNETagProperties(GNE_TAG_SUPERMODE_DATA,
397
mySetTagProperties.at(SUMO_TAG_ROOTFILE),
398
GUIIcon::SUPERMODEDATA,
399
TL("Supermode data"),
400
FXRGBA(255, 255, 255, 255),
401
TL("Supermode data"));
402
// net - level 2
403
mySetTagProperties[SUMO_TAG_NET] = new GNETagProperties(SUMO_TAG_NET,
404
mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),
405
GUIIcon::MODECREATEEDGE,
406
TL("Network elements"),
407
FXRGBA(255, 255, 255, 255),
408
TL("Network elements"));
409
// additionals - level 2
410
mySetTagProperties[SUMO_TAG_VIEWSETTINGS_ADDITIONALS] = new GNETagProperties(SUMO_TAG_VIEWSETTINGS_ADDITIONALS,
411
mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),
412
GUIIcon::MODEADDITIONAL,
413
TL("Additional elements"),
414
FXRGBA(255, 255, 255, 255),
415
TL("Additional elements"));
416
// stoppingPlaces - level 3
417
mySetTagProperties[GNE_TAG_STOPPINGPLACES] = new GNETagProperties(GNE_TAG_STOPPINGPLACES,
418
mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
419
GUIIcon::BUSSTOP,
420
TL("Stopping places"),
421
FXRGBA(255, 255, 255, 255),
422
TL("Stopping places"));
423
// detectors - level 3
424
mySetTagProperties[GNE_TAG_DETECTORS] = new GNETagProperties(GNE_TAG_DETECTORS,
425
mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
426
GUIIcon::E1,
427
TL("Detectors"),
428
FXRGBA(255, 255, 255, 255),
429
TL("Detectors"));
430
// wires - level 2
431
mySetTagProperties[GNE_TAG_WIRES] = new GNETagProperties(GNE_TAG_WIRES,
432
mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),
433
GUIIcon::MODEWIRE,
434
TL("Wire elements"),
435
FXRGBA(255, 255, 255, 255),
436
TL("Wire elements"));
437
// shapes - level 2
438
mySetTagProperties[GNE_TAG_SHAPES] = new GNETagProperties(GNE_TAG_SHAPES,
439
mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),
440
GUIIcon::MODESHAPE,
441
TL("Shape elements"),
442
FXRGBA(255, 255, 255, 255),
443
TL("Shape elements"));
444
mySetTagProperties[GNE_TAG_JUPEDSIM] = new GNETagProperties(GNE_TAG_JUPEDSIM,
445
mySetTagProperties.at(GNE_TAG_SHAPES),
446
GUIIcon::JPS_WALKABLEAREA,
447
TL("JuPedSim elements"),
448
FXRGBA(255, 255, 255, 255),
449
TL("JuPedSim elements"));
450
// TAZs - level 2
451
mySetTagProperties[GNE_TAG_TAZS] = new GNETagProperties(GNE_TAG_TAZS,
452
mySetTagProperties.at(GNE_TAG_SUPERMODE_NETWORK),
453
GUIIcon::MODEADDITIONAL,
454
TL("TAZ elements"),
455
FXRGBA(255, 255, 255, 255),
456
TL("TAZ elements"));
457
// vehicles - level 2
458
mySetTagProperties[SUMO_TAG_VIEWSETTINGS_VEHICLES] = new GNETagProperties(SUMO_TAG_VIEWSETTINGS_VEHICLES,
459
mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),
460
GUIIcon::VEHICLE,
461
TL("Vehicles"),
462
FXRGBA(255, 255, 255, 255),
463
TL("Vehicles"));
464
// flows - level 2
465
mySetTagProperties[GNE_TAG_FLOWS] = new GNETagProperties(GNE_TAG_FLOWS,
466
mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),
467
GUIIcon::FLOW,
468
TL("Flows"),
469
FXRGBA(255, 255, 255, 255),
470
TL("Vehicle flows"));
471
// stops - level 2
472
mySetTagProperties[GNE_TAG_STOPS] = new GNETagProperties(GNE_TAG_STOPS,
473
mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),
474
GUIIcon::MODESTOP,
475
TL("Vehicle stops"),
476
FXRGBA(255, 255, 255, 255),
477
TL("Vehicle stops"));
478
// personPlans - level 2
479
mySetTagProperties[GNE_TAG_PERSONPLANS] = new GNETagProperties(GNE_TAG_PERSONPLANS,
480
mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),
481
GUIIcon::MODEPERSONPLAN,
482
TL("Person plans"),
483
FXRGBA(255, 255, 255, 255),
484
TL("Person plans"));
485
// personTrips - level 3
486
mySetTagProperties[GNE_TAG_PERSONTRIPS] = new GNETagProperties(GNE_TAG_PERSONTRIPS,
487
mySetTagProperties.at(GNE_TAG_PERSONPLANS),
488
GUIIcon::PERSONTRIP_BUSSTOP,
489
TL("Person trips"),
490
FXRGBA(255, 255, 255, 255),
491
TL("Person trips"));
492
// rides - level 3
493
mySetTagProperties[GNE_TAG_RIDES] = new GNETagProperties(GNE_TAG_RIDES,
494
mySetTagProperties.at(GNE_TAG_PERSONPLANS),
495
GUIIcon::RIDE_BUSSTOP,
496
TL("Person rides"),
497
FXRGBA(255, 255, 255, 255),
498
TL("Person rides"));
499
// walks - level 3
500
mySetTagProperties[GNE_TAG_WALKS] = new GNETagProperties(GNE_TAG_WALKS,
501
mySetTagProperties.at(GNE_TAG_PERSONPLANS),
502
GUIIcon::WALK_BUSSTOP,
503
TL("Person walks"),
504
FXRGBA(255, 255, 255, 255),
505
TL("Person walks"));
506
// personStops - level 3
507
mySetTagProperties[GNE_TAG_PERSONSTOPS] = new GNETagProperties(GNE_TAG_PERSONSTOPS,
508
mySetTagProperties.at(GNE_TAG_PERSONPLANS),
509
GUIIcon::STOP,
510
TL("Person stop"),
511
FXRGBA(255, 255, 255, 255),
512
TL("Person stop"));
513
// containerPlans - level 2
514
mySetTagProperties[GNE_TAG_CONTAINERPLANS] = new GNETagProperties(GNE_TAG_CONTAINERPLANS,
515
mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),
516
GUIIcon::MODECONTAINERPLAN,
517
TL("Container plans"),
518
FXRGBA(255, 255, 255, 255),
519
TL("Container plans"));
520
// transports - level 3
521
mySetTagProperties[GNE_TAG_TRANSPORTS] = new GNETagProperties(GNE_TAG_TRANSPORTS,
522
mySetTagProperties.at(GNE_TAG_CONTAINERPLANS),
523
GUIIcon::TRANSPORT_BUSSTOP,
524
TL("Container transports"),
525
FXRGBA(255, 255, 255, 255),
526
TL("Container transports"));
527
// tranships - level 3
528
mySetTagProperties[GNE_TAG_TRANSHIPS] = new GNETagProperties(GNE_TAG_TRANSHIPS,
529
mySetTagProperties.at(GNE_TAG_CONTAINERPLANS),
530
GUIIcon::TRANSHIP_BUSSTOP,
531
TL("Container tranships"),
532
FXRGBA(255, 255, 255, 255),
533
TL("Container tranships"));
534
// containerStops - level 3
535
mySetTagProperties[GNE_TAG_CONTAINERSTOPS] = new GNETagProperties(GNE_TAG_CONTAINERSTOPS,
536
mySetTagProperties.at(GNE_TAG_CONTAINERPLANS),
537
GUIIcon::STOP,
538
TL("Container stops"),
539
FXRGBA(255, 255, 255, 255),
540
TL("Container stops"));
541
// datas - level 2
542
mySetTagProperties[GNE_TAG_DATAS] = new GNETagProperties(GNE_TAG_DATAS,
543
mySetTagProperties.at(GNE_TAG_SUPERMODE_DATA),
544
GUIIcon::EDGEDATA,
545
TL("Datas"),
546
FXRGBA(255, 255, 255, 255),
547
TL("Datas"));
548
}
549
550
551
void
552
GNETagPropertiesDatabase::fillNetworkElements() {
553
// obtain Node Types except SumoXMLNodeType::DEAD_END_DEPRECATED
554
const auto& neteditOptions = OptionsCont::getOptions();
555
std::vector<std::string> nodeTypes = SUMOXMLDefinitions::NodeTypes.getStrings();
556
nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::DEAD_END_DEPRECATED)));
557
nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::DEAD_END)));
558
nodeTypes.erase(std::find(nodeTypes.begin(), nodeTypes.end(), toString(SumoXMLNodeType::INTERNAL)));
559
// obtain TLTypes (note: avoid insert all TLTypes because some of them are experimental and not documented)
560
std::vector<std::string> TLTypes;
561
TLTypes.push_back(toString(TrafficLightType::STATIC));
562
TLTypes.push_back(toString(TrafficLightType::ACTUATED));
563
TLTypes.push_back(toString(TrafficLightType::DELAYBASED));
564
TLTypes.push_back(toString(TrafficLightType::NEMA));
565
// fill networkElement ACs
566
SumoXMLTag currentTag = SUMO_TAG_JUNCTION;
567
{
568
// set values of tag
569
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
570
GNETagProperties::Type::NETWORKELEMENT,
571
GNETagProperties::Property::RTREE,
572
GNETagProperties::Over::VIEW,
573
FileBucket::Type::NETWORK,
574
GNETagProperties::Conflicts::NO_CONFLICTS,
575
GUIIcon::JUNCTION, GUIGlObjectType::GLO_JUNCTION, currentTag, TL("Junction"));
576
// set values of attributes
577
fillIDAttribute(myTagProperties[currentTag], true);
578
579
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,
580
GNEAttributeProperties::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_Y
581
GNEAttributeProperties::Edit::EDITMODE,
582
TL("The x-y-z position of the node on the plane in meters"));
583
584
auto type = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
585
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
586
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
587
TL("An optional type for the node"));
588
type->setDiscreteValues(nodeTypes);
589
590
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,
591
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
592
GNEAttributeProperties::Edit::EDITMODE,
593
TL("A custom shape for that node"));
594
595
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_RADIUS,
596
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
597
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
598
TL("Optional turning radius (for all corners) for that node in meters"),
599
"4");
600
601
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_KEEP_CLEAR,
602
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
603
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
604
TL("Whether the junction-blocking-heuristic should be activated at this node"),
605
GNEAttributeCarrier::TRUE_STR);
606
607
auto rightOfWay = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_RIGHT_OF_WAY,
608
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
609
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
610
TL("How to compute right of way rules at this node"),
611
SUMOXMLDefinitions::RightOfWayValues.getString(RightOfWay::DEFAULT));
612
rightOfWay->setDiscreteValues(SUMOXMLDefinitions::RightOfWayValues.getStrings());
613
614
auto fringe = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FRINGE,
615
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
616
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
617
TL("Whether this junction is at the fringe of the network"),
618
SUMOXMLDefinitions::FringeTypeValues.getString(FringeType::DEFAULT));
619
fringe->setDiscreteValues(SUMOXMLDefinitions::FringeTypeValues.getStrings());
620
621
auto roundabout = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUNDABOUT,
622
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
623
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
624
TL("Whether this junction may be considered when guessing roundabouts"),
625
SUMOXMLDefinitions::FringeTypeValues.getString(FringeType::DEFAULT));
626
roundabout->setDiscreteValues(SUMOXMLDefinitions::RoundaboutTypeValues.getStrings());
627
628
fillNameAttribute(myTagProperties[currentTag]);
629
630
auto tlType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLTYPE,
631
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
632
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
633
TL("An optional type for the traffic light algorithm"));
634
tlType->setDiscreteValues(TLTypes);
635
636
auto tlLayout = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLAYOUT,
637
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
638
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
639
TL("An optional layout for the traffic light plan"),
640
toString(TrafficLightLayout::DEFAULT));
641
tlLayout->setDiscreteValues({toString(TrafficLightLayout::DEFAULT),
642
toString(TrafficLightLayout::OPPOSITES),
643
toString(TrafficLightLayout::INCOMING),
644
toString(TrafficLightLayout::ALTERNATE_ONEWAY)});
645
646
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLID,
647
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
648
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
649
TL("An optional id for the traffic light program"));
650
651
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_IS_ROUNDABOUT,
652
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
653
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
654
TL("Whether this junction is part of a roundabout"),
655
GNEAttributeCarrier::FALSE_STR);
656
}
657
currentTag = SUMO_TAG_TYPE;
658
{
659
// set values of tag
660
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
661
GNETagProperties::Type::NETWORKELEMENT,
662
GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE,
663
GNETagProperties::Over::VIEW,
664
FileBucket::Type::NETWORK,
665
GNETagProperties::Conflicts::NO_CONFLICTS,
666
GUIIcon::EDGETYPE, GUIGlObjectType::GLO_EDGETYPE, currentTag, TL("EdgeType"));
667
// set values of attributes
668
fillIDAttribute(myTagProperties[currentTag], false);
669
670
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_NUMLANES,
671
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
672
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
673
TL("The number of lanes of the edge"),
674
toString(neteditOptions.getInt("default.lanenumber")));
675
676
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,
677
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
678
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
679
TL("The maximum speed allowed on the edge in m/s"),
680
toString(neteditOptions.getFloat("default.speed")));
681
682
fillAllowDisallowAttributes(myTagProperties[currentTag]);
683
684
auto spreadType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPREADTYPE,
685
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
686
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
687
TL("The spreadType defines how to compute the lane geometry from the edge geometry (used for visualization)"),
688
SUMOXMLDefinitions::LaneSpreadFunctions.getString(LaneSpreadFunction::RIGHT));
689
spreadType->setDiscreteValues(SUMOXMLDefinitions::LaneSpreadFunctions.getStrings());
690
691
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PRIORITY,
692
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
693
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
694
TL("The priority of the edge"),
695
toString(neteditOptions.getInt("default.priority")));
696
697
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,
698
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
699
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
700
TL("Lane width for all lanes of this edge in meters (used for visualization)"),
701
"", toString(SUMO_const_laneWidth));
702
703
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SIDEWALKWIDTH,
704
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
705
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
706
TL("The width of the sidewalk that should be added as an additional lane"),
707
"", "2");
708
709
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BIKELANEWIDTH,
710
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
711
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
712
TL("The width of the bike lane that should be added as an additional lane"),
713
"", "1");
714
}
715
currentTag = SUMO_TAG_LANETYPE;
716
{
717
// set values of tag
718
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
719
GNETagProperties::Type::NETWORKELEMENT,
720
GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE,
721
GNETagProperties::Over::VIEW,
722
FileBucket::Type::NETWORK,
723
GNETagProperties::Conflicts::NO_CONFLICTS,
724
GUIIcon::LANETYPE, GUIGlObjectType::GLO_LANETYPE, currentTag, TL("LaneType"));
725
// set values of attributes
726
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,
727
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
728
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
729
TL("The maximum speed allowed on the lane in m/s"),
730
toString(neteditOptions.getFloat("default.speed")));
731
732
fillAllowDisallowAttributes(myTagProperties[currentTag]);
733
734
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,
735
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::COPYABLE,
736
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
737
TL("Lane width for all lanes of this type in meters (used for visualization)"),
738
"3.2");
739
}
740
currentTag = SUMO_TAG_EDGE;
741
{
742
// set values of tag
743
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
744
GNETagProperties::Type::NETWORKELEMENT,
745
GNETagProperties::Property::RTREE,
746
GNETagProperties::Over::VIEW,
747
FileBucket::Type::NETWORK,
748
GNETagProperties::Conflicts::NO_CONFLICTS,
749
GUIIcon::EDGE, GUIGlObjectType::GLO_EDGE, currentTag, TL("Edge"));
750
// set values of attributes
751
fillIDAttribute(myTagProperties[currentTag], true);
752
753
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,
754
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
755
GNEAttributeProperties::Edit::EDITMODE,
756
TL("The name of a node within the nodes-file the edge shall start at"));
757
758
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,
759
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
760
GNEAttributeProperties::Edit::EDITMODE,
761
TL("The name of a node within the nodes-file the edge shall end at"));
762
763
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,
764
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
765
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
766
TL("The maximum speed allowed on the edge in m/s"),
767
toString(neteditOptions.getFloat("default.speed")));
768
769
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PRIORITY,
770
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
771
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
772
TL("The priority of the edge"),
773
toString(neteditOptions.getInt("default.priority")));
774
775
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_NUMLANES,
776
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
777
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
778
TL("The number of lanes of the edge"),
779
toString(neteditOptions.getInt("default.lanenumber")));
780
781
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
782
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
783
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
784
TL("The name of a type within the SUMO edge type file"));
785
786
fillAllowDisallowAttributes(myTagProperties[currentTag]);
787
788
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,
789
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
790
GNEAttributeProperties::Edit::EDITMODE,
791
TL("If the shape is given it should start and end with the positions of the from-node and to-node"));
792
793
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,
794
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
795
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
796
TL("The length of the edge in meter"));
797
798
auto spreadType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPREADTYPE,
799
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
800
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
801
TL("The spreadType defines how to compute the lane geometry from the edge geometry (used for visualization)"),
802
SUMOXMLDefinitions::LaneSpreadFunctions.getString(LaneSpreadFunction::RIGHT));
803
spreadType->setDiscreteValues(SUMOXMLDefinitions::LaneSpreadFunctions.getStrings());
804
805
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_NAME,
806
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
807
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
808
TL("street name (does not need to be unique, used for visualization)"));
809
810
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,
811
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::COPYABLE,
812
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
813
TL("Lane width for all lanes of this edge in meters (used for visualization)"),
814
"3.2");
815
816
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDOFFSET,
817
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
818
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
819
TL("Move the stop line back from the intersection by the given amount"),
820
"0");
821
822
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SHAPE_START,
823
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY, // virtual attribute used to define an endPoint
824
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
825
TL("Custom position in which shape start (by default position of junction from)"));
826
827
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SHAPE_END,
828
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY, // virtual attribute from to define an endPoint
829
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
830
TL("Custom position in which shape end (by default position of junction from)"));
831
832
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_BIDIR,
833
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE, // virtual attribute to check of this edge is part of a bidirectional railway (cannot be edited)
834
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
835
TL("Show if edge is bidirectional"),
836
GNEAttributeCarrier::FALSE_STR);
837
838
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DISTANCE,
839
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE,
840
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
841
TL("Distance"),
842
"0");
843
844
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOFFSET,
845
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
846
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
847
TL("The stop offset as positive value in meters"),
848
"0");
849
850
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOEXCEPTION,
851
GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
852
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
853
TL("Specifies, for which vehicle classes the stopOffset does NOT apply."));
854
855
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_IS_ROUNDABOUT,
856
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE, // cannot be edited
857
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
858
TL("Whether this edge is part of a roundabout"),
859
GNEAttributeCarrier::FALSE_STR);
860
}
861
currentTag = SUMO_TAG_LANE;
862
{
863
// set values of tag
864
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
865
GNETagProperties::Type::NETWORKELEMENT,
866
GNETagProperties::Property::NO_PROPERTY,
867
GNETagProperties::Over::VIEW,
868
FileBucket::Type::NETWORK,
869
GNETagProperties::Conflicts::NO_CONFLICTS,
870
GUIIcon::LANE, GUIGlObjectType::GLO_LANE, currentTag, TL("Lane"));
871
// set values of attributes
872
fillIDAttribute(myTagProperties[currentTag], true);
873
874
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_INDEX,
875
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
876
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
877
TL("The enumeration index of the lane (0 is the rightmost lane, <NUMBER_LANES>-1 is the leftmost one)"));
878
879
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,
880
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
881
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
882
TL("Speed in meters per second"),
883
toString(neteditOptions.getFloat("default.speed")));
884
885
fillAllowDisallowAttributes(myTagProperties[currentTag]);
886
887
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,
888
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::COPYABLE,
889
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
890
TL("Width in meters (used for visualization)"),
891
"", "-1");
892
893
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDOFFSET,
894
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
895
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
896
TL("Move the stop line back from the intersection by the given amount"),
897
"0");
898
899
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ACCELERATION,
900
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
901
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
902
TL("Enable or disable lane as acceleration lane"),
903
GNEAttributeCarrier::FALSE_STR);
904
905
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CUSTOMSHAPE,
906
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
907
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
908
TL("If the shape is given it overrides the computation based on edge shape"));
909
910
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_OPPOSITE,
911
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UNIQUE,
912
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
913
TL("If given, this defines the opposite direction lane"));
914
915
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_LEFT,
916
GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
917
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
918
TL("Permit changing left only for to the given vehicle classes"),
919
"all");
920
921
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_RIGHT,
922
GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
923
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
924
TL("Permit changing right only for to the given vehicle classes"),
925
"all");
926
927
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
928
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
929
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
930
TL("Lane type description (optional)"));
931
932
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOFFSET,
933
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
934
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
935
TL("The stop offset as positive value in meters"),
936
"0");
937
938
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_STOPOEXCEPTION,
939
GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
940
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
941
TL("Specifies, for which vehicle classes the stopOffset does NOT apply."));
942
}
943
currentTag = SUMO_TAG_CROSSING;
944
{
945
// set values of tag
946
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
947
GNETagProperties::Type::NETWORKELEMENT,
948
GNETagProperties::Property::NOPARAMETERS,
949
GNETagProperties::Over::JUNCTION,
950
FileBucket::Type::NETWORK,
951
GNETagProperties::Conflicts::NO_CONFLICTS,
952
GUIIcon::CROSSING, GUIGlObjectType::GLO_CROSSING, currentTag, TL("Crossing"));
953
// set values of attributes
954
fillIDAttribute(myTagProperties[currentTag], true);
955
956
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EDGES,
957
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
958
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
959
TL("The (road) edges which are crossed"));
960
961
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PRIORITY,
962
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
963
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
964
TL("Whether the pedestrians have priority over the vehicles (automatically set to true at tls-controlled intersections)"),
965
GNEAttributeCarrier::FALSE_STR);
966
967
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,
968
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
969
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
970
TL("The width of the crossings"),
971
toString(OptionsCont::getOptions().getFloat("default.crossing-width")));
972
973
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX,
974
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,
975
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
976
TL("sets the tls-index for this crossing (-1 means automatic assignment)"),
977
"-1");
978
979
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX2,
980
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,
981
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
982
TL("sets the opposite-direction tls-index for this crossing (-1 means not assigned)"),
983
"-1");
984
985
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CUSTOMSHAPE,
986
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
987
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
988
TL("Overrides default shape of pedestrian crossing"));
989
}
990
currentTag = SUMO_TAG_WALKINGAREA;
991
{
992
// set values of tag
993
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
994
GNETagProperties::Type::NETWORKELEMENT,
995
GNETagProperties::Property::NOPARAMETERS,
996
GNETagProperties::Over::JUNCTION,
997
FileBucket::Type::NETWORK,
998
GNETagProperties::Conflicts::NO_CONFLICTS,
999
GUIIcon::WALKINGAREA, GUIGlObjectType::GLO_WALKINGAREA, currentTag, TL("WalkingArea"));
1000
// set values of attributes
1001
fillIDAttribute(myTagProperties[currentTag], true);
1002
1003
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,
1004
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1005
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1006
TL("The width of the WalkingArea"),
1007
toString(OptionsCont::getOptions().getFloat("default.sidewalk-width")));
1008
1009
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,
1010
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1011
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1012
TL("The length of the WalkingArea in meter"));
1013
1014
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,
1015
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1016
GNEAttributeProperties::Edit::EDITMODE,
1017
TL("Overrides default shape of pedestrian sidewalk"));
1018
1019
}
1020
currentTag = SUMO_TAG_CONNECTION;
1021
{
1022
// set values of tag
1023
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
1024
GNETagProperties::Type::NETWORKELEMENT,
1025
GNETagProperties::Property::NO_PROPERTY,
1026
GNETagProperties::Over::JUNCTION,
1027
FileBucket::Type::NETWORK,
1028
GNETagProperties::Conflicts::NO_CONFLICTS,
1029
GUIIcon::CONNECTION, GUIGlObjectType::GLO_CONNECTION, currentTag, TL("Connection"));
1030
// set values of attributes
1031
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,
1032
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1033
GNEAttributeProperties::Edit::EDITMODE,
1034
TL("The ID of the edge the vehicles leave"));
1035
1036
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,
1037
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1038
GNEAttributeProperties::Edit::EDITMODE,
1039
TL("The ID of the edge the vehicles may reach when leaving 'from'"));
1040
1041
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_LANE,
1042
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1043
GNEAttributeProperties::Edit::EDITMODE,
1044
TL("the lane index of the incoming lane (numbers starting with 0)"));
1045
1046
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_LANE,
1047
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1048
GNEAttributeProperties::Edit::EDITMODE,
1049
TL("the lane index of the outgoing lane (numbers starting with 0)"));
1050
1051
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PASS,
1052
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1053
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1054
TL("if set, vehicles which pass this (lane-2-lane) connection) will not wait"),
1055
GNEAttributeCarrier::FALSE_STR);
1056
1057
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_KEEP_CLEAR,
1058
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1059
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1060
TL("if set to false, vehicles which pass this (lane-2-lane) connection) will not worry about blocking the intersection"),
1061
GNEAttributeCarrier::FALSE_STR);
1062
1063
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTPOS,
1064
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1065
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1066
TL("If set to a more than 0 value, an internal junction will be built at this position (in m)/n from the start of the internal lane for this connection"),
1067
"", toString(NBEdge::UNSPECIFIED_CONTPOS));
1068
1069
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_UNCONTROLLED,
1070
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1071
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1072
TL("If set to true, This connection will not be TLS-controlled despite its node being controlled"),
1073
GNEAttributeCarrier::FALSE_STR);
1074
1075
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VISIBILITY_DISTANCE,
1076
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1077
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1078
TL("Vision distance between vehicles"),
1079
"", toString(NBEdge::UNSPECIFIED_VISIBILITY_DISTANCE));
1080
1081
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX,
1082
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,
1083
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1084
TL("sets index of this connection within the controlling traffic light (-1 means automatic assignment)"),
1085
"-1");
1086
1087
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLLINKINDEX2,
1088
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE,
1089
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1090
TL("sets index for the internal junction of this connection within the controlling traffic light (-1 means internal junction not controlled)"),
1091
"-1");
1092
1093
fillAllowDisallowAttributes(myTagProperties[currentTag]);
1094
1095
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,
1096
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1097
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1098
TL("sets custom speed limit for the connection"),
1099
"", toString(NBEdge::UNSPECIFIED_SPEED));
1100
1101
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,
1102
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1103
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1104
TL("sets custom length for the connection"),
1105
"", toString(NBEdge::UNSPECIFIED_LOADED_LENGTH));
1106
1107
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CUSTOMSHAPE,
1108
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1109
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1110
TL("sets custom shape for the connection"));
1111
1112
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_LEFT,
1113
GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
1114
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1115
TL("Permit changing left only for to the given vehicle classes"),
1116
"all");
1117
1118
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHANGE_RIGHT,
1119
GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
1120
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1121
TL("Permit changing right only for to the given vehicle classes"),
1122
"all");
1123
1124
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_INDIRECT,
1125
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1126
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1127
TL("if set to true, vehicles will make a turn in 2 steps"),
1128
GNEAttributeCarrier::FALSE_STR);
1129
1130
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
1131
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
1132
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1133
TL("set a custom edge type (for applying vClass-specific speed restrictions)"));
1134
1135
1136
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DIR,
1137
GNEAttributeProperties::Property::STRING,
1138
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1139
TL("turning direction for this connection (computed)"));
1140
1141
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STATE,
1142
GNEAttributeProperties::Property::STRING,
1143
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1144
TL("link state for this connection (computed)"));
1145
}
1146
currentTag = GNE_TAG_INTERNAL_LANE;
1147
{
1148
// set values of tag
1149
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_NET),
1150
GNETagProperties::Type::INTERNALLANE,
1151
GNETagProperties::Property::NO_PROPERTY,
1152
GNETagProperties::Over::JUNCTION,
1153
FileBucket::Type::NETWORK,
1154
GNETagProperties::Conflicts::NO_CONFLICTS,
1155
GUIIcon::JUNCTION, GUIGlObjectType::GLO_TLLOGIC, currentTag, TL("InternalLanes"));
1156
// internal lanes does't have attributes
1157
}
1158
}
1159
1160
1161
void
1162
GNETagPropertiesDatabase::fillAdditionalElements() {
1163
// fill additional elements
1164
SumoXMLTag currentTag = SUMO_TAG_BUS_STOP;
1165
{
1166
// set values of tag
1167
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),
1168
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,
1169
GNETagProperties::Property::NO_PROPERTY,
1170
GNETagProperties::Over::LANE,
1171
FileBucket::Type::ADDITIONAL,
1172
GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,
1173
GUIIcon::BUSSTOP, GUIGlObjectType::GLO_BUS_STOP, currentTag, TL("BusStop"),
1174
{}, FXRGBA(240, 255, 205, 255));
1175
// set common attributes
1176
fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true, false);
1177
1178
// set specific attributes
1179
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINES,
1180
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
1181
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1182
TL("Meant to be the names of the bus lines that stop at this bus stop. This is only used for visualization purposes"));
1183
1184
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERSON_CAPACITY,
1185
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1186
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1187
TL("Larger numbers of persons trying to enter will create an upstream jam on the sidewalk"),
1188
"6");
1189
1190
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_LENGTH,
1191
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
1192
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1193
TL("Optional space definition for vehicles that park at this stop"),
1194
"0");
1195
}
1196
currentTag = SUMO_TAG_TRAIN_STOP;
1197
{
1198
// set values of tag
1199
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),
1200
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,
1201
GNETagProperties::Property::NO_PROPERTY,
1202
GNETagProperties::Over::LANE,
1203
FileBucket::Type::ADDITIONAL,
1204
GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,
1205
GUIIcon::TRAINSTOP, GUIGlObjectType::GLO_TRAIN_STOP, currentTag, TL("TrainStop"),
1206
{}, FXRGBA(240, 255, 205, 255));
1207
// set common attributes
1208
fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true, false);
1209
1210
// set specific attributes
1211
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINES,
1212
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
1213
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1214
TL("Meant to be the names of the train lines that stop at this train stop. This is only used for visualization purposes"));
1215
1216
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERSON_CAPACITY,
1217
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1218
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1219
TL("Larger numbers of persons trying to enter will create an upstream jam on the sidewalk"),
1220
"6");
1221
1222
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_LENGTH,
1223
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
1224
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1225
TL("Optional space definition for vehicles that park at this stop"),
1226
"0");
1227
1228
}
1229
currentTag = SUMO_TAG_ACCESS;
1230
{
1231
// set values of tag
1232
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
1233
GNETagProperties::Type::ADDITIONALELEMENT,
1234
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT,
1235
GNETagProperties::Over::LANE,
1236
FileBucket::Type::NOTHING,
1237
GNETagProperties::Conflicts::POS_LANE,
1238
GUIIcon::ACCESS, GUIGlObjectType::GLO_ACCESS, currentTag, TL("Access"),
1239
{SUMO_TAG_BUS_STOP, SUMO_TAG_TRAIN_STOP, SUMO_TAG_CONTAINER_STOP}, FXRGBA(240, 255, 205, 255));
1240
// set values of attributes
1241
fillLaneAttribute(myTagProperties[currentTag], false);
1242
1243
fillPosOverLaneAttribute(myTagProperties[currentTag]);
1244
1245
fillFriendlyPosAttribute(myTagProperties[currentTag]);
1246
1247
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,
1248
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1249
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1250
TL("The walking length of the access in meters (default is geometric length)"),
1251
"", "-1");
1252
}
1253
currentTag = SUMO_TAG_CONTAINER_STOP;
1254
{
1255
// set values of tag
1256
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),
1257
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,
1258
GNETagProperties::Property::NO_PROPERTY,
1259
GNETagProperties::Over::LANE,
1260
FileBucket::Type::ADDITIONAL,
1261
GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,
1262
GUIIcon::CONTAINERSTOP, GUIGlObjectType::GLO_CONTAINER_STOP, currentTag, TL("ContainerStop"),
1263
{}, FXRGBA(240, 255, 205, 255));
1264
// set common attributes
1265
fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], true, false);
1266
1267
// set specific attributes
1268
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINES,
1269
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
1270
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1271
TL("meant to be the names of the bus lines that stop at this container stop. This is only used for visualization purposes"));
1272
1273
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTAINER_CAPACITY,
1274
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1275
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1276
TL("Larger numbers of container trying to enter will create an upstream jam on the sidewalk"),
1277
"6");
1278
1279
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_LENGTH,
1280
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
1281
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1282
TL("Optional space definition for vehicles that park at this stop"),
1283
"", "0");
1284
}
1285
currentTag = SUMO_TAG_CHARGING_STATION;
1286
{
1287
// set values of tag
1288
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),
1289
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,
1290
GNETagProperties::Property::NO_PROPERTY,
1291
GNETagProperties::Over::LANE,
1292
FileBucket::Type::ADDITIONAL,
1293
GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,
1294
GUIIcon::CHARGINGSTATION, GUIGlObjectType::GLO_CHARGING_STATION, currentTag, TL("ChargingStation"),
1295
{}, FXRGBA(240, 255, 205, 255));
1296
// set common attributes
1297
fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], false, false);
1298
1299
// set specific attributes
1300
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGINGPOWER,
1301
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1302
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1303
TL("Charging power in W"),
1304
"22000");
1305
1306
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TOTALPOWER,
1307
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1308
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1309
TL("Total power in W"),
1310
"0");
1311
1312
auto efficiency = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EFFICIENCY,
1313
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,
1314
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1315
TL("Charging efficiency [0,1]"),
1316
"0.95");
1317
efficiency->setRange(0, 1);
1318
1319
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGEINTRANSIT,
1320
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1321
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1322
TL("Enable or disable charge in transit, i.e. vehicle must or must not to stop for charging"),
1323
GNEAttributeCarrier::FALSE_STR);
1324
1325
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGEDELAY,
1326
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
1327
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1328
TL("Time delay after the vehicles has reached / stopped on the charging station, before the energy transfer (charging) begins"),
1329
"0");
1330
1331
auto chargeType = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGETYPE,
1332
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
1333
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1334
TL("Battery charging type"),
1335
SUMOXMLDefinitions::ChargeTypes.getString(ChargeType::NORMAL));
1336
chargeType->setDiscreteValues(SUMOXMLDefinitions::ChargeTypes.getStrings());
1337
1338
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WAITINGTIME,
1339
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
1340
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1341
TL("Waiting time before start charging"),
1342
"900");
1343
1344
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_AREA,
1345
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,
1346
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1347
TL("Parking area the charging station is located"));
1348
}
1349
currentTag = SUMO_TAG_PARKING_AREA;
1350
{
1351
// set values of tag
1352
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPPINGPLACES),
1353
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::STOPPINGPLACE,
1354
GNETagProperties::Property::NO_PROPERTY,
1355
GNETagProperties::Over::LANE,
1356
FileBucket::Type::ADDITIONAL,
1357
GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,
1358
GUIIcon::PARKINGAREA, GUIGlObjectType::GLO_PARKING_AREA, currentTag, TL("ParkingArea"),
1359
{}, FXRGBA(240, 255, 205, 255));
1360
// set common attributes
1361
fillCommonStoppingPlaceAttributes(myTagProperties[currentTag], false, true);
1362
1363
// set specific attributes
1364
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTPOS,
1365
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1366
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1367
TL("Lane position in that vehicle must depart when leaves parkingArea"));
1368
1369
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ACCEPTED_BADGES,
1370
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
1371
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1372
TL("Accepted badges to access this parkingArea"));
1373
1374
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROADSIDE_CAPACITY,
1375
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1376
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1377
TL(" The number of parking spaces for road-side parking"),
1378
"0");
1379
1380
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ONROAD,
1381
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1382
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1383
TL("If set, vehicles will park on the road lane and thereby reducing capacity"),
1384
"0");
1385
1386
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,
1387
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1388
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1389
TL("The width of the road-side parking spaces"),
1390
toString(SUMO_const_laneWidth));
1391
1392
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,
1393
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1394
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1395
TL("The length of the road-side parking spaces. By default (endPos - startPos) / roadsideCapacity"),
1396
"", "0");
1397
1398
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LEFTHAND,
1399
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1400
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1401
TL("Visual placement to the left of the lane (in righthand networks)"),
1402
GNEAttributeCarrier::FALSE_STR);
1403
1404
}
1405
currentTag = SUMO_TAG_PARKING_SPACE;
1406
{
1407
// set values of tag
1408
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
1409
GNETagProperties::Type::ADDITIONALELEMENT,
1410
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT | GNETagProperties::Property::RTREE,
1411
GNETagProperties::Over::VIEW,
1412
FileBucket::Type::NOTHING,
1413
GNETagProperties::Conflicts::NO_CONFLICTS,
1414
GUIIcon::PARKINGSPACE, GUIGlObjectType::GLO_PARKING_SPACE, currentTag, TL("ParkingSpace"),
1415
{SUMO_TAG_PARKING_AREA}, FXRGBA(240, 255, 205, 255));
1416
// set values of attributes
1417
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,
1418
GNEAttributeProperties::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_Y
1419
GNEAttributeProperties::Edit::EDITMODE,
1420
TL("The x-y-z position of the node on the plane in meters"));
1421
1422
fillNameAttribute(myTagProperties[currentTag]);
1423
1424
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WIDTH,
1425
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1426
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1427
TL("The width of the road-side parking spaces"));
1428
1429
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,
1430
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1431
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1432
TL("The length of the road-side parking spaces"));
1433
1434
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ANGLE,
1435
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1436
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1437
TL("The angle of the road-side parking spaces relative to the lane angle, positive means clockwise"));
1438
1439
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SLOPE,
1440
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1441
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1442
TL("The slope of the road-side parking spaces"),
1443
"0");
1444
1445
}
1446
currentTag = SUMO_TAG_INDUCTION_LOOP;
1447
{
1448
// set values of tag
1449
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1450
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,
1451
GNETagProperties::Property::NO_PROPERTY,
1452
GNETagProperties::Over::LANE,
1453
FileBucket::Type::ADDITIONAL,
1454
GNETagProperties::Conflicts::POS_LANE,
1455
GUIIcon::E1, GUIGlObjectType::GLO_E1DETECTOR, currentTag, TL("E1 InductionLoop"),
1456
{}, FXRGBA(210, 233, 255, 255));
1457
// set values of attributes
1458
fillIDAttribute(myTagProperties[currentTag], true);
1459
1460
fillLaneAttribute(myTagProperties[currentTag], false);
1461
1462
fillPosOverLaneAttribute(myTagProperties[currentTag]);
1463
1464
fillFriendlyPosAttribute(myTagProperties[currentTag]);
1465
1466
fillNameAttribute(myTagProperties[currentTag]);
1467
1468
fillDetectorPeriodAttribute(myTagProperties[currentTag]);
1469
1470
fillFileAttribute(myTagProperties[currentTag]);
1471
1472
fillVTypesAttribute(myTagProperties[currentTag]);
1473
1474
fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);
1475
1476
fillDetectPersonsAttribute(myTagProperties[currentTag]);
1477
}
1478
currentTag = SUMO_TAG_LANE_AREA_DETECTOR;
1479
{
1480
// set values of tag
1481
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1482
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,
1483
GNETagProperties::Property::NO_PROPERTY,
1484
GNETagProperties::Over::LANE,
1485
FileBucket::Type::ADDITIONAL,
1486
GNETagProperties::Conflicts::NO_CONFLICTS,
1487
GUIIcon::E2, GUIGlObjectType::GLO_E2DETECTOR, currentTag, TL("E2 LaneAreaDetector"),
1488
{}, FXRGBA(210, 233, 255, 255));
1489
// set values of attributes
1490
fillIDAttribute(myTagProperties[currentTag], true);
1491
1492
fillLaneAttribute(myTagProperties[currentTag], false);
1493
1494
fillPosOverLaneAttribute(myTagProperties[currentTag]);
1495
1496
// this is a "virtual attribute", only used for movement
1497
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,
1498
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1499
GNEAttributeProperties::Edit::NO_EDIT,
1500
TL("The end position on the lane the detector shall be laid on in meters"));
1501
1502
fillFriendlyPosAttribute(myTagProperties[currentTag]);
1503
1504
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LENGTH,
1505
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1506
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1507
TL("The length of the detector in meters"),
1508
toString(GNEMoveElementLaneDouble::defaultSize));
1509
1510
fillNameAttribute(myTagProperties[currentTag]);
1511
1512
fillDetectorPeriodAttribute(myTagProperties[currentTag]);
1513
1514
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLID,
1515
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
1516
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1517
TL("The traffic light that triggers aggregation when switching"));
1518
1519
fillFileAttribute(myTagProperties[currentTag]);
1520
1521
fillVTypesAttribute(myTagProperties[currentTag]);
1522
1523
fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);
1524
1525
fillDetectPersonsAttribute(myTagProperties[currentTag]);
1526
1527
fillDetectorThresholdAttributes(myTagProperties[currentTag], true);
1528
1529
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHOW_DETECTOR,
1530
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1531
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1532
TL("Show detector in sumo-gui"),
1533
GNEAttributeCarrier::TRUE_STR);
1534
}
1535
currentTag = GNE_TAG_MULTI_LANE_AREA_DETECTOR;
1536
{
1537
// set values of tag
1538
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1539
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,
1540
GNETagProperties::Property::NO_PROPERTY,
1541
GNETagProperties::Over::CONSECUTIVE_LANES,
1542
FileBucket::Type::ADDITIONAL,
1543
GNETagProperties::Conflicts::NO_CONFLICTS,
1544
GUIIcon::E2, GUIGlObjectType::GLO_E2DETECTOR, SUMO_TAG_LANE_AREA_DETECTOR, TL("E2 MultiLaneAreaDetector"),
1545
{}, FXRGBA(210, 233, 255, 255));
1546
// set values of attributes
1547
fillIDAttribute(myTagProperties[currentTag], true);
1548
1549
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LANES,
1550
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::SECUENCIAL | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1551
GNEAttributeProperties::Edit::EDITMODE,
1552
TL("The sequence of lane ids in which the detector shall be laid on"));
1553
1554
fillPosOverLaneAttribute(myTagProperties[currentTag]);
1555
1556
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,
1557
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1558
GNEAttributeProperties::Edit::EDITMODE,
1559
TL("The end position on the lane the detector shall be laid on in meters"));
1560
1561
fillFriendlyPosAttribute(myTagProperties[currentTag]);
1562
1563
fillDetectorPeriodAttribute(myTagProperties[currentTag]);
1564
1565
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TLID,
1566
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
1567
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1568
TL("The traffic light that triggers aggregation when switching"));
1569
1570
fillNameAttribute(myTagProperties[currentTag]);
1571
1572
fillFileAttribute(myTagProperties[currentTag]);
1573
1574
fillVTypesAttribute(myTagProperties[currentTag]);
1575
1576
fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);
1577
1578
fillDetectPersonsAttribute(myTagProperties[currentTag]);
1579
1580
fillDetectorThresholdAttributes(myTagProperties[currentTag], true);
1581
1582
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHOW_DETECTOR,
1583
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1584
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1585
TL("Show detector in sumo-gui"),
1586
GNEAttributeCarrier::TRUE_STR);
1587
}
1588
currentTag = SUMO_TAG_ENTRY_EXIT_DETECTOR;
1589
{
1590
// set values of tag
1591
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1592
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,
1593
GNETagProperties::Property::RTREE,
1594
GNETagProperties::Over::VIEW,
1595
FileBucket::Type::ADDITIONAL,
1596
GNETagProperties::Conflicts::NO_ADDITIONAL_CHILDREN,
1597
GUIIcon::E3, GUIGlObjectType::GLO_DET_ENTRYEXIT, currentTag, TL("E3 EntryExitDetector"),
1598
{}, FXRGBA(210, 233, 255, 255));
1599
// set values of attributes
1600
fillIDAttribute(myTagProperties[currentTag], true);
1601
1602
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,
1603
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1604
GNEAttributeProperties::Edit::EDITMODE,
1605
TL("X-Y position of detector in editor (Only used in netedit)"),
1606
"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y
1607
1608
fillNameAttribute(myTagProperties[currentTag]);
1609
1610
fillDetectorPeriodAttribute(myTagProperties[currentTag]);
1611
1612
fillFileAttribute(myTagProperties[currentTag]);
1613
1614
fillVTypesAttribute(myTagProperties[currentTag]);
1615
1616
fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);
1617
1618
fillDetectPersonsAttribute(myTagProperties[currentTag]);
1619
1620
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OPEN_ENTRY,
1621
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1622
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1623
TL("If set to true, no error will be reported if vehicles leave the detector without first entering it"),
1624
GNEAttributeCarrier::FALSE_STR);
1625
1626
fillDetectorThresholdAttributes(myTagProperties[currentTag], false);
1627
1628
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EXPECT_ARRIVAL,
1629
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1630
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1631
TL("Whether no warning should be issued when a vehicle arrives within the detector area."),
1632
GNEAttributeCarrier::FALSE_STR);
1633
}
1634
currentTag = SUMO_TAG_DET_ENTRY;
1635
{
1636
// set values of tag
1637
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1638
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,
1639
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT,
1640
GNETagProperties::Over::LANE,
1641
FileBucket::Type::NOTHING,
1642
GNETagProperties::Conflicts::POS_LANE,
1643
GUIIcon::E3ENTRY, GUIGlObjectType::GLO_DET_ENTRY, currentTag, TL("E3 DetEntry"),
1644
{SUMO_TAG_ENTRY_EXIT_DETECTOR}, FXRGBA(210, 233, 255, 255));
1645
// set values of attributes
1646
fillLaneAttribute(myTagProperties[currentTag], false);
1647
1648
fillPosOverLaneAttribute(myTagProperties[currentTag]);
1649
1650
fillFriendlyPosAttribute(myTagProperties[currentTag]);
1651
1652
}
1653
currentTag = SUMO_TAG_DET_EXIT;
1654
{
1655
// set values of tag
1656
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1657
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,
1658
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::REPARENT,
1659
GNETagProperties::Over::LANE,
1660
FileBucket::Type::NOTHING,
1661
GNETagProperties::Conflicts::POS_LANE,
1662
GUIIcon::E3EXIT, GUIGlObjectType::GLO_DET_EXIT, currentTag, TL("E3 DetExit"),
1663
{SUMO_TAG_ENTRY_EXIT_DETECTOR}, FXRGBA(210, 233, 255, 255));
1664
// set values of attributes
1665
fillLaneAttribute(myTagProperties[currentTag], false);
1666
1667
fillPosOverLaneAttribute(myTagProperties[currentTag]);
1668
1669
fillFriendlyPosAttribute(myTagProperties[currentTag]);
1670
1671
}
1672
currentTag = SUMO_TAG_INSTANT_INDUCTION_LOOP;
1673
{
1674
// set values of tag
1675
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DETECTORS),
1676
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::DETECTOR,
1677
GNETagProperties::Property::NO_PROPERTY,
1678
GNETagProperties::Over::LANE,
1679
FileBucket::Type::ADDITIONAL,
1680
GNETagProperties::Conflicts::POS_LANE,
1681
GUIIcon::E1INSTANT, GUIGlObjectType::GLO_E1DETECTOR_INSTANT, currentTag, TL("E3 DetExit"),
1682
{}, FXRGBA(210, 233, 255, 255));
1683
// set values of attributes
1684
fillIDAttribute(myTagProperties[currentTag], true);
1685
1686
fillLaneAttribute(myTagProperties[currentTag], false);
1687
1688
fillPosOverLaneAttribute(myTagProperties[currentTag]);
1689
1690
fillFriendlyPosAttribute(myTagProperties[currentTag]);
1691
1692
fillNameAttribute(myTagProperties[currentTag]);
1693
1694
fillFileAttribute(myTagProperties[currentTag]);
1695
1696
fillVTypesAttribute(myTagProperties[currentTag]);
1697
1698
fillDetectorNextEdgesAttribute(myTagProperties[currentTag]);
1699
1700
fillDetectPersonsAttribute(myTagProperties[currentTag]);
1701
}
1702
currentTag = SUMO_TAG_ROUTEPROBE;
1703
{
1704
// set values of tag
1705
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
1706
GNETagProperties::Type::ADDITIONALELEMENT,
1707
GNETagProperties::Property::CENTERAFTERCREATION,
1708
GNETagProperties::Over::EDGE,
1709
FileBucket::Type::ADDITIONAL,
1710
GNETagProperties::Conflicts::NO_CONFLICTS,
1711
GUIIcon::ROUTEPROBE, GUIGlObjectType::GLO_ROUTEPROBE, currentTag, TL("RouteProbe"),
1712
{}, FXRGBA(210, 233, 255, 255));
1713
// set values of attributes
1714
fillIDAttribute(myTagProperties[currentTag], true);
1715
1716
fillEdgeAttribute(myTagProperties[currentTag], false);
1717
1718
fillNameAttribute(myTagProperties[currentTag]);
1719
1720
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERIOD,
1721
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
1722
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1723
TL("The frequency in which to report the distribution"),
1724
"3600");
1725
1726
fillFileAttribute(myTagProperties[currentTag]);
1727
1728
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,
1729
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
1730
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1731
TL("The time at which to start generating output"),
1732
"0");
1733
1734
fillVTypesAttribute(myTagProperties[currentTag]);
1735
}
1736
currentTag = SUMO_TAG_VSS;
1737
{
1738
// set values of tag
1739
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
1740
GNETagProperties::Type::ADDITIONALELEMENT,
1741
GNETagProperties::Property::RTREE | GNETagProperties::Property::DIALOG,
1742
GNETagProperties::Over::LANES,
1743
FileBucket::Type::ADDITIONAL,
1744
GNETagProperties::Conflicts::NO_CONFLICTS,
1745
GUIIcon::VARIABLESPEEDSIGN, GUIGlObjectType::GLO_VSS, currentTag, TL("VariableSpeedSign"),
1746
{}, FXRGBA(210, 233, 255, 255));
1747
// set values of attributes
1748
fillIDAttribute(myTagProperties[currentTag], true);
1749
1750
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LANES,
1751
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1752
GNEAttributeProperties::Edit::EDITMODE,
1753
TL("List of Variable Speed Sign lanes"));
1754
1755
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,
1756
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1757
GNEAttributeProperties::Edit::EDITMODE,
1758
TL("X-Y position of detector in editor (Only used in netedit)"),
1759
"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y
1760
1761
fillNameAttribute(myTagProperties[currentTag]);
1762
1763
fillVTypesAttribute(myTagProperties[currentTag]);
1764
}
1765
currentTag = GNE_TAG_VSS_SYMBOL;
1766
{
1767
// set values of tag
1768
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
1769
GNETagProperties::Type::ADDITIONALELEMENT,
1770
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::SYMBOL,
1771
GNETagProperties::Over::LANE,
1772
FileBucket::Type::NOTHING,
1773
GNETagProperties::Conflicts::NO_CONFLICTS,
1774
GUIIcon::LANE, GUIGlObjectType::GLO_VSS, currentTag, TL("VariableSpeedSign (lane)"),
1775
{SUMO_TAG_VSS}, FXRGBA(210, 233, 255, 255));
1776
}
1777
currentTag = SUMO_TAG_STEP;
1778
{
1779
// set values of tag
1780
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
1781
GNETagProperties::Type::ADDITIONALELEMENT,
1782
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,
1783
GNETagProperties::Over::VIEW,
1784
FileBucket::Type::NOTHING,
1785
GNETagProperties::Conflicts::NO_CONFLICTS,
1786
GUIIcon::VSSSTEP, GUIGlObjectType::GLO_VSS_STEP, currentTag, TL("VariableSpeedSign Step"),
1787
{SUMO_TAG_VSS}, FXRGBA(210, 233, 255, 255));
1788
// set values of attributes
1789
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TIME,
1790
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SORTABLE,
1791
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
1792
TL("Time"));
1793
1794
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,
1795
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::SORTABLE,
1796
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
1797
TL("Speed"),
1798
toString(OptionsCont::getOptions().getFloat("default.speed")));
1799
}
1800
currentTag = SUMO_TAG_CALIBRATOR;
1801
{
1802
// set values of tag
1803
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
1804
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::CALIBRATOR,
1805
GNETagProperties::Property::DIALOG | GNETagProperties::Property::CENTERAFTERCREATION,
1806
GNETagProperties::Over::EDGE,
1807
FileBucket::Type::ADDITIONAL,
1808
GNETagProperties::Conflicts::NO_CONFLICTS,
1809
GUIIcon::CALIBRATOR, GUIGlObjectType::GLO_CALIBRATOR, currentTag, TL("Calibrator"),
1810
{}, FXRGBA(253, 255, 206, 255));
1811
// set values of attributes
1812
fillIDAttribute(myTagProperties[currentTag], true);
1813
1814
fillEdgeAttribute(myTagProperties[currentTag], false);
1815
1816
fillPosOverLaneAttribute(myTagProperties[currentTag]);
1817
1818
fillNameAttribute(myTagProperties[currentTag]);
1819
1820
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERIOD,
1821
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
1822
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1823
TL("The aggregation interval in which to calibrate the flows. Default is step-length"),
1824
"1");
1825
1826
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTEPROBE,
1827
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
1828
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1829
TL("The id of the routeProbe element from which to determine the route distribution for generated vehicles"));
1830
1831
fillOutputAttribute(myTagProperties[currentTag]);
1832
1833
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_JAM_DIST_THRESHOLD,
1834
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1835
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1836
TL("A threshold value to detect and clear unexpected jamming"),
1837
"0.50");
1838
1839
fillVTypesAttribute(myTagProperties[currentTag]);
1840
}
1841
currentTag = GNE_TAG_CALIBRATOR_LANE;
1842
{
1843
// set values of tag
1844
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
1845
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::CALIBRATOR,
1846
GNETagProperties::Property::DIALOG | GNETagProperties::Property::CENTERAFTERCREATION,
1847
GNETagProperties::Over::LANE,
1848
FileBucket::Type::ADDITIONAL,
1849
GNETagProperties::Conflicts::NO_CONFLICTS,
1850
GUIIcon::CALIBRATOR, GUIGlObjectType::GLO_CALIBRATOR, SUMO_TAG_CALIBRATOR, TL("CalibratorLane"),
1851
{}, FXRGBA(253, 255, 206, 255));
1852
// set values of attributes
1853
fillIDAttribute(myTagProperties[currentTag], true);
1854
1855
fillLaneAttribute(myTagProperties[currentTag], false);
1856
1857
fillPosOverLaneAttribute(myTagProperties[currentTag]);
1858
1859
fillNameAttribute(myTagProperties[currentTag]);
1860
1861
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PERIOD,
1862
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
1863
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1864
TL("The aggregation interval in which to calibrate the flows. Default is step-length"),
1865
"1");
1866
1867
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTEPROBE,
1868
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
1869
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1870
TL("The id of the routeProbe element from which to determine the route distribution for generated vehicles"));
1871
1872
fillOutputAttribute(myTagProperties[currentTag]);
1873
1874
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_JAM_DIST_THRESHOLD,
1875
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
1876
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1877
TL("A threshold value to detect and clear unexpected jamming"),
1878
"0.50");
1879
1880
fillVTypesAttribute(myTagProperties[currentTag]);
1881
}
1882
currentTag = GNE_TAG_CALIBRATOR_FLOW;
1883
{
1884
// set values of tag
1885
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
1886
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::CALIBRATOR,
1887
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::LISTED,
1888
GNETagProperties::Over::VIEW,
1889
FileBucket::Type::NOTHING,
1890
GNETagProperties::Conflicts::NO_CONFLICTS,
1891
GUIIcon::FLOW, GUIGlObjectType::GLO_CALIBRATOR_FLOW, SUMO_TAG_FLOW, TL("CalibratorFlow"),
1892
{SUMO_TAG_CALIBRATOR}, FXRGBA(253, 255, 206, 255));
1893
// set values of attributes
1894
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,
1895
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::SORTABLE,
1896
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
1897
TL("First calibrator flow departure time"),
1898
"0");
1899
1900
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,
1901
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::SORTABLE,
1902
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
1903
TL("End of departure interval"),
1904
"3600");
1905
1906
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
1907
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::VTYPE,
1908
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
1909
TL("The id of the vehicle type to use for this calibrator flow"),
1910
DEFAULT_VTYPE_ID);
1911
1912
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,
1913
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1914
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
1915
TL("The id of the route the vehicle shall drive along"));
1916
1917
// at least one of the following attributes must be defined
1918
1919
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR,
1920
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::ACTIVATABLE,
1921
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
1922
TL("Number of vehicles per hour, equally spaced"),
1923
"1800");
1924
1925
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SPEED,
1926
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::ACTIVATABLE,
1927
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
1928
TL("Vehicle's speed"),
1929
"15");
1930
1931
// fill common vehicle attributes
1932
fillCommonVehicleAttributes(myTagProperties[currentTag]);
1933
}
1934
currentTag = SUMO_TAG_REROUTER;
1935
{
1936
// set values of tag
1937
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
1938
GNETagProperties::Type::ADDITIONALELEMENT,
1939
GNETagProperties::Property::RTREE | GNETagProperties::Property::DIALOG,
1940
GNETagProperties::Over::VIEW,
1941
FileBucket::Type::ADDITIONAL,
1942
GNETagProperties::Conflicts::NO_CONFLICTS,
1943
GUIIcon::REROUTER, GUIGlObjectType::GLO_REROUTER, currentTag, TL("Rerouter"),
1944
{}, FXRGBA(255, 213, 213, 255));
1945
1946
// set values of attributes
1947
fillIDAttribute(myTagProperties[currentTag], true);
1948
1949
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,
1950
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1951
GNEAttributeProperties::Edit::EDITMODE,
1952
TL("X,Y position in editor (Only used in netedit)"),
1953
"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y
1954
1955
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_EDGES,
1956
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
1957
GNEAttributeProperties::Edit::EDITMODE,
1958
TL("An edge id or a list of edge ids where vehicles shall be rerouted"));
1959
1960
fillNameAttribute(myTagProperties[currentTag]);
1961
1962
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,
1963
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::PROBABILITY | GNEAttributeProperties::Property::DEFAULTVALUE,
1964
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1965
TL("The probability for vehicle rerouting (0-1)"),
1966
"1");
1967
1968
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_HALTING_TIME_THRESHOLD,
1969
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
1970
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1971
TL("The waiting time threshold (in s) that must be reached to activate rerouting (default -1 which disables the threshold)"),
1972
"0");
1973
1974
fillVTypesAttribute(myTagProperties[currentTag]);
1975
1976
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OFF,
1977
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1978
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1979
TL("Whether the router should be inactive initially (and switched on in the gui)"),
1980
GNEAttributeCarrier::FALSE_STR);
1981
1982
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OPTIONAL,
1983
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
1984
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
1985
TL("If rerouter is optional"),
1986
GNEAttributeCarrier::FALSE_STR);
1987
}
1988
currentTag = GNE_TAG_REROUTER_SYMBOL;
1989
{
1990
// set values of tag
1991
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
1992
GNETagProperties::Type::ADDITIONALELEMENT,
1993
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::SYMBOL,
1994
GNETagProperties::Over::EDGE,
1995
FileBucket::Type::NOTHING,
1996
GNETagProperties::Conflicts::NO_CONFLICTS,
1997
GUIIcon::EDGE, GUIGlObjectType::GLO_REROUTER, currentTag, TL("Rerouter (Edge)"),
1998
{GNE_TAG_REROUTER_SYMBOL}, FXRGBA(255, 213, 213, 255));
1999
}
2000
currentTag = SUMO_TAG_INTERVAL;
2001
{
2002
// set values of tag
2003
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
2004
GNETagProperties::Type::ADDITIONALELEMENT,
2005
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,
2006
GNETagProperties::Over::VIEW,
2007
FileBucket::Type::NOTHING,
2008
GNETagProperties::Conflicts::NO_CONFLICTS,
2009
GUIIcon::REROUTERINTERVAL, GUIGlObjectType::GLO_REROUTER_INTERVAL, currentTag, TL("Rerouter Interval"),
2010
{SUMO_TAG_REROUTER}, FXRGBA(255, 213, 213, 255));
2011
// set values of attributes
2012
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,
2013
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::SORTABLE,
2014
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
2015
TL("Begin"),
2016
"0");
2017
2018
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,
2019
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::SORTABLE,
2020
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
2021
TL("End"),
2022
"3600");
2023
}
2024
currentTag = SUMO_TAG_CLOSING_REROUTE;
2025
{
2026
// set values of tag
2027
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
2028
GNETagProperties::Type::ADDITIONALELEMENT,
2029
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,
2030
GNETagProperties::Over::VIEW,
2031
FileBucket::Type::NOTHING,
2032
GNETagProperties::Conflicts::NO_CONFLICTS,
2033
GUIIcon::CLOSINGREROUTE, GUIGlObjectType::GLO_REROUTER_CLOSINGREROUTE, currentTag, TL("ClosingReroute"),
2034
{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));
2035
// set values of attributes
2036
fillEdgeAttribute(myTagProperties[currentTag], true);
2037
2038
fillAllowDisallowAttributes(myTagProperties[currentTag]);
2039
}
2040
currentTag = SUMO_TAG_CLOSING_LANE_REROUTE;
2041
{
2042
// set values of tag
2043
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
2044
GNETagProperties::Type::ADDITIONALELEMENT,
2045
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,
2046
GNETagProperties::Over::VIEW,
2047
FileBucket::Type::NOTHING,
2048
GNETagProperties::Conflicts::NO_CONFLICTS,
2049
GUIIcon::CLOSINGLANEREROUTE, GUIGlObjectType::GLO_REROUTER_CLOSINGLANEREROUTE, currentTag, TL("ClosingLaneReroute"),
2050
{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));
2051
// set values of attributes
2052
fillLaneAttribute(myTagProperties[currentTag], true);
2053
2054
fillAllowDisallowAttributes(myTagProperties[currentTag]);
2055
}
2056
currentTag = SUMO_TAG_DEST_PROB_REROUTE;
2057
{
2058
// set values of tag
2059
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
2060
GNETagProperties::Type::ADDITIONALELEMENT,
2061
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,
2062
GNETagProperties::Over::VIEW,
2063
FileBucket::Type::NOTHING,
2064
GNETagProperties::Conflicts::NO_CONFLICTS,
2065
GUIIcon::DESTPROBREROUTE, GUIGlObjectType::GLO_REROUTER_DESTPROBREROUTE, currentTag, TL("DestinationProbabilityReroute"),
2066
{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));
2067
// set values of attributes
2068
fillEdgeAttribute(myTagProperties[currentTag], true);
2069
2070
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,
2071
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
2072
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
2073
TL("SUMO Probability"),
2074
"1");
2075
}
2076
currentTag = SUMO_TAG_PARKING_AREA_REROUTE;
2077
{
2078
// set values of tag
2079
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
2080
GNETagProperties::Type::ADDITIONALELEMENT,
2081
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,
2082
GNETagProperties::Over::VIEW,
2083
FileBucket::Type::NOTHING,
2084
GNETagProperties::Conflicts::NO_CONFLICTS,
2085
GUIIcon::PARKINGZONEREROUTE, GUIGlObjectType::GLO_REROUTER_PARKINGAREAREROUTE, currentTag, TL("ParkingAreaReroute"),
2086
{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));
2087
// set values of attributes
2088
auto parking = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING,
2089
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM,
2090
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
2091
TL("ParkingArea ID"));
2092
parking->setSynonym(SUMO_ATTR_ID);
2093
2094
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,
2095
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
2096
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
2097
TL("SUMO Probability"),
2098
"1");
2099
2100
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VISIBLE,
2101
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
2102
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
2103
TL("Enable or disable visibility for parking area reroutes"),
2104
GNEAttributeCarrier::TRUE_STR);
2105
}
2106
currentTag = SUMO_TAG_ROUTE_PROB_REROUTE;
2107
{
2108
// set values of tag
2109
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
2110
GNETagProperties::Type::ADDITIONALELEMENT,
2111
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::LISTED,
2112
GNETagProperties::Over::VIEW,
2113
FileBucket::Type::NOTHING,
2114
GNETagProperties::Conflicts::NO_CONFLICTS,
2115
GUIIcon::ROUTEPROBREROUTE, GUIGlObjectType::GLO_REROUTER_ROUTEPROBREROUTE, currentTag, TL("RouteProbabilityReroute"),
2116
{SUMO_TAG_INTERVAL}, FXRGBA(255, 213, 213, 255));
2117
// set values of attributes
2118
auto route = new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,
2119
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2120
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
2121
TL("Route"));
2122
route->setSynonym(SUMO_ATTR_ID);
2123
2124
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PROB,
2125
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
2126
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
2127
TL("SUMO Probability"),
2128
"1");
2129
}
2130
currentTag = SUMO_TAG_VAPORIZER;
2131
{
2132
// set values of tag
2133
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_ADDITIONALS),
2134
GNETagProperties::Type::ADDITIONALELEMENT,
2135
GNETagProperties::Property::CENTERAFTERCREATION,
2136
GNETagProperties::Over::EDGE,
2137
FileBucket::Type::ADDITIONAL,
2138
GNETagProperties::Conflicts::NO_CONFLICTS,
2139
GUIIcon::VAPORIZER, GUIGlObjectType::GLO_VAPORIZER, currentTag, TL("Vaporizer"),
2140
{}, FXRGBA(253, 255, 206, 255));
2141
// set values of attributes
2142
fillEdgeAttribute(myTagProperties[currentTag], true);
2143
2144
fillNameAttribute(myTagProperties[currentTag]);
2145
2146
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,
2147
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
2148
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2149
TL("Start Time"),
2150
"0");
2151
2152
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,
2153
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
2154
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2155
TL("End Time"),
2156
"3600");
2157
}
2158
}
2159
2160
2161
void
2162
GNETagPropertiesDatabase::fillShapeElements() {
2163
// fill shape ACs
2164
SumoXMLTag currentTag = SUMO_TAG_POLY;
2165
{
2166
// set values of tag
2167
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),
2168
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,
2169
GNETagProperties::Property::RTREE | GNETagProperties::Property::GEOSHAPE,
2170
GNETagProperties::Over::VIEW,
2171
FileBucket::Type::ADDITIONAL,
2172
GNETagProperties::Conflicts::NO_CONFLICTS,
2173
GUIIcon::POLY, GUIGlObjectType::GLO_POLYGON, currentTag, TL("Polygon"),
2174
{}, FXRGBA(240, 255, 205, 255));
2175
// set values of attributes
2176
fillIDAttribute(myTagProperties[currentTag], true);
2177
2178
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,
2179
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,
2180
GNEAttributeProperties::Edit::EDITMODE,
2181
TL("The shape of the polygon"));
2182
2183
fillNameAttribute(myTagProperties[currentTag]);
2184
2185
fillColorAttribute(myTagProperties[currentTag], "red");
2186
2187
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FILL,
2188
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
2189
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2190
TL("An information whether the polygon shall be filled"),
2191
GNEAttributeCarrier::FALSE_STR);
2192
2193
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LINEWIDTH,
2194
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
2195
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2196
TL("The default line width for drawing an unfilled polygon"),
2197
"1");
2198
2199
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LAYER,
2200
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
2201
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2202
TL("The layer in which the polygon lies"),
2203
toString(Shape::DEFAULT_LAYER));
2204
2205
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
2206
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
2207
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2208
TL("A typename for the polygon"),
2209
toString(Shape::DEFAULT_TYPE));
2210
2211
fillImgFileAttribute(myTagProperties[currentTag], false);
2212
2213
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ANGLE,
2214
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE,
2215
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2216
TL("Angle of rendered image in degree"),
2217
toString(Shape::DEFAULT_ANGLE));
2218
2219
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEO,
2220
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
2221
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,
2222
TL("Enable or disable GEO attributes"),
2223
GNEAttributeCarrier::FALSE_STR);
2224
2225
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEOSHAPE,
2226
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2227
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,
2228
TL("A custom geo shape for this polygon"));
2229
2230
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_CLOSE_SHAPE,
2231
GNEAttributeProperties::Property::BOOL,
2232
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,
2233
TL("Toggle close or open shape"));
2234
}
2235
currentTag = SUMO_TAG_POI;
2236
{
2237
// set values of tag
2238
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),
2239
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,
2240
GNETagProperties::Property::RTREE,
2241
GNETagProperties::Over::VIEW,
2242
FileBucket::Type::ADDITIONAL,
2243
GNETagProperties::Conflicts::NO_CONFLICTS,
2244
GUIIcon::POI, GUIGlObjectType::GLO_POI, currentTag, TL("PointOfInterest"),
2245
{}, FXRGBA(210, 233, 255, 255));
2246
// set values of attributes
2247
fillIDAttribute(myTagProperties[currentTag], true);
2248
2249
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,
2250
GNEAttributeProperties::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_Y
2251
GNEAttributeProperties::Edit::EDITMODE,
2252
TL("The position in view"));
2253
2254
// fill Poi attributes
2255
fillCommonPOIAttributes(myTagProperties[currentTag]);
2256
}
2257
currentTag = GNE_TAG_POILANE;
2258
{
2259
// set values of tag
2260
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),
2261
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,
2262
GNETagProperties::Property::NO_PROPERTY,
2263
GNETagProperties::Over::LANE,
2264
FileBucket::Type::ADDITIONAL,
2265
GNETagProperties::Conflicts::POS_LANE,
2266
GUIIcon::POILANE, GUIGlObjectType::GLO_POI, SUMO_TAG_POI, TL("PointOfInterestLane"),
2267
{}, FXRGBA(210, 233, 255, 255));
2268
// set values of attributes
2269
fillIDAttribute(myTagProperties[currentTag], true);
2270
2271
fillLaneAttribute(myTagProperties[currentTag], false);
2272
2273
fillPosOverLaneAttribute(myTagProperties[currentTag]);
2274
2275
fillFriendlyPosAttribute(myTagProperties[currentTag]);
2276
2277
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION_LAT,
2278
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2279
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2280
TL("The lateral offset on the named lane at which the POI is located at"),
2281
"0");
2282
2283
// fill Poi attributes
2284
fillCommonPOIAttributes(myTagProperties[currentTag]);
2285
}
2286
currentTag = GNE_TAG_POIGEO;
2287
{
2288
// set values of tag
2289
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SHAPES),
2290
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE,
2291
GNETagProperties::Property::RTREE | GNETagProperties::Property::REQUIRE_PROJ,
2292
GNETagProperties::Over::VIEW,
2293
FileBucket::Type::ADDITIONAL,
2294
GNETagProperties::Conflicts::NO_CONFLICTS,
2295
GUIIcon::POIGEO, GUIGlObjectType::GLO_POI, SUMO_TAG_POI, TL("PointOfInterestGeo"),
2296
{}, FXRGBA(210, 233, 255, 255));
2297
// set values of attributes
2298
fillIDAttribute(myTagProperties[currentTag], true);
2299
2300
// set values of attributes
2301
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LON,
2302
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2303
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,
2304
TL("The longitude position of the parking vehicle on the view"));
2305
2306
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LAT,
2307
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2308
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,
2309
TL("The latitude position of the parking vehicle on the view"));
2310
2311
// fill Poi attributes
2312
fillCommonPOIAttributes(myTagProperties[currentTag]);
2313
}
2314
}
2315
2316
2317
void
2318
GNETagPropertiesDatabase::fillTAZElements() {
2319
// fill TAZ ACs
2320
SumoXMLTag currentTag = SUMO_TAG_TAZ;
2321
{
2322
// set values of tag
2323
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),
2324
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::TAZELEMENT,
2325
GNETagProperties::Property::RTREE,
2326
GNETagProperties::Over::VIEW,
2327
FileBucket::Type::ADDITIONAL,
2328
GNETagProperties::Conflicts::NO_CONFLICTS,
2329
GUIIcon::TAZ, GUIGlObjectType::GLO_TAZ, currentTag, TL("TrafficAssignmentZones"));
2330
// set values of attributes
2331
fillIDAttribute(myTagProperties[currentTag], true);
2332
2333
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,
2334
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2335
GNEAttributeProperties::Edit::EDITMODE,
2336
TL("The shape of the TAZ"));
2337
2338
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CENTER,
2339
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2340
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2341
TL("TAZ center"));
2342
2343
fillNameAttribute(myTagProperties[currentTag]);
2344
2345
fillColorAttribute(myTagProperties[currentTag], "red");
2346
2347
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FILL,
2348
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
2349
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2350
TL("An information whether the TAZ shall be filled"),
2351
GNEAttributeCarrier::FALSE_STR);
2352
2353
auto edgesWithin = new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_EDGES_WITHIN,
2354
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
2355
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,
2356
TL("Use the edges within the shape"),
2357
GNEAttributeCarrier::TRUE_STR);
2358
edgesWithin->setAlternativeName(TL("edges within"));
2359
}
2360
currentTag = SUMO_TAG_TAZSOURCE;
2361
{
2362
// set values of tag
2363
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),
2364
GNETagProperties::Type::OTHER,
2365
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,
2366
GNETagProperties::Over::EDGE,
2367
FileBucket::Type::NOTHING,
2368
GNETagProperties::Conflicts::NO_CONFLICTS,
2369
GUIIcon::TAZEDGE, GUIGlObjectType::GLO_TAZ, currentTag, TL("TAZ Source"),
2370
{SUMO_TAG_TAZ});
2371
// set values of attributes
2372
fillEdgeAttribute(myTagProperties[currentTag], true);
2373
2374
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WEIGHT,
2375
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
2376
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2377
TL("Depart weight associated to this Edge"),
2378
"1");
2379
}
2380
currentTag = SUMO_TAG_TAZSINK;
2381
{
2382
// set values of tag
2383
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TAZS),
2384
GNETagProperties::Type::OTHER,
2385
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,
2386
GNETagProperties::Over::EDGE,
2387
FileBucket::Type::NOTHING,
2388
GNETagProperties::Conflicts::NO_CONFLICTS,
2389
GUIIcon::TAZEDGE, GUIGlObjectType::GLO_TAZ, currentTag, TL("TAZ Sink"),
2390
{SUMO_TAG_TAZ});
2391
// set values of attributes
2392
fillEdgeAttribute(myTagProperties[currentTag], true);
2393
2394
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_WEIGHT,
2395
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
2396
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2397
TL("Arrival weight associated to this Edge"),
2398
"1");
2399
}
2400
}
2401
2402
2403
void
2404
GNETagPropertiesDatabase::fillWireElements() {
2405
// fill wire elements
2406
SumoXMLTag currentTag = SUMO_TAG_TRACTION_SUBSTATION;
2407
{
2408
// set tag properties
2409
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),
2410
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::WIRE,
2411
GNETagProperties::Property::RTREE,
2412
GNETagProperties::Over::VIEW,
2413
FileBucket::Type::ADDITIONAL,
2414
GNETagProperties::Conflicts::NO_CONFLICTS,
2415
GUIIcon::TRACTION_SUBSTATION, GUIGlObjectType::GLO_TRACTIONSUBSTATION, currentTag, TL("TractionSubstation"));
2416
// set attribute properties
2417
fillIDAttribute(myTagProperties[currentTag], true);
2418
2419
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION,
2420
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2421
GNEAttributeProperties::Edit::EDITMODE,
2422
TL("X-Y position of detector in editor (Only used in netedit)"),
2423
"0,0"); // virtual attribute from the combination of the actually attributes SUMO_ATTR_X, SUMO_ATTR_Y
2424
2425
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VOLTAGE,
2426
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
2427
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2428
TL("Voltage of at connection point for the overhead wire"),
2429
"600");
2430
2431
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CURRENTLIMIT,
2432
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
2433
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2434
TL("Current limit of the feeder line"),
2435
"400");
2436
}
2437
currentTag = SUMO_TAG_OVERHEAD_WIRE_SECTION;
2438
{
2439
// set tag properties
2440
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),
2441
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::WIRE,
2442
GNETagProperties::Property::NO_PROPERTY,
2443
GNETagProperties::Over::CONSECUTIVE_LANES,
2444
FileBucket::Type::ADDITIONAL,
2445
GNETagProperties::Conflicts::NO_CONFLICTS,
2446
GUIIcon::OVERHEADWIRE, GUIGlObjectType::GLO_OVERHEAD_WIRE_SEGMENT, currentTag, TL("WireSection"));
2447
// set attribute properties
2448
fillIDAttribute(myTagProperties[currentTag], true);
2449
2450
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SUBSTATIONID,
2451
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
2452
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2453
TL("Substation to which the circuit is connected"));
2454
2455
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_LANES,
2456
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,
2457
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2458
TL("List of consecutive lanes of the circuit"));
2459
2460
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STARTPOS,
2461
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE,
2462
GNEAttributeProperties::Edit::EDITMODE,
2463
TL("Starting position in the specified lane"),
2464
"", "0");
2465
2466
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,
2467
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE,
2468
GNEAttributeProperties::Edit::EDITMODE,
2469
TL("Ending position in the specified lane"),
2470
"", "INVALID_DOUBLE");
2471
2472
fillFriendlyPosAttribute(myTagProperties[currentTag]);
2473
2474
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRE_FORBIDDEN,
2475
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST,
2476
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2477
TL("Inner lanes, where placing of overhead wire is restricted"));
2478
}
2479
currentTag = SUMO_TAG_OVERHEAD_WIRE_CLAMP;
2480
{
2481
// set tag properties
2482
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WIRES),
2483
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::WIRE,
2484
GNETagProperties::Property::NO_PROPERTY,
2485
GNETagProperties::Over::VIEW,
2486
FileBucket::Type::ADDITIONAL,
2487
GNETagProperties::Conflicts::NO_CONFLICTS,
2488
GUIIcon::OVERHEADWIRE_CLAMP, GUIGlObjectType::GLO_OVERHEAD_WIRE_SEGMENT, currentTag, TL("OverheadWireClamp"));
2489
// set attribute properties
2490
fillIDAttribute(myTagProperties[currentTag], true);
2491
2492
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_START,
2493
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
2494
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2495
TL("ID of the overhead wire segment, to the start of which the overhead wire clamp is connected"));
2496
2497
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_LANESTART,
2498
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
2499
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2500
TL("ID of the overhead wire segment lane of overheadWireIDStartClamp"));
2501
2502
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_END,
2503
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
2504
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2505
TL("ID of the overhead wire segment, to the end of which the overhead wire clamp is connected"));
2506
2507
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_OVERHEAD_WIRECLAMP_LANEEND,
2508
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
2509
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2510
TL("ID of the overhead wire segment lane of overheadWireIDEndClamp"));
2511
}
2512
}
2513
2514
2515
void
2516
GNETagPropertiesDatabase::fillJuPedSimElements() {
2517
// fill shape ACs
2518
SumoXMLTag currentTag = GNE_TAG_JPS_WALKABLEAREA;
2519
{
2520
// set values of tag
2521
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_JUPEDSIM),
2522
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE | GNETagProperties::Type::JUPEDSIM,
2523
GNETagProperties::Property::RTREE,
2524
GNETagProperties::Over::VIEW,
2525
FileBucket::Type::ADDITIONAL,
2526
GNETagProperties::Conflicts::NO_CONFLICTS,
2527
GUIIcon::JPS_WALKABLEAREA, GUIGlObjectType::GLO_JPS_WALKABLEAREA, SUMO_TAG_POLY, TL("JuPedSim WalkableArea"),
2528
{}, FXRGBA(253, 255, 206, 255));
2529
// set values of attributes
2530
fillIDAttribute(myTagProperties[currentTag], true);
2531
2532
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,
2533
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,
2534
GNEAttributeProperties::Edit::EDITMODE,
2535
TL("The shape of the walkable area"));
2536
2537
fillNameAttribute(myTagProperties[currentTag]);
2538
2539
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEO,
2540
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
2541
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,
2542
TL("Enable or disable GEO attributes"),
2543
GNEAttributeCarrier::FALSE_STR);
2544
2545
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEOSHAPE,
2546
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2547
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,
2548
TL("A custom geo shape for this walkable area"));
2549
}
2550
currentTag = GNE_TAG_JPS_OBSTACLE;
2551
{
2552
// set values of tag
2553
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_JUPEDSIM),
2554
GNETagProperties::Type::ADDITIONALELEMENT | GNETagProperties::Type::SHAPE | GNETagProperties::Type::JUPEDSIM,
2555
GNETagProperties::Property::RTREE,
2556
GNETagProperties::Over::VIEW,
2557
FileBucket::Type::ADDITIONAL,
2558
GNETagProperties::Conflicts::NO_CONFLICTS,
2559
GUIIcon::JPS_OBSTACLE, GUIGlObjectType::GLO_JPS_OBSTACLE, SUMO_TAG_POLY, TL("JuPedSim Obstacle"),
2560
{}, FXRGBA(253, 255, 206, 255));
2561
// set values of attributes
2562
fillIDAttribute(myTagProperties[currentTag], true);
2563
2564
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_SHAPE,
2565
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE,
2566
GNEAttributeProperties::Edit::EDITMODE,
2567
TL("The shape of the obstacle"));
2568
2569
fillNameAttribute(myTagProperties[currentTag]);
2570
2571
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEO,
2572
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
2573
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,
2574
TL("Enable or disable GEO attributes"),
2575
GNEAttributeCarrier::FALSE_STR);
2576
2577
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_GEOSHAPE,
2578
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::POSITION | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2579
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::GEOEDITOR,
2580
TL("A custom geo shape for this obstacle"));
2581
}
2582
}
2583
2584
2585
void
2586
GNETagPropertiesDatabase::fillDemandElements() {
2587
// fill demand elements
2588
SumoXMLTag currentTag = SUMO_TAG_ROUTE;
2589
{
2590
// set values of tag
2591
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],
2592
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::ROUTE,
2593
GNETagProperties::Property::NO_PROPERTY,
2594
GNETagProperties::Over::CONSECUTIVE_EDGES,
2595
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2596
GNETagProperties::Conflicts::NO_CONFLICTS,
2597
GUIIcon::ROUTE, GUIGlObjectType::GLO_ROUTE, currentTag, TL("Route"));
2598
2599
// set values of attributes
2600
fillIDAttribute(myTagProperties[currentTag], true);
2601
2602
// add common route attributes
2603
fillCommonRouteAttributes(myTagProperties[currentTag]);
2604
2605
// add distribution probability
2606
fillDistributionProbability(myTagProperties[currentTag], true);
2607
}
2608
currentTag = GNE_TAG_ROUTE_EMBEDDED;
2609
{
2610
// set values of tag
2611
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],
2612
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::ROUTE,
2613
GNETagProperties::Property::XMLCHILD,
2614
GNETagProperties::Over::CONSECUTIVE_EDGES,
2615
FileBucket::Type::NOTHING,
2616
GNETagProperties::Conflicts::NO_CONFLICTS,
2617
GUIIcon::ROUTE, GUIGlObjectType::GLO_ROUTE_EMBEDDED, SUMO_TAG_ROUTE, TL("Route (embedded)"),
2618
{GNE_TAG_VEHICLE_WITHROUTE, GNE_TAG_FLOW_WITHROUTE});
2619
2620
// add common route attributes
2621
fillCommonRouteAttributes(myTagProperties[currentTag]);
2622
}
2623
currentTag = SUMO_TAG_ROUTE_DISTRIBUTION;
2624
{
2625
// set values of tag
2626
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],
2627
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::ROUTE | GNETagProperties::Type::DISTRIBUTION,
2628
GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::NOPARAMETERS,
2629
GNETagProperties::Over::VIEW,
2630
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2631
GNETagProperties::Conflicts::NO_CONFLICTS,
2632
GUIIcon::ROUTEDISTRIBUTION, GUIGlObjectType::GLO_ROUTE_DISTRIBUTION, currentTag, TL("RouteDistribution"));
2633
2634
// set values of attributes
2635
fillIDAttribute(myTagProperties[currentTag], true);
2636
}
2637
currentTag = GNE_TAG_ROUTEREF;
2638
{
2639
// set values of tag
2640
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],
2641
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::DISTRIBUTIONREF,
2642
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,
2643
GNETagProperties::Over::VIEW,
2644
FileBucket::Type::NOTHING,
2645
GNETagProperties::Conflicts::NO_CONFLICTS,
2646
GUIIcon::ROUTEREF, GUIGlObjectType::GLO_ROUTE_REF, currentTag, TL("Route (Ref)"),
2647
{SUMO_TAG_ROUTE_DISTRIBUTION});
2648
2649
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_REFID,
2650
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
2651
GNEAttributeProperties::Edit::EDITMODE,
2652
TL("Reference ID of route"));
2653
2654
// add distribution probability
2655
fillDistributionProbability(myTagProperties[currentTag], false);
2656
}
2657
currentTag = SUMO_TAG_VTYPE;
2658
{
2659
// set values of tag
2660
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],
2661
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VTYPE,
2662
GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::VCLASS_ICON | GNETagProperties::Property::EXTENDED,
2663
GNETagProperties::Over::VIEW,
2664
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2665
GNETagProperties::Conflicts::NO_CONFLICTS,
2666
GUIIcon::VTYPE, GUIGlObjectType::GLO_VTYPE, currentTag, TL("VehicleType"));
2667
2668
// set values of attributes
2669
fillIDAttribute(myTagProperties[currentTag], true);
2670
2671
// add common vType attributes
2672
fillCommonVTypeAttributes(myTagProperties[currentTag]);
2673
}
2674
currentTag = SUMO_TAG_VTYPE_DISTRIBUTION;
2675
{
2676
// set values of tag
2677
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],
2678
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VTYPE | GNETagProperties::Type::DISTRIBUTION,
2679
GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOTSELECTABLE | GNETagProperties::Property::NOPARAMETERS,
2680
GNETagProperties::Over::VIEW,
2681
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2682
GNETagProperties::Conflicts::NO_CONFLICTS,
2683
GUIIcon::VTYPEDISTRIBUTION, GUIGlObjectType::GLO_VTYPE_DISTRIBUTION, currentTag, TL("TypeDistribution"));
2684
2685
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DETERMINISTIC,
2686
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
2687
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
2688
TL("Deterministic distribution"),
2689
"-1");
2690
2691
// set values of attributes
2692
fillIDAttribute(myTagProperties[currentTag], true);
2693
}
2694
currentTag = GNE_TAG_VTYPEREF;
2695
{
2696
// set values of tag
2697
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DEMAND],
2698
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::DISTRIBUTIONREF,
2699
GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS,
2700
GNETagProperties::Over::VIEW,
2701
FileBucket::Type::NOTHING,
2702
GNETagProperties::Conflicts::NO_CONFLICTS,
2703
GUIIcon::VTYPEREF, GUIGlObjectType::GLO_VTYPE_REF, currentTag, TL("VType (Ref)"),
2704
{SUMO_TAG_VTYPE_DISTRIBUTION});
2705
2706
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_REFID,
2707
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
2708
GNEAttributeProperties::Edit::EDITMODE,
2709
TL("Reference ID of vType"));
2710
2711
// add distribution probability
2712
fillDistributionProbability(myTagProperties[currentTag], false);
2713
}
2714
}
2715
2716
2717
void
2718
GNETagPropertiesDatabase::fillVehicleElements() {
2719
// fill vehicle ACs
2720
SumoXMLTag currentTag = SUMO_TAG_TRIP;
2721
{
2722
// set values of tag
2723
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),
2724
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,
2725
GNETagProperties::Property::NO_PROPERTY,
2726
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,
2727
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2728
GNETagProperties::Conflicts::NO_CONFLICTS,
2729
GUIIcon::TRIP, GUIGlObjectType::GLO_TRIP, currentTag, TL("TripEdges"),
2730
{}, FXRGBA(253, 255, 206, 255), "trip (from-to edges)");
2731
2732
// set values of attributes
2733
fillIDAttribute(myTagProperties[currentTag], true);
2734
2735
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
2736
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
2737
GNEAttributeProperties::Edit::EDITMODE,
2738
TL("The id of the vehicle type to use for this trip"),
2739
DEFAULT_VTYPE_ID);
2740
2741
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,
2742
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2743
GNEAttributeProperties::Edit::EDITMODE,
2744
TL("The ID of the edge the trip starts at"));
2745
2746
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,
2747
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2748
GNEAttributeProperties::Edit::EDITMODE,
2749
TL("The ID of the edge the trip ends at"));
2750
2751
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VIA,
2752
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::LIST,
2753
GNEAttributeProperties::Edit::EDITMODE,
2754
TL("List of intermediate edge ids which shall be part of the trip"));
2755
2756
// add common attributes
2757
fillCommonVehicleAttributes(myTagProperties[currentTag]);
2758
2759
fillDepartAttribute(myTagProperties[currentTag]);
2760
}
2761
currentTag = GNE_TAG_TRIP_JUNCTIONS;
2762
{
2763
// set values of tag
2764
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),
2765
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,
2766
GNETagProperties::Property::NO_PROPERTY,
2767
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,
2768
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2769
GNETagProperties::Conflicts::NO_CONFLICTS,
2770
GUIIcon::TRIP_JUNCTIONS, GUIGlObjectType::GLO_TRIP, SUMO_TAG_TRIP, TL("TripJunctions"),
2771
{}, FXRGBA(255, 213, 213, 255), "trip (from-to junctions)");
2772
2773
// set values of attributes
2774
fillIDAttribute(myTagProperties[currentTag], true);
2775
2776
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
2777
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
2778
GNEAttributeProperties::Edit::EDITMODE,
2779
TL("The id of the vehicle type to use for this trip"),
2780
DEFAULT_VTYPE_ID);
2781
2782
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_JUNCTION,
2783
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2784
GNEAttributeProperties::Edit::EDITMODE,
2785
TL("The name of the junction the trip starts at"));
2786
2787
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_JUNCTION,
2788
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2789
GNEAttributeProperties::Edit::EDITMODE,
2790
TL("The name of the junction the trip ends at"));
2791
2792
// add common attributes
2793
fillCommonVehicleAttributes(myTagProperties[currentTag]);
2794
2795
fillDepartAttribute(myTagProperties[currentTag]);
2796
}
2797
currentTag = GNE_TAG_TRIP_TAZS;
2798
{
2799
// set values of tag
2800
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),
2801
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,
2802
GNETagProperties::Property::NO_PROPERTY,
2803
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,
2804
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2805
GNETagProperties::Conflicts::NO_CONFLICTS,
2806
GUIIcon::TRIP_TAZS, GUIGlObjectType::GLO_TRIP, SUMO_TAG_TRIP, TL("TripTAZs"),
2807
{}, FXRGBA(240, 255, 205, 255), "trip (from-to TAZs)");
2808
2809
// set values of attributes
2810
fillIDAttribute(myTagProperties[currentTag], true);
2811
2812
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
2813
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
2814
GNEAttributeProperties::Edit::EDITMODE,
2815
TL("The id of the vehicle type to use for this trip"),
2816
DEFAULT_VTYPE_ID);
2817
2818
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_TAZ,
2819
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2820
GNEAttributeProperties::Edit::EDITMODE,
2821
TL("The name of the TAZ the trip starts at"));
2822
2823
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_TAZ,
2824
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2825
GNEAttributeProperties::Edit::EDITMODE,
2826
TL("The name of the TAZ the trip ends at"));
2827
2828
// add common attributes
2829
fillCommonVehicleAttributes(myTagProperties[currentTag]);
2830
2831
fillDepartAttribute(myTagProperties[currentTag]);
2832
}
2833
currentTag = SUMO_TAG_VEHICLE;
2834
{
2835
// set values of tag
2836
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),
2837
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,
2838
GNETagProperties::Property::NO_PROPERTY,
2839
GNETagProperties::Over::ROUTE,
2840
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2841
GNETagProperties::Conflicts::NO_CONFLICTS,
2842
GUIIcon::VEHICLE, GUIGlObjectType::GLO_VEHICLE, SUMO_TAG_VEHICLE, TL("VehicleRoute"),
2843
{}, FXRGBA(210, 233, 255, 255), "vehicle (over route)");
2844
2845
// set values of attributes
2846
fillIDAttribute(myTagProperties[currentTag], true);
2847
2848
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
2849
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
2850
GNEAttributeProperties::Edit::EDITMODE,
2851
TL("The id of the vehicle type to use for this vehicle"),
2852
DEFAULT_VTYPE_ID);
2853
2854
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,
2855
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2856
GNEAttributeProperties::Edit::EDITMODE,
2857
TL("The id of the route the vehicle shall drive along"));
2858
2859
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,
2860
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,
2861
GNEAttributeProperties::Edit::EDITMODE,
2862
TL("The index of the edge within route the vehicle starts at"));
2863
2864
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,
2865
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,
2866
GNEAttributeProperties::Edit::EDITMODE,
2867
TL("The index of the edge within route the vehicle ends at"));
2868
2869
// add common attributes
2870
fillCommonVehicleAttributes(myTagProperties[currentTag]);
2871
2872
fillDepartAttribute(myTagProperties[currentTag]);
2873
}
2874
currentTag = GNE_TAG_VEHICLE_WITHROUTE;
2875
{
2876
// set values of tag
2877
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),
2878
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE,
2879
GNETagProperties::Property::NO_PROPERTY,
2880
GNETagProperties::Over::ROUTE_EMBEDDED,
2881
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2882
GNETagProperties::Conflicts::NO_CONFLICTS,
2883
GUIIcon::VEHICLE, GUIGlObjectType::GLO_VEHICLE, SUMO_TAG_VEHICLE, TL("VehicleEmbeddedRoute"),
2884
{}, FXRGBA(210, 233, 255, 255), "vehicle (embedded route)");
2885
2886
// set values of attributes
2887
fillIDAttribute(myTagProperties[currentTag], true);
2888
2889
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
2890
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
2891
GNEAttributeProperties::Edit::EDITMODE,
2892
TL("The id of the vehicle type to use for this vehicle"),
2893
DEFAULT_VTYPE_ID);
2894
2895
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,
2896
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,
2897
GNEAttributeProperties::Edit::EDITMODE,
2898
TL("The index of the edge within route the vehicle starts at"));
2899
2900
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,
2901
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,
2902
GNEAttributeProperties::Edit::EDITMODE,
2903
TL("The index of the edge within route the vehicle ends at"));
2904
2905
// add common attributes
2906
fillCommonVehicleAttributes(myTagProperties[currentTag]);
2907
2908
fillDepartAttribute(myTagProperties[currentTag]);
2909
}
2910
currentTag = SUMO_TAG_FLOW;
2911
{
2912
// set values of tag
2913
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),
2914
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,
2915
GNETagProperties::Property::NO_PROPERTY,
2916
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,
2917
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2918
GNETagProperties::Conflicts::NO_CONFLICTS,
2919
GUIIcon::FLOW, GUIGlObjectType::GLO_FLOW, currentTag, TL("FlowEdges"),
2920
{}, FXRGBA(253, 255, 206, 255), "flow (from-to edges)");
2921
2922
// set values of attributes
2923
fillIDAttribute(myTagProperties[currentTag], true);
2924
2925
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
2926
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
2927
GNEAttributeProperties::Edit::EDITMODE,
2928
TL("The id of the flow type to use for this flow"),
2929
DEFAULT_VTYPE_ID);
2930
2931
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,
2932
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2933
GNEAttributeProperties::Edit::EDITMODE,
2934
TL("The ID of the edge the flow starts at"));
2935
2936
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,
2937
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2938
GNEAttributeProperties::Edit::EDITMODE,
2939
TL("The ID of the edge the flow ends at"));
2940
2941
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_VIA,
2942
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::LIST,
2943
GNEAttributeProperties::Edit::EDITMODE,
2944
TL("List of intermediate edge ids which shall be part of the flow"));
2945
2946
// add common attributes
2947
fillCommonVehicleAttributes(myTagProperties[currentTag]);
2948
2949
// add flow attributes
2950
fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);
2951
}
2952
currentTag = GNE_TAG_FLOW_JUNCTIONS;
2953
{
2954
// set values of tag
2955
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),
2956
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,
2957
GNETagProperties::Property::NO_PROPERTY,
2958
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,
2959
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2960
GNETagProperties::Conflicts::NO_CONFLICTS,
2961
GUIIcon::FLOW_JUNCTIONS, GUIGlObjectType::GLO_FLOW, SUMO_TAG_FLOW, TL("FlowJunctions"),
2962
{}, FXRGBA(255, 213, 213, 255), "flow (from-to junctions)");
2963
2964
// set values of attributes
2965
fillIDAttribute(myTagProperties[currentTag], true);
2966
2967
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
2968
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
2969
GNEAttributeProperties::Edit::EDITMODE,
2970
TL("The id of the flow type to use for this flow"),
2971
DEFAULT_VTYPE_ID);
2972
2973
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_JUNCTION,
2974
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2975
GNEAttributeProperties::Edit::EDITMODE,
2976
TL("The name of the junction the flow starts at"));
2977
2978
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_JUNCTION,
2979
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
2980
GNEAttributeProperties::Edit::EDITMODE,
2981
TL("The name of the junction the flow ends at"));
2982
2983
// add common attributes
2984
fillCommonVehicleAttributes(myTagProperties[currentTag]);
2985
2986
// add flow attributes
2987
fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);
2988
}
2989
currentTag = GNE_TAG_FLOW_TAZS;
2990
{
2991
// set values of tag
2992
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),
2993
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,
2994
GNETagProperties::Property::NO_PROPERTY,
2995
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,
2996
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
2997
GNETagProperties::Conflicts::NO_CONFLICTS,
2998
GUIIcon::FLOW_TAZS, GUIGlObjectType::GLO_FLOW, SUMO_TAG_FLOW, TL("FlowTAZs"),
2999
{}, FXRGBA(240, 255, 205, 255), "flow (from-to TAZs)");
3000
3001
// set values of attributes
3002
fillIDAttribute(myTagProperties[currentTag], true);
3003
3004
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
3005
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
3006
GNEAttributeProperties::Edit::EDITMODE,
3007
TL("The id of the flow type to use for this flow"),
3008
DEFAULT_VTYPE_ID);
3009
3010
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM_TAZ,
3011
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3012
GNEAttributeProperties::Edit::EDITMODE,
3013
TL("The name of the TAZ the flow starts at"));
3014
3015
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO_TAZ,
3016
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3017
GNEAttributeProperties::Edit::EDITMODE,
3018
TL("The name of the TAZ the flow ends at"));
3019
3020
// add common attributes
3021
fillCommonVehicleAttributes(myTagProperties[currentTag]);
3022
3023
// add flow attributes
3024
fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);
3025
}
3026
currentTag = GNE_TAG_FLOW_ROUTE;
3027
{
3028
// set values of tag
3029
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),
3030
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,
3031
GNETagProperties::Property::NO_PROPERTY,
3032
GNETagProperties::Over::ROUTE,
3033
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
3034
GNETagProperties::Conflicts::NO_CONFLICTS,
3035
GUIIcon::ROUTEFLOW, GUIGlObjectType::GLO_ROUTEFLOW, SUMO_TAG_FLOW, TL("FlowRoute"),
3036
{}, FXRGBA(210, 233, 255, 255), "flow (over route)");
3037
3038
// set values of attributes
3039
fillIDAttribute(myTagProperties[currentTag], true);
3040
3041
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
3042
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
3043
GNEAttributeProperties::Edit::EDITMODE,
3044
TL("The id of the flow type to use for this flow"),
3045
DEFAULT_VTYPE_ID);
3046
3047
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ROUTE,
3048
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3049
GNEAttributeProperties::Edit::EDITMODE,
3050
TL("The id of the route the flow shall drive along"));
3051
3052
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,
3053
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,
3054
GNEAttributeProperties::Edit::EDITMODE,
3055
TL("The index of the edge within route the flow starts at"));
3056
3057
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,
3058
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,
3059
GNEAttributeProperties::Edit::EDITMODE,
3060
TL("The index of the edge within route the flow ends at"));
3061
3062
// add common attributes
3063
fillCommonVehicleAttributes(myTagProperties[currentTag]);
3064
3065
// add flow attributes
3066
fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);
3067
}
3068
currentTag = GNE_TAG_FLOW_WITHROUTE;
3069
{
3070
// set values of tag
3071
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(SUMO_TAG_VIEWSETTINGS_VEHICLES),
3072
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::VEHICLE | GNETagProperties::Type::FLOW,
3073
GNETagProperties::Property::NO_PROPERTY,
3074
GNETagProperties::Over::ROUTE_EMBEDDED,
3075
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
3076
GNETagProperties::Conflicts::NO_CONFLICTS,
3077
GUIIcon::ROUTEFLOW, GUIGlObjectType::GLO_ROUTEFLOW, SUMO_TAG_FLOW, TL("FlowEmbeddedRoute"),
3078
{}, FXRGBA(210, 233, 255, 255), "flow (embedded route)");
3079
3080
// set values of attributes
3081
fillIDAttribute(myTagProperties[currentTag], true);
3082
3083
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TYPE,
3084
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
3085
GNEAttributeProperties::Edit::EDITMODE,
3086
TL("The id of the flow type to use for this flow"),
3087
DEFAULT_VTYPE_ID);
3088
3089
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_DEPARTEDGE,
3090
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,
3091
GNEAttributeProperties::Edit::EDITMODE,
3092
TL("The index of the edge within route the flow starts at"));
3093
3094
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ARRIVALEDGE,
3095
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,
3096
GNEAttributeProperties::Edit::EDITMODE,
3097
TL("The index of the edge within route the flow ends at"));
3098
3099
// add common attributes
3100
fillCommonVehicleAttributes(myTagProperties[currentTag]);
3101
3102
// add flow attributes
3103
fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_VEHSPERHOUR);
3104
}
3105
}
3106
3107
3108
void
3109
GNETagPropertiesDatabase::fillStopElements() {
3110
// fill stops ACs
3111
SumoXMLTag currentTag = GNE_TAG_STOP_LANE;
3112
{
3113
// set values of tag
3114
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3115
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,
3116
GNETagProperties::Property::XMLCHILD,
3117
GNETagProperties::Over::LANE,
3118
FileBucket::Type::NOTHING,
3119
GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,
3120
GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopLane"),
3121
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3122
// set values of attributes
3123
fillLaneAttribute(myTagProperties[currentTag], false);
3124
3125
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STARTPOS,
3126
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3127
GNEAttributeProperties::Edit::EDITMODE,
3128
TL("The begin position on the lane (the lower position on the lane) in meters"));
3129
3130
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,
3131
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3132
GNEAttributeProperties::Edit::EDITMODE,
3133
TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));
3134
3135
fillFriendlyPosAttribute(myTagProperties[currentTag]);
3136
3137
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION_LAT,
3138
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3139
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
3140
TL("The lateral offset on the named lane at which the vehicle must stop"));
3141
3142
// fill common stop attributes
3143
fillCommonStopAttributes(myTagProperties[currentTag], false);
3144
/*
3145
// netedit attributes
3146
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SIZE,
3147
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Edit::NETEDITEDITOR,
3148
TLF("Length of %", myTagProperties[currentTag]->getTagStr()));
3149
3150
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_FORCESIZE,
3151
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Edit::NETEDITEDITOR,
3152
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
3153
TL("Force size during creation"),
3154
GNEAttributeCarrier::FALSE_STR);
3155
3156
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_REFERENCE,
3157
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Edit::NETEDITEDITOR,
3158
TLF("Reference position used for creating %", myTagProperties[currentTag]->getTagStr()));
3159
attrProperty->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());
3160
*/
3161
}
3162
currentTag = GNE_TAG_STOP_BUSSTOP;
3163
{
3164
// set values of tag
3165
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3166
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,
3167
GNETagProperties::Property::XMLCHILD,
3168
GNETagProperties::Over::BUSSTOP,
3169
FileBucket::Type::NOTHING,
3170
GNETagProperties::Conflicts::NO_CONFLICTS,
3171
GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopBusStop"),
3172
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3173
// set values of attributes
3174
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BUS_STOP,
3175
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3176
GNEAttributeProperties::Edit::EDITMODE,
3177
TL("BusStop associated with this stop"));
3178
3179
// fill common stop attributes
3180
fillCommonStopAttributes(myTagProperties[currentTag], false);
3181
}
3182
currentTag = GNE_TAG_STOP_TRAINSTOP;
3183
{
3184
// set values of tag
3185
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3186
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,
3187
GNETagProperties::Property::XMLCHILD,
3188
GNETagProperties::Over::TRAINSTOP,
3189
FileBucket::Type::NOTHING,
3190
GNETagProperties::Conflicts::NO_CONFLICTS,
3191
GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopTrainStop"),
3192
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3193
// set values of attributes
3194
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TRAIN_STOP,
3195
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3196
GNEAttributeProperties::Edit::EDITMODE,
3197
TL("TrainStop associated with this stop"));
3198
3199
// fill common stop attributes
3200
fillCommonStopAttributes(myTagProperties[currentTag], false);
3201
}
3202
currentTag = GNE_TAG_STOP_CONTAINERSTOP;
3203
{
3204
// set values of tag
3205
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3206
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,
3207
GNETagProperties::Property::XMLCHILD,
3208
GNETagProperties::Over::CONTAINERSTOP,
3209
FileBucket::Type::NOTHING,
3210
GNETagProperties::Conflicts::NO_CONFLICTS,
3211
GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopContainerStop"),
3212
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3213
// set values of attributes
3214
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTAINER_STOP,
3215
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3216
GNEAttributeProperties::Edit::EDITMODE,
3217
TL("ContainerStop associated with this stop"));
3218
3219
// fill common stop attributes
3220
fillCommonStopAttributes(myTagProperties[currentTag], false);
3221
}
3222
currentTag = GNE_TAG_STOP_CHARGINGSTATION;
3223
{
3224
// set values of tag
3225
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3226
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,
3227
GNETagProperties::Property::XMLCHILD,
3228
GNETagProperties::Over::CHARGINGSTATION,
3229
FileBucket::Type::NOTHING,
3230
GNETagProperties::Conflicts::NO_CONFLICTS,
3231
GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopChargingStation"),
3232
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3233
// set values of attributes
3234
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGING_STATION,
3235
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3236
GNEAttributeProperties::Edit::EDITMODE,
3237
TL("ChargingStation associated with this stop"));
3238
3239
// fill common stop attributes
3240
fillCommonStopAttributes(myTagProperties[currentTag], false);
3241
}
3242
currentTag = GNE_TAG_STOP_PARKINGAREA;
3243
{
3244
// set values of tag
3245
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3246
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE,
3247
GNETagProperties::Property::XMLCHILD,
3248
GNETagProperties::Over::PARKINGAREA,
3249
FileBucket::Type::NOTHING,
3250
GNETagProperties::Conflicts::NO_CONFLICTS,
3251
GUIIcon::STOPELEMENT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("StopParkingArea"),
3252
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(255, 213, 213, 255));
3253
// set values of attributes
3254
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_AREA,
3255
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3256
GNEAttributeProperties::Edit::EDITMODE,
3257
TL("ParkingArea associated with this stop"));
3258
3259
// fill common stop attributes (no parking)
3260
fillCommonStopAttributes(myTagProperties[currentTag], false);
3261
}
3262
}
3263
3264
3265
void
3266
GNETagPropertiesDatabase::fillWaypointElements() {
3267
// fill waypoints ACs
3268
SumoXMLTag currentTag = GNE_TAG_WAYPOINT_LANE;
3269
{
3270
// set values of tag
3271
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3272
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,
3273
GNETagProperties::Property::XMLCHILD,
3274
GNETagProperties::Over::LANE,
3275
FileBucket::Type::NOTHING,
3276
GNETagProperties::Conflicts::POS_LANE_START | GNETagProperties::Conflicts::POS_LANE_END,
3277
GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointLane"),
3278
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3279
// set values of attributes
3280
fillLaneAttribute(myTagProperties[currentTag], false);
3281
3282
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_STARTPOS,
3283
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3284
GNEAttributeProperties::Edit::EDITMODE,
3285
TL("The begin position on the lane (the lower position on the lane) in meters"));
3286
3287
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_ENDPOS,
3288
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3289
GNEAttributeProperties::Edit::EDITMODE,
3290
TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));
3291
3292
fillFriendlyPosAttribute(myTagProperties[currentTag]);
3293
3294
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_POSITION_LAT,
3295
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3296
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
3297
TL("The lateral offset on the named lane at which the vehicle must waypoint"));
3298
3299
// fill common waypoint (stop) attributes
3300
fillCommonStopAttributes(myTagProperties[currentTag], true);
3301
/*
3302
// netedit attributes
3303
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_SIZE,
3304
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Edit::NETEDITEDITOR,
3305
TLF("Length of %", myTagProperties[currentTag]->getTagStr()));
3306
3307
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_FORCESIZE,
3308
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Edit::NETEDITEDITOR,
3309
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
3310
TL("Force size during creation"),
3311
GNEAttributeCarrier::FALSE_STR);
3312
3313
new GNEAttributeProperties(myTagProperties[currentTag], GNE_ATTR_REFERENCE,
3314
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Edit::NETEDITEDITOR,
3315
TLF("Reference position used for creating %", myTagProperties[currentTag]->getTagStr()));
3316
attrProperty->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());
3317
*/
3318
}
3319
currentTag = GNE_TAG_WAYPOINT_BUSSTOP;
3320
{
3321
// set values of tag
3322
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3323
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,
3324
GNETagProperties::Property::XMLCHILD,
3325
GNETagProperties::Over::BUSSTOP,
3326
FileBucket::Type::NOTHING,
3327
GNETagProperties::Conflicts::NO_CONFLICTS,
3328
GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointBusStop"),
3329
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3330
// set values of attributes
3331
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BUS_STOP,
3332
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3333
GNEAttributeProperties::Edit::EDITMODE,
3334
TL("BusWaypoint associated with this waypoint"));
3335
3336
// fill common waypoint (stop) attributes
3337
fillCommonStopAttributes(myTagProperties[currentTag], true);
3338
}
3339
currentTag = GNE_TAG_WAYPOINT_TRAINSTOP;
3340
{
3341
// set values of tag
3342
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3343
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,
3344
GNETagProperties::Property::XMLCHILD,
3345
GNETagProperties::Over::TRAINSTOP,
3346
FileBucket::Type::NOTHING,
3347
GNETagProperties::Conflicts::NO_CONFLICTS,
3348
GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointTrainStop"),
3349
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3350
// set values of attributes
3351
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TRAIN_STOP,
3352
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3353
GNEAttributeProperties::Edit::EDITMODE,
3354
TL("TrainWaypoint associated with this waypoint"));
3355
3356
// fill common waypoint (stop) attributes
3357
fillCommonStopAttributes(myTagProperties[currentTag], true);
3358
}
3359
currentTag = GNE_TAG_WAYPOINT_CONTAINERSTOP;
3360
{
3361
// set values of tag
3362
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3363
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,
3364
GNETagProperties::Property::XMLCHILD,
3365
GNETagProperties::Over::CONTAINERSTOP,
3366
FileBucket::Type::NOTHING,
3367
GNETagProperties::Conflicts::NO_CONFLICTS,
3368
GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointContainerStop"),
3369
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3370
// set values of attributes
3371
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CONTAINER_STOP,
3372
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3373
GNEAttributeProperties::Edit::EDITMODE,
3374
TL("ContainerWaypoint associated with this waypoint"));
3375
3376
// fill common waypoint (stop) attributes
3377
fillCommonStopAttributes(myTagProperties[currentTag], true);
3378
}
3379
currentTag = GNE_TAG_WAYPOINT_CHARGINGSTATION;
3380
{
3381
// set values of tag
3382
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3383
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,
3384
GNETagProperties::Property::XMLCHILD,
3385
GNETagProperties::Over::CHARGINGSTATION,
3386
FileBucket::Type::NOTHING,
3387
GNETagProperties::Conflicts::NO_CONFLICTS,
3388
GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointChargingStation"),
3389
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3390
// set values of attributes
3391
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_CHARGING_STATION,
3392
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3393
GNEAttributeProperties::Edit::EDITMODE,
3394
TL("ChargingStation associated with this waypoint"));
3395
3396
// fill common waypoint (stop) attributes
3397
fillCommonStopAttributes(myTagProperties[currentTag], true);
3398
}
3399
currentTag = GNE_TAG_WAYPOINT_PARKINGAREA;
3400
{
3401
// set values of tag
3402
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_STOPS),
3403
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::STOP_VEHICLE | GNETagProperties::Type::WAYPOINT_VEHICLE,
3404
GNETagProperties::Property::XMLCHILD,
3405
GNETagProperties::Over::PARKINGAREA,
3406
FileBucket::Type::NOTHING,
3407
GNETagProperties::Conflicts::NO_CONFLICTS,
3408
GUIIcon::WAYPOINT, GUIGlObjectType::GLO_STOP, SUMO_TAG_STOP, TL("WaypointParkingArea"),
3409
{SUMO_TAG_ROUTE, SUMO_TAG_TRIP, SUMO_TAG_FLOW}, FXRGBA(240, 255, 205, 255));
3410
// set values of attributes
3411
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_PARKING_AREA,
3412
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
3413
GNEAttributeProperties::Edit::EDITMODE,
3414
TL("ParkingArea associated with this waypoint"));
3415
3416
// fill common waypoint (stop) attributes
3417
fillCommonStopAttributes(myTagProperties[currentTag], true);
3418
}
3419
}
3420
3421
3422
void
3423
GNETagPropertiesDatabase::fillPersonElements() {
3424
// fill vehicle ACs
3425
SumoXMLTag currentTag = SUMO_TAG_PERSON;
3426
{
3427
// set values of tag
3428
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),
3429
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSON,
3430
GNETagProperties::Property::NO_PROPERTY,
3431
GNETagProperties::Over::VIEW,
3432
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
3433
GNETagProperties::Conflicts::NO_CONFLICTS,
3434
GUIIcon::PERSON, GUIGlObjectType::GLO_PERSON, currentTag, TL("Person"));
3435
3436
// add flow attributes
3437
fillCommonPersonAttributes(myTagProperties[currentTag]);
3438
3439
fillDepartAttribute(myTagProperties[currentTag]);
3440
3441
}
3442
currentTag = SUMO_TAG_PERSONFLOW;
3443
{
3444
// set values of tag
3445
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),
3446
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSON | GNETagProperties::Type::FLOW,
3447
GNETagProperties::Property::NO_PROPERTY,
3448
GNETagProperties::Over::VIEW,
3449
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
3450
GNETagProperties::Conflicts::NO_CONFLICTS,
3451
GUIIcon::PERSONFLOW, GUIGlObjectType::GLO_PERSONFLOW, currentTag, TL("PersonFlow"));
3452
3453
// add flow attributes
3454
fillCommonPersonAttributes(myTagProperties[currentTag]);
3455
3456
// add flow attributes
3457
fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_PERSONSPERHOUR);
3458
}
3459
}
3460
3461
3462
void
3463
GNETagPropertiesDatabase::fillContainerElements() {
3464
// fill vehicle ACs
3465
SumoXMLTag currentTag = SUMO_TAG_CONTAINER;
3466
{
3467
// set values of tag
3468
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),
3469
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINER,
3470
GNETagProperties::Property::NO_PROPERTY,
3471
GNETagProperties::Over::VIEW,
3472
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
3473
GNETagProperties::Conflicts::NO_CONFLICTS,
3474
GUIIcon::CONTAINER, GUIGlObjectType::GLO_CONTAINER, currentTag, TL("Container"));
3475
3476
// add flow attributes
3477
fillCommonContainerAttributes(myTagProperties[currentTag]);
3478
3479
fillDepartAttribute(myTagProperties[currentTag]);
3480
}
3481
currentTag = SUMO_TAG_CONTAINERFLOW;
3482
{
3483
// set values of tag
3484
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DEMAND),
3485
GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINER | GNETagProperties::Type::FLOW,
3486
GNETagProperties::Property::NO_PROPERTY,
3487
GNETagProperties::Over::VIEW,
3488
FileBucket::Type::DEMAND | FileBucket::Type::ADDITIONAL,
3489
GNETagProperties::Conflicts::NO_CONFLICTS,
3490
GUIIcon::CONTAINERFLOW, GUIGlObjectType::GLO_CONTAINERFLOW, currentTag, TL("ContainerFlow"));
3491
3492
// add common container attribute
3493
fillCommonContainerAttributes(myTagProperties[currentTag]);
3494
3495
// add flow attributes
3496
fillCommonFlowAttributes(myTagProperties[currentTag], SUMO_ATTR_CONTAINERSPERHOUR);
3497
}
3498
}
3499
3500
3501
void
3502
GNETagPropertiesDatabase::fillContainerTransportElements() {
3503
// declare common tag types and properties
3504
const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINERPLAN | GNETagProperties::Type::TRANSPORT;
3505
const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;
3506
const auto files = FileBucket::Type::NOTHING;
3507
const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
3508
const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});
3509
const unsigned int color = FXRGBA(240, 255, 205, 255);
3510
const GUIIcon icon = GUIIcon::TRANSPORT_EDGE;
3511
const GUIGlObjectType GLType = GUIGlObjectType::GLO_TRANSPORT;
3512
const SumoXMLTag xmlTag = SUMO_TAG_TRANSPORT;
3513
// from edge
3514
SumoXMLTag currentTag = GNE_TAG_TRANSPORT_EDGE_EDGE;
3515
{
3516
// set values of tag
3517
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3518
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,
3519
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("edge")), parents, color);
3520
// set values of attributes
3521
fillPlanParentAttributes(myTagProperties[currentTag]);
3522
fillTransportCommonAttributes(myTagProperties[currentTag]);
3523
}
3524
currentTag = GNE_TAG_TRANSPORT_EDGE_BUSSTOP;
3525
{
3526
// set values of tag
3527
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3528
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,
3529
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("busStop")), parents, color);
3530
// set values of attributes
3531
fillPlanParentAttributes(myTagProperties[currentTag]);
3532
fillTransportCommonAttributes(myTagProperties[currentTag]);
3533
}
3534
currentTag = GNE_TAG_TRANSPORT_EDGE_TRAINSTOP;
3535
{
3536
// set values of tag
3537
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3538
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,
3539
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("trainStop")), parents, color);
3540
// set values of attributes
3541
fillPlanParentAttributes(myTagProperties[currentTag]);
3542
fillTransportCommonAttributes(myTagProperties[currentTag]);
3543
}
3544
currentTag = GNE_TAG_TRANSPORT_EDGE_CONTAINERSTOP;
3545
{
3546
// set values of tag
3547
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3548
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,
3549
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("containerStop")), parents, color);
3550
// set values of attributes
3551
fillPlanParentAttributes(myTagProperties[currentTag]);
3552
fillTransportCommonAttributes(myTagProperties[currentTag]);
3553
}
3554
currentTag = GNE_TAG_TRANSPORT_EDGE_CHARGINGSTATION;
3555
{
3556
// set values of tag
3557
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3558
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,
3559
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("chargingStation")), parents, color);
3560
// set values of attributes
3561
fillPlanParentAttributes(myTagProperties[currentTag]);
3562
fillTransportCommonAttributes(myTagProperties[currentTag]);
3563
}
3564
currentTag = GNE_TAG_TRANSPORT_EDGE_PARKINGAREA;
3565
{
3566
// set values of tag
3567
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3568
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,
3569
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("edge"), TL("parkingArea")), parents, color);
3570
// set values of attributes
3571
fillPlanParentAttributes(myTagProperties[currentTag]);
3572
fillTransportCommonAttributes(myTagProperties[currentTag]);
3573
}
3574
// from busStop
3575
currentTag = GNE_TAG_TRANSPORT_BUSSTOP_EDGE;
3576
{
3577
// set values of tag
3578
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3579
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,
3580
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("edge")), parents, color);
3581
// set values of attributes
3582
fillPlanParentAttributes(myTagProperties[currentTag]);
3583
fillTransportCommonAttributes(myTagProperties[currentTag]);
3584
}
3585
currentTag = GNE_TAG_TRANSPORT_BUSSTOP_BUSSTOP;
3586
{
3587
// set values of tag
3588
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3589
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,
3590
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("busStop")), parents, color);
3591
// set values of attributes
3592
fillPlanParentAttributes(myTagProperties[currentTag]);
3593
fillTransportCommonAttributes(myTagProperties[currentTag]);
3594
}
3595
currentTag = GNE_TAG_TRANSPORT_BUSSTOP_TRAINSTOP;
3596
{
3597
// set values of tag
3598
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3599
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,
3600
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("trainStop")), parents, color);
3601
// set values of attributes
3602
fillPlanParentAttributes(myTagProperties[currentTag]);
3603
fillTransportCommonAttributes(myTagProperties[currentTag]);
3604
}
3605
currentTag = GNE_TAG_TRANSPORT_BUSSTOP_CONTAINERSTOP;
3606
{
3607
// set values of tag
3608
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3609
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
3610
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("containerStop")), parents, color);
3611
// set values of attributes
3612
fillPlanParentAttributes(myTagProperties[currentTag]);
3613
fillTransportCommonAttributes(myTagProperties[currentTag]);
3614
}
3615
currentTag = GNE_TAG_TRANSPORT_BUSSTOP_CHARGINGSTATION;
3616
{
3617
// set values of tag
3618
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3619
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
3620
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("chargingStation")), parents, color);
3621
// set values of attributes
3622
fillPlanParentAttributes(myTagProperties[currentTag]);
3623
fillTransportCommonAttributes(myTagProperties[currentTag]);
3624
}
3625
currentTag = GNE_TAG_TRANSPORT_BUSSTOP_PARKINGAREA;
3626
{
3627
// set values of tag
3628
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3629
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,
3630
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("busStop"), TL("parkingArea")), parents, color);
3631
// set values of attributes
3632
fillPlanParentAttributes(myTagProperties[currentTag]);
3633
fillTransportCommonAttributes(myTagProperties[currentTag]);
3634
}
3635
// from trainStop
3636
currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_EDGE;
3637
{
3638
// set values of tag
3639
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3640
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,
3641
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("edge")), parents, color);
3642
// set values of attributes
3643
fillPlanParentAttributes(myTagProperties[currentTag]);
3644
fillTransportCommonAttributes(myTagProperties[currentTag]);
3645
}
3646
currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_BUSSTOP;
3647
{
3648
// set values of tag
3649
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3650
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,
3651
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("busStop")), parents, color);
3652
// set values of attributes
3653
fillPlanParentAttributes(myTagProperties[currentTag]);
3654
fillTransportCommonAttributes(myTagProperties[currentTag]);
3655
}
3656
currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_TRAINSTOP;
3657
{
3658
// set values of tag
3659
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3660
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,
3661
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("trainStop")), parents, color);
3662
// set values of attributes
3663
fillPlanParentAttributes(myTagProperties[currentTag]);
3664
fillTransportCommonAttributes(myTagProperties[currentTag]);
3665
}
3666
currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_CONTAINERSTOP;
3667
{
3668
// set values of tag
3669
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3670
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
3671
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("containerStop")), parents, color);
3672
// set values of attributes
3673
fillPlanParentAttributes(myTagProperties[currentTag]);
3674
fillTransportCommonAttributes(myTagProperties[currentTag]);
3675
}
3676
currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_CHARGINGSTATION;
3677
{
3678
// set values of tag
3679
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3680
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
3681
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("chargingStation")), parents, color);
3682
// set values of attributes
3683
fillPlanParentAttributes(myTagProperties[currentTag]);
3684
fillTransportCommonAttributes(myTagProperties[currentTag]);
3685
}
3686
currentTag = GNE_TAG_TRANSPORT_TRAINSTOP_PARKINGAREA;
3687
{
3688
// set values of tag
3689
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3690
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,
3691
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("trainStop"), TL("parkingArea")), parents, color);
3692
// set values of attributes
3693
fillPlanParentAttributes(myTagProperties[currentTag]);
3694
fillTransportCommonAttributes(myTagProperties[currentTag]);
3695
}
3696
// from containerStop
3697
currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_EDGE;
3698
{
3699
// set values of tag
3700
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3701
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,
3702
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("edge")), parents, color);
3703
// set values of attributes
3704
fillPlanParentAttributes(myTagProperties[currentTag]);
3705
fillTransportCommonAttributes(myTagProperties[currentTag]);
3706
}
3707
currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_BUSSTOP;
3708
{
3709
// set values of tag
3710
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3711
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,
3712
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("busStop")), parents, color);
3713
// set values of attributes
3714
fillPlanParentAttributes(myTagProperties[currentTag]);
3715
fillTransportCommonAttributes(myTagProperties[currentTag]);
3716
}
3717
currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_TRAINSTOP;
3718
{
3719
// set values of tag
3720
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3721
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,
3722
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("trainStop")), parents, color);
3723
// set values of attributes
3724
fillPlanParentAttributes(myTagProperties[currentTag]);
3725
fillTransportCommonAttributes(myTagProperties[currentTag]);
3726
}
3727
currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_CONTAINERSTOP;
3728
{
3729
// set values of tag
3730
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3731
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
3732
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("containerStop")), parents, color);
3733
// set values of attributes
3734
fillPlanParentAttributes(myTagProperties[currentTag]);
3735
fillTransportCommonAttributes(myTagProperties[currentTag]);
3736
}
3737
currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_CHARGINGSTATION;
3738
{
3739
// set values of tag
3740
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3741
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
3742
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("chargingStation")), parents, color);
3743
// set values of attributes
3744
fillPlanParentAttributes(myTagProperties[currentTag]);
3745
fillTransportCommonAttributes(myTagProperties[currentTag]);
3746
}
3747
currentTag = GNE_TAG_TRANSPORT_CONTAINERSTOP_PARKINGAREA;
3748
{
3749
// set values of tag
3750
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3751
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,
3752
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("containerStop"), TL("parkingArea")), parents, color);
3753
3754
// set values of attributes
3755
fillPlanParentAttributes(myTagProperties[currentTag]);
3756
fillTransportCommonAttributes(myTagProperties[currentTag]);
3757
}
3758
// from chargingStation
3759
currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_EDGE;
3760
{
3761
// set values of tag
3762
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3763
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,
3764
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("edge")), parents, color);
3765
// set values of attributes
3766
fillPlanParentAttributes(myTagProperties[currentTag]);
3767
fillTransportCommonAttributes(myTagProperties[currentTag]);
3768
}
3769
currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_BUSSTOP;
3770
{
3771
// set values of tag
3772
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3773
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,
3774
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("busStop")), parents, color);
3775
// set values of attributes
3776
fillPlanParentAttributes(myTagProperties[currentTag]);
3777
fillTransportCommonAttributes(myTagProperties[currentTag]);
3778
}
3779
currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_TRAINSTOP;
3780
{
3781
// set values of tag
3782
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3783
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,
3784
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("trainStop")), parents, color);
3785
// set values of attributes
3786
fillPlanParentAttributes(myTagProperties[currentTag]);
3787
fillTransportCommonAttributes(myTagProperties[currentTag]);
3788
}
3789
currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_CONTAINERSTOP;
3790
{
3791
// set values of tag
3792
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3793
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,
3794
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("containerStop")), parents, color);
3795
// set values of attributes
3796
fillPlanParentAttributes(myTagProperties[currentTag]);
3797
fillTransportCommonAttributes(myTagProperties[currentTag]);
3798
}
3799
currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_CHARGINGSTATION;
3800
{
3801
// set values of tag
3802
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3803
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,
3804
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("chargingStation")), parents, color);
3805
// set values of attributes
3806
fillPlanParentAttributes(myTagProperties[currentTag]);
3807
fillTransportCommonAttributes(myTagProperties[currentTag]);
3808
}
3809
currentTag = GNE_TAG_TRANSPORT_CHARGINGSTATION_PARKINGAREA;
3810
{
3811
// set values of tag
3812
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3813
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,
3814
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("chargingStation"), TL("parkingArea")), parents, color);
3815
// set values of attributes
3816
fillPlanParentAttributes(myTagProperties[currentTag]);
3817
fillTransportCommonAttributes(myTagProperties[currentTag]);
3818
}
3819
// from parkingArea
3820
currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_EDGE;
3821
{
3822
// set values of tag
3823
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3824
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,
3825
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("edge")), parents, color);
3826
// set values of attributes
3827
fillPlanParentAttributes(myTagProperties[currentTag]);
3828
fillTransportCommonAttributes(myTagProperties[currentTag]);
3829
}
3830
currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_BUSSTOP;
3831
{
3832
// set values of tag
3833
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3834
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,
3835
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("busStop")), parents, color);
3836
// set values of attributes
3837
fillPlanParentAttributes(myTagProperties[currentTag]);
3838
fillTransportCommonAttributes(myTagProperties[currentTag]);
3839
}
3840
currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_TRAINSTOP;
3841
{
3842
// set values of tag
3843
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3844
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,
3845
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("trainStop")), parents, color);
3846
// set values of attributes
3847
fillPlanParentAttributes(myTagProperties[currentTag]);
3848
fillTransportCommonAttributes(myTagProperties[currentTag]);
3849
}
3850
currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_CONTAINERSTOP;
3851
{
3852
// set values of tag
3853
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3854
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,
3855
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("containerStop")), parents, color);
3856
// set values of attributes
3857
fillPlanParentAttributes(myTagProperties[currentTag]);
3858
fillTransportCommonAttributes(myTagProperties[currentTag]);
3859
}
3860
currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_CHARGINGSTATION;
3861
{
3862
// set values of tag
3863
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3864
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,
3865
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("chargingStation")), parents, color);
3866
// set values of attributes
3867
fillPlanParentAttributes(myTagProperties[currentTag]);
3868
fillTransportCommonAttributes(myTagProperties[currentTag]);
3869
}
3870
currentTag = GNE_TAG_TRANSPORT_PARKINGAREA_PARKINGAREA;
3871
{
3872
// set values of tag
3873
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSPORTS), tagType, tagProperty,
3874
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,
3875
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Transport"), TL("parkingArea"), TL("parkingArea")), parents, color);
3876
// set values of attributes
3877
fillPlanParentAttributes(myTagProperties[currentTag]);
3878
fillTransportCommonAttributes(myTagProperties[currentTag]);
3879
}
3880
}
3881
3882
3883
void
3884
GNETagPropertiesDatabase::fillContainerTranshipElements() {
3885
// declare common tag types and properties
3886
const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINERPLAN | GNETagProperties::Type::TRANSHIP;
3887
const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;
3888
const auto files = FileBucket::Type::NOTHING;
3889
const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
3890
const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});
3891
const unsigned int color = FXRGBA(210, 233, 255, 255);
3892
const GUIIcon icon = GUIIcon::TRANSHIP_EDGES;
3893
const GUIGlObjectType GLType = GUIGlObjectType::GLO_TRANSHIP;
3894
const SumoXMLTag xmlTag = SUMO_TAG_TRANSHIP;
3895
// fill tags
3896
SumoXMLTag currentTag = GNE_TAG_TRANSHIP_EDGES;
3897
{
3898
// set values of tag
3899
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3900
GNETagProperties::Over::CONSECUTIVE_EDGES,
3901
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Tranship"), TL("edges")), parents, color);
3902
// set values of attributes
3903
fillPlanParentAttributes(myTagProperties[currentTag]);
3904
fillTranshipCommonAttributes(myTagProperties[currentTag]);
3905
}
3906
// from edge
3907
currentTag = GNE_TAG_TRANSHIP_EDGE_EDGE;
3908
{
3909
// set values of tag
3910
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3911
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,
3912
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("edge")), parents, color);
3913
// set values of attributes
3914
fillPlanParentAttributes(myTagProperties[currentTag]);
3915
fillTranshipCommonAttributes(myTagProperties[currentTag]);
3916
}
3917
currentTag = GNE_TAG_TRANSHIP_EDGE_BUSSTOP;
3918
{
3919
// set values of tag
3920
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3921
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,
3922
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("busStop")), parents, color);
3923
// set values of attributes
3924
fillPlanParentAttributes(myTagProperties[currentTag]);
3925
fillTranshipCommonAttributes(myTagProperties[currentTag]);
3926
}
3927
currentTag = GNE_TAG_TRANSHIP_EDGE_TRAINSTOP;
3928
{
3929
// set values of tag
3930
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3931
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,
3932
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("trainStop")), parents, color);
3933
// set values of attributes
3934
fillPlanParentAttributes(myTagProperties[currentTag]);
3935
fillTranshipCommonAttributes(myTagProperties[currentTag]);
3936
}
3937
currentTag = GNE_TAG_TRANSHIP_EDGE_CONTAINERSTOP;
3938
{
3939
// set values of tag
3940
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3941
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,
3942
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("containerStop")), parents, color);
3943
// set values of attributes
3944
fillPlanParentAttributes(myTagProperties[currentTag]);
3945
fillTranshipCommonAttributes(myTagProperties[currentTag]);
3946
}
3947
currentTag = GNE_TAG_TRANSHIP_EDGE_CHARGINGSTATION;
3948
{
3949
// set values of tag
3950
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3951
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,
3952
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("chargingStation")), parents, color);
3953
// set values of attributes
3954
fillPlanParentAttributes(myTagProperties[currentTag]);
3955
fillTranshipCommonAttributes(myTagProperties[currentTag]);
3956
}
3957
currentTag = GNE_TAG_TRANSHIP_EDGE_PARKINGAREA;
3958
{
3959
// set values of tag
3960
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3961
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,
3962
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("edge"), TL("parkingArea")), parents, color);
3963
// set values of attributes
3964
fillPlanParentAttributes(myTagProperties[currentTag]);
3965
fillTranshipCommonAttributes(myTagProperties[currentTag]);
3966
}
3967
// from busStop
3968
currentTag = GNE_TAG_TRANSHIP_BUSSTOP_EDGE;
3969
{
3970
// set values of tag
3971
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3972
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,
3973
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("edge")), parents, color);
3974
// set values of attributes
3975
fillPlanParentAttributes(myTagProperties[currentTag]);
3976
fillTranshipCommonAttributes(myTagProperties[currentTag]);
3977
}
3978
currentTag = GNE_TAG_TRANSHIP_BUSSTOP_BUSSTOP;
3979
{
3980
// set values of tag
3981
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3982
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,
3983
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("busStop")), parents, color);
3984
// set values of attributes
3985
fillPlanParentAttributes(myTagProperties[currentTag]);
3986
fillTranshipCommonAttributes(myTagProperties[currentTag]);
3987
}
3988
currentTag = GNE_TAG_TRANSHIP_BUSSTOP_TRAINSTOP;
3989
{
3990
// set values of tag
3991
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
3992
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,
3993
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("trainStop")), parents, color);
3994
// set values of attributes
3995
fillPlanParentAttributes(myTagProperties[currentTag]);
3996
fillTranshipCommonAttributes(myTagProperties[currentTag]);
3997
}
3998
currentTag = GNE_TAG_TRANSHIP_BUSSTOP_CONTAINERSTOP;
3999
{
4000
// set values of tag
4001
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4002
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
4003
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("containerStop")), parents, color);
4004
// set values of attributes
4005
fillPlanParentAttributes(myTagProperties[currentTag]);
4006
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4007
}
4008
currentTag = GNE_TAG_TRANSHIP_BUSSTOP_CHARGINGSTATION;
4009
{
4010
// set values of tag
4011
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4012
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
4013
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("chargingStation")), parents, color);
4014
// set values of attributes
4015
fillPlanParentAttributes(myTagProperties[currentTag]);
4016
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4017
}
4018
currentTag = GNE_TAG_TRANSHIP_BUSSTOP_PARKINGAREA;
4019
{
4020
// set values of tag
4021
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4022
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,
4023
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("busStop"), TL("parkingArea")), parents, color);
4024
// set values of attributes
4025
fillPlanParentAttributes(myTagProperties[currentTag]);
4026
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4027
}
4028
// from trainStop
4029
currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_EDGE;
4030
{
4031
// set values of tag
4032
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4033
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,
4034
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("edge")), parents, color);
4035
// set values of attributes
4036
fillPlanParentAttributes(myTagProperties[currentTag]);
4037
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4038
}
4039
currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_BUSSTOP;
4040
{
4041
// set values of tag
4042
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4043
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,
4044
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("busStop")), parents, color);
4045
// set values of attributes
4046
fillPlanParentAttributes(myTagProperties[currentTag]);
4047
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4048
}
4049
currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_TRAINSTOP;
4050
{
4051
// set values of tag
4052
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4053
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,
4054
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("trainStop")), parents, color);
4055
// set values of attributes
4056
fillPlanParentAttributes(myTagProperties[currentTag]);
4057
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4058
}
4059
currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_CONTAINERSTOP;
4060
{
4061
// set values of tag
4062
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4063
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
4064
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("containerStop")), parents, color);
4065
// set values of attributes
4066
fillPlanParentAttributes(myTagProperties[currentTag]);
4067
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4068
}
4069
currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_CHARGINGSTATION;
4070
{
4071
// set values of tag
4072
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4073
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
4074
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("chargingStation")), parents, color);
4075
// set values of attributes
4076
fillPlanParentAttributes(myTagProperties[currentTag]);
4077
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4078
}
4079
currentTag = GNE_TAG_TRANSHIP_TRAINSTOP_PARKINGAREA;
4080
{
4081
// set values of tag
4082
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4083
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,
4084
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("trainStop"), TL("parkingArea")), parents, color);
4085
// set values of attributes
4086
fillPlanParentAttributes(myTagProperties[currentTag]);
4087
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4088
}
4089
// from containerStop
4090
currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_EDGE;
4091
{
4092
// set values of tag
4093
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4094
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,
4095
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("edge")), parents, color);
4096
// set values of attributes
4097
fillPlanParentAttributes(myTagProperties[currentTag]);
4098
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4099
}
4100
currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_BUSSTOP;
4101
{
4102
// set values of tag
4103
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4104
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,
4105
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("busStop")), parents, color);
4106
// set values of attributes
4107
fillPlanParentAttributes(myTagProperties[currentTag]);
4108
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4109
}
4110
currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_TRAINSTOP;
4111
{
4112
// set values of tag
4113
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4114
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,
4115
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("trainStop")), parents, color);
4116
// set values of attributes
4117
fillPlanParentAttributes(myTagProperties[currentTag]);
4118
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4119
}
4120
currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_CONTAINERSTOP;
4121
{
4122
// set values of tag
4123
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4124
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
4125
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("containerStop")), parents, color);
4126
// set values of attributes
4127
fillPlanParentAttributes(myTagProperties[currentTag]);
4128
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4129
}
4130
currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_CHARGINGSTATION;
4131
{
4132
// set values of tag
4133
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4134
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
4135
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("chargingStation")), parents, color);
4136
// set values of attributes
4137
fillPlanParentAttributes(myTagProperties[currentTag]);
4138
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4139
}
4140
currentTag = GNE_TAG_TRANSHIP_CONTAINERSTOP_PARKINGAREA;
4141
{
4142
// set values of tag
4143
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4144
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,
4145
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("containerStop"), TL("parkingArea")), parents, color);
4146
// set values of attributes
4147
fillPlanParentAttributes(myTagProperties[currentTag]);
4148
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4149
}
4150
// from chargingStation
4151
currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_EDGE;
4152
{
4153
// set values of tag
4154
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4155
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,
4156
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("edge")), parents, color);
4157
// set values of attributes
4158
fillPlanParentAttributes(myTagProperties[currentTag]);
4159
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4160
}
4161
currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_BUSSTOP;
4162
{
4163
// set values of tag
4164
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4165
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,
4166
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("busStop")), parents, color);
4167
// set values of attributes
4168
fillPlanParentAttributes(myTagProperties[currentTag]);
4169
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4170
}
4171
currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_TRAINSTOP;
4172
{
4173
// set values of tag
4174
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4175
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,
4176
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("trainStop")), parents, color);
4177
// set values of attributes
4178
fillPlanParentAttributes(myTagProperties[currentTag]);
4179
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4180
}
4181
currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_CONTAINERSTOP;
4182
{
4183
// set values of tag
4184
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4185
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,
4186
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("containerStop")), parents, color);
4187
// set values of attributes
4188
fillPlanParentAttributes(myTagProperties[currentTag]);
4189
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4190
}
4191
currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_CHARGINGSTATION;
4192
{
4193
// set values of tag
4194
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4195
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,
4196
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("chargingStation")), parents, color);
4197
// set values of attributes
4198
fillPlanParentAttributes(myTagProperties[currentTag]);
4199
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4200
}
4201
currentTag = GNE_TAG_TRANSHIP_CHARGINGSTATION_PARKINGAREA;
4202
{
4203
// set values of tag
4204
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4205
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,
4206
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("chargingStation"), TL("parkingArea")), parents, color);
4207
// set values of attributes
4208
fillPlanParentAttributes(myTagProperties[currentTag]);
4209
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4210
}
4211
// from parkingArea
4212
currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_EDGE;
4213
{
4214
// set values of tag
4215
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4216
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,
4217
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("edge")), parents, color);
4218
// set values of attributes
4219
fillPlanParentAttributes(myTagProperties[currentTag]);
4220
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4221
}
4222
currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_BUSSTOP;
4223
{
4224
// set values of tag
4225
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4226
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,
4227
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("busStop")), parents, color);
4228
// set values of attributes
4229
fillPlanParentAttributes(myTagProperties[currentTag]);
4230
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4231
}
4232
currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_TRAINSTOP;
4233
{
4234
// set values of tag
4235
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4236
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,
4237
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("trainStop")), parents, color);
4238
// set values of attributes
4239
fillPlanParentAttributes(myTagProperties[currentTag]);
4240
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4241
}
4242
currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_CONTAINERSTOP;
4243
{
4244
// set values of tag
4245
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4246
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,
4247
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("containerStop")), parents, color);
4248
// set values of attributes
4249
fillPlanParentAttributes(myTagProperties[currentTag]);
4250
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4251
}
4252
currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_CHARGINGSTATION;
4253
{
4254
// set values of tag
4255
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4256
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,
4257
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("chargingStation")), parents, color);
4258
// set values of attributes
4259
fillPlanParentAttributes(myTagProperties[currentTag]);
4260
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4261
}
4262
currentTag = GNE_TAG_TRANSHIP_PARKINGAREA_PARKINGAREA;
4263
{
4264
// set values of tag
4265
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_TRANSHIPS), tagType, tagProperty,
4266
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,
4267
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Tranship"), TL("parkingArea"), TL("parkingArea")), parents, color);
4268
// set values of attributes
4269
fillPlanParentAttributes(myTagProperties[currentTag]);
4270
fillTranshipCommonAttributes(myTagProperties[currentTag]);
4271
}
4272
}
4273
4274
4275
void
4276
GNETagPropertiesDatabase::fillContainerStopElements() {
4277
// declare common tag types and properties
4278
const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::CONTAINERPLAN | GNETagProperties::Type::STOP_CONTAINER;
4279
const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;
4280
const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
4281
const auto files = FileBucket::Type::NOTHING;
4282
const std::vector<SumoXMLTag> parents({SUMO_TAG_CONTAINER, SUMO_TAG_CONTAINERFLOW});
4283
const unsigned int color = FXRGBA(255, 213, 213, 255);
4284
const GUIIcon icon = GUIIcon::STOPELEMENT;
4285
const GUIGlObjectType GLType = GUIGlObjectType::GLO_STOP_PLAN;
4286
const SumoXMLTag xmlTag = SUMO_TAG_STOP;
4287
// fill tags
4288
SumoXMLTag currentTag = GNE_TAG_STOPCONTAINER_EDGE;
4289
{
4290
// set values of tag
4291
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4292
GNETagProperties::Over::EDGE,
4293
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("edge")), parents, color);
4294
4295
// set values of attributes
4296
fillPlanParentAttributes(myTagProperties[currentTag]);
4297
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
4298
}
4299
currentTag = GNE_TAG_STOPCONTAINER_BUSSTOP;
4300
{
4301
// set values of tag
4302
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4303
GNETagProperties::Over::BUSSTOP,
4304
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("busStop")), parents, color);
4305
4306
// set values of attributes
4307
fillPlanParentAttributes(myTagProperties[currentTag]);
4308
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
4309
}
4310
currentTag = GNE_TAG_STOPCONTAINER_TRAINSTOP;
4311
{
4312
// set values of tag
4313
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4314
GNETagProperties::Over::TRAINSTOP,
4315
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("trainStop")), parents, color);
4316
4317
// set values of attributes
4318
fillPlanParentAttributes(myTagProperties[currentTag]);
4319
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
4320
}
4321
currentTag = GNE_TAG_STOPCONTAINER_CONTAINERSTOP;
4322
{
4323
// set values of tag
4324
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4325
GNETagProperties::Over::CONTAINERSTOP,
4326
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("containerStop")), parents, color);
4327
4328
// set values of attributes
4329
fillPlanParentAttributes(myTagProperties[currentTag]);
4330
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
4331
}
4332
currentTag = GNE_TAG_STOPCONTAINER_CHARGINGSTATION;
4333
{
4334
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4335
GNETagProperties::Over::CHARGINGSTATION,
4336
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("chargingStation")), parents, color);
4337
4338
// set values of attributes
4339
fillPlanParentAttributes(myTagProperties[currentTag]);
4340
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
4341
}
4342
currentTag = GNE_TAG_STOPCONTAINER_PARKINGAREA;
4343
{
4344
// set values of tag
4345
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_CONTAINERSTOPS), tagType, tagProperty,
4346
GNETagProperties::Over::PARKINGAREA,
4347
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("ContainerStop"), TL("parkingArea")), parents, color);
4348
4349
// set values of attributes
4350
fillPlanParentAttributes(myTagProperties[currentTag]);
4351
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
4352
}
4353
}
4354
4355
4356
void
4357
GNETagPropertiesDatabase::fillPersonPlanTrips() {
4358
// declare common tag types and properties
4359
const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::PERSONTRIP;
4360
const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;
4361
const auto tagPropertyTAZ = GNETagProperties::Property::RTREE | tagProperty;
4362
const auto files = FileBucket::Type::NOTHING;
4363
const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
4364
const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});
4365
const unsigned int color = FXRGBA(253, 255, 206, 255);
4366
const GUIIcon icon = GUIIcon::PERSONTRIP_EDGE;
4367
const GUIGlObjectType GLType = GUIGlObjectType::GLO_PERSONTRIP;
4368
const SumoXMLTag xmlTag = SUMO_TAG_PERSONTRIP;
4369
// from edge
4370
SumoXMLTag currentTag = GNE_TAG_PERSONTRIP_EDGE_EDGE;
4371
{
4372
// set values of tag
4373
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4374
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,
4375
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("edge")), parents, color);
4376
// set values of attributes
4377
fillPlanParentAttributes(myTagProperties[currentTag]);
4378
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4379
}
4380
currentTag = GNE_TAG_PERSONTRIP_EDGE_TAZ;
4381
{
4382
// set values of tag
4383
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4384
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TAZ,
4385
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("taz")), parents, color);
4386
// set values of attributes
4387
fillPlanParentAttributes(myTagProperties[currentTag]);
4388
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4389
}
4390
currentTag = GNE_TAG_PERSONTRIP_EDGE_JUNCTION;
4391
{
4392
// set values of tag
4393
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4394
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_JUNCTION,
4395
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("junction")), parents, color);
4396
// set values of attributes
4397
fillPlanParentAttributes(myTagProperties[currentTag]);
4398
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4399
}
4400
currentTag = GNE_TAG_PERSONTRIP_EDGE_BUSSTOP;
4401
{
4402
// set values of tag
4403
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4404
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,
4405
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("busStop")), parents, color);
4406
// set values of attributes
4407
fillPlanParentAttributes(myTagProperties[currentTag]);
4408
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4409
}
4410
currentTag = GNE_TAG_PERSONTRIP_EDGE_TRAINSTOP;
4411
{
4412
// set values of tag
4413
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4414
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,
4415
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("trainStop")), parents, color);
4416
// set values of attributes
4417
fillPlanParentAttributes(myTagProperties[currentTag]);
4418
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4419
}
4420
currentTag = GNE_TAG_PERSONTRIP_EDGE_CONTAINERSTOP;
4421
{
4422
// set values of tag
4423
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4424
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,
4425
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("containerStop")), parents, color);
4426
// set values of attributes
4427
fillPlanParentAttributes(myTagProperties[currentTag]);
4428
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4429
}
4430
currentTag = GNE_TAG_PERSONTRIP_EDGE_CHARGINGSTATION;
4431
{
4432
// set values of tag
4433
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4434
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,
4435
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("chargingStation")), parents, color);
4436
// set values of attributes
4437
fillPlanParentAttributes(myTagProperties[currentTag]);
4438
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4439
}
4440
currentTag = GNE_TAG_PERSONTRIP_EDGE_PARKINGAREA;
4441
{
4442
// set values of tag
4443
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4444
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,
4445
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("edge"), TL("parkingArea")), parents, color);
4446
// set values of attributes
4447
fillPlanParentAttributes(myTagProperties[currentTag]);
4448
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4449
}
4450
// from taz
4451
currentTag = GNE_TAG_PERSONTRIP_TAZ_EDGE;
4452
{
4453
// set values of tag
4454
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4455
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_EDGE,
4456
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("taz")), parents, color);
4457
// set values of attributes
4458
fillPlanParentAttributes(myTagProperties[currentTag]);
4459
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4460
}
4461
currentTag = GNE_TAG_PERSONTRIP_TAZ_TAZ;
4462
{
4463
// set values of tag
4464
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4465
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,
4466
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("taz")), parents, color);
4467
// set values of attributes
4468
fillPlanParentAttributes(myTagProperties[currentTag]);
4469
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4470
}
4471
currentTag = GNE_TAG_PERSONTRIP_TAZ_JUNCTION;
4472
{
4473
// set values of tag
4474
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4475
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_JUNCTION,
4476
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("junction")), parents, color);
4477
// set values of attributes
4478
fillPlanParentAttributes(myTagProperties[currentTag]);
4479
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4480
}
4481
currentTag = GNE_TAG_PERSONTRIP_TAZ_BUSSTOP;
4482
{
4483
// set values of tag
4484
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4485
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_BUSSTOP,
4486
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("busStop")), parents, color);
4487
// set values of attributes
4488
fillPlanParentAttributes(myTagProperties[currentTag]);
4489
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4490
}
4491
currentTag = GNE_TAG_PERSONTRIP_TAZ_TRAINSTOP;
4492
{
4493
// set values of tag
4494
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4495
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TRAINSTOP,
4496
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("trainStop")), parents, color);
4497
// set values of attributes
4498
fillPlanParentAttributes(myTagProperties[currentTag]);
4499
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4500
}
4501
currentTag = GNE_TAG_PERSONTRIP_TAZ_CONTAINERSTOP;
4502
{
4503
// set values of tag
4504
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4505
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CONTAINERSTOP,
4506
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("containerStop")), parents, color);
4507
// set values of attributes
4508
fillPlanParentAttributes(myTagProperties[currentTag]);
4509
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4510
}
4511
currentTag = GNE_TAG_PERSONTRIP_TAZ_CHARGINGSTATION;
4512
{
4513
// set values of tag
4514
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4515
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CHARGINGSTATION,
4516
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("chargingStation")), parents, color);
4517
// set values of attributes
4518
fillPlanParentAttributes(myTagProperties[currentTag]);
4519
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4520
}
4521
currentTag = GNE_TAG_PERSONTRIP_TAZ_PARKINGAREA;
4522
{
4523
// set values of tag
4524
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4525
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_PARKINGAREA,
4526
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("taz"), TL("parkingArea")), parents, color);
4527
// set values of attributes
4528
fillPlanParentAttributes(myTagProperties[currentTag]);
4529
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4530
}
4531
// from junction
4532
currentTag = GNE_TAG_PERSONTRIP_JUNCTION_EDGE;
4533
{
4534
// set values of tag
4535
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4536
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_EDGE,
4537
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("edge")), parents, color);
4538
// set values of attributes
4539
fillPlanParentAttributes(myTagProperties[currentTag]);
4540
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4541
}
4542
currentTag = GNE_TAG_PERSONTRIP_JUNCTION_TAZ;
4543
{
4544
// set values of tag
4545
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4546
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TAZ,
4547
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("taz")), parents, color);
4548
// set values of attributes
4549
fillPlanParentAttributes(myTagProperties[currentTag]);
4550
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4551
}
4552
currentTag = GNE_TAG_PERSONTRIP_JUNCTION_JUNCTION;
4553
{
4554
// set values of tag
4555
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4556
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,
4557
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("junction")), parents, color);
4558
// set values of attributes
4559
fillPlanParentAttributes(myTagProperties[currentTag]);
4560
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4561
}
4562
currentTag = GNE_TAG_PERSONTRIP_JUNCTION_BUSSTOP;
4563
{
4564
// set values of tag
4565
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4566
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_BUSSTOP,
4567
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("busStop")), parents, color);
4568
// set values of attributes
4569
fillPlanParentAttributes(myTagProperties[currentTag]);
4570
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4571
}
4572
currentTag = GNE_TAG_PERSONTRIP_JUNCTION_TRAINSTOP;
4573
{
4574
// set values of tag
4575
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4576
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TRAINSTOP,
4577
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("trainStop")), parents, color);
4578
// set values of attributes
4579
fillPlanParentAttributes(myTagProperties[currentTag]);
4580
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4581
}
4582
currentTag = GNE_TAG_PERSONTRIP_JUNCTION_CONTAINERSTOP;
4583
{
4584
// set values of tag
4585
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4586
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CONTAINERSTOP,
4587
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("containerStop")), parents, color);
4588
// set values of attributes
4589
fillPlanParentAttributes(myTagProperties[currentTag]);
4590
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4591
}
4592
currentTag = GNE_TAG_PERSONTRIP_JUNCTION_CHARGINGSTATION;
4593
{
4594
// set values of tag
4595
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4596
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CHARGINGSTATION,
4597
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("chargingStation")), parents, color);
4598
// set values of attributes
4599
fillPlanParentAttributes(myTagProperties[currentTag]);
4600
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4601
}
4602
currentTag = GNE_TAG_PERSONTRIP_JUNCTION_PARKINGAREA;
4603
{
4604
// set values of tag
4605
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4606
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_PARKINGAREA,
4607
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("junction"), TL("parkingArea")), parents, color);
4608
// set values of attributes
4609
fillPlanParentAttributes(myTagProperties[currentTag]);
4610
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4611
}
4612
// from busStop
4613
currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_EDGE;
4614
{
4615
// set values of tag
4616
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4617
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,
4618
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("edge")), parents, color);
4619
// set values of attributes
4620
fillPlanParentAttributes(myTagProperties[currentTag]);
4621
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4622
}
4623
currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_TAZ;
4624
{
4625
// set values of tag
4626
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4627
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TAZ,
4628
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("taz")), parents, color);
4629
// set values of attributes
4630
fillPlanParentAttributes(myTagProperties[currentTag]);
4631
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4632
}
4633
currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_JUNCTION;
4634
{
4635
// set values of tag
4636
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4637
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_JUNCTION,
4638
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("junction")), parents, color);
4639
// set values of attributes
4640
fillPlanParentAttributes(myTagProperties[currentTag]);
4641
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4642
}
4643
currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_BUSSTOP;
4644
{
4645
// set values of tag
4646
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4647
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,
4648
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("busStop")), parents, color);
4649
// set values of attributes
4650
fillPlanParentAttributes(myTagProperties[currentTag]);
4651
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4652
}
4653
currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_TRAINSTOP;
4654
{
4655
// set values of tag
4656
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4657
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,
4658
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("trainStop")), parents, color);
4659
// set values of attributes
4660
fillPlanParentAttributes(myTagProperties[currentTag]);
4661
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4662
}
4663
currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_CONTAINERSTOP;
4664
{
4665
// set values of tag
4666
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4667
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
4668
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("containerStop")), parents, color);
4669
// set values of attributes
4670
fillPlanParentAttributes(myTagProperties[currentTag]);
4671
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4672
}
4673
currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_CHARGINGSTATION;
4674
{
4675
// set values of tag
4676
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4677
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
4678
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("chargingStation")), parents, color);
4679
// set values of attributes
4680
fillPlanParentAttributes(myTagProperties[currentTag]);
4681
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4682
}
4683
currentTag = GNE_TAG_PERSONTRIP_BUSSTOP_PARKINGAREA;
4684
{
4685
// set values of tag
4686
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4687
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,
4688
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("busStop"), TL("parkingArea")), parents, color);
4689
// set values of attributes
4690
fillPlanParentAttributes(myTagProperties[currentTag]);
4691
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4692
}
4693
// from trainStop
4694
currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_EDGE;
4695
{
4696
// set values of tag
4697
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4698
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,
4699
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("edge")), parents, color);
4700
// set values of attributes
4701
fillPlanParentAttributes(myTagProperties[currentTag]);
4702
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4703
}
4704
currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_TAZ;
4705
{
4706
// set values of tag
4707
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4708
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TAZ,
4709
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("taz")), parents, color);
4710
// set values of attributes
4711
fillPlanParentAttributes(myTagProperties[currentTag]);
4712
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4713
}
4714
currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_JUNCTION;
4715
{
4716
// set values of tag
4717
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4718
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_JUNCTION,
4719
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("junction")), parents, color);
4720
// set values of attributes
4721
fillPlanParentAttributes(myTagProperties[currentTag]);
4722
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4723
}
4724
currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_BUSSTOP;
4725
{
4726
// set values of tag
4727
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4728
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,
4729
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("busStop")), parents, color);
4730
// set values of attributes
4731
fillPlanParentAttributes(myTagProperties[currentTag]);
4732
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4733
}
4734
currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_TRAINSTOP;
4735
{
4736
// set values of tag
4737
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4738
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,
4739
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("trainStop")), parents, color);
4740
// set values of attributes
4741
fillPlanParentAttributes(myTagProperties[currentTag]);
4742
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4743
}
4744
currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_CONTAINERSTOP;
4745
{
4746
// set values of tag
4747
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4748
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
4749
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("containerStop")), parents, color);
4750
// set values of attributes
4751
fillPlanParentAttributes(myTagProperties[currentTag]);
4752
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4753
}
4754
currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_CHARGINGSTATION;
4755
{
4756
// set values of tag
4757
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4758
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
4759
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("chargingStation")), parents, color);
4760
// set values of attributes
4761
fillPlanParentAttributes(myTagProperties[currentTag]);
4762
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4763
}
4764
currentTag = GNE_TAG_PERSONTRIP_TRAINSTOP_PARKINGAREA;
4765
{
4766
// set values of tag
4767
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4768
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,
4769
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("trainStop"), TL("parkingArea")), parents, color);
4770
// set values of attributes
4771
fillPlanParentAttributes(myTagProperties[currentTag]);
4772
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4773
}
4774
// from containerStop
4775
currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_EDGE;
4776
{
4777
// set values of tag
4778
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4779
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,
4780
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("edge")), parents, color);
4781
// set values of attributes
4782
fillPlanParentAttributes(myTagProperties[currentTag]);
4783
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4784
}
4785
currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_TAZ;
4786
{
4787
// set values of tag
4788
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4789
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TAZ,
4790
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("taz")), parents, color);
4791
// set values of attributes
4792
fillPlanParentAttributes(myTagProperties[currentTag]);
4793
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4794
}
4795
currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_JUNCTION;
4796
{
4797
// set values of tag
4798
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4799
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_JUNCTION,
4800
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("junction")), parents, color);
4801
// set values of attributes
4802
fillPlanParentAttributes(myTagProperties[currentTag]);
4803
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4804
}
4805
currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_BUSSTOP;
4806
{
4807
// set values of tag
4808
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4809
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,
4810
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("busStop")), parents, color);
4811
// set values of attributes
4812
fillPlanParentAttributes(myTagProperties[currentTag]);
4813
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4814
}
4815
currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_TRAINSTOP;
4816
{
4817
// set values of tag
4818
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4819
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,
4820
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("trainStop")), parents, color);
4821
// set values of attributes
4822
fillPlanParentAttributes(myTagProperties[currentTag]);
4823
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4824
}
4825
currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_CONTAINERSTOP;
4826
{
4827
// set values of tag
4828
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4829
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
4830
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("containerStop")), parents, color);
4831
// set values of attributes
4832
fillPlanParentAttributes(myTagProperties[currentTag]);
4833
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4834
}
4835
currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_CHARGINGSTATION;
4836
{
4837
// set values of tag
4838
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4839
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
4840
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("chargingStation")), parents, color);
4841
// set values of attributes
4842
fillPlanParentAttributes(myTagProperties[currentTag]);
4843
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4844
}
4845
currentTag = GNE_TAG_PERSONTRIP_CONTAINERSTOP_PARKINGAREA;
4846
{
4847
// set values of tag
4848
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4849
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,
4850
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("containerStop"), TL("parkingArea")), parents, color);
4851
// set values of attributes
4852
fillPlanParentAttributes(myTagProperties[currentTag]);
4853
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4854
}
4855
// from chargingStation
4856
currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_EDGE;
4857
{
4858
// set values of tag
4859
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4860
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,
4861
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("edge")), parents, color);
4862
// set values of attributes
4863
fillPlanParentAttributes(myTagProperties[currentTag]);
4864
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4865
}
4866
currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_TAZ;
4867
{
4868
// set values of tag
4869
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4870
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TAZ,
4871
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("taz")), parents, color);
4872
// set values of attributes
4873
fillPlanParentAttributes(myTagProperties[currentTag]);
4874
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4875
}
4876
currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_JUNCTION;
4877
{
4878
// set values of tag
4879
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4880
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_JUNCTION,
4881
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("junction")), parents, color);
4882
// set values of attributes
4883
fillPlanParentAttributes(myTagProperties[currentTag]);
4884
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4885
}
4886
currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_BUSSTOP;
4887
{
4888
// set values of tag
4889
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4890
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,
4891
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("busStop")), parents, color);
4892
// set values of attributes
4893
fillPlanParentAttributes(myTagProperties[currentTag]);
4894
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4895
}
4896
currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_TRAINSTOP;
4897
{
4898
// set values of tag
4899
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4900
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,
4901
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("trainStop")), parents, color);
4902
// set values of attributes
4903
fillPlanParentAttributes(myTagProperties[currentTag]);
4904
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4905
}
4906
currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_CONTAINERSTOP;
4907
{
4908
// set values of tag
4909
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4910
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,
4911
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("containerStop")), parents, color);
4912
// set values of attributes
4913
fillPlanParentAttributes(myTagProperties[currentTag]);
4914
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4915
}
4916
currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_CHARGINGSTATION;
4917
{
4918
// set values of tag
4919
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4920
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,
4921
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("chargingStation")), parents, color);
4922
// set values of attributes
4923
fillPlanParentAttributes(myTagProperties[currentTag]);
4924
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4925
}
4926
currentTag = GNE_TAG_PERSONTRIP_CHARGINGSTATION_PARKINGAREA;
4927
{
4928
// set values of tag
4929
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4930
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,
4931
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("chargingStation"), TL("parkingArea")), parents, color);
4932
// set values of attributes
4933
fillPlanParentAttributes(myTagProperties[currentTag]);
4934
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4935
}
4936
// from parkingArea
4937
currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_EDGE;
4938
{
4939
// set values of tag
4940
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4941
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,
4942
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("edge")), parents, color);
4943
// set values of attributes
4944
fillPlanParentAttributes(myTagProperties[currentTag]);
4945
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4946
}
4947
currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_TAZ;
4948
{
4949
// set values of tag
4950
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagPropertyTAZ,
4951
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TAZ,
4952
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("taz")), parents, color);
4953
// set values of attributes
4954
fillPlanParentAttributes(myTagProperties[currentTag]);
4955
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4956
}
4957
currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_JUNCTION;
4958
{
4959
// set values of tag
4960
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4961
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_JUNCTION,
4962
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("junction")), parents, color);
4963
// set values of attributes
4964
fillPlanParentAttributes(myTagProperties[currentTag]);
4965
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4966
}
4967
currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_BUSSTOP;
4968
{
4969
// set values of tag
4970
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4971
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,
4972
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("busStop")), parents, color);
4973
// set values of attributes
4974
fillPlanParentAttributes(myTagProperties[currentTag]);
4975
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4976
}
4977
currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_TRAINSTOP;
4978
{
4979
// set values of tag
4980
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4981
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,
4982
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("trainStop")), parents, color);
4983
// set values of attributes
4984
fillPlanParentAttributes(myTagProperties[currentTag]);
4985
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4986
}
4987
currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_CONTAINERSTOP;
4988
{
4989
// set values of tag
4990
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
4991
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,
4992
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("containerStop")), parents, color);
4993
// set values of attributes
4994
fillPlanParentAttributes(myTagProperties[currentTag]);
4995
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
4996
}
4997
currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_CHARGINGSTATION;
4998
{
4999
// set values of tag
5000
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
5001
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,
5002
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("chargingStation")), parents, color);
5003
// set values of attributes
5004
fillPlanParentAttributes(myTagProperties[currentTag]);
5005
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
5006
}
5007
currentTag = GNE_TAG_PERSONTRIP_PARKINGAREA_PARKINGAREA;
5008
{
5009
// set values of tag
5010
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONTRIPS), tagType, tagProperty,
5011
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,
5012
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("PersonTrip"), TL("parkingArea"), TL("parkingArea")), parents, color);
5013
// set values of attributes
5014
fillPlanParentAttributes(myTagProperties[currentTag]);
5015
fillPersonTripCommonAttributes(myTagProperties[currentTag]);
5016
}
5017
}
5018
5019
5020
void
5021
GNETagPropertiesDatabase::fillPersonPlanWalks() {
5022
// declare common tag types and properties
5023
const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::WALK;
5024
const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;
5025
const auto tagPropertyTAZ = GNETagProperties::Property::RTREE | tagProperty;
5026
const auto files = FileBucket::Type::NOTHING;
5027
const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
5028
const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});
5029
const unsigned int color = FXRGBA(240, 255, 205, 255);
5030
const GUIIcon icon = GUIIcon::WALK_EDGES;
5031
const GUIGlObjectType GLType = GUIGlObjectType::GLO_WALK;
5032
const SumoXMLTag xmlTag = SUMO_TAG_WALK;
5033
// fill tags
5034
SumoXMLTag currentTag = GNE_TAG_WALK_EDGES;
5035
{
5036
// set values of tag
5037
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5038
GNETagProperties::Over::CONSECUTIVE_EDGES,
5039
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Walk"), TL("edges")), parents, color);
5040
// set values of attributes
5041
fillPlanParentAttributes(myTagProperties[currentTag]);
5042
fillWalkCommonAttributes(myTagProperties[currentTag]);
5043
}
5044
currentTag = GNE_TAG_WALK_ROUTE;
5045
{
5046
// set values of tag
5047
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5048
GNETagProperties::Over::ROUTE,
5049
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("Walk"), TL("route")), parents, color);
5050
// set values of attributes
5051
fillPlanParentAttributes(myTagProperties[currentTag]);
5052
fillWalkCommonAttributes(myTagProperties[currentTag]);
5053
}
5054
// from edge
5055
currentTag = GNE_TAG_WALK_EDGE_EDGE;
5056
{
5057
// set values of tag
5058
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5059
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,
5060
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("edge")), parents, color);
5061
// set values of attributes
5062
fillPlanParentAttributes(myTagProperties[currentTag]);
5063
fillWalkCommonAttributes(myTagProperties[currentTag]);
5064
}
5065
currentTag = GNE_TAG_WALK_EDGE_TAZ;
5066
{
5067
// set values of tag
5068
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5069
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TAZ,
5070
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("taz")), parents, color);
5071
// set values of attributes
5072
fillPlanParentAttributes(myTagProperties[currentTag]);
5073
fillWalkCommonAttributes(myTagProperties[currentTag]);
5074
}
5075
currentTag = GNE_TAG_WALK_EDGE_JUNCTION;
5076
{
5077
// set values of tag
5078
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5079
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_JUNCTION,
5080
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("junction")), parents, color);
5081
// set values of attributes
5082
fillPlanParentAttributes(myTagProperties[currentTag]);
5083
fillWalkCommonAttributes(myTagProperties[currentTag]);
5084
}
5085
currentTag = GNE_TAG_WALK_EDGE_BUSSTOP;
5086
{
5087
// set values of tag
5088
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5089
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,
5090
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("busStop")), parents, color);
5091
// set values of attributes
5092
fillPlanParentAttributes(myTagProperties[currentTag]);
5093
fillWalkCommonAttributes(myTagProperties[currentTag]);
5094
}
5095
currentTag = GNE_TAG_WALK_EDGE_TRAINSTOP;
5096
{
5097
// set values of tag
5098
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5099
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,
5100
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("trainStop")), parents, color);
5101
// set values of attributes
5102
fillPlanParentAttributes(myTagProperties[currentTag]);
5103
fillWalkCommonAttributes(myTagProperties[currentTag]);
5104
}
5105
currentTag = GNE_TAG_WALK_EDGE_CONTAINERSTOP;
5106
{
5107
// set values of tag
5108
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5109
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,
5110
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("containerStop")), parents, color);
5111
// set values of attributes
5112
fillPlanParentAttributes(myTagProperties[currentTag]);
5113
fillWalkCommonAttributes(myTagProperties[currentTag]);
5114
}
5115
currentTag = GNE_TAG_WALK_EDGE_CHARGINGSTATION;
5116
{
5117
// set values of tag
5118
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5119
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,
5120
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("chargingStation")), parents, color);
5121
// set values of attributes
5122
fillPlanParentAttributes(myTagProperties[currentTag]);
5123
fillWalkCommonAttributes(myTagProperties[currentTag]);
5124
}
5125
currentTag = GNE_TAG_WALK_EDGE_PARKINGAREA;
5126
{
5127
// set values of tag
5128
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5129
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,
5130
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("edge"), TL("parkingArea")), parents, color);
5131
// set values of attributes
5132
fillPlanParentAttributes(myTagProperties[currentTag]);
5133
fillWalkCommonAttributes(myTagProperties[currentTag]);
5134
}
5135
// from taz
5136
currentTag = GNE_TAG_WALK_TAZ_EDGE;
5137
{
5138
// set values of tag
5139
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5140
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_EDGE,
5141
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("taz")), parents, color);
5142
// set values of attributes
5143
fillPlanParentAttributes(myTagProperties[currentTag]);
5144
fillWalkCommonAttributes(myTagProperties[currentTag]);
5145
}
5146
currentTag = GNE_TAG_WALK_TAZ_TAZ;
5147
{
5148
// set values of tag
5149
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5150
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,
5151
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("taz")), parents, color);
5152
// set values of attributes
5153
fillPlanParentAttributes(myTagProperties[currentTag]);
5154
fillWalkCommonAttributes(myTagProperties[currentTag]);
5155
}
5156
currentTag = GNE_TAG_WALK_TAZ_JUNCTION;
5157
{
5158
// set values of tag
5159
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5160
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_JUNCTION,
5161
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("junction")), parents, color);
5162
// set values of attributes
5163
fillPlanParentAttributes(myTagProperties[currentTag]);
5164
fillWalkCommonAttributes(myTagProperties[currentTag]);
5165
}
5166
currentTag = GNE_TAG_WALK_TAZ_BUSSTOP;
5167
{
5168
// set values of tag
5169
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5170
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_BUSSTOP,
5171
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("busStop")), parents, color);
5172
// set values of attributes
5173
fillPlanParentAttributes(myTagProperties[currentTag]);
5174
fillWalkCommonAttributes(myTagProperties[currentTag]);
5175
}
5176
currentTag = GNE_TAG_WALK_TAZ_TRAINSTOP;
5177
{
5178
// set values of tag
5179
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5180
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TRAINSTOP,
5181
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("trainStop")), parents, color);
5182
// set values of attributes
5183
fillPlanParentAttributes(myTagProperties[currentTag]);
5184
fillWalkCommonAttributes(myTagProperties[currentTag]);
5185
}
5186
currentTag = GNE_TAG_WALK_TAZ_CONTAINERSTOP;
5187
{
5188
// set values of tag
5189
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5190
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CONTAINERSTOP,
5191
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("containerStop")), parents, color);
5192
// set values of attributes
5193
fillPlanParentAttributes(myTagProperties[currentTag]);
5194
fillWalkCommonAttributes(myTagProperties[currentTag]);
5195
}
5196
currentTag = GNE_TAG_WALK_TAZ_CHARGINGSTATION;
5197
{
5198
// set values of tag
5199
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5200
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_CHARGINGSTATION,
5201
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("chargingStation")), parents, color);
5202
// set values of attributes
5203
fillPlanParentAttributes(myTagProperties[currentTag]);
5204
fillWalkCommonAttributes(myTagProperties[currentTag]);
5205
}
5206
currentTag = GNE_TAG_WALK_TAZ_PARKINGAREA;
5207
{
5208
// set values of tag
5209
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5210
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_PARKINGAREA,
5211
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("taz"), TL("parkingArea")), parents, color);
5212
// set values of attributes
5213
fillPlanParentAttributes(myTagProperties[currentTag]);
5214
fillWalkCommonAttributes(myTagProperties[currentTag]);
5215
}
5216
// from junction
5217
currentTag = GNE_TAG_WALK_JUNCTION_EDGE;
5218
{
5219
// set values of tag
5220
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5221
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_EDGE,
5222
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("edge")), parents, color);
5223
// set values of attributes
5224
fillPlanParentAttributes(myTagProperties[currentTag]);
5225
fillWalkCommonAttributes(myTagProperties[currentTag]);
5226
}
5227
currentTag = GNE_TAG_WALK_JUNCTION_TAZ;
5228
{
5229
// set values of tag
5230
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5231
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TAZ,
5232
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("taz")), parents, color);
5233
// set values of attributes
5234
fillPlanParentAttributes(myTagProperties[currentTag]);
5235
fillWalkCommonAttributes(myTagProperties[currentTag]);
5236
}
5237
currentTag = GNE_TAG_WALK_JUNCTION_JUNCTION;
5238
{
5239
// set values of tag
5240
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5241
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_JUNCTION,
5242
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("junction")), parents, color);
5243
// set values of attributes
5244
fillPlanParentAttributes(myTagProperties[currentTag]);
5245
fillWalkCommonAttributes(myTagProperties[currentTag]);
5246
}
5247
currentTag = GNE_TAG_WALK_JUNCTION_BUSSTOP;
5248
{
5249
// set values of tag
5250
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5251
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_BUSSTOP,
5252
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("busStop")), parents, color);
5253
// set values of attributes
5254
fillPlanParentAttributes(myTagProperties[currentTag]);
5255
fillWalkCommonAttributes(myTagProperties[currentTag]);
5256
}
5257
currentTag = GNE_TAG_WALK_JUNCTION_TRAINSTOP;
5258
{
5259
// set values of tag
5260
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5261
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_TRAINSTOP,
5262
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("trainStop")), parents, color);
5263
// set values of attributes
5264
fillPlanParentAttributes(myTagProperties[currentTag]);
5265
fillWalkCommonAttributes(myTagProperties[currentTag]);
5266
}
5267
currentTag = GNE_TAG_WALK_JUNCTION_CONTAINERSTOP;
5268
{
5269
// set values of tag
5270
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5271
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CONTAINERSTOP,
5272
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("containerStop")), parents, color);
5273
// set values of attributes
5274
fillPlanParentAttributes(myTagProperties[currentTag]);
5275
fillWalkCommonAttributes(myTagProperties[currentTag]);
5276
}
5277
currentTag = GNE_TAG_WALK_JUNCTION_CHARGINGSTATION;
5278
{
5279
// set values of tag
5280
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5281
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_CHARGINGSTATION,
5282
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("chargingStation")), parents, color);
5283
// set values of attributes
5284
fillPlanParentAttributes(myTagProperties[currentTag]);
5285
fillWalkCommonAttributes(myTagProperties[currentTag]);
5286
}
5287
currentTag = GNE_TAG_WALK_JUNCTION_PARKINGAREA;
5288
{
5289
// set values of tag
5290
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5291
GNETagProperties::Over::FROM_JUNCTION | GNETagProperties::Over::TO_PARKINGAREA,
5292
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("junction"), TL("parkingArea")), parents, color);
5293
// set values of attributes
5294
fillPlanParentAttributes(myTagProperties[currentTag]);
5295
fillWalkCommonAttributes(myTagProperties[currentTag]);
5296
}
5297
// from busStop
5298
currentTag = GNE_TAG_WALK_BUSSTOP_EDGE;
5299
{
5300
// set values of tag
5301
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5302
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,
5303
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("edge")), parents, color);
5304
// set values of attributes
5305
fillPlanParentAttributes(myTagProperties[currentTag]);
5306
fillWalkCommonAttributes(myTagProperties[currentTag]);
5307
}
5308
currentTag = GNE_TAG_WALK_BUSSTOP_TAZ;
5309
{
5310
// set values of tag
5311
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5312
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TAZ,
5313
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("taz")), parents, color);
5314
// set values of attributes
5315
fillPlanParentAttributes(myTagProperties[currentTag]);
5316
fillWalkCommonAttributes(myTagProperties[currentTag]);
5317
}
5318
currentTag = GNE_TAG_WALK_BUSSTOP_JUNCTION;
5319
{
5320
// set values of tag
5321
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5322
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_JUNCTION,
5323
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("junction")), parents, color);
5324
// set values of attributes
5325
fillPlanParentAttributes(myTagProperties[currentTag]);
5326
fillWalkCommonAttributes(myTagProperties[currentTag]);
5327
}
5328
currentTag = GNE_TAG_WALK_BUSSTOP_BUSSTOP;
5329
{
5330
// set values of tag
5331
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5332
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,
5333
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("busStop")), parents, color);
5334
// set values of attributes
5335
fillPlanParentAttributes(myTagProperties[currentTag]);
5336
fillWalkCommonAttributes(myTagProperties[currentTag]);
5337
}
5338
currentTag = GNE_TAG_WALK_BUSSTOP_TRAINSTOP;
5339
{
5340
// set values of tag
5341
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5342
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,
5343
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("trainStop")), parents, color);
5344
// set values of attributes
5345
fillPlanParentAttributes(myTagProperties[currentTag]);
5346
fillWalkCommonAttributes(myTagProperties[currentTag]);
5347
}
5348
currentTag = GNE_TAG_WALK_BUSSTOP_CONTAINERSTOP;
5349
{
5350
// set values of tag
5351
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5352
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
5353
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("containerStop")), parents, color);
5354
// set values of attributes
5355
fillPlanParentAttributes(myTagProperties[currentTag]);
5356
fillWalkCommonAttributes(myTagProperties[currentTag]);
5357
}
5358
currentTag = GNE_TAG_WALK_BUSSTOP_CHARGINGSTATION;
5359
{
5360
// set values of tag
5361
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5362
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
5363
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("chargingStation")), parents, color);
5364
// set values of attributes
5365
fillPlanParentAttributes(myTagProperties[currentTag]);
5366
fillWalkCommonAttributes(myTagProperties[currentTag]);
5367
}
5368
currentTag = GNE_TAG_WALK_BUSSTOP_PARKINGAREA;
5369
{
5370
// set values of tag
5371
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5372
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,
5373
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("busStop"), TL("parkingArea")), parents, color);
5374
// set values of attributes
5375
fillPlanParentAttributes(myTagProperties[currentTag]);
5376
fillWalkCommonAttributes(myTagProperties[currentTag]);
5377
}
5378
// from trainStop
5379
currentTag = GNE_TAG_WALK_TRAINSTOP_EDGE;
5380
{
5381
// set values of tag
5382
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5383
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,
5384
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("edge")), parents, color);
5385
// set values of attributes
5386
fillPlanParentAttributes(myTagProperties[currentTag]);
5387
fillWalkCommonAttributes(myTagProperties[currentTag]);
5388
}
5389
currentTag = GNE_TAG_WALK_TRAINSTOP_TAZ;
5390
{
5391
// set values of tag
5392
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5393
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TAZ,
5394
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("taz")), parents, color);
5395
// set values of attributes
5396
fillPlanParentAttributes(myTagProperties[currentTag]);
5397
fillWalkCommonAttributes(myTagProperties[currentTag]);
5398
}
5399
currentTag = GNE_TAG_WALK_TRAINSTOP_JUNCTION;
5400
{
5401
// set values of tag
5402
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5403
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_JUNCTION,
5404
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("junction")), parents, color);
5405
// set values of attributes
5406
fillPlanParentAttributes(myTagProperties[currentTag]);
5407
fillWalkCommonAttributes(myTagProperties[currentTag]);
5408
}
5409
currentTag = GNE_TAG_WALK_TRAINSTOP_BUSSTOP;
5410
{
5411
// set values of tag
5412
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5413
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,
5414
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("busStop")), parents, color);
5415
// set values of attributes
5416
fillPlanParentAttributes(myTagProperties[currentTag]);
5417
fillWalkCommonAttributes(myTagProperties[currentTag]);
5418
}
5419
currentTag = GNE_TAG_WALK_TRAINSTOP_TRAINSTOP;
5420
{
5421
// set values of tag
5422
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5423
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,
5424
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("trainStop")), parents, color);
5425
// set values of attributes
5426
fillPlanParentAttributes(myTagProperties[currentTag]);
5427
fillWalkCommonAttributes(myTagProperties[currentTag]);
5428
}
5429
currentTag = GNE_TAG_WALK_TRAINSTOP_CONTAINERSTOP;
5430
{
5431
// set values of tag
5432
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5433
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
5434
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("containerStop")), parents, color);
5435
// set values of attributes
5436
fillPlanParentAttributes(myTagProperties[currentTag]);
5437
fillWalkCommonAttributes(myTagProperties[currentTag]);
5438
}
5439
currentTag = GNE_TAG_WALK_TRAINSTOP_CHARGINGSTATION;
5440
{
5441
// set values of tag
5442
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5443
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
5444
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("chargingStation")), parents, color);
5445
// set values of attributes
5446
fillPlanParentAttributes(myTagProperties[currentTag]);
5447
fillWalkCommonAttributes(myTagProperties[currentTag]);
5448
}
5449
currentTag = GNE_TAG_WALK_TRAINSTOP_PARKINGAREA;
5450
{
5451
// set values of tag
5452
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5453
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,
5454
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("trainStop"), TL("parkingArea")), parents, color);
5455
// set values of attributes
5456
fillPlanParentAttributes(myTagProperties[currentTag]);
5457
fillWalkCommonAttributes(myTagProperties[currentTag]);
5458
}
5459
// from containerStop
5460
currentTag = GNE_TAG_WALK_CONTAINERSTOP_EDGE;
5461
{
5462
// set values of tag
5463
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5464
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,
5465
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("edge")), parents, color);
5466
// set values of attributes
5467
fillPlanParentAttributes(myTagProperties[currentTag]);
5468
fillWalkCommonAttributes(myTagProperties[currentTag]);
5469
}
5470
currentTag = GNE_TAG_WALK_CONTAINERSTOP_TAZ;
5471
{
5472
// set values of tag
5473
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5474
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TAZ,
5475
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("taz")), parents, color);
5476
// set values of attributes
5477
fillPlanParentAttributes(myTagProperties[currentTag]);
5478
fillWalkCommonAttributes(myTagProperties[currentTag]);
5479
}
5480
currentTag = GNE_TAG_WALK_CONTAINERSTOP_JUNCTION;
5481
{
5482
// set values of tag
5483
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5484
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_JUNCTION,
5485
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("junction")), parents, color);
5486
// set values of attributes
5487
fillPlanParentAttributes(myTagProperties[currentTag]);
5488
fillWalkCommonAttributes(myTagProperties[currentTag]);
5489
}
5490
currentTag = GNE_TAG_WALK_CONTAINERSTOP_BUSSTOP;
5491
{
5492
// set values of tag
5493
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5494
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,
5495
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("busStop")), parents, color);
5496
// set values of attributes
5497
fillPlanParentAttributes(myTagProperties[currentTag]);
5498
fillWalkCommonAttributes(myTagProperties[currentTag]);
5499
}
5500
currentTag = GNE_TAG_WALK_CONTAINERSTOP_TRAINSTOP;
5501
{
5502
// set values of tag
5503
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5504
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,
5505
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("trainStop")), parents, color);
5506
// set values of attributes
5507
fillPlanParentAttributes(myTagProperties[currentTag]);
5508
fillWalkCommonAttributes(myTagProperties[currentTag]);
5509
}
5510
currentTag = GNE_TAG_WALK_CONTAINERSTOP_CONTAINERSTOP;
5511
{
5512
// set values of tag
5513
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5514
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
5515
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("containerStop")), parents, color);
5516
// set values of attributes
5517
fillPlanParentAttributes(myTagProperties[currentTag]);
5518
fillWalkCommonAttributes(myTagProperties[currentTag]);
5519
}
5520
currentTag = GNE_TAG_WALK_CONTAINERSTOP_CHARGINGSTATION;
5521
{
5522
// set values of tag
5523
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5524
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
5525
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("chargingStation")), parents, color);
5526
// set values of attributes
5527
fillPlanParentAttributes(myTagProperties[currentTag]);
5528
fillWalkCommonAttributes(myTagProperties[currentTag]);
5529
}
5530
currentTag = GNE_TAG_WALK_CONTAINERSTOP_PARKINGAREA;
5531
{
5532
// set values of tag
5533
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5534
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,
5535
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("containerStop"), TL("parkingArea")), parents, color);
5536
// set values of attributes
5537
fillPlanParentAttributes(myTagProperties[currentTag]);
5538
fillWalkCommonAttributes(myTagProperties[currentTag]);
5539
}
5540
// from chargingStation
5541
currentTag = GNE_TAG_WALK_CHARGINGSTATION_EDGE;
5542
{
5543
// set values of tag
5544
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5545
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,
5546
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("edge")), parents, color);
5547
// set values of attributes
5548
fillPlanParentAttributes(myTagProperties[currentTag]);
5549
fillWalkCommonAttributes(myTagProperties[currentTag]);
5550
}
5551
currentTag = GNE_TAG_WALK_CHARGINGSTATION_TAZ;
5552
{
5553
// set values of tag
5554
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5555
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TAZ,
5556
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("taz")), parents, color);
5557
// set values of attributes
5558
fillPlanParentAttributes(myTagProperties[currentTag]);
5559
fillWalkCommonAttributes(myTagProperties[currentTag]);
5560
}
5561
currentTag = GNE_TAG_WALK_CHARGINGSTATION_JUNCTION;
5562
{
5563
// set values of tag
5564
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5565
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_JUNCTION,
5566
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("junction")), parents, color);
5567
// set values of attributes
5568
fillPlanParentAttributes(myTagProperties[currentTag]);
5569
fillWalkCommonAttributes(myTagProperties[currentTag]);
5570
}
5571
currentTag = GNE_TAG_WALK_CHARGINGSTATION_BUSSTOP;
5572
{
5573
// set values of tag
5574
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5575
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,
5576
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("busStop")), parents, color);
5577
// set values of attributes
5578
fillPlanParentAttributes(myTagProperties[currentTag]);
5579
fillWalkCommonAttributes(myTagProperties[currentTag]);
5580
}
5581
currentTag = GNE_TAG_WALK_CHARGINGSTATION_TRAINSTOP;
5582
{
5583
// set values of tag
5584
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5585
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,
5586
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("trainStop")), parents, color);
5587
// set values of attributes
5588
fillPlanParentAttributes(myTagProperties[currentTag]);
5589
fillWalkCommonAttributes(myTagProperties[currentTag]);
5590
}
5591
currentTag = GNE_TAG_WALK_CHARGINGSTATION_CONTAINERSTOP;
5592
{
5593
// set values of tag
5594
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5595
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,
5596
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("containerStop")), parents, color);
5597
// set values of attributes
5598
fillPlanParentAttributes(myTagProperties[currentTag]);
5599
fillWalkCommonAttributes(myTagProperties[currentTag]);
5600
}
5601
currentTag = GNE_TAG_WALK_CHARGINGSTATION_CHARGINGSTATION;
5602
{
5603
// set values of tag
5604
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5605
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,
5606
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("chargingStation")), parents, color);
5607
// set values of attributes
5608
fillPlanParentAttributes(myTagProperties[currentTag]);
5609
fillWalkCommonAttributes(myTagProperties[currentTag]);
5610
}
5611
currentTag = GNE_TAG_WALK_CHARGINGSTATION_PARKINGAREA;
5612
{
5613
// set values of tag
5614
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5615
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,
5616
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("chargingStation"), TL("parkingArea")), parents, color);
5617
// set values of attributes
5618
fillPlanParentAttributes(myTagProperties[currentTag]);
5619
fillWalkCommonAttributes(myTagProperties[currentTag]);
5620
}
5621
// from parkingArea
5622
currentTag = GNE_TAG_WALK_PARKINGAREA_EDGE;
5623
{
5624
// set values of tag
5625
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5626
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,
5627
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("edge")), parents, color);
5628
// set values of attributes
5629
fillPlanParentAttributes(myTagProperties[currentTag]);
5630
fillWalkCommonAttributes(myTagProperties[currentTag]);
5631
}
5632
currentTag = GNE_TAG_WALK_PARKINGAREA_TAZ;
5633
{
5634
// set values of tag
5635
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagPropertyTAZ,
5636
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TAZ,
5637
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("taz")), parents, color);
5638
// set values of attributes
5639
fillPlanParentAttributes(myTagProperties[currentTag]);
5640
fillWalkCommonAttributes(myTagProperties[currentTag]);
5641
}
5642
currentTag = GNE_TAG_WALK_PARKINGAREA_JUNCTION;
5643
{
5644
// set values of tag
5645
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5646
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_JUNCTION,
5647
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("junction")), parents, color);
5648
// set values of attributes
5649
fillPlanParentAttributes(myTagProperties[currentTag]);
5650
fillWalkCommonAttributes(myTagProperties[currentTag]);
5651
}
5652
currentTag = GNE_TAG_WALK_PARKINGAREA_BUSSTOP;
5653
{
5654
// set values of tag
5655
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5656
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,
5657
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("busStop")), parents, color);
5658
// set values of attributes
5659
fillPlanParentAttributes(myTagProperties[currentTag]);
5660
fillWalkCommonAttributes(myTagProperties[currentTag]);
5661
}
5662
currentTag = GNE_TAG_WALK_PARKINGAREA_TRAINSTOP;
5663
{
5664
// set values of tag
5665
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5666
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,
5667
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("trainStop")), parents, color);
5668
// set values of attributes
5669
fillPlanParentAttributes(myTagProperties[currentTag]);
5670
fillWalkCommonAttributes(myTagProperties[currentTag]);
5671
}
5672
currentTag = GNE_TAG_WALK_PARKINGAREA_CONTAINERSTOP;
5673
{
5674
// set values of tag
5675
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5676
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,
5677
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("containerStop")), parents, color);
5678
// set values of attributes
5679
fillPlanParentAttributes(myTagProperties[currentTag]);
5680
fillWalkCommonAttributes(myTagProperties[currentTag]);
5681
}
5682
currentTag = GNE_TAG_WALK_PARKINGAREA_CHARGINGSTATION;
5683
{
5684
// set values of tag
5685
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5686
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,
5687
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("chargingStation")), parents, color);
5688
// set values of attributes
5689
fillPlanParentAttributes(myTagProperties[currentTag]);
5690
fillWalkCommonAttributes(myTagProperties[currentTag]);
5691
}
5692
currentTag = GNE_TAG_WALK_PARKINGAREA_PARKINGAREA;
5693
{
5694
// set values of tag
5695
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_WALKS), tagType, tagProperty,
5696
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,
5697
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Walk"), TL("parkingArea"), TL("parkingArea")), parents, color);
5698
// set values of attributes
5699
fillPlanParentAttributes(myTagProperties[currentTag]);
5700
fillWalkCommonAttributes(myTagProperties[currentTag]);
5701
}
5702
}
5703
5704
5705
void
5706
GNETagPropertiesDatabase::fillPersonPlanRides() {
5707
// declare common tag types and properties
5708
const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::RIDE;
5709
const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;
5710
const auto files = FileBucket::Type::NOTHING;
5711
const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
5712
const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});
5713
const unsigned int color = FXRGBA(253, 255, 206, 255);
5714
const GUIIcon icon = GUIIcon::RIDE_EDGE;
5715
const GUIGlObjectType GLType = GUIGlObjectType::GLO_RIDE;
5716
const SumoXMLTag xmlTag = SUMO_TAG_RIDE;
5717
// from edge
5718
SumoXMLTag currentTag = GNE_TAG_RIDE_EDGE_EDGE;
5719
{
5720
// set values of tag
5721
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5722
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,
5723
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("edge")), parents, color);
5724
// set values of attributes
5725
fillPlanParentAttributes(myTagProperties[currentTag]);
5726
fillRideCommonAttributes(myTagProperties[currentTag]);
5727
}
5728
currentTag = GNE_TAG_RIDE_EDGE_BUSSTOP;
5729
{
5730
// set values of tag
5731
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5732
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_BUSSTOP,
5733
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("busStop")), parents, color);
5734
// set values of attributes
5735
fillPlanParentAttributes(myTagProperties[currentTag]);
5736
fillRideCommonAttributes(myTagProperties[currentTag]);
5737
}
5738
currentTag = GNE_TAG_RIDE_EDGE_TRAINSTOP;
5739
{
5740
// set values of tag
5741
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5742
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_TRAINSTOP,
5743
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("trainStop")), parents, color);
5744
// set values of attributes
5745
fillPlanParentAttributes(myTagProperties[currentTag]);
5746
fillRideCommonAttributes(myTagProperties[currentTag]);
5747
}
5748
currentTag = GNE_TAG_RIDE_EDGE_CONTAINERSTOP;
5749
{
5750
// set values of tag
5751
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5752
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CONTAINERSTOP,
5753
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("containerStop")), parents, color);
5754
// set values of attributes
5755
fillPlanParentAttributes(myTagProperties[currentTag]);
5756
fillRideCommonAttributes(myTagProperties[currentTag]);
5757
}
5758
currentTag = GNE_TAG_RIDE_EDGE_CHARGINGSTATION;
5759
{
5760
// set values of tag
5761
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5762
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_CHARGINGSTATION,
5763
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("chargingStation")), parents, color);
5764
// set values of attributes
5765
fillPlanParentAttributes(myTagProperties[currentTag]);
5766
fillRideCommonAttributes(myTagProperties[currentTag]);
5767
}
5768
currentTag = GNE_TAG_RIDE_EDGE_PARKINGAREA;
5769
{
5770
// set values of tag
5771
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5772
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_PARKINGAREA,
5773
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("edge"), TL("parkingArea")), parents, color);
5774
// set values of attributes
5775
fillPlanParentAttributes(myTagProperties[currentTag]);
5776
fillRideCommonAttributes(myTagProperties[currentTag]);
5777
}
5778
// from busStop
5779
currentTag = GNE_TAG_RIDE_BUSSTOP_EDGE;
5780
{
5781
// set values of tag
5782
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5783
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_EDGE,
5784
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("edge")), parents, color);
5785
// set values of attributes
5786
fillPlanParentAttributes(myTagProperties[currentTag]);
5787
fillRideCommonAttributes(myTagProperties[currentTag]);
5788
}
5789
currentTag = GNE_TAG_RIDE_BUSSTOP_BUSSTOP;
5790
{
5791
// set values of tag
5792
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5793
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_BUSSTOP,
5794
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("busStop")), parents, color);
5795
// set values of attributes
5796
fillPlanParentAttributes(myTagProperties[currentTag]);
5797
fillRideCommonAttributes(myTagProperties[currentTag]);
5798
}
5799
currentTag = GNE_TAG_RIDE_BUSSTOP_TRAINSTOP;
5800
{
5801
// set values of tag
5802
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5803
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_TRAINSTOP,
5804
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("trainStop")), parents, color);
5805
// set values of attributes
5806
fillPlanParentAttributes(myTagProperties[currentTag]);
5807
fillRideCommonAttributes(myTagProperties[currentTag]);
5808
}
5809
currentTag = GNE_TAG_RIDE_BUSSTOP_CONTAINERSTOP;
5810
{
5811
// set values of tag
5812
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5813
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
5814
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("containerStop")), parents, color);
5815
// set values of attributes
5816
fillPlanParentAttributes(myTagProperties[currentTag]);
5817
fillRideCommonAttributes(myTagProperties[currentTag]);
5818
}
5819
currentTag = GNE_TAG_RIDE_BUSSTOP_CHARGINGSTATION;
5820
{
5821
// set values of tag
5822
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5823
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
5824
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("chargingStation")), parents, color);
5825
// set values of attributes
5826
fillPlanParentAttributes(myTagProperties[currentTag]);
5827
fillRideCommonAttributes(myTagProperties[currentTag]);
5828
}
5829
currentTag = GNE_TAG_RIDE_BUSSTOP_PARKINGAREA;
5830
{
5831
// set values of tag
5832
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5833
GNETagProperties::Over::FROM_BUSSTOP | GNETagProperties::Over::TO_PARKINGAREA,
5834
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("busStop"), TL("parkingArea")), parents, color);
5835
// set values of attributes
5836
fillPlanParentAttributes(myTagProperties[currentTag]);
5837
fillRideCommonAttributes(myTagProperties[currentTag]);
5838
}
5839
// from trainStop
5840
currentTag = GNE_TAG_RIDE_TRAINSTOP_EDGE;
5841
{
5842
// set values of tag
5843
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5844
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_EDGE,
5845
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("edge")), parents, color);
5846
// set values of attributes
5847
fillPlanParentAttributes(myTagProperties[currentTag]);
5848
fillRideCommonAttributes(myTagProperties[currentTag]);
5849
}
5850
currentTag = GNE_TAG_RIDE_TRAINSTOP_BUSSTOP;
5851
{
5852
// set values of tag
5853
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5854
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_BUSSTOP,
5855
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("busStop")), parents, color);
5856
// set values of attributes
5857
fillPlanParentAttributes(myTagProperties[currentTag]);
5858
fillRideCommonAttributes(myTagProperties[currentTag]);
5859
}
5860
currentTag = GNE_TAG_RIDE_TRAINSTOP_TRAINSTOP;
5861
{
5862
// set values of tag
5863
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5864
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_TRAINSTOP,
5865
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("trainStop")), parents, color);
5866
// set values of attributes
5867
fillPlanParentAttributes(myTagProperties[currentTag]);
5868
fillRideCommonAttributes(myTagProperties[currentTag]);
5869
}
5870
currentTag = GNE_TAG_RIDE_TRAINSTOP_CONTAINERSTOP;
5871
{
5872
// set values of tag
5873
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5874
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
5875
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("containerStop")), parents, color);
5876
// set values of attributes
5877
fillPlanParentAttributes(myTagProperties[currentTag]);
5878
fillRideCommonAttributes(myTagProperties[currentTag]);
5879
}
5880
currentTag = GNE_TAG_RIDE_TRAINSTOP_CHARGINGSTATION;
5881
{
5882
// set values of tag
5883
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5884
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
5885
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("chargingStation")), parents, color);
5886
// set values of attributes
5887
fillPlanParentAttributes(myTagProperties[currentTag]);
5888
fillRideCommonAttributes(myTagProperties[currentTag]);
5889
}
5890
currentTag = GNE_TAG_RIDE_TRAINSTOP_PARKINGAREA;
5891
{
5892
// set values of tag
5893
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5894
GNETagProperties::Over::FROM_TRAINSTOP | GNETagProperties::Over::TO_PARKINGAREA,
5895
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("trainStop"), TL("parkingArea")), parents, color);
5896
// set values of attributes
5897
fillPlanParentAttributes(myTagProperties[currentTag]);
5898
fillRideCommonAttributes(myTagProperties[currentTag]);
5899
}
5900
// from containerStop
5901
currentTag = GNE_TAG_RIDE_CONTAINERSTOP_EDGE;
5902
{
5903
// set values of tag
5904
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5905
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_EDGE,
5906
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("edge")), parents, color);
5907
// set values of attributes
5908
fillPlanParentAttributes(myTagProperties[currentTag]);
5909
fillRideCommonAttributes(myTagProperties[currentTag]);
5910
}
5911
currentTag = GNE_TAG_RIDE_CONTAINERSTOP_BUSSTOP;
5912
{
5913
// set values of tag
5914
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5915
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_BUSSTOP,
5916
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("busStop")), parents, color);
5917
// set values of attributes
5918
fillPlanParentAttributes(myTagProperties[currentTag]);
5919
fillRideCommonAttributes(myTagProperties[currentTag]);
5920
}
5921
currentTag = GNE_TAG_RIDE_CONTAINERSTOP_TRAINSTOP;
5922
{
5923
// set values of tag
5924
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5925
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_TRAINSTOP,
5926
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("trainStop")), parents, color);
5927
// set values of attributes
5928
fillPlanParentAttributes(myTagProperties[currentTag]);
5929
fillRideCommonAttributes(myTagProperties[currentTag]);
5930
}
5931
currentTag = GNE_TAG_RIDE_CONTAINERSTOP_CONTAINERSTOP;
5932
{
5933
// set values of tag
5934
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5935
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CONTAINERSTOP,
5936
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("containerStop")), parents, color);
5937
// set values of attributes
5938
fillPlanParentAttributes(myTagProperties[currentTag]);
5939
fillRideCommonAttributes(myTagProperties[currentTag]);
5940
}
5941
currentTag = GNE_TAG_RIDE_CONTAINERSTOP_CHARGINGSTATION;
5942
{
5943
// set values of tag
5944
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5945
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_CHARGINGSTATION,
5946
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("chargingStation")), parents, color);
5947
// set values of attributes
5948
fillPlanParentAttributes(myTagProperties[currentTag]);
5949
fillRideCommonAttributes(myTagProperties[currentTag]);
5950
}
5951
currentTag = GNE_TAG_RIDE_CONTAINERSTOP_PARKINGAREA;
5952
{
5953
// set values of tag
5954
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5955
GNETagProperties::Over::FROM_CONTAINERSTOP | GNETagProperties::Over::TO_PARKINGAREA,
5956
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("containerStop"), TL("parkingArea")), parents, color);
5957
// set values of attributes
5958
fillPlanParentAttributes(myTagProperties[currentTag]);
5959
fillRideCommonAttributes(myTagProperties[currentTag]);
5960
}
5961
// from chargingStation
5962
currentTag = GNE_TAG_RIDE_CHARGINGSTATION_EDGE;
5963
{
5964
// set values of tag
5965
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5966
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_EDGE,
5967
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("edge")), parents, color);
5968
// set values of attributes
5969
fillPlanParentAttributes(myTagProperties[currentTag]);
5970
fillRideCommonAttributes(myTagProperties[currentTag]);
5971
}
5972
currentTag = GNE_TAG_RIDE_CHARGINGSTATION_BUSSTOP;
5973
{
5974
// set values of tag
5975
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5976
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_BUSSTOP,
5977
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("busStop")), parents, color);
5978
// set values of attributes
5979
fillPlanParentAttributes(myTagProperties[currentTag]);
5980
fillRideCommonAttributes(myTagProperties[currentTag]);
5981
}
5982
currentTag = GNE_TAG_RIDE_CHARGINGSTATION_TRAINSTOP;
5983
{
5984
// set values of tag
5985
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5986
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_TRAINSTOP,
5987
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("trainStop")), parents, color);
5988
// set values of attributes
5989
fillPlanParentAttributes(myTagProperties[currentTag]);
5990
fillRideCommonAttributes(myTagProperties[currentTag]);
5991
}
5992
currentTag = GNE_TAG_RIDE_CHARGINGSTATION_CONTAINERSTOP;
5993
{
5994
// set values of tag
5995
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
5996
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CONTAINERSTOP,
5997
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("containerStop")), parents, color);
5998
// set values of attributes
5999
fillPlanParentAttributes(myTagProperties[currentTag]);
6000
fillRideCommonAttributes(myTagProperties[currentTag]);
6001
}
6002
currentTag = GNE_TAG_RIDE_CHARGINGSTATION_CHARGINGSTATION;
6003
{
6004
// set values of tag
6005
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
6006
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_CHARGINGSTATION,
6007
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("chargingStation")), parents, color);
6008
// set values of attributes
6009
fillPlanParentAttributes(myTagProperties[currentTag]);
6010
fillRideCommonAttributes(myTagProperties[currentTag]);
6011
}
6012
currentTag = GNE_TAG_RIDE_CHARGINGSTATION_PARKINGAREA;
6013
{
6014
// set values of tag
6015
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
6016
GNETagProperties::Over::FROM_CHARGINGSTATION | GNETagProperties::Over::TO_PARKINGAREA,
6017
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("chargingStation"), TL("parkingArea")), parents, color);
6018
// set values of attributes
6019
fillPlanParentAttributes(myTagProperties[currentTag]);
6020
fillRideCommonAttributes(myTagProperties[currentTag]);
6021
}
6022
// from parkingArea
6023
currentTag = GNE_TAG_RIDE_PARKINGAREA_EDGE;
6024
{
6025
// set values of tag
6026
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
6027
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_EDGE,
6028
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("edge")), parents, color);
6029
// set values of attributes
6030
fillPlanParentAttributes(myTagProperties[currentTag]);
6031
fillRideCommonAttributes(myTagProperties[currentTag]);
6032
}
6033
currentTag = GNE_TAG_RIDE_PARKINGAREA_BUSSTOP;
6034
{
6035
// set values of tag
6036
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
6037
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_BUSSTOP,
6038
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("busStop")), parents, color);
6039
// set values of attributes
6040
fillPlanParentAttributes(myTagProperties[currentTag]);
6041
fillRideCommonAttributes(myTagProperties[currentTag]);
6042
}
6043
currentTag = GNE_TAG_RIDE_PARKINGAREA_TRAINSTOP;
6044
{
6045
// set values of tag
6046
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
6047
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_TRAINSTOP,
6048
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("trainStop")), parents, color);
6049
// set values of attributes
6050
fillPlanParentAttributes(myTagProperties[currentTag]);
6051
fillRideCommonAttributes(myTagProperties[currentTag]);
6052
}
6053
currentTag = GNE_TAG_RIDE_PARKINGAREA_CONTAINERSTOP;
6054
{
6055
// set values of tag
6056
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
6057
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CONTAINERSTOP,
6058
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("containerStop")), parents, color);
6059
// set values of attributes
6060
fillPlanParentAttributes(myTagProperties[currentTag]);
6061
fillRideCommonAttributes(myTagProperties[currentTag]);
6062
}
6063
currentTag = GNE_TAG_RIDE_PARKINGAREA_CHARGINGSTATION;
6064
{
6065
// set values of tag
6066
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
6067
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_CHARGINGSTATION,
6068
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("chargingStation")), parents, color);
6069
// set values of attributes
6070
fillPlanParentAttributes(myTagProperties[currentTag]);
6071
fillRideCommonAttributes(myTagProperties[currentTag]);
6072
}
6073
currentTag = GNE_TAG_RIDE_PARKINGAREA_PARKINGAREA;
6074
{
6075
// set values of tag
6076
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_RIDES), tagType, tagProperty,
6077
GNETagProperties::Over::FROM_PARKINGAREA | GNETagProperties::Over::TO_PARKINGAREA,
6078
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %->%", TL("Ride"), TL("parkingArea"), TL("parkingArea")), parents, color);
6079
// set values of attributes
6080
fillPlanParentAttributes(myTagProperties[currentTag]);
6081
fillRideCommonAttributes(myTagProperties[currentTag]);
6082
}
6083
}
6084
6085
6086
void
6087
GNETagPropertiesDatabase::fillPersonStopElements() {
6088
// declare common tag types and properties
6089
const auto tagType = GNETagProperties::Type::DEMANDELEMENT | GNETagProperties::Type::PERSONPLAN | GNETagProperties::Type::STOP_PERSON;
6090
const auto tagProperty = GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOPARAMETERS;
6091
const auto files = FileBucket::Type::NOTHING;
6092
const auto conflicts = GNETagProperties::Conflicts::NO_CONFLICTS;
6093
const std::vector<SumoXMLTag> parents({SUMO_TAG_PERSON, SUMO_TAG_PERSONFLOW});
6094
const unsigned int color = FXRGBA(255, 213, 213, 255);
6095
const GUIIcon icon = GUIIcon::STOPELEMENT;
6096
const GUIGlObjectType GLType = GUIGlObjectType::GLO_STOP_PLAN;
6097
const SumoXMLTag xmlTag = SUMO_TAG_STOP;
6098
// fill tags
6099
SumoXMLTag currentTag = GNE_TAG_STOPPERSON_EDGE;
6100
{
6101
// set values of tag
6102
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6103
GNETagProperties::Over::EDGE,
6104
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("edge")), parents, color);
6105
6106
// set values of attributes
6107
fillPlanParentAttributes(myTagProperties[currentTag]);
6108
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
6109
}
6110
currentTag = GNE_TAG_STOPPERSON_BUSSTOP;
6111
{
6112
// set values of tag
6113
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6114
GNETagProperties::Over::BUSSTOP,
6115
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("busStop")), parents, color);
6116
6117
// set values of attributes
6118
fillPlanParentAttributes(myTagProperties[currentTag]);
6119
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
6120
}
6121
currentTag = GNE_TAG_STOPPERSON_TRAINSTOP;
6122
{
6123
// set values of tag
6124
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6125
GNETagProperties::Over::TRAINSTOP,
6126
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("trainStop")), parents, color);
6127
6128
// set values of attributes
6129
fillPlanParentAttributes(myTagProperties[currentTag]);
6130
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
6131
}
6132
currentTag = GNE_TAG_STOPPERSON_CONTAINERSTOP;
6133
{
6134
// set values of tag
6135
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6136
GNETagProperties::Over::CONTAINERSTOP,
6137
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("containerStop")), parents, color);
6138
6139
// set values of attributes
6140
fillPlanParentAttributes(myTagProperties[currentTag]);
6141
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
6142
}
6143
currentTag = GNE_TAG_STOPPERSON_CHARGINGSTATION;
6144
{
6145
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6146
GNETagProperties::Over::CHARGINGSTATION,
6147
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("chargingStation")), parents, color);
6148
6149
// set values of attributes
6150
fillPlanParentAttributes(myTagProperties[currentTag]);
6151
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
6152
}
6153
currentTag = GNE_TAG_STOPPERSON_PARKINGAREA;
6154
{
6155
// set values of tag
6156
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_PERSONSTOPS), tagType, tagProperty,
6157
GNETagProperties::Over::PARKINGAREA,
6158
files, conflicts, icon, GLType, xmlTag, StringUtils::format("%: %", TL("PersonStop"), TL("parkingArea")), parents, color);
6159
6160
// set values of attributes
6161
fillPlanParentAttributes(myTagProperties[currentTag]);
6162
fillPlanStopCommonAttributes(myTagProperties[currentTag]);
6163
}
6164
}
6165
6166
6167
void
6168
GNETagPropertiesDatabase::fillCommonAttributes(GNETagProperties* tagProperties) {
6169
GNEAttributeProperties* commonAttribute = nullptr;
6170
// check if element can be reparent
6171
if (tagProperties->canCenterCameraAfterCreation()) {
6172
commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_CENTER_AFTER_CREATION,
6173
GNEAttributeProperties::Property::BOOL,
6174
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,
6175
TLF("Center view over element % after creation", tagProperties->getTagStr()));
6176
commonAttribute->setAlternativeName(TL("center view"));
6177
}
6178
// fill save file attributes
6179
if (tagProperties->saveInNetworkFile()) {
6180
commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SAVEFILE,
6181
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6182
GNEAttributeProperties::Edit::NETEDITEDITOR,
6183
TL("The path to the file to save this element (not editable for network elements)"));
6184
commonAttribute->setFilenameExtensions(SUMOXMLDefinitions::AdditionalFileExtensions.getStrings());
6185
commonAttribute->setAlternativeName(TL("File"));
6186
} else if (tagProperties->saveInParentFile()) {
6187
commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SAVEFILE,
6188
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6189
GNEAttributeProperties::Edit::NETEDITEDITOR,
6190
TL("The path to the file to save this element (the same of their parent)"));
6191
commonAttribute->setFilenameExtensions(SUMOXMLDefinitions::AdditionalFileExtensions.getStrings());
6192
commonAttribute->setAlternativeName(TL("File"));
6193
} else {
6194
commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SAVEFILE,
6195
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6196
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,
6197
TL("The path to the file to save this element"));
6198
commonAttribute->setFilenameExtensions(SUMOXMLDefinitions::AdditionalFileExtensions.getStrings());
6199
commonAttribute->setAlternativeName(TL("File"));
6200
}
6201
6202
// if this is a drawable element, add front and select attributes
6203
if (tagProperties->isDrawable()) {
6204
commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_FRONTELEMENT,
6205
GNEAttributeProperties::Property::BOOL,
6206
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,
6207
TL("Toggle front element"));
6208
6209
commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_SELECTED,
6210
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
6211
GNEAttributeProperties::Edit::NETEDITEDITOR,
6212
TL("Toggle select element"),
6213
GNEAttributeCarrier::FALSE_STR);
6214
}
6215
// check if element can be reparent
6216
if (tagProperties->canBeReparent()) {
6217
commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_PARENT,
6218
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UPDATEGEOMETRY,
6219
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,
6220
TL("Change element parent"));
6221
}
6222
// check if element has parameters
6223
if (tagProperties->hasParameters()) {
6224
commonAttribute = new GNEAttributeProperties(tagProperties, GNE_ATTR_PARAMETERS,
6225
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6226
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6227
TL("Generic parameters (Format: key1=value1|key2=value2|..."));
6228
commonAttribute->setAlternativeName(TL("parameters"));
6229
}
6230
}
6231
6232
6233
void
6234
GNETagPropertiesDatabase::fillCommonStoppingPlaceAttributes(GNETagProperties* tagProperties, const bool includeColor, const bool parkingAreaAngle) {
6235
// set values of attributes
6236
fillIDAttribute(tagProperties, true);
6237
6238
fillLaneAttribute(tagProperties, false);
6239
6240
new GNEAttributeProperties(tagProperties, SUMO_ATTR_STARTPOS,
6241
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
6242
GNEAttributeProperties::Edit::EDITMODE,
6243
TL("The begin position on the lane (the lower position on the lane) in meters"),
6244
GNEMoveElementLaneSingle::PositionType::STARPOS, "INVALID_DOUBLE");
6245
6246
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ENDPOS,
6247
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
6248
GNEAttributeProperties::Edit::EDITMODE,
6249
TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"),
6250
GNEMoveElementLaneSingle::PositionType::ENDPOS, "INVALID_DOUBLE");
6251
6252
fillFriendlyPosAttribute(tagProperties);
6253
6254
fillNameAttribute(tagProperties);
6255
6256
if (includeColor) {
6257
fillColorAttribute(tagProperties, "");
6258
}
6259
6260
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ANGLE,
6261
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
6262
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6263
parkingAreaAngle ? TL("The angle of the road-side parking spaces relative to the lane angle, positive means clockwise") :
6264
TLF("Angle of waiting %s relative to lane angle", tagProperties->getTag() == SUMO_TAG_CONTAINER_STOP ? toString(SUMO_TAG_CONTAINER) : toString(SUMO_TAG_PERSON)),
6265
"0");
6266
6267
// netedit attributes
6268
new GNEAttributeProperties(tagProperties, GNE_ATTR_SIZE,
6269
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::DEFAULTVALUE,
6270
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,
6271
TLF("Length of %", tagProperties->getTagStr()),
6272
toString(GNEMoveElementLaneDouble::defaultSize));
6273
6274
auto forceSize = new GNEAttributeProperties(tagProperties, GNE_ATTR_FORCESIZE,
6275
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
6276
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,
6277
TL("Force size during creation"),
6278
GNEAttributeCarrier::FALSE_STR);
6279
forceSize->setAlternativeName(TL("force size"));
6280
6281
auto reference = new GNEAttributeProperties(tagProperties, GNE_ATTR_REFERENCE,
6282
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE,
6283
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::NETEDITEDITOR,
6284
TLF("Longitudinal reference position for creating %", tagProperties->getTagStr()));
6285
reference->setDiscreteValues(SUMOXMLDefinitions::ReferencePositions.getStrings());
6286
}
6287
6288
6289
void
6290
GNETagPropertiesDatabase::fillCommonPOIAttributes(GNETagProperties* tagProperties) {
6291
// fill POI attributes
6292
fillNameAttribute(tagProperties);
6293
6294
fillColorAttribute(tagProperties, "red");
6295
6296
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,
6297
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6298
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6299
TL("A typename for the POI"),
6300
toString(Shape::DEFAULT_TYPE));
6301
6302
auto icon = new GNEAttributeProperties(tagProperties, SUMO_ATTR_ICON,
6303
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
6304
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6305
TL("POI Icon"),
6306
SUMOXMLDefinitions::POIIcons.getString(POIIcon::NONE));
6307
icon->setDiscreteValues(SUMOXMLDefinitions::POIIcons.getStrings());
6308
6309
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LAYER,
6310
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
6311
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6312
TL("The layer of the POI for drawing and selecting"),
6313
toString(Shape::DEFAULT_LAYER_POI));
6314
6315
new GNEAttributeProperties(tagProperties, SUMO_ATTR_WIDTH,
6316
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6317
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6318
TL("Width of rendered image in meters"),
6319
toString(Shape::DEFAULT_IMG_WIDTH));
6320
6321
new GNEAttributeProperties(tagProperties, SUMO_ATTR_HEIGHT,
6322
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6323
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6324
TL("Height of rendered image in meters"),
6325
toString(Shape::DEFAULT_IMG_HEIGHT));
6326
6327
fillImgFileAttribute(tagProperties, false);
6328
6329
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ANGLE,
6330
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::ANGLE | GNEAttributeProperties::Property::DEFAULTVALUE,
6331
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6332
TL("Angle of rendered image in degree"),
6333
toString(Shape::DEFAULT_ANGLE));
6334
}
6335
6336
6337
void
6338
GNETagPropertiesDatabase::fillCommonRouteAttributes(GNETagProperties* tagProperties) {
6339
// fill route attributes
6340
new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,
6341
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
6342
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
6343
TL("The edges the vehicle shall drive along, given as their ids, separated using spaces"));
6344
6345
fillColorAttribute(tagProperties, "");
6346
6347
new GNEAttributeProperties(tagProperties, SUMO_ATTR_REPEAT,
6348
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6349
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6350
TL("The number of times that the edges of this route shall be repeated"),
6351
"0");
6352
6353
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CYCLETIME,
6354
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
6355
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6356
TL("When defining a repeating route with stops and those stops use the until attribute,") + std::string("\n") +
6357
TL("the times will be shifted forward by 'cycleTime' on each repeat"),
6358
"0");
6359
}
6360
6361
6362
void
6363
GNETagPropertiesDatabase::fillCommonVTypeAttributes(GNETagProperties* tagProperties) {
6364
// fill vType attributes
6365
auto vClass = new GNEAttributeProperties(tagProperties, SUMO_ATTR_VCLASS,
6366
GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
6367
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
6368
TL("An abstract vehicle class"),
6369
"passenger");
6370
vClass->setDiscreteValues(SumoVehicleClassStrings.getStrings());
6371
6372
fillColorAttribute(tagProperties, "");
6373
6374
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LENGTH,
6375
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,
6376
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6377
TL("The vehicle's netto-length (length) [m]"));
6378
6379
new GNEAttributeProperties(tagProperties, SUMO_ATTR_MINGAP,
6380
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,
6381
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6382
TL("Empty space after leader [m]"));
6383
6384
new GNEAttributeProperties(tagProperties, SUMO_ATTR_MAXSPEED,
6385
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,
6386
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6387
TL("The vehicle's maximum velocity [m/s]"));
6388
6389
new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEEDFACTOR,
6390
GNEAttributeProperties::Property::STRING,
6391
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6392
TL("The vehicle's expected multiplicator for lane speed limits (or a distribution specifier)"));
6393
6394
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DESIRED_MAXSPEED,
6395
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ALWAYSENABLED,
6396
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6397
TL("The vehicle's desired maximum velocity (interacts with speedFactor).") + std::string("\n") +
6398
TL("Applicable when no speed limit applies (bicycles, some motorways) [m/s]"));
6399
6400
auto emissionClass = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EMISSIONCLASS,
6401
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE,
6402
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6403
TL("An abstract emission class"));
6404
emissionClass->setDiscreteValues(PollutantsInterface::getAllClassesStr());
6405
6406
auto GUIShape = new GNEAttributeProperties(tagProperties, SUMO_ATTR_GUISHAPE,
6407
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE,
6408
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6409
TL("How this vehicle is rendered"));
6410
GUIShape->setDiscreteValues(SumoVehicleShapeStrings.getStrings());
6411
6412
new GNEAttributeProperties(tagProperties, SUMO_ATTR_WIDTH,
6413
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6414
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6415
TL("The vehicle's width [m] (only used for drawing)"),
6416
"1.8");
6417
6418
new GNEAttributeProperties(tagProperties, SUMO_ATTR_HEIGHT,
6419
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6420
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6421
TL("The vehicle's height [m] (only used for drawing)"),
6422
"1.5");
6423
6424
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING_BADGES,
6425
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
6426
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6427
TL("The parking badges assigned to the vehicle"));
6428
6429
fillImgFileAttribute(tagProperties, true);
6430
6431
auto laneChangeModel = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LANE_CHANGE_MODEL,
6432
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
6433
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6434
TL("The model used for changing lanes"),
6435
SUMOXMLDefinitions::LaneChangeModels.getString(LaneChangeModel::DEFAULT));
6436
laneChangeModel->setDiscreteValues(SUMOXMLDefinitions::LaneChangeModels.getStrings());
6437
6438
auto carFollowModel = new GNEAttributeProperties(tagProperties, SUMO_ATTR_CAR_FOLLOW_MODEL,
6439
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
6440
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6441
TL("The model used for car-following"),
6442
SUMOXMLDefinitions::CarFollowModels.getString(SUMO_TAG_CF_KRAUSS));
6443
carFollowModel->setDiscreteValues(SUMOXMLDefinitions::CarFollowModels.getStrings());
6444
6445
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERSON_CAPACITY,
6446
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE,
6447
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6448
TL("The number of persons (excluding an autonomous driver) the vehicle can transport"));
6449
6450
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_CAPACITY,
6451
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE,
6452
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6453
TL("The number of containers the vehicle can transport"));
6454
6455
new GNEAttributeProperties(tagProperties, SUMO_ATTR_BOARDING_DURATION,
6456
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
6457
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6458
TL("The time required by a person to board the vehicle"),
6459
"0.50");
6460
6461
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LOADING_DURATION,
6462
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
6463
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6464
TL("The time required to load a container onto the vehicle"),
6465
"90");
6466
6467
auto latAlignment = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LATALIGNMENT,
6468
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
6469
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6470
TL("The preferred lateral alignment when using the sublane-model"),
6471
"center");
6472
latAlignment->setDiscreteValues(SUMOVTypeParameter::getLatAlignmentStrings());
6473
6474
new GNEAttributeProperties(tagProperties, SUMO_ATTR_MINGAP_LAT,
6475
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6476
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6477
TL("The minimum lateral gap at a speed difference of 50km/h when using the sublane-model"),
6478
"0.12");
6479
6480
new GNEAttributeProperties(tagProperties, SUMO_ATTR_MAXSPEED_LAT,
6481
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6482
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6483
TL("The maximum lateral speed when using the sublane-model"),
6484
"1");
6485
6486
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACTIONSTEPLENGTH,
6487
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6488
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6489
TL("The interval length for which vehicle performs its decision logic (acceleration and lane-changing)"),
6490
toString(OptionsCont::getOptions().getFloat("default.action-step-length")));
6491
6492
// add distribution probability
6493
fillDistributionProbability(tagProperties, true);
6494
6495
new GNEAttributeProperties(tagProperties, SUMO_ATTR_OSGFILE,
6496
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6497
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6498
TL("3D model file for this class"));
6499
/*
6500
Waiting for #16343
6501
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CARRIAGE_LENGTH,
6502
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE,
6503
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6504
TL("Carriage lengths"));
6505
6506
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LOCOMOTIVE_LENGTH,
6507
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE,
6508
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6509
TL("Locomotive lengths"));
6510
6511
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CARRIAGE_GAP,
6512
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6513
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6514
TL("Gap between carriages"),
6515
"1");
6516
*/
6517
// fill VType Car Following Model Values (implemented in a separated function to improve code legibility)
6518
fillCarFollowingModelAttributes(tagProperties);
6519
6520
// fill VType Junction Model Parameters (implemented in a separated function to improve code legibility)
6521
fillJunctionModelAttributes(tagProperties);
6522
6523
// fill VType Lane Change Model Parameters (implemented in a separated function to improve code legibility)
6524
fillLaneChangingModelAttributes(tagProperties);
6525
}
6526
6527
6528
void
6529
GNETagPropertiesDatabase::fillCommonVehicleAttributes(GNETagProperties* tagProperties) {
6530
// fill vehicle attributes
6531
fillColorAttribute(tagProperties, "yellow");
6532
6533
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTLANE,
6534
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
6535
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6536
TL("The lane on which the vehicle shall be inserted"),
6537
"first");
6538
6539
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,
6540
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
6541
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6542
TL("The position at which the vehicle shall enter the net"),
6543
"base");
6544
6545
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTSPEED,
6546
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6547
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6548
TL("The speed with which the vehicle shall enter the network"),
6549
"0");
6550
6551
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALLANE,
6552
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
6553
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6554
TL("The lane at which the vehicle shall leave the network"),
6555
"current");
6556
6557
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,
6558
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
6559
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6560
TL("The position at which the vehicle shall leave the network"),
6561
"max");
6562
6563
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALSPEED,
6564
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6565
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6566
TL("The speed with which the vehicle shall leave the network"),
6567
"current");
6568
6569
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINE,
6570
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6571
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6572
TL("A string specifying the id of a public transport line which can be used when specifying person rides"));
6573
6574
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERSON_NUMBER,
6575
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6576
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6577
TL("The number of occupied seats when the vehicle is inserted"),
6578
"0");
6579
6580
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_NUMBER,
6581
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6582
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6583
TL("The number of occupied container places when the vehicle is inserted"),
6584
"0");
6585
6586
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS_LAT,
6587
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
6588
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6589
TL("The lateral position on the departure lane at which the vehicle shall enter the net"),
6590
"center");
6591
6592
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS_LAT,
6593
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
6594
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6595
TL("The lateral position on the arrival lane at which the vehicle shall arrive"),
6596
"center");
6597
6598
new GNEAttributeProperties(tagProperties, SUMO_ATTR_INSERTIONCHECKS,
6599
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6600
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6601
TL("Insertion checks"),
6602
SUMOXMLDefinitions::InsertionChecks.getString(InsertionCheck::ALL));
6603
}
6604
6605
6606
void
6607
GNETagPropertiesDatabase::fillCommonFlowAttributes(GNETagProperties* tagProperties, SumoXMLAttr perHour) {
6608
// fill common flow attributes
6609
new GNEAttributeProperties(tagProperties, SUMO_ATTR_BEGIN,
6610
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
6611
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6612
TL("First flow departure time"),
6613
"0");
6614
6615
auto flowTerminate = new GNEAttributeProperties(tagProperties, GNE_ATTR_FLOW_TERMINATE,
6616
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,
6617
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,
6618
TL("Criterion for flow termination"),
6619
toString(SUMO_ATTR_END));
6620
flowTerminate->setDiscreteValues({toString(SUMO_ATTR_END), toString(SUMO_ATTR_NUMBER), toString(SUMO_ATTR_END) + "-" + toString(SUMO_ATTR_NUMBER)});
6621
6622
auto flowSpacing = new GNEAttributeProperties(tagProperties, GNE_ATTR_FLOW_SPACING,
6623
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,
6624
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,
6625
TL("Criterion for flow spacing"),
6626
toString(perHour));
6627
flowSpacing->setDiscreteValues({toString(perHour), toString(SUMO_ATTR_PERIOD), toString(SUMO_ATTR_PROB), toString(GNE_ATTR_POISSON)});
6628
6629
new GNEAttributeProperties(tagProperties, SUMO_ATTR_END,
6630
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,
6631
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,
6632
TL("End of departure interval"),
6633
"3600");
6634
6635
new GNEAttributeProperties(tagProperties, SUMO_ATTR_NUMBER,
6636
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,
6637
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,
6638
TL("probability for emitting a flow each second") + std::string("\n") +
6639
TL("(not together with vehsPerHour or period)"),
6640
"1800");
6641
6642
new GNEAttributeProperties(tagProperties, perHour,
6643
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,
6644
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,
6645
TL("Number of flows per hour, equally spaced") + std::string("\n") +
6646
TL("(not together with period or probability or poisson)"),
6647
"1800");
6648
6649
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERIOD,
6650
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,
6651
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,
6652
TL("Insert equally spaced flows at that period") + std::string("\n") +
6653
TL("(not together with vehsPerHour or probability or poisson)"),
6654
"2");
6655
6656
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PROB,
6657
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,
6658
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,
6659
TL("probability for emitting a flow each second") + std::string("\n") +
6660
TL("(not together with vehsPerHour or period or poisson)"),
6661
"0.5");
6662
6663
new GNEAttributeProperties(tagProperties, GNE_ATTR_POISSON,
6664
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::FLOW,
6665
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::FLOWEDITOR,
6666
TL("Insert flow expected vehicles per second with poisson distributed insertion rate") + std::string("\n") +
6667
TL("(not together with period or vehsPerHour or probability)"),
6668
"0.5");
6669
}
6670
6671
6672
void
6673
GNETagPropertiesDatabase::fillCarFollowingModelAttributes(GNETagProperties* tagProperties) {
6674
// fill CFM attributes
6675
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACCEL,
6676
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6677
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6678
TL("The acceleration ability of vehicles of this type [m/s^2]"),
6679
toString(SUMOVTypeParameter::getDefaultAccel()));
6680
6681
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DECEL,
6682
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6683
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6684
TL("The deceleration ability of vehicles of this type [m/s^2]"),
6685
toString(SUMOVTypeParameter::getDefaultDecel()));
6686
6687
new GNEAttributeProperties(tagProperties, SUMO_ATTR_APPARENTDECEL,
6688
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6689
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6690
TL("The apparent deceleration of the vehicle as used by the standard model [m/s^2]"),
6691
toString(SUMOVTypeParameter::getDefaultDecel()));
6692
6693
new GNEAttributeProperties(tagProperties, SUMO_ATTR_EMERGENCYDECEL,
6694
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6695
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6696
TL("The maximal physically possible deceleration for the vehicle [m/s^2]"),
6697
toString(SUMOVTypeParameter::getDefaultEmergencyDecel(SVC_IGNORING,
6698
SUMOVTypeParameter::getDefaultDecel(),
6699
VTYPEPARS_DEFAULT_EMERGENCYDECEL_DEFAULT)));
6700
6701
auto sigma = new GNEAttributeProperties(tagProperties, SUMO_ATTR_SIGMA,
6702
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,
6703
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6704
TL("Car-following model parameter"),
6705
toString(SUMOVTypeParameter::getDefaultImperfection()));
6706
sigma->setRange(0, 1);
6707
6708
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TAU,
6709
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6710
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
6711
TL("Car-following model parameter"),
6712
"1");
6713
6714
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP1,
6715
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6716
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6717
TL("SKRAUSSX parameter 1"));
6718
6719
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP2,
6720
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6721
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6722
TL("SKRAUSSX parameter 2"));
6723
6724
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP3,
6725
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6726
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6727
TL("SKRAUSSX parameter 3"));
6728
6729
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP4,
6730
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6731
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6732
TL("SKRAUSSX parameter 4"));
6733
6734
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TMP5,
6735
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6736
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6737
TL("SKRAUSSX parameter 5"));
6738
6739
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_LOOK_AHEAD,
6740
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6741
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6742
TL("EIDM Look ahead / preview parameter [s]"),
6743
"4");
6744
6745
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_REACTION,
6746
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6747
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6748
TL("EIDM AP Reaction Time parameter [s]"),
6749
"0.50");
6750
6751
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_PERSISTENCE_DRIVE,
6752
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6753
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6754
TL("EIDM Wiener Process parameter for the Driving Error [s]"),
6755
"3");
6756
6757
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_PERSISTENCE_ESTIMATE,
6758
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6759
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6760
TL("EIDM Wiener Process parameter for the Estimation Error [s]"),
6761
"10");
6762
6763
auto coolness = new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_C_COOLNESS,
6764
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,
6765
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6766
TL("EIDM Coolness parameter of the Enhanced IDM [-]"),
6767
"0.99");
6768
coolness->setRange(0, 1);
6769
6770
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_SIG_LEADER,
6771
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6772
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6773
TL("EIDM leader speed estimation error parameter [-]"),
6774
"0.02");
6775
6776
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_SIG_GAP,
6777
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6778
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6779
TL("EIDM gap estimation error parameter [-]"),
6780
"0.10");
6781
6782
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_SIG_ERROR,
6783
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6784
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6785
TL("EIDM driving error parameter [-]"),
6786
"0.04");
6787
6788
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_JERK_MAX,
6789
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6790
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6791
TL("EIDM maximal jerk parameter [m/s^3]"),
6792
"3");
6793
6794
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_EPSILON_ACC,
6795
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6796
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6797
TL("EIDM maximal negative acceleration between two Action Points (threshold) [m/s^2]"),
6798
"1");
6799
6800
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_T_ACC_MAX,
6801
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6802
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6803
TL("EIDM Time parameter until vehicle reaches amax after startup/driveoff [s]"),
6804
"1.20");
6805
6806
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_M_FLATNESS,
6807
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6808
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6809
TL("EIDM Flatness parameter of startup/driveoff curve [-]"),
6810
"2");
6811
6812
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_M_BEGIN,
6813
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6814
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6815
TL("EIDM Shift parameter of startup/driveoff curve [-]"),
6816
"0.70");
6817
6818
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_USEVEHDYNAMICS,
6819
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
6820
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6821
TL("EIDM parameter if model shall include vehicle dynamics into the acceleration calculation [0/1]"),
6822
"0");
6823
6824
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_EIDM_MAX_VEH_PREVIEW,
6825
GNEAttributeProperties::Property::INT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6826
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6827
TL("EIDM parameter how many vehicles are taken into the preview calculation of the driver (at least always 1!) [-]"),
6828
"0");
6829
6830
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_PWAGNER2009_TAULAST,
6831
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6832
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6833
TL("Peter Wagner 2009 parameter"),
6834
"0");
6835
6836
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_PWAGNER2009_APPROB,
6837
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6838
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6839
TL("Peter Wagner 2009 parameter"),
6840
"0");
6841
6842
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDMM_ADAPT_FACTOR,
6843
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6844
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6845
TL("IDMM parameter"),
6846
"0");
6847
6848
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDMM_ADAPT_TIME,
6849
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6850
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6851
TL("IDMM parameter"),
6852
"0");
6853
6854
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC1,
6855
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6856
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6857
TL("W99 parameter"),
6858
"1.3");
6859
6860
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC2,
6861
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6862
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6863
TL("W99 parameter"),
6864
"8");
6865
6866
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC3,
6867
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6868
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6869
TL("W99 parameter"),
6870
"-12");
6871
6872
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC4,
6873
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6874
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6875
TL("W99 parameter"),
6876
"-0.25");
6877
6878
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC5,
6879
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6880
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6881
TL("W99 parameter"),
6882
"0.35");
6883
6884
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC6,
6885
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6886
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6887
TL("W99 parameter"),
6888
"6");
6889
6890
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC7,
6891
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6892
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6893
TL("W99 parameter"),
6894
"0.25");
6895
6896
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC8,
6897
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6898
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6899
TL("W99 parameter"),
6900
"2");
6901
6902
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_W99_CC9,
6903
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6904
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6905
TL("W99 parameter"),
6906
"1.5");
6907
6908
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_WIEDEMANN_SECURITY,
6909
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6910
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6911
TL("Wiedemann parameter"));
6912
6913
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_WIEDEMANN_ESTIMATION,
6914
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6915
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6916
TL("Wiedemann parameter"));
6917
6918
new GNEAttributeProperties(tagProperties, SUMO_ATTR_COLLISION_MINGAP_FACTOR,
6919
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6920
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6921
TL("MinGap factor parameter"));
6922
6923
new GNEAttributeProperties(tagProperties, SUMO_ATTR_K,
6924
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6925
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6926
TL("K parameter"));
6927
6928
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_KERNER_PHI,
6929
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6930
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6931
TL("Kerner Phi parameter"));
6932
6933
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDM_DELTA,
6934
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6935
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6936
TL("IDM Delta parameter"));
6937
6938
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CF_IDM_STEPPING,
6939
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
6940
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6941
TL("IDM Stepping parameter"));
6942
6943
auto trainType = new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRAIN_TYPE,
6944
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
6945
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6946
TL("Train Types"),
6947
SUMOXMLDefinitions::TrainTypes.getString(TrainType::NGT400));
6948
trainType->setDiscreteValues(SUMOXMLDefinitions::TrainTypes.getStrings());
6949
}
6950
6951
6952
void
6953
GNETagPropertiesDatabase::fillJunctionModelAttributes(GNETagProperties* tagProperties) {
6954
// fill junction model attributes
6955
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_CROSSING_GAP,
6956
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6957
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6958
TL("Minimum distance to pedestrians that are walking towards the conflict point with the ego vehicle."),
6959
"10");
6960
6961
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_IGNORE_KEEPCLEAR_TIME,
6962
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
6963
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6964
TL("The accumulated waiting time after which a vehicle will drive onto an intersection even though this might cause jamming."),
6965
"", "-1");
6966
6967
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_DRIVE_AFTER_YELLOW_TIME,
6968
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6969
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6970
TL("This value causes vehicles to violate a yellow light if the duration of the yellow phase is lower than the given threshold."),
6971
"", "-1");
6972
6973
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_DRIVE_AFTER_RED_TIME,
6974
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
6975
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6976
TL("This value causes vehicles to violate a red light if the duration of the red phase is lower than the given threshold."),
6977
"", "-1");
6978
6979
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_DRIVE_RED_SPEED,
6980
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
6981
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6982
TL("This value causes vehicles affected by jmDriveAfterRedTime to slow down when violating a red light."),
6983
"0");
6984
6985
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_IGNORE_FOE_PROB,
6986
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6987
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6988
TL("This value causes vehicles to ignore foe vehicles that have right-of-way with the given probability."),
6989
"0");
6990
6991
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_IGNORE_FOE_SPEED,
6992
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
6993
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
6994
TL("This value is used in conjunction with jmIgnoreFoeProb.") + std::string("\n") +
6995
TL("Only vehicles with a speed below or equal to the given value may be ignored."),
6996
"0");
6997
6998
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_SIGMA_MINOR,
6999
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
7000
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7001
TL("This value configures driving imperfection (dawdling) while passing a minor link."),
7002
"0");
7003
7004
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JM_TIMEGAP_MINOR,
7005
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7006
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7007
TL("This value defines the minimum time gap when passing ahead of a prioritized vehicle. "),
7008
"1");
7009
7010
new GNEAttributeProperties(tagProperties, SUMO_ATTR_IMPATIENCE,
7011
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7012
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7013
TL("Willingess of drivers to impede vehicles with higher priority"),
7014
"0");
7015
}
7016
7017
7018
void
7019
GNETagPropertiesDatabase::fillLaneChangingModelAttributes(GNETagProperties* tagProperties) {
7020
// fill lane changing model
7021
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_STRATEGIC_PARAM,
7022
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7023
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7024
TL("The eagerness for performing strategic lane changing. Higher values result in earlier lane-changing."),
7025
"1");
7026
7027
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_COOPERATIVE_PARAM,
7028
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7029
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7030
TL("The willingness for performing cooperative lane changing. Lower values result in reduced cooperation."),
7031
"1");
7032
7033
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_SPEEDGAIN_PARAM,
7034
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7035
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7036
TL("The eagerness for performing lane changing to gain speed. Higher values result in more lane-changing."),
7037
"1");
7038
7039
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_KEEPRIGHT_PARAM,
7040
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7041
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7042
TL("The eagerness for following the obligation to keep right. Higher values result in earlier lane-changing."),
7043
"1");
7044
7045
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_SUBLANE_PARAM,
7046
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7047
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7048
TL("The eagerness for using the configured lateral alignment within the lane.") + std::string("\n") +
7049
TL("Higher values result in increased willingness to sacrifice speed for alignment."),
7050
"1");
7051
7052
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_OPPOSITE_PARAM,
7053
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7054
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7055
TL("The eagerness for overtaking through the opposite-direction lane. Higher values result in more lane-changing."),
7056
"1");
7057
7058
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_PUSHY,
7059
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7060
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7061
TL("Willingness to encroach laterally on other drivers."),
7062
"0");
7063
7064
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_PUSHYGAP,
7065
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7066
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7067
TL("Minimum lateral gap when encroaching laterally on other drives (alternative way to define lcPushy)"),
7068
"0");
7069
7070
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_ASSERTIVE,
7071
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7072
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7073
TL("Willingness to accept lower front and rear gaps on the target lane."),
7074
"1");
7075
7076
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_IMPATIENCE,
7077
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7078
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7079
TL("Dynamic factor for modifying lcAssertive and lcPushy."),
7080
"0");
7081
7082
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_TIME_TO_IMPATIENCE,
7083
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7084
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7085
TL("Time to reach maximum impatience (of 1). Impatience grows whenever a lane-change manoeuvre is blocked."),
7086
"infinity");
7087
7088
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_ACCEL_LAT,
7089
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7090
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7091
TL("Maximum lateral acceleration per second."),
7092
"1");
7093
7094
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_LOOKAHEADLEFT,
7095
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7096
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7097
TL("Factor for configuring the strategic lookahead distance when a change to the left is necessary (relative to right lookahead)."),
7098
"2");
7099
7100
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_SPEEDGAINRIGHT,
7101
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7102
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7103
TL("Factor for configuring the threshold asymmetry when changing to the left or to the right for speed gain."),
7104
"0.1");
7105
7106
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_MAXSPEEDLATSTANDING,
7107
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
7108
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7109
TL("Upper bound on lateral speed when standing."),
7110
"0");
7111
7112
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_MAXSPEEDLATFACTOR,
7113
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7114
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7115
TL("Upper bound on lateral speed while moving computed as lcMaxSpeedLatStanding + lcMaxSpeedLatFactor * getSpeed()"),
7116
"1");
7117
7118
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_TURN_ALIGNMENT_DISTANCE,
7119
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7120
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7121
TL("Distance to an upcoming turn on the vehicles route, below which the alignment") + std::string("\n") +
7122
TL("should be dynamically adapted to match the turn direction."),
7123
"0");
7124
7125
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_OVERTAKE_RIGHT,
7126
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7127
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7128
TL("The probability for violating rules gainst overtaking on the right."),
7129
"0");
7130
7131
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_KEEPRIGHT_ACCEPTANCE_TIME,
7132
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
7133
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7134
TL("Time threshold for the willingness to change right."),
7135
"", "-1");
7136
7137
auto factor = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LCA_OVERTAKE_DELTASPEED_FACTOR,
7138
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::RANGE | GNEAttributeProperties::Property::DEFAULTVALUE,
7139
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7140
TL("Speed difference factor for the eagerness of overtaking a neighbor vehicle before changing lanes (threshold = factor*speedlimit)."),
7141
"0");
7142
factor->setRange(-1, 1);
7143
7144
}
7145
7146
7147
void
7148
GNETagPropertiesDatabase::fillCommonPersonAttributes(GNETagProperties* tagProperties) {
7149
// fill person attributes
7150
fillIDAttribute(tagProperties, true);
7151
7152
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,
7153
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
7154
GNEAttributeProperties::Edit::EDITMODE,
7155
TL("The id of the person type to use for this person"),
7156
DEFAULT_VTYPE_ID);
7157
7158
fillColorAttribute(tagProperties, "yellow");
7159
7160
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,
7161
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7162
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7163
TL("The position at which the person shall enter the net"),
7164
"base");
7165
}
7166
7167
7168
void
7169
GNETagPropertiesDatabase::fillCommonContainerAttributes(GNETagProperties* tagProperties) {
7170
// fill common container attributes
7171
fillIDAttribute(tagProperties, true);
7172
7173
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,
7174
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY | GNEAttributeProperties::Property::VTYPE,
7175
GNEAttributeProperties::Edit::EDITMODE,
7176
TL("The id of the container type to use for this container"),
7177
DEFAULT_CONTAINERTYPE_ID);
7178
7179
fillColorAttribute(tagProperties, "yellow");
7180
7181
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,
7182
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7183
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7184
TL("The position at which the container shall enter the net"),
7185
"base");
7186
}
7187
7188
7189
void
7190
GNETagPropertiesDatabase::fillCommonStopAttributes(GNETagProperties* tagProperties, const bool waypoint) {
7191
// fill common stop attributes
7192
auto duration = new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,
7193
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,
7194
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7195
TL("Minimum duration for stopping"),
7196
"60");
7197
duration->setDefaultActivated(true);
7198
7199
new GNEAttributeProperties(tagProperties, SUMO_ATTR_UNTIL,
7200
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,
7201
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7202
TL("The time step at which the route continues"),
7203
"0");
7204
7205
new GNEAttributeProperties(tagProperties, SUMO_ATTR_EXTENSION,
7206
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,
7207
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7208
TL("If set to a non-negative time value, then the stop duration can be extended at most by the extension value in seconds"),
7209
"0");
7210
7211
if (!waypoint) {
7212
auto triggered = new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRIGGERED,
7213
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
7214
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7215
TL("Whether a person or container or both may end the stop"),
7216
"false");
7217
triggered->setDiscreteValues({"false", "person", "container", "join"});
7218
7219
new GNEAttributeProperties(tagProperties, SUMO_ATTR_EXPECTED,
7220
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
7221
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7222
TL("List of elements that must board the vehicle before it may continue"));
7223
7224
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JOIN,
7225
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7226
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7227
TL("Joins this train to another upon reaching the stop"));
7228
}
7229
7230
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERMITTED,
7231
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
7232
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7233
TL("List of elements that can board the vehicle before it may continue"));
7234
7235
auto parking = new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING,
7236
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
7237
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7238
TL("Whether the vehicle stops on the road or beside"),
7239
"false");
7240
parking->setDiscreteValues({"true", "false", "opportunistic"});
7241
7242
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACTTYPE,
7243
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7244
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7245
TL("Activity displayed for stopped person in GUI and output files"));
7246
7247
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRIP_ID,
7248
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7249
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7250
TL("Parameter to be applied to the vehicle to track the trip id within a cyclical public transport route"));
7251
7252
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINE,
7253
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7254
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7255
TL("New line attribute to be set on the vehicle when reaching this stop (for cyclical public transport route)"));
7256
7257
if (waypoint) {
7258
new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEED,
7259
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7260
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7261
TL("Speed to be kept while driving between startPos and endPos"),
7262
"0");
7263
} else {
7264
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ONDEMAND,
7265
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
7266
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7267
TL("Whether the stop may be skipped if no passengers wants to embark or disembark"),
7268
GNEAttributeCarrier::FALSE_STR);
7269
}
7270
7271
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JUMP,
7272
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
7273
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7274
TL("transfer time if there shall be a jump from this stop to the next route edge"),
7275
"", "-1");
7276
7277
new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPLIT,
7278
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7279
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7280
TL("Splits the train upon reaching the stop"));
7281
}
7282
7283
7284
void
7285
GNETagPropertiesDatabase::fillPlanParentAttributes(GNETagProperties* tagProperties) {
7286
// fill plan parents
7287
// basic parents
7288
if (tagProperties->planConsecutiveEdges()) {
7289
new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,
7290
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7291
GNEAttributeProperties::Edit::EDITMODE,
7292
TL("list of consecutive edges"));
7293
7294
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,
7295
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
7296
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7297
TL("Arrival position on the last edge"),
7298
"", "-1");
7299
}
7300
if (tagProperties->planRoute()) {
7301
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ROUTE,
7302
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7303
GNEAttributeProperties::Edit::EDITMODE,
7304
TL("Route ID"));
7305
7306
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,
7307
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
7308
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7309
TL("Arrival position on the destination edge"),
7310
"", "-1");
7311
}
7312
if (tagProperties->planEdge()) {
7313
7314
fillEdgeAttribute(tagProperties, false);
7315
7316
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ENDPOS,
7317
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7318
GNEAttributeProperties::Edit::EDITMODE,
7319
TL("The end position on the lane (the higher position on the lane) in meters, must be larger than startPos by more than 0.1m"));
7320
}
7321
if (tagProperties->planBusStop()) {
7322
new GNEAttributeProperties(tagProperties, SUMO_ATTR_BUS_STOP,
7323
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7324
GNEAttributeProperties::Edit::EDITMODE,
7325
TL("Bus stop ID"));
7326
}
7327
if (tagProperties->planTrainStop()) {
7328
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRAIN_STOP,
7329
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7330
GNEAttributeProperties::Edit::EDITMODE,
7331
TL("Train stop ID"));
7332
}
7333
if (tagProperties->planContainerStop()) {
7334
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_STOP,
7335
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7336
GNEAttributeProperties::Edit::EDITMODE,
7337
TL("Container stop ID"));
7338
}
7339
if (tagProperties->planChargingStation()) {
7340
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CHARGING_STATION,
7341
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7342
GNEAttributeProperties::Edit::EDITMODE,
7343
TL("Charging station ID"));
7344
}
7345
if (tagProperties->planParkingArea()) {
7346
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING_AREA,
7347
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7348
GNEAttributeProperties::Edit::EDITMODE,
7349
TL("Parking area ID"));
7350
}
7351
// from parents
7352
if (tagProperties->planFromEdge()) {
7353
new GNEAttributeProperties(tagProperties, SUMO_ATTR_FROM,
7354
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7355
GNEAttributeProperties::Edit::EDITMODE,
7356
TL("Edge start ID"));
7357
}
7358
if (tagProperties->planFromTAZ()) {
7359
new GNEAttributeProperties(tagProperties, SUMO_ATTR_FROM_TAZ,
7360
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7361
GNEAttributeProperties::Edit::EDITMODE,
7362
TL("TAZ start ID"));
7363
}
7364
if (tagProperties->planFromJunction()) {
7365
new GNEAttributeProperties(tagProperties, SUMO_ATTR_FROM_JUNCTION,
7366
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7367
GNEAttributeProperties::Edit::EDITMODE,
7368
TL("Junction start ID"));
7369
}
7370
if (tagProperties->planFromBusStop()) {
7371
new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_BUSSTOP,
7372
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7373
GNEAttributeProperties::Edit::EDITMODE,
7374
TL("BusStop start ID"));
7375
}
7376
if (tagProperties->planFromTrainStop()) {
7377
new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_TRAINSTOP,
7378
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7379
GNEAttributeProperties::Edit::EDITMODE,
7380
TL("TrainStop start ID"));
7381
}
7382
if (tagProperties->planFromContainerStop()) {
7383
new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_CONTAINERSTOP,
7384
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7385
GNEAttributeProperties::Edit::EDITMODE,
7386
TL("ContainerStop start ID"));
7387
}
7388
if (tagProperties->planFromChargingStation()) {
7389
new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_CHARGINGSTATION,
7390
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7391
GNEAttributeProperties::Edit::EDITMODE,
7392
TL("ChargingStation start ID"));
7393
}
7394
if (tagProperties->planFromParkingArea()) {
7395
new GNEAttributeProperties(tagProperties, GNE_ATTR_FROM_CHARGINGSTATION,
7396
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7397
GNEAttributeProperties::Edit::EDITMODE,
7398
TL("ParkingArea start ID"));
7399
}
7400
// to parents
7401
if (tagProperties->planToEdge()) {
7402
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TO,
7403
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7404
GNEAttributeProperties::Edit::EDITMODE,
7405
TL("Edge end ID"));
7406
// departPos only for tranships
7407
if (tagProperties->isPlanTranship()) {
7408
// depart pos
7409
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPARTPOS,
7410
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7411
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7412
TL("The position at which the tranship shall enter the net"),
7413
"0");
7414
}
7415
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ARRIVALPOS,
7416
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
7417
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7418
TL("arrival position on the destination edge"),
7419
"", "-1");
7420
}
7421
if (tagProperties->planToTAZ()) {
7422
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TO_TAZ,
7423
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7424
GNEAttributeProperties::Edit::EDITMODE,
7425
TL("TAZ end ID"));
7426
}
7427
if (tagProperties->planToJunction()) {
7428
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TO_JUNCTION,
7429
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7430
GNEAttributeProperties::Edit::EDITMODE,
7431
TL("Junction end ID"));
7432
}
7433
if (tagProperties->planToBusStop()) {
7434
new GNEAttributeProperties(tagProperties, SUMO_ATTR_BUS_STOP,
7435
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7436
GNEAttributeProperties::Edit::EDITMODE,
7437
TL("BusStop end ID"));
7438
}
7439
if (tagProperties->planToTrainStop()) {
7440
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRAIN_STOP,
7441
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7442
GNEAttributeProperties::Edit::EDITMODE,
7443
TL("TrainStop end ID"));
7444
}
7445
if (tagProperties->planToContainerStop()) {
7446
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CONTAINER_STOP,
7447
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7448
GNEAttributeProperties::Edit::EDITMODE,
7449
TL("ContainerStop end ID"));
7450
}
7451
if (tagProperties->planToChargingStation()) {
7452
new GNEAttributeProperties(tagProperties, SUMO_ATTR_CHARGING_STATION,
7453
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7454
GNEAttributeProperties::Edit::EDITMODE,
7455
TL("ChargingStation end ID"));
7456
}
7457
if (tagProperties->planToParkingArea()) {
7458
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PARKING_AREA,
7459
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7460
GNEAttributeProperties::Edit::EDITMODE,
7461
TL("ParkingArea end ID"));
7462
}
7463
}
7464
7465
7466
void
7467
GNETagPropertiesDatabase::fillPersonTripCommonAttributes(GNETagProperties* tagProperties) {
7468
// fill person trip common attributes
7469
fillVTypesAttribute(tagProperties);
7470
7471
new GNEAttributeProperties(tagProperties, SUMO_ATTR_MODES,
7472
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
7473
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7474
TL("List of possible traffic modes. Walking is always possible regardless of this value"));
7475
7476
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINES,
7477
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
7478
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7479
TL("list of vehicle alternatives to take for the person trip"));
7480
7481
new GNEAttributeProperties(tagProperties, SUMO_ATTR_WALKFACTOR,
7482
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7483
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7484
TL("Walk factor"),
7485
"0");
7486
7487
new GNEAttributeProperties(tagProperties, SUMO_ATTR_GROUP,
7488
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7489
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7490
TL("id of the travel group. Persons with the same group may share a taxi ride"));
7491
}
7492
7493
7494
void
7495
GNETagPropertiesDatabase::fillWalkCommonAttributes(GNETagProperties* tagProperties) {
7496
// fill walk common attributes
7497
new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEED,
7498
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7499
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7500
TLF("speed of the person for this % in m/s (not together with duration)", tagProperties->getTagStr()),
7501
"1.39");
7502
7503
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,
7504
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7505
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7506
TL("duration of the plan in second (not together with speed)"),
7507
"0");
7508
}
7509
7510
7511
void
7512
GNETagPropertiesDatabase::fillRideCommonAttributes(GNETagProperties* tagProperties) {
7513
// fill ride common attributes
7514
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINES,
7515
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
7516
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7517
TL("list of vehicle alternatives to take for the ride"));
7518
7519
new GNEAttributeProperties(tagProperties, SUMO_ATTR_GROUP,
7520
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7521
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7522
TL("id of the travel group. Persons with the same group may share a taxi ride"));
7523
}
7524
7525
7526
void
7527
GNETagPropertiesDatabase::fillTransportCommonAttributes(GNETagProperties* tagProperties) {
7528
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LINES,
7529
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
7530
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7531
TL("list of vehicle alternatives to take for the transport"));
7532
7533
new GNEAttributeProperties(tagProperties, SUMO_ATTR_GROUP,
7534
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7535
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7536
TL("id of the travel group. Persons with the same group may share a taxi ride"));
7537
}
7538
7539
7540
void
7541
GNETagPropertiesDatabase::fillTranshipCommonAttributes(GNETagProperties* tagProperties) {
7542
// fill tranship attributes
7543
new GNEAttributeProperties(tagProperties, SUMO_ATTR_SPEED,
7544
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7545
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7546
TL("speed of the person for this tranship in m/s (not together with duration)"),
7547
"1.39");
7548
7549
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,
7550
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7551
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7552
TL("duration of the plan in second (not together with speed)"),
7553
"0");
7554
}
7555
7556
7557
void
7558
GNETagPropertiesDatabase::fillPlanStopCommonAttributes(GNETagProperties* tagProperties) {
7559
// fill plan stop common attributes
7560
auto duration = new GNEAttributeProperties(tagProperties, SUMO_ATTR_DURATION,
7561
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,
7562
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7563
TL("Minimum duration for stopping"),
7564
"60");
7565
duration->setDefaultActivated(true);
7566
7567
new GNEAttributeProperties(tagProperties, SUMO_ATTR_UNTIL,
7568
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::ACTIVATABLE | GNEAttributeProperties::Property::DEFAULTVALUE,
7569
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7570
TL("The time step at which the route continues"),
7571
"0");
7572
7573
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ACTTYPE,
7574
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7575
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7576
TL("Activity displayed for stopped person in GUI and output files "));
7577
7578
// friendlyPos attribute only for stops over edges
7579
if (tagProperties->hasAttribute(SUMO_ATTR_EDGE)) {
7580
fillFriendlyPosAttribute(tagProperties);
7581
}
7582
}
7583
7584
7585
void
7586
GNETagPropertiesDatabase::fillDataElements() {
7587
// fill data set element
7588
SumoXMLTag currentTag = SUMO_TAG_DATASET;
7589
{
7590
// set values of tag
7591
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DATA],
7592
GNETagProperties::Type::DATAELEMENT,
7593
GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE,
7594
GNETagProperties::Over::VIEW,
7595
FileBucket::Type::DATA,
7596
GNETagProperties::Conflicts::NO_CONFLICTS,
7597
GUIIcon::DATASET, GUIGlObjectType::GLO_DATASET, currentTag, TL("DataSet"));
7598
7599
// set values of attributes
7600
fillIDAttribute(myTagProperties[currentTag], true);
7601
}
7602
// fill data interval element
7603
currentTag = SUMO_TAG_DATAINTERVAL;
7604
{
7605
// set values of tag
7606
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties[GNE_TAG_SUPERMODE_DATA],
7607
GNETagProperties::Type::DATAELEMENT,
7608
GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::XMLCHILD | GNETagProperties::Property::NOTSELECTABLE,
7609
GNETagProperties::Over::VIEW,
7610
FileBucket::Type::NOTHING,
7611
GNETagProperties::Conflicts::NO_CONFLICTS,
7612
GUIIcon::DATAINTERVAL, GUIGlObjectType::GLO_DATAINTERVAL, currentTag, TL("DataInterval"),
7613
{SUMO_TAG_DATASET});
7614
7615
// set values of attributes
7616
fillIDAttribute(myTagProperties[currentTag], true);
7617
7618
// set values of attributes
7619
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_BEGIN,
7620
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
7621
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7622
TL("Data interval begin time"),
7623
"0");
7624
7625
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_END,
7626
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
7627
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7628
TL("Data interval end time"),
7629
"3600");
7630
}
7631
// fill edge data element
7632
currentTag = GNE_TAG_EDGEREL_SINGLE;
7633
{
7634
// set values of tag
7635
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),
7636
GNETagProperties::Type::DATAELEMENT | GNETagProperties::Type::GENERICDATA,
7637
GNETagProperties::Property::NO_PROPERTY,
7638
GNETagProperties::Over::EDGE,
7639
FileBucket::Type::NOTHING,
7640
GNETagProperties::Conflicts::NO_CONFLICTS,
7641
GUIIcon::EDGEDATA, GUIGlObjectType::GLO_EDGEDATA, SUMO_TAG_EDGE, TL("EdgeRelationSingle"));
7642
}
7643
currentTag = SUMO_TAG_EDGEREL;
7644
{
7645
// set values of tag
7646
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),
7647
GNETagProperties::Type::DATAELEMENT | GNETagProperties::Type::GENERICDATA,
7648
GNETagProperties::Property::NO_PROPERTY,
7649
GNETagProperties::Over::FROM_EDGE | GNETagProperties::Over::TO_EDGE,
7650
FileBucket::Type::NOTHING,
7651
GNETagProperties::Conflicts::NO_CONFLICTS,
7652
GUIIcon::EDGERELDATA, GUIGlObjectType::GLO_EDGERELDATA, currentTag, TL("EdgeRelation"));
7653
7654
// set values of attributes
7655
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,
7656
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7657
GNEAttributeProperties::Edit::EDITMODE,
7658
TL("The ID of the edge the edgeRel starts at"));
7659
7660
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,
7661
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7662
GNEAttributeProperties::Edit::EDITMODE,
7663
TL("The ID of the edge the edgeRel ends at"));
7664
}
7665
currentTag = SUMO_TAG_TAZREL;
7666
{
7667
// set values of tag
7668
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_DATAS),
7669
GNETagProperties::Type::DATAELEMENT | GNETagProperties::Type::GENERICDATA,
7670
GNETagProperties::Property::RTREE | GNETagProperties::Property::XMLCHILD,
7671
GNETagProperties::Over::FROM_TAZ | GNETagProperties::Over::TO_TAZ,
7672
FileBucket::Type::NOTHING,
7673
GNETagProperties::Conflicts::NO_CONFLICTS,
7674
GUIIcon::TAZRELDATA, GUIGlObjectType::GLO_TAZRELDATA, currentTag, TL("TAZRelation"),
7675
{SUMO_TAG_DATAINTERVAL});
7676
7677
// set values of attributes
7678
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_FROM,
7679
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7680
GNEAttributeProperties::Edit::EDITMODE,
7681
TL("The name of the TAZ the TAZRel starts at"));
7682
7683
new GNEAttributeProperties(myTagProperties[currentTag], SUMO_ATTR_TO,
7684
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7685
GNEAttributeProperties::Edit::EDITMODE,
7686
TL("The name of the TAZ the TAZRel ends at"));
7687
}
7688
currentTag = SUMO_TAG_MEANDATA_EDGE;
7689
{
7690
// set values of tag
7691
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DATA),
7692
GNETagProperties::Type::MEANDATA,
7693
GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE,
7694
GNETagProperties::Over::VIEW,
7695
FileBucket::Type::MEANDATA | FileBucket::Type::ADDITIONAL,
7696
GNETagProperties::Conflicts::NO_CONFLICTS,
7697
GUIIcon::MEANDATAEDGE, GUIGlObjectType::GLO_MEANDATA, currentTag, TL("MeanDataEdge"));
7698
7699
// set values of attributes
7700
fillCommonMeanDataAttributes(myTagProperties[currentTag]);
7701
}
7702
currentTag = SUMO_TAG_MEANDATA_LANE;
7703
{
7704
// set values of tag
7705
myTagProperties[currentTag] = new GNETagProperties(currentTag, mySetTagProperties.at(GNE_TAG_SUPERMODE_DATA),
7706
GNETagProperties::Type::MEANDATA,
7707
GNETagProperties::Property::NOTDRAWABLE | GNETagProperties::Property::NOPARAMETERS | GNETagProperties::Property::NOTSELECTABLE,
7708
GNETagProperties::Over::VIEW,
7709
FileBucket::Type::MEANDATA | FileBucket::Type::ADDITIONAL,
7710
GNETagProperties::Conflicts::NO_CONFLICTS,
7711
GUIIcon::MEANDATALANE, GUIGlObjectType::GLO_MEANDATA, currentTag, TL("MeanDataLane"));
7712
7713
// set values of attributes
7714
fillCommonMeanDataAttributes(myTagProperties[currentTag]);
7715
}
7716
}
7717
7718
7719
void
7720
GNETagPropertiesDatabase::fillCommonMeanDataAttributes(GNETagProperties* tagProperties) {
7721
// fill all meanData attributes
7722
fillIDAttribute(tagProperties, true);
7723
7724
fillFileAttribute(tagProperties);
7725
7726
auto meanDataType = new GNEAttributeProperties(tagProperties, SUMO_ATTR_TYPE,
7727
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
7728
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7729
TL("Type of data generated by this mean data"),
7730
SUMOXMLDefinitions::MeanDataTypes.getString(MeanDataType::DEFAULT));
7731
meanDataType->setDiscreteValues(SUMOXMLDefinitions::MeanDataTypes.getStrings());
7732
7733
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERIOD,
7734
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
7735
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7736
TL("The aggregation period the values the detector collects shall be summed up"),
7737
"-1");
7738
7739
new GNEAttributeProperties(tagProperties, SUMO_ATTR_BEGIN,
7740
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
7741
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7742
TL("The time to start writing. If not given, the simulation's begin is used."),
7743
"-1");
7744
7745
new GNEAttributeProperties(tagProperties, SUMO_ATTR_END,
7746
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
7747
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7748
TL("The time to end writing. If not given the simulation's end is used."),
7749
"-1");
7750
7751
auto excludeEmpty = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EXCLUDE_EMPTY,
7752
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
7753
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7754
TL("If set to true, edges/lanes which were not used by a vehicle during this period will not be written"),
7755
SUMOXMLDefinitions::ExcludeEmptys.getString(ExcludeEmpty::FALSES));
7756
excludeEmpty->setDiscreteValues(SUMOXMLDefinitions::ExcludeEmptys.getStrings());
7757
7758
new GNEAttributeProperties(tagProperties, SUMO_ATTR_WITH_INTERNAL,
7759
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
7760
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7761
TL("If set, junction internal edges/lanes will be written as well"),
7762
GNEAttributeCarrier::FALSE_STR);
7763
7764
new GNEAttributeProperties(tagProperties, SUMO_ATTR_MAX_TRAVELTIME,
7765
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
7766
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7767
TL("The maximum travel time in seconds to write if only very small movements occur"),
7768
toString(100000));
7769
7770
new GNEAttributeProperties(tagProperties, SUMO_ATTR_MIN_SAMPLES,
7771
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
7772
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7773
TL("Consider an edge/lane unused if it has at most this many sampled seconds"),
7774
"0");
7775
7776
new GNEAttributeProperties(tagProperties, SUMO_ATTR_HALTING_SPEED_THRESHOLD,
7777
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::DEFAULTVALUE,
7778
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7779
TL("The maximum speed to consider a vehicle halting;"),
7780
"0.1");
7781
7782
new GNEAttributeProperties(tagProperties, SUMO_ATTR_VTYPES,
7783
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
7784
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7785
TL("space separated list of vehicle type ids to consider"));
7786
7787
new GNEAttributeProperties(tagProperties, SUMO_ATTR_TRACK_VEHICLES,
7788
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
7789
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7790
TL("whether aggregation should be performed over all vehicles that entered the edge/lane in the aggregation interval"),
7791
GNEAttributeCarrier::FALSE_STR);
7792
7793
fillDetectPersonsAttribute(tagProperties);
7794
7795
new GNEAttributeProperties(tagProperties, SUMO_ATTR_WRITE_ATTRIBUTES,
7796
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
7797
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7798
TL("List of attribute names that shall be written"));
7799
7800
new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGES,
7801
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
7802
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7803
TL("Restrict output to the given list of edge ids"));
7804
7805
auto edgesFile = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGESFILE,
7806
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILEOPEN | GNEAttributeProperties::Property::DEFAULTVALUE,
7807
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7808
TL("Restrict output to the given list of edges given in file"));
7809
edgesFile->setFilenameExtensions(SUMOXMLDefinitions::OutputFileExtensions.getStrings());
7810
7811
new GNEAttributeProperties(tagProperties, SUMO_ATTR_AGGREGATE,
7812
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
7813
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7814
TL("Whether the traffic statistic of all edges shall be aggregated into a single value"),
7815
GNEAttributeCarrier::FALSE_STR);
7816
}
7817
7818
7819
void
7820
GNETagPropertiesDatabase::fillIDAttribute(GNETagProperties* tagProperties, const bool createMode) {
7821
if (createMode) {
7822
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ID,
7823
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7824
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
7825
TLF("ID of %", tagProperties->getTagStr()));
7826
} else {
7827
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ID,
7828
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE,
7829
GNEAttributeProperties::Edit::EDITMODE,
7830
TLF("ID of %", tagProperties->getTagStr()));
7831
}
7832
}
7833
7834
7835
void
7836
GNETagPropertiesDatabase::fillNameAttribute(GNETagProperties* tagProperties) {
7837
new GNEAttributeProperties(tagProperties, SUMO_ATTR_NAME,
7838
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7839
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7840
TLF("Optional name for %", tagProperties->getTagStr()));
7841
}
7842
7843
7844
void
7845
GNETagPropertiesDatabase::fillEdgeAttribute(GNETagProperties* tagProperties, const bool synonymID) {
7846
if (synonymID) {
7847
// set values of attributes
7848
auto edge = new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGE,
7849
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7850
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
7851
TL("The id of an edge in the simulation network"));
7852
edge->setSynonym(SUMO_ATTR_ID);
7853
} else {
7854
new GNEAttributeProperties(tagProperties, SUMO_ATTR_EDGE,
7855
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7856
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
7857
TL("The id of an edge in the simulation network"));
7858
}
7859
}
7860
7861
7862
void
7863
GNETagPropertiesDatabase::fillLaneAttribute(GNETagProperties* tagProperties, const bool synonymID) {
7864
if (synonymID) {
7865
auto lane = new GNEAttributeProperties(tagProperties, SUMO_ATTR_LANE,
7866
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::SYNONYM | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7867
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
7868
TLF("The name of the lane the % shall be located at", tagProperties->getTagStr()));
7869
lane->setSynonym(SUMO_ATTR_ID);
7870
} else {
7871
new GNEAttributeProperties(tagProperties, SUMO_ATTR_LANE,
7872
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7873
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
7874
TLF("The name of the lane the % shall be located at", tagProperties->getTagStr()));
7875
}
7876
}
7877
7878
7879
void
7880
GNETagPropertiesDatabase::fillFriendlyPosAttribute(GNETagProperties* tagProperties) {
7881
new GNEAttributeProperties(tagProperties, SUMO_ATTR_FRIENDLY_POS,
7882
GNEAttributeProperties::Property::BOOL | GNEAttributeProperties::Property::DEFAULTVALUE,
7883
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7884
TL("If set, no error will be reported if element is placed behind the lane.") + std::string("\n") +
7885
TL("Instead, it will be placed 0.1 meters from the lanes end or at position 0.1,") + std::string("\n") +
7886
TL("if the position was negative and larger than the lanes length after multiplication with - 1"),
7887
GNEAttributeCarrier::FALSE_STR);
7888
}
7889
7890
7891
void
7892
GNETagPropertiesDatabase::fillVTypesAttribute(GNETagProperties* tagProperties) {
7893
new GNEAttributeProperties(tagProperties, SUMO_ATTR_VTYPES,
7894
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
7895
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7896
TL("Space separated list of vehicle type ids to consider"));
7897
}
7898
7899
7900
void
7901
GNETagPropertiesDatabase::fillFileAttribute(GNETagProperties* tagProperties) {
7902
auto file = new GNEAttributeProperties(tagProperties, SUMO_ATTR_FILE,
7903
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7904
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7905
TL("The path to the output file"));
7906
file->setFilenameExtensions(SUMOXMLDefinitions::OutputFileExtensions.getStrings());
7907
}
7908
7909
7910
void
7911
GNETagPropertiesDatabase::fillOutputAttribute(GNETagProperties* tagProperties) {
7912
auto output = new GNEAttributeProperties(tagProperties, SUMO_ATTR_OUTPUT,
7913
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILESAVE | GNEAttributeProperties::Property::DEFAULTVALUE,
7914
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7915
TL("Path to the output file for writing information"));
7916
output->setFilenameExtensions(SUMOXMLDefinitions::OutputFileExtensions.getStrings());
7917
}
7918
7919
7920
void
7921
GNETagPropertiesDatabase::fillImgFileAttribute(GNETagProperties* tagProperties, const bool isExtended) {
7922
GNEAttributeProperties* imgFile = nullptr;
7923
if (isExtended) {
7924
imgFile = new GNEAttributeProperties(tagProperties, SUMO_ATTR_IMGFILE,
7925
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILEOPEN | GNEAttributeProperties::Property::DEFAULTVALUE,
7926
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::EXTENDEDEDITOR,
7927
TLF("A bitmap to use for rendering this %", tagProperties->getTagStr()));
7928
} else {
7929
imgFile = new GNEAttributeProperties(tagProperties, SUMO_ATTR_IMGFILE,
7930
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::FILEOPEN | GNEAttributeProperties::Property::DEFAULTVALUE,
7931
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7932
TLF("A bitmap to use for rendering this %", tagProperties->getTagStr()));
7933
}
7934
imgFile->setFilenameExtensions(SUMOXMLDefinitions::ImageFileExtensions.getStrings());
7935
}
7936
7937
7938
void
7939
GNETagPropertiesDatabase::fillDepartAttribute(GNETagProperties* tagProperties) {
7940
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DEPART,
7941
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DEFAULTVALUE,
7942
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7943
TLF("The departure time of the (first) % which is generated using this trip definition", tagProperties->getTagStr()),
7944
"0");
7945
}
7946
7947
7948
void
7949
GNETagPropertiesDatabase::fillAllowDisallowAttributes(GNETagProperties* tagProperties) {
7950
new GNEAttributeProperties(tagProperties, SUMO_ATTR_ALLOW,
7951
GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
7952
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
7953
TL("Explicitly allows the given vehicle classes (not given will be not allowed)"),
7954
"all");
7955
7956
new GNEAttributeProperties(tagProperties, SUMO_ATTR_DISALLOW,
7957
GNEAttributeProperties::Property::VCLASS | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::COPYABLE,
7958
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
7959
TL("Explicitly disallows the given vehicle classes (not given will be allowed)"));
7960
}
7961
7962
7963
void
7964
GNETagPropertiesDatabase::fillPosOverLaneAttribute(GNETagProperties* tagProperties) {
7965
new GNEAttributeProperties(tagProperties, SUMO_ATTR_POSITION,
7966
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::UNIQUE | GNEAttributeProperties::Property::DEFAULTVALUE | GNEAttributeProperties::Property::UPDATEGEOMETRY,
7967
GNEAttributeProperties::Edit::EDITMODE | GNEAttributeProperties::Edit::DIALOGEDITOR,
7968
TLF("The position on the lane the % shall be laid on in meters", tagProperties->getTagStr()),
7969
"0");
7970
}
7971
7972
7973
void
7974
GNETagPropertiesDatabase::fillDetectPersonsAttribute(GNETagProperties* tagProperties) {
7975
auto detectPersons = new GNEAttributeProperties(tagProperties, SUMO_ATTR_DETECT_PERSONS,
7976
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::DISCRETE | GNEAttributeProperties::Property::DEFAULTVALUE,
7977
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7978
TL("Detect persons instead of vehicles (pedestrians or passengers)"),
7979
SUMOXMLDefinitions::PersonModeValues.getString(PersonMode::NONE));
7980
detectPersons->setDiscreteValues(SUMOXMLDefinitions::PersonModeValues.getStrings());
7981
}
7982
7983
7984
void
7985
GNETagPropertiesDatabase::fillColorAttribute(GNETagProperties* tagProperties, const std::string& defaultColor) {
7986
new GNEAttributeProperties(tagProperties, SUMO_ATTR_COLOR,
7987
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::COLOR | GNEAttributeProperties::Property::DEFAULTVALUE,
7988
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7989
TLF("The RGBA color with which the % shall be displayed", tagProperties->getTagStr()),
7990
defaultColor);
7991
}
7992
7993
7994
void
7995
GNETagPropertiesDatabase::fillDetectorPeriodAttribute(GNETagProperties* tagProperties) {
7996
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PERIOD,
7997
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
7998
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
7999
TLF("The aggregation period the values the % detector collects shall be summed up", tagProperties->getTagStr()),
8000
"300");
8001
}
8002
8003
8004
void
8005
GNETagPropertiesDatabase::fillDetectorNextEdgesAttribute(GNETagProperties* tagProperties) {
8006
new GNEAttributeProperties(tagProperties, SUMO_ATTR_NEXT_EDGES,
8007
GNEAttributeProperties::Property::STRING | GNEAttributeProperties::Property::LIST | GNEAttributeProperties::Property::DEFAULTVALUE,
8008
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
8009
TL("List of edge ids that must all be part of the future route of the vehicle to qualify for detection"));
8010
}
8011
8012
8013
void
8014
GNETagPropertiesDatabase::fillDetectorThresholdAttributes(GNETagProperties* tagProperties, const bool includingJam) {
8015
new GNEAttributeProperties(tagProperties, SUMO_ATTR_HALTING_TIME_THRESHOLD,
8016
GNEAttributeProperties::Property::SUMOTIME | GNEAttributeProperties::Property::DEFAULTVALUE,
8017
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
8018
TL("The time-based threshold that describes how much time has to pass until a vehicle is recognized as halting)"),
8019
"1");
8020
8021
new GNEAttributeProperties(tagProperties, SUMO_ATTR_HALTING_SPEED_THRESHOLD,
8022
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
8023
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
8024
TL("The speed-based threshold that describes how slow a vehicle has to be to be recognized as halting) in m/s"),
8025
"1.39");
8026
if (includingJam) {
8027
new GNEAttributeProperties(tagProperties, SUMO_ATTR_JAM_DIST_THRESHOLD,
8028
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
8029
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
8030
TL("The maximum distance to the next standing vehicle in order to make this vehicle count as a participant to the jam in m"),
8031
"10");
8032
}
8033
}
8034
8035
8036
void
8037
GNETagPropertiesDatabase::fillDistributionProbability(GNETagProperties* tagProperties, const bool defaultValue) {
8038
if (defaultValue) {
8039
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PROB,
8040
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE | GNEAttributeProperties::Property::DEFAULTVALUE,
8041
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
8042
TL("The probability when being added to a distribution"),
8043
toString(DEFAULT_VEH_PROB));
8044
} else {
8045
new GNEAttributeProperties(tagProperties, SUMO_ATTR_PROB,
8046
GNEAttributeProperties::Property::FLOAT | GNEAttributeProperties::Property::POSITIVE,
8047
GNEAttributeProperties::Edit::CREATEMODE | GNEAttributeProperties::Edit::EDITMODE,
8048
TL("The probability when being added to a distribution"));
8049
}
8050
}
8051
8052
8053
void
8054
GNETagPropertiesDatabase::updateMaxNumberOfAttributesEditorRows() {
8055
for (const auto& tagPropertyItem : myTagProperties) {
8056
int basicEditableAttributes = 0;
8057
int geoAttributes = 0;
8058
int flowAttributes = 0;
8059
int neteditAttributes = 0;
8060
for (const auto& attributeProperty : tagPropertyItem.second->getAttributeProperties()) {
8061
if (attributeProperty->isCreateMode() || attributeProperty->isEditMode()) {
8062
if (attributeProperty->isBasicEditor()) {
8063
basicEditableAttributes++;
8064
}
8065
if (attributeProperty->isGeoEditor()) {
8066
geoAttributes++;
8067
}
8068
if (attributeProperty->isFlowEditor()) {
8069
flowAttributes++;
8070
}
8071
if (attributeProperty->isNeteditEditor()) {
8072
neteditAttributes++;
8073
}
8074
}
8075
}
8076
if (myMaxNumberOfEditableAttributeRows < basicEditableAttributes) {
8077
myMaxNumberOfEditableAttributeRows = basicEditableAttributes;
8078
}
8079
if (myMaxNumberOfGeoAttributeRows < geoAttributes) {
8080
myMaxNumberOfGeoAttributeRows = geoAttributes;
8081
}
8082
if (myMaxNumberOfFlowAttributeRows < flowAttributes) {
8083
myMaxNumberOfFlowAttributeRows = flowAttributes;
8084
}
8085
if (myMaxNumberOfNeteditAttributeRows < neteditAttributes) {
8086
myMaxNumberOfNeteditAttributeRows = neteditAttributes;
8087
}
8088
}
8089
}
8090
8091
8092
void
8093
GNETagPropertiesDatabase::updateMaxHierarchyDepth() {
8094
for (const auto& tagPropertyItem : myTagProperties) {
8095
const int hierarchySize = (int)tagPropertyItem.second->getHierarchicalParentsRecuersively().size();
8096
if (hierarchySize > myHierarchyDepth) {
8097
myHierarchyDepth = hierarchySize;
8098
}
8099
}
8100
}
8101
8102
/****************************************************************************/
8103
8104