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