SUMO - Simulation of Urban MObility

SUMOXMLDefinitions.h

Go to the documentation of this file.
00001 /****************************************************************************/
00012 // Definitions of elements and attributes known by SUMO
00013 /****************************************************************************/
00014 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
00015 // Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors
00016 /****************************************************************************/
00017 //
00018 //   This file is part of SUMO.
00019 //   SUMO is free software: you can redistribute it and/or modify
00020 //   it under the terms of the GNU General Public License as published by
00021 //   the Free Software Foundation, either version 3 of the License, or
00022 //   (at your option) any later version.
00023 //
00024 /****************************************************************************/
00025 #ifndef SUMOXMLDefinitions_h
00026 #define SUMOXMLDefinitions_h
00027 
00028 
00029 // ===========================================================================
00030 // included modules
00031 // ===========================================================================
00032 #ifdef _MSC_VER
00033 #include <windows_config.h>
00034 #else
00035 #include <config.h>
00036 #endif
00037 
00038 #include <utils/common/StringBijection.h>
00039 
00040 // ===========================================================================
00041 // definitions
00042 // ===========================================================================
00049 enum SumoXMLTag {
00051     SUMO_TAG_NOTHING,
00053     SUMO_TAG_EDGE,
00055     SUMO_TAG_LANE,
00057     SUMO_TAG_POI,
00059     SUMO_TAG_POLY,
00061     SUMO_TAG_JUNCTION,
00062 #ifdef _MESSAGES
00063 
00064     SUMO_TAG_MSG_EMITTER,
00065 #endif
00066 
00067     SUMO_TAG_E1DETECTOR__DEPRECATED,
00068     SUMO_TAG_E1DETECTOR,
00069     SUMO_TAG_INDUCTION_LOOP,
00071     SUMO_TAG_E2DETECTOR__DEPRECATED,
00072     SUMO_TAG_E2DETECTOR,
00073     SUMO_TAG_LANE_AREA_DETECTOR,
00075     SUMO_TAG_E3DETECTOR__DEPRECATED,
00076     SUMO_TAG_E3DETECTOR,
00077     SUMO_TAG_ENTRY_EXIT_DETECTOR,
00079     SUMO_TAG_MEANDATA_EDGE__DEPRECATED,
00080     SUMO_TAG_MEANDATA_EDGE,
00082     SUMO_TAG_MEANDATA_LANE__DEPRECATED,
00083     SUMO_TAG_MEANDATA_LANE,
00085     SUMO_TAG_DET_ENTRY__DEPRECATED,
00086     SUMO_TAG_DET_ENTRY,
00088     SUMO_TAG_DET_EXIT__DEPRECATED,
00089     SUMO_TAG_DET_EXIT,
00091     SUMO_TAG_EDGEFOLLOWDETECTOR,
00093     SUMO_TAG_INSTANT_INDUCTION_LOOP,
00095     SUMO_TAG_VSS,
00097     SUMO_TAG_CALIBRATOR,
00099     SUMO_TAG_REROUTER,
00101     SUMO_TAG_BUS_STOP,
00103     SUMO_TAG_VTYPEPROBE__DEPRECATED,
00104     SUMO_TAG_VTYPEPROBE,
00106     SUMO_TAG_ROUTEPROBE__DEPRECATED,
00107     SUMO_TAG_ROUTEPROBE,
00109     SUMO_TAG_VEHICLE,
00111     SUMO_TAG_VTYPE__DEPRECATED,
00112     SUMO_TAG_VTYPE,
00114     SUMO_TAG_ROUTE,
00116     SUMO_TAG_SUCC,
00118     SUMO_TAG_SUCCLANE,
00120     SUMO_TAG_ROWLOGIC__DEPRECATED,
00122     SUMO_TAG_LOGICITEM,
00124     SUMO_TAG_REQUEST,
00126     SUMO_TAG_SOURCE,
00128     SUMO_TAG_DISTRICT__DEPRECATED,
00129     SUMO_TAG_TAZ,
00131     SUMO_TAG_DSOURCE__DEPRECATED,
00132     SUMO_TAG_TAZSOURCE,
00134     SUMO_TAG_DSINK__DEPRECATED,
00135     SUMO_TAG_TAZSINK,
00137     SUMO_TAG_TLLOGIC__DEPRECATED,
00138     SUMO_TAG_TLLOGIC,
00140     SUMO_TAG_PHASE,
00142     SUMO_TAG_TRIP__DEPRECATED,
00143     SUMO_TAG_TRIP,
00145     SUMO_TAG_FLOW,
00147     SUMO_TAG_STEP,
00149     SUMO_TAG_INTERVAL,
00151     SUMO_TAG_TIMEDEVENT__DEPRECATED,
00152     SUMO_TAG_TIMEDEVENT,
00154     SUMO_TAG_FROMEDGE__DEPRECATED,
00155     SUMO_TAG_FROMEDGE,
00157     SUMO_TAG_TOEDGE__DEPRECATED,
00158     SUMO_TAG_TOEDGE,
00160     SUMO_TAG_SINK,
00161     SUMO_TAG_PARAM,
00162     SUMO_TAG_WAUT,
00163     SUMO_TAG_WAUT_SWITCH,
00164     SUMO_TAG_WAUT_JUNCTION,
00165     SUMO_TAG_RESET,
00166     SUMO_TAG_DELETE,
00167     SUMO_TAG_STOP,
00168     SUMO_TAG_DEST_PROB_REROUTE__DEPRECATED,
00169     SUMO_TAG_DEST_PROB_REROUTE,
00170     SUMO_TAG_CLOSING_REROUTE__DEPRECATED,
00171     SUMO_TAG_CLOSING_REROUTE,
00172     SUMO_TAG_ROUTE_PROB_REROUTE__DEPRECATED,
00173     SUMO_TAG_ROUTE_PROB_REROUTE,
00174     SUMO_TAG_POLYTYPE__DEPRECATED,
00175     SUMO_TAG_POLYTYPE,
00176     SUMO_TAG_CONNECTION,
00177     SUMO_TAG_PROHIBITION,
00178     SUMO_TAG_SPLIT,
00179     SUMO_TAG_NODE,
00180     SUMO_TAG_TYPE,
00181     SUMO_TAG_DETECTOR_DEFINITION__DEPRECATED,
00182     SUMO_TAG_DETECTOR_DEFINITION,
00183     SUMO_TAG_ROUTE_DISTRIBUTION,
00184     SUMO_TAG_VTYPE_DISTRIBUTION__DEPRECATED,
00185     SUMO_TAG_VTYPE_DISTRIBUTION,
00186     SUMO_TAG_VAPORIZER,
00187     SUMO_TAG_ROUNDABOUT,
00188     SUMO_TAG_JOIN,
00189     SUMO_TAG_JOINEXCLUDE,
00190 
00191     SUMO_TAG_WAY,
00192     SUMO_TAG_ND,
00193     SUMO_TAG_TAG,
00194 
00195     SUMO_TAG_VIEWSETTINGS_DECAL,
00196     SUMO_TAG_VIEWSETTINGS_SCHEME,
00197     SUMO_TAG_VIEWSETTINGS_OPENGL,
00198     SUMO_TAG_VIEWSETTINGS_BACKGROUND,
00199     SUMO_TAG_VIEWSETTINGS_EDGES,
00200     SUMO_TAG_VIEWSETTINGS_EDGE_COLOR_ITEM,
00201     SUMO_TAG_VIEWSETTINGS_VEHICLES,
00202     SUMO_TAG_VIEWSETTINGS_VEHICLE_COLOR_ITEM,
00203     SUMO_TAG_VIEWSETTINGS_JUNCTIONS,
00204     SUMO_TAG_VIEWSETTINGS_ADDITIONALS,
00205     SUMO_TAG_VIEWSETTINGS_POIS,
00206     SUMO_TAG_VIEWSETTINGS_LEGEND,
00207     SUMO_TAG_INCLUDE,
00208     SUMO_TAG_DELAY,
00209     SUMO_TAG_VIEWPORT,
00210     SUMO_TAG_SNAPSHOT,
00211     SUMO_TAG_LOCATION,
00212     SUMO_TAG_COLORSCHEME,
00213     SUMO_TAG_ENTRY,
00214 
00215     SUMO_TAG_CF_KRAUSS,
00216     SUMO_TAG_CF_KRAUSS_ORIG1,
00217     SUMO_TAG_CF_IDM,
00218     SUMO_TAG_CF_IDMM,
00219     SUMO_TAG_CF_PWAGNER2009,
00220     SUMO_TAG_CF_BKERNER,
00221     SUMO_TAG_CF_WIEDEMANN,
00222 
00223     SUMO_TAG_PERSON,
00224     SUMO_TAG_RIDE,
00225     SUMO_TAG_WALK,
00226 
00230     AGEN_TAG_GENERAL,
00231     /* streets object */
00232     AGEN_TAG_STREET,
00233 
00234     /* workingHours object */
00235     AGEN_TAG_WORKHOURS,
00236     AGEN_TAG_OPENING,
00237     AGEN_TAG_CLOSING,
00238 
00239     /* school object */
00240     AGEN_TAG_SCHOOLS,
00241     AGEN_TAG_SCHOOL,
00242 
00243     /* busStation and bus objects */
00244     AGEN_TAG_BUSSTATION,
00245     AGEN_TAG_BUSLINE,
00246     AGEN_TAG_STATIONS,
00247     AGEN_TAG_REV_STATIONS,
00248     AGEN_TAG_STATION,
00249     AGEN_TAG_FREQUENCY,
00250 
00251     /* population and children accompaniment brackets */
00252     AGEN_TAG_POPULATION,
00253     AGEN_TAG_BRACKET,
00254     //AGEN_TAG_CHILD_ACOMP,
00255 
00256     /* city entrances */
00257     AGEN_TAG_CITYGATES,
00258     AGEN_TAG_ENTRANCE,
00259 
00260     /* parameters */
00261     AGEN_TAG_PARAM
00262 
00263 };
00264 
00265 
00272 enum SumoXMLAttr {
00274     SUMO_ATTR_NOTHING,
00275     /* common attributes */
00276     SUMO_ATTR_ID,
00277     SUMO_ATTR_REFID__DEPRECATED,
00278     SUMO_ATTR_REFID,
00279     SUMO_ATTR_NAME,
00280     SUMO_ATTR_TYPE,
00281     SUMO_ATTR_PRIORITY,
00282     SUMO_ATTR_NOLANES__DEPRECATED,
00283     SUMO_ATTR_NUMLANES,
00284     SUMO_ATTR_SPEED,
00285     SUMO_ATTR_ONEWAY,
00286     SUMO_ATTR_WIDTH,
00287     SUMO_ATTR_REMOVE,
00288     /* edge attributes */
00289     SUMO_ATTR_LENGTH,
00290     SUMO_ATTR_FROMNODE,
00291     SUMO_ATTR_TONODE,
00292     SUMO_ATTR_XFROM,
00293     SUMO_ATTR_YFROM,
00294     SUMO_ATTR_XTO,
00295     SUMO_ATTR_YTO,
00296     /* node attributes */
00297     SUMO_ATTR_X,
00298     SUMO_ATTR_Y,
00299     SUMO_ATTR_Z,
00300     /* sumo-junction attributes */
00301     SUMO_ATTR_KEY,
00302     SUMO_ATTR_REQUESTSIZE,
00303     SUMO_ATTR_REQUEST,
00304     SUMO_ATTR_RESPONSE,
00305     SUMO_ATTR_PROGRAMID,
00306     SUMO_ATTR_OFFSET,
00307     SUMO_ATTR_ENDOFFSET,
00308     SUMO_ATTR_INCLANES,
00309     SUMO_ATTR_INTLANES,
00311     SUMO_ATTR_WEIGHT,
00312     SUMO_ATTR_EDGE,
00314     SUMO_ATTR_EDGES,
00315     /* vehicle attributes */
00316     SUMO_ATTR_DEPART,
00317     SUMO_ATTR_DEPARTLANE__DEPRECATED,
00318     SUMO_ATTR_DEPARTLANE,
00319     SUMO_ATTR_DEPARTPOS__DEPRECATED,
00320     SUMO_ATTR_DEPARTPOS,
00321     SUMO_ATTR_DEPARTSPEED__DEPRECATED,
00322     SUMO_ATTR_DEPARTSPEED,
00323     SUMO_ATTR_ARRIVALLANE__DEPRECATED,
00324     SUMO_ATTR_ARRIVALLANE,
00325     SUMO_ATTR_ARRIVALPOS__DEPRECATED,
00326     SUMO_ATTR_ARRIVALPOS,
00327     SUMO_ATTR_ARRIVALSPEED__DEPRECATED,
00328     SUMO_ATTR_ARRIVALSPEED,
00329     SUMO_ATTR_ROUTE,
00330     SUMO_ATTR_MAXSPEED__DEPRECATED,
00331     SUMO_ATTR_MAXSPEED,
00332     SUMO_ATTR_ACCEL,
00333     SUMO_ATTR_DECEL,
00334     SUMO_ATTR_VCLASS__DEPRECATED,
00335     SUMO_ATTR_VCLASS,
00336     SUMO_ATTR_REPNUMBER,
00337     SUMO_ATTR_SPEEDFACTOR,
00338     SUMO_ATTR_SPEEDDEV,
00339     SUMO_ATTR_LANE_CHANGE_MODEL,
00340     SUMO_ATTR_MINGAP,
00341     /* Car following model attributes */
00342     SUMO_ATTR_SIGMA,    // used by: Krauss
00343     SUMO_ATTR_TAU,      // Krauss
00344     /* route alternatives / distribution attributes */
00345     SUMO_ATTR_LAST,
00346     SUMO_ATTR_COST,
00347     SUMO_ATTR_PROB,
00348     SUMO_ATTR_ROUTES,
00349     SUMO_ATTR_VTYPES__DEPRECATED,
00350     SUMO_ATTR_VTYPES,
00351     /* trip definition attributes */
00352     SUMO_ATTR_LANE,
00353     SUMO_ATTR_LANES,
00354     SUMO_ATTR_FROM,
00355     SUMO_ATTR_TO,
00356     SUMO_ATTR_PERIOD,
00357     SUMO_ATTR_FROM_TAZ__DEPRECATED,
00358     SUMO_ATTR_FROM_TAZ,
00359     SUMO_ATTR_TO_TAZ__DEPRECATED,
00360     SUMO_ATTR_TO_TAZ,
00361     SUMO_ATTR_REROUTE,
00362     /* source definitions */
00363     SUMO_ATTR_FUNCTION,
00364     SUMO_ATTR_POSITION,
00365     SUMO_ATTR_FREQUENCY,
00366     SUMO_ATTR_STYLE,
00367     SUMO_ATTR_FILE,
00368     SUMO_ATTR_JUNCTION,
00369     SUMO_ATTR_NO__DEPRECATED,
00370     SUMO_ATTR_NUMBER,
00371     SUMO_ATTR_DURATION,
00372     SUMO_ATTR_UNTIL,
00374     SUMO_ATTR_TIME,
00376     SUMO_ATTR_BEGIN,
00378     SUMO_ATTR_END,
00380     SUMO_ATTR_TLID,
00382     SUMO_ATTR_TLLINKNO__DEPRECATED,
00383     SUMO_ATTR_TLLINKINDEX,
00385     SUMO_ATTR_SHAPE,
00387     SUMO_ATTR_SPREADFUNC__DEPRECATED,
00388     SUMO_ATTR_SPREADTYPE,
00390     SUMO_ATTR_COLOR,
00392     SUMO_ATTR_DIR,
00394     SUMO_ATTR_STATE,
00396     SUMO_ATTR_LAYER,
00398     SUMO_ATTR_FILL,
00399     SUMO_ATTR_PREFIX,
00400     SUMO_ATTR_DISCARD,
00401 
00402     SUMO_ATTR_FROM_LANE,
00403     SUMO_ATTR_TO_LANE,
00404     SUMO_ATTR_DEST,
00405     SUMO_ATTR_SOURCE,
00406     SUMO_ATTR_VIA,
00408     SUMO_ATTR_NODES,
00409 #ifdef _MESSAGES
00410     // Attributes for message emitter
00412     SUMO_ATTR_EVENTS,
00414     SUMO_ATTR_REVERSE,
00416     SUMO_ATTR_TABLE,
00418     SUMO_ATTR_XY,
00420     SUMO_ATTR_STEP,
00421     // Attribute for detectors
00423     SUMO_ATTR_MSG,
00424 #endif
00425     // Attributes for actuated traffic lights:
00427     SUMO_ATTR_MINDURATION__DEPRECATED,
00428     SUMO_ATTR_MINDURATION,
00430     SUMO_ATTR_MAXDURATION__DEPRECATED,
00431     SUMO_ATTR_MAXDURATION,
00432     // Attributes for junction-internal lanes
00434     SUMO_ATTR_FOES,
00435     // Attributes for detectors
00437     SUMO_ATTR_CONT,
00438     SUMO_ATTR_HALTING_TIME_THRESHOLD__DEPRECATED,
00439     SUMO_ATTR_HALTING_TIME_THRESHOLD,
00440     SUMO_ATTR_HALTING_SPEED_THRESHOLD__DEPRECATED,
00441     SUMO_ATTR_HALTING_SPEED_THRESHOLD,
00442     SUMO_ATTR_JAM_DIST_THRESHOLD__DEPRECATED,
00443     SUMO_ATTR_JAM_DIST_THRESHOLD,
00444 
00445     SUMO_ATTR_WAUT_ID,
00446     SUMO_ATTR_JUNCTION_ID,
00447     SUMO_ATTR_PROCEDURE,
00448     SUMO_ATTR_SYNCHRON,
00449     SUMO_ATTR_REF_TIME,
00450     SUMO_ATTR_START_PROG,
00451 
00452     SUMO_ATTR_OFF,
00453     SUMO_ATTR_FRIENDLY_POS__DEPRECATED,
00454     SUMO_ATTR_FRIENDLY_POS,
00455     SUMO_ATTR_SPLIT_VTYPE,
00456     SUMO_ATTR_UNCONTROLLED,
00457     SUMO_ATTR_PASS,
00458     SUMO_ATTR_BUS_STOP__DEPRECATED,
00459     SUMO_ATTR_BUS_STOP,
00460     SUMO_ATTR_LINE,
00461     SUMO_ATTR_LINES,
00462     SUMO_ATTR_VALUE,
00463     SUMO_ATTR_PROHIBITOR,
00464     SUMO_ATTR_PROHIBITED,
00465     SUMO_ATTR_ALLOW,
00466     SUMO_ATTR_DISALLOW,
00467     SUMO_ATTR_PREFER,
00468     SUMO_ATTR_CONTROLLED_INNER__DEPRECATED,
00469     SUMO_ATTR_CONTROLLED_INNER,
00470     SUMO_ATTR_VEHSPERHOUR,
00471     SUMO_ATTR_OUTPUT,
00472     SUMO_ATTR_GUIWIDTH,
00473     SUMO_ATTR_GUIOFFSET,
00474     SUMO_ATTR_GUISHAPE,
00475     SUMO_ATTR_EMISSIONCLASS,
00476     SUMO_ATTR_STARTPOS,
00477     SUMO_ATTR_ENDPOS,
00478     SUMO_ATTR_TRIGGERED,
00479     SUMO_ATTR_PARKING,
00480     SUMO_ATTR_INDEX,
00481 
00482     SUMO_ATTR_ENTERING,
00483     SUMO_ATTR_EXCLUDE_EMPTY,
00484     SUMO_ATTR_WITH_INTERNAL,
00485     SUMO_ATTR_TRACK_VEHICLES,
00486     SUMO_ATTR_MAX_TRAVELTIME,
00487     SUMO_ATTR_MIN_SAMPLES,
00488 
00489     SUMO_ATTR_LON,
00490     SUMO_ATTR_LAT,
00491     SUMO_ATTR_K,
00492     SUMO_ATTR_V,
00493     SUMO_ATTR_REF,
00494     SUMO_ATTR_HREF,
00495     SUMO_ATTR_ZOOM,
00496     SUMO_ATTR_INTERPOLATED,
00497     SUMO_ATTR_THRESHOLD,
00498 
00499     SUMO_ATTR_NET_OFFSET,
00500     SUMO_ATTR_CONV_BOUNDARY,
00501     SUMO_ATTR_ORIG_BOUNDARY,
00502     SUMO_ATTR_ORIG_PROJ,
00503 
00504     SUMO_ATTR_CF_PWAGNER2009_TAULAST,
00505     SUMO_ATTR_CF_PWAGNER2009_APPROB,
00506     SUMO_ATTR_CF_IDM_DELTA,
00507     SUMO_ATTR_CF_IDM_STEPPING,
00508     SUMO_ATTR_CF_IDMM_ADAPT_FACTOR,
00509     SUMO_ATTR_CF_IDMM_ADAPT_TIME,
00510     SUMO_ATTR_CF_KERNER_PHI,
00511     SUMO_ATTR_CF_WIEDEMANN_SECURITY,
00512     SUMO_ATTR_CF_WIEDEMANN_ESTIMATION,
00513 
00514     SUMO_ATTR_GENERATE_WALKS,
00515 
00519     /* general object */
00520     AGEN_ATTR_INHABITANTS,
00521     AGEN_ATTR_HOUSEHOLDS,
00522     AGEN_ATTR_CHILDREN,
00523     AGEN_ATTR_RETIREMENT,
00524     AGEN_ATTR_CARS,
00525     AGEN_ATTR_UNEMPLOYEMENT,
00526     AGEN_ATTR_MAX_FOOT_DIST,
00527     AGEN_ATTR_IN_TRAFFIC,
00528     AGEN_ATTR_OUT_TRAFFIC,
00529 
00530     /* streets object */
00531     //SUMO_ATTR_EDGE already defined
00532     AGEN_ATTR_POPULATION,
00533     AGEN_ATTR_OUT_WORKPOSITION,
00534 
00535     /* workHours object */
00536     AGEN_ATTR_HOUR,
00537     AGEN_ATTR_PROP,
00538 
00539     /* school object */
00540     //SUMO_ATTR_EDGE, SUMO_ATTR_POSITION, SUMO_ATTR_TYPE already defined
00541     AGEN_ATTR_CAPACITY,
00542     AGEN_ATTR_OPENING,
00543     AGEN_ATTR_CLOSING,
00544 
00545     /* busStation and Bus objects */
00546     // ID, EDGE, POSITION, REFID, BEGIN and END are already defined
00547     AGEN_ATTR_MAX_TRIP_DURATION,
00548     //AGEN_ATTR_ORDER,
00549     AGEN_ATTR_RATE,
00550 
00551     /* population and children accompaniment brackets */
00552     AGEN_ATTR_BEGINAGE,
00553     AGEN_ATTR_ENDAGE,
00554     AGEN_ATTR_PEOPLENBR,
00555 
00556     /* parameters */
00557     AGEN_ATTR_CARPREF,
00558     AGEN_ATTR_CITYSPEED,
00559     AGEN_ATTR_FREETIMERATE,
00560     AGEN_ATTR_UNI_RAND_TRAFFIC,
00561     AGEN_ATTR_DEP_VARIATION,
00562 
00563     /* city gates */
00564     AGEN_ATTR_INCOMING,
00565     AGEN_ATTR_OUTGOING,
00566 
00567     //@name Netedit Attributes (used as virtual property holders, must be in SumoXMLAttr)
00568     //
00570     /* whether a feature has been loaded,guessed,modified or approved */
00571     GNE_ATTR_MODIFICATION_STATUS,
00572     /* first coordinate of edge shape */
00573     GNE_ATTR_SHAPE_START,
00574     /* last coordinate of edge shape */
00575     GNE_ATTR_SHAPE_END
00577 };
00578 
00579 /*
00580  * definitions of special SumoXML-attribute values.
00581  * Since these enums shall be used in switch statements we keep them separated
00582  * @{
00583  */
00584 
00590 enum SumoXMLNodeType {
00591     NODETYPE_UNKNOWN, // terminator
00592     NODETYPE_TRAFFIC_LIGHT,
00593     NODETYPE_PRIORITY_JUNCTION,
00594     NODETYPE_RIGHT_BEFORE_LEFT,
00595     NODETYPE_DISTRICT,
00596     NODETYPE_NOJUNCTION,
00597     NODETYPE_INTERNAL,
00598     NODETYPE_DEAD_END,
00599     NODETYPE_DEAD_END_DEPRECATED
00600 };
00601 
00602 
00608 enum SumoXMLEdgeFunc {
00609     EDGEFUNC_NORMAL,
00610     EDGEFUNC_CONNECTOR,
00611     EDGEFUNC_SINK,
00612     EDGEFUNC_SOURCE,
00613     EDGEFUNC_INTERNAL
00614 };
00615 
00616 
00625 enum LaneSpreadFunction {
00626     LANESPREAD_RIGHT,
00627     LANESPREAD_CENTER
00628 };
00629 
00630 
00643 enum LinkState {
00645     LINKSTATE_TL_GREEN_MAJOR = 'G',
00647     LINKSTATE_TL_GREEN_MINOR = 'g',
00649     LINKSTATE_TL_RED = 'r',
00651     LINKSTATE_TL_YELLOW_MAJOR = 'Y',
00653     LINKSTATE_TL_YELLOW_MINOR = 'y',
00655     LINKSTATE_TL_OFF_BLINKING = 'o',
00657     LINKSTATE_TL_OFF_NOSIGNAL = 'O',
00659     LINKSTATE_MAJOR = 'M',
00661     LINKSTATE_MINOR = 'm',
00663     LINKSTATE_EQUAL = '=',
00665     LINKSTATE_DEADEND = '-'
00666 };
00667 
00668 
00675 enum LinkDirection {
00677     LINKDIR_STRAIGHT = 0,
00679     LINKDIR_TURN,
00681     LINKDIR_LEFT,
00683     LINKDIR_RIGHT,
00685     LINKDIR_PARTLEFT,
00687     LINKDIR_PARTRIGHT,
00689     LINKDIR_NODIR
00690 };
00691 
00692 
00696 enum TrafficLightType {
00697     TLTYPE_STATIC,
00698     TLTYPE_ACTUATED,
00699     TLTYPE_AGENT
00700 };
00701 
00702 
00704 
00710 class SUMOXMLDefinitions {
00711 
00712 public:
00714     static StringBijection<int>::Entry tags[];
00715 
00717     static StringBijection<int>::Entry attrs[];
00718 
00720     static StringBijection<int> Tags;
00721 
00723     static StringBijection<int> Attrs;
00724 
00726 
00727     static StringBijection<SumoXMLNodeType> NodeTypes;
00728 
00729     static StringBijection<SumoXMLEdgeFunc> EdgeFunctions;
00730 
00731     static StringBijection<LaneSpreadFunction> LaneSpreadFunctions;
00732 
00733     static StringBijection<LinkState> LinkStates;
00734 
00735     static StringBijection<LinkDirection> LinkDirections;
00736 
00737     static StringBijection<TrafficLightType> TrafficLightTypes;
00739 
00740 private:
00741 
00742     static StringBijection<SumoXMLNodeType>::Entry sumoNodeTypeValues[];
00743 
00744     static StringBijection<SumoXMLEdgeFunc>::Entry sumoEdgeFuncValues[];
00745 
00746     static StringBijection<LaneSpreadFunction>::Entry laneSpreadFunctionValues[];
00747 
00748     static StringBijection<LinkState>::Entry linkStateValues[];
00749 
00750     static StringBijection<LinkDirection>::Entry linkDirectionValues[];
00751 
00752     static StringBijection<TrafficLightType>::Entry trafficLightTypesVales[];
00753 
00754 };
00755 
00756 #endif
00757 
00758 /****************************************************************************/
00759 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines