SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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-sim.org/
15 // Copyright (C) 2002-2014 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 {
159 
165 
190 
201 
205 
211 
216  /* streets object */
218 
219  /* workingHours object */
223 
224  /* school object */
227 
228  /* busStation and bus objects */
235 
236  /* population and children accompaniment brackets */
239  //AGEN_TAG_CHILD_ACOMP,
240 
241  /* city entrances */
244 
245  /* parameters */
247 
248 };
249 
250 
260  /* common attributes */
279  /* sumo-junction attributes */
295  /* vehicle attributes */
313  /* Car following model attributes */
314  SUMO_ATTR_SIGMA, // used by: Krauss
315  SUMO_ATTR_TAU, // Krauss
321  /* route alternatives / distribution attributes */
328  /* trip definition attributes */
339  /* source definitions */
350  /* the edges crossed by a pedestrian crossing */
380 
388  // Attributes for actuated traffic lights:
393  // Attributes for junction-internal lanes
396  // Attributes for detectors
402 
409 
440 
447 
457 
462 
472 
478 
488 
489 
493  /* general object */
503 
504  /* streets object */
505  //SUMO_ATTR_EDGE already defined
508 
509  /* workHours object */
512 
513  /* school object */
514  //SUMO_ATTR_EDGE, SUMO_ATTR_POSITION, SUMO_ATTR_TYPE already defined
518 
519  /* busStation and Bus objects */
520  // ID, EDGE, POSITION, REFID, BEGIN and END are already defined
522  //AGEN_ATTR_ORDER,
524 
525  /* population and children accompaniment brackets */
529 
530  /* parameters */
536 
537  /* city gates */
540 
541  //@name Netedit Attributes (used as virtual property holders, must be in SumoXMLAttr)
542  //
544  /* whether a feature has been loaded,guessed,modified or approved */
546  /* first coordinate of edge shape */
548  /* last coordinate of edge shape */
551 };
552 
553 /*
554  * definitions of special SumoXML-attribute values.
555  * Since these enums shall be used in switch statements we keep them separated
556  * @{
557  */
558 
565  NODETYPE_UNKNOWN, // terminator
567  NODETYPE_TRAFFIC_LIGHT_NOJUNCTION, // junction controlled only by traffic light but without other prohibitions
569  NODETYPE_PRIORITY_STOP, // like priority but all minor links have stop signs
577 };
578 
579 
593 };
594 
595 
607 };
608 
609 
622 enum LinkState {
649 };
650 
651 
673 };
674 
675 
683 };
684 
685 
693 };
694 
695 
697 
704 
705 public:
708 
711 
714 
717 
719 
721 
723 
725 
727 
729 
731 
734 
736 
737 
739  static std::string getJunctionIDFromInternalEdge(const std::string internalEdge);
740 
742  static std::string getEdgeIDFromLane(const std::string laneID);
743 
745 
746 private:
747 
749 
751 
753 
755 
757 
759 
761 
762 };
763 
764 #endif
765 
766 /****************************************************************************/
767 
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.
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
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
A layer number.
The link has green light, has to brake.
This is an uncontrolled, minor link, has to stop.
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.
This is a dead end link.
the weight of a district'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.
This is an uncontrolled, all-way stop link.
The link is a (hard) left direction.
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.
The state of a link.
static StringBijection< LinkDirection > LinkDirections
LaneChangeModel
The definition of a periodic event.
the edges of a route
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.
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)
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's lateral offset shal...
The abstract direction of a link.
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.
static std::string getEdgeIDFromLane(const std::string laneID)
return edge id when given the lane ID
static StringBijection< SumoXMLEdgeFunc > EdgeFunctions
Information whether the detector shall be continued on the folowing lanes.
A color information.
static StringBijection< LaneChangeModel > LaneChangeModels
Fill the polygon.
TrafficLightType
The link has no direction (is a dead end link)