Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNETagPropertiesDatabase.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// Database with all information about netedit elements
19/****************************************************************************/
20#pragma once
21#include <config.h>
22
23#include "GNETagProperties.h"
24
25// ===========================================================================
26// class definitions
27// ===========================================================================
28
30
31public:
34
37
39 const GNETagProperties* getTagProperty(const SumoXMLTag tag, const bool hardFail) const;
40
42 const std::vector<const GNETagProperties*> getTagPropertiesSet(const SumoXMLTag tag, const bool hardFail) const;
43
45 const std::vector<const GNETagProperties*> getTagPropertiesByType(const GNETagProperties::Type type) const;
46
49
52
55
58
60 int getHierarchyDepth() const;
61
63 void writeAttributeHelp() const;
64
65protected:
67 void fillHierarchy();
68
71
74
76 void fillShapeElements();
77
79 void fillTAZElements();
80
82 void fillWireElements();
83
86
88 void fillDemandElements();
89
92
94 void fillStopElements();
95
98
100 void fillPersonElements();
101
103 void fillPersonPlanTrips();
104
106 void fillPersonPlanWalks();
107
109 void fillPersonPlanRides();
110
113
116
119
122
125
127 void fillCommonAttributes(GNETagProperties* tagProperties);
128
130 void fillCommonStoppingPlaceAttributes(GNETagProperties* tagProperties, const bool includeColor, const bool parkingAreaAngle);
131
133 void fillCommonPOIAttributes(GNETagProperties* tagProperties);
134
136 void fillCommonRouteAttributes(GNETagProperties* tagProperties);
137
139 void fillCommonVTypeAttributes(GNETagProperties* tagProperties);
140
143
145 void fillCommonFlowAttributes(GNETagProperties* tagProperties, SumoXMLAttr perHour);
146
149
152
155
157 void fillCommonPersonAttributes(GNETagProperties* tagProperties);
158
161
163 void fillCommonStopAttributes(GNETagProperties* tagProperties, const bool waypoint);
164
166 void fillPlanParentAttributes(GNETagProperties* tagProperties);
167
170
172 void fillWalkCommonAttributes(GNETagProperties* tagProperties);
173
175 void fillRideCommonAttributes(GNETagProperties* tagProperties);
176
179
182
185
187 void fillDataElements();
188
191
194
196 void fillIDAttribute(GNETagProperties* tagProperties, const bool createMode);
197
199 void fillNameAttribute(GNETagProperties* tagProperties);
200
202 void fillEdgeAttribute(GNETagProperties* tagProperties, const bool synonymID);
203
205 void fillLaneAttribute(GNETagProperties* tagProperties, const bool synonymID);
206
208 void fillFriendlyPosAttribute(GNETagProperties* tagProperties);
209
211 void fillVTypesAttribute(GNETagProperties* tagProperties);
212
214 void fillFileAttribute(GNETagProperties* tagProperties);
215
217 void fillOutputAttribute(GNETagProperties* tagProperties);
218
220 void fillImgFileAttribute(GNETagProperties* tagProperties, const bool isExtended);
221
223 void fillDepartAttribute(GNETagProperties* tagProperties);
224
227
229 void fillPosOverLaneAttribute(GNETagProperties* tagProperties);
230
232 void fillDetectPersonsAttribute(GNETagProperties* tagProperties);
233
235 void fillColorAttribute(GNETagProperties* tagProperties, const std::string& defaultColor);
236
239
242
244 void fillDetectorThresholdAttributes(GNETagProperties* tagProperties, const bool includingJam);
245
247 void fillDistributionProbability(GNETagProperties* tagProperties, const bool defaultValue);
248
250
253
256
257private:
260
263
266
269
272
274 std::map<SumoXMLTag, GNETagProperties*> mySetTagProperties;
275
277 std::map<SumoXMLTag, GNETagProperties*> myTagProperties;
278
281
284};
SumoXMLTag
Numbers representing SUMO-XML - element names.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
void fillVTypesAttribute(GNETagProperties *tagProperties)
fill vTypes attribute
void fillLaneAttribute(GNETagProperties *tagProperties, const bool synonymID)
fill lane attribute
void fillCommonMeanDataAttributes(GNETagProperties *tagProperties)
fill stop person attributes
std::map< SumoXMLTag, GNETagProperties * > myTagProperties
map with the tags properties
const std::vector< const GNETagProperties * > getTagPropertiesSet(const SumoXMLTag tag, const bool hardFail) const
get tagProperties associated to the given set tag (persons, stops, plans, etc.)
void fillTranshipCommonAttributes(GNETagProperties *tagProperties)
fill ride common attributes
void fillNameAttribute(GNETagProperties *tagProperties)
fill name attribute
void fillCommonRouteAttributes(GNETagProperties *tagProperties)
fill common route attributes
void fillStopElements()
fill stop elements
void fillVehicleElements()
fill vehicle elements
void fillCommonAttributes(GNETagProperties *tagProperties)
fill common attributes
void fillAllowDisallowAttributes(GNETagProperties *tagProperties)
fill allowDisallow attributes
void fillFriendlyPosAttribute(GNETagProperties *tagProperties)
fill friendlyPos attribute
void fillCommonVTypeAttributes(GNETagProperties *tagProperties)
fill common vType attributes
void fillDistributionProbability(GNETagProperties *tagProperties, const bool defaultValue)
fill distribution probability attribute
void fillPersonPlanTrips()
fill person plan trips
const GNETagProperties * getTagProperty(const SumoXMLTag tag, const bool hardFail) const
get tagProperty associated to the given tag
GNETagPropertiesDatabase(const GNETagPropertiesDatabase &)=delete
Invalidated copy constructor.
void fillPersonPlanRides()
fill person plan rides
void fillPlanParentAttributes(GNETagProperties *tagProperties)
fill plan from-to attribute
void fillCommonFlowAttributes(GNETagProperties *tagProperties, SumoXMLAttr perHour)
fill common flow attributes (used by flows, routeFlows and personFlows)
void fillIDAttribute(GNETagProperties *tagProperties, const bool createMode)
fill ID attribute
int getMaxNumberOfFlowAttributeRows() const
get max number of flow attribute rows
int myMaxNumberOfGeoAttributeRows
max number of geo attributes (needed for geo attributes editor)
void fillCommonPOIAttributes(GNETagProperties *tagProperties)
fill common POI attributes
GNETagPropertiesDatabase & operator=(const GNETagPropertiesDatabase &src)=delete
Invalidated assignment operator.
int myMaxNumberOfFlowAttributeRows
max number of flow attributes (needed for geo attributes editor)
void fillPlanStopCommonAttributes(GNETagProperties *tagProperties)
fill plan stop common attributes
void fillContainerStopElements()
fill container stop elements
void fillCarFollowingModelAttributes(GNETagProperties *tagProperties)
fill Car Following Model of Vehicle/Person Types
void fillDemandElements()
fill demand elements
void fillWaypointElements()
fill waypoint elements
void fillColorAttribute(GNETagProperties *tagProperties, const std::string &defaultColor)
fill color attribute
void fillCommonPersonAttributes(GNETagProperties *tagProperties)
fill common person attributes (used by person and personFlows)
void fillEdgeAttribute(GNETagProperties *tagProperties, const bool synonymID)
fill edge attribute
void fillDepartAttribute(GNETagProperties *tagProperties)
fill depart attribute
int getMaxNumberOfGeoAttributeRows() const
get max number of geo attribute rows
void writeAttributeHelp() const
write machine readable attribute help to file
void fillJuPedSimElements()
fill JuPedSim elements
void fillOutputAttribute(GNETagProperties *tagProperties)
fill output attribute
const std::vector< const GNETagProperties * > getTagPropertiesByType(const GNETagProperties::Type type) const
get tagProperties associated to the given GNETagProperties::Type (NETWORKELEMENT, ADDITIONALELEMENT,...
int getMaxNumberOfNeteditAttributesRows() const
get max number of netedit attribute rows
void updateMaxNumberOfAttributesEditorRows()
update max number of attributes by type
void fillRideCommonAttributes(GNETagProperties *tagProperties)
fill ride common attributes
void fillContainerElements()
fill container elements
void fillContainerTranshipElements()
fill container tranship elements
void fillWireElements()
fill Wire elements
void fillDataElements()
fill Data elements
void fillCommonContainerAttributes(GNETagProperties *tagProperties)
fill common container attributes (used by container and containerFlows)
void fillNetworkElements()
fill network elements
void fillPersonPlanWalks()
fill person plan walks
int getMaxNumberOfEditableAttributeRows() const
max number of editable (non extended) attributes
void fillJunctionModelAttributes(GNETagProperties *tagProperties)
fill Junction Model Attributes of Vehicle/Person Types
void fillDetectorPeriodAttribute(GNETagProperties *tagProperties)
fill detector period attribute
void fillTransportCommonAttributes(GNETagProperties *tagProperties)
fill transport common attributes
void fillImgFileAttribute(GNETagProperties *tagProperties, const bool isExtended)
fill imgFile attribute
void fillCommonStoppingPlaceAttributes(GNETagProperties *tagProperties, const bool includeColor, const bool parkingAreaAngle)
fill common stoppingPlace attributes
void fillWalkCommonAttributes(GNETagProperties *tagProperties)
fill walk common attributes
void fillLaneChangingModelAttributes(GNETagProperties *tagProperties)
fill Junction Model Attributes of Vehicle/Person Types
void fillTAZElements()
fill TAZ elements
std::map< SumoXMLTag, GNETagProperties * > mySetTagProperties
map with tag properties sets (persons, stops, etc.)
void fillPosOverLaneAttribute(GNETagProperties *tagProperties)
fill lane position attribute
void fillContainerTransportElements()
fill container transport elements
int myMaxNumberOfNeteditAttributeRows
max number of netedit attributes (needed for netedit attributes editor)
void fillPersonElements()
fill person elements
int getHierarchyDepth() const
get hierarchy dept
void fillPersonTripCommonAttributes(GNETagProperties *tagProperties)
fill person trip common attributes
void fillDetectorNextEdgesAttribute(GNETagProperties *tagProperties)
fill detector next edges attribute
void fillHierarchy()
fill hierarchy elements
void fillAdditionalElements()
fill additional elements
void fillShapeElements()
fill shape elements
void fillCommonVehicleAttributes(GNETagProperties *tagProperties)
fill common vehicle attributes (used by vehicles, trips, routeFlows and flows)
void fillDetectPersonsAttribute(GNETagProperties *tagProperties)
fill detect person attribute
int myMaxNumberOfEditableAttributeRows
max number of editable (non extended) attributes (needed for attributes editor)
void updateMaxHierarchyDepth()
update max hierarchy depth
void fillDetectorThresholdAttributes(GNETagProperties *tagProperties, const bool includingJam)
fill detector threshold attribute
void fillPersonStopElements()
fill person stop elements
void fillFileAttribute(GNETagProperties *tagProperties)
fill file attribute
void fillCommonStopAttributes(GNETagProperties *tagProperties, const bool waypoint)
fill stop person attributes