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 {
174 
180 
207 
218 
223 
233 
238  /* streets object */
240 
241  /* workingHours object */
245 
246  /* school object */
249 
250  /* busStation and bus objects */
257 
258  /* population and children accompaniment brackets */
261  //AGEN_TAG_CHILD_ACOMP,
262 
263  /* city entrances */
266 
267  /* parameters */
269 
270 };
271 
272 
282  /* common attributes */
302  /* sumo-junction attributes */
318  /* vehicle attributes */
343  /* Charging Station */
344  SUMO_ATTR_CHARGINGPOWER, // charge in W of the Charging Stations
345  SUMO_ATTR_EFFICIENCY, // Eficiency of the charge inCharging Stations
346  SUMO_ATTR_CHARGEINTRANSIT, // Allow/disallow charge in transit in Charging Stations
347  SUMO_ATTR_CHARGEDELAY, // Delay in the charge of charging stations
348  /* Car following model attributes */
349  SUMO_ATTR_SIGMA, // used by: Krauss
350  SUMO_ATTR_TAU, // Krauss
356  /* Lane changing model attributes */
363  /* route alternatives / distribution attributes */
370  /* trip definition attributes */
384  /* source definitions */
396  /* the edges crossed by a pedestrian crossing */
432 
440  // Attributes for actuated traffic lights:
445  // Attributes for junction-internal lanes
448  // Attributes for detectors
455 
462 
497 
504 
515 
520 
530 
539 
549 
550 
554  /* general object */
564 
565  /* streets object */
566  //SUMO_ATTR_EDGE already defined
569 
570  /* workHours object */
573 
574  /* school object */
575  //SUMO_ATTR_EDGE, SUMO_ATTR_POSITION, SUMO_ATTR_TYPE already defined
579 
580  /* busStation and Bus objects */
581  // ID, EDGE, POSITION, REFID, BEGIN and END are already defined
583  //AGEN_ATTR_ORDER,
585 
586  /* population and children accompaniment brackets */
590 
591  /* parameters */
597 
598  /* city gates */
601 
602  //@name Netedit Attributes (used as virtual property holders, must be in SumoXMLAttr)
603  //
605  /* whether a feature has been loaded,guessed,modified or approved */
607  /* first coordinate of edge shape */
609  /* last coordinate of edge shape */
611  /* block movement of a graphic element*/
613  /* parent of an additional element*/
616 
619 };
620 
621 /*
622  * definitions of special SumoXML-attribute values.
623  * Since these enums shall be used in switch statements we keep them separated
624  * @{
625  */
626 
633  NODETYPE_UNKNOWN, // terminator
635  NODETYPE_TRAFFIC_LIGHT_NOJUNCTION, // junction controlled only by traffic light but without other prohibitions,
640  NODETYPE_PRIORITY_STOP, // like priority but all minor links have stop signs
649 };
650 
651 
665 };
666 
667 
679 };
680 
681 
694 enum LinkState {
725 };
726 
727 
751 };
752 
753 
768  TLTYPE_INVALID //< must be the last one
769 };
770 
777 
779  LCA_NONE = 0,
781  LCA_STAY = 1 << 0,
783  LCA_LEFT = 1 << 1,
785  LCA_RIGHT = 1 << 2,
786 
788  LCA_STRATEGIC = 1 << 3,
790  LCA_COOPERATIVE = 1 << 4,
792  LCA_SPEEDGAIN = 1 << 5,
794  LCA_KEEPRIGHT = 1 << 6,
796  LCA_TRACI = 1 << 7,
797 
799  LCA_URGENT = 1 << 8,
800 
802 
805 
810 
815 
816  // The vehicle is blocked being overlapping
817  LCA_OVERLAPPING = 1 << 13,
818 
819  // The vehicle does not have enough space to complete a continuous lane
820  // change before the next turning movement
822 
823  // used by the sublane model
824  LCA_SUBLANE = 1 << 15,
825 
828 
834 
836 
837  // LCA_BLOCKED_BY_CURRENT_LEADER = 1 << 28
838  // LCA_BLOCKED_BY_CURRENT_FOLLOWER = 1 << 29
840 
841 };
842 
843 
844 
845 
846 
856 };
857 
858 
860 //
867  LATALIGN_RIGHT, // drive on the right side
868  LATALIGN_CENTER, // drive in the middle
869  LATALIGN_ARBITRARY, // maintain the current alignment
870  LATALIGN_NICE, // align with the closest sublane border
871  LATALIGN_COMPACT, // align with the rightmost sublane that allows keeping the current speed
872  LATALIGN_LEFT // drive on the left side
873 };
874 
881 
882 public:
885 
888 
891 
894 
896 
898 
900 
902 
904 
906 
908 
910 
912 
914 
917 
919 
920 
922  static std::string getJunctionIDFromInternalEdge(const std::string internalEdge);
923 
925  static std::string getEdgeIDFromLane(const std::string laneID);
926 
928 
929 private:
930 
932 
934 
936 
938 
940 
942 
944 
946 
948 
950 
951 };
952 
953 #endif
954 
955 /****************************************************************************/
956 
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 ...
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)