SUMO - Simulation of Urban MObility
SUMOXMLDefinitions.h
Go to the documentation of this file.
1 /****************************************************************************/
12 // Definitions of elements and attributes known by SUMO
13 /****************************************************************************/
14 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
15 // Copyright (C) 2002-2016 DLR (http://www.dlr.de/) and contributors
16 /****************************************************************************/
17 //
18 // This file is part of SUMO.
19 // SUMO is free software: you can redistribute it and/or modify
20 // it under the terms of the GNU General Public License as published by
21 // the Free Software Foundation, either version 3 of the License, or
22 // (at your option) any later version.
23 //
24 /****************************************************************************/
25 #ifndef SUMOXMLDefinitions_h
26 #define SUMOXMLDefinitions_h
27 
28 
29 // ===========================================================================
30 // included modules
31 // ===========================================================================
32 #ifdef _MSC_VER
33 #include <windows_config.h>
34 #else
35 #include <config.h>
36 #endif
37 
39 
40 // ===========================================================================
41 // definitions
42 // ===========================================================================
49 enum SumoXMLTag {
175 
181 
208 
219 
224 
234 
239  /* streets object */
241 
242  /* workingHours object */
246 
247  /* school object */
250 
251  /* busStation and bus objects */
258 
259  /* population and children accompaniment brackets */
262  //AGEN_TAG_CHILD_ACOMP,
263 
264  /* city entrances */
267 
268  /* parameters */
270 
271 };
272 
273 
283  /* common attributes */
303  /* sumo-junction attributes */
319  /* vehicle attributes */
345  /* Charging Station */
346  SUMO_ATTR_CHARGINGPOWER, // charge in W of the Charging Stations
347  SUMO_ATTR_EFFICIENCY, // Eficiency of the charge inCharging Stations
348  SUMO_ATTR_CHARGEINTRANSIT, // Allow/disallow charge in transit in Charging Stations
349  SUMO_ATTR_CHARGEDELAY, // Delay in the charge of charging stations
350  /* Car following model attributes */
351  SUMO_ATTR_SIGMA, // used by: Krauss
352  SUMO_ATTR_TAU, // Krauss
358  /* Lane changing model attributes */
366  /* route alternatives / distribution attributes */
373  /* trip definition attributes */
387  /* source definitions */
399  /* the edges crossed by a pedestrian crossing */
437 
445  // Attributes for actuated traffic lights:
450  // Attributes for junction-internal lanes
453  // Attributes for detectors
460 
467 
502 
509 
520 
525 
535 
544 
554 
555 
559  /* general object */
569 
570  /* streets object */
571  //SUMO_ATTR_EDGE already defined
574 
575  /* workHours object */
578 
579  /* school object */
580  //SUMO_ATTR_EDGE, SUMO_ATTR_POSITION, SUMO_ATTR_TYPE already defined
584 
585  /* busStation and Bus objects */
586  // ID, EDGE, POSITION, REFID, BEGIN and END are already defined
588  //AGEN_ATTR_ORDER,
590 
591  /* population and children accompaniment brackets */
595 
596  /* parameters */
602 
603  /* city gates */
606 
607  //@name Netedit Attributes (used as virtual property holders, must be in SumoXMLAttr)
608  //
610  /* whether a feature has been loaded,guessed,modified or approved */
612  /* first coordinate of edge shape */
614  /* last coordinate of edge shape */
616  /* block movement of a graphic element*/
618  /* parent of an additional element*/
621 
624 };
625 
626 /*
627  * definitions of special SumoXML-attribute values.
628  * Since these enums shall be used in switch statements we keep them separated
629  * @{
630  */
631 
638  NODETYPE_UNKNOWN, // terminator
640  NODETYPE_TRAFFIC_LIGHT_NOJUNCTION, // junction controlled only by traffic light but without other prohibitions,
645  NODETYPE_PRIORITY_STOP, // like priority but all minor links have stop signs
654 };
655 
656 
670 };
671 
672 
684 };
685 
686 
699 enum LinkState {
730 };
731 
732 
756 };
757 
758 
774  TLTYPE_INVALID //< must be the last one
775 };
776 
783 
785  LCA_NONE = 0,
787  LCA_STAY = 1 << 0,
789  LCA_LEFT = 1 << 1,
791  LCA_RIGHT = 1 << 2,
792 
794  LCA_STRATEGIC = 1 << 3,
796  LCA_COOPERATIVE = 1 << 4,
798  LCA_SPEEDGAIN = 1 << 5,
800  LCA_KEEPRIGHT = 1 << 6,
802  LCA_TRACI = 1 << 7,
803 
805  LCA_URGENT = 1 << 8,
806 
808 
811 
816 
821 
822  // The vehicle is blocked being overlapping
823  LCA_OVERLAPPING = 1 << 13,
824 
825  // The vehicle does not have enough space to complete a continuous lane
826  // change before the next turning movement
828 
829  // used by the sublane model
830  LCA_SUBLANE = 1 << 15,
831 
834 
840 
842 
843  // LCA_BLOCKED_BY_CURRENT_LEADER = 1 << 28
844  // LCA_BLOCKED_BY_CURRENT_FOLLOWER = 1 << 29
846 
847 };
848 
849 
850 
851 
852 
861 };
862 
863 
865 //
872  LATALIGN_RIGHT, // drive on the right side
873  LATALIGN_CENTER, // drive in the middle
874  LATALIGN_ARBITRARY, // maintain the current alignment
875  LATALIGN_NICE, // align with the closest sublane border
876  LATALIGN_COMPACT, // align with the rightmost sublane that allows keeping the current speed
877  LATALIGN_LEFT // drive on the left side
878 };
879 
886 
887 public:
890 
893 
896 
899 
901 
903 
905 
907 
909 
911 
913 
915 
917 
919 
922 
924 
925 
927  static std::string getJunctionIDFromInternalEdge(const std::string internalEdge);
928 
930  static std::string getEdgeIDFromLane(const std::string laneID);
931 
933 
934 private:
935 
937 
939 
941 
943 
945 
947 
949 
951 
953 
955 
956 };
957 
958 #endif
959 
960 /****************************************************************************/
961 
The information about how to spread the lanes from the given position.
static StringBijection< LaneChangeModel >::Entry laneChangeModelValues[]
The link is a partial left direction.
The link has green light, may pass.
static StringBijection< SumoXMLTag > CarFollowModels
SumoXMLTag
Numbers representing SUMO-XML - element names.
static StringBijection< SumoXMLNodeType > NodeTypes
static StringBijection< LinkDirection >::Entry linkDirectionValues[]
a list of node ids, used for controlling joining
minimum duration of a phase
Whether vehicles must keep the junction clear.
whether a given shape is user-defined
The action is due to the default of keeping right "Rechtsfahrgebot".
The action is done to help someone else.
static StringBijection< int >::Entry attrs[]
The names of SUMO-XML attributes (for passing to GenericSAXHandler)
static StringBijection< LinkState >::Entry linkStateValues[]
Outgoing edge specification (jtrrouter)
static StringBijection< LaneSpreadFunction >::Entry laneSpreadFunctionValues[]
static StringBijection< LaneSpreadFunction > LaneSpreadFunctions
The vehicle is blocked by left follower.
A layer number.
The link has green light, has to brake.
This is an uncontrolled, minor link, has to stop.
static StringBijection< LateralAlignment >::Entry lateralAlignmentValues[]
static std::string getJunctionIDFromInternalEdge(const std::string internalEdge)
return the junction id when given an edge of type internal, crossing or WalkingArea ...
foe visibility distance of a link
The link is a 180 degree turn.
Wants go to the right.
This is a dead end link.
the weight of a district&#39;s source or sink
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
This is an uncontrolled, right-before-left link.
maximum duration of a phase
static StringBijection< LinkState > LinkStates
static StringBijection< SumoXMLNodeType >::Entry sumoNodeTypeValues[]
The link is controlled by a tls which is off, not blinking, may pass.
Wants go to the left.
This is an uncontrolled, all-way stop link.
The action is due to the wish to be faster (tactical lc)
The link is a (hard) left direction.
This is an uncontrolled, zipper-merge link.
LateralAlignment
Numbers representing special SUMO-XML-attribute values Information how vehicles align themselves with...
Sink(s) specification.
LinkDirection
The different directions a link between two lanes may take (or a stream between two edges)...
The link is a straight direction.
Needs to stay on the current lane.
No action desired.
The state of a link.
static StringBijection< LinkDirection > LinkDirections
LaneChangeModel
The definition of a periodic event.
The turning radius at an intersection in m.
static StringBijection< LaneChangeAction > LaneChangeActions
the edges of a route
The action is urgent (to be defined by lc-model)
An instantenous induction loop.
static StringBijection< TrafficLightType > TrafficLightTypes
This is an uncontrolled, minor link, has to brake.
An edge-following detector.
LinkState
The right-of-way state of a link between two lanes used when constructing a NBTrafficLightLogic, in MSLink and GNEInternalLane.
Information within the junction logic which internal lanes block external.
Incoming edge specification (jtrrouter)
The link is a (hard) right direction.
The action is needed to follow the route (navigational lc)
A variable speed sign over lane.
class for maintaining associations between enums and xml-strings
The link is a partial right direction.
static StringBijection< int >::Entry tags[]
The names of SUMO-XML elements (for passing to GenericSAXHandler)
static StringBijection< LateralAlignment > LateralAlignments
LaneChangeAction
The state of a vehicle&#39;s lane-change behavior.
A train stop (alias for bus stop)
static StringBijection< LaneChangeAction >::Entry laneChangeActionValues[]
The link has yellow light, may pass.
SumoXMLNodeType
Numbers representing special SUMO-XML-attribute values for representing node- (junction-) types used ...
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.
The link has red light (must brake)
SumoXMLEdgeFunc
Numbers representing special SUMO-XML-attribute values for representing edge functions used in netbui...
This is an uncontrolled, major link, may pass.
LaneSpreadFunction
Numbers representing special SUMO-XML-attribute values Information how the edge&#39;s lateral offset shal...
The abstract direction of a link.
The action is due to a TraCI request.
The link is a 180 degree turn (left-hand network)
static StringBijection< SumoXMLTag >::Entry carFollowModelValues[]
A variable speed sign.
static StringBijection< TrafficLightType >::Entry trafficLightTypesVales[]
static StringBijection< int > Tags
The names of SUMO-XML elements for use in netbuild.
static StringBijection< SumoXMLEdgeFunc >::Entry sumoEdgeFuncValues[]
The link has yellow light, has to brake anyway.
The vehicle is blocked by right leader.
static std::string getEdgeIDFromLane(const std::string laneID)
return edge id when given the lane ID
static StringBijection< SumoXMLEdgeFunc > EdgeFunctions
An access point for a train stop.
Information whether the detector shall be continued on the folowing lanes.
A color information.
The link has red light (must brake) but indicates upcoming green.
The vehicle is blocked by right follower.
static StringBijection< LaneChangeModel > LaneChangeModels
Fill the polygon.
TrafficLightType
The vehicle is blocked by left leader.
The link has no direction (is a dead end link)