SUMO - Simulation of Urban MObility
TraCIConstants.h
Go to the documentation of this file.
1 /****************************************************************************/
18 /****************************************************************************/
19 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
20 // Copyright (C) 2007-2017 DLR (http://www.dlr.de/) and contributors
21 /****************************************************************************/
22 //
23 // This file is part of SUMO.
24 // SUMO is free software: you can redistribute it and/or modify
25 // it under the terms of the GNU General Public License as published by
26 // the Free Software Foundation, either version 3 of the License, or
27 // (at your option) any later version.
28 //
29 /****************************************************************************/
30 #ifndef TRACICONSTANTS_H
31 #define TRACICONSTANTS_H
32 
33 // ****************************************
34 // VERSION
35 // ****************************************
36 #define TRACI_VERSION 15
37 
38 // ****************************************
39 // COMMANDS
40 // ****************************************
41 // command: get version
42 #define CMD_GETVERSION 0x00
43 
44 // command: load
45 #define CMD_LOAD 0x01
46 
47 // command: simulation step
48 #define CMD_SIMSTEP 0x02
49 
50 // command: stop node
51 #define CMD_STOP 0x12
52 
53 // command: Resume from parking
54 #define CMD_RESUME 0x19
55 
56 // command: set lane
57 #define CMD_CHANGELANE 0x13
58 
59 // command: slow down
60 #define CMD_SLOWDOWN 0x14
61 
62 // command: set sublane (vehicle)
63 #define CMD_CHANGESUBLANE 0x15
64 
65 // command: change target
66 #define CMD_CHANGETARGET 0x31
67 
68 // command: close sumo
69 #define CMD_CLOSE 0x7F
70 
71 
72 // command: subscribe induction loop (e1) context
73 #define CMD_SUBSCRIBE_INDUCTIONLOOP_CONTEXT 0x80
74 // response: subscribe induction loop (e1) context
75 #define RESPONSE_SUBSCRIBE_INDUCTIONLOOP_CONTEXT 0x90
76 // command: get induction loop (e1) variable
77 #define CMD_GET_INDUCTIONLOOP_VARIABLE 0xa0
78 // response: get induction loop (e1) variable
79 #define RESPONSE_GET_INDUCTIONLOOP_VARIABLE 0xb0
80 // command: subscribe induction loop (e1) variable
81 #define CMD_SUBSCRIBE_INDUCTIONLOOP_VARIABLE 0xd0
82 // response: subscribe induction loop (e1) variable
83 #define RESPONSE_SUBSCRIBE_INDUCTIONLOOP_VARIABLE 0xe0
84 
85 // command: subscribe multi-entry/multi-exit detector (e3) context
86 #define CMD_SUBSCRIBE_MULTIENTRYEXIT_CONTEXT 0x81
87 // response: subscribe multi-entry/multi-exit detector (e3) context
88 #define RESPONSE_SUBSCRIBE_MULTIENTRYEXIT_CONTEXT 0x91
89 // command: get multi-entry/multi-exit detector (e3) variable
90 #define CMD_GET_MULTIENTRYEXIT_VARIABLE 0xa1
91 // response: get multi-entry/multi-exit detector (e3) variable
92 #define RESPONSE_GET_MULTIENTRYEXIT_VARIABLE 0xb1
93 // command: subscribe multi-entry/multi-exit detector (e3) variable
94 #define CMD_SUBSCRIBE_MULTIENTRYEXIT_VARIABLE 0xd1
95 // response: subscribe multi-entry/multi-exit detector (e3) variable
96 #define RESPONSE_SUBSCRIBE_MULTIENTRYEXIT_VARIABLE 0xe1
97 
98 // command: subscribe traffic lights context
99 #define CMD_SUBSCRIBE_TL_CONTEXT 0x82
100 // response: subscribe traffic lights context
101 #define RESPONSE_SUBSCRIBE_TL_CONTEXT 0x92
102 // command: get traffic lights variable
103 #define CMD_GET_TL_VARIABLE 0xa2
104 // response: get traffic lights variable
105 #define RESPONSE_GET_TL_VARIABLE 0xb2
106 // command: set traffic lights variable
107 #define CMD_SET_TL_VARIABLE 0xc2
108 // command: subscribe traffic lights variable
109 #define CMD_SUBSCRIBE_TL_VARIABLE 0xd2
110 // response: subscribe traffic lights variable
111 #define RESPONSE_SUBSCRIBE_TL_VARIABLE 0xe2
112 
113 // command: subscribe lane context
114 #define CMD_SUBSCRIBE_LANE_CONTEXT 0x83
115 // response: subscribe lane context
116 #define RESPONSE_SUBSCRIBE_LANE_CONTEXT 0x93
117 // command: get lane variable
118 #define CMD_GET_LANE_VARIABLE 0xa3
119 // response: get lane variable
120 #define RESPONSE_GET_LANE_VARIABLE 0xb3
121 // command: set lane variable
122 #define CMD_SET_LANE_VARIABLE 0xc3
123 // command: subscribe lane variable
124 #define CMD_SUBSCRIBE_LANE_VARIABLE 0xd3
125 // response: subscribe lane variable
126 #define RESPONSE_SUBSCRIBE_LANE_VARIABLE 0xe3
127 
128 // command: subscribe vehicle context
129 #define CMD_SUBSCRIBE_VEHICLE_CONTEXT 0x84
130 // response: subscribe vehicle context
131 #define RESPONSE_SUBSCRIBE_VEHICLE_CONTEXT 0x94
132 // command: get vehicle variable
133 #define CMD_GET_VEHICLE_VARIABLE 0xa4
134 // response: get vehicle variable
135 #define RESPONSE_GET_VEHICLE_VARIABLE 0xb4
136 // command: set vehicle variable
137 #define CMD_SET_VEHICLE_VARIABLE 0xc4
138 // command: subscribe vehicle variable
139 #define CMD_SUBSCRIBE_VEHICLE_VARIABLE 0xd4
140 // response: subscribe vehicle variable
141 #define RESPONSE_SUBSCRIBE_VEHICLE_VARIABLE 0xe4
142 
143 // command: subscribe vehicle type context
144 #define CMD_SUBSCRIBE_VEHICLETYPE_CONTEXT 0x85
145 // response: subscribe vehicle type context
146 #define RESPONSE_SUBSCRIBE_VEHICLETYPE_CONTEXT 0x95
147 // command: get vehicle type variable
148 #define CMD_GET_VEHICLETYPE_VARIABLE 0xa5
149 // response: get vehicle type variable
150 #define RESPONSE_GET_VEHICLETYPE_VARIABLE 0xb5
151 // command: set vehicle type variable
152 #define CMD_SET_VEHICLETYPE_VARIABLE 0xc5
153 // command: subscribe vehicle type variable
154 #define CMD_SUBSCRIBE_VEHICLETYPE_VARIABLE 0xd5
155 // response: subscribe vehicle type variable
156 #define RESPONSE_SUBSCRIBE_VEHICLETYPE_VARIABLE 0xe5
157 
158 // command: subscribe route context
159 #define CMD_SUBSCRIBE_ROUTE_CONTEXT 0x86
160 // response: subscribe route context
161 #define RESPONSE_SUBSCRIBE_ROUTE_CONTEXT 0x96
162 // command: get route variable
163 #define CMD_GET_ROUTE_VARIABLE 0xa6
164 // response: get route variable
165 #define RESPONSE_GET_ROUTE_VARIABLE 0xb6
166 // command: set route variable
167 #define CMD_SET_ROUTE_VARIABLE 0xc6
168 // command: subscribe route variable
169 #define CMD_SUBSCRIBE_ROUTE_VARIABLE 0xd6
170 // response: subscribe route variable
171 #define RESPONSE_SUBSCRIBE_ROUTE_VARIABLE 0xe6
172 
173 // command: subscribe poi context
174 #define CMD_SUBSCRIBE_POI_CONTEXT 0x87
175 // response: subscribe poi context
176 #define RESPONSE_SUBSCRIBE_POI_CONTEXT 0x97
177 // command: get poi variable
178 #define CMD_GET_POI_VARIABLE 0xa7
179 // response: get poi variable
180 #define RESPONSE_GET_POI_VARIABLE 0xb7
181 // command: set poi variable
182 #define CMD_SET_POI_VARIABLE 0xc7
183 // command: subscribe poi variable
184 #define CMD_SUBSCRIBE_POI_VARIABLE 0xd7
185 // response: subscribe poi variable
186 #define RESPONSE_SUBSCRIBE_POI_VARIABLE 0xe7
187 
188 // command: subscribe polygon context
189 #define CMD_SUBSCRIBE_POLYGON_CONTEXT 0x88
190 // response: subscribe polygon context
191 #define RESPONSE_SUBSCRIBE_POLYGON_CONTEXT 0x98
192 // command: get polygon variable
193 #define CMD_GET_POLYGON_VARIABLE 0xa8
194 // response: get polygon variable
195 #define RESPONSE_GET_POLYGON_VARIABLE 0xb8
196 // command: set polygon variable
197 #define CMD_SET_POLYGON_VARIABLE 0xc8
198 // command: subscribe polygon variable
199 #define CMD_SUBSCRIBE_POLYGON_VARIABLE 0xd8
200 // response: subscribe polygon variable
201 #define RESPONSE_SUBSCRIBE_POLYGON_VARIABLE 0xe8
202 
203 // command: subscribe junction context
204 #define CMD_SUBSCRIBE_JUNCTION_CONTEXT 0x89
205 // response: subscribe junction context
206 #define RESPONSE_SUBSCRIBE_JUNCTION_CONTEXT 0x99
207 // command: get junction variable
208 #define CMD_GET_JUNCTION_VARIABLE 0xa9
209 // response: get junction variable
210 #define RESPONSE_GET_JUNCTION_VARIABLE 0xb9
211 // command: set junction variable
212 #define CMD_SET_JUNCTION_VARIABLE 0xc9
213 // command: subscribe junction variable
214 #define CMD_SUBSCRIBE_JUNCTION_VARIABLE 0xd9
215 // response: subscribe junction variable
216 #define RESPONSE_SUBSCRIBE_JUNCTION_VARIABLE 0xe9
217 
218 // command: subscribe edge context
219 #define CMD_SUBSCRIBE_EDGE_CONTEXT 0x8a
220 // response: subscribe edge context
221 #define RESPONSE_SUBSCRIBE_EDGE_CONTEXT 0x9a
222 // command: get edge variable
223 #define CMD_GET_EDGE_VARIABLE 0xaa
224 // response: get edge variable
225 #define RESPONSE_GET_EDGE_VARIABLE 0xba
226 // command: set edge variable
227 #define CMD_SET_EDGE_VARIABLE 0xca
228 // command: subscribe edge variable
229 #define CMD_SUBSCRIBE_EDGE_VARIABLE 0xda
230 // response: subscribe edge variable
231 #define RESPONSE_SUBSCRIBE_EDGE_VARIABLE 0xea
232 
233 // command: subscribe simulation context
234 #define CMD_SUBSCRIBE_SIM_CONTEXT 0x8b
235 // response: subscribe simulation context
236 #define RESPONSE_SUBSCRIBE_SIM_CONTEXT 0x9b
237 // command: get simulation variable
238 #define CMD_GET_SIM_VARIABLE 0xab
239 // response: get simulation variable
240 #define RESPONSE_GET_SIM_VARIABLE 0xbb
241 // command: set simulation variable
242 #define CMD_SET_SIM_VARIABLE 0xcb
243 // command: subscribe simulation variable
244 #define CMD_SUBSCRIBE_SIM_VARIABLE 0xdb
245 // response: subscribe simulation variable
246 #define RESPONSE_SUBSCRIBE_SIM_VARIABLE 0xeb
247 
248 // command: subscribe GUI context
249 #define CMD_SUBSCRIBE_GUI_CONTEXT 0x8c
250 // response: subscribe GUI context
251 #define RESPONSE_SUBSCRIBE_GUI_CONTEXT 0x9c
252 // command: get GUI variable
253 #define CMD_GET_GUI_VARIABLE 0xac
254 // response: get GUI variable
255 #define RESPONSE_GET_GUI_VARIABLE 0xbc
256 // command: set GUI variable
257 #define CMD_SET_GUI_VARIABLE 0xcc
258 // command: subscribe GUI variable
259 #define CMD_SUBSCRIBE_GUI_VARIABLE 0xdc
260 // response: subscribe GUI variable
261 #define RESPONSE_SUBSCRIBE_GUI_VARIABLE 0xec
262 
263 // command: subscribe areal detector (e2) context
264 #define CMD_SUBSCRIBE_LANEAREA_CONTEXT 0x8d
265 // response: subscribe areal detector (e2) context
266 #define RESPONSE_SUBSCRIBE_LANEAREA_CONTEXT 0x9d
267 // command: get areal detector (e2) variable
268 #define CMD_GET_LANEAREA_VARIABLE 0xad
269 // response: get areal detector (e2) variable
270 #define RESPONSE_GET_LANEAREA_VARIABLE 0xbd
271 // command: subscribe areal detector (e2) variable
272 #define CMD_SUBSCRIBE_LANEAREA_VARIABLE 0xdd
273 // response: subscribe areal detector (e2) variable
274 #define RESPONSE_SUBSCRIBE_LANEAREA_VARIABLE 0xed
275 
276 // command: subscribe person context
277 #define CMD_SUBSCRIBE_PERSON_CONTEXT 0x8e
278 // response: subscribe person context
279 #define RESPONSE_SUBSCRIBE_PERSON_CONTEXT 0x9e
280 // command: get person variable
281 #define CMD_GET_PERSON_VARIABLE 0xae
282 // response: get person variable
283 #define RESPONSE_GET_PERSON_VARIABLE 0xbe
284 // command: set person variable
285 #define CMD_SET_PERSON_VARIABLE 0xce
286 // command: subscribe person variable
287 #define CMD_SUBSCRIBE_PERSON_VARIABLE 0xde
288 // response: subscribe person variable
289 #define RESPONSE_SUBSCRIBE_PERSON_VARIABLE 0xee
290 
291 
292 // ****************************************
293 // POSITION REPRESENTATIONS
294 // ****************************************
295 // Position in geo-coordinates
296 #define POSITION_LON_LAT 0x00
297 // 2D cartesian coordinates
298 #define POSITION_2D 0x01
299 // Position in geo-coordinates with altitude
300 #define POSITION_LON_LAT_ALT 0x02
301 // 3D cartesian coordinates
302 #define POSITION_3D 0x03
303 // Position on road map
304 #define POSITION_ROADMAP 0x04
305 
306 
307 // ****************************************
308 // DATA TYPES
309 // ****************************************
310 // Boundary Box (4 doubles)
311 #define TYPE_BOUNDINGBOX 0x05
312 // Polygon (2*n doubles)
313 #define TYPE_POLYGON 0x06
314 // unsigned byte
315 #define TYPE_UBYTE 0x07
316 // signed byte
317 #define TYPE_BYTE 0x08
318 // 32 bit signed integer
319 #define TYPE_INTEGER 0x09
320 // float
321 #define TYPE_FLOAT 0x0A
322 // double
323 #define TYPE_DOUBLE 0x0B
324 // 8 bit ASCII string
325 #define TYPE_STRING 0x0C
326 // list of traffic light phases
327 #define TYPE_TLPHASELIST 0x0D
328 // list of strings
329 #define TYPE_STRINGLIST 0x0E
330 // compound object
331 #define TYPE_COMPOUND 0x0F
332 // color (four ubytes)
333 #define TYPE_COLOR 0x11
334 
335 
336 // ****************************************
337 // RESULT TYPES
338 // ****************************************
339 // result type: Ok
340 #define RTYPE_OK 0x00
341 // result type: not implemented
342 #define RTYPE_NOTIMPLEMENTED 0x01
343 // result type: error
344 #define RTYPE_ERR 0xFF
345 
346 // return value for invalid queries (especially vehicle is not on the road)
347 #define INVALID_DOUBLE_VALUE -1001.
348 // return value for invalid queries (especially vehicle is not on the road)
349 #define INVALID_INT_VALUE -1
350 
351 
352 // ****************************************
353 // TRAFFIC LIGHT PHASES
354 // ****************************************
355 // red phase
356 #define TLPHASE_RED 0x01
357 // yellow phase
358 #define TLPHASE_YELLOW 0x02
359 // green phase
360 #define TLPHASE_GREEN 0x03
361 // tl is blinking
362 #define TLPHASE_BLINKING 0x04
363 // tl is off and not blinking
364 #define TLPHASE_NOSIGNAL 0x05
365 
366 
367 // ****************************************
368 // DIFFERENT DISTANCE REQUESTS
369 // ****************************************
370 // air distance
371 #define REQUEST_AIRDIST 0x00
372 // driving distance
373 #define REQUEST_DRIVINGDIST 0x01
374 
375 
376 // ****************************************
377 // VEHICLE REMOVAL REASONS
378 // ****************************************
379 // vehicle started teleport
380 #define REMOVE_TELEPORT 0x00
381 // vehicle removed while parking
382 #define REMOVE_PARKING 0x01
383 // vehicle arrived
384 #define REMOVE_ARRIVED 0x02
385 // vehicle was vaporized
386 #define REMOVE_VAPORIZED 0x03
387 // vehicle finished route during teleport
388 #define REMOVE_TELEPORT_ARRIVED 0x04
389 
390 // ****************************************
391 // PERSON/CONTAINER STAGES
392 // ****************************************
393 // person / container stopping
394 #define STAGE_WAITING_FOR_DEPART 0x00
395 // person / container stopping
396 #define STAGE_WAITING 0x01
397 // person walking / container transhiping
398 #define STAGE_WALKING 0x02
399 // person riding / container being transported
400 #define STAGE_DRIVING 0x03
401 
402 // ****************************************
403 // Stop Flags
404 // ****************************************
405 #define STOP_DEFAULT 0x00
406 #define STOP_PARKING 0x01
407 #define STOP_TRIGGERED 0x02
408 #define STOP_CONTAINER_TRIGGERED 0x04
409 #define STOP_BUS_STOP 0x08
410 #define STOP_CONTAINER_STOP 0x10
411 #define STOP_CHARGING_STATION 0x20
412 #define STOP_PARKING_AREA 0x40
413 
414 // ****************************************
415 // Departure Flags
416 // ****************************************
417 #define DEPARTFLAG_TRIGGERED -0x01
418 #define DEPARTFLAG_CONTAINER_TRIGGERED -0x02
419 #define DEPARTFLAG_NOW -0x03
420 
421 #define DEPARTFLAG_SPEED_RANDOM -0x02
422 #define DEPARTFLAG_SPEED_MAX -0x03
423 
424 #define DEPARTFLAG_LANE_RANDOM -0x02
425 #define DEPARTFLAG_LANE_FREE -0x03
426 #define DEPARTFLAG_LANE_ALLOWED_FREE -0x04
427 #define DEPARTFLAG_LANE_BEST_FREE -0x05
428 #define DEPARTFLAG_LANE_FIRST_ALLOWED -0x06
429 
430 // ****************************************
431 // VARIABLE TYPES (for CMD_GET_*_VARIABLE)
432 // ****************************************
433 // list of instances' ids (get: all)
434 #define ID_LIST 0x00
435 
436 // count of instances (get: all)
437 #define ID_COUNT 0x01
438 
439 // subscribe object variables (get: all)
440 #define AUTOMATIC_VARIABLES_SUBSCRIPTION 0x02
441 
442 // subscribe context variables (get: all)
443 #define AUTOMATIC_CONTEXT_SUBSCRIPTION 0x03
444 
445 // generic attributes (get/set: all)
446 #define GENERIC_ATTRIBUTE 0x03
447 
448 // last step vehicle number (get: induction loops, multi-entry/multi-exit detector, lanes, edges)
449 #define LAST_STEP_VEHICLE_NUMBER 0x10
450 
451 // last step vehicle number (get: induction loops, multi-entry/multi-exit detector, lanes, edges)
452 #define LAST_STEP_MEAN_SPEED 0x11
453 
454 // last step vehicle list (get: induction loops, multi-entry/multi-exit detector, lanes, edges)
455 #define LAST_STEP_VEHICLE_ID_LIST 0x12
456 
457 // last step occupancy (get: induction loops, lanes, edges)
458 #define LAST_STEP_OCCUPANCY 0x13
459 
460 // last step vehicle halting number (get: multi-entry/multi-exit detector, lanes, edges)
461 #define LAST_STEP_VEHICLE_HALTING_NUMBER 0x14
462 
463 // last step mean vehicle length (get: induction loops, lanes, edges)
464 #define LAST_STEP_LENGTH 0x15
465 
466 // last step time since last detection (get: induction loops)
467 #define LAST_STEP_TIME_SINCE_DETECTION 0x16
468 
469 // entry times
470 #define LAST_STEP_VEHICLE_DATA 0x17
471 
472 // last step jam length in vehicles
473 #define JAM_LENGTH_VEHICLE 0x18
474 
475 // last step jam length in meters
476 #define JAM_LENGTH_METERS 0x19
477 
478 // last step person list (get: edges)
479 #define LAST_STEP_PERSON_ID_LIST 0x1a
480 
481 
482 // traffic light states, encoded as rRgGyYoO tuple (get: traffic lights)
483 #define TL_RED_YELLOW_GREEN_STATE 0x20
484 
485 // index of the phase (set: traffic lights)
486 #define TL_PHASE_INDEX 0x22
487 
488 // traffic light program (set: traffic lights)
489 #define TL_PROGRAM 0x23
490 
491 // phase duration (set: traffic lights)
492 #define TL_PHASE_DURATION 0x24
493 
494 // controlled lanes (get: traffic lights)
495 #define TL_CONTROLLED_LANES 0x26
496 
497 // controlled links (get: traffic lights)
498 #define TL_CONTROLLED_LINKS 0x27
499 
500 // index of the current phase (get: traffic lights)
501 #define TL_CURRENT_PHASE 0x28
502 
503 // name of the current program (get: traffic lights)
504 #define TL_CURRENT_PROGRAM 0x29
505 
506 // controlled junctions (get: traffic lights)
507 #define TL_CONTROLLED_JUNCTIONS 0x2a
508 
509 // complete definition (get: traffic lights)
510 #define TL_COMPLETE_DEFINITION_RYG 0x2b
511 
512 // complete program (set: traffic lights)
513 #define TL_COMPLETE_PROGRAM_RYG 0x2c
514 
515 // assumed time to next switch (get: traffic lights)
516 #define TL_NEXT_SWITCH 0x2d
517 
518 // current state, using external signal names (get: traffic lights)
519 #define TL_EXTERNAL_STATE 0x2e
520 
521 
522 // outgoing link number (get: lanes)
523 #define LANE_LINK_NUMBER 0x30
524 
525 // id of parent edge (get: lanes)
526 #define LANE_EDGE_ID 0x31
527 
528 // outgoing link definitions (get: lanes)
529 #define LANE_LINKS 0x33
530 
531 // list of allowed vehicle classes (get&set: lanes)
532 #define LANE_ALLOWED 0x34
533 
534 // list of not allowed vehicle classes (get&set: lanes)
535 #define LANE_DISALLOWED 0x35
536 
537 // slope (get: edge, lane, vehicle, person)
538 #define VAR_SLOPE 0x36
539 
540 // speed (get: vehicle)
541 #define VAR_SPEED 0x40
542 
543 // maximum allowed/possible speed (get: vehicle types, lanes, set: edges, lanes)
544 #define VAR_MAXSPEED 0x41
545 
546 // position (2D) (get: vehicle, poi, inductionloop, areadetector; set: poi)
547 #define VAR_POSITION 0x42
548 
549 // position (3D) (get: vehicle, poi, set: poi)
550 #define VAR_POSITION3D 0x39
551 
552 // angle (get: vehicle)
553 #define VAR_ANGLE 0x43
554 
555 // angle (get: vehicle types, lanes, arealdetector, set: lanes)
556 #define VAR_LENGTH 0x44
557 
558 // color (get: vehicles, vehicle types, polygons, pois)
559 #define VAR_COLOR 0x45
560 
561 // max. acceleration (get: vehicle types)
562 #define VAR_ACCEL 0x46
563 
564 // max. deceleration (get: vehicle types)
565 #define VAR_DECEL 0x47
566 
567 // driver reaction time (get: vehicle types)
568 #define VAR_TAU 0x48
569 
570 // vehicle class (get: vehicle types)
571 #define VAR_VEHICLECLASS 0x49
572 
573 // emission class (get: vehicle types)
574 #define VAR_EMISSIONCLASS 0x4a
575 
576 // shape class (get: vehicle types)
577 #define VAR_SHAPECLASS 0x4b
578 
579 // minimum gap (get: vehicle types)
580 #define VAR_MINGAP 0x4c
581 
582 // width (get: vehicle types, lanes)
583 #define VAR_WIDTH 0x4d
584 
585 // shape (get: polygons)
586 #define VAR_SHAPE 0x4e
587 
588 // type id (get: vehicles, polygons, pois)
589 #define VAR_TYPE 0x4f
590 
591 // road id (get: vehicles)
592 #define VAR_ROAD_ID 0x50
593 
594 // lane id (get: vehicles, inductionloop, arealdetector)
595 #define VAR_LANE_ID 0x51
596 
597 // lane index (get: vehicles)
598 #define VAR_LANE_INDEX 0x52
599 
600 // route id (get & set: vehicles)
601 #define VAR_ROUTE_ID 0x53
602 
603 // edges (get: routes)
604 #define VAR_EDGES 0x54
605 
606 // filled? (get: polygons)
607 #define VAR_FILL 0x55
608 
609 // position (1D along lane) (get: vehicle)
610 #define VAR_LANEPOSITION 0x56
611 
612 // route (set: vehicles)
613 #define VAR_ROUTE 0x57
614 
615 // travel time information (get&set: vehicle)
616 #define VAR_EDGE_TRAVELTIME 0x58
617 
618 // effort information (get&set: vehicle)
619 #define VAR_EDGE_EFFORT 0x59
620 
621 // last step travel time (get: edge, lane)
622 #define VAR_CURRENT_TRAVELTIME 0x5a
623 
624 // signals state (get/set: vehicle)
625 #define VAR_SIGNALS 0x5b
626 
627 // new lane/position along (set: vehicle)
628 #define VAR_MOVE_TO 0x5c
629 
630 // driver imperfection (set: vehicle)
631 #define VAR_IMPERFECTION 0x5d
632 
633 // speed factor (set: vehicle)
634 #define VAR_SPEED_FACTOR 0x5e
635 
636 // speed deviation (set: vehicle)
637 #define VAR_SPEED_DEVIATION 0x5f
638 
639 
640 // speed without TraCI influence (get: vehicle)
641 #define VAR_SPEED_WITHOUT_TRACI 0xb1
642 
643 // best lanes (get: vehicle)
644 #define VAR_BEST_LANES 0xb2
645 
646 // how speed is set (set: vehicle)
647 #define VAR_SPEEDSETMODE 0xb3
648 
649 // move vehicle, VTD version (set: vehicle)
650 #define MOVE_TO_XY 0xb4
651 
652 // is the vehicle stopped, and if so parked and/or triggered?
653 // value = stopped + 2 * parking + 4 * triggered
654 #define VAR_STOPSTATE 0xb5
655 
656 // how lane changing is performed (set: vehicle)
657 #define VAR_LANECHANGE_MODE 0xb6
658 
659 // maximum speed regarding max speed on the current lane and speed factor (get: vehicle)
660 #define VAR_ALLOWED_SPEED 0xb7
661 
662 // position (1D lateral position relative to center of the current lane) (get: vehicle)
663 #define VAR_LANEPOSITION_LAT 0xb8
664 
665 // get/set prefered lateral alignment within the lane (vehicle)
666 #define VAR_LATALIGNMENT 0xb9
667 
668 // get/set maximum lateral speed (vehicle, vtypes)
669 #define VAR_MAXSPEED_LAT 0xba
670 
671 // get/set minimum lateral gap (vehicle, vtypes)
672 #define VAR_MINGAP_LAT 0xbb
673 
674 // get/set vehicle height (vehicle, vtypes)
675 #define VAR_HEIGHT 0xbc
676 
677 // get/set vehicle line
678 #define VAR_LINE 0xbd
679 
680 // get/set vehicle via
681 #define VAR_VIA 0xbe
682 
683 // current CO2 emission of a node (get: vehicle, lane, edge)
684 #define VAR_CO2EMISSION 0x60
685 
686 // current CO emission of a node (get: vehicle, lane, edge)
687 #define VAR_COEMISSION 0x61
688 
689 // current HC emission of a node (get: vehicle, lane, edge)
690 #define VAR_HCEMISSION 0x62
691 
692 // current PMx emission of a node (get: vehicle, lane, edge)
693 #define VAR_PMXEMISSION 0x63
694 
695 // current NOx emission of a node (get: vehicle, lane, edge)
696 #define VAR_NOXEMISSION 0x64
697 
698 // current fuel consumption of a node (get: vehicle, lane, edge)
699 #define VAR_FUELCONSUMPTION 0x65
700 
701 // current noise emission of a node (get: vehicle, lane, edge)
702 #define VAR_NOISEEMISSION 0x66
703 
704 // current person number (get: vehicle)
705 #define VAR_PERSON_NUMBER 0x67
706 
707 // number of persons waiting at a defined bus stop (get: simulation)
708 #define VAR_BUS_STOP_WAITING 0x67
709 
710 // current leader together with gap (get: vehicle)
711 #define VAR_LEADER 0x68
712 
713 // edge index in current route (get: vehicle)
714 #define VAR_ROUTE_INDEX 0x69
715 
716 // current waiting time (get: vehicle, lane)
717 #define VAR_WAITING_TIME 0x7a
718 
719 // upcoming traffic lights (get: vehicle)
720 #define VAR_NEXT_TLS 0x70
721 
722 // current time step (get: simulation)
723 #define VAR_TIME_STEP 0x70
724 
725 // current electricity consumption of a node (get: vehicle, lane, edge)
726 #define VAR_ELECTRICITYCONSUMPTION 0x71
727 
728 // number of loaded vehicles (get: simulation)
729 #define VAR_LOADED_VEHICLES_NUMBER 0x71
730 
731 // loaded vehicle ids (get: simulation)
732 #define VAR_LOADED_VEHICLES_IDS 0x72
733 
734 // number of departed vehicle (get: simulation)
735 #define VAR_DEPARTED_VEHICLES_NUMBER 0x73
736 
737 // departed vehicle ids (get: simulation)
738 #define VAR_DEPARTED_VEHICLES_IDS 0x74
739 
740 // number of vehicles starting to teleport (get: simulation)
741 #define VAR_TELEPORT_STARTING_VEHICLES_NUMBER 0x75
742 
743 // ids of vehicles starting to teleport (get: simulation)
744 #define VAR_TELEPORT_STARTING_VEHICLES_IDS 0x76
745 
746 // number of vehicles ending to teleport (get: simulation)
747 #define VAR_TELEPORT_ENDING_VEHICLES_NUMBER 0x77
748 
749 // ids of vehicles ending to teleport (get: simulation)
750 #define VAR_TELEPORT_ENDING_VEHICLES_IDS 0x78
751 
752 // number of arrived vehicles (get: simulation)
753 #define VAR_ARRIVED_VEHICLES_NUMBER 0x79
754 
755 // ids of arrived vehicles (get: simulation)
756 #define VAR_ARRIVED_VEHICLES_IDS 0x7a
757 
758 // delta t (get: simulation)
759 #define VAR_DELTA_T 0x7b
760 
761 // bounding box (get: simulation)
762 #define VAR_NET_BOUNDING_BOX 0x7c
763 
764 // minimum number of expected vehicles (get: simulation)
765 #define VAR_MIN_EXPECTED_VEHICLES 0x7d
766 
767 // number of vehicles starting to park (get: simulation)
768 #define VAR_STOP_STARTING_VEHICLES_NUMBER 0x68
769 
770 // ids of vehicles starting to park (get: simulation)
771 #define VAR_STOP_STARTING_VEHICLES_IDS 0x69
772 
773 // number of vehicles ending to park (get: simulation)
774 #define VAR_STOP_ENDING_VEHICLES_NUMBER 0x6a
775 
776 // ids of vehicles ending to park (get: simulation)
777 #define VAR_STOP_ENDING_VEHICLES_IDS 0x6b
778 
779 // number of vehicles starting to park (get: simulation)
780 #define VAR_PARKING_STARTING_VEHICLES_NUMBER 0x6c
781 
782 // ids of vehicles starting to park (get: simulation)
783 #define VAR_PARKING_STARTING_VEHICLES_IDS 0x6d
784 
785 // number of vehicles ending to park (get: simulation)
786 #define VAR_PARKING_ENDING_VEHICLES_NUMBER 0x6e
787 
788 // ids of vehicles ending to park (get: simulation)
789 #define VAR_PARKING_ENDING_VEHICLES_IDS 0x6f
790 
791 // clears the simulation of all not inserted vehicles (set: simulation)
792 #define CMD_CLEAR_PENDING_VEHICLES 0x94
793 
794 // triggers saving simulation state (set: simulation)
795 #define CMD_SAVE_SIMSTATE 0x95
796 
797 // sets/retrieves abstract parameter
798 #define VAR_PARAMETER 0x7e
799 
800 
801 // add an instance (poi, polygon, vehicle, person, route)
802 #define ADD 0x80
803 
804 // remove an instance (poi, polygon, vehicle, person)
805 #define REMOVE 0x81
806 
807 // convert coordinates
808 #define POSITION_CONVERSION 0x82
809 
810 // distance between points or vehicles
811 #define DISTANCE_REQUEST 0x83
812 
813 // the current driving distance
814 #define VAR_DISTANCE 0x84
815 
816 // add a fully specified instance (vehicle)
817 #define ADD_FULL 0x85
818 
819 // force rerouting based on travel time (vehicles)
820 #define CMD_REROUTE_TRAVELTIME 0x90
821 
822 // force rerouting based on effort (vehicles)
823 #define CMD_REROUTE_EFFORT 0x91
824 
825 // validates current route (vehicles)
826 #define VAR_ROUTE_VALID 0x92
827 
828 // retrieve information regarding the current person/container stage
829 #define VAR_STAGE 0xc0
830 
831 // retrieve information regarding the next edge including crossings and walkingAreas (pedestrians only)
832 #define VAR_NEXT_EDGE 0xc1
833 
834 // retrieve information regarding the number of remaining stages
835 #define VAR_STAGES_REMAINING 0xc2
836 
837 // retrieve the current vehicle id for the driving stage (person, container)
838 #define VAR_VEHICLE 0xc3
839 
840 // append a person stage (person)
841 #define APPEND_STAGE 0xc4
842 
843 // append a person stage (person)
844 #define REMOVE_STAGE 0xc5
845 
846 // zoom
847 #define VAR_VIEW_ZOOM 0xa0
848 
849 // view position
850 #define VAR_VIEW_OFFSET 0xa1
851 
852 // view schema
853 #define VAR_VIEW_SCHEMA 0xa2
854 
855 // view by boundary
856 #define VAR_VIEW_BOUNDARY 0xa3
857 
858 // screenshot
859 #define VAR_SCREENSHOT 0xa5
860 
861 // track vehicle
862 #define VAR_TRACK_VEHICLE 0xa6
863 
864 
865 #endif