Eclipse SUMO - Simulation of Urban MObility
SUMOXMLDefinitions.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2002-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
20 // Definitions of elements and attributes known by SUMO
21 /****************************************************************************/
22 #ifndef SUMOXMLDefinitions_h
23 #define SUMOXMLDefinitions_h
24 
25 
26 // ===========================================================================
27 // included modules
28 // ===========================================================================
29 #include <config.h>
30 
32 
33 // ===========================================================================
34 // definitions
35 // ===========================================================================
42 enum SumoXMLTag {
232 
238 
270 
273 
293 
302 
316 
326 
357  //AGEN_TAG_CHILD_ACOMP,
364 };
365 
366 
376 
406 
419 
426 
429 
465 
477 
509 
529 
545 
548  SUMO_ATTR_SIGMA, // used by: Krauss
549  SUMO_ATTR_TAU, // Krauss
556 
557  // @name Train ACC model attributes
567 
568  // @name Train CACC model attributes
579 
580 
583  SUMO_ATTR_TRAIN_TYPE, //used by: Rail
585 
608 
621 
632 
654 
669 
715 
725 
735 
741 
753 
760 
802 
810 
823 
828 
849 
869 
883 
894 
895 
898 
912 
915  //SUMO_ATTR_EDGE already defined
919 
925 
928  //SUMO_ATTR_EDGE, SUMO_ATTR_POSITION, SUMO_ATTR_TYPE already defined
933 
936  // ID, EDGE, POSITION, REFID, BEGIN and END are already defined
938  //AGEN_ATTR_ORDER,
941 
948 
957 
964 
965  //@name Netedit Attributes (used as virtual property holders, must be in SumoXMLAttr)
1005  // @}
1006 
1013 
1018 
1019  //@name RNG state saving attributes
1020  // @{
1028  // @}
1029 
1030 };
1031 
1032 /*
1033  * @brief definitions of special SumoXML-attribute values.
1034  * Since these enums shall be used in switch statements we keep them separated
1035  * @{
1036  */
1037 
1042 extern const std::string SUMO_PARAM_ORIGID;
1043 
1050  NODETYPE_UNKNOWN, // terminator
1052  NODETYPE_TRAFFIC_LIGHT_NOJUNCTION, // junction controlled only by traffic light but without other prohibitions,
1057  NODETYPE_PRIORITY_STOP, // like priority but all minor links have stop signs
1066 };
1067 
1068 
1081 };
1082 
1083 
1095 };
1096 
1097 
1102 };
1103 
1109 };
1110 
1118 };
1119 
1163 };
1164 
1188 };
1189 
1190 
1206  TLTYPE_INVALID //< must be the last one
1207 };
1208 
1209 
1219  LCA_STAY = 1 << 0,
1221  LCA_LEFT = 1 << 1,
1223  LCA_RIGHT = 1 << 2,
1225  LCA_STRATEGIC = 1 << 3,
1229  LCA_SPEEDGAIN = 1 << 5,
1231  LCA_KEEPRIGHT = 1 << 6,
1233  LCA_TRACI = 1 << 7,
1235  LCA_URGENT = 1 << 8,
1237  LCA_UNKNOWN = 1 << 30,
1239 
1251  LCA_OVERLAPPING = 1 << 13,
1255  LCA_SUBLANE = 1 << 15,
1274  // LCA_BLOCKED_BY_CURRENT_LEADER = 1 << 28
1275  // LCA_BLOCKED_BY_CURRENT_FOLLOWER = 1 << 29
1277 
1283  LCA_MRIGHT = 1 << 18,
1284  LCA_MLEFT = 1 << 19,
1285  // !!! never set LCA_UNBLOCK = 1 << 20,
1287  // !!! never used LCA_AMBLOCKINGSECONDFOLLOWER = 1 << 22,
1289  // !!! never read LCA_KEEP1 = 1 << 24,
1290  // !!! never used LCA_KEEP2 = 1 << 25,
1294 };
1295 
1296 
1303 };
1304 
1316 };
1317 
1336 };
1337 
1338 // @}
1339 
1345 
1346 public:
1349 
1352 
1355 
1358 
1361 
1364 
1367 
1370 
1373 
1376 
1379 
1382 
1385 
1388 
1391 
1394 
1397 
1400 
1404 
1407 
1409  static bool isValidNetID(const std::string& value);
1410 
1412  static bool isValidVehicleID(const std::string& value);
1413 
1415  static bool isValidTypeID(const std::string& value);
1416 
1418  static bool isValidDetectorID(const std::string& value);
1419 
1421  static bool isValidAttribute(const std::string& value);
1422 
1424  static bool isValidFilename(const std::string& value);
1425 
1427  static bool isValidListOfNetIDs(const std::string& value);
1428 
1430  static bool isValidListOfTypeID(const std::string& value);
1431 
1433  static bool isValidGenericParameterKey(const std::string& value);
1434 
1436  static bool isValidGenericParameterValue(const std::string& value);
1437 
1439  static std::string getJunctionIDFromInternalEdge(const std::string internalEdge);
1440 
1442  static std::string getEdgeIDFromLane(const std::string laneID);
1444 
1446  static const std::string ALLOWED_TLS_LINKSTATES;
1447 
1448 
1449 
1450 private:
1453 
1456 
1459 
1462 
1465 
1468 
1471 
1474 
1477 
1480 
1483 
1486 
1489 
1492 
1496 
1499 };
1500 
1501 #endif
1502 
1503 
1504 /****************************************************************************/
stop placed over a parking area (used in netedit)
number of steps that a vehicle is charging
The information about how to spread the lanes from the given position.
static StringBijection< LaneChangeModel >::Entry laneChangeModelValues[]
lane change model values
static StringBijection< RightOfWay > RightOfWayValues
righ of way algorithms
The link is a partial left direction.
average sink (used only by TAZs)
The link has green light, may pass.
Internal moment of inertia.
segment of a lane
static StringBijection< SumoXMLTag > CarFollowModels
car following models
SumoXMLTag
Numbers representing SUMO-XML - element names.
static StringBijection< SumoXMLNodeType > NodeTypes
node types
a routeprobe detector
static StringBijection< LinkDirection >::Entry linkDirectionValues[]
link direction values
a list of node ids, used for controlling joining
static StringBijection< PersonMode >::Entry personModeValuesInitializer[]
person mode values
alternative tag for e1 detector
description of a vehicle type
Whether vehicles must keep the junction clear.
split something
whether a given shape is user-defined
a source within a district (connection road)
The action is due to the default of keeping right "Rechtsfahrgebot".
ActivityGen Tags.
The action is done to help someone else.
static StringBijection< int >::Entry attrs[]
The names of SUMO-XML attributes (for passing to GenericSAXHandler)
static bool isValidAttribute(const std::string &value)
whether the given string is a valid attribute for a certain key (for example, a name) ...
static StringBijection< LinkState >::Entry linkStateValues[]
link state values
static bool isValidListOfTypeID(const std::string &value)
whether the given string is a valid list of ids for an edge or vehicle type (empty aren&#39;t allowed) ...
root element of a network file
begin/end of the description of a junction
begin/end of the description of a single lane
a flow definitio nusing a from-to edges instead of a route (used by router)
block shape of a graphic element (Used mainly in GNEShapes)
Outgoing edge specification (jtrrouter)
static StringBijection< LaneSpreadFunction >::Entry laneSpreadFunctionValues[]
lane spread function values
A calibrator placed over edge.
an e2 detector over multiple lanes (used by Netedit)
static StringBijection< LaneSpreadFunction > LaneSpreadFunctions
lane spread functions
The vehicle is blocked by left follower.
a traffic assignment zone
static const std::string ALLOWED_TLS_LINKSTATES
all allowed characters for phase state
distribution of a route
lane of a reroute of type closing
a flow definition nusing a route instead of a from-to edges route (used in NETEDIT) ...
A layer number.
The link has green light, has to brake.
connectio between two lanes
This is an uncontrolled, minor link, has to stop.
Allow/disallow charge in transit in Charging Stations.
static StringBijection< LateralAlignment >::Entry lateralAlignmentValues[]
lanteral alignment values
static std::string getJunctionIDFromInternalEdge(const std::string internalEdge)
return the junction id when given an edge of type internal, crossing or WalkingArea ...
workingHours object
closing for workingHours object
foe visibility distance of a link
population and children accompaniment brackets
The link is a 180 degree turn.
Wants go to the right.
Close shape of a polygon (Used by GNEPolys)
lane can change or stay
Vehicle is too slow to complete a continuous lane change (in case that maxSpeedLatStanding==0) ...
a flow state definition (used when saving and loading simulatino state)
stop placed over a lane (used in netedit)
weights: time range begin
link,node: the traffic light id responsible for this link
Color of TAZSources/TAZSinks.
This is a dead end link.
tgotal of Energy charged
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
begin/end of the description of a Point of interest
This is an uncontrolled, right-before-left link.
max source (used only by TAZs)
maximum duration of a phase
min sink (used only by TAZs)
align with the closest sublane border
static StringBijection< LinkState > LinkStates
link states
static StringBijection< SumoXMLNodeType >::Entry sumoNodeTypeValues[]
containers for the different SUMOXMLDefinitions
drive on the right side
begin/end of the description of an edge restriction
The link is controlled by a tls which is off, not blinking, may pass.
A parking space for a single vehicle within a parking area.
Wants go to the left.
first coordinate of edge shape
static bool isValidGenericParameterKey(const std::string &value)
whether the given string is a valid key for a generic parameter
This is an uncontrolled, all-way stop link.
The action is due to the wish to be faster (tactical lc)
RightOfWay
algorithms for computing right of way
generic attribute
used by the sublane model
prohibition of circulation between two edges
The link is a (hard) left direction.
This is an uncontrolled, zipper-merge link.
begin/end of the description of a route
LateralAlignment
Numbers representing special SUMO-XML-attribute values Information how vehicles align themselves with...
Position on lane.
an e3 entry point
Sink(s) specification.
link: the index of the opposite direction link of a pedestrian crossing
whether a feature has been loaded,guessed,modified or approved
Radial drag coefficient.
LinkDirection
The different directions a link between two lanes may take (or a stream between two edges)...
an edge based mean data detector
The link is a straight direction.
Needs to stay on the current lane.
The state of a link.
drive on the left side
static StringBijection< LinkDirection > LinkDirections
link directions
reasons of lane change
LaneChangeModel
alternative definition for Population
The action has not been determined.
The definition of a periodic event.
How to compute right of way.
root element of a route file
The turning radius at an intersection in m.
min source (used only by TAZs)
whether an edge is part of a bidirectional railway
static StringBijection< LaneChangeAction > LaneChangeActions
lane change actions
stop placed over a charging station (used in netedit)
static bool isValidGenericParameterValue(const std::string &value)
whether the given string is a valid value for a generic parameter
blocked in all directions
the edges of a route
station for a certain vehicle
rev stations for certain vehicles
max sink (used only by TAZs)
The action is urgent (to be defined by lc-model)
frequency of a object
An instantenous induction loop.
static StringBijection< TrafficLightType > TrafficLightTypes
traffic light types
This is an uncontrolled, minor link, has to brake.
walking area for pedestrians
parameter associated to a certain key
an e3 exit point
timesteps in which charging ends
schools object
static bool isValidDetectorID(const std::string &value)
whether the given string is a valid id for an detector
An edge-following detector.
Recuperation efficiency (constant)
A calibrator placed over lane (used in netedit)
busStation and bus objects
block movement of a graphic element
stop placed over a containerStop (used in netedit)
stop placed over a busStop (used in netedit)
LinkState
The right-of-way state of a link between two lanes used when constructing a NBTrafficLightLogic, in MSLink and GNEInternalLane.
invalid attribute
definition of a detector
roundabout defined in junction
Incoming edge specification (jtrrouter)
energy provied by charging station at certain timestep
The link is a (hard) right direction.
Energy charged in transit.
The action is needed to follow the route (navigational lc)
node: the type of traffic light
edge: the shape in xml-definition
probability of route of a reroute
probability of destiny of a reroute
begin/end of the description of a neighboring lane
maintain the current alignment
class for maintaining associations between enums and xml-strings
The link is a partial right direction.
description of a logic request within the junction
streets object
begin/end of the description of an edge
timestep in which charging begins
static StringBijection< TrainType > TrainTypes
train types
static bool isValidNetID(const std::string &value)
whether the given string is a valid id for a network element
reroute of type closing
succesor phase index
drive in the middle
entry for an alternative parking zone
static StringBijection< int >::Entry tags[]
The names of SUMO-XML elements (for passing to GenericSAXHandler)
static StringBijection< LateralAlignment > LateralAlignments
lateral alignments
stop for vehicles
a lane based mean data detector
trigger: the time of the step
LaneChangeAction
The state of a vehicle&#39;s lane-change behavior.
A train stop (alias for bus stop)
Flag to check if VType is a default VType.
alternative definition for city entrances
a sink within a district (connection road)
the edges crossed by a pedestrian crossing
static StringBijection< LaneChangeAction >::Entry laneChangeActionValues[]
lane change action values
The link has yellow light, may pass.
static StringBijection< FringeType > FringeTypeValues
fringe types
SumoXMLNodeType
Numbers representing special SUMO-XML-attribute values for representing node- (junction-) types used ...
static StringBijection< RightOfWay >::Entry rightOfWayValuesInitializer[]
lane spread function values
The vehicle is blocked being overlapping.
The link is controlled by a tls which is off and blinks, has to brake.
static StringBijection< int > Attrs
The names of SUMO-XML attributes for use in netbuild.
weights: time range end
Join operation.
a vtypeprobe detector
element is selected
alternative definition for junction
static bool isValidListOfNetIDs(const std::string &value)
whether the given string is a valid list of id for a network (empty aren&#39;t allowed) ...
The link has red light (must brake)
Energy charged stopped.
SumoXMLEdgeFunc
Numbers representing special SUMO-XML-attribute values for representing edge functions used in netbui...
PersonMode
travel modes for persons
This is an uncontrolled, major link, may pass.
const std::string SUMO_PARAM_ORIGID
total energy charged into a single vehicle
crossing between edges for pedestrians
LaneSpreadFunction
Numbers representing special SUMO-XML-attribute values Information how the edge&#39;s lateral offset shal...
vaporizer of vehicles
Recuperation efficiency (by deceleration)
The abstract direction of a link.
align with the rightmost sublane that allows keeping the current speed
begin/end of the description of a embedded route (used in NETEDIT)
description of a vehicle
an aggreagated-output interval
The action is due to a TraCI request.
The link is a 180 degree turn (left-hand network)
average source (used only by TAZs)
static StringBijection< PersonMode > PersonModeValues
person modes
static StringBijection< SumoXMLTag >::Entry carFollowModelValues[]
car follwing model values
A variable speed sign.
Eficiency of the charge in Charging Stations.
The vehicle does not have enough space to complete a continuous change before the next turn...
a single trip definition that uses TAZs (used in NETEDIT)
link: the index of the link within the traffic light
last coordinate of edge shape
description of a person type (used in NETEDIT)
a single trip definition (used by router)
FringeType
algorithms for computing right of way
type of polygon
parent of an additional element
static StringBijection< int > Tags
The names of SUMO-XML elements for use in netbuild.
a traffic light logic
static const char AllowedTLS_linkStatesInitializer[]
all allowed characters for phase state
static bool isValidTypeID(const std::string &value)
whether the given string is a valid id for an edge or vehicle type
static StringBijection< FringeType >::Entry fringeTypeValuesInitializer[]
lane spread function values
Delay in the charge of charging stations.
static StringBijection< SumoXMLEdgeFunc >::Entry sumoEdgeFuncValues[]
edge function values
The link has yellow light, has to brake anyway.
opening for workingHours object
The vehicle is blocked by right leader.
delete certain element
begin/end of the description of a Point of interest over Lane (used by Netedit)
a flow definition within in Calibrator (used in NETEDIT)
static std::string getEdgeIDFromLane(const std::string laneID)
return edge id when given the lane ID
static StringBijection< SumoXMLEdgeFunc > EdgeFunctions
edge functions
blocker by follower
An access point for a train stop.
distribution of a vehicle type
Flag to check if a default VType was modified.
Fringe type of node.
static bool isValidFilename(const std::string &value)
whether the given string is a valid attribute for a filename (for example, a name) ...
A color information.
The link has red light (must brake) but indicates upcoming green.
a single phase description
The vehicle is blocked by right follower.
static StringBijection< LaneChangeModel > LaneChangeModels
lane change models
alternative tag for e3 detector
static bool isValidVehicleID(const std::string &value)
whether the given string is a valid id for a vehicle or flow
Fill the polygon.
alternative tag for e2 detector
static StringBijection< TrainType >::Entry trainTypeValues[]
train type values values
stations for certain vehicles
join exlude operation
TrafficLightType
static StringBijection< TrafficLightType >::Entry trafficLightTypesValues[]
traffic light types values
begin/end of the description of a polygon
trigger: a step description
The link has no direction (is a dead end link)
Information on vClass specific stop offsets at lane end.