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