SUMO - Simulation of Urban MObility

SUMOXMLDefinitions.h

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