Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNETagProperties.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.
4// This program and the accompanying materials are made available under the
5// terms of the Eclipse Public License 2.0 which is available at
6// https://www.eclipse.org/legal/epl-2.0/
7// This Source Code may also be made available under the following Secondary
8// Licenses when the conditions for such availability set forth in the Eclipse
9// Public License 2.0 are satisfied: GNU General Public License, version 2
10// or later which is available at
11// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13/****************************************************************************/
18// Abstract Base class for tag properties used in GNEAttributeCarrier
19/****************************************************************************/
20#pragma once
21#include <config.h>
22
27
28// ===========================================================================
29// class definitions
30// ===========================================================================
31
33
34public:
35
37 enum class Type : std::uint64_t {
38 // basic types
39 NETWORKELEMENT = 1ULL << 0, // Network elements (Edges, Junctions, Lanes...)
40 ADDITIONALELEMENT = 1ULL << 1, // Additional elements (Bus Stops, Charging Stations, Detectors...)
41 DEMANDELEMENT = 1ULL << 2, // Demand elements (Routes, Vehicles, Trips...)
42 DATAELEMENT = 1ULL << 3, // Data elements (DataSets, Data Intervals, EdgeData...)
43 // sub additional elements
44 STOPPINGPLACE = 1ULL << 4, // StoppingPlaces (BusStops, ChargingStations...)
45 DETECTOR = 1ULL << 5, // Detectors (E1, E2...)
46 CALIBRATOR = 1ULL << 6, // Calibrators
47 SHAPE = 1ULL << 7, // Shapes (Polygons and POIs)
48 TAZELEMENT = 1ULL << 8, // Traffic Assignment Zones
49 WIRE = 1ULL << 9, // Wire elements
50 JUPEDSIM = 1ULL << 10, // JuPedSim elements
51 // sub demand elements
52 VTYPE = 1ULL << 11, // Vehicle types (vType and vTypeDistribution)
53 VEHICLE = 1ULL << 12, // Vehicles (Vehicles, trips, flows...)
54 ROUTE = 1ULL << 13, // Routes and embedded routes
55 STOP_VEHICLE = 1ULL << 14, // Vehicle stops
56 WAYPOINT_VEHICLE = 1ULL << 15, // Vehicle waypoints (note: All waypoints are also Stops)
57 FLOW = 1ULL << 16, // Flows
58 // persons
59 PERSON = 1ULL << 17, // Persons (Persons and personFlows)
60 PERSONPLAN = 1ULL << 18, // Person plans (Walks, rides, personTrips and stopPersons)
61 PERSONTRIP = 1ULL << 19, // Person Trips
62 WALK = 1ULL << 20, // Walks
63 RIDE = 1ULL << 21, // Rides
64 STOP_PERSON = 1ULL << 22, // Person stops
65 // containers
66 CONTAINER = 1ULL << 23, // Containers (Containers and personFlows)
67 CONTAINERPLAN = 1ULL << 24, // Container plans (transport, tranships and containerStops)
68 TRANSPORT = 1ULL << 25, // Transport
69 TRANSHIP = 1ULL << 26, // Tranship
70 STOP_CONTAINER = 1ULL << 27, // Container stops
71 // sub data elements
72 GENERICDATA = 1ULL << 28, // Generic data (GNEEdgeData, GNELaneData...)
73 MEANDATA = 1ULL << 29, // Mean datas
74 // distributions
75 DISTRIBUTION = 1ULL << 30, // Element is a distribution (routeDistribution or vTypeDistribution)
76 DISTRIBUTIONREF = 1ULL << 31, // Element is a distribution reference of routeDistribution or vTypeDistribution
77 // other
78 INTERNALLANE = 1ULL << 32, // Internal Lane
79 OTHER = 1ULL << 33, // Other type (used for TAZSourceSinks, VTypes, etc.)
80 };
81
83 enum class Property : std::uint64_t {
84 NOTDRAWABLE = 1ULL << 0, // Element cannot be drawn in view
85 GEOSHAPE = 1ULL << 1, // Element's shape acn be defined using a GEO Shape
86 DIALOG = 1ULL << 2, // Element can be edited using a dialog (GNECalibratorDialog, GNERerouterDialog...)
87 XMLCHILD = 1ULL << 3, // Element is child of another element and will be written in XML (Example: E3Entry -> E3Detector...)
88 REPARENT = 1ULL << 4, // Element can be reparent
89 NOTSELECTABLE = 1ULL << 5, // Element cannot be selected
90 NOPARAMETERS = 1ULL << 6, // Element doesn't accept parameters "key1=value1|key2=value2|...|keyN=valueN" (by default all tags supports parameters)
91 RTREE = 1ULL << 7, // Element is placed in RTREE
92 CENTERAFTERCREATION = 1ULL << 8, // Camera is moved after element creation
93 REQUIRE_PROJ = 1ULL << 9, // Element require a geo-projection defined in network
94 VCLASS_ICON = 1ULL << 10, // Element returns icon depending of their vClass
95 SYMBOL = 1ULL << 11, // Element is a symbol (VSSSymbols, RerouterSymbols...)
96 EXTENDED = 1ULL << 12, // Element contains extended attributes (Usually vTypes)
97 HIERARCHICAL = 1ULL << 13, // Element is a hierarchical
98 LISTED = 1ULL << 14, // Element is a listed elements (for example, rerouter children)
99 NO_PROPERTY = 1ULL << 15, // Element doesn't have properties
100 };
101
103 enum class Over : std::uint64_t {
104 VIEW = 1ULL << 0, // No parents
105 JUNCTION = 1ULL << 1, // Placed over junction
106 EDGE = 1ULL << 2, // Placed over edge
107 EDGES = 1ULL << 3, // Placed over edges
108 CONSECUTIVE_EDGES = 1ULL << 4, // Placed over consecutive
109 LANE = 1ULL << 5, // Placed over lane
110 LANES = 1ULL << 6, // Placed over lanes
111 CONSECUTIVE_LANES = 1ULL << 4, // Placed over consecutive lanes
112 ROUTE = 1ULL << 7, // Placed over route
113 ROUTE_EMBEDDED = 1ULL << 8, // Placed over route embedded
114 BUSSTOP = 1ULL << 9, // Placed over busStop
115 TRAINSTOP = 1ULL << 10, // Placed over trainStop
116 CONTAINERSTOP = 1ULL << 11, // Placed over containerStop
117 CHARGINGSTATION = 1ULL << 12, // Placed over charging station
118 PARKINGAREA = 1ULL << 13, // Placed over parking area
119 FROM_EDGE = 1ULL << 14, // Starts in edge
120 FROM_TAZ = 1ULL << 15, // Starts in TAZ
121 FROM_JUNCTION = 1ULL << 16, // Starts in junction
122 FROM_BUSSTOP = 1ULL << 17, // Starts in busStop
123 FROM_TRAINSTOP = 1ULL << 18, // Starts in trainStop
124 FROM_CONTAINERSTOP = 1ULL << 19, // Starts in containerStop
125 FROM_CHARGINGSTATION = 1ULL << 20, // Starts in chargingStation
126 FROM_PARKINGAREA = 1ULL << 21, // Starts in parkingArea
127 TO_EDGE = 1ULL << 22, // Ends in edge
128 TO_TAZ = 1ULL << 23, // Ends in TAZ
129 TO_JUNCTION = 1ULL << 24, // Ends in junction
130 TO_BUSSTOP = 1ULL << 25, // Ends in busStop
131 TO_TRAINSTOP = 1ULL << 26, // Ends in trainStop
132 TO_CONTAINERSTOP = 1ULL << 27, // Ends in containerStop
133 TO_CHARGINGSTATION = 1ULL << 28, // Ends in chargingStation
134 TO_PARKINGAREA = 1ULL << 29, // Ends in parkingArea
135 };
136
138 enum class File : std::uint64_t {
139 NETWORK = 1ULL << 0, // Element can be saved in a network file
140 ADDITIONAL = 1ULL << 1, // Element can be saved in a additional file
141 DEMAND = 1ULL << 2, // Element can be saved in a demand file
142 DATA = 1ULL << 3, // Element can be saved in a data file
143 MEANDATA = 1ULL << 4, // Element can be saved in a meanData file
144 JUNCTION = 1ULL << 5, // Element can be saved in a joined junction file
145 TYPE = 1ULL << 6, // Element can be saved in a edge type file
146 TLS = 1ULL << 7, // Element can be saved in a TLS file
147 };
148
149 // @brief conflicts
150 enum class Conflicts : std::uint64_t {
151 POS_LANE = 1ULL << 0, // Position over lane isn't valid
152 POS_LANE_START = 1ULL << 1, // Start position over lane isn't valid
153 POS_LANE_END = 1ULL << 2, // End position over lane isn't valid
154 NO_ADDITIONAL_CHILDREN = 1ULL << 3, // Element doesn't have additional children
155 NO_CONFLICTS = 1ULL << 4, // Element doesn't have conflicts
156 };
157
160
162 GNETagProperties(const SumoXMLTag tag, GNETagProperties* parent, const Type type, const Property property, const Over over,
163 const File file, const Conflicts conflicts, const GUIIcon icon, const GUIGlObjectType GLType, const SumoXMLTag XMLTag,
164 const std::string tooltipText, std::vector<SumoXMLTag> XMLParentTags = {},
165 const unsigned int backgroundColor = FXRGBA(255, 255, 255, 255), const std::string selectorText = "");
166
168 GNETagProperties(const SumoXMLTag tag, GNETagProperties* parent, const GUIIcon icon, const std::string tooltip,
169 const unsigned int backgroundColor = FXRGBA(255, 255, 255, 255), const std::string selectorText = "");
170
173
175 SumoXMLTag getTag() const;
176
178 const std::string& getTagStr() const;
179
181 void checkTagIntegrity() const;
182
184 const std::string& getSelectorText() const;
185
187 const std::string& getTooltipText() const;
188
190 unsigned int getBackGroundColor() const;
191
193 const std::vector<const GNEAttributeProperties*>& getAttributeProperties() const;
194
197
199 const GNEAttributeProperties* getAttributeProperties(const int index) const;
200
202 const GNEAttributeProperties* at(int index) const;
203
205 bool hasAttribute(SumoXMLAttr attr) const;
206
208 int getNumberOfAttributes() const;
209
211 GUIIcon getGUIIcon() const;
212
215
218
220 SumoXMLTag getXMLTag() const;
221
223 const std::vector<SumoXMLTag>& getXMLParentTags() const;
224
226 bool canBeReparent() const;
227
230
232 const std::string& getDefaultStringValue(SumoXMLAttr attr) const;
233
235 int getDefaultIntValue(SumoXMLAttr attr) const;
236
238 double getDefaultDoubleValue(SumoXMLAttr attr) const;
239
242
244 bool getDefaultBoolValue(SumoXMLAttr attr) const;
245
247 const RGBColor& getDefaultColorValue(SumoXMLAttr attr) const;
248
250
253
256
258 const std::vector<const GNETagProperties*> getHierarchicalParentsRecuersively() const;
259
261 const std::vector<const GNETagProperties*>& getHierarchicalChildren() const;
262
264 std::vector<const GNETagProperties*> getHierarchicalChildrenRecursively() const;
265
267 std::map<std::string, const GNEAttributeProperties*> getHierarchicalChildrenAttributesRecursively(const bool onlyCommon, const bool onlyDrawables) const;
268
270
272 Supermode getSupermode() const;
273
275 bool isHierarchicalTag() const;
276
279
281 bool isNetworkElement() const;
282
284 bool isAdditionalElement() const;
285
287 bool isAdditionalPureElement() const;
288
290 bool isDemandElement() const;
291
293 bool isDataElement() const;
294
296 bool isOtherElement() const;
297
299
303 bool isStoppingPlace() const;
304
306 bool isDetector() const;
307
309 bool isCalibrator() const;
310
312 bool isShapeElement() const;
313
315 bool isTAZElement() const;
316
318 bool isWireElement() const;
319
321 bool isJuPedSimElement() const;
322
324
328 bool isType() const;
329
331 bool isVehicle() const;
332
334 bool isRoute() const;
335
337 bool isVehicleStop() const;
338
340 bool isVehicleWaypoint() const;
341
343 bool isFlow() const;
344
346 bool isPerson() const;
347
349 bool isContainer() const;
350
352 bool hasTypeParent() const;
353
355 bool isDistribution() const;
356
358 bool isDistributionReference() const;
359
361 bool isTypeDistribution() const;
362
364 bool isRouteDistribution() const;
365
367
371 bool isPlan() const;
372
374 bool isPlanPerson() const;
375
377 bool isPlanContainer() const;
378
380 bool isPlanPersonTrip() const;
381
383 bool isPlanWalk() const;
384
386 bool isPlanRide() const;
387
389 bool isPlanTransport() const;
390
392 bool isPlanTranship() const;
393
395 bool isPlanStop() const;
396
398 bool isPlanStopPerson() const;
399
401 bool isPlanStopContainer() const;
402
404
408 bool isGenericData() const;
409
411 bool isMeanData() const;
412
414
417
419 bool vehicleRoute() const;
420
422 bool vehicleRouteEmbedded() const;
423
425 bool vehicleEdges() const;
426
428 bool vehicleJunctions() const;
429
431 bool vehicleTAZs() const;
432
434
438 bool planConsecutiveEdges() const;
439
441 bool planRoute() const;
442
444 bool planEdge() const;
445
447 bool planBusStop() const;
448
450 bool planTrainStop() const;
451
453 bool planContainerStop() const;
454
456 bool planChargingStation() const;
457
459 bool planParkingArea() const;
460
462 bool planStoppingPlace() const;
463
465 bool planFromTo() const;
466
468 bool planFromEdge() const;
469
471 bool planFromTAZ() const;
472
474 bool planFromJunction() const;
475
477 bool planFromBusStop() const;
478
480 bool planFromTrainStop() const;
481
483 bool planFromContainerStop() const;
484
486 bool planFromChargingStation() const;
487
489 bool planFromParkingArea() const;
490
492 bool planFromStoppingPlace() const;
493
495 bool planToEdge() const;
496
498 bool planToTAZ() const;
499
501 bool planToJunction() const;
502
504 bool planToBusStop() const;
505
507 bool planToTrainStop() const;
508
510 bool planToContainerStop() const;
511
513 bool planToChargingStation() const;
514
516 bool planToParkingArea() const;
517
519 bool planToStoppingPlace() const;
520
522
526 bool isChild() const;
527
529 bool isSymbol() const;
530
532 bool isInternalLane() const;
533
535 bool isDrawable() const;
536
538 bool isSelectable() const;
539
541 bool hasGEOShape() const;
542
544 bool hasDialog() const;
545
547 bool hasExtendedAttributes() const;
548
550 bool hasParameters() const;
551
553 bool isPlacedInRTree() const;
554
556 bool isListedElement() const;
557
559 bool canCenterCameraAfterCreation() const;
560
562 bool requireProj() const;
563
565 bool vClassIcon() const;
566
568
572 bool saveInNetworkFile() const;
573
575 bool saveInAdditionalFile() const;
576
578 bool saveInDemandFile() const;
579
581 bool saveInDataFile() const;
582
584 bool saveInMeanDataFile() const;
585
587 bool saveInJunctionFile() const;
588
590 bool saveInEdgeTypeFile() const;
591
593 bool saveInTLSFile() const;
594
596
597protected:
599 void addChild(const GNETagProperties* child);
600
601private:
604
606 const std::string myTagStr;
607
609 const GNETagProperties* myParent = nullptr;
610
612 std::vector<const GNETagProperties*> myChildren;
613
616
619
622
625
628
630 std::vector<const GNEAttributeProperties*> myAttributeProperties;
631
634
637
640
642 const std::string myTooltipText;
643
645 const std::vector<SumoXMLTag> myXMLParentTags;
646
648 const std::string mySelectorText;
649
651 const unsigned int myBackgroundColor = 0;
652
654 void getChildrenTagProperties(const GNETagProperties* tagProperties, std::vector<const GNETagProperties*>& result) const;
655
657 void getChildrenAttributes(const GNETagProperties* tagProperties, std::map<std::string, const GNEAttributeProperties*>& result, const bool onlyDrawables) const;
658
661
664
667};
668
671 return static_cast<GNETagProperties::Type>(static_cast<std::uint64_t>(a) | static_cast<std::uint64_t>(b));
672}
673
676 return (static_cast<std::uint64_t>(a) & static_cast<std::uint64_t>(b)) != 0;
677}
678
681 return static_cast<GNETagProperties::Property>(static_cast<std::uint64_t>(a) | static_cast<std::uint64_t>(b));
682}
683
686 return (static_cast<std::uint64_t>(a) & static_cast<std::uint64_t>(b)) != 0;
687}
688
691 return static_cast<GNETagProperties::Over>(static_cast<std::uint64_t>(a) | static_cast<std::uint64_t>(b));
692}
693
696 return (static_cast<std::uint64_t>(a) & static_cast<std::uint64_t>(b)) != 0;
697}
698
701 return static_cast<GNETagProperties::File>(static_cast<std::uint64_t>(a) | static_cast<std::uint64_t>(b));
702}
703
706 return (static_cast<std::uint64_t>(a) & static_cast<std::uint64_t>(b)) != 0;
707}
708
711 return static_cast<GNETagProperties::Conflicts>(static_cast<std::uint64_t>(a) | static_cast<std::uint64_t>(b));
712}
713
716 return (static_cast<std::uint64_t>(a) & static_cast<std::uint64_t>(b)) != 0;
717}
718
719/****************************************************************************/
constexpr bool operator&(GNETagProperties::Type a, GNETagProperties::Type b)
override tag parent bit operator
constexpr GNETagProperties::Type operator|(GNETagProperties::Type a, GNETagProperties::Type b)
override tag parent bit operator
Supermode
@brie enum for supermodes
long long int SUMOTime
Definition GUI.h:36
GUIGlObjectType
@ GLO_MAX
empty max
GUIIcon
An enumeration of icons used by the gui applications.
Definition GUIIcons.h:33
@ EMPTY
Definition GUIIcons.h:59
SumoXMLTag
Numbers representing SUMO-XML - element names.
@ SUMO_TAG_NOTHING
invalid tag, must be the last one
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
const unsigned char TLS[]
Definition TLS.cpp:22
bool hasExtendedAttributes() const
return true if tag correspond to an element that contains extended attributes
const std::string & getTooltipText() const
get tooltip text
bool isPlanTransport() const
return true if tag correspond to a transport
bool isMeanData() const
return true if tag correspond to a mean data element
Over
element in which this element is placed
bool isContainer() const
return true if tag correspond to a container element
bool planToContainerStop() const
return true if tag correspond to a plan that starts in containerStop
bool canBeReparent() const
return true if tag correspond to an element that can be reparent
bool isShapeElement() const
return true if tag correspond to a shape
const std::string & getSelectorText() const
get field string (by default tag in string format)
bool vClassIcon() const
return true if tag correspond to an element that has vClass icons
bool getDefaultBoolValue(SumoXMLAttr attr) const
get default bool value
bool planFromChargingStation() const
return true if tag correspond to a plan that starts in chargingStation
bool isPlan() const
plans
bool planFromJunction() const
return true if tag correspond to a plan that starts in junction
bool isTAZElement() const
return true if tag correspond to a TAZ element
bool isFlow() const
return true if tag correspond to a flow element
bool isTypeDistribution() const
return true if tag correspond to a type distribution element
bool hasGEOShape() const
return true if tag correspond to an element that can use a geo shape
bool saveInDataFile() const
element is saved in a data file
File
files in which element can be saved
GUIGlObjectType getGLType() const
get GUIGlObjectType associated with this tag property
bool planToBusStop() const
return true if tag correspond to a plan that starts in busStop
const Property myProperty
tag properties
bool isOtherElement() const
return true if tag correspond to a other element (sourceSinks, vTypes, etc.)
std::map< std::string, const GNEAttributeProperties * > getHierarchicalChildrenAttributesRecursively(const bool onlyCommon, const bool onlyDrawables) const
get all children attributes sorted by name (Including this)
bool isGenericData() const
data elements
const unsigned int myBackgroundColor
background color (used in labels and textFields, by default white)
bool planToStoppingPlace() const
return true if tag correspond to a plan that ends in stoppingPlace
bool isListedElement() const
return true if Tag correspond to a listed element
bool planFromContainerStop() const
return true if tag correspond to a plan that starts in containerStop
const std::string & getTagStr() const
get Tag vinculated with this attribute Property in String Format (used to avoid multiple calls to toS...
bool planFromTo() const
return true if tag correspond to a plan with from-to parents
const RGBColor & getDefaultColorValue(SumoXMLAttr attr) const
get default bool value
const std::string myTooltipText
tooltip text
std::vector< const GNETagProperties * > myChildren
tag property children
bool planRoute() const
return true if tag correspond to a plan placed over route
bool saveInAdditionalFile() const
element is saved in an additional file
const SumoXMLTag myTag
Sumo XML Tag vinculated wit this tag Property.
GNETagProperties(const GNETagProperties &)=delete
Invalidated copy constructor.
bool isChild() const
properties
const std::vector< SumoXMLTag > myXMLParentTags
vector with XML parent tags (used by child elements like access or spaces)
bool planStoppingPlace() const
return true if tag correspond to a plan placed in stoppingPlace
bool isNetworkElement() const
network elements
const GNETagProperties * myParent
tag property parent
bool saveInDemandFile() const
element is saved in a demand file
bool isDataElement() const
return true if tag correspond to a data element
double getDefaultDoubleValue(SumoXMLAttr attr) const
get default double value
bool isSelectable() const
return true if tag correspond to a selectable element
bool planToJunction() const
return true if tag correspond to a plan that starts in junction
bool isType() const
demand elements
bool planFromParkingArea() const
return true if tag correspond to a plan that starts in parkingAera
bool isRoute() const
return true if tag correspond to a route element
bool isVehicle() const
return true if tag correspond to a vehicle element
bool isDistributionReference() const
return true if tag correspond to a dstribution reference element
bool planParkingArea() const
return true if tag correspond to a plan placed over parkingArea
SUMOTime getDefaultTimeValue(SumoXMLAttr attr) const
get default time value
bool isPlanStop() const
return true if tag correspond to a stop plan
bool planToTAZ() const
return true if tag correspond to a plan that starts in TAZ
bool planFromStoppingPlace() const
return true if tag correspond to a plan that starts in stoppingPlace
bool planConsecutiveEdges() const
plan parents
const std::vector< const GNETagProperties * > getHierarchicalParentsRecuersively() const
get all parents, beginning from current element (root not included) until this element
std::vector< const GNETagProperties * > getHierarchicalChildrenRecursively() const
get all children tags (Including children of their children)
const File myFile
tag file
bool isDistribution() const
return true if tag correspond to a distribution element
bool isHierarchicalTag() const
check if this is a hierarchical tag
bool isPlacedInRTree() const
return true if Tag correspond to an element that has to be placed in RTREE
bool vehicleJunctions() const
return true if tag correspond to a vehicle placed over from-to junctions
bool isPlanStopContainer() const
return true if tag correspond to a container stop plan
bool saveInEdgeTypeFile() const
element is saved in a edge type file
GNETagProperties()=delete
default constructor
GUIIcon getGUIIcon() const
get GUI icon associated to this tag property
bool hasParameters() const
return true if Tag correspond to an element that supports parameters "key1=value1|key2=value2|....
bool isStoppingPlace() const
additional elements
bool hasTypeParent() const
return true if tag correspond to an element with a type as a first parent
GNETagProperties(const SumoXMLTag tag, GNETagProperties *parent, const Type type, const Property property, const Over over, const File file, const Conflicts conflicts, const GUIIcon icon, const GUIGlObjectType GLType, const SumoXMLTag XMLTag, const std::string tooltipText, std::vector< SumoXMLTag > XMLParentTags={}, const unsigned int backgroundColor=FXRGBA(255, 255, 255, 255), const std::string selectorText="")
parameter constructor
const GNEAttributeProperties * at(int index) const
get attribute value
void getChildrenAttributes(const GNETagProperties *tagProperties, std::map< std::string, const GNEAttributeProperties * > &result, const bool onlyDrawables) const
recursive function for get all children attributes (Including this)
const std::string myTagStr
Sumo XML Tag vinculated wit this tag Property in String format.
bool isCalibrator() const
return true if tag correspond to a calibrator (Only used to group all detectors in the XML)
const std::vector< const GNETagProperties * > & getHierarchicalChildren() const
get children of this tag property
bool isDrawable() const
return true if tag correspond to a drawable element
SumoXMLTag getTag() const
get Tag vinculated with this attribute Property
const Conflicts myConflicts
conflicts
bool planFromEdge() const
return true if tag correspond to a plan that starts in edge
Supermode getSupermode() const
get supermode associated with this tag
friend class GNEAttributeProperties
declare friend class
bool planFromBusStop() const
return true if tag correspond to a plan that starts in busStop
bool isDetector() const
return true if tag correspond to a shape (Only used to group all detectors in the XML)
bool planFromTrainStop() const
return true if tag correspond to a plan that starts in trainStop
void checkTagIntegrity() const
check Tag integrity (this include all their attributes)
bool planToTrainStop() const
return true if tag correspond to a plan that starts in trainStop
bool planFromTAZ() const
return true if tag correspond to a plan that starts in TAZ
bool vehicleRouteEmbedded() const
return true if tag correspond to a vehicle placed over an embedded route
bool canCenterCameraAfterCreation() const
return true if tag correspond to an element that center camera after creation
bool isRouteDistribution() const
return true if tag correspond to a route distribution element
bool isJuPedSimElement() const
return true if tag correspond to a JuPedSim element
bool isPlanContainer() const
return true if tag correspond to a container plan
bool isPlanPersonTrip() const
return true if tag correspond to a person trip plan
GNETagProperties & operator=(const GNETagProperties &src)=delete
Invalidated assignment operator.
bool planEdge() const
return true if tag correspond to a plan placed over edge
bool hasDialog() const
return true if tag correspond to an element that can be edited using a dialog
bool isAdditionalPureElement() const
return true if tag correspond to a pure additional element
const SumoXMLTag myXMLTag
Tag written in XML and used in GNENetHelper::AttributeCarriers.
bool saveInTLSFile() const
element is saved in a TLS type file
void getChildrenTagProperties(const GNETagProperties *tagProperties, std::vector< const GNETagProperties * > &result) const
recursive function for get all children tag properites (Including this)
bool saveInMeanDataFile() const
element is saved in a meanData file
const std::string mySelectorText
text show in selector text
const Over myOver
tag over
bool isWireElement() const
return true if tag correspond to a Wire element
const GNETagProperties * getHierarchicalParent() const
hierarchy functions
int getNumberOfAttributes() const
get number of attributes
bool saveInJunctionFile() const
element is saved in a junction file
bool planContainerStop() const
return true if tag correspond to a plan placed over containerStop
bool vehicleEdges() const
return true if tag correspond to a vehicle placed over from-to edges
void addChild(const GNETagProperties *child)
add child
bool isPlanPerson() const
return true if tag correspond to a person plan
int getDefaultIntValue(SumoXMLAttr attr) const
get default int value
bool isDemandElement() const
return true if tag correspond to a demand element
const GUIGlObjectType myGLType
GUIGlObjectType associated with this tag property.
SumoXMLTag getXMLTag() const
default values
bool isPlanRide() const
return true if tag correspond to a ride plan
bool isInternalLane() const
return true if tag correspond to an internal lane
const Type myType
tag Types
bool planTrainStop() const
return true if tag correspond to a plan placed over trainStop
bool isVehicleWaypoint() const
return true if tag correspond to a vehicle waypoint element
const std::vector< const GNEAttributeProperties * > & getAttributeProperties() const
get all attribute properties
bool isAdditionalElement() const
return true if tag correspond to an additional element (note: this include TAZ, shapes and wires)
bool isSymbol() const
return true if tag correspond to a symbol element
bool hasAttribute(SumoXMLAttr attr) const
check if current TagProperties owns the attribute "attr"
bool planToParkingArea() const
return true if tag correspond to a plan that starts in parkingArea
bool planToChargingStation() const
return true if tag correspond to a plan that starts in chargingStation
bool isPlanStopPerson() const
return true if tag correspond to a person stop plan
std::vector< const GNEAttributeProperties * > myAttributeProperties
vector with the attribute values vinculated with this Tag
unsigned int getBackGroundColor() const
get background color
bool isVehicleStop() const
return true if tag correspond to a vehicle stop element
bool isPerson() const
return true if tag correspond to a person element
bool vehicleTAZs() const
return true if tag correspond to a vehicle placed over from-to TAZs
~GNETagProperties()
destructor
bool vehicleRoute() const
plan parents
bool isPlanWalk() const
return true if tag correspond to a walk plan
bool planToEdge() const
return true if tag correspond to a plan that starts in edge
const GUIIcon myIcon
icon associated to this tag property
bool planBusStop() const
return true if tag correspond to a plan placed over busStop
bool saveInNetworkFile() const
file
const std::string & getDefaultStringValue(SumoXMLAttr attr) const
default values
bool requireProj() const
return true if tag correspond to an element that requires a geo projection
bool planChargingStation() const
return true if tag correspond to a plan placed over chargingStation
const std::vector< SumoXMLTag > & getXMLParentTags() const
get XML parent tags
bool isPlanTranship() const
return true if tag correspond to a tranship