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-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/****************************************************************************/
18// Abstract Base class for tag properties used in GNEAttributeCarrier
19/****************************************************************************/
20#pragma once
21#include <config.h>
22
27
29
30// ===========================================================================
31// class definitions
32// ===========================================================================
33
35
36public:
37
39 enum class Type : std::uint64_t {
40 // basic types
41 NETWORKELEMENT = 1ULL << 0, // Network elements (Edges, Junctions, Lanes...)
42 ADDITIONALELEMENT = 1ULL << 1, // Additional elements (Bus Stops, Charging Stations, Detectors...)
43 DEMANDELEMENT = 1ULL << 2, // Demand elements (Routes, Vehicles, Trips...)
44 DATAELEMENT = 1ULL << 3, // Data elements (DataSets, Data Intervals, EdgeData...)
45 // sub additional elements
46 STOPPINGPLACE = 1ULL << 4, // StoppingPlaces (BusStops, ChargingStations...)
47 DETECTOR = 1ULL << 5, // Detectors (E1, E2...)
48 CALIBRATOR = 1ULL << 6, // Calibrators
49 SHAPE = 1ULL << 7, // Shapes (Polygons and POIs)
50 TAZELEMENT = 1ULL << 8, // Traffic Assignment Zones
51 WIRE = 1ULL << 9, // Wire elements
52 JUPEDSIM = 1ULL << 10, // JuPedSim elements
53 // sub demand elements
54 VTYPE = 1ULL << 11, // Vehicle types (vType and vTypeDistribution)
55 VEHICLE = 1ULL << 12, // Vehicles (Vehicles, trips, flows...)
56 ROUTE = 1ULL << 13, // Routes and embedded routes
57 STOP_VEHICLE = 1ULL << 14, // Vehicle stops
58 WAYPOINT_VEHICLE = 1ULL << 15, // Vehicle waypoints (note: All waypoints are also Stops)
59 FLOW = 1ULL << 16, // Flows
60 // persons
61 PERSON = 1ULL << 17, // Persons (Persons and personFlows)
62 PERSONPLAN = 1ULL << 18, // Person plans (Walks, rides, personTrips and stopPersons)
63 PERSONTRIP = 1ULL << 19, // Person Trips
64 WALK = 1ULL << 20, // Walks
65 RIDE = 1ULL << 21, // Rides
66 STOP_PERSON = 1ULL << 22, // Person stops
67 // containers
68 CONTAINER = 1ULL << 23, // Containers (Containers and personFlows)
69 CONTAINERPLAN = 1ULL << 24, // Container plans (transport, tranships and containerStops)
70 TRANSPORT = 1ULL << 25, // Transport
71 TRANSHIP = 1ULL << 26, // Tranship
72 STOP_CONTAINER = 1ULL << 27, // Container stops
73 // sub data elements
74 GENERICDATA = 1ULL << 28, // Generic data (GNEEdgeData, GNELaneData...)
75 MEANDATA = 1ULL << 29, // Mean datas
76 // distributions
77 DISTRIBUTION = 1ULL << 30, // Element is a distribution (routeDistribution or vTypeDistribution)
78 DISTRIBUTIONREF = 1ULL << 31, // Element is a distribution reference of routeDistribution or vTypeDistribution
79 // other
80 INTERNALLANE = 1ULL << 32, // Internal Lane
81 OTHER = 1ULL << 33, // Other type (used for TAZSourceSinks, VTypes, etc.)
82 };
83
85 enum class Property : std::uint64_t {
86 NOTDRAWABLE = 1ULL << 0, // Element cannot be drawn in view
87 GEOSHAPE = 1ULL << 1, // Element's shape acn be defined using a GEO Shape
88 DIALOG = 1ULL << 2, // Element can be edited using a dialog (GNECalibratorDialog, GNERerouterDialog...)
89 XMLCHILD = 1ULL << 3, // Element is child of another element and will be written in XML (Example: E3Entry -> E3Detector...)
90 REPARENT = 1ULL << 4, // Element can be reparent
91 NOTSELECTABLE = 1ULL << 5, // Element cannot be selected
92 NOPARAMETERS = 1ULL << 6, // Element doesn't accept parameters "key1=value1|key2=value2|...|keyN=valueN" (by default all tags supports parameters)
93 RTREE = 1ULL << 7, // Element is placed in RTREE
94 CENTERAFTERCREATION = 1ULL << 8, // Camera is moved after element creation
95 REQUIRE_PROJ = 1ULL << 9, // Element require a geo-projection defined in network
96 VCLASS_ICON = 1ULL << 10, // Element returns icon depending of their vClass
97 SYMBOL = 1ULL << 11, // Element is a symbol (VSSSymbols, RerouterSymbols...)
98 EXTENDED = 1ULL << 12, // Element contains extended attributes (Usually vTypes)
99 HIERARCHICAL = 1ULL << 13, // Element is a hierarchical
100 LISTED = 1ULL << 14, // Element is a listed elements (for example, rerouter children)
101 NO_PROPERTY = 1ULL << 15, // Element doesn't have properties
102 };
103
105 enum class Over : std::uint64_t {
106 VIEW = 1ULL << 0, // No parents
107 JUNCTION = 1ULL << 1, // Placed over junction
108 EDGE = 1ULL << 2, // Placed over edge
109 EDGES = 1ULL << 3, // Placed over edges
110 CONSECUTIVE_EDGES = 1ULL << 4, // Placed over consecutive
111 LANE = 1ULL << 5, // Placed over lane
112 LANES = 1ULL << 6, // Placed over lanes
113 CONSECUTIVE_LANES = 1ULL << 4, // Placed over consecutive lanes
114 ROUTE = 1ULL << 7, // Placed over route
115 ROUTE_EMBEDDED = 1ULL << 8, // Placed over route embedded
116 BUSSTOP = 1ULL << 9, // Placed over busStop
117 TRAINSTOP = 1ULL << 10, // Placed over trainStop
118 CONTAINERSTOP = 1ULL << 11, // Placed over containerStop
119 CHARGINGSTATION = 1ULL << 12, // Placed over charging station
120 PARKINGAREA = 1ULL << 13, // Placed over parking area
121 FROM_EDGE = 1ULL << 14, // Starts in edge
122 FROM_TAZ = 1ULL << 15, // Starts in TAZ
123 FROM_JUNCTION = 1ULL << 16, // Starts in junction
124 FROM_BUSSTOP = 1ULL << 17, // Starts in busStop
125 FROM_TRAINSTOP = 1ULL << 18, // Starts in trainStop
126 FROM_CONTAINERSTOP = 1ULL << 19, // Starts in containerStop
127 FROM_CHARGINGSTATION = 1ULL << 20, // Starts in chargingStation
128 FROM_PARKINGAREA = 1ULL << 21, // Starts in parkingArea
129 TO_EDGE = 1ULL << 22, // Ends in edge
130 TO_TAZ = 1ULL << 23, // Ends in TAZ
131 TO_JUNCTION = 1ULL << 24, // Ends in junction
132 TO_BUSSTOP = 1ULL << 25, // Ends in busStop
133 TO_TRAINSTOP = 1ULL << 26, // Ends in trainStop
134 TO_CONTAINERSTOP = 1ULL << 27, // Ends in containerStop
135 TO_CHARGINGSTATION = 1ULL << 28, // Ends in chargingStation
136 TO_PARKINGAREA = 1ULL << 29, // Ends in parkingArea
137 };
138
139 // @brief conflicts
140 enum class Conflicts : std::uint64_t {
141 POS_LANE = 1ULL << 0, // Position over lane isn't valid
142 POS_LANE_START = 1ULL << 1, // Start position over lane isn't valid
143 POS_LANE_END = 1ULL << 2, // End position over lane isn't valid
144 NO_ADDITIONAL_CHILDREN = 1ULL << 3, // Element doesn't have additional children
145 NO_CONFLICTS = 1ULL << 4, // Element doesn't have conflicts
146 };
147
150
153 const GNETagProperties::Over over, const FileBucket::Type bucketType, const GNETagProperties::Conflicts conflicts, const GUIIcon icon,
154 const GUIGlObjectType GLType, const SumoXMLTag XMLTag, const std::string tooltipText, std::vector<SumoXMLTag> XMLParentTags = {},
155 const unsigned int backgroundColor = FXRGBA(255, 255, 255, 255), const std::string selectorText = "");
156
158 GNETagProperties(const SumoXMLTag tag, GNETagProperties* parent, const GUIIcon icon, const std::string tooltip,
159 const unsigned int backgroundColor = FXRGBA(255, 255, 255, 255), const std::string selectorText = "");
160
163
165 SumoXMLTag getTag() const;
166
168 const std::string& getTagStr() const;
169
171 void checkTagIntegrity() const;
172
174 const std::string& getSelectorText() const;
175
177 const std::string& getTooltipText() const;
178
180 unsigned int getBackGroundColor() const;
181
183 const std::vector<const GNEAttributeProperties*>& getAttributeProperties() const;
184
187
189 const GNEAttributeProperties* getAttributeProperties(const int index) const;
190
192 const GNEAttributeProperties* at(int index) const;
193
195 bool hasAttribute(SumoXMLAttr attr) const;
196
198 int getNumberOfAttributes() const;
199
201 GUIIcon getGUIIcon() const;
202
205
208
210 SumoXMLTag getXMLTag() const;
211
213 const std::vector<SumoXMLTag>& getXMLParentTags() const;
214
216 bool canBeReparent() const;
217
220
222 const std::string& getDefaultStringValue(SumoXMLAttr attr) const;
223
225 int getDefaultIntValue(SumoXMLAttr attr) const;
226
228 double getDefaultDoubleValue(SumoXMLAttr attr) const;
229
232
234 bool getDefaultBoolValue(SumoXMLAttr attr) const;
235
237 const RGBColor& getDefaultColorValue(SumoXMLAttr attr) const;
238
240
243
246
248 const std::vector<const GNETagProperties*> getHierarchicalParentsRecuersively() const;
249
251 const std::vector<const GNETagProperties*>& getHierarchicalChildren() const;
252
254 std::vector<const GNETagProperties*> getHierarchicalChildrenRecursively() const;
255
257 std::map<std::string, const GNEAttributeProperties*> getHierarchicalChildrenAttributesRecursively(const bool onlyCommon, const bool onlyDrawables) const;
258
260
262 Supermode getSupermode() const;
263
265 bool isHierarchicalTag() const;
266
269
271 bool isNetworkElement() const;
272
274 bool isAdditionalElement() const;
275
277 bool isAdditionalPureElement() const;
278
280 bool isDemandElement() const;
281
283 bool isDataElement() const;
284
286 bool isOtherElement() const;
287
289
293 bool isStoppingPlace() const;
294
296 bool isDetector() const;
297
299 bool isCalibrator() const;
300
302 bool isShapeElement() const;
303
305 bool isTAZElement() const;
306
308 bool isWireElement() const;
309
311 bool isJuPedSimElement() const;
312
314
318 bool isType() const;
319
321 bool isVehicle() const;
322
324 bool isRoute() const;
325
327 bool isVehicleStop() const;
328
330 bool isVehicleWaypoint() const;
331
333 bool isFlow() const;
334
336 bool isPerson() const;
337
339 bool isContainer() const;
340
342 bool hasTypeParent() const;
343
345 bool isDistribution() const;
346
348 bool isDistributionReference() const;
349
351 bool isTypeDistribution() const;
352
354 bool isRouteDistribution() const;
355
357
361 bool isPlan() const;
362
364 bool isPlanPerson() const;
365
367 bool isPlanContainer() const;
368
370 bool isPlanPersonTrip() const;
371
373 bool isPlanWalk() const;
374
376 bool isPlanRide() const;
377
379 bool isPlanTransport() const;
380
382 bool isPlanTranship() const;
383
385 bool isPlanStop() const;
386
388 bool isPlanStopPerson() const;
389
391 bool isPlanStopContainer() const;
392
394
398 bool isGenericData() const;
399
401 bool isMeanData() const;
402
404
407
409 bool vehicleRoute() const;
410
412 bool vehicleRouteEmbedded() const;
413
415 bool vehicleEdges() const;
416
418 bool vehicleJunctions() const;
419
421 bool vehicleTAZs() const;
422
424
428 bool planConsecutiveEdges() const;
429
431 bool planRoute() const;
432
434 bool planEdge() const;
435
437 bool planBusStop() const;
438
440 bool planTrainStop() const;
441
443 bool planContainerStop() const;
444
446 bool planChargingStation() const;
447
449 bool planParkingArea() const;
450
452 bool planStoppingPlace() const;
453
455 bool planFromTo() const;
456
458 bool planFromEdge() const;
459
461 bool planFromTAZ() const;
462
464 bool planFromJunction() const;
465
467 bool planFromBusStop() const;
468
470 bool planFromTrainStop() const;
471
473 bool planFromContainerStop() const;
474
476 bool planFromChargingStation() const;
477
479 bool planFromParkingArea() const;
480
482 bool planFromStoppingPlace() const;
483
485 bool planToEdge() const;
486
488 bool planToTAZ() const;
489
491 bool planToJunction() const;
492
494 bool planToBusStop() const;
495
497 bool planToTrainStop() const;
498
500 bool planToContainerStop() const;
501
503 bool planToChargingStation() const;
504
506 bool planToParkingArea() const;
507
509 bool planToStoppingPlace() const;
510
512
516 bool isChild() const;
517
519 bool isSymbol() const;
520
522 bool isInternalLane() const;
523
525 bool isDrawable() const;
526
528 bool isSelectable() const;
529
531 bool hasGEOShape() const;
532
534 bool hasDialog() const;
535
537 bool hasExtendedAttributes() const;
538
540 bool hasParameters() const;
541
543 bool isPlacedInRTree() const;
544
546 bool isListedElement() const;
547
549 bool canCenterCameraAfterCreation() const;
550
552 bool requireProj() const;
553
555 bool vClassIcon() const;
556
558
562 bool isFileCompatible(FileBucket::Type file) const;
563
565 bool saveInNetworkFile() const;
566
568 bool saveInAdditionalFile() const;
569
571 bool saveInDemandFile() const;
572
574 bool saveInDataFile() const;
575
577 bool saveInMeanDataFile() const;
578
580 bool saveInParentFile() const;
581
583
584protected:
586 void addChild(const GNETagProperties* child);
587
588private:
591
593 const std::string myTagStr;
594
596 const GNETagProperties* myParent = nullptr;
597
599 std::vector<const GNETagProperties*> myChildren;
600
603
606
609
612
615
617 std::vector<const GNEAttributeProperties*> myAttributeProperties;
618
621
624
627
629 const std::string myTooltipText;
630
632 const std::vector<SumoXMLTag> myXMLParentTags;
633
635 const std::string mySelectorText;
636
638 const unsigned int myBackgroundColor = 0;
639
641 void getChildrenTagProperties(const GNETagProperties* tagProperties, std::vector<const GNETagProperties*>& result) const;
642
644 void getChildrenAttributes(const GNETagProperties* tagProperties, std::map<std::string, const GNEAttributeProperties*>& result, const bool onlyDrawables) const;
645
648
651
654};
655
658 return static_cast<GNETagProperties::Type>(static_cast<std::uint64_t>(a) | static_cast<std::uint64_t>(b));
659}
660
663 return (static_cast<std::uint64_t>(a) & static_cast<std::uint64_t>(b)) != 0;
664}
665
668 return static_cast<GNETagProperties::Property>(static_cast<std::uint64_t>(a) | static_cast<std::uint64_t>(b));
669}
670
673 return (static_cast<std::uint64_t>(a) & static_cast<std::uint64_t>(b)) != 0;
674}
675
678 return static_cast<GNETagProperties::Over>(static_cast<std::uint64_t>(a) | static_cast<std::uint64_t>(b));
679}
680
683 return (static_cast<std::uint64_t>(a) & static_cast<std::uint64_t>(b)) != 0;
684}
685
688 return static_cast<GNETagProperties::Conflicts>(static_cast<std::uint64_t>(a) | static_cast<std::uint64_t>(b));
689}
690
693 return (static_cast<std::uint64_t>(a) & static_cast<std::uint64_t>(b)) != 0;
694}
695
696/****************************************************************************/
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.
Type
Files that this bucket can save.
Definition FileBucket.h:34
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
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)
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
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
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
const FileBucket::Type myBucketType
tag file
GNETagProperties & operator=(const GNETagProperties &src)=delete
Invalidated assignment operator.
bool isFileCompatible(FileBucket::Type file) const
file
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.
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
bool saveInParentFile() const
element is saved in the parent file
int getNumberOfAttributes() const
get number of attributes
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
GNETagProperties(const SumoXMLTag tag, GNETagProperties *parent, const GNETagProperties::Type type, const GNETagProperties::Property property, const GNETagProperties::Over over, const FileBucket::Type bucketType, const GNETagProperties::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 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
element is saved in a network 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