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_HEIGHT,
00473     SUMO_ATTR_GUIOFFSET,
00474     SUMO_ATTR_GUISHAPE,
00475     SUMO_ATTR_OSGFILE,
00476     SUMO_ATTR_EMISSIONCLASS,
00477     SUMO_ATTR_STARTPOS,
00478     SUMO_ATTR_ENDPOS,
00479     SUMO_ATTR_TRIGGERED,
00480     SUMO_ATTR_PARKING,
00481     SUMO_ATTR_INDEX,
00482 
00483     SUMO_ATTR_ENTERING,
00484     SUMO_ATTR_EXCLUDE_EMPTY,
00485     SUMO_ATTR_WITH_INTERNAL,
00486     SUMO_ATTR_TRACK_VEHICLES,
00487     SUMO_ATTR_MAX_TRAVELTIME,
00488     SUMO_ATTR_MIN_SAMPLES,
00489 
00490     SUMO_ATTR_LON,
00491     SUMO_ATTR_LAT,
00492     SUMO_ATTR_K,
00493     SUMO_ATTR_V,
00494     SUMO_ATTR_REF,
00495     SUMO_ATTR_HREF,
00496     SUMO_ATTR_ZOOM,
00497     SUMO_ATTR_INTERPOLATED,
00498     SUMO_ATTR_THRESHOLD,
00499 
00500     SUMO_ATTR_NET_OFFSET,
00501     SUMO_ATTR_CONV_BOUNDARY,
00502     SUMO_ATTR_ORIG_BOUNDARY,
00503     SUMO_ATTR_ORIG_PROJ,
00504 
00505     SUMO_ATTR_CF_PWAGNER2009_TAULAST,
00506     SUMO_ATTR_CF_PWAGNER2009_APPROB,
00507     SUMO_ATTR_CF_IDM_DELTA,
00508     SUMO_ATTR_CF_IDM_STEPPING,
00509     SUMO_ATTR_CF_IDMM_ADAPT_FACTOR,
00510     SUMO_ATTR_CF_IDMM_ADAPT_TIME,
00511     SUMO_ATTR_CF_KERNER_PHI,
00512     SUMO_ATTR_CF_WIEDEMANN_SECURITY,
00513     SUMO_ATTR_CF_WIEDEMANN_ESTIMATION,
00514 
00515     SUMO_ATTR_GENERATE_WALKS,
00516 
00520     /* general object */
00521     AGEN_ATTR_INHABITANTS,
00522     AGEN_ATTR_HOUSEHOLDS,
00523     AGEN_ATTR_CHILDREN,
00524     AGEN_ATTR_RETIREMENT,
00525     AGEN_ATTR_CARS,
00526     AGEN_ATTR_UNEMPLOYEMENT,
00527     AGEN_ATTR_MAX_FOOT_DIST,
00528     AGEN_ATTR_IN_TRAFFIC,
00529     AGEN_ATTR_OUT_TRAFFIC,
00530 
00531     /* streets object */
00532     //SUMO_ATTR_EDGE already defined
00533     AGEN_ATTR_POPULATION,
00534     AGEN_ATTR_OUT_WORKPOSITION,
00535 
00536     /* workHours object */
00537     AGEN_ATTR_HOUR,
00538     AGEN_ATTR_PROP,
00539 
00540     /* school object */
00541     //SUMO_ATTR_EDGE, SUMO_ATTR_POSITION, SUMO_ATTR_TYPE already defined
00542     AGEN_ATTR_CAPACITY,
00543     AGEN_ATTR_OPENING,
00544     AGEN_ATTR_CLOSING,
00545 
00546     /* busStation and Bus objects */
00547     // ID, EDGE, POSITION, REFID, BEGIN and END are already defined
00548     AGEN_ATTR_MAX_TRIP_DURATION,
00549     //AGEN_ATTR_ORDER,
00550     AGEN_ATTR_RATE,
00551 
00552     /* population and children accompaniment brackets */
00553     AGEN_ATTR_BEGINAGE,
00554     AGEN_ATTR_ENDAGE,
00555     AGEN_ATTR_PEOPLENBR,
00556 
00557     /* parameters */
00558     AGEN_ATTR_CARPREF,
00559     AGEN_ATTR_CITYSPEED,
00560     AGEN_ATTR_FREETIMERATE,
00561     AGEN_ATTR_UNI_RAND_TRAFFIC,
00562     AGEN_ATTR_DEP_VARIATION,
00563 
00564     /* city gates */
00565     AGEN_ATTR_INCOMING,
00566     AGEN_ATTR_OUTGOING,
00567 
00568     //@name Netedit Attributes (used as virtual property holders, must be in SumoXMLAttr)
00569     //
00571     /* whether a feature has been loaded,guessed,modified or approved */
00572     GNE_ATTR_MODIFICATION_STATUS,
00573     /* first coordinate of edge shape */
00574     GNE_ATTR_SHAPE_START,
00575     /* last coordinate of edge shape */
00576     GNE_ATTR_SHAPE_END
00578 };
00579 
00580 /*
00581  * definitions of special SumoXML-attribute values.
00582  * Since these enums shall be used in switch statements we keep them separated
00583  * @{
00584  */
00585 
00591 enum SumoXMLNodeType {
00592     NODETYPE_UNKNOWN, // terminator
00593     NODETYPE_TRAFFIC_LIGHT,
00594     NODETYPE_PRIORITY_JUNCTION,
00595     NODETYPE_RIGHT_BEFORE_LEFT,
00596     NODETYPE_DISTRICT,
00597     NODETYPE_NOJUNCTION,
00598     NODETYPE_INTERNAL,
00599     NODETYPE_DEAD_END,
00600     NODETYPE_DEAD_END_DEPRECATED
00601 };
00602 
00603 
00609 enum SumoXMLEdgeFunc {
00610     EDGEFUNC_NORMAL,
00611     EDGEFUNC_CONNECTOR,
00612     EDGEFUNC_SINK,
00613     EDGEFUNC_SOURCE,
00614     EDGEFUNC_INTERNAL
00615 };
00616 
00617 
00626 enum LaneSpreadFunction {
00627     LANESPREAD_RIGHT,
00628     LANESPREAD_CENTER
00629 };
00630 
00631 
00644 enum LinkState {
00646     LINKSTATE_TL_GREEN_MAJOR = 'G',
00648     LINKSTATE_TL_GREEN_MINOR = 'g',
00650     LINKSTATE_TL_RED = 'r',
00652     LINKSTATE_TL_YELLOW_MAJOR = 'Y',
00654     LINKSTATE_TL_YELLOW_MINOR = 'y',
00656     LINKSTATE_TL_OFF_BLINKING = 'o',
00658     LINKSTATE_TL_OFF_NOSIGNAL = 'O',
00660     LINKSTATE_MAJOR = 'M',
00662     LINKSTATE_MINOR = 'm',
00664     LINKSTATE_EQUAL = '=',
00666     LINKSTATE_DEADEND = '-'
00667 };
00668 
00669 
00676 enum LinkDirection {
00678     LINKDIR_STRAIGHT = 0,
00680     LINKDIR_TURN,
00682     LINKDIR_LEFT,
00684     LINKDIR_RIGHT,
00686     LINKDIR_PARTLEFT,
00688     LINKDIR_PARTRIGHT,
00690     LINKDIR_NODIR
00691 };
00692 
00693 
00697 enum TrafficLightType {
00698     TLTYPE_STATIC,
00699     TLTYPE_ACTUATED,
00700     TLTYPE_AGENT
00701 };
00702 
00703 
00705 
00711 class SUMOXMLDefinitions {
00712 
00713 public:
00715     static StringBijection<int>::Entry tags[];
00716 
00718     static StringBijection<int>::Entry attrs[];
00719 
00721     static StringBijection<int> Tags;
00722 
00724     static StringBijection<int> Attrs;
00725 
00727 
00728     static StringBijection<SumoXMLNodeType> NodeTypes;
00729 
00730     static StringBijection<SumoXMLEdgeFunc> EdgeFunctions;
00731 
00732     static StringBijection<LaneSpreadFunction> LaneSpreadFunctions;
00733 
00734     static StringBijection<LinkState> LinkStates;
00735 
00736     static StringBijection<LinkDirection> LinkDirections;
00737 
00738     static StringBijection<TrafficLightType> TrafficLightTypes;
00740 
00741 private:
00742 
00743     static StringBijection<SumoXMLNodeType>::Entry sumoNodeTypeValues[];
00744 
00745     static StringBijection<SumoXMLEdgeFunc>::Entry sumoEdgeFuncValues[];
00746 
00747     static StringBijection<LaneSpreadFunction>::Entry laneSpreadFunctionValues[];
00748 
00749     static StringBijection<LinkState>::Entry linkStateValues[];
00750 
00751     static StringBijection<LinkDirection>::Entry linkDirectionValues[];
00752 
00753     static StringBijection<TrafficLightType>::Entry trafficLightTypesVales[];
00754 
00755 };
00756 
00757 #endif
00758 
00759 /****************************************************************************/
00760 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines