|
SUMO - Simulation of Urban MObility
|
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