2 * Routines for Common Image Generator Interface
3 * (Versions 2, 3 and 4) dissection
4 * CIGI 1-3 - http://cigi.sourceforge.net/
5 * Copyright (c) 2005 The Boeing Company
7 * CIGI 4 https://www.sisostandards.org/page/StandardsProducts
9 * Wireshark - Network traffic analyzer
10 * By Gerald Combs <gerald@wireshark.org>
11 * Copyright 1998 Gerald Combs
13 * SPDX-License-Identifier: GPL-2.0-or-later
16 * Kyle J. Harms <kyle.j.harms@boeing.com>
17 * Brian M. Ames <bmames@apk.net>
22 #include <epan/packet.h>
23 #include <epan/exceptions.h>
24 #include <epan/expert.h>
25 #include <epan/prefs.h>
26 #include <epan/to_str.h>
29 /* Forward declaration */
30 void proto_register_cigi(void);
31 void proto_reg_handoff_cigi(void);
33 static bool packet_is_cigi(tvbuff_t
*);
34 static void dissect_cigi_pdu(tvbuff_t
*, packet_info
*, proto_tree
*);
35 static void cigi_add_tree(tvbuff_t
*, proto_tree
*);
36 static int cigi_add_data(tvbuff_t
*, proto_tree
*, int);
38 static void cigi2_add_tree(tvbuff_t
*, packet_info
*, proto_tree
*);
39 static int cigi2_add_ig_control(tvbuff_t
*, proto_tree
*, int);
40 static int cigi2_add_entity_control(tvbuff_t
*, proto_tree
*, int);
41 static int cigi2_add_component_control(tvbuff_t
*, proto_tree
*, int);
42 static int cigi2_add_articulated_parts_control(tvbuff_t
*, proto_tree
*, int);
43 static int cigi2_add_rate_control(tvbuff_t
*, proto_tree
*, int);
44 static int cigi2_add_environment_control(tvbuff_t
*, proto_tree
*, int);
45 static int cigi2_add_weather_control(tvbuff_t
*, proto_tree
*, int);
46 static int cigi2_add_view_control(tvbuff_t
*, proto_tree
*, int);
47 static int cigi2_add_sensor_control(tvbuff_t
*, proto_tree
*, int);
48 static int cigi2_add_trajectory_definition(tvbuff_t
*, proto_tree
*, int);
49 static int cigi2_add_special_effect_definition(tvbuff_t
*, proto_tree
*, int);
50 static int cigi2_add_view_definition(tvbuff_t
*, proto_tree
*, int);
51 static int cigi2_add_collision_detection_segment_definition(tvbuff_t
*, proto_tree
*, int);
52 static int cigi2_add_collision_detection_volume_definition(tvbuff_t
*, proto_tree
*, int);
53 static int cigi2_add_height_above_terrain_request(tvbuff_t
*, proto_tree
*, int);
54 static int cigi2_add_line_of_sight_occult_request(tvbuff_t
*, proto_tree
*, int);
55 static int cigi2_add_line_of_sight_range_request(tvbuff_t
*, proto_tree
*, int);
56 static int cigi2_add_height_of_terrain_request(tvbuff_t
*, proto_tree
*, int);
57 static int cigi2_add_start_of_frame(tvbuff_t
*, proto_tree
*, int);
58 static int cigi2_add_height_above_terrain_response(tvbuff_t
*, proto_tree
*, int);
59 static int cigi2_add_line_of_sight_response(tvbuff_t
*, proto_tree
*, int);
60 static int cigi2_add_collision_detection_segment_response(tvbuff_t
*, proto_tree
*, int);
61 static int cigi2_add_sensor_response(tvbuff_t
*, proto_tree
*, int);
62 static int cigi2_add_height_of_terrain_response(tvbuff_t
*, proto_tree
*, int);
63 static int cigi2_add_collision_detection_volume_response(tvbuff_t
*, proto_tree
*, int);
64 static int cigi2_add_image_generator_message(tvbuff_t
*, proto_tree
*, int);
66 static void cigi3_add_tree(tvbuff_t
*, packet_info
*, proto_tree
*);
67 static int cigi3_add_ig_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
68 static int cigi3_add_entity_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
69 static int cigi3_add_conformal_clamped_entity_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
70 static int cigi3_add_component_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
71 static int cigi3_add_short_component_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
72 static int cigi3_add_articulated_part_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
73 static int cigi3_add_short_articulated_part_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
74 static int cigi3_add_rate_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
75 static int cigi3_add_celestial_sphere_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
76 static int cigi3_add_atmosphere_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
77 static int cigi3_add_environmental_region_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
78 static int cigi3_add_weather_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
79 static int cigi3_add_maritime_surface_conditions_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
80 static int cigi3_add_wave_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
81 static int cigi3_add_terrestrial_surface_conditions_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
82 static int cigi3_add_view_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
83 static int cigi3_add_sensor_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
84 static int cigi3_add_motion_tracker_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
85 static int cigi3_add_earth_reference_model_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
86 static int cigi3_add_trajectory_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
87 static int cigi3_add_view_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
88 static int cigi3_add_collision_detection_segment_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
89 static int cigi3_add_collision_detection_volume_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
90 static int cigi3_add_hat_hot_request(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
91 static int cigi3_add_line_of_sight_segment_request(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
92 static int cigi3_add_line_of_sight_vector_request(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
93 static int cigi3_add_position_request(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
94 static int cigi3_add_environmental_conditions_request(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
95 static int cigi3_add_start_of_frame(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
96 static int cigi3_add_hat_hot_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
97 static int cigi3_add_hat_hot_extended_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
98 static int cigi3_add_line_of_sight_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
99 static int cigi3_add_line_of_sight_extended_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
100 static int cigi3_add_sensor_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
101 static int cigi3_add_sensor_extended_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
102 static int cigi3_add_position_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
103 static int cigi3_add_weather_conditions_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
104 static int cigi3_add_aerosol_concentration_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
105 static int cigi3_add_maritime_surface_conditions_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
106 static int cigi3_add_terrestrial_surface_conditions_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
107 static int cigi3_add_collision_detection_segment_notification(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
108 static int cigi3_add_collision_detection_volume_notification(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
109 static int cigi3_add_animation_stop_notification(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
110 static int cigi3_add_event_notification(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
111 static int cigi3_add_image_generator_message(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
113 static int cigi3_3_add_symbol_surface_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
114 static int cigi3_3_add_symbol_text_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
115 static int cigi3_3_add_symbol_circle_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
116 static int cigi3_3_add_symbol_line_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
117 static int cigi3_3_add_symbol_clone(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
118 static int cigi3_3_add_symbol_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
119 static int cigi3_3_add_short_symbol_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
122 static void cigi4_add_tree(tvbuff_t
*, packet_info
*, proto_tree
*);
123 static int cigi4_add_ig_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
124 static int cigi4_add_entity_position(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
125 static int cigi4_add_conformal_clamped_entity_position(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
126 static int cigi4_add_component_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
127 static int cigi4_add_short_component_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
128 static int cigi4_add_articulated_part_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
129 static int cigi4_add_short_articulated_part_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
130 static int cigi4_add_velocity_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
131 static int cigi4_add_celestial_sphere_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
132 static int cigi4_add_atmosphere_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
133 static int cigi4_add_environmental_region_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
134 static int cigi4_add_weather_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
135 static int cigi4_add_maritime_surface_conditions_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
136 static int cigi4_add_wave_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
137 static int cigi4_add_terrestrial_surface_conditions_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
138 static int cigi4_add_view_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
139 static int cigi4_add_sensor_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
140 static int cigi4_add_motion_tracker_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
141 static int cigi4_add_earth_reference_model_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
142 static int cigi4_add_acceleration_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
143 static int cigi4_add_view_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
144 static int cigi4_add_collision_detection_segment_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
145 static int cigi4_add_collision_detection_volume_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
146 static int cigi4_add_hat_hot_request(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
147 static int cigi4_add_line_of_sight_segment_request(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
148 static int cigi4_add_line_of_sight_vector_request(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
149 static int cigi4_add_position_request(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
150 static int cigi4_add_environmental_conditions_request(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
151 static int cigi4_add_symbol_surface_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
152 static int cigi4_add_symbol_text_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
153 static int cigi4_add_symbol_circle_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
154 static int cigi4_add_symbol_polygon_definition(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
155 static int cigi4_add_symbol_clone(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
156 static int cigi4_add_symbol_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
157 static int cigi4_add_short_symbol_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
158 static int cigi4_add_symbol_circle_textured(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
159 static int cigi4_add_entity_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
160 static int cigi4_add_animation_control(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
162 static int cigi4_add_start_of_frame(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
163 static int cigi4_add_hat_hot_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
164 static int cigi4_add_hat_hot_extended_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
165 static int cigi4_add_line_of_sight_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
166 static int cigi4_add_line_of_sight_extended_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
167 static int cigi4_add_sensor_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
168 static int cigi4_add_sensor_extended_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
169 static int cigi4_add_position_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
170 static int cigi4_add_weather_conditions_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
171 static int cigi4_add_aerosol_concentration_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
172 static int cigi4_add_maritime_surface_conditions_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
173 static int cigi4_add_terrestrial_surface_conditions_response(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
174 static int cigi4_add_collision_detection_segment_notification(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
175 static int cigi4_add_collision_detection_volume_notification(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
176 static int cigi4_add_animation_stop_notification(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
177 static int cigi4_add_event_notification(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
178 static int cigi4_add_image_generator_message(tvbuff_t
*, packet_info
*, proto_tree
*, void*);
181 static dissector_handle_t cigi_handle
;
183 static dissector_table_t cigi3_packet_id_table
;
184 static dissector_table_t cigi4_packet_id_table
;
186 /* Initialize the protocol and registered fields */
187 static int proto_cigi
;
189 /* All CIGI Versions */
190 static int hf_cigi_src_port
;
191 static int hf_cigi_dest_port
;
192 static int hf_cigi_port
;
193 static int hf_cigi_data
;
194 static int hf_cigi_packet_id
;
195 static int hf_cigi_packet_size
;
196 static int hf_cigi_version
;
198 static int hf_cigi_frame_size
;
200 static int hf_cigi_unknown
;
203 static const true_false_string attach_detach_tfs
= {
208 static const true_false_string entity_geodetic_tfs
= {
213 static const true_false_string extended_normal_tfs
= {
218 static const true_false_string visible_occluded_tfs
= {
223 static const true_false_string visible_occulted_tfs
= {
228 /*** Fields for CIGI2 ***/
230 /* CIGI2 Packet ID */
231 static int hf_cigi2_packet_id
;
232 #define CIGI2_PACKET_ID_IG_CONTROL 1
233 #define CIGI2_PACKET_ID_ENTITY_CONTROL 2
234 #define CIGI2_PACKET_ID_COMPONENT_CONTROL 3
235 #define CIGI2_PACKET_ID_ARTICULATED_PARTS_CONTROL 4
236 #define CIGI2_PACKET_ID_RATE_CONTROL 5
237 #define CIGI2_PACKET_ID_ENVIRONMENT_CONTROL 6
238 #define CIGI2_PACKET_ID_WEATHER_CONTROL 7
239 #define CIGI2_PACKET_ID_VIEW_CONTROL 8
240 #define CIGI2_PACKET_ID_SENSOR_CONTROL 9
241 #define CIGI2_PACKET_ID_TRAJECTORY_DEFINITION 21
242 #define CIGI2_PACKET_ID_SPECIAL_EFFECT_DEFINITION 22
243 #define CIGI2_PACKET_ID_VIEW_DEFINITION 23
244 #define CIGI2_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION 24
245 #define CIGI2_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION 25
246 #define CIGI2_PACKET_ID_HEIGHT_ABOVE_TERRAIN_REQUEST 41
247 #define CIGI2_PACKET_ID_LINE_OF_SIGHT_OCCULT_REQUEST 42
248 #define CIGI2_PACKET_ID_LINE_OF_SIGHT_RANGE_REQUEST 43
249 #define CIGI2_PACKET_ID_HEIGHT_OF_TERRAIN_REQUEST 44
250 #define CIGI2_PACKET_ID_START_OF_FRAME 101
251 #define CIGI2_PACKET_ID_HEIGHT_ABOVE_TERRAIN_RESPONSE 102
252 #define CIGI2_PACKET_ID_LINE_OF_SIGHT_RESPONSE 103
253 #define CIGI2_PACKET_ID_COLLISION_DETECTION_SEGMENT_RESPONSE 104
254 #define CIGI2_PACKET_ID_SENSOR_RESPONSE 105
255 #define CIGI2_PACKET_ID_HEIGHT_OF_TERRAIN_RESPONSE 106
256 #define CIGI2_PACKET_ID_COLLISION_DETECTION_VOLUME_RESPONSE 107
257 #define CIGI2_PACKET_ID_IMAGE_GENERATOR_MESSAGE 108
258 #define CIGI2_PACKET_ID_USER_DEFINABLE_MIN 236
259 #define CIGI2_PACKET_ID_USER_DEFINABLE_MAX 255
260 static const value_string cigi2_packet_id_vals
[] = {
261 {CIGI2_PACKET_ID_IG_CONTROL
, "IG Control"},
262 {CIGI2_PACKET_ID_ENTITY_CONTROL
, "Entity Control"},
263 {CIGI2_PACKET_ID_COMPONENT_CONTROL
, "Component Control"},
264 {CIGI2_PACKET_ID_ARTICULATED_PARTS_CONTROL
, "Articulated Parts Control"},
265 {CIGI2_PACKET_ID_RATE_CONTROL
, "Rate Control"},
266 {CIGI2_PACKET_ID_ENVIRONMENT_CONTROL
, "Environment Control"},
267 {CIGI2_PACKET_ID_WEATHER_CONTROL
, "Weather Control"},
268 {CIGI2_PACKET_ID_VIEW_CONTROL
, "View Control"},
269 {CIGI2_PACKET_ID_SENSOR_CONTROL
, "Sensor Control"},
270 {CIGI2_PACKET_ID_TRAJECTORY_DEFINITION
, "Trajectory Definition"},
271 {CIGI2_PACKET_ID_SPECIAL_EFFECT_DEFINITION
, "Special Effect Definition"},
272 {CIGI2_PACKET_ID_VIEW_DEFINITION
, "View Definition"},
273 {CIGI2_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION
, "Collision Detection Segment Definition"},
274 {CIGI2_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION
, "Collision Detection Volume Definition"},
275 {CIGI2_PACKET_ID_HEIGHT_ABOVE_TERRAIN_REQUEST
, "Height Above Terrain Request"},
276 {CIGI2_PACKET_ID_LINE_OF_SIGHT_OCCULT_REQUEST
, "Line of Sight Occult Request"},
277 {CIGI2_PACKET_ID_LINE_OF_SIGHT_RANGE_REQUEST
, "Line of Sight Range Request"},
278 {CIGI2_PACKET_ID_HEIGHT_OF_TERRAIN_REQUEST
, "Height of Terrain Request"},
279 {CIGI2_PACKET_ID_START_OF_FRAME
, "Start of Frame"},
280 {CIGI2_PACKET_ID_HEIGHT_ABOVE_TERRAIN_RESPONSE
, "Height Above Terrain Response"},
281 {CIGI2_PACKET_ID_LINE_OF_SIGHT_RESPONSE
, "Line of Sight Response"},
282 {CIGI2_PACKET_ID_COLLISION_DETECTION_SEGMENT_RESPONSE
, "Collision Detection Segment Response"},
283 {CIGI2_PACKET_ID_SENSOR_RESPONSE
, "Sensor Response"},
284 {CIGI2_PACKET_ID_HEIGHT_OF_TERRAIN_RESPONSE
, "Height of Terrain Response"},
285 {CIGI2_PACKET_ID_COLLISION_DETECTION_VOLUME_RESPONSE
, "Collision Detection Volume Response"},
286 {CIGI2_PACKET_ID_IMAGE_GENERATOR_MESSAGE
, "Image Generator Message"},
287 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
, "User Definable"},
288 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+1, "User Definable"},
289 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+2, "User Definable"},
290 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+3, "User Definable"},
291 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+4, "User Definable"},
292 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+5, "User Definable"},
293 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+6, "User Definable"},
294 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+7, "User Definable"},
295 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+8, "User Definable"},
296 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+9, "User Definable"},
297 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+10, "User Definable"},
298 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+11, "User Definable"},
299 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+12, "User Definable"},
300 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+13, "User Definable"},
301 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+14, "User Definable"},
302 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+15, "User Definable"},
303 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+16, "User Definable"},
304 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+17, "User Definable"},
305 {CIGI2_PACKET_ID_USER_DEFINABLE_MIN
+18, "User Definable"},
306 {CIGI2_PACKET_ID_USER_DEFINABLE_MAX
, "User Definable"},
309 static value_string_ext cigi2_packet_id_vals_ext
= VALUE_STRING_EXT_INIT(cigi2_packet_id_vals
);
311 /* CIGI2 IG Control */
312 #define CIGI2_PACKET_SIZE_IG_CONTROL 16
313 static int hf_cigi2_ig_control
;
314 static int hf_cigi2_ig_control_db_number
;
315 static int hf_cigi2_ig_control_ig_mode
;
316 static int hf_cigi2_ig_control_tracking_enable
;
317 static int hf_cigi2_ig_control_boresight
;
318 static int hf_cigi2_ig_control_frame_ctr
;
319 static int hf_cigi2_ig_control_time_tag
;
321 static const value_string cigi2_ig_control_ig_mode_vals
[] = {
322 {0, "Standby/Reset"},
328 /* CIGI2 Entity Control */
329 #define CIGI2_PACKET_SIZE_ENTITY_CONTROL 56
330 static int hf_cigi2_entity_control
;
331 static int hf_cigi2_entity_control_entity_id
;
332 static int hf_cigi2_entity_control_entity_state
;
333 static int hf_cigi2_entity_control_attach_state
;
334 static int hf_cigi2_entity_control_collision_detect
;
335 static int hf_cigi2_entity_control_effect_state
;
336 static int hf_cigi2_entity_control_type
;
337 static int hf_cigi2_entity_control_parent_id
;
338 static int hf_cigi2_entity_control_opacity
;
339 static int hf_cigi2_entity_control_internal_temp
;
340 static int hf_cigi2_entity_control_roll
;
341 static int hf_cigi2_entity_control_pitch
;
342 static int hf_cigi2_entity_control_heading
;
343 static int hf_cigi2_entity_control_alt
;
344 static int hf_cigi2_entity_control_lat
;
345 static int hf_cigi2_entity_control_lon
;
347 static const value_string cigi2_entity_control_entity_state_vals
[] = {
354 static const value_string cigi2_entity_control_effect_state_vals
[] = {
361 /* CIGI2 Component Control */
362 #define CIGI2_PACKET_SIZE_COMPONENT_CONTROL 20
363 static int hf_cigi2_component_control
;
364 static int hf_cigi2_component_control_instance_id
;
365 static int hf_cigi2_component_control_component_class
;
366 static int hf_cigi2_component_control_component_id
;
367 static int hf_cigi2_component_control_component_state
;
368 static int hf_cigi2_component_control_component_val1
;
369 static int hf_cigi2_component_control_component_val2
;
371 static const value_string cigi2_component_control_component_class_vals
[] = {
381 /* CIGI2 Articulated Parts Control */
382 #define CIGI2_PACKET_SIZE_ARTICULATED_PARTS_CONTROL 32
383 static int hf_cigi2_articulated_parts_control
;
384 static int hf_cigi2_articulated_parts_control_entity_id
;
385 static int hf_cigi2_articulated_parts_control_part_id
;
386 static int hf_cigi2_articulated_parts_control_part_state
;
387 static int hf_cigi2_articulated_parts_control_xoff_enable
;
388 static int hf_cigi2_articulated_parts_control_yoff_enable
;
389 static int hf_cigi2_articulated_parts_control_zoff_enable
;
390 static int hf_cigi2_articulated_parts_control_roll_enable
;
391 static int hf_cigi2_articulated_parts_control_pitch_enable
;
392 static int hf_cigi2_articulated_parts_control_yaw_enable
;
393 static int hf_cigi2_articulated_parts_control_x_offset
;
394 static int hf_cigi2_articulated_parts_control_y_offset
;
395 static int hf_cigi2_articulated_parts_control_z_offset
;
396 static int hf_cigi2_articulated_parts_control_roll
;
397 static int hf_cigi2_articulated_parts_control_pitch
;
398 static int hf_cigi2_articulated_parts_control_yaw
;
400 /* CIGI2 Rate Control */
401 #define CIGI2_PACKET_SIZE_RATE_CONTROL 32
402 static int hf_cigi2_rate_control
;
403 static int hf_cigi2_rate_control_entity_id
;
404 static int hf_cigi2_rate_control_part_id
;
405 static int hf_cigi2_rate_control_x_rate
;
406 static int hf_cigi2_rate_control_y_rate
;
407 static int hf_cigi2_rate_control_z_rate
;
408 static int hf_cigi2_rate_control_roll_rate
;
409 static int hf_cigi2_rate_control_pitch_rate
;
410 static int hf_cigi2_rate_control_yaw_rate
;
412 /* CIGI2 Environmental Control */
413 #define CIGI2_PACKET_SIZE_ENVIRONMENT_CONTROL 36
414 static int hf_cigi2_environment_control
;
415 static int hf_cigi2_environment_control_hour
;
416 static int hf_cigi2_environment_control_minute
;
417 static int hf_cigi2_environment_control_ephemeris_enable
;
418 static int hf_cigi2_environment_control_humidity
;
419 static int hf_cigi2_environment_control_modtran_enable
;
420 static int hf_cigi2_environment_control_date
;
421 static int hf_cigi2_environment_control_air_temp
;
422 static int hf_cigi2_environment_control_global_visibility
;
423 static int hf_cigi2_environment_control_wind_speed
;
424 static int hf_cigi2_environment_control_wind_direction
;
425 static int hf_cigi2_environment_control_pressure
;
426 static int hf_cigi2_environment_control_aerosol
;
428 /* CIGI2 Weather Control */
429 #define CIGI2_PACKET_SIZE_WEATHER_CONTROL 44
430 static int hf_cigi2_weather_control
;
431 static int hf_cigi2_weather_control_entity_id
;
432 static int hf_cigi2_weather_control_weather_enable
;
433 static int hf_cigi2_weather_control_scud_enable
;
434 static int hf_cigi2_weather_control_random_winds
;
435 static int hf_cigi2_weather_control_severity
;
436 static int hf_cigi2_weather_control_phenomenon_type
;
437 static int hf_cigi2_weather_control_air_temp
;
438 static int hf_cigi2_weather_control_opacity
;
439 static int hf_cigi2_weather_control_scud_frequency
;
440 static int hf_cigi2_weather_control_coverage
;
441 static int hf_cigi2_weather_control_elevation
;
442 static int hf_cigi2_weather_control_thickness
;
443 static int hf_cigi2_weather_control_transition_band
;
444 static int hf_cigi2_weather_control_wind_speed
;
445 static int hf_cigi2_weather_control_wind_direction
;
447 static const value_string cigi2_weather_control_phenomenon_type_vals
[] = {
448 {0, "Use Entity ID"},
449 {1, "Cloud Layer 1"},
450 {2, "Cloud Layer 2"},
458 /* CIGI2 View Control */
459 #define CIGI2_PACKET_SIZE_VIEW_CONTROL 32
460 static int hf_cigi2_view_control
;
461 static int hf_cigi2_view_control_entity_id
;
462 static int hf_cigi2_view_control_view_id
;
463 static int hf_cigi2_view_control_view_group
;
464 static int hf_cigi2_view_control_xoff_enable
;
465 static int hf_cigi2_view_control_yoff_enable
;
466 static int hf_cigi2_view_control_zoff_enable
;
467 static int hf_cigi2_view_control_roll_enable
;
468 static int hf_cigi2_view_control_pitch_enable
;
469 static int hf_cigi2_view_control_yaw_enable
;
470 static int hf_cigi2_view_control_x_offset
;
471 static int hf_cigi2_view_control_y_offset
;
472 static int hf_cigi2_view_control_z_offset
;
473 static int hf_cigi2_view_control_roll
;
474 static int hf_cigi2_view_control_pitch
;
475 static int hf_cigi2_view_control_yaw
;
477 /* CIGI2 Sensor Control */
478 #define CIGI2_PACKET_SIZE_SENSOR_CONTROL 24
479 static int hf_cigi2_sensor_control
;
480 static int hf_cigi2_sensor_control_view_id
;
481 static int hf_cigi2_sensor_control_sensor_enable
;
482 static int hf_cigi2_sensor_control_polarity
;
483 static int hf_cigi2_sensor_control_line_dropout
;
484 static int hf_cigi2_sensor_control_sensor_id
;
485 static int hf_cigi2_sensor_control_track_mode
;
486 static int hf_cigi2_sensor_control_auto_gain
;
487 static int hf_cigi2_sensor_control_track_polarity
;
488 static int hf_cigi2_sensor_control_gain
;
489 static int hf_cigi2_sensor_control_level
;
490 static int hf_cigi2_sensor_control_ac_coupling
;
491 static int hf_cigi2_sensor_control_noise
;
493 static const true_false_string black_white_tfs
= {
498 static const value_string cigi2_sensor_control_track_mode_vals
[] = {
500 {1, "Force Correlate"},
507 /* CIGI2 Trajectory Definition */
508 #define CIGI2_PACKET_SIZE_TRAJECTORY_DEFINITION 16
509 static int hf_cigi2_trajectory_definition
;
510 static int hf_cigi2_trajectory_definition_entity_id
;
511 static int hf_cigi2_trajectory_definition_acceleration
;
512 static int hf_cigi2_trajectory_definition_retardation
;
513 static int hf_cigi2_trajectory_definition_terminal_velocity
;
515 /* CIGI2 Special Effect Definition */
516 #define CIGI2_PACKET_SIZE_SPECIAL_EFFECT_DEFINITION 32
517 static int hf_cigi2_special_effect_definition
;
518 static int hf_cigi2_special_effect_definition_entity_id
;
519 static int hf_cigi2_special_effect_definition_seq_direction
;
520 static int hf_cigi2_special_effect_definition_color_enable
;
521 static int hf_cigi2_special_effect_definition_red
;
522 static int hf_cigi2_special_effect_definition_green
;
523 static int hf_cigi2_special_effect_definition_blue
;
524 static int hf_cigi2_special_effect_definition_x_scale
;
525 static int hf_cigi2_special_effect_definition_y_scale
;
526 static int hf_cigi2_special_effect_definition_z_scale
;
527 static int hf_cigi2_special_effect_definition_time_scale
;
528 static int hf_cigi2_special_effect_definition_spare
;
529 static int hf_cigi2_special_effect_definition_effect_count
;
530 static int hf_cigi2_special_effect_definition_separation
;
531 static int hf_cigi2_special_effect_definition_burst_interval
;
532 static int hf_cigi2_special_effect_definition_duration
;
534 static const true_false_string cigi2_special_effect_definition_seq_direction_tfs
= {
539 /* CIGI2 View Definition */
540 #define CIGI2_PACKET_SIZE_VIEW_DEFINITION 32
541 static int hf_cigi2_view_definition
;
542 static int hf_cigi2_view_definition_view_id
;
543 static int hf_cigi2_view_definition_view_group
;
544 static int hf_cigi2_view_definition_view_type
;
545 static int hf_cigi2_view_definition_pixel_rep
;
546 static int hf_cigi2_view_definition_mirror
;
547 static int hf_cigi2_view_definition_tracker_assign
;
548 static int hf_cigi2_view_definition_near_enable
;
549 static int hf_cigi2_view_definition_far_enable
;
550 static int hf_cigi2_view_definition_left_enable
;
551 static int hf_cigi2_view_definition_right_enable
;
552 static int hf_cigi2_view_definition_top_enable
;
553 static int hf_cigi2_view_definition_bottom_enable
;
554 static int hf_cigi2_view_definition_fov_near
;
555 static int hf_cigi2_view_definition_fov_far
;
556 static int hf_cigi2_view_definition_fov_left
;
557 static int hf_cigi2_view_definition_fov_right
;
558 static int hf_cigi2_view_definition_fov_top
;
559 static int hf_cigi2_view_definition_fov_bottom
;
561 static const value_string cigi2_view_definition_pixel_rep_vals
[] = {
563 {1, "1x2 Pixel Replicate"},
564 {2, "2x1 Pixel Replicate"},
565 {3, "2x2 Pixel Replicate"},
572 static const value_string cigi2_view_definition_mirror_vals
[] = {
576 {3, "Horizontal and Vertical"},
580 /* CIGI2 Collision Detection Segment Definition */
581 #define CIGI2_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_DEFINITION 24
582 static int hf_cigi2_collision_detection_segment_definition
;
583 static int hf_cigi2_collision_detection_segment_definition_entity_id
;
584 static int hf_cigi2_collision_detection_segment_definition_segment_enable
;
585 static int hf_cigi2_collision_detection_segment_definition_segment_id
;
586 static int hf_cigi2_collision_detection_segment_definition_collision_mask
;
587 static int hf_cigi2_collision_detection_segment_definition_x_start
;
588 static int hf_cigi2_collision_detection_segment_definition_y_start
;
589 static int hf_cigi2_collision_detection_segment_definition_z_start
;
590 static int hf_cigi2_collision_detection_segment_definition_x_end
;
591 static int hf_cigi2_collision_detection_segment_definition_y_end
;
592 static int hf_cigi2_collision_detection_segment_definition_z_end
;
594 /* CIGI2 Collision Detection Volume Definition */
595 #define CIGI2_PACKET_SIZE_COLLISION_DETECTION_VOLUME_DEFINITION 20
596 static int hf_cigi2_collision_detection_volume_definition
;
597 static int hf_cigi2_collision_detection_volume_definition_entity_id
;
598 static int hf_cigi2_collision_detection_volume_definition_volume_enable
;
599 static int hf_cigi2_collision_detection_volume_definition_volume_id
;
600 static int hf_cigi2_collision_detection_volume_definition_x_offset
;
601 static int hf_cigi2_collision_detection_volume_definition_y_offset
;
602 static int hf_cigi2_collision_detection_volume_definition_z_offset
;
603 static int hf_cigi2_collision_detection_volume_definition_height
;
604 static int hf_cigi2_collision_detection_volume_definition_width
;
605 static int hf_cigi2_collision_detection_volume_definition_depth
;
607 /* CIGI2 Height Above Terrain Request */
608 #define CIGI2_PACKET_SIZE_HEIGHT_ABOVE_TERRAIN_REQUEST 32
609 static int hf_cigi2_height_above_terrain_request
;
610 static int hf_cigi2_height_above_terrain_request_hat_id
;
611 static int hf_cigi2_height_above_terrain_request_alt
;
612 static int hf_cigi2_height_above_terrain_request_lat
;
613 static int hf_cigi2_height_above_terrain_request_lon
;
615 /* CIGI2 Line of Sight Occult Request */
616 #define CIGI2_PACKET_SIZE_LINE_OF_SIGHT_OCCULT_REQUEST 56
617 static int hf_cigi2_line_of_sight_occult_request
;
618 static int hf_cigi2_line_of_sight_occult_request_los_id
;
619 static int hf_cigi2_line_of_sight_occult_request_source_alt
;
620 static int hf_cigi2_line_of_sight_occult_request_source_lat
;
621 static int hf_cigi2_line_of_sight_occult_request_source_lon
;
622 static int hf_cigi2_line_of_sight_occult_request_dest_alt
;
623 static int hf_cigi2_line_of_sight_occult_request_dest_lat
;
624 static int hf_cigi2_line_of_sight_occult_request_dest_lon
;
626 /* CIGI2 Line of Sight Range Request */
627 #define CIGI2_PACKET_SIZE_LINE_OF_SIGHT_RANGE_REQUEST 48
628 static int hf_cigi2_line_of_sight_range_request
;
629 static int hf_cigi2_line_of_sight_range_request_los_id
;
630 static int hf_cigi2_line_of_sight_range_request_azimuth
;
631 static int hf_cigi2_line_of_sight_range_request_elevation
;
632 static int hf_cigi2_line_of_sight_range_request_min_range
;
633 static int hf_cigi2_line_of_sight_range_request_max_range
;
634 static int hf_cigi2_line_of_sight_range_request_source_alt
;
635 static int hf_cigi2_line_of_sight_range_request_source_lat
;
636 static int hf_cigi2_line_of_sight_range_request_source_lon
;
638 /* CIGI2 Height of Terrain Request */
639 #define CIGI2_PACKET_SIZE_HEIGHT_OF_TERRAIN_REQUEST 24
640 static int hf_cigi2_height_of_terrain_request
;
641 static int hf_cigi2_height_of_terrain_request_hot_id
;
642 static int hf_cigi2_height_of_terrain_request_lat
;
643 static int hf_cigi2_height_of_terrain_request_lon
;
645 /* CIGI2 Start of Frame */
646 #define CIGI2_PACKET_SIZE_START_OF_FRAME 16
647 static int hf_cigi2_start_of_frame
;
648 static int hf_cigi2_start_of_frame_db_number
;
649 static int hf_cigi2_start_of_frame_ig_status_code
;
650 static int hf_cigi2_start_of_frame_ig_mode
;
651 static int hf_cigi2_start_of_frame_frame_ctr
;
652 static int hf_cigi2_start_of_frame_time_tag
;
654 static const value_string cigi2_start_of_frame_ig_mode_vals
[] = {
655 {0, "Standby/Reset"},
658 {3, "Off-Line Maintenance"},
662 /* CIGI2 Height Above Terrain Response */
663 #define CIGI2_PACKET_SIZE_HEIGHT_ABOVE_TERRAIN_RESPONSE 24
664 static int hf_cigi2_height_above_terrain_response
;
665 static int hf_cigi2_height_above_terrain_response_hat_id
;
666 static int hf_cigi2_height_above_terrain_response_valid
;
667 static int hf_cigi2_height_above_terrain_response_material_type
;
668 static int hf_cigi2_height_above_terrain_response_alt
;
670 /* CIGI2 Line of Sight Response */
671 #define CIGI2_PACKET_SIZE_LINE_OF_SIGHT_RESPONSE 40
672 static int hf_cigi2_line_of_sight_response
;
673 static int hf_cigi2_line_of_sight_response_los_id
;
674 static int hf_cigi2_line_of_sight_response_valid
;
675 static int hf_cigi2_line_of_sight_response_occult_response
;
676 static int hf_cigi2_line_of_sight_response_material_type
;
677 static int hf_cigi2_line_of_sight_response_range
;
678 static int hf_cigi2_line_of_sight_response_alt
;
679 static int hf_cigi2_line_of_sight_response_lat
;
680 static int hf_cigi2_line_of_sight_response_lon
;
682 /* CIGI2 Collision Detection Segment Response */
683 #define CIGI2_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_RESPONSE 24
684 static int hf_cigi2_collision_detection_segment_response
;
685 static int hf_cigi2_collision_detection_segment_response_entity_id
;
686 static int hf_cigi2_collision_detection_segment_response_segment_id
;
687 static int hf_cigi2_collision_detection_segment_response_contact
;
688 static int hf_cigi2_collision_detection_segment_response_contacted_entity
;
689 static int hf_cigi2_collision_detection_segment_response_material_type
;
690 static int hf_cigi2_collision_detection_segment_response_collision_x
;
691 static int hf_cigi2_collision_detection_segment_response_collision_y
;
692 static int hf_cigi2_collision_detection_segment_response_collision_z
;
694 static const true_false_string cigi2_collision_detection_segment_response_contact_tfs
= {
695 "Contact with a defined entity",
696 "Contact with a non-entity surface"
699 /* CIGI2 Sensor Response */
700 #define CIGI2_PACKET_SIZE_SENSOR_RESPONSE 12
701 static int hf_cigi2_sensor_response
;
702 static int hf_cigi2_sensor_response_view_id
;
703 static int hf_cigi2_sensor_response_status
;
704 static int hf_cigi2_sensor_response_sensor_id
;
705 static int hf_cigi2_sensor_response_x_offset
;
706 static int hf_cigi2_sensor_response_y_offset
;
707 static int hf_cigi2_sensor_response_x_size
;
708 static int hf_cigi2_sensor_response_y_size
;
710 static const value_string cigi2_sensor_response_status_vals
[] = {
711 {0, "Searching for Target"},
713 {2, "Impending Breaklock"},
718 /* CIGI2 Height of Terrain Response */
719 #define CIGI2_PACKET_SIZE_HEIGHT_OF_TERRAIN_RESPONSE 24
720 static int hf_cigi2_height_of_terrain_response
;
721 static int hf_cigi2_height_of_terrain_response_hot_id
;
722 static int hf_cigi2_height_of_terrain_response_valid
;
723 static int hf_cigi2_height_of_terrain_response_material_type
;
724 static int hf_cigi2_height_of_terrain_response_alt
;
726 /* CIGI2 Collision Detection Volume Response */
727 #define CIGI2_PACKET_SIZE_COLLISION_DETECTION_VOLUME_RESPONSE 8
728 static int hf_cigi2_collision_detection_volume_response
;
729 static int hf_cigi2_collision_detection_volume_response_entity_id
;
730 static int hf_cigi2_collision_detection_volume_response_volume_id
;
731 static int hf_cigi2_collision_detection_volume_response_contact
;
732 static int hf_cigi2_collision_detection_volume_response_contact_entity
;
734 static const true_false_string cigi2_collision_detection_volume_response_contact_tfs
= {
735 "Contact with a defined entity",
736 "Contact with a non-entity surface"
739 /* CIGI2 Image Generator Message */
740 static int hf_cigi2_image_generator_message
;
741 static int hf_cigi2_image_generator_message_id
;
742 static int hf_cigi2_image_generator_message_message
;
744 /* CIGI2 User Definable */
745 static int hf_cigi2_user_definable
;
748 /*** Fields for CIGI3 ***/
750 static int hf_cigi3_byte_swap
;
752 #define CIGI3_BYTE_SWAP_BIG_ENDIAN 0x8000
753 #define CIGI3_BYTE_SWAP_LITTLE_ENDIAN 0x0080
754 static const value_string cigi3_byte_swap_vals
[] = {
755 {CIGI3_BYTE_SWAP_BIG_ENDIAN
, "Big-Endian"},
756 {CIGI3_BYTE_SWAP_LITTLE_ENDIAN
, "Little-Endian"},
760 /* CIGI3 Packet ID */
761 static int hf_cigi3_packet_id
;
762 #define CIGI3_PACKET_ID_IG_CONTROL 1
763 #define CIGI3_PACKET_ID_ENTITY_CONTROL 2
764 #define CIGI3_PACKET_ID_CONFORMAL_CLAMPED_ENTITY_CONTROL 3
765 #define CIGI3_PACKET_ID_COMPONENT_CONTROL 4
766 #define CIGI3_PACKET_ID_SHORT_COMPONENT_CONTROL 5
767 #define CIGI3_PACKET_ID_ARTICULATED_PART_CONTROL 6
768 #define CIGI3_PACKET_ID_SHORT_ARTICULATED_PART_CONTROL 7
769 #define CIGI3_PACKET_ID_RATE_CONTROL 8
770 #define CIGI3_PACKET_ID_CELESTIAL_SPHERE_CONTROL 9
771 #define CIGI3_PACKET_ID_ATMOSPHERE_CONTROL 10
772 #define CIGI3_PACKET_ID_ENVIRONMENTAL_REGION_CONTROL 11
773 #define CIGI3_PACKET_ID_WEATHER_CONTROL 12
774 #define CIGI3_PACKET_ID_MARITIME_SURFACE_CONDITIONS_CONTROL 13
775 #define CIGI3_PACKET_ID_WAVE_CONTROL 14
776 #define CIGI3_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL 15
777 #define CIGI3_PACKET_ID_VIEW_CONTROL 16
778 #define CIGI3_PACKET_ID_SENSOR_CONTROL 17
779 #define CIGI3_PACKET_ID_MOTION_TRACKER_CONTROL 18
780 #define CIGI3_PACKET_ID_EARTH_REFERENCE_MODEL_DEFINITION 19
781 #define CIGI3_PACKET_ID_TRAJECTORY_DEFINITION 20
782 #define CIGI3_PACKET_ID_VIEW_DEFINITION 21
783 #define CIGI3_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION 22
784 #define CIGI3_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION 23
785 #define CIGI3_PACKET_ID_HAT_HOT_REQUEST 24
786 #define CIGI3_PACKET_ID_LINE_OF_SIGHT_SEGMENT_REQUEST 25
787 #define CIGI3_PACKET_ID_LINE_OF_SIGHT_VECTOR_REQUEST 26
788 #define CIGI3_PACKET_ID_POSITION_REQUEST 27
789 #define CIGI3_PACKET_ID_ENVIRONMENTAL_CONDITIONS_REQUEST 28
790 #define CIGI3_PACKET_ID_SYMBOL_SURFACE_DEFINITION 29
791 #define CIGI3_PACKET_ID_SYMBOL_TEXT_DEFINITION 30
792 #define CIGI3_PACKET_ID_SYMBOL_CIRCLE_DEFINITION 31
793 #define CIGI3_PACKET_ID_SYMBOL_LINE_DEFINITION 32
794 #define CIGI3_PACKET_ID_SYMBOL_CLONE 33
795 #define CIGI3_PACKET_ID_SYMBOL_CONTROL 34
796 #define CIGI3_PACKET_ID_SHORT_SYMBOL_CONTROL 35
797 #define CIGI3_PACKET_ID_START_OF_FRAME 101
798 #define CIGI3_PACKET_ID_HAT_HOT_RESPONSE 102
799 #define CIGI3_PACKET_ID_HAT_HOT_EXTENDED_RESPONSE 103
800 #define CIGI3_PACKET_ID_LINE_OF_SIGHT_RESPONSE 104
801 #define CIGI3_PACKET_ID_LINE_OF_SIGHT_EXTENDED_RESPONSE 105
802 #define CIGI3_PACKET_ID_SENSOR_RESPONSE 106
803 #define CIGI3_PACKET_ID_SENSOR_EXTENDED_RESPONSE 107
804 #define CIGI3_PACKET_ID_POSITION_RESPONSE 108
805 #define CIGI3_PACKET_ID_WEATHER_CONDITIONS_RESPONSE 109
806 #define CIGI3_PACKET_ID_AEROSOL_CONCENTRATION_RESPONSE 110
807 #define CIGI3_PACKET_ID_MARITIME_SURFACE_CONDITIONS_RESPONSE 111
808 #define CIGI3_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE 112
809 #define CIGI3_PACKET_ID_COLLISION_DETECTION_SEGMENT_NOTIFICATION 113
810 #define CIGI3_PACKET_ID_COLLISION_DETECTION_VOLUME_NOTIFICATION 114
811 #define CIGI3_PACKET_ID_ANIMATION_STOP_NOTIFICATION 115
812 #define CIGI3_PACKET_ID_EVENT_NOTIFICATION 116
813 #define CIGI3_PACKET_ID_IMAGE_GENERATOR_MESSAGE 117
814 #define CIGI3_PACKET_ID_USER_DEFINED_MIN 201
815 #define CIGI3_PACKET_ID_USER_DEFINED_MAX 255
816 static const value_string cigi3_packet_id_vals
[] = {
817 {CIGI3_PACKET_ID_IG_CONTROL
, "IG Control"},
818 {CIGI3_PACKET_ID_ENTITY_CONTROL
, "Entity Control"},
819 {CIGI3_PACKET_ID_CONFORMAL_CLAMPED_ENTITY_CONTROL
, "Conformal Clamped Entity Control"},
820 {CIGI3_PACKET_ID_COMPONENT_CONTROL
, "Component Control"},
821 {CIGI3_PACKET_ID_SHORT_COMPONENT_CONTROL
, "Short Component Control"},
822 {CIGI3_PACKET_ID_ARTICULATED_PART_CONTROL
, "Articulated Part Control"},
823 {CIGI3_PACKET_ID_SHORT_ARTICULATED_PART_CONTROL
, "Short Articulated Part Control"},
824 {CIGI3_PACKET_ID_RATE_CONTROL
, "Rate Control"},
825 {CIGI3_PACKET_ID_CELESTIAL_SPHERE_CONTROL
, "Celestial Sphere Control"},
826 {CIGI3_PACKET_ID_ATMOSPHERE_CONTROL
, "Atmosphere Control"},
827 {CIGI3_PACKET_ID_ENVIRONMENTAL_REGION_CONTROL
, "Environmental Region Control"},
828 {CIGI3_PACKET_ID_WEATHER_CONTROL
, "Weather Control"},
829 {CIGI3_PACKET_ID_MARITIME_SURFACE_CONDITIONS_CONTROL
, "Maritime Surface Conditions Control"},
830 {CIGI3_PACKET_ID_WAVE_CONTROL
, "Wave Control"},
831 {CIGI3_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL
, "Terrestrial Surface Conditions Control"},
832 {CIGI3_PACKET_ID_VIEW_CONTROL
, "View Control"},
833 {CIGI3_PACKET_ID_SENSOR_CONTROL
, "Sensor Control"},
834 {CIGI3_PACKET_ID_MOTION_TRACKER_CONTROL
, "Motion Tracker Control"},
835 {CIGI3_PACKET_ID_EARTH_REFERENCE_MODEL_DEFINITION
, "Earth Reference Model Definition"},
836 {CIGI3_PACKET_ID_TRAJECTORY_DEFINITION
, "Trajectory Definition"},
837 {CIGI3_PACKET_ID_VIEW_DEFINITION
, "View Definition"},
838 {CIGI3_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION
, "Collision Detection Segment Definition"},
839 {CIGI3_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION
, "Collision Detection Volume Definition"},
840 {CIGI3_PACKET_ID_HAT_HOT_REQUEST
, "HAT/HOT Request"},
841 {CIGI3_PACKET_ID_LINE_OF_SIGHT_SEGMENT_REQUEST
, "Line of Sight Segment Request"},
842 {CIGI3_PACKET_ID_LINE_OF_SIGHT_VECTOR_REQUEST
, "Line of Sight Vector Request"},
843 {CIGI3_PACKET_ID_POSITION_REQUEST
, "Position Request"},
844 {CIGI3_PACKET_ID_ENVIRONMENTAL_CONDITIONS_REQUEST
, "Environmental Conditions Request"},
845 {CIGI3_PACKET_ID_SYMBOL_SURFACE_DEFINITION
, "Symbol Surface Definition"},
846 {CIGI3_PACKET_ID_SYMBOL_TEXT_DEFINITION
, "Symbol Text Definition"},
847 {CIGI3_PACKET_ID_SYMBOL_CIRCLE_DEFINITION
, "Symbol Circle Definition"},
848 {CIGI3_PACKET_ID_SYMBOL_LINE_DEFINITION
, "Symbol Line Definition"},
849 {CIGI3_PACKET_ID_SYMBOL_CLONE
, "Symbol Clone"},
850 {CIGI3_PACKET_ID_SYMBOL_CONTROL
, "Symbol Control"},
851 {CIGI3_PACKET_ID_SHORT_SYMBOL_CONTROL
, "Short Symbol Control"},
852 {CIGI3_PACKET_ID_START_OF_FRAME
, "Start of Frame"},
853 {CIGI3_PACKET_ID_HAT_HOT_RESPONSE
, "HAT/HOT Response"},
854 {CIGI3_PACKET_ID_HAT_HOT_EXTENDED_RESPONSE
, "HAT/HOT Extended Response"},
855 {CIGI3_PACKET_ID_LINE_OF_SIGHT_RESPONSE
, "Line of Sight Response"},
856 {CIGI3_PACKET_ID_LINE_OF_SIGHT_EXTENDED_RESPONSE
, "Line of Sight Extended Response"},
857 {CIGI3_PACKET_ID_SENSOR_RESPONSE
, "Sensor Response"},
858 {CIGI3_PACKET_ID_SENSOR_EXTENDED_RESPONSE
, "Sensor Extended Response"},
859 {CIGI3_PACKET_ID_POSITION_RESPONSE
, "Position Response"},
860 {CIGI3_PACKET_ID_WEATHER_CONDITIONS_RESPONSE
, "Weather Conditions Response"},
861 {CIGI3_PACKET_ID_AEROSOL_CONCENTRATION_RESPONSE
, "Aerosol Concentration Response"},
862 {CIGI3_PACKET_ID_MARITIME_SURFACE_CONDITIONS_RESPONSE
, "Maritime Surface Conditions Response"},
863 {CIGI3_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE
, "Terrestrial Surface Conditions Response"},
864 {CIGI3_PACKET_ID_COLLISION_DETECTION_SEGMENT_NOTIFICATION
, "Collision Detection Segment Notification"},
865 {CIGI3_PACKET_ID_COLLISION_DETECTION_VOLUME_NOTIFICATION
, "Collision Detection Volume Notification"},
866 {CIGI3_PACKET_ID_ANIMATION_STOP_NOTIFICATION
, "Animation Stop Notification"},
867 {CIGI3_PACKET_ID_EVENT_NOTIFICATION
, "Event Notification"},
868 {CIGI3_PACKET_ID_IMAGE_GENERATOR_MESSAGE
, "Image Generator Message"},
869 {CIGI3_PACKET_ID_USER_DEFINED_MIN
, "User-Defined Data"},
870 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+1, "User-Defined Data"},
871 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+2, "User-Defined Data"},
872 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+3, "User-Defined Data"},
873 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+4, "User-Defined Data"},
874 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+5, "User-Defined Data"},
875 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+6, "User-Defined Data"},
876 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+7, "User-Defined Data"},
877 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+8, "User-Defined Data"},
878 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+9, "User-Defined Data"},
879 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+10, "User-Defined Data"},
880 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+11, "User-Defined Data"},
881 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+12, "User-Defined Data"},
882 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+13, "User-Defined Data"},
883 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+14, "User-Defined Data"},
884 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+15, "User-Defined Data"},
885 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+16, "User-Defined Data"},
886 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+17, "User-Defined Data"},
887 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+18, "User-Defined Data"},
888 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+19, "User-Defined Data"},
889 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+20, "User-Defined Data"},
890 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+21, "User-Defined Data"},
891 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+22, "User-Defined Data"},
892 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+23, "User-Defined Data"},
893 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+24, "User-Defined Data"},
894 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+25, "User-Defined Data"},
895 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+26, "User-Defined Data"},
896 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+27, "User-Defined Data"},
897 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+28, "User-Defined Data"},
898 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+29, "User-Defined Data"},
899 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+30, "User-Defined Data"},
900 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+31, "User-Defined Data"},
901 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+32, "User-Defined Data"},
902 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+33, "User-Defined Data"},
903 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+34, "User-Defined Data"},
904 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+35, "User-Defined Data"},
905 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+36, "User-Defined Data"},
906 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+37, "User-Defined Data"},
907 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+38, "User-Defined Data"},
908 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+39, "User-Defined Data"},
909 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+40, "User-Defined Data"},
910 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+41, "User-Defined Data"},
911 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+42, "User-Defined Data"},
912 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+43, "User-Defined Data"},
913 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+44, "User-Defined Data"},
914 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+45, "User-Defined Data"},
915 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+46, "User-Defined Data"},
916 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+47, "User-Defined Data"},
917 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+48, "User-Defined Data"},
918 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+49, "User-Defined Data"},
919 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+50, "User-Defined Data"},
920 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+51, "User-Defined Data"},
921 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+52, "User-Defined Data"},
922 {CIGI3_PACKET_ID_USER_DEFINED_MIN
+53, "User-Defined Data"},
923 {CIGI3_PACKET_ID_USER_DEFINED_MAX
, "User-Defined Data"},
926 static value_string_ext cigi3_packet_id_vals_ext
= VALUE_STRING_EXT_INIT(cigi3_packet_id_vals
);
928 /* CIGI3 IG Control */
929 #define CIGI3_PACKET_SIZE_IG_CONTROL 16
930 static int hf_cigi3_ig_control
;
931 static int hf_cigi3_ig_control_db_number
;
932 static int hf_cigi3_ig_control_ig_mode
;
933 static int hf_cigi3_ig_control_timestamp_valid
;
934 static int hf_cigi3_ig_control_frame_ctr
;
935 static int hf_cigi3_ig_control_timestamp
;
937 static const value_string cigi3_ig_control_ig_mode_vals
[] = {
938 {0, "Reset/Standby"},
944 /* CIGI3_2 IG Control */
945 #define CIGI3_2_PACKET_SIZE_IG_CONTROL 24
946 static int hf_cigi3_2_ig_control_minor_version
;
947 static int hf_cigi3_2_ig_control_host_frame_number
;
948 static int hf_cigi3_2_ig_control_last_ig_frame_number
;
950 /* CIGI3_3 IG Control */
951 #define CIGI3_3_PACKET_SIZE_IG_CONTROL 24
952 static int hf_cigi3_3_ig_control_extrapolation_enable
;
954 /* CIGI3 Entity Control */
955 #define CIGI3_PACKET_SIZE_ENTITY_CONTROL 48
956 static int hf_cigi3_entity_control
;
957 static int hf_cigi3_entity_control_entity_id
;
958 static int hf_cigi3_entity_control_entity_state
;
959 static int hf_cigi3_entity_control_attach_state
;
960 static int hf_cigi3_entity_control_collision_detection_request
;
961 static int hf_cigi3_entity_control_inherit_alpha
;
962 static int hf_cigi3_entity_control_ground_ocean_clamp
;
963 static int hf_cigi3_entity_control_animation_direction
;
964 static int hf_cigi3_entity_control_animation_loop_mode
;
965 static int hf_cigi3_entity_control_animation_state
;
966 static int hf_cigi3_entity_control_alpha
;
967 static int hf_cigi3_entity_control_entity_type
;
968 static int hf_cigi3_entity_control_parent_id
;
969 static int hf_cigi3_entity_control_roll
;
970 static int hf_cigi3_entity_control_pitch
;
971 static int hf_cigi3_entity_control_yaw
;
972 static int hf_cigi3_entity_control_lat_xoff
;
973 static int hf_cigi3_entity_control_lon_yoff
;
974 static int hf_cigi3_entity_control_alt_zoff
;
976 static const value_string cigi3_entity_control_entity_state_vals
[] = {
977 {0, "Inactive/Standby"},
983 static const true_false_string cigi3_entity_control_collision_detection_request_tfs
= {
988 static const true_false_string inherited_not_inherited_tfs
= {
993 static const value_string cigi3_entity_control_ground_ocean_clamp_vals
[] = {
995 {1, "Non-Conformal"},
1000 static const true_false_string cigi3_entity_control_animation_direction_tfs
= {
1005 static const true_false_string cigi3_entity_control_animation_loop_mode_tfs
= {
1010 static const value_string cigi3_entity_control_animation_state_vals
[] = {
1018 /* CIGI3_3 Entity Control */
1019 static int hf_cigi3_3_entity_control_extrapolation_enable
;
1021 /* CIGI4 Entity Control */
1022 /* Subset of previous packet by this name containing parameters expected to
1023 * change infrequently.*/
1024 #define CIGI4_PACKET_SIZE_ENTITY_CONTROL 16
1025 static int hf_cigi4_entity_control
;
1026 static int hf_cigi4_entity_control_entity_state
;
1027 static int hf_cigi4_entity_control_collision_reporting_enable
;
1028 static int hf_cigi4_entity_control_inherit_alpha
;
1029 static int hf_cigi4_entity_control_smooting_enable
;
1030 static int hf_cigi4_entity_control_extended_entity_type
;
1031 static int hf_cigi4_entity_control_alpha
;
1032 static int hf_cigi4_entity_control_entity_id
;
1033 static int hf_cigi4_entity_control_entity_kind
;
1034 static int hf_cigi4_entity_control_entity_domain
;
1035 static int hf_cigi4_entity_control_entity_country
;
1036 static int hf_cigi4_entity_control_entity_category
;
1037 static int hf_cigi4_entity_control_entity_subcategory
;
1038 static int hf_cigi4_entity_control_entity_specific
;
1039 static int hf_cigi4_entity_control_entity_extra
;
1041 static const value_string cigi4_entity_control_entity_state_vals
[] = {
1042 {0, "Inactive/Standby"},
1048 static const true_false_string cigi4_entity_control_inherit_alpha_tfs
= {
1053 static const true_false_string tfs_entity_control_extended_entity_type
= {
1059 #define CIGI4_PACKET_SIZE_ANIMATION_CONTROL 16
1060 static int hf_cigi4_animation_control
;
1061 static int hf_cigi4_animation_control_state
;
1062 static int hf_cigi4_animation_control_frame_position_reset
;
1063 static int hf_cigi4_animation_control_loop_mode
;
1064 static int hf_cigi4_animation_control_inherit_alpha
;
1065 static int hf_cigi4_animation_control_alpha
;
1066 static int hf_cigi4_animation_control_entity_id
;
1067 static int hf_cigi4_animation_control_animation_id
;
1068 static int hf_cigi4_animation_control_animation_speed
;
1070 static const true_false_string cigi4_animation_control_state_tfs
= {
1075 static const true_false_string cigi4_animation_control_state_positon_reset_tfs
= {
1080 static const true_false_string cigi4_animation_control_state_loop_mode
= {
1086 static const true_false_string cigi4_animation_control_state_inherit_alpha
= {
1093 /* CIGI3 Conformal Clamped Entity Control */
1094 #define CIGI3_PACKET_SIZE_CONFORMAL_CLAMPED_ENTITY_CONTROL 24
1095 static int hf_cigi3_conformal_clamped_entity_control
;
1096 static int hf_cigi3_conformal_clamped_entity_control_entity_id
;
1097 static int hf_cigi3_conformal_clamped_entity_control_yaw
;
1098 static int hf_cigi3_conformal_clamped_entity_control_lat
;
1099 static int hf_cigi3_conformal_clamped_entity_control_lon
;
1101 /* CIGI3 Component Control */
1102 #define CIGI3_PACKET_SIZE_COMPONENT_CONTROL 32
1103 static int hf_cigi3_component_control
;
1104 static int hf_cigi3_component_control_component_id
;
1105 static int hf_cigi3_component_control_instance_id
;
1106 static int hf_cigi3_component_control_component_class
;
1107 static int hf_cigi3_component_control_component_state
;
1108 static int hf_cigi3_component_control_data_1
;
1109 static int hf_cigi3_component_control_data_2
;
1110 static int hf_cigi3_component_control_data_3
;
1111 static int hf_cigi3_component_control_data_4
;
1112 static int hf_cigi3_component_control_data_5
;
1113 static int hf_cigi3_component_control_data_6
;
1115 static const value_string cigi3_component_control_component_class_vals
[] = {
1120 {4, "Regional Sea Surface"},
1121 {5, "Regional Terrain Surface"},
1122 {6, "Regional Layered Weather"},
1123 {7, "Global Sea Surface"},
1124 {8, "Global Terrain Surface"},
1125 {9, "Global Layered Weather"},
1127 {11, "Celestial Sphere"},
1133 /* CIGI3_3 Component Control */
1134 static int hf_cigi3_3_component_control_component_class
;
1136 static const value_string cigi3_3_component_control_component_class_vals
[] = {
1141 {4, "Regional Sea Surface"},
1142 {5, "Regional Terrain Surface"},
1143 {6, "Regional Layered Weather"},
1144 {7, "Global Sea Surface"},
1145 {8, "Global Terrain Surface"},
1146 {9, "Global Layered Weather"},
1148 {11, "Celestial Sphere"},
1151 {14, "Symbol Surface"},
1156 /* CIGI3 Short Component Control */
1157 #define CIGI3_PACKET_SIZE_SHORT_COMPONENT_CONTROL 16
1158 static int hf_cigi3_short_component_control
;
1159 static int hf_cigi3_short_component_control_component_id
;
1160 static int hf_cigi3_short_component_control_instance_id
;
1161 static int hf_cigi3_short_component_control_component_class
;
1162 static int hf_cigi3_short_component_control_component_state
;
1163 static int hf_cigi3_short_component_control_data_1
;
1164 static int hf_cigi3_short_component_control_data_2
;
1166 static const value_string cigi3_short_component_control_component_class_vals
[] = {
1171 {4, "Regional Sea Surface"},
1172 {5, "Regional Terrain Surface"},
1173 {6, "Regional Layered Weather"},
1174 {7, "Global Sea Surface"},
1175 {8, "Global Terrain Surface"},
1176 {9, "Global Layered Weather"},
1178 {11, "Celestial Sphere"},
1184 /* CIGI3_3 Short Component Control */
1185 static int hf_cigi3_3_short_component_control_component_class
;
1187 static const value_string cigi3_3_short_component_control_component_class_vals
[] = {
1192 {4, "Regional Sea Surface"},
1193 {5, "Regional Terrain Surface"},
1194 {6, "Regional Layered Weather"},
1195 {7, "Global Sea Surface"},
1196 {8, "Global Terrain Surface"},
1197 {9, "Global Layered Weather"},
1199 {11, "Celestial Sphere"},
1202 {14, "Symbol Surface"},
1207 /* CIGI3 Articulated Part Control */
1208 #define CIGI3_PACKET_SIZE_ARTICULATED_PART_CONTROL 32
1209 static int hf_cigi3_articulated_part_control
;
1210 static int hf_cigi3_articulated_part_control_entity_id
;
1211 static int hf_cigi3_articulated_part_control_part_id
;
1212 static int hf_cigi3_articulated_part_control_part_enable
;
1213 static int hf_cigi3_articulated_part_control_xoff_enable
;
1214 static int hf_cigi3_articulated_part_control_yoff_enable
;
1215 static int hf_cigi3_articulated_part_control_zoff_enable
;
1216 static int hf_cigi3_articulated_part_control_roll_enable
;
1217 static int hf_cigi3_articulated_part_control_pitch_enable
;
1218 static int hf_cigi3_articulated_part_control_yaw_enable
;
1219 static int hf_cigi3_articulated_part_control_xoff
;
1220 static int hf_cigi3_articulated_part_control_yoff
;
1221 static int hf_cigi3_articulated_part_control_zoff
;
1222 static int hf_cigi3_articulated_part_control_roll
;
1223 static int hf_cigi3_articulated_part_control_pitch
;
1224 static int hf_cigi3_articulated_part_control_yaw
;
1226 /* CIGI4 Articulated Part Control */
1227 #define CIGI4_PACKET_SIZE_ARTICULATED_PART_CONTROL 32
1228 static int hf_cigi4_articulated_part_control_part_enable_flags
;
1230 static int ett_cigi4_articulated_part_control_part_enable_flags
;
1233 /* CIGI3 Short Articulated Part Control */
1234 #define CIGI3_PACKET_SIZE_SHORT_ARTICULATED_PART_CONTROL 16
1235 static int hf_cigi3_short_articulated_part_control
;
1236 static int hf_cigi3_short_articulated_part_control_entity_id
;
1237 static int hf_cigi3_short_articulated_part_control_part_id_1
;
1238 static int hf_cigi3_short_articulated_part_control_part_id_2
;
1239 static int hf_cigi3_short_articulated_part_control_dof_select_1
;
1240 static int hf_cigi3_short_articulated_part_control_dof_select_2
;
1241 static int hf_cigi3_short_articulated_part_control_part_enable_1
;
1242 static int hf_cigi3_short_articulated_part_control_part_enable_2
;
1243 static int hf_cigi3_short_articulated_part_control_dof_1
;
1244 static int hf_cigi3_short_articulated_part_control_dof_2
;
1246 static const value_string cigi3_short_articulated_part_control_dof_select_vals
[] = {
1257 /* CIGI4 Short Articulated Part Control */
1258 #define CIGI4_PACKET_SIZE_SHORT_ARTICULATED_PART_CONTROL 24
1259 static int hf_cigi4_short_articulated_part_control_part_enable_flags
;
1261 static int ett_cigi4_short_articulated_part_control_part_enable_flags
;
1263 /* CIGI3 Rate Control */
1264 #define CIGI3_PACKET_SIZE_RATE_CONTROL 32
1265 static int hf_cigi3_rate_control
;
1266 static int hf_cigi3_rate_control_entity_id
;
1267 static int hf_cigi3_rate_control_part_id
;
1268 static int hf_cigi3_rate_control_apply_to_part
;
1269 static int hf_cigi3_2_rate_control_coordinate_system
;
1270 static int hf_cigi3_rate_control_x_rate
;
1271 static int hf_cigi3_rate_control_y_rate
;
1272 static int hf_cigi3_rate_control_z_rate
;
1273 static int hf_cigi3_rate_control_roll_rate
;
1274 static int hf_cigi3_rate_control_pitch_rate
;
1275 static int hf_cigi3_rate_control_yaw_rate
;
1277 static const true_false_string local_worldparent_tfs
= {
1282 /* CIGI4 Velocity Control */
1283 /* Rate Control packet renamed. */
1284 #define CIGI4_PACKET_SIZE_VELOCITY_CONTROL 32
1286 static int hf_cigi4_velocity_control
;
1287 static int hf_cigi4_velocity_control_entity_id
;
1288 static int hf_cigi4_velocity_control_part_id
;
1289 static int hf_cigi4_velocity_control_flags
;
1290 static int hf_cigi4_velocity_control_apply_to_part
;
1291 static int hf_cigi4_velocity_control_coordinate_system
;
1292 static int hf_cigi4_velocity_control_x_rate
;
1293 static int hf_cigi4_velocity_control_y_rate
;
1294 static int hf_cigi4_velocity_control_z_rate
;
1295 static int hf_cigi4_velocity_control_roll_rate
;
1296 static int hf_cigi4_velocity_control_pitch_rate
;
1297 static int hf_cigi4_velocity_control_yaw_rate
;
1299 static int ett_cigi4_velocity_control_flags
;
1302 /* CIGI3 Celestial Sphere Control */
1303 #define CIGI3_PACKET_SIZE_CELESTIAL_SPHERE_CONTROL 16
1304 static int hf_cigi3_celestial_sphere_control
;
1305 static int hf_cigi3_celestial_sphere_control_hour
;
1306 static int hf_cigi3_celestial_sphere_control_minute
;
1307 static int hf_cigi3_celestial_sphere_control_ephemeris_enable
;
1308 static int hf_cigi3_celestial_sphere_control_sun_enable
;
1309 static int hf_cigi3_celestial_sphere_control_moon_enable
;
1310 static int hf_cigi3_celestial_sphere_control_star_enable
;
1311 static int hf_cigi3_celestial_sphere_control_date_time_valid
;
1312 static int hf_cigi3_celestial_sphere_control_date
;
1313 static int hf_cigi3_celestial_sphere_control_star_intensity
;
1315 /* CIGI4 Celestial Sphere Control */
1316 #define CIGI4_PACKET_SIZE_CELESTIAL_SPHERE_CONTROL 24
1317 static int hf_cigi4_celestial_sphere_control_enable_flags
;
1318 static int hf_cigi4_celestial_sphere_control_seconds
;
1319 static int hf_cigi4_celestial_sphere_control_date
;
1321 static int ett_cigi4_celestial_sphere_control_flags
;
1323 /* CIGI3 Atmosphere Control */
1324 #define CIGI3_PACKET_SIZE_ATMOSPHERE_CONTROL 32
1325 static int hf_cigi3_atmosphere_control
;
1326 static int hf_cigi3_atmosphere_control_atmospheric_model_enable
;
1327 static int hf_cigi3_atmosphere_control_humidity
;
1328 static int hf_cigi3_atmosphere_control_air_temp
;
1329 static int hf_cigi3_atmosphere_control_visibility_range
;
1330 static int hf_cigi3_atmosphere_control_horiz_wind
;
1331 static int hf_cigi3_atmosphere_control_vert_wind
;
1332 static int hf_cigi3_atmosphere_control_wind_direction
;
1333 static int hf_cigi3_atmosphere_control_barometric_pressure
;
1335 /* CIGI4 Atmosphere Control */
1336 #define CIGI4_PACKET_SIZE_ATMOSPHERE_CONTROL 32
1338 /* CIGI3 Environmental Region Control */
1339 #define CIGI3_PACKET_SIZE_ENVIRONMENTAL_REGION_CONTROL 48
1340 static int hf_cigi3_environmental_region_control
;
1341 static int hf_cigi3_environmental_region_control_region_id
;
1342 static int hf_cigi3_environmental_region_control_region_state
;
1343 static int hf_cigi3_environmental_region_control_merge_weather
;
1344 static int hf_cigi3_environmental_region_control_merge_aerosol
;
1345 static int hf_cigi3_environmental_region_control_merge_maritime
;
1346 static int hf_cigi3_environmental_region_control_merge_terrestrial
;
1347 static int hf_cigi3_environmental_region_control_lat
;
1348 static int hf_cigi3_environmental_region_control_lon
;
1349 static int hf_cigi3_environmental_region_control_size_x
;
1350 static int hf_cigi3_environmental_region_control_size_y
;
1351 static int hf_cigi3_environmental_region_control_corner_radius
;
1352 static int hf_cigi3_environmental_region_control_rotation
;
1353 static int hf_cigi3_environmental_region_control_transition_perimeter
;
1355 static const value_string cigi3_environmental_region_control_region_state_vals
[] = {
1362 static const true_false_string cigi3_environmental_region_control_merge_properties_tfs
= {
1368 /* CIGI4 Environmental Region Control */
1369 #define CIGI4_PACKET_SIZE_ENVIRONMENTAL_REGION_CONTROL 48
1371 /* CIGI3 Weather Control */
1372 #define CIGI3_PACKET_SIZE_WEATHER_CONTROL 56
1373 static int hf_cigi3_weather_control
;
1374 static int hf_cigi3_weather_control_entity_region_id
;
1375 static int hf_cigi3_weather_control_layer_id
;
1376 static int hf_cigi3_weather_control_humidity
;
1377 static int hf_cigi3_weather_control_weather_enable
;
1378 static int hf_cigi3_weather_control_scud_enable
;
1379 static int hf_cigi3_weather_control_random_winds_enable
;
1380 static int hf_cigi3_weather_control_random_lightning_enable
;
1381 static int hf_cigi3_weather_control_cloud_type
;
1382 static int hf_cigi3_weather_control_scope
;
1383 static int hf_cigi3_weather_control_severity
;
1384 static int hf_cigi3_weather_control_air_temp
;
1385 static int hf_cigi3_weather_control_visibility_range
;
1386 static int hf_cigi3_weather_control_scud_frequency
;
1387 static int hf_cigi3_weather_control_coverage
;
1388 static int hf_cigi3_weather_control_base_elevation
;
1389 static int hf_cigi3_weather_control_thickness
;
1390 static int hf_cigi3_weather_control_transition_band
;
1391 static int hf_cigi3_weather_control_horiz_wind
;
1392 static int hf_cigi3_weather_control_vert_wind
;
1393 static int hf_cigi3_weather_control_wind_direction
;
1394 static int hf_cigi3_weather_control_barometric_pressure
;
1395 static int hf_cigi3_weather_control_aerosol_concentration
;
1397 static const value_string cigi3_weather_control_layer_id_vals
[] = {
1399 {1, "Cloud Layer 1"},
1400 {2, "Cloud Layer 2"},
1401 {3, "Cloud Layer 3"},
1411 static const value_string cigi3_weather_control_cloud_type_vals
[] = {
1415 {3, "Cirrocumulus"},
1416 {4, "Cirrostratus"},
1418 {6, "Cumulonimbus"},
1420 {8, "Nimbostratus"},
1421 {9, "Stratocumulus"},
1431 static const value_string cigi3_weather_control_scope_vals
[] = {
1439 /* CIGI4 Weather Control */
1440 #define CIGI4_PACKET_SIZE_WEATHER_CONTROL 72
1441 static int hf_cigi4_weather_control_flags
;
1442 static int hf_cigi4_weather_control_top_scud_enable
;
1443 static int hf_cigi4_weather_control_top_scud_freq
;
1444 static int hf_cigi4_weather_control_top_transition_band
;
1446 /* CIGI3 Maritime Surface Conditions Control */
1447 #define CIGI3_PACKET_SIZE_MARITIME_SURFACE_CONDITIONS_CONTROL 24
1448 static int hf_cigi3_maritime_surface_conditions_control
;
1449 static int hf_cigi3_maritime_surface_conditions_control_entity_region_id
;
1450 static int hf_cigi3_maritime_surface_conditions_control_surface_conditions_enable
;
1451 static int hf_cigi3_maritime_surface_conditions_control_whitecap_enable
;
1452 static int hf_cigi3_maritime_surface_conditions_control_scope
;
1453 static int hf_cigi3_maritime_surface_conditions_control_sea_surface_height
;
1454 static int hf_cigi3_maritime_surface_conditions_control_surface_water_temp
;
1455 static int hf_cigi3_maritime_surface_conditions_control_surface_clarity
;
1457 static const value_string cigi3_maritime_surface_conditions_control_scope_vals
[] = {
1464 /* CIGI4 Maritime Surface Conditions Control */
1465 #define CIGI4_PACKET_SIZE_MARITIME_SURFACE_CONDITIONS_CONTROL 24
1467 /* CIGI3 Wave Control */
1468 #define CIGI3_PACKET_SIZE_WAVE_CONTROL 32
1469 static int hf_cigi3_wave_control
;
1470 static int hf_cigi3_wave_control_entity_region_id
;
1471 static int hf_cigi3_wave_control_wave_id
;
1472 static int hf_cigi3_wave_control_wave_enable
;
1473 static int hf_cigi3_wave_control_scope
;
1474 static int hf_cigi3_wave_control_breaker_type
;
1475 static int hf_cigi3_wave_control_height
;
1476 static int hf_cigi3_wave_control_wavelength
;
1477 static int hf_cigi3_wave_control_period
;
1478 static int hf_cigi3_wave_control_direction
;
1479 static int hf_cigi3_wave_control_phase_offset
;
1480 static int hf_cigi3_wave_control_leading
;
1482 static const value_string cigi3_wave_control_scope_vals
[] = {
1489 static const value_string cigi3_wave_control_breaker_type_vals
[] = {
1496 /* CIGI4 Wave Control */
1497 #define CIGI4_PACKET_SIZE_WAVE_CONTROL 32
1499 /* CIGI3 Terrestrial Surface Conditions Control */
1500 #define CIGI3_PACKET_SIZE_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL 8
1501 static int hf_cigi3_terrestrial_surface_conditions_control
;
1502 static int hf_cigi3_terrestrial_surface_conditions_control_entity_region_id
;
1503 static int hf_cigi3_terrestrial_surface_conditions_control_surface_condition_id
;
1504 static int hf_cigi3_terrestrial_surface_conditions_control_surface_condition_enable
;
1505 static int hf_cigi3_terrestrial_surface_conditions_control_scope
;
1506 static int hf_cigi3_terrestrial_surface_conditions_control_severity
;
1507 static int hf_cigi3_terrestrial_surface_conditions_control_coverage
;
1509 static const value_string cigi3_terrestrial_surface_conditions_control_scope_vals
[] = {
1516 /* CIGI4 Terrestrial Surface Conditions Control */
1517 #define CIGI4_PACKET_SIZE_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL 16
1519 /* CIGI3 View Control */
1520 #define CIGI3_PACKET_SIZE_VIEW_CONTROL 32
1521 static int hf_cigi3_view_control
;
1522 static int hf_cigi3_view_control_view_id
;
1523 static int hf_cigi3_view_control_group_id
;
1524 static int hf_cigi3_view_control_xoff_enable
;
1525 static int hf_cigi3_view_control_yoff_enable
;
1526 static int hf_cigi3_view_control_zoff_enable
;
1527 static int hf_cigi3_view_control_roll_enable
;
1528 static int hf_cigi3_view_control_pitch_enable
;
1529 static int hf_cigi3_view_control_yaw_enable
;
1530 static int hf_cigi3_view_control_entity_id
;
1531 static int hf_cigi3_view_control_xoff
;
1532 static int hf_cigi3_view_control_yoff
;
1533 static int hf_cigi3_view_control_zoff
;
1534 static int hf_cigi3_view_control_roll
;
1535 static int hf_cigi3_view_control_pitch
;
1536 static int hf_cigi3_view_control_yaw
;
1538 /* CIGI4 View Control */
1539 #define CIGI4_PACKET_SIZE_VIEW_CONTROL 40
1540 static int hf_cigi4_view_control_enable_flags
;
1542 static int ett_cigi4_view_control_enable_flags
;
1544 /* CIGI3 Sensor Control */
1545 #define CIGI3_PACKET_SIZE_SENSOR_CONTROL 24
1546 static int hf_cigi3_sensor_control
;
1547 static int hf_cigi3_sensor_control_view_id
;
1548 static int hf_cigi3_sensor_control_sensor_id
;
1549 static int hf_cigi3_sensor_control_sensor_on_off
;
1550 static int hf_cigi3_sensor_control_polarity
;
1551 static int hf_cigi3_sensor_control_line_dropout_enable
;
1552 static int hf_cigi3_sensor_control_auto_gain
;
1553 static int hf_cigi3_sensor_control_track_white_black
;
1554 static int hf_cigi3_sensor_control_track_mode
;
1555 static int hf_cigi3_sensor_control_response_type
;
1556 static int hf_cigi3_sensor_control_gain
;
1557 static int hf_cigi3_sensor_control_level
;
1558 static int hf_cigi3_sensor_control_ac_coupling
;
1559 static int hf_cigi3_sensor_control_noise
;
1561 static const value_string cigi3_sensor_control_track_mode_vals
[] = {
1563 {1, "Force Correlate"},
1567 {5, "Defined by IG"},
1568 {6, "Defined by IG"},
1569 {7, "Defined by IG"},
1573 static const true_false_string cigi3_sensor_control_polarity_tfs
= {
1579 /* CIGI4 Sensor Control */
1580 #define CIGI4_PACKET_SIZE_SENSOR_CONTROL 32
1582 /* CIGI3 Motion Tracker Control */
1583 #define CIGI3_PACKET_SIZE_MOTION_TRACKER_CONTROL 8
1584 static int hf_cigi3_motion_tracker_control
;
1585 static int hf_cigi3_motion_tracker_control_view_group_id
;
1586 static int hf_cigi3_motion_tracker_control_tracker_id
;
1587 static int hf_cigi3_motion_tracker_control_tracker_enable
;
1588 static int hf_cigi3_motion_tracker_control_boresight_enable
;
1589 static int hf_cigi3_motion_tracker_control_x_enable
;
1590 static int hf_cigi3_motion_tracker_control_y_enable
;
1591 static int hf_cigi3_motion_tracker_control_z_enable
;
1592 static int hf_cigi3_motion_tracker_control_roll_enable
;
1593 static int hf_cigi3_motion_tracker_control_pitch_enable
;
1594 static int hf_cigi3_motion_tracker_control_yaw_enable
;
1595 static int hf_cigi3_motion_tracker_control_view_group_select
;
1597 static const true_false_string cigi3_motion_tracker_control_view_group_select_tfs
= {
1602 /* CIGI4 Motion Tracker Control */
1603 #define CIGI4_PACKET_SIZE_MOTION_TRACKER_CONTROL 16
1605 /* CIGI3 Earth Reference Model Definition */
1606 #define CIGI3_PACKET_SIZE_EARTH_REFERENCE_MODEL_DEFINITION 24
1607 static int hf_cigi3_earth_reference_model_definition
;
1608 static int hf_cigi3_earth_reference_model_definition_erm_enable
;
1609 static int hf_cigi3_earth_reference_model_definition_equatorial_radius
;
1610 static int hf_cigi3_earth_reference_model_definition_flattening
;
1612 /* CIGI4 Earth Reference Model Definition */
1613 #define CIGI4_PACKET_SIZE_EARTH_REFERENCE_MODEL_DEFINITION 24
1615 /* CIGI3 Trajectory Definition */
1616 #define CIGI3_PACKET_SIZE_TRAJECTORY_DEFINITION 24
1617 static int hf_cigi3_trajectory_definition
;
1618 static int hf_cigi3_trajectory_definition_entity_id
;
1619 static int hf_cigi3_trajectory_definition_acceleration_x
;
1620 static int hf_cigi3_trajectory_definition_acceleration_y
;
1621 static int hf_cigi3_trajectory_definition_acceleration_z
;
1622 static int hf_cigi3_trajectory_definition_retardation_rate
;
1623 static int hf_cigi3_trajectory_definition_terminal_velocity
;
1626 /* CIGI4 Acceleration Control */
1627 #define CIGI4_PACKET_SIZE_ACCELERATION_CONTROL 32
1628 static int hf_cigi4_acceleration_control
;
1629 static int hf_cigi4_acceleration_control_entity_id
;
1630 static int hf_cigi4_acceleration_control_articulated_part_id
;
1631 static int hf_cigi4_acceleration_control_apply_to_part
;
1632 static int hf_cigi4_acceleration_control_coord_system
;
1633 static int hf_cigi4_acceleration_control_acceleration_x
;
1634 static int hf_cigi4_acceleration_control_acceleration_y
;
1635 static int hf_cigi4_acceleration_control_acceleration_z
;
1636 static int hf_cigi4_acceleration_control_acceleration_roll
;
1637 static int hf_cigi4_acceleration_control_acceleration_pitch
;
1638 static int hf_cigi4_acceleration_control_acceleration_yaw
;
1641 /* CIGI3 View Definition */
1642 #define CIGI3_PACKET_SIZE_VIEW_DEFINITION 32
1643 static int hf_cigi3_view_definition
;
1644 static int hf_cigi3_view_definition_view_id
;
1645 static int hf_cigi3_view_definition_group_id
;
1646 static int hf_cigi3_view_definition_near_enable
;
1647 static int hf_cigi3_view_definition_far_enable
;
1648 static int hf_cigi3_view_definition_left_enable
;
1649 static int hf_cigi3_view_definition_right_enable
;
1650 static int hf_cigi3_view_definition_top_enable
;
1651 static int hf_cigi3_view_definition_bottom_enable
;
1652 static int hf_cigi3_view_definition_mirror_mode
;
1653 static int hf_cigi3_view_definition_pixel_replication
;
1654 static int hf_cigi3_view_definition_projection_type
;
1655 static int hf_cigi3_view_definition_reorder
;
1656 static int hf_cigi3_view_definition_view_type
;
1657 static int hf_cigi3_view_definition_near
;
1658 static int hf_cigi3_view_definition_far
;
1659 static int hf_cigi3_view_definition_left
;
1660 static int hf_cigi3_view_definition_right
;
1661 static int hf_cigi3_view_definition_top
;
1662 static int hf_cigi3_view_definition_bottom
;
1664 static const value_string cigi3_view_definition_mirror_mode_vals
[] = {
1668 {3, "Horizontal and Vertical"},
1672 static const value_string cigi3_view_definition_pixel_replication_vals
[] = {
1677 {4, "Defined by IG"},
1678 {5, "Defined by IG"},
1679 {6, "Defined by IG"},
1680 {7, "Defined by IG"},
1684 static const true_false_string cigi3_view_definition_projection_type_tfs
= {
1685 "Orthographic Parallel",
1689 static const true_false_string cigi3_view_definition_reorder_tfs
= {
1694 /* CIGI4 View Definition */
1695 #define CIGI4_PACKET_SIZE_VIEW_DEFINITION 40
1697 /* CIGI3 Collision Detection Segment Definition */
1698 #define CIGI3_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_DEFINITION 40
1699 static int hf_cigi3_collision_detection_segment_definition
;
1700 static int hf_cigi3_collision_detection_segment_definition_entity_id
;
1701 static int hf_cigi3_collision_detection_segment_definition_segment_id
;
1702 static int hf_cigi3_collision_detection_segment_definition_segment_enable
;
1703 static int hf_cigi3_collision_detection_segment_definition_x1
;
1704 static int hf_cigi3_collision_detection_segment_definition_y1
;
1705 static int hf_cigi3_collision_detection_segment_definition_z1
;
1706 static int hf_cigi3_collision_detection_segment_definition_x2
;
1707 static int hf_cigi3_collision_detection_segment_definition_y2
;
1708 static int hf_cigi3_collision_detection_segment_definition_z2
;
1709 static int hf_cigi3_collision_detection_segment_definition_material_mask
;
1712 /* CIGI4 Collision Detection Segment Definition */
1713 #define CIGI4_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_DEFINITION 40
1715 /* CIGI3 Collision Detection Volume Definition */
1716 #define CIGI3_PACKET_SIZE_COLLISION_DETECTION_VOLUME_DEFINITION 48
1717 static int hf_cigi3_collision_detection_volume_definition
;
1718 static int hf_cigi3_collision_detection_volume_definition_entity_id
;
1719 static int hf_cigi3_collision_detection_volume_definition_volume_id
;
1720 static int hf_cigi3_collision_detection_volume_definition_volume_enable
;
1721 static int hf_cigi3_collision_detection_volume_definition_volume_type
;
1722 static int hf_cigi3_collision_detection_volume_definition_x
;
1723 static int hf_cigi3_collision_detection_volume_definition_y
;
1724 static int hf_cigi3_collision_detection_volume_definition_z
;
1725 static int hf_cigi3_collision_detection_volume_definition_radius_height
;
1726 static int hf_cigi3_collision_detection_volume_definition_width
;
1727 static int hf_cigi3_collision_detection_volume_definition_depth
;
1728 static int hf_cigi3_collision_detection_volume_definition_roll
;
1729 static int hf_cigi3_collision_detection_volume_definition_pitch
;
1730 static int hf_cigi3_collision_detection_volume_definition_yaw
;
1732 static const true_false_string cigi3_collision_detection_volume_definition_volume_type_tfs
= {
1737 /* CIGI4 Collision Detection Volume Definition */
1738 #define CIGI4_PACKET_SIZE_COLLISION_DETECTION_VOLUME_DEFINITION 48
1740 /* CIGI3 HAT/HOT Request */
1741 #define CIGI3_PACKET_SIZE_HAT_HOT_REQUEST 32
1742 static int hf_cigi3_hat_hot_request
;
1743 static int hf_cigi3_hat_hot_request_hat_hot_id
;
1744 static int hf_cigi3_hat_hot_request_type
;
1745 static int hf_cigi3_hat_hot_request_coordinate_system
;
1746 static int hf_cigi3_2_hat_hot_request_update_period
;
1747 static int hf_cigi3_hat_hot_request_entity_id
;
1748 static int hf_cigi3_hat_hot_request_lat_xoff
;
1749 static int hf_cigi3_hat_hot_request_lon_yoff
;
1750 static int hf_cigi3_hat_hot_request_alt_zoff
;
1752 static const value_string cigi3_hat_hot_request_type_vals
[] = {
1759 /* CIGI4 HAT/HOT Request */
1760 #define CIGI4_PACKET_SIZE_HAT_HOT_REQUEST 40
1761 static int hf_cigi4_hat_hot_request_flags
;
1763 static int ett_cigi4_hat_hot_request_flags
;
1765 /* CIGI3 Line of Sight Segment Request */
1766 #define CIGI3_PACKET_SIZE_LINE_OF_SIGHT_SEGMENT_REQUEST 64
1767 static int hf_cigi3_line_of_sight_segment_request
;
1768 static int hf_cigi3_line_of_sight_segment_request_los_id
;
1769 static int hf_cigi3_line_of_sight_segment_request_type
;
1770 static int hf_cigi3_line_of_sight_segment_request_source_coord
;
1771 static int hf_cigi3_line_of_sight_segment_request_destination_coord
;
1772 static int hf_cigi3_line_of_sight_segment_request_response_coord
;
1773 static int hf_cigi3_line_of_sight_segment_request_alpha_threshold
;
1774 static int hf_cigi3_line_of_sight_segment_request_source_entity_id
;
1775 static int hf_cigi3_line_of_sight_segment_request_source_lat_xoff
;
1776 static int hf_cigi3_line_of_sight_segment_request_source_lon_yoff
;
1777 static int hf_cigi3_line_of_sight_segment_request_source_alt_zoff
;
1778 static int hf_cigi3_line_of_sight_segment_request_destination_lat_xoff
;
1779 static int hf_cigi3_line_of_sight_segment_request_destination_lon_yoff
;
1780 static int hf_cigi3_line_of_sight_segment_request_destination_alt_zoff
;
1781 static int hf_cigi3_line_of_sight_segment_request_material_mask
;
1783 /* CIGI3_2 Line of Sight Segment Request */
1784 static int hf_cigi3_2_line_of_sight_segment_request_destination_entity_id_valid
;
1785 static int hf_cigi3_2_line_of_sight_segment_request_update_period
;
1786 static int hf_cigi3_2_line_of_sight_segment_request_destination_entity_id
;
1788 /* CIGI4 Line of Sight Segment Request */
1789 #define CIGI4_PACKET_SIZE_LINE_OF_SIGHT_SEGMENT_REQUEST 72
1791 /* CIGI3 Line of Sight Vector Request */
1792 #define CIGI3_PACKET_SIZE_LINE_OF_SIGHT_VECTOR_REQUEST 56
1793 static int hf_cigi3_line_of_sight_vector_request
;
1794 static int hf_cigi3_line_of_sight_vector_request_los_id
;
1795 static int hf_cigi3_line_of_sight_vector_request_type
;
1796 static int hf_cigi3_line_of_sight_vector_request_source_coord
;
1797 static int hf_cigi3_line_of_sight_vector_request_response_coord
;
1798 static int hf_cigi3_line_of_sight_vector_request_alpha
;
1799 static int hf_cigi3_line_of_sight_vector_request_entity_id
;
1800 static int hf_cigi3_line_of_sight_vector_request_azimuth
;
1801 static int hf_cigi3_line_of_sight_vector_request_elevation
;
1802 static int hf_cigi3_line_of_sight_vector_request_min_range
;
1803 static int hf_cigi3_line_of_sight_vector_request_max_range
;
1804 static int hf_cigi3_line_of_sight_vector_request_source_lat_xoff
;
1805 static int hf_cigi3_line_of_sight_vector_request_source_lon_yoff
;
1806 static int hf_cigi3_line_of_sight_vector_request_source_alt_zoff
;
1807 static int hf_cigi3_line_of_sight_vector_request_material_mask
;
1809 /* CIGI3_2 Line of Sight Vector Request */
1810 static int hf_cigi3_2_line_of_sight_vector_request_update_period
;
1812 /* CIGI4 Line of Sight Vector Request */
1813 #define CIGI4_PACKET_SIZE_LINE_OF_SIGHT_VECTOR_REQUEST 64
1815 /* CIGI3 Position Request */
1816 #define CIGI3_PACKET_SIZE_POSITION_REQUEST 8
1817 static int hf_cigi3_position_request
;
1818 static int hf_cigi3_position_request_object_id
;
1819 static int hf_cigi3_position_request_part_id
;
1820 static int hf_cigi3_position_request_update_mode
;
1821 static int hf_cigi3_position_request_object_class
;
1822 static int hf_cigi3_position_request_coord_system
;
1824 static const true_false_string cigi3_position_request_update_mode_tfs
= {
1829 static const value_string cigi3_position_request_object_class_vals
[] = {
1831 {1, "Articulated Part"},
1834 {4, "Motion Tracker"},
1838 static const value_string cigi3_position_request_coord_system_vals
[] = {
1840 {1, "Parent Entity"},
1845 /* CIGI4 Position Request */
1846 #define CIGI4_PACKET_SIZE_POSITION_REQUEST 8
1848 /* CIGI3 Environmental Conditions Request */
1849 #define CIGI3_PACKET_SIZE_ENVIRONMENTAL_CONDITIONS_REQUEST 32
1850 static int hf_cigi3_environmental_conditions_request
;
1851 static int hf_cigi3_environmental_conditions_request_type
;
1852 static int hf_cigi3_environmental_conditions_request_id
;
1853 static int hf_cigi3_environmental_conditions_request_lat
;
1854 static int hf_cigi3_environmental_conditions_request_lon
;
1855 static int hf_cigi3_environmental_conditions_request_alt
;
1857 static const value_string cigi3_environmental_conditions_request_type_vals
[] = {
1858 {1, "Maritime Surface Conditions"},
1859 {2, "Terrestrial Surface Conditions"},
1860 {3, "Maritime+Terrestrial Surface Conditions"},
1861 {4, "Weather Conditions"},
1862 {5, "Maritime+Weather Surface Conditions"},
1863 {6, "Terrestrial+Weather Surface Conditions"},
1864 {7, "Maritime+Terrestrial+Weather Surface Conditions"},
1865 {8, "Aerosol Concentrations"},
1866 {9, "Maritime Surface Conditions+Aerosol Concentrations"},
1867 {10, "Terrestrial Surface Conditions+Aerosol Concentrations"},
1868 {11, "Maritime+Terrestrial Surface Conditions+Aerosol Concentrations"},
1869 {12, "Weather Conditions+Aerosol Concentrations"},
1870 {13, "Maritime+Weather Surface Conditions+Aerosol Concentrations"},
1871 {14, "Terrestrial+Weather Surface Conditions+Aerosol Concentrations"},
1872 {15, "Maritime+Terrestrial+Weather Surface Conditions+Aerosol Concentrations"},
1876 /* CIGI4 Environmental Conditions Request */
1877 #define CIGI4_PACKET_SIZE_ENVIRONMENTAL_CONDITIONS_REQUEST 32
1879 /* CIGI3_3 Symbol Surface Definition */
1880 #define CIGI3_PACKET_SIZE_SYMBOL_SURFACE_DEFINITION 56
1881 static int hf_cigi3_3_symbol_surface_definition
;
1882 static int hf_cigi3_3_symbol_surface_definition_surface_id
;
1883 static int hf_cigi3_3_symbol_surface_definition_surface_state
;
1884 static int hf_cigi3_3_symbol_surface_definition_attach_type
;
1885 static int hf_cigi3_3_symbol_surface_definition_billboard
;
1886 static int hf_cigi3_3_symbol_surface_definition_perspective_growth_enable
;
1887 static int hf_cigi3_3_symbol_surface_definition_entity_view_id
;
1888 static int hf_cigi3_3_symbol_surface_definition_xoff_left
;
1889 static int hf_cigi3_3_symbol_surface_definition_yoff_right
;
1890 static int hf_cigi3_3_symbol_surface_definition_zoff_top
;
1891 static int hf_cigi3_3_symbol_surface_definition_yaw_bottom
;
1892 static int hf_cigi3_3_symbol_surface_definition_pitch
;
1893 static int hf_cigi3_3_symbol_surface_definition_roll
;
1894 static int hf_cigi3_3_symbol_surface_definition_width
;
1895 static int hf_cigi3_3_symbol_surface_definition_height
;
1896 static int hf_cigi3_3_symbol_surface_definition_min_u
;
1897 static int hf_cigi3_3_symbol_surface_definition_max_u
;
1898 static int hf_cigi3_3_symbol_surface_definition_min_v
;
1899 static int hf_cigi3_3_symbol_surface_definition_max_v
;
1901 static const true_false_string cigi3_3_symbol_surface_definition_surface_state_tfs
= {
1906 static const true_false_string cigi3_3_symbol_surface_definition_attach_type_tfs
= {
1911 static const true_false_string cigi3_3_symbol_surface_definition_billboard_tfs
= {
1917 /* CIGI4 Symbol Surface Definition */
1918 #define CIGI4_PACKET_SIZE_SYMBOL_SURFACE_DEFINITION 64
1920 /* CIGI3_3 Symbol Text Definition */
1922 static int hf_cigi3_3_symbol_text_definition
;
1923 static int hf_cigi3_3_symbol_text_definition_symbol_id
;
1924 static int hf_cigi3_3_symbol_text_definition_orientation
;
1925 static int hf_cigi3_3_symbol_text_definition_alignment
;
1926 static int hf_cigi3_3_symbol_text_definition_font_ident
;
1927 static int hf_cigi3_3_symbol_text_definition_font_size
;
1928 static int hf_cigi3_3_symbol_text_definition_text
;
1930 static const value_string cigi3_3_symbol_text_definition_alignment_vals
[] = {
1936 {5, "Center Right"},
1938 {7, "Bottom Center"},
1939 {8, "Bottom Right"},
1943 static const value_string cigi3_3_symbol_text_definition_orientation_vals
[] = {
1944 {0, "Left To Right"},
1945 {1, "Top To Bottom"},
1946 {2, "Right To Left"},
1947 {3, "Bottom To Top"},
1951 static const value_string cigi3_3_symbol_text_definition_font_ident_vals
[] = {
1953 {1, "Proportional Sans Serif"},
1954 {2, "Proportional Sans Serif Bold"},
1955 {3, "Proportional Sans Serif Italic"},
1956 {4, "Proportional Sans Serif Bold Italic"},
1957 {5, "Proportional Serif"},
1958 {6, "Proportional Serif Bold"},
1959 {7, "Proportional Serif Italic"},
1960 {8, "Proportional Serif Bold Italic"},
1961 {9, "Monospace Sans Serif"},
1962 {10, "Monospace Sans Serif Bold"},
1963 {11, "Monospace Sans Serif Italic"},
1964 {12, "Monospace Sans Serif Bold Italic"},
1965 {13, "Monospace Serif"},
1966 {14, "Monospace Serif Bold"},
1967 {15, "Monospace Serif Italic"},
1968 {16, "Monospace Serif Bold Italic"},
1972 /* CIGI4 Symbol Text Definition */
1973 //#define CIGI4_PACKET_SIZE_SYMBOL_TEXT_DEFINITION (12 + text_length)
1975 /* CIGI3_3 Symbol Circle Definition */
1977 static int hf_cigi3_3_symbol_circle_definition
;
1978 static int hf_cigi3_3_symbol_circle_definition_symbol_id
;
1979 static int hf_cigi3_3_symbol_circle_definition_drawing_style
;
1980 static int hf_cigi3_3_symbol_circle_definition_stipple_pattern
;
1981 static int hf_cigi3_3_symbol_circle_definition_line_width
;
1982 static int hf_cigi3_3_symbol_circle_definition_stipple_pattern_length
;
1983 static int hf_cigi3_3_symbol_circle_definition_center_u
[9];
1984 static int hf_cigi3_3_symbol_circle_definition_center_v
[9];
1985 static int hf_cigi3_3_symbol_circle_definition_radius
[9];
1986 static int hf_cigi3_3_symbol_circle_definition_inner_radius
[9];
1987 static int hf_cigi3_3_symbol_circle_definition_start_angle
[9];
1988 static int hf_cigi3_3_symbol_circle_definition_end_angle
[9];
1990 static const true_false_string cigi3_3_symbol_circle_definition_drawing_style_tfs
= {
1995 /* CIGI4 Symbol Circle Definition */
1996 //#define CIGI4_PACKET_SIZE_SYMBOL_CIRCLE_DEFINITION (24 + (8*n))
1997 static int hf_cigi4_symbol_circle_definition_circles
;
1999 static int ett_cigi4_symbol_circle_definition_circles
;
2001 /* CIGI3_3 Symbol Line Definition */
2003 static int hf_cigi3_3_symbol_line_definition
;
2004 static int hf_cigi3_3_symbol_line_definition_symbol_id
;
2005 static int hf_cigi3_3_symbol_line_definition_primitive_type
;
2006 static int hf_cigi3_3_symbol_line_definition_stipple_pattern
;
2007 static int hf_cigi3_3_symbol_line_definition_line_width
;
2008 static int hf_cigi3_3_symbol_line_definition_stipple_pattern_length
;
2009 static int hf_cigi3_3_symbol_line_definition_vertex_u
[29];
2010 static int hf_cigi3_3_symbol_line_definition_vertex_v
[29];
2012 static const value_string cigi3_3_symbol_line_definition_primitive_type_vals
[] = {
2018 {5, "Triangle Strip"},
2019 {6, "Triangle Fan"},
2023 /* CIGI4 Symbol Polygon Definition */
2024 /* Symbol Line Definition packet renamed. */
2025 //#define CIGI4_PACKET_SIZE_SYMBOL_POLYGON_DEFINITION 24 + (8 x n)
2026 static int hf_cigi4_symbol_polygon_definition
;
2027 static int hf_cigi4_symbol_polygon_definition_symbol_id
;
2028 static int hf_cigi4_symbol_polygon_definition_primitive_type
;
2029 static int hf_cigi4_symbol_polygon_definition_stipple_pattern
;
2030 static int hf_cigi4_symbol_polygon_definition_line_width
;
2031 static int hf_cigi4_symbol_polygon_definition_stipple_pattern_length
;
2032 static int hf_cigi4_symbol_polygon_definition_vertex_u
[29];
2033 static int hf_cigi4_symbol_polygon_definition_vertex_v
[29];
2034 static int hf_cigi4_symbol_polygon_definition_vertices
;
2036 static int ett_cigi4_symbol_polygon_definition_vertices
;
2038 /* CIGI3_3 Symbol Clone */
2039 #define CIGI3_PACKET_SIZE_SYMBOL_CLONE 8
2040 static int hf_cigi3_3_symbol_clone
;
2041 static int hf_cigi3_3_symbol_clone_symbol_id
;
2042 static int hf_cigi3_3_symbol_clone_source_type
;
2043 static int hf_cigi3_3_symbol_clone_source_id
;
2045 static const true_false_string cigi3_3_symbol_clone_source_type_tfs
= {
2050 /* CIG4 Symbol Clone */
2051 #define CIGI4_PACKET_SIZE_SYMBOL_CLONE 16
2053 /* CIGI3_3 Symbol Control */
2054 #define CIGI3_PACKET_SIZE_SYMBOL_CONTROL 40
2055 static int hf_cigi3_3_symbol_control
;
2056 static int hf_cigi3_3_symbol_control_symbol_id
;
2057 static int hf_cigi3_3_symbol_control_symbol_state
;
2058 static int hf_cigi3_3_symbol_control_attach_state
;
2059 static int hf_cigi3_3_symbol_control_flash_control
;
2060 static int hf_cigi3_3_symbol_control_inherit_color
;
2061 static int hf_cigi3_3_symbol_control_parent_symbol_ident
;
2062 static int hf_cigi3_3_symbol_control_surface_ident
;
2063 static int hf_cigi3_3_symbol_control_layer
;
2064 static int hf_cigi3_3_symbol_control_flash_duty_cycle
;
2065 static int hf_cigi3_3_symbol_control_flash_period
;
2066 static int hf_cigi3_3_symbol_control_position_u
;
2067 static int hf_cigi3_3_symbol_control_position_v
;
2068 static int hf_cigi3_3_symbol_control_rotation
;
2069 static int hf_cigi3_3_symbol_control_red
;
2070 static int hf_cigi3_3_symbol_control_green
;
2071 static int hf_cigi3_3_symbol_control_blue
;
2072 static int hf_cigi3_3_symbol_control_alpha
;
2073 static int hf_cigi3_3_symbol_control_scale_u
;
2074 static int hf_cigi3_3_symbol_control_scale_v
;
2076 static const value_string cigi3_3_symbol_control_symbol_state_vals
[] = {
2083 static const true_false_string cigi3_3_symbol_control_flash_control_tfs
= {
2089 /* CIGI4 Symbol Control */
2090 #define CIGI4_PACKET_SIZE_SYMBOL_CONTROL 48
2092 /* CIGI3_3 Short Symbol Control */
2093 #define CIGI3_PACKET_SIZE_SHORT_SYMBOL_CONTROL 32
2094 static int hf_cigi3_3_short_symbol_control
;
2095 static int hf_cigi3_3_short_symbol_control_symbol_id
;
2096 static int hf_cigi3_3_short_symbol_control_inherit_color
;
2097 static int hf_cigi3_3_short_symbol_control_flash_control
;
2098 static int hf_cigi3_3_short_symbol_control_attach_state
;
2099 static int hf_cigi3_3_short_symbol_control_symbol_state
;
2100 static int hf_cigi3_3_short_symbol_control_attribute_select1
;
2101 static int hf_cigi3_3_short_symbol_control_attribute_select2
;
2102 static int hf_cigi3_3_short_symbol_control_attribute_value1
;
2103 static int hf_cigi3_3_short_symbol_control_attribute_value2
;
2104 static int hf_cigi3_3_short_symbol_control_attribute_value1f
;
2105 static int hf_cigi3_3_short_symbol_control_attribute_value2f
;
2106 static int hf_cigi3_3_short_symbol_control_red1
;
2107 static int hf_cigi3_3_short_symbol_control_green1
;
2108 static int hf_cigi3_3_short_symbol_control_blue1
;
2109 static int hf_cigi3_3_short_symbol_control_alpha1
;
2110 static int hf_cigi3_3_short_symbol_control_red2
;
2111 static int hf_cigi3_3_short_symbol_control_green2
;
2112 static int hf_cigi3_3_short_symbol_control_blue2
;
2113 static int hf_cigi3_3_short_symbol_control_alpha2
;
2115 static const value_string cigi3_3_short_symbol_control_attribute_select_vals
[] = {
2118 {2, "Parent Symbol ID"},
2120 {4, "Flash Duty Cycle Percentage"},
2121 {5, "Flash Period"},
2132 /* CIGI4 Short Symbol Control */
2133 #define CIGI4_PACKET_SIZE_SHORT_SYMBOL_CONTROL 24
2135 /* CIGI4 Symbol Textured Circle */
2136 //#define CIGI4_PACKET_SIZE_SYMBOL_CIRCLE_TEXTURED_DEFINITION 16 + (40 x n)
2137 static int hf_cigi4_symbol_circle_textured_definition
;
2138 static int hf_cigi4_symbol_circle_textured_definition_symbol_id
;
2139 static int hf_cigi4_symbol_circle_textured_definition_texture_id
;
2140 static int hf_cigi4_symbol_circle_textured_definition_filter_mode
;
2141 static int hf_cigi4_symbol_circle_textured_definition_wrap
;
2142 static int hf_cigi4_symbol_circle_textured_definition_center_u
[9];
2143 static int hf_cigi4_symbol_circle_textured_definition_center_v
[9];
2144 static int hf_cigi4_symbol_circle_textured_definition_radius
[9];
2145 static int hf_cigi4_symbol_circle_textured_definition_inner_radius
[9];
2146 static int hf_cigi4_symbol_circle_textured_definition_start_angle
[9];
2147 static int hf_cigi4_symbol_circle_textured_definition_end_angle
[9];
2148 static int hf_cigi4_symbol_circle_textured_definition_texture_center_u
[9];
2149 static int hf_cigi4_symbol_circle_textured_definition_texture_center_v
[9];
2150 static int hf_cigi4_symbol_circle_textured_definition_texture_radius
[9];
2151 static int hf_cigi4_symbol_circle_textured_definition_texture_rotation
[9];
2152 static int hf_cigi4_symbol_circle_textured_definition_circles
;
2154 static int ett_cigi4_symbol_circle_textured_definition_circles
;
2156 /* CIGI4 Symbol Textured Polygon */
2157 //#define CIGI4_PACKET_SIZE_SYMBOL_POLYGON_TEXTURED_DEFINITION 16 + (16 x n)
2158 static int hf_cigi4_symbol_polygon_textured_definition
;
2159 static int hf_cigi4_symbol_polygon_textured_definition_symbol_id
;
2160 static int hf_cigi4_symbol_polygon_textured_definition_texture_id
;
2161 static int hf_cigi4_symbol_polygon_textured_definition_filter_mode
;
2162 static int hf_cigi4_symbol_polygon_textured_definition_wrap
;
2163 static int hf_cigi4_symbol_polygon_textured_definition_vertices
;
2164 static int hf_cigi4_symbol_polygon_textured_definition_vertex_u
[29];
2165 static int hf_cigi4_symbol_polygon_textured_definition_vertex_v
[29];
2166 static int hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[29];
2167 static int hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[29];
2169 static int ett_cigi4_symbol_polygon_textured_definition_vertices
;
2171 /* CIGI3 Start of Frame */
2172 #define CIGI3_PACKET_SIZE_START_OF_FRAME 16
2173 static int hf_cigi3_start_of_frame
;
2174 static int hf_cigi3_start_of_frame_db_number
;
2175 static int hf_cigi3_start_of_frame_ig_status
;
2176 static int hf_cigi3_start_of_frame_ig_mode
;
2177 static int hf_cigi3_start_of_frame_timestamp_valid
;
2178 static int hf_cigi3_start_of_frame_earth_reference_model
;
2179 static int hf_cigi3_start_of_frame_frame_ctr
;
2180 static int hf_cigi3_start_of_frame_timestamp
;
2182 static const value_string cigi3_start_of_frame_ig_mode_vals
[] = {
2183 {0, "Reset/Standby"},
2186 {3, "Offline Maintenance"},
2190 static const true_false_string cigi3_start_of_frame_earth_reference_model_tfs
= {
2195 /* CIGI3_2 Start of Frame */
2196 #define CIGI3_2_PACKET_SIZE_START_OF_FRAME 24
2197 static int hf_cigi3_2_start_of_frame
;
2198 static int hf_cigi3_2_start_of_frame_minor_version
;
2199 static int hf_cigi3_2_start_of_frame_ig_frame_number
;
2200 static int hf_cigi3_2_start_of_frame_last_host_frame_number
;
2202 /* CIGI3 HAT/HOT Response */
2203 #define CIGI3_PACKET_SIZE_HAT_HOT_RESPONSE 16
2204 static int hf_cigi3_hat_hot_response
;
2205 static int hf_cigi3_hat_hot_response_hat_hot_id
;
2206 static int hf_cigi3_hat_hot_response_valid
;
2207 static int hf_cigi3_hat_hot_response_type
;
2208 static int hf_cigi3_hat_hot_response_height
;
2210 static const true_false_string cigi3_hat_hot_response_type_tfs
= {
2215 /* CIGI3_2 HAT/HOT Response */
2216 static int hf_cigi3_2_hat_hot_response_host_frame_number_lsn
;
2218 /* CIGI4 HAT/HOT Response */
2219 #define CIGI4_PACKET_SIZE_HAT_HOT_RESPONSE 16
2220 static int hf_cigi4_hat_hot_response_flags
;
2222 static int ett_cigi4_hat_hot_response_flags
;
2224 /* CIGI3 HAT/HOT Extended Response */
2225 #define CIGI3_PACKET_SIZE_HAT_HOT_EXTENDED_RESPONSE 40
2226 static int hf_cigi3_hat_hot_extended_response
;
2227 static int hf_cigi3_hat_hot_extended_response_hat_hot_id
;
2228 static int hf_cigi3_hat_hot_extended_response_valid
;
2229 static int hf_cigi3_hat_hot_extended_response_hat
;
2230 static int hf_cigi3_hat_hot_extended_response_hot
;
2231 static int hf_cigi3_hat_hot_extended_response_material_code
;
2232 static int hf_cigi3_hat_hot_extended_response_normal_vector_azimuth
;
2233 static int hf_cigi3_hat_hot_extended_response_normal_vector_elevation
;
2235 /* CIGI3_2 HAT/HOT Extended Response */
2236 static int hf_cigi3_2_hat_hot_extended_response_host_frame_number_lsn
;
2238 /* CIGI4 HAT/HOT Extended Response */
2239 #define CIGI4_PACKET_SIZE_HAT_HOT_EXTENDED_RESPONSE 40
2240 static int hf_cigi4_hat_hot_extended_response_flags
;
2242 static int ett_cigi4_hat_hot_extended_response_flags
;
2244 /* CIGI3 Line of Sight Response */
2245 #define CIGI3_PACKET_SIZE_LINE_OF_SIGHT_RESPONSE 16
2246 static int hf_cigi3_line_of_sight_response
;
2247 static int hf_cigi3_line_of_sight_response_los_id
;
2248 static int hf_cigi3_line_of_sight_response_valid
;
2249 static int hf_cigi3_line_of_sight_response_entity_id_valid
;
2250 static int hf_cigi3_line_of_sight_response_visible
;
2251 static int hf_cigi3_line_of_sight_response_count
;
2252 static int hf_cigi3_line_of_sight_response_entity_id
;
2253 static int hf_cigi3_line_of_sight_response_range
;
2255 /* CIGI3_2 Line of Sight Response */
2256 static int hf_cigi3_2_line_of_sight_response_host_frame_number_lsn
;
2258 /* CIGI4 Line of Sight Response */
2259 #define CIGI4_PACKET_SIZE_LINE_OF_SIGHT_RESPONSE 24
2261 /* CIGI3 Line of Sight Extended Response */
2262 #define CIGI3_PACKET_SIZE_LINE_OF_SIGHT_EXTENDED_RESPONSE 56
2263 static int hf_cigi3_line_of_sight_extended_response
;
2264 static int hf_cigi3_line_of_sight_extended_response_los_id
;
2265 static int hf_cigi3_line_of_sight_extended_response_valid
;
2266 static int hf_cigi3_line_of_sight_extended_response_entity_id_valid
;
2267 static int hf_cigi3_line_of_sight_extended_response_range_valid
;
2268 static int hf_cigi3_line_of_sight_extended_response_visible
;
2269 static int hf_cigi3_line_of_sight_extended_response_intersection_coord
;
2270 static int hf_cigi3_line_of_sight_extended_response_response_count
;
2271 static int hf_cigi3_line_of_sight_extended_response_entity_id
;
2272 static int hf_cigi3_line_of_sight_extended_response_range
;
2273 static int hf_cigi3_line_of_sight_extended_response_lat_xoff
;
2274 static int hf_cigi3_line_of_sight_extended_response_lon_yoff
;
2275 static int hf_cigi3_line_of_sight_extended_response_alt_zoff
;
2276 static int hf_cigi3_line_of_sight_extended_response_red
;
2277 static int hf_cigi3_line_of_sight_extended_response_green
;
2278 static int hf_cigi3_line_of_sight_extended_response_blue
;
2279 static int hf_cigi3_line_of_sight_extended_response_alpha
;
2280 static int hf_cigi3_line_of_sight_extended_response_material_code
;
2281 static int hf_cigi3_line_of_sight_extended_response_normal_vector_azimuth
;
2282 static int hf_cigi3_line_of_sight_extended_response_normal_vector_elevation
;
2284 /* CIGI3_2 Line of Sight Extended Response */
2285 static int hf_cigi3_2_line_of_sight_extended_response_host_frame_number_lsn
;
2287 /* CIGI4 Line of Sight Extended Response */
2288 #define CIGI4_PACKET_SIZE_LINE_OF_SIGHT_EXTENDED_RESPONSE 64
2290 /* CIGI3 Sensor Response */
2291 #define CIGI3_PACKET_SIZE_SENSOR_RESPONSE 24
2292 static int hf_cigi3_sensor_response
;
2293 static int hf_cigi3_sensor_response_view_id
;
2294 static int hf_cigi3_sensor_response_sensor_id
;
2295 static int hf_cigi3_sensor_response_sensor_status
;
2296 static int hf_cigi3_sensor_response_gate_x_size
;
2297 static int hf_cigi3_sensor_response_gate_y_size
;
2298 static int hf_cigi3_sensor_response_gate_x_pos
;
2299 static int hf_cigi3_sensor_response_gate_y_pos
;
2300 static int hf_cigi3_sensor_response_frame_ctr
;
2302 static const value_string cigi3_sensor_response_sensor_status_vals
[] = {
2303 {0, "Searching for target"},
2304 {1, "Tracking target"},
2305 {2, "Impending breaklock"},
2310 /* CIGI4 Sensor Response */
2311 #define CIGI4_PACKET_SIZE_SENSOR_RESPONSE 24
2313 /* CIGI3 Sensor Extended Response */
2314 #define CIGI3_PACKET_SIZE_SENSOR_EXTENDED_RESPONSE 48
2315 static int hf_cigi3_sensor_extended_response
;
2316 static int hf_cigi3_sensor_extended_response_view_id
;
2317 static int hf_cigi3_sensor_extended_response_sensor_id
;
2318 static int hf_cigi3_sensor_extended_response_sensor_status
;
2319 static int hf_cigi3_sensor_extended_response_entity_id_valid
;
2320 static int hf_cigi3_sensor_extended_response_entity_id
;
2321 static int hf_cigi3_sensor_extended_response_gate_x_size
;
2322 static int hf_cigi3_sensor_extended_response_gate_y_size
;
2323 static int hf_cigi3_sensor_extended_response_gate_x_pos
;
2324 static int hf_cigi3_sensor_extended_response_gate_y_pos
;
2325 static int hf_cigi3_sensor_extended_response_frame_ctr
;
2326 static int hf_cigi3_sensor_extended_response_track_lat
;
2327 static int hf_cigi3_sensor_extended_response_track_lon
;
2328 static int hf_cigi3_sensor_extended_response_track_alt
;
2330 static const value_string cigi3_sensor_extended_response_sensor_status_vals
[] = {
2331 {0, "Searching for target"},
2332 {1, "Tracking target"},
2333 {2, "Impending breaklock"},
2339 /* CIGI4 Sensor Extended Response */
2340 #define CIGI4_PACKET_SIZE_SENSOR_EXTENDED_RESPONSE 56
2342 /* CIGI3 Position Response */
2343 #define CIGI3_PACKET_SIZE_POSITION_RESPONSE 48
2344 static int hf_cigi3_position_response
;
2345 static int hf_cigi3_position_response_object_id
;
2346 static int hf_cigi3_position_response_part_id
;
2347 static int hf_cigi3_position_response_object_class
;
2348 static int hf_cigi3_position_response_coord_system
;
2349 static int hf_cigi3_position_response_lat_xoff
;
2350 static int hf_cigi3_position_response_lon_yoff
;
2351 static int hf_cigi3_position_response_alt_zoff
;
2352 static int hf_cigi3_position_response_roll
;
2353 static int hf_cigi3_position_response_pitch
;
2354 static int hf_cigi3_position_response_yaw
;
2356 static const value_string cigi3_position_response_object_class_vals
[] = {
2358 {1, "Articulated Part"},
2361 {4, "Motion Tracker"},
2365 static const value_string cigi3_position_response_coord_system_vals
[] = {
2367 {1, "Parent Entity"},
2373 /* CIGI4 Position Response */
2374 #define CIGI4_PACKET_SIZE_POSITION_RESPONSE 48
2376 /* CIGI3 Weather Conditions Response */
2377 #define CIGI3_PACKET_SIZE_WEATHER_CONDITIONS_RESPONSE 32
2378 static int hf_cigi3_weather_conditions_response
;
2379 static int hf_cigi3_weather_conditions_response_request_id
;
2380 static int hf_cigi3_weather_conditions_response_humidity
;
2381 static int hf_cigi3_weather_conditions_response_air_temp
;
2382 static int hf_cigi3_weather_conditions_response_visibility_range
;
2383 static int hf_cigi3_weather_conditions_response_horiz_speed
;
2384 static int hf_cigi3_weather_conditions_response_vert_speed
;
2385 static int hf_cigi3_weather_conditions_response_wind_direction
;
2386 static int hf_cigi3_weather_conditions_response_barometric_pressure
;
2388 /* CIGI4 Weather Conditions Response */
2389 #define CIGI4_PACKET_SIZE_WEATHER_CONDITIONS_RESPONSE 32
2391 /* CIGI3 Aerosol Concentration Response */
2392 #define CIGI3_PACKET_SIZE_AEROSOL_CONCENTRATION_RESPONSE 8
2393 static int hf_cigi3_aerosol_concentration_response
;
2394 static int hf_cigi3_aerosol_concentration_response_request_id
;
2395 static int hf_cigi3_aerosol_concentration_response_layer_id
;
2396 static int hf_cigi3_aerosol_concentration_response_aerosol_concentration
;
2398 /* CIGI4 Aerosol Concentration Response */
2399 #define CIGI4_PACKET_SIZE_AEROSOL_CONCENTRATION_RESPONSE 16
2401 /* CIGI3 Maritime Surface Conditions Response */
2402 #define CIGI3_PACKET_SIZE_MARITIME_SURFACE_CONDITIONS_RESPONSE 16
2403 static int hf_cigi3_maritime_surface_conditions_response
;
2404 static int hf_cigi3_maritime_surface_conditions_response_request_id
;
2405 static int hf_cigi3_maritime_surface_conditions_response_sea_surface_height
;
2406 static int hf_cigi3_maritime_surface_conditions_response_surface_water_temp
;
2407 static int hf_cigi3_maritime_surface_conditions_response_surface_clarity
;
2409 /* CIGI4 Maritime Surface Conditions Response */
2410 #define CIGI4_PACKET_SIZE_MARITIME_SURFACE_CONDITIONS_RESPONSE 24
2412 /* CIGI3 Terrestrial Surface Conditions Response */
2413 #define CIGI3_PACKET_SIZE_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE 8
2414 static int hf_cigi3_terrestrial_surface_conditions_response
;
2415 static int hf_cigi3_terrestrial_surface_conditions_response_request_id
;
2416 static int hf_cigi3_terrestrial_surface_conditions_response_surface_id
;
2418 /* CIGI4 Terrestrial Surface Conditions Response */
2419 #define CIGI4_PACKET_SIZE_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE 16
2421 /* CIGI3 Collision Detection Segment Notification */
2422 #define CIGI3_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_NOTIFICATION 16
2423 static int hf_cigi3_collision_detection_segment_notification
;
2424 static int hf_cigi3_collision_detection_segment_notification_entity_id
;
2425 static int hf_cigi3_collision_detection_segment_notification_segment_id
;
2426 static int hf_cigi3_collision_detection_segment_notification_type
;
2427 static int hf_cigi3_collision_detection_segment_notification_contacted_entity_id
;
2428 static int hf_cigi3_collision_detection_segment_notification_material_code
;
2429 static int hf_cigi3_collision_detection_segment_notification_intersection_distance
;
2431 static const true_false_string cigi3_collision_detection_segment_notification_type_tfs
= {
2436 /* CIGI4 Collision Detection Segment Notification */
2437 #define CIGI4_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_NOTIFICATION 24
2439 /* CIGI3 Collision Detection Volume Notification */
2440 #define CIGI3_PACKET_SIZE_COLLISION_DETECTION_VOLUME_NOTIFICATION 16
2441 static int hf_cigi3_collision_detection_volume_notification
;
2442 static int hf_cigi3_collision_detection_volume_notification_entity_id
;
2443 static int hf_cigi3_collision_detection_volume_notification_volume_id
;
2444 static int hf_cigi3_collision_detection_volume_notification_type
;
2445 static int hf_cigi3_collision_detection_volume_notification_contacted_entity_id
;
2446 static int hf_cigi3_collision_detection_volume_notification_contacted_volume_id
;
2448 static const true_false_string cigi3_collision_detection_volume_notification_type_tfs
= {
2453 /* CIGI4 Collision Detection Volume Notification */
2454 #define CIGI4_PACKET_SIZE_COLLISION_DETECTION_VOLUME_NOTIFICATION 16
2456 /* CIGI3 Animation Stop Notification */
2457 #define CIGI3_PACKET_SIZE_ANIMATION_STOP_NOTIFICATION 8
2458 static int hf_cigi3_animation_stop_notification
;
2459 static int hf_cigi3_animation_stop_notification_entity_id
;
2461 /* CIGI4 Animation Stop Notification */
2462 #define CIGI4_PACKET_SIZE_ANIMATION_STOP_NOTIFICATION 8
2464 /* CIGI3 Event Notification */
2465 #define CIGI3_PACKET_SIZE_EVENT_NOTIFICATION 16
2466 static int hf_cigi3_event_notification
;
2467 static int hf_cigi3_event_notification_event_id
;
2468 static int hf_cigi3_event_notification_data_1
;
2469 static int hf_cigi3_event_notification_data_2
;
2470 static int hf_cigi3_event_notification_data_3
;
2472 /* CIGI4 Event Notification */
2473 #define CIGI4_PACKET_SIZE_EVENT_NOTIFICATION 24
2475 /* CIGI3 Image Generator Message */
2476 static int hf_cigi3_image_generator_message
;
2477 static int hf_cigi3_image_generator_message_id
;
2478 static int hf_cigi3_image_generator_message_message
;
2480 /* CIGI4 Image Generator Message */
2482 /* CIGI3 User-Defined Packets */
2483 static int hf_cigi3_user_defined
;
2485 /* CIGI4 Locally Defined Packets */
2486 static int hf_cigi4_locally_defined
;
2488 /* CIGI4 Registered Packets */
2489 static int hf_cigi4_registered
;
2491 static expert_field ei_cigi_invalid_len
;
2494 /* CIGI4 Packet ID */
2495 static int hf_cigi4_packet_id
;
2496 static int hf_cigi4_packet_size
;
2497 #define CIGI4_PACKET_ID_IG_CONTROL 0x00
2498 #define CIGI4_PACKET_ID_ENTITY_POSITION 0x01
2499 #define CIGI4_PACKET_ID_CONFORMAL_CLAMPED_ENTITY_POSITION 0x02
2500 #define CIGI4_PACKET_ID_COMPONENT_CONTROL 0x03
2501 #define CIGI4_PACKET_ID_SHORT_COMPONENT_CONTROL 0x04
2502 #define CIGI4_PACKET_ID_ARTICULATED_PART_CONTROL 0x05
2503 #define CIGI4_PACKET_ID_SHORT_ARTICULATED_PART_CONTROL 0x06
2504 #define CIGI4_PACKET_ID_VELOCITY_CONTROL 0x07
2505 #define CIGI4_PACKET_ID_CELESTIAL_SPHERE_CONTROL 0x08
2506 #define CIGI4_PACKET_ID_ATMOSPHERE_CONTROL 0x09
2507 #define CIGI4_PACKET_ID_ENVIRONMENTAL_REGION_CONTROL 0x0A
2508 #define CIGI4_PACKET_ID_WEATHER_CONTROL 0x0B
2509 #define CIGI4_PACKET_ID_MARITIME_SURFACE_CONDITIONS_CONTROL 0x0C
2510 #define CIGI4_PACKET_ID_WAVE_CONTROL 0x0D
2511 #define CIGI4_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL 0x0E
2512 #define CIGI4_PACKET_ID_VIEW_CONTROL 0x0F
2513 #define CIGI4_PACKET_ID_SENSOR_CONTROL 0x10
2514 #define CIGI4_PACKET_ID_MOTION_TRACKER_CONTROL 0x11
2515 #define CIGI4_PACKET_ID_EARTH_REFERENCE_MODEL_DEFINITION 0x12
2516 #define CIGI4_PACKET_ID_ACCELERATION_CONTROL 0x13
2517 #define CIGI4_PACKET_ID_VIEW_DEFINITION 0x14
2518 #define CIGI4_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION 0x15
2519 #define CIGI4_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION 0x16
2520 #define CIGI4_PACKET_ID_HAT_HOT_REQUEST 0x17
2521 #define CIGI4_PACKET_ID_LINE_OF_SIGHT_SEGMENT_REQUEST 0x18
2522 #define CIGI4_PACKET_ID_LINE_OF_SIGHT_VECTOR_REQUEST 0x19
2523 #define CIGI4_PACKET_ID_POSITION_REQUEST 0x1A
2524 #define CIGI4_PACKET_ID_ENVIRONMENTAL_CONDITIONS_REQUEST 0x1B
2525 #define CIGI4_PACKET_ID_SYMBOL_SURFACE_DEFINITION 0x1C
2526 #define CIGI4_PACKET_ID_SYMBOL_TEXT_DEFINITION 0x1D
2527 #define CIGI4_PACKET_ID_SYMBOL_CIRCLE_DEFINITION 0x1E
2528 #define CIGI4_PACKET_ID_SYMBOL_POLYGON_DEFINITION 0x1F
2529 #define CIGI4_PACKET_ID_SYMBOL_CLONE 0x20
2530 #define CIGI4_PACKET_ID_SYMBOL_CONTROL 0x21
2531 #define CIGI4_PACKET_ID_SHORT_SYMBOL_CONTROL 0x22
2532 #define CIGI4_PACKET_ID_SYMBOL_CIRCLE_TEXTURED_DEFINITION 0x23
2533 #define CIGI4_PACKET_ID_SYMBOL_POLYGON_TEXTURED_DEFINITION 0x24
2534 #define CIGI4_PACKET_ID_ENTITY_CONTROL 0x25
2535 #define CIGI4_PACKET_ID_ANIMATION_CONTROL 0x26
2537 #define CIGI4_PACKET_ID_IMAGE_GENERATOR_MESSAGE 0x0FF0
2538 #define CIGI4_PACKET_ID_EVENT_NOTIFICATION 0x0FF1
2539 #define CIGI4_PACKET_ID_ANIMATION_STOP_NOTIFICATION 0x0FF2
2540 #define CIGI4_PACKET_ID_COLLISION_DETECTION_VOLUME_NOTIFICATION 0x0FF3
2541 #define CIGI4_PACKET_ID_COLLISION_DETECTION_SEGMENT_NOTIFICATION 0x0FF4
2542 #define CIGI4_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE 0x0FF5
2543 #define CIGI4_PACKET_ID_MARITIME_SURFACE_CONDITIONS_RESPONSE 0x0FF6
2544 #define CIGI4_PACKET_ID_AEROSOL_CONCENTRATION_RESPONSE 0x0FF7
2545 #define CIGI4_PACKET_ID_WEATHER_CONDITIONS_RESPONSE 0x0FF8
2546 #define CIGI4_PACKET_ID_POSITION_RESPONSE 0x0FF9
2547 #define CIGI4_PACKET_ID_SENSOR_EXTENDED_RESPONSE 0x0FFA
2548 #define CIGI4_PACKET_ID_SENSOR_RESPONSE 0x0FFB
2549 #define CIGI4_PACKET_ID_LINE_OF_SIGHT_EXTENDED_RESPONSE 0x0FFC
2550 #define CIGI4_PACKET_ID_LINE_OF_SIGHT_RESPONSE 0x0FFD
2551 #define CIGI4_PACKET_ID_HAT_HOT_EXTENDED_RESPONSE 0x0FFE
2552 #define CIGI4_PACKET_ID_HAT_HOT_RESPONSE 0x0FFF
2553 #define CIGI4_PACKET_ID_START_OF_FRAME 0xFFFF
2555 /* These locally defined values mean that perhaps a range_string
2556 * is more appropriate than a value_string.
2558 #define CIGI4_PACKET_ID_LOCALLY_DEFINED_MAX 0xFFFE
2559 #define CIGI4_PACKET_ID_LOCALLY_DEFINED_MIN 0x8000
2560 #define CIGI4_PACKET_ID_REGISTERED_MAX 0x7FFF
2561 #define CIGI4_PACKET_ID_REGISTERED_MIN 0x1000
2563 static const value_string cigi4_packet_id_vals
[] = {
2564 {CIGI4_PACKET_ID_IG_CONTROL
, "IG Control"},
2565 {CIGI4_PACKET_ID_ENTITY_POSITION
, "Entity Position"},
2566 {CIGI4_PACKET_ID_CONFORMAL_CLAMPED_ENTITY_POSITION
, "Conformal Clamped Entity Position"},
2567 {CIGI4_PACKET_ID_COMPONENT_CONTROL
, "Component Control"},
2568 {CIGI4_PACKET_ID_SHORT_COMPONENT_CONTROL
, "Short Component Control"},
2569 {CIGI4_PACKET_ID_ARTICULATED_PART_CONTROL
, "Articulated Part Control"},
2570 {CIGI4_PACKET_ID_SHORT_ARTICULATED_PART_CONTROL
, "Short Articulated Part Control"},
2571 {CIGI4_PACKET_ID_VELOCITY_CONTROL
, "Velocity Control"},
2572 {CIGI4_PACKET_ID_CELESTIAL_SPHERE_CONTROL
, "Celestial Sphere Control"},
2573 {CIGI4_PACKET_ID_ATMOSPHERE_CONTROL
, "Atmosphere Control"},
2574 {CIGI4_PACKET_ID_ENVIRONMENTAL_REGION_CONTROL
, "Environmental Region Control"},
2575 {CIGI4_PACKET_ID_WEATHER_CONTROL
, "Weather Control"},
2576 {CIGI4_PACKET_ID_MARITIME_SURFACE_CONDITIONS_CONTROL
, "Maritime Surface Conditions Control"},
2577 {CIGI4_PACKET_ID_WAVE_CONTROL
, "Wave Control"},
2578 {CIGI4_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL
, "Terrestrial Surface Conditions Control"},
2579 {CIGI4_PACKET_ID_VIEW_CONTROL
, "View Control"},
2580 {CIGI4_PACKET_ID_SENSOR_CONTROL
, "Sensor Control"},
2581 {CIGI4_PACKET_ID_MOTION_TRACKER_CONTROL
, "Motion Tracker Control"},
2582 {CIGI4_PACKET_ID_EARTH_REFERENCE_MODEL_DEFINITION
, "Earth Reference Model Definition"},
2583 {CIGI4_PACKET_ID_ACCELERATION_CONTROL
, "Acceleration Definition"},
2584 {CIGI4_PACKET_ID_VIEW_DEFINITION
, "View Definition"},
2585 {CIGI4_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION
, "Collision Detection Segment Definition"},
2586 {CIGI4_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION
, "Collision Detection Volume Definition"},
2587 {CIGI4_PACKET_ID_HAT_HOT_REQUEST
, "HAT/HOT Request"},
2588 {CIGI4_PACKET_ID_LINE_OF_SIGHT_SEGMENT_REQUEST
, "Line of Sight Segment Request"},
2589 {CIGI4_PACKET_ID_LINE_OF_SIGHT_VECTOR_REQUEST
, "Line of Sight Vector Request"},
2590 {CIGI4_PACKET_ID_POSITION_REQUEST
, "Position Request"},
2591 {CIGI4_PACKET_ID_ENVIRONMENTAL_CONDITIONS_REQUEST
, "Environmental Conditions Request"},
2592 {CIGI4_PACKET_ID_SYMBOL_SURFACE_DEFINITION
, "Symbol Surface Definition"},
2593 {CIGI4_PACKET_ID_SYMBOL_TEXT_DEFINITION
, "Symbol Text Definition"},
2594 {CIGI4_PACKET_ID_SYMBOL_CIRCLE_DEFINITION
, "Symbol Circle Definition"},
2595 {CIGI4_PACKET_ID_SYMBOL_POLYGON_DEFINITION
, "Symbol Polygon Definition"},
2596 {CIGI4_PACKET_ID_SYMBOL_CLONE
, "Symbol Clone"},
2597 {CIGI4_PACKET_ID_SYMBOL_CONTROL
, "Symbol Control"},
2598 {CIGI4_PACKET_ID_SHORT_SYMBOL_CONTROL
, "Short Symbol Control"},
2599 {CIGI4_PACKET_ID_SYMBOL_CIRCLE_TEXTURED_DEFINITION
, "Symbol Textured Circle Definition"},
2600 {CIGI4_PACKET_ID_SYMBOL_POLYGON_TEXTURED_DEFINITION
, "Symbol Textured Polygon Definition"},
2601 {CIGI4_PACKET_ID_ENTITY_CONTROL
, "Entity Control"},
2602 {CIGI4_PACKET_ID_ANIMATION_CONTROL
, "Animation Control"},
2604 {CIGI4_PACKET_ID_IMAGE_GENERATOR_MESSAGE
, "Image Generator Message"},
2605 {CIGI4_PACKET_ID_EVENT_NOTIFICATION
, "Event Notification"},
2606 {CIGI4_PACKET_ID_ANIMATION_STOP_NOTIFICATION
, "Animation Stop Notification"},
2607 {CIGI4_PACKET_ID_COLLISION_DETECTION_VOLUME_NOTIFICATION
, "Collision Detection Volume Notification"},
2608 {CIGI4_PACKET_ID_COLLISION_DETECTION_SEGMENT_NOTIFICATION
, "Collision Detection Segment Notification"},
2609 {CIGI4_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE
, "Terrestrial Surface Conditions Response"},
2610 {CIGI4_PACKET_ID_MARITIME_SURFACE_CONDITIONS_RESPONSE
, "Maritime Surface Conditions Response"},
2611 {CIGI4_PACKET_ID_AEROSOL_CONCENTRATION_RESPONSE
, "Aerosol Concentration Response"},
2612 {CIGI4_PACKET_ID_WEATHER_CONDITIONS_RESPONSE
, "Weather Conditions Response"},
2613 {CIGI4_PACKET_ID_POSITION_RESPONSE
, "Position Response"},
2614 {CIGI4_PACKET_ID_SENSOR_EXTENDED_RESPONSE
, "Sensor Extended Response"},
2615 {CIGI4_PACKET_ID_SENSOR_RESPONSE
, "Sensor Response"},
2616 {CIGI4_PACKET_ID_LINE_OF_SIGHT_EXTENDED_RESPONSE
, "Line of Sight Extended Response"},
2617 {CIGI4_PACKET_ID_LINE_OF_SIGHT_RESPONSE
, "Line of Sight Response"},
2618 {CIGI4_PACKET_ID_HAT_HOT_EXTENDED_RESPONSE
, "HAT/HOT Extended Response"},
2619 {CIGI4_PACKET_ID_HAT_HOT_RESPONSE
, "HAT/HOT Response"},
2620 {CIGI4_PACKET_ID_START_OF_FRAME
, "Start of Frame"},
2623 static value_string_ext cigi4_packet_id_vals_ext
= VALUE_STRING_EXT_INIT(cigi4_packet_id_vals
);
2626 /* CIGI4 IG Control */
2627 #define CIGI4_PACKET_SIZE_IG_CONTROL 24
2628 static int hf_cigi4_ig_control_flags
;
2629 static int hf_cigi4_ig_control_smoothing_enable
;
2630 static int hf_cigi4_ig_control_entity_substitution
;
2631 static int hf_cigi4_ig_control_entity_substitution_enable
;
2633 static int ett_cigi4_ig_control_flags
;
2634 static int ett_cigi4_ig_control_entity_substitution
;
2636 /* CIGI4 Entity Position */
2637 /* Subset of previous (CIGI3) Entity Control packet containing parameters
2638 * for entity position and attitude. */
2639 #define CIGI4_PACKET_SIZE_ENTITY_POSITION 48
2640 static int hf_cigi4_entity_position
;
2641 static int hf_cigi4_entity_position_entity_id
;
2642 static int hf_cigi4_entity_position_flags
;
2643 static int hf_cigi4_entity_position_attach_state
;
2644 static int hf_cigi4_entity_position_ground_ocean_clamp
;
2645 static int hf_cigi4_entity_position_parent_id
;
2646 static int hf_cigi4_entity_position_roll
;
2647 static int hf_cigi4_entity_position_pitch
;
2648 static int hf_cigi4_entity_position_yaw
;
2649 static int hf_cigi4_entity_position_lat_xoff
;
2650 static int hf_cigi4_entity_position_lon_yoff
;
2651 static int hf_cigi4_entity_position_alt_zoff
;
2653 static int ett_cigi4_entity_position_flags
;
2655 /* CIGI Conformal Clamped Entity Position */
2656 /* Conformal Clamped Entity Control packet renamed. */
2657 #define CIGI4_PACKET_SIZE_CONFORMAL_CLAMPED_ENTITY_POSITION 32
2658 static int hf_cigi4_conformal_clamped_entity_position
;
2659 static int hf_cigi4_conformal_clamped_entity_position_entity_id
;
2660 static int hf_cigi4_conformal_clamped_entity_position_yaw
;
2661 static int hf_cigi4_conformal_clamped_entity_position_lat
;
2662 static int hf_cigi4_conformal_clamped_entity_position_lon
;
2664 #define CIGI4_PACKET_SIZE_COMPONENT_CONTROL 40
2666 #define CIGI4_PACKET_SIZE_SHORT_COMPONENT_CONTROL 24
2668 static const value_string cigi4_entity_control_ground_ocean_clamp_vals
[] = {
2670 {1, "Non-Conformal"},
2675 /* CIGI4 Start of Frame*/
2676 #define CIGI4_PACKET_SIZE_START_OF_FRAME 24
2677 static int hf_cigi4_start_of_frame
;
2678 static int hf_cigi4_start_of_frame_db_number
;
2679 static int hf_cigi4_start_of_frame_ig_status
;
2680 static int hf_cigi4_start_of_frame_flags
;
2681 static int hf_cigi4_start_of_frame_ig_mode
;
2682 static int hf_cigi4_start_of_frame_timestamp_valid
;
2683 static int hf_cigi4_start_of_frame_earth_reference_model
;
2684 static int hf_cigi4_start_of_frame_minor_version
;
2685 static int hf_cigi4_start_of_frame_ig_frame_number
;
2686 static int hf_cigi4_start_of_frame_timestamp
;
2687 static int hf_cigi4_start_of_frame_ig_condition_flags
;
2688 static int hf_cigi4_start_of_frame_last_host_frame_number
;
2689 static int hf_cigi4_start_of_frame_condition_overframing
;
2690 static int hf_cigi4_start_of_frame_condition_paging
;
2691 static int hf_cigi4_start_of_frame_condition_excessive_variable_length_data
;
2693 static int ett_cigi4_start_of_frame_flags
;
2694 static int ett_cigi4_start_of_frame_ig_condition_flags
;
2698 static const true_false_string cigi4_entity_control_animation_direction_tfs = {
2703 static const true_false_string cigi4_entity_control_animation_loop_mode_tfs = {
2708 static const value_string cigi4_entity_control_animation_state_vals[] = {
2718 /* Global preferences */
2719 #define CIGI_VERSION_FROM_PACKET 0
2720 #define CIGI_VERSION_1 1
2721 #define CIGI_VERSION_2 2
2722 #define CIGI_VERSION_3 3
2723 #define CIGI_VERSION_4 4
2725 #define CIGI_VERSION_4_IGC 0
2726 #define CIGI_VERSION_4_SOF 0xFF
2727 /* CIIG Standard Version 4, 4.5 Message Structure: "The special Packet IDs
2728 * assigned to the IG Control and Start of Frame packets permit a multi-version
2729 * CIGI parser to differentiate between the old and new message structure as
2730 * both 0h and FFh are unknown CIGI major version numbers."
2733 static int global_cigi_version
= CIGI_VERSION_FROM_PACKET
;
2735 #define CIGI_BYTE_ORDER_FROM_PACKET -1
2736 #define CIGI_BYTE_ORDER_BIG_ENDIAN 0
2737 #define CIGI_BYTE_ORDER_LITTLE_ENDIAN 1
2739 static int global_cigi_byte_order
= CIGI_BYTE_ORDER_FROM_PACKET
;
2741 static const char *global_host_ip
;
2742 static const char *global_ig_ip
;
2745 /* Initialize the subtree pointers */
2746 static int ett_cigi
;
2748 /* The version of cigi to use */
2749 static int cigi_version
;
2750 static int cigi_minor_version
;
2752 /* The byte order of cigi to use; our default is big-endian */
2753 static int cigi_byte_order
= ENC_BIG_ENDIAN
;
2756 * Extract a 16-bit fixed-point value and convert it to a float.
2759 cigi_get_fixed_point(tvbuff_t
*tvb
, int offset
, const unsigned encoding
)
2761 int16_t fixed
= tvb_get_uint16(tvb
, offset
, encoding
);
2762 return fixed
/ 128.0F
;
2766 * Check whether this looks like a CIGI packet or not.
2769 packet_is_cigi(tvbuff_t
*tvb
)
2772 uint16_t packet_size
;
2773 uint8_t cigi_version_local
;
2779 if (tvb_captured_length(tvb
) < 3) {
2780 /* Not enough data available to check */
2784 packet_id
= tvb_get_uint8(tvb
, 0);
2785 packet_size
= tvb_get_uint8(tvb
, 1);
2786 cigi_version_local
= tvb_get_uint8(tvb
, 2);
2787 switch ( cigi_version_local
) {
2789 case CIGI_VERSION_1
:
2790 /* CIGI 1 requires that the first packet is always the IG Control or SOF */
2791 switch ( packet_id
) {
2793 if ( packet_size
!= 16 ) {
2797 if (!tvb_bytes_exist(tvb
, 4, 1)) {
2798 /* Not enough data available to check */
2801 ig_mode
= (tvb_get_uint8(tvb
, 4) & 0xc0) >> 6;
2802 if ( ig_mode
> 2 ) {
2807 if ( packet_size
!= 12 ) {
2816 case CIGI_VERSION_2
:
2817 /* CIGI 2 requires that the first packet is always the IG Control or SOF */
2818 switch ( packet_id
) {
2819 case CIGI2_PACKET_ID_IG_CONTROL
:
2820 if ( packet_size
!= CIGI2_PACKET_SIZE_IG_CONTROL
) {
2824 if (!tvb_bytes_exist(tvb
, 4, 1)) {
2825 /* Not enough data available to check */
2828 ig_mode
= (tvb_get_uint8(tvb
, 4) & 0xc0) >> 6;
2829 if ( ig_mode
> 2 ) {
2833 case CIGI2_PACKET_ID_START_OF_FRAME
:
2834 if ( packet_size
!= CIGI2_PACKET_SIZE_START_OF_FRAME
) {
2843 case CIGI_VERSION_3
:
2844 if (!tvb_bytes_exist(tvb
, 6, 1)) {
2845 /* Not enough data available to check byte swap field */
2849 /* CIGI 3 requires that the first packet is always the IG Control or SOF */
2850 switch ( packet_id
) {
2851 case CIGI3_PACKET_ID_IG_CONTROL
:
2852 if ( packet_size
!= CIGI3_PACKET_SIZE_IG_CONTROL
) {
2853 if ( packet_size
!= CIGI3_2_PACKET_SIZE_IG_CONTROL
) {
2858 if (!tvb_bytes_exist(tvb
, 4, 2)) {
2859 /* Not enough data available to check */
2863 ig_mode
= (tvb_get_uint8(tvb
, 4) & 0x03);
2864 if ( ig_mode
> 2 ) {
2869 case CIGI3_PACKET_ID_START_OF_FRAME
:
2870 if ( packet_size
!= CIGI3_PACKET_SIZE_START_OF_FRAME
) {
2871 if ( packet_size
!= CIGI3_2_PACKET_SIZE_START_OF_FRAME
) {
2876 if (!tvb_bytes_exist(tvb
, 5, 1)) {
2877 /* Not enough data available to check */
2886 /* CIGI 3 has the byte swap field which only allows two values. */
2887 byte_swap
= tvb_get_ntohs(tvb
, 6);
2889 if ( byte_swap
!= CIGI3_BYTE_SWAP_BIG_ENDIAN
&& byte_swap
!= CIGI3_BYTE_SWAP_LITTLE_ENDIAN
) {
2894 case CIGI_VERSION_4_IGC
:
2895 case CIGI_VERSION_4_SOF
:
2896 /* CIGI 4 introduces a 4 byte header, with 16-bit packet size
2897 * and packet ID (yes, they're in the opposite order of the
2898 * previous versions; now packet size comes first). The version
2899 * number is now located in the fifth byte. Since the first packet
2900 * is required to be the IG Control or SOF, the third byte must be
2901 * 0x00 or 0xFF, regardless of endianness.
2903 if (!tvb_bytes_exist(tvb
, 4, 1)) {
2904 /* Not enough data available to check */
2907 //test if it's CIGI version 4
2908 if (tvb_get_uint8(tvb
, 4) != CIGI_VERSION_4
)
2911 /* CIGI 4 requires that the first packet is always the IG Control or SOF */
2913 //PacketSize If the parser detects a zero in the "leftmost" byte, then the message is in Big Endian byte
2914 if (packet_id
== 0) {
2916 packet_size
= tvb_get_uint16(tvb
, 0, ENC_BIG_ENDIAN
);
2917 packet_id
= tvb_get_uint16(tvb
, 2, ENC_BIG_ENDIAN
);
2918 } else if (packet_size
== 0) {
2920 packet_size
= tvb_get_uint16(tvb
, 0, ENC_LITTLE_ENDIAN
);
2921 packet_id
= tvb_get_uint16(tvb
, 2, ENC_LITTLE_ENDIAN
);
2926 switch (packet_id
) {
2927 case CIGI4_PACKET_ID_IG_CONTROL
:
2928 if (packet_size
!= CIGI4_PACKET_SIZE_IG_CONTROL
) {
2932 if (!tvb_bytes_exist(tvb
, 7, 2)) {
2933 /* Not enough data available to check */
2937 ig_mode
= (tvb_get_uint8(tvb
, 7) & 0x03);
2943 case CIGI4_PACKET_ID_START_OF_FRAME
:
2944 if (packet_size
!= CIGI4_PACKET_SIZE_START_OF_FRAME
) {
2956 /* Check that the frame contains at least the first PDU's worth
2957 * of data. (We can't check this until we know the CIGI version
2958 * because CIGI version 4 stores the packet size differently.)
2960 if ( packet_size
> tvb_reported_length(tvb
) ) {
2964 /* If we made it here, then this is probably CIGI */
2969 * The heuristic dissector
2972 dissect_cigi_heur(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
2974 /* Does this look like CIGI? */
2975 if ( !packet_is_cigi(tvb
) ) {
2978 dissect_cigi_pdu(tvb
, pinfo
, tree
);
2983 * The non-heuristic dissector.
2986 dissect_cigi(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
2988 /* Make sure this looks like CIGI */
2989 if ( !packet_is_cigi(tvb
) ) {
2992 dissect_cigi_pdu(tvb
, pinfo
, tree
);
2993 /* We probably ate the entire packet. */
2994 return tvb_reported_length(tvb
);
2997 /* Code to actually dissect the CIGI packets */
2999 dissect_cigi_pdu(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
)
3001 /* Set up structures needed to add the protocol subtree and manage it */
3002 uint16_t packet_id
= 0;
3004 proto_item
*ti
, *hidden_item
;
3005 proto_tree
*cigi_tree
;
3007 const char* src_str
;
3008 const char* dest_str
;
3011 if ((tvb_get_ntohs(tvb
, 0) & 0xFF00) == 0) {
3012 packet_id
= tvb_get_uint16(tvb
, 2, ENC_BIG_ENDIAN
); //packet_id is not at the same location
3015 packet_id
= tvb_get_uint16(tvb
, 2, ENC_LITTLE_ENDIAN
);
3018 /* Make entries in Protocol column and Info column on summary display */
3019 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "CIGI");
3021 /* If we have the start of frame or IG Control packet set the version
3022 * XXX - If another version of cigi is added to this dissector be sure to
3023 * place the IG Control and SOF packet id's in this comparison. */
3024 if ( ( packet_id
== CIGI2_PACKET_ID_IG_CONTROL
|| packet_id
== CIGI2_PACKET_ID_START_OF_FRAME
|| packet_id
== CIGI3_PACKET_ID_IG_CONTROL
|| packet_id
== CIGI3_PACKET_ID_START_OF_FRAME
) && global_cigi_version
== CIGI_VERSION_FROM_PACKET
) {
3025 cigi_version
= tvb_get_uint8(tvb
, 2);
3027 else if ((packet_id
== CIGI4_PACKET_ID_IG_CONTROL
|| packet_id
== CIGI4_PACKET_ID_START_OF_FRAME
) && global_cigi_version
== CIGI_VERSION_FROM_PACKET
) {
3028 cigi_version
= tvb_get_uint8(tvb
, 4);
3031 /* Format the Info String */
3032 src_str
= address_to_str(pinfo
->pool
, &pinfo
->src
);
3033 if ( !g_ascii_strcasecmp(global_host_ip
, src_str
) ) {
3035 } else if ( !g_ascii_strcasecmp(global_ig_ip
, src_str
) ) {
3039 dest_str
= address_to_str(pinfo
->pool
, &pinfo
->dst
);
3040 if ( !g_ascii_strcasecmp(global_host_ip
, dest_str
) ) {
3042 } else if ( !g_ascii_strcasecmp(global_ig_ip
, dest_str
) ) {
3046 col_add_fstr(pinfo
->cinfo
, COL_INFO
, "%s => %s (%u bytes)", src_str
, dest_str
,
3047 tvb_reported_length(tvb
));
3051 ti
= proto_tree_add_protocol_format(tree
, proto_cigi
, tvb
, 0, tvb_reported_length(tvb
), "Common Image Generator Interface (%i), %s => %s (%u bytes)",
3052 cigi_version
, src_str
, dest_str
, tvb_reported_length(tvb
));
3054 cigi_tree
= proto_item_add_subtree(ti
, ett_cigi
);
3057 hidden_item
= proto_tree_add_uint(cigi_tree
, hf_cigi_src_port
, tvb
, 0, 0, pinfo
->srcport
);
3058 proto_item_set_hidden(hidden_item
);
3059 hidden_item
= proto_tree_add_uint(cigi_tree
, hf_cigi_dest_port
, tvb
, 0, 0, pinfo
->destport
);
3060 proto_item_set_hidden(hidden_item
);
3061 hidden_item
= proto_tree_add_uint(cigi_tree
, hf_cigi_port
, tvb
, 0, 0, pinfo
->srcport
);
3062 proto_item_set_hidden(hidden_item
);
3063 hidden_item
= proto_tree_add_uint(cigi_tree
, hf_cigi_port
, tvb
, 0, 0, pinfo
->destport
);
3064 proto_item_set_hidden(hidden_item
);
3067 hidden_item
= proto_tree_add_uint(cigi_tree
, hf_cigi_frame_size
, tvb
, 0, 0, tvb_reported_length(tvb
));
3068 proto_item_set_hidden(hidden_item
);
3070 /* Since the versions of CIGI are not backwards compatible,
3071 * dissection is different for each version.
3072 * XXX - If another version of cigi is added to this dissector be
3073 * sure to place the version in this statement.*/
3074 if ( cigi_version
== CIGI_VERSION_2
) {
3075 cigi2_add_tree(tvb
, pinfo
, cigi_tree
);
3076 } else if ( cigi_version
== CIGI_VERSION_3
) {
3077 cigi3_add_tree(tvb
, pinfo
, cigi_tree
);
3078 } else if ( cigi_version
== CIGI_VERSION_4
) {
3079 cigi4_add_tree(tvb
, pinfo
, cigi_tree
);
3081 /* Since there exists no dissector to dissect this version
3082 * just put the data into a tree using an unknown version */
3083 cigi_add_tree(tvb
, cigi_tree
);
3088 /* Create the tree for CIGI (Unknown Version)
3089 * Note: If we have no version then we assume network order bytes (big endian). */
3091 cigi_add_tree(tvbuff_t
*tvb
, proto_tree
*cigi_tree
)
3096 int packet_size
= 0;
3099 proto_tree
* cigi_packet_tree
= NULL
;
3100 proto_item
* tipacket
;
3102 length
= tvb_reported_length(tvb
);
3104 /* Each iteration through this loop is meant to be a separate cigi packet
3105 * therefore it is okay to assume that at the top of this look we are given
3106 * a new packet to dissect. */
3107 while ( offset
< length
) {
3109 packet_id
= tvb_get_uint8(tvb
, offset
);
3110 packet_size
= tvb_get_uint8(tvb
, offset
+ 1);
3111 data_size
= packet_size
;
3113 /* a cigi packet must be at least 2 bytes long
3114 ( 1 - packet_id; 2 - packet_size ) */
3115 if ( packet_size
< 2 )
3118 /* If we have the start of frame or IG Control packet set the version.
3119 * Since we have no cigi version we assume that packet id 1 is the
3120 * IG Control and packet id 101 is the Start of Frame. */
3121 if ( ( packet_id
== 1 || packet_id
== 101 ) && global_cigi_version
== CIGI_VERSION_FROM_PACKET
) {
3122 cigi_version
= tvb_get_uint8(tvb
, 2);
3125 /* Add the subtree for the packet */
3126 tipacket
= proto_tree_add_none_format(cigi_tree
, hf_cigi_unknown
, tvb
, offset
, packet_size
, "Unknown (%i bytes)", packet_size
);
3128 cigi_packet_tree
= proto_item_add_subtree(tipacket
, ett_cigi
);
3130 /* In all CIGI versions the first byte of a packet is the packet ID.
3131 * The second byte is the size of the packet (in bytes). */
3132 proto_tree_add_item(cigi_packet_tree
, hf_cigi_packet_id
, tvb
, offset
, 1, cigi_byte_order
);
3136 proto_tree_add_item(cigi_packet_tree
, hf_cigi_packet_size
, tvb
, offset
, 1, cigi_byte_order
);
3140 /* If the packet ID is for the SOF or IG Control, which are usually 101
3141 * and 1 respectively then also print the version that we are using. */
3142 if ( packet_id
== 1 || packet_id
== 101 ) {
3143 proto_tree_add_item(cigi_packet_tree
, hf_cigi_version
, tvb
, offset
, 1, cigi_byte_order
);
3148 proto_tree_add_item(cigi_packet_tree
, hf_cigi_data
, tvb
, offset
, data_size
, ENC_NA
);
3149 offset
+= data_size
;
3154 /* offset is the position past the packet_id and packet_size.
3155 * tvb should be trimmed to the appropriate size with e.g.
3156 * tvb_new_subset_length(). */
3158 cigi_add_data(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
3160 /* Note: CIGI 4 uses a 4 byte packet header (2 byte packet ID
3161 * and 2 byte packet size), so we cannot inspect previous bytes in
3162 * order to use this as a common function. */
3163 int packet_size
= tvb_reported_length_remaining(tvb
, offset
);
3164 proto_tree_add_item(tree
, hf_cigi_data
, tvb
, offset
, packet_size
, ENC_NA
);
3165 offset
+= packet_size
;
3170 /* Create the tree for CIGI 2
3171 * Note: CIGI 2 guarantee's that the byte order will be big endian. */
3173 cigi2_add_tree(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*cigi_tree
)
3177 int init_offset
= 0;
3180 int packet_size
= 0;
3181 int packet_length
= 0;
3183 proto_tree
* cigi_packet_tree
= NULL
;
3184 proto_item
* tipacket
, *ti
;
3186 int hf_cigi2_packet
;
3188 length
= tvb_reported_length(tvb
);
3190 /* Each iteration through this loop is meant to be a separate cigi packet
3191 * therefore it is okay to assume that at the top of this look we are given
3192 * a new packet to dissect. */
3193 while ( offset
< length
) {
3195 packet_id
= tvb_get_uint8(tvb
, offset
);
3196 packet_size
= tvb_get_uint8(tvb
, offset
+ 1);
3198 /* If we have the start of frame or IG Control packet set the version */
3199 if ( ( packet_id
== CIGI2_PACKET_ID_IG_CONTROL
|| packet_id
== CIGI2_PACKET_ID_START_OF_FRAME
) && global_cigi_version
== CIGI_VERSION_FROM_PACKET
) {
3200 cigi_version
= tvb_get_uint8(tvb
, 2);
3203 /* Add the subtree for the packet */
3204 if ( packet_id
== CIGI2_PACKET_ID_IG_CONTROL
) {
3205 hf_cigi2_packet
= hf_cigi2_ig_control
;
3206 packet_length
= CIGI2_PACKET_SIZE_IG_CONTROL
;
3207 } else if ( packet_id
== CIGI2_PACKET_ID_ENTITY_CONTROL
) {
3208 hf_cigi2_packet
= hf_cigi2_entity_control
;
3209 packet_length
= CIGI2_PACKET_SIZE_ENTITY_CONTROL
;
3210 } else if ( packet_id
== CIGI2_PACKET_ID_COMPONENT_CONTROL
) {
3211 hf_cigi2_packet
= hf_cigi2_component_control
;
3212 packet_length
= CIGI2_PACKET_SIZE_COMPONENT_CONTROL
;
3213 } else if ( packet_id
== CIGI2_PACKET_ID_ARTICULATED_PARTS_CONTROL
) {
3214 hf_cigi2_packet
= hf_cigi2_articulated_parts_control
;
3215 packet_length
= CIGI2_PACKET_SIZE_ARTICULATED_PARTS_CONTROL
;
3216 } else if ( packet_id
== CIGI2_PACKET_ID_RATE_CONTROL
) {
3217 hf_cigi2_packet
= hf_cigi2_rate_control
;
3218 packet_length
= CIGI2_PACKET_SIZE_RATE_CONTROL
;
3219 } else if ( packet_id
== CIGI2_PACKET_ID_ENVIRONMENT_CONTROL
) {
3220 hf_cigi2_packet
= hf_cigi2_environment_control
;
3221 packet_length
= CIGI2_PACKET_SIZE_ENVIRONMENT_CONTROL
;
3222 } else if ( packet_id
== CIGI2_PACKET_ID_WEATHER_CONTROL
) {
3223 hf_cigi2_packet
= hf_cigi2_weather_control
;
3224 packet_length
= CIGI2_PACKET_SIZE_WEATHER_CONTROL
;
3225 } else if ( packet_id
== CIGI2_PACKET_ID_VIEW_CONTROL
) {
3226 hf_cigi2_packet
= hf_cigi2_view_control
;
3227 packet_length
= CIGI2_PACKET_SIZE_VIEW_CONTROL
;
3228 } else if ( packet_id
== CIGI2_PACKET_ID_SENSOR_CONTROL
) {
3229 hf_cigi2_packet
= hf_cigi2_sensor_control
;
3230 packet_length
= CIGI2_PACKET_SIZE_SENSOR_CONTROL
;
3231 } else if ( packet_id
== CIGI2_PACKET_ID_TRAJECTORY_DEFINITION
) {
3232 hf_cigi2_packet
= hf_cigi2_trajectory_definition
;
3233 packet_length
= CIGI2_PACKET_SIZE_TRAJECTORY_DEFINITION
;
3234 } else if ( packet_id
== CIGI2_PACKET_ID_SPECIAL_EFFECT_DEFINITION
) {
3235 hf_cigi2_packet
= hf_cigi2_special_effect_definition
;
3236 packet_length
= CIGI2_PACKET_SIZE_SPECIAL_EFFECT_DEFINITION
;
3237 } else if ( packet_id
== CIGI2_PACKET_ID_VIEW_DEFINITION
) {
3238 hf_cigi2_packet
= hf_cigi2_view_definition
;
3239 packet_length
= CIGI2_PACKET_SIZE_VIEW_DEFINITION
;
3240 } else if ( packet_id
== CIGI2_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION
) {
3241 hf_cigi2_packet
= hf_cigi2_collision_detection_segment_definition
;
3242 packet_length
= CIGI2_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_DEFINITION
;
3243 } else if ( packet_id
== CIGI2_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION
) {
3244 hf_cigi2_packet
= hf_cigi2_collision_detection_volume_definition
;
3245 packet_length
= CIGI2_PACKET_SIZE_COLLISION_DETECTION_VOLUME_DEFINITION
;
3246 } else if ( packet_id
== CIGI2_PACKET_ID_HEIGHT_ABOVE_TERRAIN_REQUEST
) {
3247 hf_cigi2_packet
= hf_cigi2_height_above_terrain_request
;
3248 packet_length
= CIGI2_PACKET_SIZE_HEIGHT_ABOVE_TERRAIN_REQUEST
;
3249 } else if ( packet_id
== CIGI2_PACKET_ID_LINE_OF_SIGHT_OCCULT_REQUEST
) {
3250 hf_cigi2_packet
= hf_cigi2_line_of_sight_occult_request
;
3251 packet_length
= CIGI2_PACKET_SIZE_LINE_OF_SIGHT_OCCULT_REQUEST
;
3252 } else if ( packet_id
== CIGI2_PACKET_ID_LINE_OF_SIGHT_RANGE_REQUEST
) {
3253 hf_cigi2_packet
= hf_cigi2_line_of_sight_range_request
;
3254 packet_length
= CIGI2_PACKET_SIZE_LINE_OF_SIGHT_RANGE_REQUEST
;
3255 } else if ( packet_id
== CIGI2_PACKET_ID_HEIGHT_OF_TERRAIN_REQUEST
) {
3256 hf_cigi2_packet
= hf_cigi2_height_of_terrain_request
;
3257 packet_length
= CIGI2_PACKET_SIZE_HEIGHT_OF_TERRAIN_REQUEST
;
3258 } else if ( packet_id
== CIGI2_PACKET_ID_START_OF_FRAME
) {
3259 hf_cigi2_packet
= hf_cigi2_start_of_frame
;
3260 packet_length
= CIGI2_PACKET_SIZE_START_OF_FRAME
;
3261 } else if ( packet_id
== CIGI2_PACKET_ID_HEIGHT_ABOVE_TERRAIN_RESPONSE
) {
3262 hf_cigi2_packet
= hf_cigi2_height_above_terrain_response
;
3263 packet_length
= CIGI2_PACKET_SIZE_HEIGHT_ABOVE_TERRAIN_RESPONSE
;
3264 } else if ( packet_id
== CIGI2_PACKET_ID_LINE_OF_SIGHT_RESPONSE
) {
3265 hf_cigi2_packet
= hf_cigi2_line_of_sight_response
;
3266 packet_length
= CIGI2_PACKET_SIZE_LINE_OF_SIGHT_RESPONSE
;
3267 } else if ( packet_id
== CIGI2_PACKET_ID_COLLISION_DETECTION_SEGMENT_RESPONSE
) {
3268 hf_cigi2_packet
= hf_cigi2_collision_detection_segment_response
;
3269 packet_length
= CIGI2_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_RESPONSE
;
3270 } else if ( packet_id
== CIGI2_PACKET_ID_SENSOR_RESPONSE
) {
3271 hf_cigi2_packet
= hf_cigi2_sensor_response
;
3272 packet_length
= CIGI2_PACKET_SIZE_SENSOR_RESPONSE
;
3273 } else if ( packet_id
== CIGI2_PACKET_ID_HEIGHT_OF_TERRAIN_RESPONSE
) {
3274 hf_cigi2_packet
= hf_cigi2_height_of_terrain_response
;
3275 packet_length
= CIGI2_PACKET_SIZE_HEIGHT_OF_TERRAIN_RESPONSE
;
3276 } else if ( packet_id
== CIGI2_PACKET_ID_COLLISION_DETECTION_VOLUME_RESPONSE
) {
3277 hf_cigi2_packet
= hf_cigi2_collision_detection_volume_response
;
3278 packet_length
= CIGI2_PACKET_SIZE_COLLISION_DETECTION_VOLUME_RESPONSE
;
3279 } else if ( packet_id
== CIGI2_PACKET_ID_IMAGE_GENERATOR_MESSAGE
) {
3280 hf_cigi2_packet
= hf_cigi2_image_generator_message
;
3281 packet_length
= packet_size
;
3282 } else if ( packet_id
>= CIGI2_PACKET_ID_USER_DEFINABLE_MIN
&& packet_id
<= CIGI2_PACKET_ID_USER_DEFINABLE_MAX
) {
3283 hf_cigi2_packet
= hf_cigi2_user_definable
;
3284 packet_length
= packet_size
;
3286 hf_cigi2_packet
= hf_cigi_unknown
;
3287 packet_length
= packet_size
;
3289 tipacket
= proto_tree_add_none_format(cigi_tree
, hf_cigi2_packet
, tvb
, offset
, packet_length
,
3291 val_to_str_ext_const(packet_id
, &cigi2_packet_id_vals_ext
, "Unknown"),
3294 cigi_packet_tree
= proto_item_add_subtree(tipacket
, ett_cigi
);
3296 /* In CIGI versions < 4 the first byte of a packet is the packet ID.
3297 * The second byte is the size of the packet (in bytes). */
3298 init_offset
= offset
;
3299 proto_tree_add_item(cigi_packet_tree
, hf_cigi2_packet_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3302 ti
= proto_tree_add_item(cigi_packet_tree
, hf_cigi_packet_size
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3303 if (packet_size
< 2) {
3304 expert_add_info(pinfo
, ti
, &ei_cigi_invalid_len
);
3308 /* If packet_size != packet_len for the fixed size packet IDs, attempt
3309 * to dissect normally then add an expert info and abort afterwards below. */
3310 next_tvb
= tvb_new_subset_length(tvb
, offset
, packet_size
- 2);
3314 case CIGI2_PACKET_ID_IG_CONTROL
:
3315 offset
= cigi2_add_ig_control(tvb
, cigi_packet_tree
, offset
);
3317 case CIGI2_PACKET_ID_ENTITY_CONTROL
:
3318 offset
= cigi2_add_entity_control(tvb
, cigi_packet_tree
, offset
);
3320 case CIGI2_PACKET_ID_COMPONENT_CONTROL
:
3321 offset
= cigi2_add_component_control(tvb
, cigi_packet_tree
, offset
);
3323 case CIGI2_PACKET_ID_ARTICULATED_PARTS_CONTROL
:
3324 offset
= cigi2_add_articulated_parts_control(tvb
, cigi_packet_tree
, offset
);
3326 case CIGI2_PACKET_ID_RATE_CONTROL
:
3327 offset
= cigi2_add_rate_control(tvb
, cigi_packet_tree
, offset
);
3329 case CIGI2_PACKET_ID_ENVIRONMENT_CONTROL
:
3330 offset
= cigi2_add_environment_control(tvb
, cigi_packet_tree
, offset
);
3332 case CIGI2_PACKET_ID_WEATHER_CONTROL
:
3333 offset
= cigi2_add_weather_control(tvb
, cigi_packet_tree
, offset
);
3335 case CIGI2_PACKET_ID_VIEW_CONTROL
:
3336 offset
= cigi2_add_view_control(tvb
, cigi_packet_tree
, offset
);
3338 case CIGI2_PACKET_ID_SENSOR_CONTROL
:
3339 offset
= cigi2_add_sensor_control(tvb
, cigi_packet_tree
, offset
);
3341 case CIGI2_PACKET_ID_TRAJECTORY_DEFINITION
:
3342 offset
= cigi2_add_trajectory_definition(tvb
, cigi_packet_tree
, offset
);
3344 case CIGI2_PACKET_ID_SPECIAL_EFFECT_DEFINITION
:
3345 offset
= cigi2_add_special_effect_definition(tvb
, cigi_packet_tree
, offset
);
3347 case CIGI2_PACKET_ID_VIEW_DEFINITION
:
3348 offset
= cigi2_add_view_definition(tvb
, cigi_packet_tree
, offset
);
3350 case CIGI2_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION
:
3351 offset
= cigi2_add_collision_detection_segment_definition(tvb
, cigi_packet_tree
, offset
);
3353 case CIGI2_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION
:
3354 offset
= cigi2_add_collision_detection_volume_definition(tvb
, cigi_packet_tree
, offset
);
3356 case CIGI2_PACKET_ID_HEIGHT_ABOVE_TERRAIN_REQUEST
:
3357 offset
= cigi2_add_height_above_terrain_request(tvb
, cigi_packet_tree
, offset
);
3359 case CIGI2_PACKET_ID_LINE_OF_SIGHT_OCCULT_REQUEST
:
3360 offset
= cigi2_add_line_of_sight_occult_request(tvb
, cigi_packet_tree
, offset
);
3362 case CIGI2_PACKET_ID_LINE_OF_SIGHT_RANGE_REQUEST
:
3363 offset
= cigi2_add_line_of_sight_range_request(tvb
, cigi_packet_tree
, offset
);
3365 case CIGI2_PACKET_ID_HEIGHT_OF_TERRAIN_REQUEST
:
3366 offset
= cigi2_add_height_of_terrain_request(tvb
, cigi_packet_tree
, offset
);
3368 case CIGI2_PACKET_ID_START_OF_FRAME
:
3369 offset
= cigi2_add_start_of_frame(tvb
, cigi_packet_tree
, offset
);
3371 case CIGI2_PACKET_ID_HEIGHT_ABOVE_TERRAIN_RESPONSE
:
3372 offset
= cigi2_add_height_above_terrain_response(tvb
, cigi_packet_tree
, offset
);
3374 case CIGI2_PACKET_ID_LINE_OF_SIGHT_RESPONSE
:
3375 offset
= cigi2_add_line_of_sight_response(tvb
, cigi_packet_tree
, offset
);
3377 case CIGI2_PACKET_ID_COLLISION_DETECTION_SEGMENT_RESPONSE
:
3378 offset
= cigi2_add_collision_detection_segment_response(tvb
, cigi_packet_tree
, offset
);
3380 case CIGI2_PACKET_ID_SENSOR_RESPONSE
:
3381 offset
= cigi2_add_sensor_response(tvb
, cigi_packet_tree
, offset
);
3383 case CIGI2_PACKET_ID_HEIGHT_OF_TERRAIN_RESPONSE
:
3384 offset
= cigi2_add_height_of_terrain_response(tvb
, cigi_packet_tree
, offset
);
3386 case CIGI2_PACKET_ID_COLLISION_DETECTION_VOLUME_RESPONSE
:
3387 offset
= cigi2_add_collision_detection_volume_response(tvb
, cigi_packet_tree
, offset
);
3389 case CIGI2_PACKET_ID_IMAGE_GENERATOR_MESSAGE
:
3390 offset
= cigi2_add_image_generator_message(tvb
, cigi_packet_tree
, offset
);
3393 offset
= cigi_add_data(next_tvb
, cigi_packet_tree
, 0);
3397 if (offset
-init_offset
!= packet_length
) {
3398 proto_tree_add_expert(cigi_packet_tree
, pinfo
, &ei_cigi_invalid_len
, tvb
, init_offset
, offset
-init_offset
);
3404 /* Create the tree for CIGI 3 */
3406 cigi3_add_tree(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*cigi_tree
)
3410 int init_offset
= 0;
3413 int packet_size
= 0;
3414 int packet_length
= 0;
3415 uint16_t byte_swap
= 0;
3417 proto_tree
* cigi_packet_tree
= NULL
;
3418 proto_item
* tipacket
, *ti
;
3420 int hf_cigi3_packet
;
3422 length
= tvb_reported_length(tvb
);
3424 /* Each iteration through this loop is meant to be a separate cigi packet
3425 * therefore it is okay to assume that at the top of this look we are given
3426 * a new packet to dissect. */
3427 while ( offset
< length
) {
3429 packet_id
= tvb_get_uint8(tvb
, offset
);
3430 packet_size
= tvb_get_uint8(tvb
, offset
+ 1);
3431 byte_swap
= tvb_get_ntohs(tvb
, offset
+ 6);
3433 /* If we have the start of frame or IG Control packet set the version */
3434 if ( ( packet_id
== CIGI3_PACKET_ID_IG_CONTROL
|| packet_id
== CIGI3_PACKET_ID_START_OF_FRAME
) && global_cigi_version
== CIGI_VERSION_FROM_PACKET
) {
3435 cigi_version
= tvb_get_uint8(tvb
, 2);
3437 /* CIGI Minor Version first appeared in CIGI 3.2. Note: It is in a
3438 * different location in IG Control vs Start of Frame. */
3439 if ( packet_size
== CIGI3_2_PACKET_SIZE_IG_CONTROL
&& packet_id
== CIGI3_PACKET_ID_IG_CONTROL
) {
3440 cigi_minor_version
= tvb_get_uint8(tvb
, 4) >> 4;
3441 } else if ( packet_size
== CIGI3_2_PACKET_SIZE_START_OF_FRAME
&& packet_id
== CIGI3_PACKET_ID_START_OF_FRAME
) {
3442 cigi_minor_version
= tvb_get_uint8(tvb
, 5) >> 4;
3444 /* CIGI version prior to 3.2 */
3445 cigi_minor_version
= 0;
3449 /* If we have the SOF or IG Control packet set the byte order */
3450 if ( ( packet_id
== CIGI3_PACKET_ID_IG_CONTROL
|| packet_id
== CIGI3_PACKET_ID_START_OF_FRAME
) && global_cigi_byte_order
== CIGI_BYTE_ORDER_FROM_PACKET
) {
3451 if ( byte_swap
== CIGI3_BYTE_SWAP_BIG_ENDIAN
) {
3452 cigi_byte_order
= ENC_BIG_ENDIAN
;
3453 } else if ( byte_swap
== CIGI3_BYTE_SWAP_LITTLE_ENDIAN
) {
3454 cigi_byte_order
= ENC_LITTLE_ENDIAN
;
3456 /* Assume we want Big-Endian byte order */
3457 cigi_byte_order
= ENC_BIG_ENDIAN
;
3461 /* Add the subtree for the packet */
3462 if ( packet_id
== CIGI3_PACKET_ID_IG_CONTROL
&& cigi_minor_version
== 2 ) {
3463 hf_cigi3_packet
= hf_cigi3_ig_control
;
3464 packet_length
= CIGI3_2_PACKET_SIZE_IG_CONTROL
;
3465 } else if ( packet_id
== CIGI3_PACKET_ID_IG_CONTROL
&& cigi_minor_version
== 3 ) {
3466 hf_cigi3_packet
= hf_cigi3_ig_control
;
3467 packet_length
= CIGI3_3_PACKET_SIZE_IG_CONTROL
;
3468 } else if ( packet_id
== CIGI3_PACKET_ID_IG_CONTROL
) {
3469 hf_cigi3_packet
= hf_cigi3_ig_control
;
3470 packet_length
= CIGI3_PACKET_SIZE_IG_CONTROL
;
3471 } else if ( packet_id
== CIGI3_PACKET_ID_ENTITY_CONTROL
) {
3472 hf_cigi3_packet
= hf_cigi3_entity_control
;
3473 packet_length
= CIGI3_PACKET_SIZE_ENTITY_CONTROL
;
3474 } else if ( packet_id
== CIGI3_PACKET_ID_CONFORMAL_CLAMPED_ENTITY_CONTROL
) {
3475 hf_cigi3_packet
= hf_cigi3_conformal_clamped_entity_control
;
3476 packet_length
= CIGI3_PACKET_SIZE_CONFORMAL_CLAMPED_ENTITY_CONTROL
;
3477 } else if ( packet_id
== CIGI3_PACKET_ID_COMPONENT_CONTROL
) {
3478 hf_cigi3_packet
= hf_cigi3_component_control
;
3479 packet_length
= CIGI3_PACKET_SIZE_COMPONENT_CONTROL
;
3480 } else if ( packet_id
== CIGI3_PACKET_ID_SHORT_COMPONENT_CONTROL
) {
3481 hf_cigi3_packet
= hf_cigi3_short_component_control
;
3482 packet_length
= CIGI3_PACKET_SIZE_SHORT_COMPONENT_CONTROL
;
3483 } else if ( packet_id
== CIGI3_PACKET_ID_ARTICULATED_PART_CONTROL
) {
3484 hf_cigi3_packet
= hf_cigi3_articulated_part_control
;
3485 packet_length
= CIGI3_PACKET_SIZE_ARTICULATED_PART_CONTROL
;
3486 } else if ( packet_id
== CIGI3_PACKET_ID_SHORT_ARTICULATED_PART_CONTROL
) {
3487 hf_cigi3_packet
= hf_cigi3_short_articulated_part_control
;
3488 packet_length
= CIGI3_PACKET_SIZE_SHORT_ARTICULATED_PART_CONTROL
;
3489 } else if ( packet_id
== CIGI3_PACKET_ID_RATE_CONTROL
) {
3490 hf_cigi3_packet
= hf_cigi3_rate_control
;
3491 packet_length
= CIGI3_PACKET_SIZE_RATE_CONTROL
;
3492 } else if ( packet_id
== CIGI3_PACKET_ID_CELESTIAL_SPHERE_CONTROL
) {
3493 hf_cigi3_packet
= hf_cigi3_celestial_sphere_control
;
3494 packet_length
= CIGI3_PACKET_SIZE_CELESTIAL_SPHERE_CONTROL
;
3495 } else if ( packet_id
== CIGI3_PACKET_ID_ATMOSPHERE_CONTROL
) {
3496 hf_cigi3_packet
= hf_cigi3_atmosphere_control
;
3497 packet_length
= CIGI3_PACKET_SIZE_ATMOSPHERE_CONTROL
;
3498 } else if ( packet_id
== CIGI3_PACKET_ID_ENVIRONMENTAL_REGION_CONTROL
) {
3499 hf_cigi3_packet
= hf_cigi3_environmental_region_control
;
3500 packet_length
= CIGI3_PACKET_SIZE_ENVIRONMENTAL_REGION_CONTROL
;
3501 } else if ( packet_id
== CIGI3_PACKET_ID_WEATHER_CONTROL
) {
3502 hf_cigi3_packet
= hf_cigi3_weather_control
;
3503 packet_length
= CIGI3_PACKET_SIZE_WEATHER_CONTROL
;
3504 } else if ( packet_id
== CIGI3_PACKET_ID_MARITIME_SURFACE_CONDITIONS_CONTROL
) {
3505 hf_cigi3_packet
= hf_cigi3_maritime_surface_conditions_control
;
3506 packet_length
= CIGI3_PACKET_SIZE_MARITIME_SURFACE_CONDITIONS_CONTROL
;
3507 } else if ( packet_id
== CIGI3_PACKET_ID_WAVE_CONTROL
) {
3508 hf_cigi3_packet
= hf_cigi3_wave_control
;
3509 packet_length
= CIGI3_PACKET_SIZE_WAVE_CONTROL
;
3510 } else if ( packet_id
== CIGI3_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL
) {
3511 hf_cigi3_packet
= hf_cigi3_terrestrial_surface_conditions_control
;
3512 packet_length
= CIGI3_PACKET_SIZE_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL
;
3513 } else if ( packet_id
== CIGI3_PACKET_ID_VIEW_CONTROL
) {
3514 hf_cigi3_packet
= hf_cigi3_view_control
;
3515 packet_length
= CIGI3_PACKET_SIZE_VIEW_CONTROL
;
3516 } else if ( packet_id
== CIGI3_PACKET_ID_SENSOR_CONTROL
) {
3517 hf_cigi3_packet
= hf_cigi3_sensor_control
;
3518 packet_length
= CIGI3_PACKET_SIZE_SENSOR_CONTROL
;
3519 } else if ( packet_id
== CIGI3_PACKET_ID_MOTION_TRACKER_CONTROL
) {
3520 hf_cigi3_packet
= hf_cigi3_motion_tracker_control
;
3521 packet_length
= CIGI3_PACKET_SIZE_MOTION_TRACKER_CONTROL
;
3522 } else if ( packet_id
== CIGI3_PACKET_ID_EARTH_REFERENCE_MODEL_DEFINITION
) {
3523 hf_cigi3_packet
= hf_cigi3_earth_reference_model_definition
;
3524 packet_length
= CIGI3_PACKET_SIZE_EARTH_REFERENCE_MODEL_DEFINITION
;
3525 } else if ( packet_id
== CIGI3_PACKET_ID_TRAJECTORY_DEFINITION
) {
3526 hf_cigi3_packet
= hf_cigi3_trajectory_definition
;
3527 packet_length
= CIGI3_PACKET_SIZE_TRAJECTORY_DEFINITION
;
3528 } else if ( packet_id
== CIGI3_PACKET_ID_VIEW_DEFINITION
) {
3529 hf_cigi3_packet
= hf_cigi3_view_definition
;
3530 packet_length
= CIGI3_PACKET_SIZE_VIEW_DEFINITION
;
3531 } else if ( packet_id
== CIGI3_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION
) {
3532 hf_cigi3_packet
= hf_cigi3_collision_detection_segment_definition
;
3533 packet_length
= CIGI3_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_DEFINITION
;
3534 } else if ( packet_id
== CIGI3_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION
) {
3535 hf_cigi3_packet
= hf_cigi3_collision_detection_volume_definition
;
3536 packet_length
= CIGI3_PACKET_SIZE_COLLISION_DETECTION_VOLUME_DEFINITION
;
3537 } else if ( packet_id
== CIGI3_PACKET_ID_HAT_HOT_REQUEST
) {
3538 hf_cigi3_packet
= hf_cigi3_hat_hot_request
;
3539 packet_length
= CIGI3_PACKET_SIZE_HAT_HOT_REQUEST
;
3540 } else if ( packet_id
== CIGI3_PACKET_ID_LINE_OF_SIGHT_SEGMENT_REQUEST
) {
3541 hf_cigi3_packet
= hf_cigi3_line_of_sight_segment_request
;
3542 packet_length
= CIGI3_PACKET_SIZE_LINE_OF_SIGHT_SEGMENT_REQUEST
;
3543 } else if ( packet_id
== CIGI3_PACKET_ID_LINE_OF_SIGHT_VECTOR_REQUEST
) {
3544 hf_cigi3_packet
= hf_cigi3_line_of_sight_vector_request
;
3545 packet_length
= CIGI3_PACKET_SIZE_LINE_OF_SIGHT_VECTOR_REQUEST
;
3546 } else if ( packet_id
== CIGI3_PACKET_ID_POSITION_REQUEST
) {
3547 hf_cigi3_packet
= hf_cigi3_position_request
;
3548 packet_length
= CIGI3_PACKET_SIZE_POSITION_REQUEST
;
3549 } else if ( packet_id
== CIGI3_PACKET_ID_ENVIRONMENTAL_CONDITIONS_REQUEST
) {
3550 hf_cigi3_packet
= hf_cigi3_environmental_conditions_request
;
3551 packet_length
= CIGI3_PACKET_SIZE_ENVIRONMENTAL_CONDITIONS_REQUEST
;
3552 } else if (packet_id
== CIGI3_PACKET_ID_SYMBOL_SURFACE_DEFINITION
) {
3553 hf_cigi3_packet
= hf_cigi3_3_symbol_surface_definition
;
3554 packet_length
= CIGI3_PACKET_SIZE_SYMBOL_SURFACE_DEFINITION
;
3555 } else if (packet_id
== CIGI3_PACKET_ID_SYMBOL_TEXT_DEFINITION
) {
3556 hf_cigi3_packet
= hf_cigi3_3_symbol_text_definition
;
3557 packet_length
= packet_size
;
3558 } else if (packet_id
== CIGI3_PACKET_ID_SYMBOL_CIRCLE_DEFINITION
) {
3559 hf_cigi3_packet
= hf_cigi3_3_symbol_circle_definition
;
3560 packet_length
= packet_size
;
3561 } else if (packet_id
== CIGI3_PACKET_ID_SYMBOL_LINE_DEFINITION
) {
3562 hf_cigi3_packet
= hf_cigi3_3_symbol_line_definition
;
3563 packet_length
= packet_size
;
3564 } else if (packet_id
== CIGI3_PACKET_ID_SYMBOL_CLONE
) {
3565 hf_cigi3_packet
= hf_cigi3_3_symbol_clone
;
3566 packet_length
= CIGI3_PACKET_SIZE_SYMBOL_CLONE
;
3567 } else if (packet_id
== CIGI3_PACKET_ID_SYMBOL_CONTROL
) {
3568 hf_cigi3_packet
= hf_cigi3_3_symbol_control
;
3569 packet_length
= CIGI3_PACKET_SIZE_SYMBOL_CONTROL
;
3570 } else if (packet_id
== CIGI3_PACKET_ID_SHORT_SYMBOL_CONTROL
) {
3571 hf_cigi3_packet
= hf_cigi3_3_short_symbol_control
;
3572 packet_length
= CIGI3_PACKET_SIZE_SHORT_SYMBOL_CONTROL
;
3573 } else if ( packet_id
== CIGI3_PACKET_ID_START_OF_FRAME
&& (cigi_minor_version
== 2 || cigi_minor_version
== 3) ) {
3574 hf_cigi3_packet
= hf_cigi3_2_start_of_frame
;
3575 packet_length
= CIGI3_2_PACKET_SIZE_START_OF_FRAME
;
3576 } else if ( packet_id
== CIGI3_PACKET_ID_START_OF_FRAME
) {
3577 hf_cigi3_packet
= hf_cigi3_start_of_frame
;
3578 packet_length
= CIGI3_PACKET_SIZE_START_OF_FRAME
;
3579 } else if ( packet_id
== CIGI3_PACKET_ID_HAT_HOT_RESPONSE
) {
3580 hf_cigi3_packet
= hf_cigi3_hat_hot_response
;
3581 packet_length
= CIGI3_PACKET_SIZE_HAT_HOT_RESPONSE
;
3582 } else if ( packet_id
== CIGI3_PACKET_ID_HAT_HOT_EXTENDED_RESPONSE
) {
3583 hf_cigi3_packet
= hf_cigi3_hat_hot_extended_response
;
3584 packet_length
= CIGI3_PACKET_SIZE_HAT_HOT_EXTENDED_RESPONSE
;
3585 } else if ( packet_id
== CIGI3_PACKET_ID_LINE_OF_SIGHT_RESPONSE
) {
3586 hf_cigi3_packet
= hf_cigi3_line_of_sight_response
;
3587 packet_length
= CIGI3_PACKET_SIZE_LINE_OF_SIGHT_RESPONSE
;
3588 } else if ( packet_id
== CIGI3_PACKET_ID_LINE_OF_SIGHT_EXTENDED_RESPONSE
) {
3589 hf_cigi3_packet
= hf_cigi3_line_of_sight_extended_response
;
3590 packet_length
= CIGI3_PACKET_SIZE_LINE_OF_SIGHT_EXTENDED_RESPONSE
;
3591 } else if ( packet_id
== CIGI3_PACKET_ID_SENSOR_RESPONSE
) {
3592 hf_cigi3_packet
= hf_cigi3_sensor_response
;
3593 packet_length
= CIGI3_PACKET_SIZE_SENSOR_RESPONSE
;
3594 } else if ( packet_id
== CIGI3_PACKET_ID_SENSOR_EXTENDED_RESPONSE
) {
3595 hf_cigi3_packet
= hf_cigi3_sensor_extended_response
;
3596 packet_length
= CIGI3_PACKET_SIZE_SENSOR_EXTENDED_RESPONSE
;
3597 } else if ( packet_id
== CIGI3_PACKET_ID_POSITION_RESPONSE
) {
3598 hf_cigi3_packet
= hf_cigi3_position_response
;
3599 packet_length
= CIGI3_PACKET_SIZE_POSITION_RESPONSE
;
3600 } else if ( packet_id
== CIGI3_PACKET_ID_WEATHER_CONDITIONS_RESPONSE
) {
3601 hf_cigi3_packet
= hf_cigi3_weather_conditions_response
;
3602 packet_length
= CIGI3_PACKET_SIZE_WEATHER_CONDITIONS_RESPONSE
;
3603 } else if ( packet_id
== CIGI3_PACKET_ID_AEROSOL_CONCENTRATION_RESPONSE
) {
3604 hf_cigi3_packet
= hf_cigi3_aerosol_concentration_response
;
3605 packet_length
= CIGI3_PACKET_SIZE_AEROSOL_CONCENTRATION_RESPONSE
;
3606 } else if ( packet_id
== CIGI3_PACKET_ID_MARITIME_SURFACE_CONDITIONS_RESPONSE
) {
3607 hf_cigi3_packet
= hf_cigi3_maritime_surface_conditions_response
;
3608 packet_length
= CIGI3_PACKET_SIZE_MARITIME_SURFACE_CONDITIONS_RESPONSE
;
3609 } else if ( packet_id
== CIGI3_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE
) {
3610 hf_cigi3_packet
= hf_cigi3_terrestrial_surface_conditions_response
;
3611 packet_length
= CIGI3_PACKET_SIZE_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE
;
3612 } else if ( packet_id
== CIGI3_PACKET_ID_COLLISION_DETECTION_SEGMENT_NOTIFICATION
) {
3613 hf_cigi3_packet
= hf_cigi3_collision_detection_segment_notification
;
3614 packet_length
= CIGI3_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_NOTIFICATION
;
3615 } else if ( packet_id
== CIGI3_PACKET_ID_COLLISION_DETECTION_VOLUME_NOTIFICATION
) {
3616 hf_cigi3_packet
= hf_cigi3_collision_detection_volume_notification
;
3617 packet_length
= CIGI3_PACKET_SIZE_COLLISION_DETECTION_VOLUME_NOTIFICATION
;
3618 } else if ( packet_id
== CIGI3_PACKET_ID_ANIMATION_STOP_NOTIFICATION
) {
3619 hf_cigi3_packet
= hf_cigi3_animation_stop_notification
;
3620 packet_length
= CIGI3_PACKET_SIZE_ANIMATION_STOP_NOTIFICATION
;
3621 } else if ( packet_id
== CIGI3_PACKET_ID_EVENT_NOTIFICATION
) {
3622 hf_cigi3_packet
= hf_cigi3_event_notification
;
3623 packet_length
= CIGI3_PACKET_SIZE_EVENT_NOTIFICATION
;
3624 } else if ( packet_id
== CIGI3_PACKET_ID_IMAGE_GENERATOR_MESSAGE
) {
3625 hf_cigi3_packet
= hf_cigi3_image_generator_message
;
3626 packet_length
= packet_size
;
3627 } else if ( packet_id
>= CIGI3_PACKET_ID_USER_DEFINED_MIN
&& packet_id
<= CIGI3_PACKET_ID_USER_DEFINED_MAX
) {
3628 hf_cigi3_packet
= hf_cigi3_user_defined
;
3629 packet_length
= packet_size
;
3631 hf_cigi3_packet
= hf_cigi_unknown
;
3632 packet_length
= packet_size
;
3634 tipacket
= proto_tree_add_none_format(cigi_tree
, hf_cigi3_packet
, tvb
, offset
, packet_length
,
3636 val_to_str_ext_const(packet_id
, &cigi3_packet_id_vals_ext
, "Unknown"),
3639 cigi_packet_tree
= proto_item_add_subtree(tipacket
, ett_cigi
);
3641 /* In all CIGI3 versions the first byte of a packet is the packet ID.
3642 * The second byte is the size of the packet (in bytes). */
3643 init_offset
= offset
;
3644 proto_tree_add_item(cigi_packet_tree
, hf_cigi3_packet_id
, tvb
, offset
, 1, cigi_byte_order
);
3647 ti
= proto_tree_add_item(cigi_packet_tree
, hf_cigi_packet_size
, tvb
, offset
, 1, cigi_byte_order
);
3648 /* packet_size includes the packet id (1 byte) and packet size itself (1 byte) ). */
3649 if (packet_size
< 2) {
3650 expert_add_info(pinfo
, ti
, &ei_cigi_invalid_len
);
3653 /* If packet_size != packet_len for the fixed size packet IDs, attempt
3654 * to dissect normally then add an expert info and abort afterwards below. */
3656 next_tvb
= tvb_new_subset_length(tvb
, offset
, packet_length
- 2);
3658 int dissected
= dissector_try_uint_with_data(cigi3_packet_id_table
, packet_id
,
3659 next_tvb
, pinfo
, cigi_packet_tree
, false, NULL
);
3661 if (dissected
== 0) {
3662 dissected
= cigi_add_data(next_tvb
, cigi_packet_tree
, 0);
3665 offset
+= dissected
;
3667 if (offset
-init_offset
!= packet_length
) {
3668 proto_tree_add_expert(cigi_packet_tree
, pinfo
, &ei_cigi_invalid_len
, tvb
, init_offset
, offset
-init_offset
);
3674 /* CIGI2 IG Control */
3676 cigi2_add_ig_control(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
3678 proto_tree_add_item(tree
, hf_cigi_version
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3681 proto_tree_add_item(tree
, hf_cigi2_ig_control_db_number
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3684 proto_tree_add_item(tree
, hf_cigi2_ig_control_ig_mode
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3685 proto_tree_add_item(tree
, hf_cigi2_ig_control_tracking_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3686 proto_tree_add_item(tree
, hf_cigi2_ig_control_boresight
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3689 proto_tree_add_item(tree
, hf_cigi2_ig_control_frame_ctr
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3692 proto_tree_add_item(tree
, hf_cigi2_ig_control_time_tag
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3698 /* CIGI2 Entity Control */
3700 cigi2_add_entity_control(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
3702 proto_tree_add_item(tree
, hf_cigi2_entity_control_entity_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
3705 proto_tree_add_item(tree
, hf_cigi2_entity_control_entity_state
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3706 proto_tree_add_item(tree
, hf_cigi2_entity_control_attach_state
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3707 proto_tree_add_item(tree
, hf_cigi2_entity_control_collision_detect
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3708 proto_tree_add_item(tree
, hf_cigi2_entity_control_effect_state
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3711 proto_tree_add_item(tree
, hf_cigi2_entity_control_type
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
3714 proto_tree_add_item(tree
, hf_cigi2_entity_control_parent_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
3717 proto_tree_add_item(tree
, hf_cigi2_entity_control_opacity
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3720 proto_tree_add_item(tree
, hf_cigi2_entity_control_internal_temp
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3723 proto_tree_add_item(tree
, hf_cigi2_entity_control_roll
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3726 proto_tree_add_item(tree
, hf_cigi2_entity_control_pitch
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3729 proto_tree_add_item(tree
, hf_cigi2_entity_control_heading
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3732 proto_tree_add_item(tree
, hf_cigi2_entity_control_alt
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
3735 proto_tree_add_item(tree
, hf_cigi2_entity_control_lat
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
3738 proto_tree_add_item(tree
, hf_cigi2_entity_control_lon
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
3744 /* CIGI2 Component Control */
3746 cigi2_add_component_control(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
3748 proto_tree_add_item(tree
, hf_cigi2_component_control_instance_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
3751 proto_tree_add_item(tree
, hf_cigi2_component_control_component_class
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3754 proto_tree_add_item(tree
, hf_cigi2_component_control_component_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
3757 proto_tree_add_item(tree
, hf_cigi2_component_control_component_state
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
3760 proto_tree_add_item(tree
, hf_cigi2_component_control_component_val1
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3763 proto_tree_add_item(tree
, hf_cigi2_component_control_component_val2
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3769 /* CIGI2 Articulated Part Control */
3771 cigi2_add_articulated_parts_control(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
3773 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_entity_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
3776 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_part_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3779 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_part_state
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3780 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_xoff_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3781 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_yoff_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3782 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_zoff_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3783 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_roll_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3784 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_pitch_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3785 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_yaw_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3788 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_x_offset
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3791 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_y_offset
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3794 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_z_offset
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3797 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_roll
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3800 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_pitch
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3803 proto_tree_add_item(tree
, hf_cigi2_articulated_parts_control_yaw
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3809 /* CIGI2 Rate Control */
3811 cigi2_add_rate_control(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
3813 proto_tree_add_item(tree
, hf_cigi2_rate_control_entity_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
3816 proto_tree_add_item(tree
, hf_cigi2_rate_control_part_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3819 proto_tree_add_item(tree
, hf_cigi2_rate_control_x_rate
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3822 proto_tree_add_item(tree
, hf_cigi2_rate_control_y_rate
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3825 proto_tree_add_item(tree
, hf_cigi2_rate_control_z_rate
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3828 proto_tree_add_item(tree
, hf_cigi2_rate_control_roll_rate
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3831 proto_tree_add_item(tree
, hf_cigi2_rate_control_pitch_rate
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3834 proto_tree_add_item(tree
, hf_cigi2_rate_control_yaw_rate
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3840 /* CIGI2 Environment Control */
3842 cigi2_add_environment_control(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
3844 proto_tree_add_item(tree
, hf_cigi2_environment_control_hour
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3847 proto_tree_add_item(tree
, hf_cigi2_environment_control_minute
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3850 proto_tree_add_item(tree
, hf_cigi2_environment_control_ephemeris_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3851 proto_tree_add_item(tree
, hf_cigi2_environment_control_humidity
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3854 proto_tree_add_item(tree
, hf_cigi2_environment_control_modtran_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3857 proto_tree_add_item(tree
, hf_cigi2_environment_control_date
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3860 proto_tree_add_item(tree
, hf_cigi2_environment_control_air_temp
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3863 proto_tree_add_item(tree
, hf_cigi2_environment_control_global_visibility
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3866 proto_tree_add_item(tree
, hf_cigi2_environment_control_wind_speed
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3869 proto_tree_add_item(tree
, hf_cigi2_environment_control_wind_direction
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3872 proto_tree_add_item(tree
, hf_cigi2_environment_control_pressure
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3875 proto_tree_add_item(tree
, hf_cigi2_environment_control_aerosol
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3881 /* CIGI2 Weather Control */
3883 cigi2_add_weather_control(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
3885 proto_tree_add_item(tree
, hf_cigi2_weather_control_entity_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
3888 proto_tree_add_item(tree
, hf_cigi2_weather_control_weather_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3889 proto_tree_add_item(tree
, hf_cigi2_weather_control_scud_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3890 proto_tree_add_item(tree
, hf_cigi2_weather_control_random_winds
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3891 proto_tree_add_item(tree
, hf_cigi2_weather_control_severity
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3894 proto_tree_add_item(tree
, hf_cigi2_weather_control_phenomenon_type
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
3897 proto_tree_add_item(tree
, hf_cigi2_weather_control_air_temp
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3900 proto_tree_add_item(tree
, hf_cigi2_weather_control_opacity
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3903 proto_tree_add_item(tree
, hf_cigi2_weather_control_scud_frequency
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3906 proto_tree_add_item(tree
, hf_cigi2_weather_control_coverage
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3909 proto_tree_add_item(tree
, hf_cigi2_weather_control_elevation
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3912 proto_tree_add_item(tree
, hf_cigi2_weather_control_thickness
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3915 proto_tree_add_item(tree
, hf_cigi2_weather_control_transition_band
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3918 proto_tree_add_item(tree
, hf_cigi2_weather_control_wind_speed
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3921 proto_tree_add_item(tree
, hf_cigi2_weather_control_wind_direction
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3927 /* CIGI2 View Control */
3929 cigi2_add_view_control(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
3931 proto_tree_add_item(tree
, hf_cigi2_view_control_entity_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
3934 proto_tree_add_item(tree
, hf_cigi2_view_control_view_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3935 proto_tree_add_item(tree
, hf_cigi2_view_control_view_group
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3938 proto_tree_add_item(tree
, hf_cigi2_view_control_xoff_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3939 proto_tree_add_item(tree
, hf_cigi2_view_control_yoff_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3940 proto_tree_add_item(tree
, hf_cigi2_view_control_zoff_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3941 proto_tree_add_item(tree
, hf_cigi2_view_control_roll_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3942 proto_tree_add_item(tree
, hf_cigi2_view_control_pitch_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3943 proto_tree_add_item(tree
, hf_cigi2_view_control_yaw_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3946 proto_tree_add_item(tree
, hf_cigi2_view_control_x_offset
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3949 proto_tree_add_item(tree
, hf_cigi2_view_control_y_offset
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3952 proto_tree_add_item(tree
, hf_cigi2_view_control_z_offset
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3955 proto_tree_add_item(tree
, hf_cigi2_view_control_roll
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3958 proto_tree_add_item(tree
, hf_cigi2_view_control_pitch
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3961 proto_tree_add_item(tree
, hf_cigi2_view_control_yaw
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3967 /* CIGI2 Sensor Control */
3969 cigi2_add_sensor_control(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
3971 proto_tree_add_item(tree
, hf_cigi2_sensor_control_view_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3972 proto_tree_add_item(tree
, hf_cigi2_sensor_control_sensor_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3973 proto_tree_add_item(tree
, hf_cigi2_sensor_control_polarity
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3974 proto_tree_add_item(tree
, hf_cigi2_sensor_control_line_dropout
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3977 proto_tree_add_item(tree
, hf_cigi2_sensor_control_sensor_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3980 proto_tree_add_item(tree
, hf_cigi2_sensor_control_track_mode
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3981 proto_tree_add_item(tree
, hf_cigi2_sensor_control_auto_gain
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3982 proto_tree_add_item(tree
, hf_cigi2_sensor_control_track_polarity
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
3985 proto_tree_add_item(tree
, hf_cigi2_sensor_control_gain
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3988 proto_tree_add_item(tree
, hf_cigi2_sensor_control_level
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3991 proto_tree_add_item(tree
, hf_cigi2_sensor_control_ac_coupling
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
3994 proto_tree_add_item(tree
, hf_cigi2_sensor_control_noise
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4000 /* CIGI2 Trajectory Definition */
4002 cigi2_add_trajectory_definition(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4004 proto_tree_add_item(tree
, hf_cigi2_trajectory_definition_entity_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4007 proto_tree_add_item(tree
, hf_cigi2_trajectory_definition_acceleration
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4010 proto_tree_add_item(tree
, hf_cigi2_trajectory_definition_retardation
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4013 proto_tree_add_item(tree
, hf_cigi2_trajectory_definition_terminal_velocity
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4019 /* CIGI2 Special Effect Definition */
4021 cigi2_add_special_effect_definition(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4023 proto_tree_add_item(tree
, hf_cigi2_special_effect_definition_entity_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4026 proto_tree_add_item(tree
, hf_cigi2_special_effect_definition_seq_direction
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4027 proto_tree_add_item(tree
, hf_cigi2_special_effect_definition_color_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4030 proto_tree_add_item(tree
, hf_cigi2_special_effect_definition_red
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4033 proto_tree_add_item(tree
, hf_cigi2_special_effect_definition_green
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4036 proto_tree_add_item(tree
, hf_cigi2_special_effect_definition_blue
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4039 proto_tree_add_float(tree
, hf_cigi2_special_effect_definition_x_scale
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4042 proto_tree_add_float(tree
, hf_cigi2_special_effect_definition_y_scale
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4045 proto_tree_add_float(tree
, hf_cigi2_special_effect_definition_z_scale
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4048 proto_tree_add_float(tree
, hf_cigi2_special_effect_definition_time_scale
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4051 proto_tree_add_item(tree
, hf_cigi2_special_effect_definition_spare
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4054 proto_tree_add_item(tree
, hf_cigi2_special_effect_definition_effect_count
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4057 proto_tree_add_item(tree
, hf_cigi2_special_effect_definition_separation
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4060 proto_tree_add_item(tree
, hf_cigi2_special_effect_definition_burst_interval
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4063 proto_tree_add_item(tree
, hf_cigi2_special_effect_definition_duration
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4069 /* CIGI2 View Definition */
4071 cigi2_add_view_definition(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4073 proto_tree_add_item(tree
, hf_cigi2_view_definition_view_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4074 proto_tree_add_item(tree
, hf_cigi2_view_definition_view_group
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4077 proto_tree_add_item(tree
, hf_cigi2_view_definition_view_type
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4078 proto_tree_add_item(tree
, hf_cigi2_view_definition_pixel_rep
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4079 proto_tree_add_item(tree
, hf_cigi2_view_definition_mirror
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4082 proto_tree_add_item(tree
, hf_cigi2_view_definition_tracker_assign
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4083 proto_tree_add_item(tree
, hf_cigi2_view_definition_near_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4084 proto_tree_add_item(tree
, hf_cigi2_view_definition_far_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4085 proto_tree_add_item(tree
, hf_cigi2_view_definition_left_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4086 proto_tree_add_item(tree
, hf_cigi2_view_definition_right_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4087 proto_tree_add_item(tree
, hf_cigi2_view_definition_top_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4088 proto_tree_add_item(tree
, hf_cigi2_view_definition_bottom_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4091 proto_tree_add_item(tree
, hf_cigi2_view_definition_fov_near
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4094 proto_tree_add_item(tree
, hf_cigi2_view_definition_fov_far
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4097 proto_tree_add_item(tree
, hf_cigi2_view_definition_fov_left
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4100 proto_tree_add_item(tree
, hf_cigi2_view_definition_fov_right
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4103 proto_tree_add_item(tree
, hf_cigi2_view_definition_fov_top
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4106 proto_tree_add_item(tree
, hf_cigi2_view_definition_fov_bottom
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4112 /* CIGI2 Collision Detection Segment Definition */
4114 cigi2_add_collision_detection_segment_definition(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4116 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_definition_entity_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4119 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_definition_segment_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4120 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_definition_segment_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4123 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_definition_collision_mask
, tvb
, offset
, 4, ENC_NA
);
4126 proto_tree_add_float(tree
, hf_cigi2_collision_detection_segment_definition_x_start
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4129 proto_tree_add_float(tree
, hf_cigi2_collision_detection_segment_definition_y_start
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4132 proto_tree_add_float(tree
, hf_cigi2_collision_detection_segment_definition_z_start
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4135 proto_tree_add_float(tree
, hf_cigi2_collision_detection_segment_definition_x_end
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4138 proto_tree_add_float(tree
, hf_cigi2_collision_detection_segment_definition_y_end
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4141 proto_tree_add_float(tree
, hf_cigi2_collision_detection_segment_definition_z_end
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4147 /* CIGI2 Collision Detection Volume Definition*/
4149 cigi2_add_collision_detection_volume_definition(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4151 proto_tree_add_item(tree
, hf_cigi2_collision_detection_volume_definition_entity_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4154 proto_tree_add_item(tree
, hf_cigi2_collision_detection_volume_definition_volume_enable
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4155 proto_tree_add_item(tree
, hf_cigi2_collision_detection_volume_definition_volume_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4158 proto_tree_add_float(tree
, hf_cigi2_collision_detection_volume_definition_x_offset
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4161 proto_tree_add_float(tree
, hf_cigi2_collision_detection_volume_definition_y_offset
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4164 proto_tree_add_float(tree
, hf_cigi2_collision_detection_volume_definition_z_offset
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4167 proto_tree_add_float(tree
, hf_cigi2_collision_detection_volume_definition_height
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4170 proto_tree_add_float(tree
, hf_cigi2_collision_detection_volume_definition_width
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4173 proto_tree_add_float(tree
, hf_cigi2_collision_detection_volume_definition_depth
, tvb
, offset
, 2, cigi_get_fixed_point(tvb
, offset
, ENC_BIG_ENDIAN
));
4179 /* CIGI2 Height Above Terrain Request*/
4181 cigi2_add_height_above_terrain_request(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4183 proto_tree_add_item(tree
, hf_cigi2_height_above_terrain_request_hat_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4186 proto_tree_add_item(tree
, hf_cigi2_height_above_terrain_request_alt
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4189 proto_tree_add_item(tree
, hf_cigi2_height_above_terrain_request_lat
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4192 proto_tree_add_item(tree
, hf_cigi2_height_above_terrain_request_lon
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4198 /* CIGI2 Line of Sight Occult Request */
4200 cigi2_add_line_of_sight_occult_request(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4202 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_occult_request_los_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4205 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_occult_request_source_alt
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4208 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_occult_request_source_lat
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4211 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_occult_request_source_lon
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4214 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_occult_request_dest_alt
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4217 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_occult_request_dest_lat
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4220 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_occult_request_dest_lon
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4226 /* CIGI2 Line of Sight Range Request */
4228 cigi2_add_line_of_sight_range_request(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4230 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_range_request_los_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4233 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_range_request_azimuth
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4236 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_range_request_elevation
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4239 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_range_request_min_range
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4242 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_range_request_max_range
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4245 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_range_request_source_alt
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4248 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_range_request_source_lat
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4251 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_range_request_source_lon
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4257 /* CIGI2 Height of Terrain Request */
4259 cigi2_add_height_of_terrain_request(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4261 proto_tree_add_item(tree
, hf_cigi2_height_of_terrain_request_hot_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4264 proto_tree_add_item(tree
, hf_cigi2_height_of_terrain_request_lat
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4267 proto_tree_add_item(tree
, hf_cigi2_height_of_terrain_request_lon
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4273 /* CIGI2 Start of Frame */
4275 cigi2_add_start_of_frame(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4277 proto_tree_add_item(tree
, hf_cigi_version
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4280 proto_tree_add_item(tree
, hf_cigi2_start_of_frame_db_number
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4283 proto_tree_add_item(tree
, hf_cigi2_start_of_frame_ig_status_code
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4286 proto_tree_add_item(tree
, hf_cigi2_start_of_frame_ig_mode
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4289 proto_tree_add_item(tree
, hf_cigi2_start_of_frame_frame_ctr
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4292 proto_tree_add_item(tree
, hf_cigi2_start_of_frame_time_tag
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4298 /* CIGI2 Height Above Terrain Response */
4300 cigi2_add_height_above_terrain_response(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4302 proto_tree_add_item(tree
, hf_cigi2_height_above_terrain_response_hat_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4305 proto_tree_add_item(tree
, hf_cigi2_height_above_terrain_response_valid
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4308 proto_tree_add_item(tree
, hf_cigi2_height_above_terrain_response_material_type
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4311 proto_tree_add_item(tree
, hf_cigi2_height_above_terrain_response_alt
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4317 /* CIGI2 Line of Sight Response */
4319 cigi2_add_line_of_sight_response(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4321 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_response_los_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4324 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_response_valid
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4325 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_response_occult_response
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4328 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_response_material_type
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4331 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_response_range
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4334 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_response_alt
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4337 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_response_lat
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4340 proto_tree_add_item(tree
, hf_cigi2_line_of_sight_response_lon
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4346 /* CIGI2 Collision Detection Segment Response */
4348 cigi2_add_collision_detection_segment_response(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4350 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_response_entity_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4353 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_response_segment_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4354 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_response_contact
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4357 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_response_contacted_entity
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4360 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_response_material_type
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4363 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_response_collision_x
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4366 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_response_collision_y
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4369 proto_tree_add_item(tree
, hf_cigi2_collision_detection_segment_response_collision_z
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4375 /* CIGI2 Sensor Response */
4377 cigi2_add_sensor_response(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4379 proto_tree_add_item(tree
, hf_cigi2_sensor_response_view_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4380 proto_tree_add_item(tree
, hf_cigi2_sensor_response_status
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4383 proto_tree_add_item(tree
, hf_cigi2_sensor_response_sensor_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4386 proto_tree_add_item(tree
, hf_cigi2_sensor_response_x_offset
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4389 proto_tree_add_item(tree
, hf_cigi2_sensor_response_y_offset
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4392 proto_tree_add_item(tree
, hf_cigi2_sensor_response_x_size
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4395 proto_tree_add_item(tree
, hf_cigi2_sensor_response_y_size
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4401 /* CIGI2 Height of Terrain Response */
4403 cigi2_add_height_of_terrain_response(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4405 proto_tree_add_item(tree
, hf_cigi2_height_of_terrain_response_hot_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4408 proto_tree_add_item(tree
, hf_cigi2_height_of_terrain_response_valid
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4411 proto_tree_add_item(tree
, hf_cigi2_height_of_terrain_response_material_type
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
4414 proto_tree_add_item(tree
, hf_cigi2_height_of_terrain_response_alt
, tvb
, offset
, 8, ENC_BIG_ENDIAN
);
4420 /* CIGI2 Collision Detection Volume Response */
4422 cigi2_add_collision_detection_volume_response(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4424 proto_tree_add_item(tree
, hf_cigi2_collision_detection_volume_response_entity_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4427 proto_tree_add_item(tree
, hf_cigi2_collision_detection_volume_response_volume_id
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4428 proto_tree_add_item(tree
, hf_cigi2_collision_detection_volume_response_contact
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
4431 proto_tree_add_item(tree
, hf_cigi2_collision_detection_volume_response_contact_entity
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4437 /* CIGI2 Image Generator Message */
4439 cigi2_add_image_generator_message(tvbuff_t
*tvb
, proto_tree
*tree
, int offset
)
4441 uint8_t packet_size
= 0;
4443 packet_size
= tvb_get_uint8(tvb
, offset
-1);
4445 /* An image generator packet cannot be less than 4 bytes ( because every cigi packet
4446 * has a packet id (1 byte) and a packet size (1 byte) ). */
4447 if ( packet_size
< 4 )
4450 proto_tree_add_item(tree
, hf_cigi2_image_generator_message_id
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4453 proto_tree_add_item(tree
, hf_cigi2_image_generator_message_message
, tvb
, offset
, packet_size
-4, ENC_ASCII
);
4454 offset
+= packet_size
-4;
4459 /* CIGI3 IG Control */
4461 cigi3_add_ig_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
4465 proto_tree_add_item(tree
, hf_cigi_version
, tvb
, offset
, 1, cigi_byte_order
);
4468 proto_tree_add_item(tree
, hf_cigi3_ig_control_db_number
, tvb
, offset
, 1, cigi_byte_order
);
4471 proto_tree_add_item(tree
, hf_cigi3_ig_control_ig_mode
, tvb
, offset
, 1, cigi_byte_order
);
4472 proto_tree_add_item(tree
, hf_cigi3_ig_control_timestamp_valid
, tvb
, offset
, 1, cigi_byte_order
);
4473 if (cigi_minor_version
>= 3) {
4474 proto_tree_add_item(tree
, hf_cigi3_3_ig_control_extrapolation_enable
, tvb
, offset
, 1, cigi_byte_order
);
4476 if (cigi_minor_version
>= 2) {
4477 proto_tree_add_item(tree
, hf_cigi3_2_ig_control_minor_version
, tvb
, offset
, 1, cigi_byte_order
);
4481 /* Get the Byte Swap in Big-Endian so that we can display whether the value
4482 * is big-endian or little-endian to the user */
4483 proto_tree_add_item(tree
, hf_cigi3_byte_swap
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
4486 if (cigi_minor_version
>= 2) {
4487 proto_tree_add_item(tree
, hf_cigi3_2_ig_control_host_frame_number
, tvb
, offset
, 4, cigi_byte_order
);
4490 proto_tree_add_item(tree
, hf_cigi3_ig_control_frame_ctr
, tvb
, offset
, 4, cigi_byte_order
);
4494 proto_tree_add_item(tree
, hf_cigi3_ig_control_timestamp
, tvb
, offset
, 4, cigi_byte_order
);
4497 if (cigi_minor_version
>= 2) {
4498 proto_tree_add_item(tree
, hf_cigi3_2_ig_control_last_ig_frame_number
, tvb
, offset
, 4, cigi_byte_order
);
4505 /* CIGI3 Entity Control */
4507 cigi3_add_entity_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
4511 proto_tree_add_item(tree
, hf_cigi3_entity_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
4514 proto_tree_add_item(tree
, hf_cigi3_entity_control_entity_state
, tvb
, offset
, 1, cigi_byte_order
);
4515 proto_tree_add_item(tree
, hf_cigi3_entity_control_attach_state
, tvb
, offset
, 1, cigi_byte_order
);
4516 proto_tree_add_item(tree
, hf_cigi3_entity_control_collision_detection_request
, tvb
, offset
, 1, cigi_byte_order
);
4517 proto_tree_add_item(tree
, hf_cigi3_entity_control_inherit_alpha
, tvb
, offset
, 1, cigi_byte_order
);
4518 proto_tree_add_item(tree
, hf_cigi3_entity_control_ground_ocean_clamp
, tvb
, offset
, 1, cigi_byte_order
);
4521 proto_tree_add_item(tree
, hf_cigi3_entity_control_animation_direction
, tvb
, offset
, 1, cigi_byte_order
);
4522 proto_tree_add_item(tree
, hf_cigi3_entity_control_animation_loop_mode
, tvb
, offset
, 1, cigi_byte_order
);
4523 proto_tree_add_item(tree
, hf_cigi3_entity_control_animation_state
, tvb
, offset
, 1, cigi_byte_order
);
4524 if (cigi_minor_version
>= 3) {
4525 proto_tree_add_item(tree
, hf_cigi3_3_entity_control_extrapolation_enable
, tvb
, offset
, 1, cigi_byte_order
);
4529 proto_tree_add_item(tree
, hf_cigi3_entity_control_alpha
, tvb
, offset
, 1, cigi_byte_order
);
4532 proto_tree_add_item(tree
, hf_cigi3_entity_control_entity_type
, tvb
, offset
, 2, cigi_byte_order
);
4535 proto_tree_add_item(tree
, hf_cigi3_entity_control_parent_id
, tvb
, offset
, 2, cigi_byte_order
);
4538 proto_tree_add_item(tree
, hf_cigi3_entity_control_roll
, tvb
, offset
, 4, cigi_byte_order
);
4541 proto_tree_add_item(tree
, hf_cigi3_entity_control_pitch
, tvb
, offset
, 4, cigi_byte_order
);
4544 proto_tree_add_item(tree
, hf_cigi3_entity_control_yaw
, tvb
, offset
, 4, cigi_byte_order
);
4547 proto_tree_add_item(tree
, hf_cigi3_entity_control_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
4550 proto_tree_add_item(tree
, hf_cigi3_entity_control_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
4553 proto_tree_add_item(tree
, hf_cigi3_entity_control_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
4559 /* CIGI4 Entity Control */
4561 cigi4_add_entity_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
4565 proto_tree_add_item(tree
, hf_cigi4_entity_control_entity_state
, tvb
, offset
, 1, cigi_byte_order
);
4566 proto_tree_add_item(tree
, hf_cigi4_entity_control_collision_reporting_enable
, tvb
, offset
, 1, cigi_byte_order
);
4567 proto_tree_add_item(tree
, hf_cigi4_entity_control_inherit_alpha
, tvb
, offset
, 1, cigi_byte_order
);
4568 proto_tree_add_item(tree
, hf_cigi4_entity_control_smooting_enable
, tvb
, offset
, 1, cigi_byte_order
);
4569 proto_tree_add_item(tree
, hf_cigi4_entity_control_extended_entity_type
, tvb
, offset
, 1, cigi_byte_order
);
4572 proto_tree_add_item(tree
, hf_cigi4_entity_control_alpha
, tvb
, offset
, 1, cigi_byte_order
);
4575 proto_tree_add_item(tree
, hf_cigi4_entity_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
4578 proto_tree_add_item(tree
, hf_cigi4_entity_control_entity_kind
, tvb
, offset
, 1, cigi_byte_order
);
4581 proto_tree_add_item(tree
, hf_cigi4_entity_control_entity_domain
, tvb
, offset
, 1, cigi_byte_order
);
4584 proto_tree_add_item(tree
, hf_cigi4_entity_control_entity_country
, tvb
, offset
, 2, cigi_byte_order
);
4587 proto_tree_add_item(tree
, hf_cigi4_entity_control_entity_category
, tvb
, offset
, 1, cigi_byte_order
);
4590 proto_tree_add_item(tree
, hf_cigi4_entity_control_entity_subcategory
, tvb
, offset
, 1, cigi_byte_order
);
4593 proto_tree_add_item(tree
, hf_cigi4_entity_control_entity_specific
, tvb
, offset
, 1, cigi_byte_order
);
4596 proto_tree_add_item(tree
, hf_cigi4_entity_control_entity_extra
, tvb
, offset
, 1, cigi_byte_order
);
4602 /* CIGI4 Animation Control */
4604 cigi4_add_animation_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
4608 proto_tree_add_item(tree
, hf_cigi4_animation_control_state
, tvb
, offset
, 1, cigi_byte_order
);
4609 proto_tree_add_item(tree
, hf_cigi4_animation_control_frame_position_reset
, tvb
, offset
, 1, cigi_byte_order
);
4610 proto_tree_add_item(tree
, hf_cigi4_animation_control_loop_mode
, tvb
, offset
, 1, cigi_byte_order
);
4611 proto_tree_add_item(tree
, hf_cigi4_animation_control_inherit_alpha
, tvb
, offset
, 1, cigi_byte_order
);
4614 proto_tree_add_item(tree
, hf_cigi4_animation_control_alpha
, tvb
, offset
, 1, cigi_byte_order
);
4617 proto_tree_add_item(tree
, hf_cigi4_animation_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
4620 proto_tree_add_item(tree
, hf_cigi4_animation_control_animation_id
, tvb
, offset
, 2, cigi_byte_order
);
4623 proto_tree_add_item(tree
, hf_cigi4_animation_control_animation_speed
, tvb
, offset
, 4, cigi_byte_order
);
4630 /* CIGI3 Conformal Clamped Entity Control */
4632 cigi3_add_conformal_clamped_entity_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
4636 proto_tree_add_item(tree
, hf_cigi3_conformal_clamped_entity_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
4639 proto_tree_add_item(tree
, hf_cigi3_conformal_clamped_entity_control_yaw
, tvb
, offset
, 4, cigi_byte_order
);
4642 proto_tree_add_item(tree
, hf_cigi3_conformal_clamped_entity_control_lat
, tvb
, offset
, 8, cigi_byte_order
);
4645 proto_tree_add_item(tree
, hf_cigi3_conformal_clamped_entity_control_lon
, tvb
, offset
, 8, cigi_byte_order
);
4651 /* CIGI3 Component Control */
4653 cigi3_add_component_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
4657 proto_tree_add_item(tree
, hf_cigi3_component_control_component_id
, tvb
, offset
, 2, cigi_byte_order
);
4660 proto_tree_add_item(tree
, hf_cigi3_component_control_instance_id
, tvb
, offset
, 2, cigi_byte_order
);
4663 if (cigi_minor_version
>= 3) {
4664 proto_tree_add_item(tree
, hf_cigi3_3_component_control_component_class
, tvb
, offset
, 1, cigi_byte_order
);
4666 proto_tree_add_item(tree
, hf_cigi3_component_control_component_class
, tvb
, offset
, 1, cigi_byte_order
);
4670 proto_tree_add_item(tree
, hf_cigi3_component_control_component_state
, tvb
, offset
, 1, cigi_byte_order
);
4673 proto_tree_add_item(tree
, hf_cigi3_component_control_data_1
, tvb
, offset
, 4, cigi_byte_order
);
4676 proto_tree_add_item(tree
, hf_cigi3_component_control_data_2
, tvb
, offset
, 4, cigi_byte_order
);
4679 proto_tree_add_item(tree
, hf_cigi3_component_control_data_3
, tvb
, offset
, 4, cigi_byte_order
);
4682 proto_tree_add_item(tree
, hf_cigi3_component_control_data_4
, tvb
, offset
, 4, cigi_byte_order
);
4685 proto_tree_add_item(tree
, hf_cigi3_component_control_data_5
, tvb
, offset
, 4, cigi_byte_order
);
4688 proto_tree_add_item(tree
, hf_cigi3_component_control_data_6
, tvb
, offset
, 4, cigi_byte_order
);
4694 /* CIGI3 Short Component Control */
4696 cigi3_add_short_component_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
4700 proto_tree_add_item(tree
, hf_cigi3_short_component_control_component_id
, tvb
, offset
, 2, cigi_byte_order
);
4703 proto_tree_add_item(tree
, hf_cigi3_short_component_control_instance_id
, tvb
, offset
, 2, cigi_byte_order
);
4706 if (cigi_minor_version
>= 3) {
4707 proto_tree_add_item(tree
, hf_cigi3_3_short_component_control_component_class
, tvb
, offset
, 1, cigi_byte_order
);
4709 proto_tree_add_item(tree
, hf_cigi3_short_component_control_component_class
, tvb
, offset
, 1, cigi_byte_order
);
4713 proto_tree_add_item(tree
, hf_cigi3_short_component_control_component_state
, tvb
, offset
, 1, cigi_byte_order
);
4716 proto_tree_add_item(tree
, hf_cigi3_short_component_control_data_1
, tvb
, offset
, 4, cigi_byte_order
);
4719 proto_tree_add_item(tree
, hf_cigi3_short_component_control_data_2
, tvb
, offset
, 4, cigi_byte_order
);
4725 /* CIGI4 Short Component Control */
4727 cigi4_add_short_component_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
4731 proto_tree_add_item(tree
, hf_cigi3_short_component_control_component_id
, tvb
, offset
, 2, cigi_byte_order
);
4734 proto_tree_add_item(tree
, hf_cigi3_3_short_component_control_component_class
, tvb
, offset
, 1, cigi_byte_order
);
4737 proto_tree_add_item(tree
, hf_cigi3_short_component_control_component_state
, tvb
, offset
, 1, cigi_byte_order
);
4740 proto_tree_add_item(tree
, hf_cigi3_short_component_control_instance_id
, tvb
, offset
, 2, cigi_byte_order
);
4746 proto_tree_add_item(tree
, hf_cigi3_short_component_control_data_1
, tvb
, offset
, 4, cigi_byte_order
);
4749 proto_tree_add_item(tree
, hf_cigi3_short_component_control_data_2
, tvb
, offset
, 4, cigi_byte_order
);
4756 /* CIGI3 Articulated Part Control */
4758 cigi3_add_articulated_part_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
4762 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
4765 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_part_id
, tvb
, offset
, 1, cigi_byte_order
);
4768 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_part_enable
, tvb
, offset
, 1, cigi_byte_order
);
4769 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_xoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
4770 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_yoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
4771 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_zoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
4772 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_roll_enable
, tvb
, offset
, 1, cigi_byte_order
);
4773 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_pitch_enable
, tvb
, offset
, 1, cigi_byte_order
);
4774 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_yaw_enable
, tvb
, offset
, 1, cigi_byte_order
);
4777 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_xoff
, tvb
, offset
, 4, cigi_byte_order
);
4780 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_yoff
, tvb
, offset
, 4, cigi_byte_order
);
4783 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_zoff
, tvb
, offset
, 4, cigi_byte_order
);
4786 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_roll
, tvb
, offset
, 4, cigi_byte_order
);
4789 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_pitch
, tvb
, offset
, 4, cigi_byte_order
);
4792 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_yaw
, tvb
, offset
, 4, cigi_byte_order
);
4798 /* CIGI4 Articulated Part Control */
4800 cigi4_add_articulated_part_control(tvbuff_t
* tvb
, packet_info
*pinfo _U_
, proto_tree
* tree
, void* data _U_
)
4804 proto_tree
* field_tree
;
4807 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
4810 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_part_id
, tvb
, offset
, 1, cigi_byte_order
);
4814 tf
= proto_tree_add_item(tree
, hf_cigi4_articulated_part_control_part_enable_flags
, tvb
, offset
, 1, cigi_byte_order
);
4815 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_articulated_part_control_part_enable_flags
);
4817 proto_tree_add_item(field_tree
, hf_cigi3_articulated_part_control_part_enable
, tvb
, offset
, 1, cigi_byte_order
);
4818 proto_tree_add_item(field_tree
, hf_cigi3_articulated_part_control_xoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
4819 proto_tree_add_item(field_tree
, hf_cigi3_articulated_part_control_yoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
4820 proto_tree_add_item(field_tree
, hf_cigi3_articulated_part_control_zoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
4821 proto_tree_add_item(field_tree
, hf_cigi3_articulated_part_control_roll_enable
, tvb
, offset
, 1, cigi_byte_order
);
4822 proto_tree_add_item(field_tree
, hf_cigi3_articulated_part_control_pitch_enable
, tvb
, offset
, 1, cigi_byte_order
);
4823 proto_tree_add_item(field_tree
, hf_cigi3_articulated_part_control_yaw_enable
, tvb
, offset
, 1, cigi_byte_order
);
4826 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_xoff
, tvb
, offset
, 4, cigi_byte_order
);
4829 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_yoff
, tvb
, offset
, 4, cigi_byte_order
);
4832 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_zoff
, tvb
, offset
, 4, cigi_byte_order
);
4835 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_roll
, tvb
, offset
, 4, cigi_byte_order
);
4838 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_pitch
, tvb
, offset
, 4, cigi_byte_order
);
4841 proto_tree_add_item(tree
, hf_cigi3_articulated_part_control_yaw
, tvb
, offset
, 4, cigi_byte_order
);
4848 /* CIGI3 Short Articulated Part Control */
4850 cigi3_add_short_articulated_part_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
4854 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
4857 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_part_id_1
, tvb
, offset
, 1, cigi_byte_order
);
4860 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_part_id_2
, tvb
, offset
, 1, cigi_byte_order
);
4863 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_dof_select_1
, tvb
, offset
, 1, cigi_byte_order
);
4864 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_dof_select_2
, tvb
, offset
, 1, cigi_byte_order
);
4865 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_part_enable_1
, tvb
, offset
, 1, cigi_byte_order
);
4866 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_part_enable_2
, tvb
, offset
, 1, cigi_byte_order
);
4869 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_dof_1
, tvb
, offset
, 4, cigi_byte_order
);
4872 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_dof_2
, tvb
, offset
, 4, cigi_byte_order
);
4878 /* CIGI4 Short Articulated Part Control */
4880 cigi4_add_short_articulated_part_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
4884 proto_tree
* field_tree
;
4887 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
4890 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_part_id_1
, tvb
, offset
, 1, cigi_byte_order
);
4893 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_part_id_2
, tvb
, offset
, 1, cigi_byte_order
);
4897 tf
= proto_tree_add_item(tree
, hf_cigi4_short_articulated_part_control_part_enable_flags
, tvb
, offset
, 1, cigi_byte_order
);
4898 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_short_articulated_part_control_part_enable_flags
);
4900 proto_tree_add_item(field_tree
, hf_cigi3_short_articulated_part_control_dof_select_1
, tvb
, offset
, 1, cigi_byte_order
);
4901 proto_tree_add_item(field_tree
, hf_cigi3_short_articulated_part_control_dof_select_2
, tvb
, offset
, 1, cigi_byte_order
);
4902 proto_tree_add_item(field_tree
, hf_cigi3_short_articulated_part_control_part_enable_1
, tvb
, offset
, 1, cigi_byte_order
);
4903 proto_tree_add_item(field_tree
, hf_cigi3_short_articulated_part_control_part_enable_2
, tvb
, offset
, 1, cigi_byte_order
);
4909 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_dof_1
, tvb
, offset
, 4, cigi_byte_order
);
4912 proto_tree_add_item(tree
, hf_cigi3_short_articulated_part_control_dof_2
, tvb
, offset
, 4, cigi_byte_order
);
4919 /* CIGI3 Rate Control */
4921 cigi3_add_rate_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
4925 proto_tree_add_item(tree
, hf_cigi3_rate_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
4928 proto_tree_add_item(tree
, hf_cigi3_rate_control_part_id
, tvb
, offset
, 1, cigi_byte_order
);
4931 proto_tree_add_item(tree
, hf_cigi3_rate_control_apply_to_part
, tvb
, offset
, 1, cigi_byte_order
);
4932 if (cigi_minor_version
>= 2) {
4933 proto_tree_add_item(tree
, hf_cigi3_2_rate_control_coordinate_system
, tvb
, offset
, 1, cigi_byte_order
);
4937 proto_tree_add_item(tree
, hf_cigi3_rate_control_x_rate
, tvb
, offset
, 4, cigi_byte_order
);
4940 proto_tree_add_item(tree
, hf_cigi3_rate_control_y_rate
, tvb
, offset
, 4, cigi_byte_order
);
4943 proto_tree_add_item(tree
, hf_cigi3_rate_control_z_rate
, tvb
, offset
, 4, cigi_byte_order
);
4946 proto_tree_add_item(tree
, hf_cigi3_rate_control_roll_rate
, tvb
, offset
, 4, cigi_byte_order
);
4949 proto_tree_add_item(tree
, hf_cigi3_rate_control_pitch_rate
, tvb
, offset
, 4, cigi_byte_order
);
4952 proto_tree_add_item(tree
, hf_cigi3_rate_control_yaw_rate
, tvb
, offset
, 4, cigi_byte_order
);
4958 /* CIGI4 Velocity Control */
4960 cigi4_add_velocity_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
4964 proto_tree
* field_tree
;
4967 proto_tree_add_item(tree
, hf_cigi4_velocity_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
4970 proto_tree_add_item(tree
, hf_cigi4_velocity_control_part_id
, tvb
, offset
, 1, cigi_byte_order
);
4974 tf
= proto_tree_add_item(tree
, hf_cigi4_velocity_control_flags
, tvb
, offset
, 1, cigi_byte_order
);
4975 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_velocity_control_flags
);
4976 proto_tree_add_item(field_tree
, hf_cigi4_velocity_control_apply_to_part
, tvb
, offset
, 1, cigi_byte_order
);
4977 proto_tree_add_item(field_tree
, hf_cigi4_velocity_control_coordinate_system
, tvb
, offset
, 1, cigi_byte_order
);
4980 proto_tree_add_item(tree
, hf_cigi4_velocity_control_x_rate
, tvb
, offset
, 4, cigi_byte_order
);
4983 proto_tree_add_item(tree
, hf_cigi4_velocity_control_y_rate
, tvb
, offset
, 4, cigi_byte_order
);
4986 proto_tree_add_item(tree
, hf_cigi4_velocity_control_z_rate
, tvb
, offset
, 4, cigi_byte_order
);
4989 proto_tree_add_item(tree
, hf_cigi4_velocity_control_roll_rate
, tvb
, offset
, 4, cigi_byte_order
);
4992 proto_tree_add_item(tree
, hf_cigi4_velocity_control_pitch_rate
, tvb
, offset
, 4, cigi_byte_order
);
4995 proto_tree_add_item(tree
, hf_cigi4_velocity_control_yaw_rate
, tvb
, offset
, 4, cigi_byte_order
);
5002 /* CIGI3 Celestial Sphere Control */
5004 cigi3_add_celestial_sphere_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5008 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_hour
, tvb
, offset
, 1, cigi_byte_order
);
5011 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_minute
, tvb
, offset
, 1, cigi_byte_order
);
5014 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_ephemeris_enable
, tvb
, offset
, 1, cigi_byte_order
);
5015 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_sun_enable
, tvb
, offset
, 1, cigi_byte_order
);
5016 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_moon_enable
, tvb
, offset
, 1, cigi_byte_order
);
5017 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_star_enable
, tvb
, offset
, 1, cigi_byte_order
);
5018 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_date_time_valid
, tvb
, offset
, 1, cigi_byte_order
);
5021 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_date
, tvb
, offset
, 4, cigi_byte_order
);
5024 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_star_intensity
, tvb
, offset
, 4, cigi_byte_order
);
5030 /* CIGI4 Celestial Sphere Control */
5032 cigi4_add_celestial_sphere_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5036 proto_tree
* field_tree
;
5040 tf
= proto_tree_add_item(tree
, hf_cigi4_celestial_sphere_control_enable_flags
, tvb
, offset
, 1, cigi_byte_order
);
5041 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_celestial_sphere_control_flags
);
5042 proto_tree_add_item(field_tree
, hf_cigi3_celestial_sphere_control_ephemeris_enable
, tvb
, offset
, 1, cigi_byte_order
);
5043 proto_tree_add_item(field_tree
, hf_cigi3_celestial_sphere_control_sun_enable
, tvb
, offset
, 1, cigi_byte_order
);
5044 proto_tree_add_item(field_tree
, hf_cigi3_celestial_sphere_control_moon_enable
, tvb
, offset
, 1, cigi_byte_order
);
5045 proto_tree_add_item(field_tree
, hf_cigi3_celestial_sphere_control_star_enable
, tvb
, offset
, 1, cigi_byte_order
);
5046 proto_tree_add_item(field_tree
, hf_cigi3_celestial_sphere_control_date_time_valid
, tvb
, offset
, 1, cigi_byte_order
);
5049 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_hour
, tvb
, offset
, 1, cigi_byte_order
);
5052 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_minute
, tvb
, offset
, 1, cigi_byte_order
);
5055 proto_tree_add_item(tree
, hf_cigi4_celestial_sphere_control_seconds
, tvb
, offset
, 4, cigi_byte_order
);
5058 proto_tree_add_item(tree
, hf_cigi4_celestial_sphere_control_date
, tvb
, offset
, 4, cigi_byte_order
);
5061 proto_tree_add_item(tree
, hf_cigi3_celestial_sphere_control_star_intensity
, tvb
, offset
, 4, cigi_byte_order
);
5072 /* CIGI3 Atmosphere Control */
5074 cigi3_add_atmosphere_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5078 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_atmospheric_model_enable
, tvb
, offset
, 1, cigi_byte_order
);
5081 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_humidity
, tvb
, offset
, 1, cigi_byte_order
);
5084 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_air_temp
, tvb
, offset
, 4, cigi_byte_order
);
5087 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_visibility_range
, tvb
, offset
, 4, cigi_byte_order
);
5090 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_horiz_wind
, tvb
, offset
, 4, cigi_byte_order
);
5093 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_vert_wind
, tvb
, offset
, 4, cigi_byte_order
);
5096 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_wind_direction
, tvb
, offset
, 4, cigi_byte_order
);
5099 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_barometric_pressure
, tvb
, offset
, 4, cigi_byte_order
);
5105 /* CIGI4 Atmosphere Control */
5107 cigi4_add_atmosphere_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
5111 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_atmospheric_model_enable
, tvb
, offset
, 1, cigi_byte_order
);
5113 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_humidity
, tvb
, offset
, 1, cigi_byte_order
);
5119 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_air_temp
, tvb
, offset
, 4, cigi_byte_order
);
5122 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_visibility_range
, tvb
, offset
, 4, cigi_byte_order
);
5125 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_horiz_wind
, tvb
, offset
, 4, cigi_byte_order
);
5128 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_vert_wind
, tvb
, offset
, 4, cigi_byte_order
);
5131 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_wind_direction
, tvb
, offset
, 4, cigi_byte_order
);
5134 proto_tree_add_item(tree
, hf_cigi3_atmosphere_control_barometric_pressure
, tvb
, offset
, 4, cigi_byte_order
);
5141 /* CIGI3 Environmental Region Control */
5143 cigi3_add_environmental_region_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5147 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_region_id
, tvb
, offset
, 2, cigi_byte_order
);
5150 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_region_state
, tvb
, offset
, 1, cigi_byte_order
);
5151 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_merge_weather
, tvb
, offset
, 1, cigi_byte_order
);
5152 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_merge_aerosol
, tvb
, offset
, 1, cigi_byte_order
);
5153 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_merge_maritime
, tvb
, offset
, 1, cigi_byte_order
);
5154 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_merge_terrestrial
, tvb
, offset
, 1, cigi_byte_order
);
5157 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_lat
, tvb
, offset
, 8, cigi_byte_order
);
5160 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_lon
, tvb
, offset
, 8, cigi_byte_order
);
5163 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_size_x
, tvb
, offset
, 4, cigi_byte_order
);
5166 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_size_y
, tvb
, offset
, 4, cigi_byte_order
);
5169 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_corner_radius
, tvb
, offset
, 4, cigi_byte_order
);
5172 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_rotation
, tvb
, offset
, 4, cigi_byte_order
);
5175 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_transition_perimeter
, tvb
, offset
, 4, cigi_byte_order
);
5182 /* CIGI4 Environmental Region Control */
5184 cigi4_add_environmental_region_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
5188 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_region_state
, tvb
, offset
, 1, cigi_byte_order
);
5189 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_merge_weather
, tvb
, offset
, 1, cigi_byte_order
);
5190 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_merge_aerosol
, tvb
, offset
, 1, cigi_byte_order
);
5191 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_merge_maritime
, tvb
, offset
, 1, cigi_byte_order
);
5192 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_merge_terrestrial
, tvb
, offset
, 1, cigi_byte_order
);
5195 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_region_id
, tvb
, offset
, 2, cigi_byte_order
);
5198 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_lat
, tvb
, offset
, 8, cigi_byte_order
);
5201 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_lon
, tvb
, offset
, 8, cigi_byte_order
);
5204 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_size_x
, tvb
, offset
, 4, cigi_byte_order
);
5207 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_size_y
, tvb
, offset
, 4, cigi_byte_order
);
5210 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_corner_radius
, tvb
, offset
, 4, cigi_byte_order
);
5213 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_rotation
, tvb
, offset
, 4, cigi_byte_order
);
5216 proto_tree_add_item(tree
, hf_cigi3_environmental_region_control_transition_perimeter
, tvb
, offset
, 4, cigi_byte_order
);
5223 /* CIGI3 Weather Control */
5225 cigi3_add_weather_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5229 proto_tree_add_item(tree
, hf_cigi3_weather_control_entity_region_id
, tvb
, offset
, 2, cigi_byte_order
);
5232 proto_tree_add_item(tree
, hf_cigi3_weather_control_layer_id
, tvb
, offset
, 1, cigi_byte_order
);
5235 proto_tree_add_item(tree
, hf_cigi3_weather_control_humidity
, tvb
, offset
, 1, cigi_byte_order
);
5238 proto_tree_add_item(tree
, hf_cigi3_weather_control_weather_enable
, tvb
, offset
, 1, cigi_byte_order
);
5239 proto_tree_add_item(tree
, hf_cigi3_weather_control_scud_enable
, tvb
, offset
, 1, cigi_byte_order
);
5240 proto_tree_add_item(tree
, hf_cigi3_weather_control_random_winds_enable
, tvb
, offset
, 1, cigi_byte_order
);
5241 proto_tree_add_item(tree
, hf_cigi3_weather_control_random_lightning_enable
, tvb
, offset
, 1, cigi_byte_order
);
5242 proto_tree_add_item(tree
, hf_cigi3_weather_control_cloud_type
, tvb
, offset
, 1, cigi_byte_order
);
5245 proto_tree_add_item(tree
, hf_cigi3_weather_control_scope
, tvb
, offset
, 1, cigi_byte_order
);
5246 proto_tree_add_item(tree
, hf_cigi3_weather_control_severity
, tvb
, offset
, 1, cigi_byte_order
);
5249 proto_tree_add_item(tree
, hf_cigi3_weather_control_air_temp
, tvb
, offset
, 4, cigi_byte_order
);
5252 proto_tree_add_item(tree
, hf_cigi3_weather_control_visibility_range
, tvb
, offset
, 4, cigi_byte_order
);
5255 proto_tree_add_item(tree
, hf_cigi3_weather_control_scud_frequency
, tvb
, offset
, 4, cigi_byte_order
);
5258 proto_tree_add_item(tree
, hf_cigi3_weather_control_coverage
, tvb
, offset
, 4, cigi_byte_order
);
5261 proto_tree_add_item(tree
, hf_cigi3_weather_control_base_elevation
, tvb
, offset
, 4, cigi_byte_order
);
5264 proto_tree_add_item(tree
, hf_cigi3_weather_control_thickness
, tvb
, offset
, 4, cigi_byte_order
);
5267 proto_tree_add_item(tree
, hf_cigi3_weather_control_transition_band
, tvb
, offset
, 4, cigi_byte_order
);
5270 proto_tree_add_item(tree
, hf_cigi3_weather_control_horiz_wind
, tvb
, offset
, 4, cigi_byte_order
);
5273 proto_tree_add_item(tree
, hf_cigi3_weather_control_vert_wind
, tvb
, offset
, 4, cigi_byte_order
);
5276 proto_tree_add_item(tree
, hf_cigi3_weather_control_wind_direction
, tvb
, offset
, 4, cigi_byte_order
);
5279 proto_tree_add_item(tree
, hf_cigi3_weather_control_barometric_pressure
, tvb
, offset
, 4, cigi_byte_order
);
5282 proto_tree_add_item(tree
, hf_cigi3_weather_control_aerosol_concentration
, tvb
, offset
, 4, cigi_byte_order
);
5289 /* CIGI4 Weather Control */
5291 cigi4_add_weather_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
5295 proto_tree_add_item(tree
, hf_cigi3_weather_control_layer_id
, tvb
, offset
, 1, cigi_byte_order
);
5298 proto_tree_add_item(tree
, hf_cigi3_weather_control_humidity
, tvb
, offset
, 1, cigi_byte_order
);
5302 proto_tree_add_item(tree
, hf_cigi3_weather_control_weather_enable
, tvb
, offset
, 1, cigi_byte_order
);
5303 proto_tree_add_item(tree
, hf_cigi3_weather_control_scud_enable
, tvb
, offset
, 1, cigi_byte_order
);
5304 proto_tree_add_item(tree
, hf_cigi3_weather_control_random_winds_enable
, tvb
, offset
, 1, cigi_byte_order
);
5305 proto_tree_add_item(tree
, hf_cigi3_weather_control_random_lightning_enable
, tvb
, offset
, 1, cigi_byte_order
);
5306 proto_tree_add_item(tree
, hf_cigi3_weather_control_cloud_type
, tvb
, offset
, 1, cigi_byte_order
);
5309 proto_tree_add_item(tree
, hf_cigi3_weather_control_scope
, tvb
, offset
, 1, cigi_byte_order
);
5310 proto_tree_add_item(tree
, hf_cigi3_weather_control_severity
, tvb
, offset
, 1, cigi_byte_order
);
5311 proto_tree_add_item(tree
, hf_cigi4_weather_control_top_scud_enable
, tvb
, offset
, 1, cigi_byte_order
);
5314 proto_tree_add_item(tree
, hf_cigi3_weather_control_entity_region_id
, tvb
, offset
, 2, cigi_byte_order
);
5317 proto_tree_add_item(tree
, hf_cigi3_weather_control_air_temp
, tvb
, offset
, 4, cigi_byte_order
);
5320 proto_tree_add_item(tree
, hf_cigi3_weather_control_visibility_range
, tvb
, offset
, 4, cigi_byte_order
);
5323 proto_tree_add_item(tree
, hf_cigi3_weather_control_scud_frequency
, tvb
, offset
, 4, cigi_byte_order
);
5326 proto_tree_add_item(tree
, hf_cigi3_weather_control_coverage
, tvb
, offset
, 4, cigi_byte_order
);
5329 proto_tree_add_item(tree
, hf_cigi3_weather_control_base_elevation
, tvb
, offset
, 4, cigi_byte_order
);
5332 proto_tree_add_item(tree
, hf_cigi3_weather_control_thickness
, tvb
, offset
, 4, cigi_byte_order
);
5335 proto_tree_add_item(tree
, hf_cigi3_weather_control_transition_band
, tvb
, offset
, 4, cigi_byte_order
);
5338 proto_tree_add_item(tree
, hf_cigi3_weather_control_horiz_wind
, tvb
, offset
, 4, cigi_byte_order
);
5341 proto_tree_add_item(tree
, hf_cigi3_weather_control_vert_wind
, tvb
, offset
, 4, cigi_byte_order
);
5344 proto_tree_add_item(tree
, hf_cigi3_weather_control_wind_direction
, tvb
, offset
, 4, cigi_byte_order
);
5347 proto_tree_add_item(tree
, hf_cigi3_weather_control_barometric_pressure
, tvb
, offset
, 4, cigi_byte_order
);
5350 proto_tree_add_item(tree
, hf_cigi3_weather_control_aerosol_concentration
, tvb
, offset
, 4, cigi_byte_order
);
5353 proto_tree_add_item(tree
, hf_cigi4_weather_control_top_scud_freq
, tvb
, offset
, 4, cigi_byte_order
);
5356 proto_tree_add_item(tree
, hf_cigi4_weather_control_top_transition_band
, tvb
, offset
, 4, cigi_byte_order
);
5365 /* CIGI3 Maritime Surface Conditions Control */
5367 cigi3_add_maritime_surface_conditions_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5371 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_entity_region_id
, tvb
, offset
, 2, cigi_byte_order
);
5374 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_surface_conditions_enable
, tvb
, offset
, 1, cigi_byte_order
);
5375 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_whitecap_enable
, tvb
, offset
, 1, cigi_byte_order
);
5376 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_scope
, tvb
, offset
, 1, cigi_byte_order
);
5379 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_sea_surface_height
, tvb
, offset
, 4, cigi_byte_order
);
5382 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_surface_water_temp
, tvb
, offset
, 4, cigi_byte_order
);
5385 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_surface_clarity
, tvb
, offset
, 4, cigi_byte_order
);
5391 /* CIGI4 Maritime Surface Conditions Control */
5393 cigi4_add_maritime_surface_conditions_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
5397 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_surface_conditions_enable
, tvb
, offset
, 1, cigi_byte_order
);
5398 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_whitecap_enable
, tvb
, offset
, 1, cigi_byte_order
);
5399 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_scope
, tvb
, offset
, 1, cigi_byte_order
);
5402 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_entity_region_id
, tvb
, offset
, 2, cigi_byte_order
);
5405 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_sea_surface_height
, tvb
, offset
, 4, cigi_byte_order
);
5408 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_surface_water_temp
, tvb
, offset
, 4, cigi_byte_order
);
5411 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_control_surface_clarity
, tvb
, offset
, 4, cigi_byte_order
);
5417 /* CIGI3 Wave Control */
5419 cigi3_add_wave_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5423 proto_tree_add_item(tree
, hf_cigi3_wave_control_entity_region_id
, tvb
, offset
, 2, cigi_byte_order
);
5426 proto_tree_add_item(tree
, hf_cigi3_wave_control_wave_id
, tvb
, offset
, 1, cigi_byte_order
);
5429 proto_tree_add_item(tree
, hf_cigi3_wave_control_wave_enable
, tvb
, offset
, 1, cigi_byte_order
);
5430 proto_tree_add_item(tree
, hf_cigi3_wave_control_scope
, tvb
, offset
, 1, cigi_byte_order
);
5431 proto_tree_add_item(tree
, hf_cigi3_wave_control_breaker_type
, tvb
, offset
, 1, cigi_byte_order
);
5434 proto_tree_add_item(tree
, hf_cigi3_wave_control_height
, tvb
, offset
, 4, cigi_byte_order
);
5437 proto_tree_add_item(tree
, hf_cigi3_wave_control_wavelength
, tvb
, offset
, 4, cigi_byte_order
);
5440 proto_tree_add_item(tree
, hf_cigi3_wave_control_period
, tvb
, offset
, 4, cigi_byte_order
);
5443 proto_tree_add_item(tree
, hf_cigi3_wave_control_direction
, tvb
, offset
, 4, cigi_byte_order
);
5446 proto_tree_add_item(tree
, hf_cigi3_wave_control_phase_offset
, tvb
, offset
, 4, cigi_byte_order
);
5449 proto_tree_add_item(tree
, hf_cigi3_wave_control_leading
, tvb
, offset
, 4, cigi_byte_order
);
5455 /* CIGI4 Wave Control */
5457 cigi4_add_wave_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
5461 proto_tree_add_item(tree
, hf_cigi3_wave_control_wave_id
, tvb
, offset
, 1, cigi_byte_order
);
5464 proto_tree_add_item(tree
, hf_cigi3_wave_control_wave_enable
, tvb
, offset
, 1, cigi_byte_order
);
5465 proto_tree_add_item(tree
, hf_cigi3_wave_control_scope
, tvb
, offset
, 1, cigi_byte_order
);
5466 proto_tree_add_item(tree
, hf_cigi3_wave_control_breaker_type
, tvb
, offset
, 1, cigi_byte_order
);
5469 proto_tree_add_item(tree
, hf_cigi3_wave_control_entity_region_id
, tvb
, offset
, 2, cigi_byte_order
);
5472 proto_tree_add_item(tree
, hf_cigi3_wave_control_height
, tvb
, offset
, 4, cigi_byte_order
);
5475 proto_tree_add_item(tree
, hf_cigi3_wave_control_wavelength
, tvb
, offset
, 4, cigi_byte_order
);
5478 proto_tree_add_item(tree
, hf_cigi3_wave_control_period
, tvb
, offset
, 4, cigi_byte_order
);
5481 proto_tree_add_item(tree
, hf_cigi3_wave_control_direction
, tvb
, offset
, 4, cigi_byte_order
);
5484 proto_tree_add_item(tree
, hf_cigi3_wave_control_phase_offset
, tvb
, offset
, 4, cigi_byte_order
);
5487 proto_tree_add_item(tree
, hf_cigi3_wave_control_leading
, tvb
, offset
, 4, cigi_byte_order
);
5493 /* CIGI3 Terrestrial Surface Conditions Control */
5495 cigi3_add_terrestrial_surface_conditions_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5499 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_entity_region_id
, tvb
, offset
, 2, cigi_byte_order
);
5502 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_surface_condition_id
, tvb
, offset
, 2, cigi_byte_order
);
5505 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_surface_condition_enable
, tvb
, offset
, 1, cigi_byte_order
);
5506 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_scope
, tvb
, offset
, 1, cigi_byte_order
);
5507 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_severity
, tvb
, offset
, 1, cigi_byte_order
);
5510 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_coverage
, tvb
, offset
, 1, cigi_byte_order
);
5516 /* CIGI4 Terrestrial Surface Conditions Control */
5518 cigi4_add_terrestrial_surface_conditions_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
5522 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_entity_region_id
, tvb
, offset
, 2, cigi_byte_order
);
5525 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_surface_condition_enable
, tvb
, offset
, 1, cigi_byte_order
);
5526 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_scope
, tvb
, offset
, 1, cigi_byte_order
);
5527 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_severity
, tvb
, offset
, 1, cigi_byte_order
);
5530 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_coverage
, tvb
, offset
, 1, cigi_byte_order
);
5533 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_control_surface_condition_id
, tvb
, offset
, 2, cigi_byte_order
);
5539 /* CIGI3 View Control */
5541 cigi3_add_view_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5545 proto_tree_add_item(tree
, hf_cigi3_view_control_view_id
, tvb
, offset
, 2, cigi_byte_order
);
5548 proto_tree_add_item(tree
, hf_cigi3_view_control_group_id
, tvb
, offset
, 1, cigi_byte_order
);
5551 proto_tree_add_item(tree
, hf_cigi3_view_control_xoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
5552 proto_tree_add_item(tree
, hf_cigi3_view_control_yoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
5553 proto_tree_add_item(tree
, hf_cigi3_view_control_zoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
5554 proto_tree_add_item(tree
, hf_cigi3_view_control_roll_enable
, tvb
, offset
, 1, cigi_byte_order
);
5555 proto_tree_add_item(tree
, hf_cigi3_view_control_pitch_enable
, tvb
, offset
, 1, cigi_byte_order
);
5556 proto_tree_add_item(tree
, hf_cigi3_view_control_yaw_enable
, tvb
, offset
, 1, cigi_byte_order
);
5559 proto_tree_add_item(tree
, hf_cigi3_view_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
5562 proto_tree_add_item(tree
, hf_cigi3_view_control_xoff
, tvb
, offset
, 4, cigi_byte_order
);
5565 proto_tree_add_item(tree
, hf_cigi3_view_control_yoff
, tvb
, offset
, 4, cigi_byte_order
);
5568 proto_tree_add_item(tree
, hf_cigi3_view_control_zoff
, tvb
, offset
, 4, cigi_byte_order
);
5571 proto_tree_add_item(tree
, hf_cigi3_view_control_roll
, tvb
, offset
, 4, cigi_byte_order
);
5574 proto_tree_add_item(tree
, hf_cigi3_view_control_pitch
, tvb
, offset
, 4, cigi_byte_order
);
5577 proto_tree_add_item(tree
, hf_cigi3_view_control_yaw
, tvb
, offset
, 4, cigi_byte_order
);
5583 /* CIGI4 View Control */
5585 cigi4_add_view_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
5589 proto_tree
* field_tree
;
5592 proto_tree_add_item(tree
, hf_cigi3_view_control_group_id
, tvb
, offset
, 1, cigi_byte_order
);
5596 tf
= proto_tree_add_item(tree
, hf_cigi4_view_control_enable_flags
, tvb
, offset
, 1, cigi_byte_order
);
5597 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_view_control_enable_flags
);
5598 proto_tree_add_item(field_tree
, hf_cigi3_view_control_xoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
5599 proto_tree_add_item(field_tree
, hf_cigi3_view_control_yoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
5600 proto_tree_add_item(field_tree
, hf_cigi3_view_control_zoff_enable
, tvb
, offset
, 1, cigi_byte_order
);
5601 proto_tree_add_item(field_tree
, hf_cigi3_view_control_roll_enable
, tvb
, offset
, 1, cigi_byte_order
);
5602 proto_tree_add_item(field_tree
, hf_cigi3_view_control_pitch_enable
, tvb
, offset
, 1, cigi_byte_order
);
5603 proto_tree_add_item(field_tree
, hf_cigi3_view_control_yaw_enable
, tvb
, offset
, 1, cigi_byte_order
);
5606 proto_tree_add_item(tree
, hf_cigi3_view_control_view_id
, tvb
, offset
, 2, cigi_byte_order
);
5609 proto_tree_add_item(tree
, hf_cigi3_view_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
5615 proto_tree_add_item(tree
, hf_cigi3_view_control_xoff
, tvb
, offset
, 4, cigi_byte_order
);
5618 proto_tree_add_item(tree
, hf_cigi3_view_control_yoff
, tvb
, offset
, 4, cigi_byte_order
);
5621 proto_tree_add_item(tree
, hf_cigi3_view_control_zoff
, tvb
, offset
, 4, cigi_byte_order
);
5624 proto_tree_add_item(tree
, hf_cigi3_view_control_roll
, tvb
, offset
, 4, cigi_byte_order
);
5627 proto_tree_add_item(tree
, hf_cigi3_view_control_pitch
, tvb
, offset
, 4, cigi_byte_order
);
5630 proto_tree_add_item(tree
, hf_cigi3_view_control_yaw
, tvb
, offset
, 4, cigi_byte_order
);
5636 /* CIGI3 Sensor Control */
5638 cigi3_add_sensor_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5642 proto_tree_add_item(tree
, hf_cigi3_sensor_control_view_id
, tvb
, offset
, 2, cigi_byte_order
);
5645 proto_tree_add_item(tree
, hf_cigi3_sensor_control_sensor_id
, tvb
, offset
, 1, cigi_byte_order
);
5648 proto_tree_add_item(tree
, hf_cigi3_sensor_control_sensor_on_off
, tvb
, offset
, 1, cigi_byte_order
);
5649 proto_tree_add_item(tree
, hf_cigi3_sensor_control_polarity
, tvb
, offset
, 1, cigi_byte_order
);
5650 proto_tree_add_item(tree
, hf_cigi3_sensor_control_line_dropout_enable
, tvb
, offset
, 1, cigi_byte_order
);
5651 proto_tree_add_item(tree
, hf_cigi3_sensor_control_auto_gain
, tvb
, offset
, 1, cigi_byte_order
);
5652 proto_tree_add_item(tree
, hf_cigi3_sensor_control_track_white_black
, tvb
, offset
, 1, cigi_byte_order
);
5653 proto_tree_add_item(tree
, hf_cigi3_sensor_control_track_mode
, tvb
, offset
, 1, cigi_byte_order
);
5656 proto_tree_add_item(tree
, hf_cigi3_sensor_control_response_type
, tvb
, offset
, 1, cigi_byte_order
);
5659 proto_tree_add_item(tree
, hf_cigi3_sensor_control_gain
, tvb
, offset
, 4, cigi_byte_order
);
5662 proto_tree_add_item(tree
, hf_cigi3_sensor_control_level
, tvb
, offset
, 4, cigi_byte_order
);
5665 proto_tree_add_item(tree
, hf_cigi3_sensor_control_ac_coupling
, tvb
, offset
, 4, cigi_byte_order
);
5668 proto_tree_add_item(tree
, hf_cigi3_sensor_control_noise
, tvb
, offset
, 4, cigi_byte_order
);
5674 /* CIGI4 Sensor Control */
5676 cigi4_add_sensor_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
5680 proto_tree_add_item(tree
, hf_cigi3_sensor_control_sensor_id
, tvb
, offset
, 1, cigi_byte_order
);
5683 proto_tree_add_item(tree
, hf_cigi3_sensor_control_sensor_on_off
, tvb
, offset
, 1, cigi_byte_order
);
5684 proto_tree_add_item(tree
, hf_cigi3_sensor_control_polarity
, tvb
, offset
, 1, cigi_byte_order
);
5685 proto_tree_add_item(tree
, hf_cigi3_sensor_control_line_dropout_enable
, tvb
, offset
, 1, cigi_byte_order
);
5686 proto_tree_add_item(tree
, hf_cigi3_sensor_control_auto_gain
, tvb
, offset
, 1, cigi_byte_order
);
5687 proto_tree_add_item(tree
, hf_cigi3_sensor_control_track_white_black
, tvb
, offset
, 1, cigi_byte_order
);
5688 proto_tree_add_item(tree
, hf_cigi3_sensor_control_track_mode
, tvb
, offset
, 1, cigi_byte_order
);
5691 proto_tree_add_item(tree
, hf_cigi3_sensor_control_response_type
, tvb
, offset
, 1, cigi_byte_order
);
5694 proto_tree_add_item(tree
, hf_cigi3_sensor_control_view_id
, tvb
, offset
, 2, cigi_byte_order
);
5697 proto_tree_add_item(tree
, hf_cigi3_sensor_control_gain
, tvb
, offset
, 4, cigi_byte_order
);
5700 proto_tree_add_item(tree
, hf_cigi3_sensor_control_level
, tvb
, offset
, 4, cigi_byte_order
);
5703 proto_tree_add_item(tree
, hf_cigi3_sensor_control_ac_coupling
, tvb
, offset
, 4, cigi_byte_order
);
5706 proto_tree_add_item(tree
, hf_cigi3_sensor_control_noise
, tvb
, offset
, 4, cigi_byte_order
);
5712 /* CIGI3 Motion Tracker Control */
5714 cigi3_add_motion_tracker_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5718 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_view_group_id
, tvb
, offset
, 2, cigi_byte_order
);
5721 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_tracker_id
, tvb
, offset
, 1, cigi_byte_order
);
5724 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_tracker_enable
, tvb
, offset
, 1, cigi_byte_order
);
5725 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_boresight_enable
, tvb
, offset
, 1, cigi_byte_order
);
5726 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_x_enable
, tvb
, offset
, 1, cigi_byte_order
);
5727 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_y_enable
, tvb
, offset
, 1, cigi_byte_order
);
5728 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_z_enable
, tvb
, offset
, 1, cigi_byte_order
);
5729 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_roll_enable
, tvb
, offset
, 1, cigi_byte_order
);
5730 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_pitch_enable
, tvb
, offset
, 1, cigi_byte_order
);
5731 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_yaw_enable
, tvb
, offset
, 1, cigi_byte_order
);
5734 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_view_group_select
, tvb
, offset
, 1, cigi_byte_order
);
5740 /* CIGI4 Motion Tracker Control */
5742 cigi4_add_motion_tracker_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
5746 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_tracker_id
, tvb
, offset
, 1, cigi_byte_order
);
5749 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_tracker_enable
, tvb
, offset
, 1, cigi_byte_order
);
5750 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_boresight_enable
, tvb
, offset
, 1, cigi_byte_order
);
5751 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_x_enable
, tvb
, offset
, 1, cigi_byte_order
);
5752 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_y_enable
, tvb
, offset
, 1, cigi_byte_order
);
5753 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_z_enable
, tvb
, offset
, 1, cigi_byte_order
);
5754 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_roll_enable
, tvb
, offset
, 1, cigi_byte_order
);
5755 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_pitch_enable
, tvb
, offset
, 1, cigi_byte_order
);
5756 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_yaw_enable
, tvb
, offset
, 1, cigi_byte_order
);
5759 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_view_group_select
, tvb
, offset
, 1, cigi_byte_order
);
5762 proto_tree_add_item(tree
, hf_cigi3_motion_tracker_control_view_group_id
, tvb
, offset
, 2, cigi_byte_order
);
5768 /* CIGI3 Earth Reference Model Definition */
5770 cigi3_add_earth_reference_model_definition(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5774 proto_tree_add_item(tree
, hf_cigi3_earth_reference_model_definition_erm_enable
, tvb
, offset
, 1, cigi_byte_order
);
5777 proto_tree_add_item(tree
, hf_cigi3_earth_reference_model_definition_equatorial_radius
, tvb
, offset
, 8, cigi_byte_order
);
5780 proto_tree_add_item(tree
, hf_cigi3_earth_reference_model_definition_flattening
, tvb
, offset
, 8, cigi_byte_order
);
5786 /* CIGI4 Earth Reference Model Definition */
5788 cigi4_add_earth_reference_model_definition(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
5792 proto_tree_add_item(tree
, hf_cigi3_earth_reference_model_definition_erm_enable
, tvb
, offset
, 1, cigi_byte_order
);
5795 proto_tree_add_item(tree
, hf_cigi3_earth_reference_model_definition_equatorial_radius
, tvb
, offset
, 8, cigi_byte_order
);
5798 proto_tree_add_item(tree
, hf_cigi3_earth_reference_model_definition_flattening
, tvb
, offset
, 8, cigi_byte_order
);
5804 /* CIGI3 Trajectory Definition */
5806 cigi3_add_trajectory_definition(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5810 proto_tree_add_item(tree
, hf_cigi3_trajectory_definition_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
5813 proto_tree_add_item(tree
, hf_cigi3_trajectory_definition_acceleration_x
, tvb
, offset
, 4, cigi_byte_order
);
5816 proto_tree_add_item(tree
, hf_cigi3_trajectory_definition_acceleration_y
, tvb
, offset
, 4, cigi_byte_order
);
5819 proto_tree_add_item(tree
, hf_cigi3_trajectory_definition_acceleration_z
, tvb
, offset
, 4, cigi_byte_order
);
5822 proto_tree_add_item(tree
, hf_cigi3_trajectory_definition_retardation_rate
, tvb
, offset
, 4, cigi_byte_order
);
5825 proto_tree_add_item(tree
, hf_cigi3_trajectory_definition_terminal_velocity
, tvb
, offset
, 4, cigi_byte_order
);
5831 /* CIGI4 Acceleration Control */
5833 cigi4_add_acceleration_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
5837 proto_tree_add_item(tree
, hf_cigi4_acceleration_control_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
5840 proto_tree_add_item(tree
, hf_cigi4_acceleration_control_articulated_part_id
, tvb
, offset
, 1, cigi_byte_order
);
5843 proto_tree_add_item(tree
, hf_cigi4_acceleration_control_apply_to_part
, tvb
, offset
, 1, cigi_byte_order
);
5844 proto_tree_add_item(tree
, hf_cigi4_acceleration_control_coord_system
, tvb
, offset
, 1, cigi_byte_order
);
5847 proto_tree_add_item(tree
, hf_cigi4_acceleration_control_acceleration_x
, tvb
, offset
, 4, cigi_byte_order
);
5850 proto_tree_add_item(tree
, hf_cigi4_acceleration_control_acceleration_y
, tvb
, offset
, 4, cigi_byte_order
);
5853 proto_tree_add_item(tree
, hf_cigi4_acceleration_control_acceleration_z
, tvb
, offset
, 4, cigi_byte_order
);
5856 proto_tree_add_item(tree
, hf_cigi4_acceleration_control_acceleration_roll
, tvb
, offset
, 4, cigi_byte_order
);
5859 proto_tree_add_item(tree
, hf_cigi4_acceleration_control_acceleration_pitch
, tvb
, offset
, 4, cigi_byte_order
);
5862 proto_tree_add_item(tree
, hf_cigi4_acceleration_control_acceleration_yaw
, tvb
, offset
, 4, cigi_byte_order
);
5869 /* CIGI3 View Definition */
5871 cigi3_add_view_definition(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5875 proto_tree_add_item(tree
, hf_cigi3_view_definition_view_id
, tvb
, offset
, 2, cigi_byte_order
);
5878 proto_tree_add_item(tree
, hf_cigi3_view_definition_group_id
, tvb
, offset
, 1, cigi_byte_order
);
5881 proto_tree_add_item(tree
, hf_cigi3_view_definition_near_enable
, tvb
, offset
, 1, cigi_byte_order
);
5882 proto_tree_add_item(tree
, hf_cigi3_view_definition_far_enable
, tvb
, offset
, 1, cigi_byte_order
);
5883 proto_tree_add_item(tree
, hf_cigi3_view_definition_left_enable
, tvb
, offset
, 1, cigi_byte_order
);
5884 proto_tree_add_item(tree
, hf_cigi3_view_definition_right_enable
, tvb
, offset
, 1, cigi_byte_order
);
5885 proto_tree_add_item(tree
, hf_cigi3_view_definition_top_enable
, tvb
, offset
, 1, cigi_byte_order
);
5886 proto_tree_add_item(tree
, hf_cigi3_view_definition_bottom_enable
, tvb
, offset
, 1, cigi_byte_order
);
5887 proto_tree_add_item(tree
, hf_cigi3_view_definition_mirror_mode
, tvb
, offset
, 1, cigi_byte_order
);
5890 proto_tree_add_item(tree
, hf_cigi3_view_definition_pixel_replication
, tvb
, offset
, 1, cigi_byte_order
);
5891 proto_tree_add_item(tree
, hf_cigi3_view_definition_projection_type
, tvb
, offset
, 1, cigi_byte_order
);
5892 proto_tree_add_item(tree
, hf_cigi3_view_definition_reorder
, tvb
, offset
, 1, cigi_byte_order
);
5893 proto_tree_add_item(tree
, hf_cigi3_view_definition_view_type
, tvb
, offset
, 1, cigi_byte_order
);
5896 proto_tree_add_item(tree
, hf_cigi3_view_definition_near
, tvb
, offset
, 4, cigi_byte_order
);
5899 proto_tree_add_item(tree
, hf_cigi3_view_definition_far
, tvb
, offset
, 4, cigi_byte_order
);
5902 proto_tree_add_item(tree
, hf_cigi3_view_definition_left
, tvb
, offset
, 4, cigi_byte_order
);
5905 proto_tree_add_item(tree
, hf_cigi3_view_definition_right
, tvb
, offset
, 4, cigi_byte_order
);
5908 proto_tree_add_item(tree
, hf_cigi3_view_definition_top
, tvb
, offset
, 4, cigi_byte_order
);
5911 proto_tree_add_item(tree
, hf_cigi3_view_definition_bottom
, tvb
, offset
, 4, cigi_byte_order
);
5917 /* CIGI4 View Definition */
5919 cigi4_add_view_definition(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5923 proto_tree_add_item(tree
, hf_cigi3_view_definition_view_id
, tvb
, offset
, 2, cigi_byte_order
);
5926 proto_tree_add_item(tree
, hf_cigi3_view_definition_group_id
, tvb
, offset
, 1, cigi_byte_order
);
5929 proto_tree_add_item(tree
, hf_cigi3_view_definition_near_enable
, tvb
, offset
, 1, cigi_byte_order
);
5930 proto_tree_add_item(tree
, hf_cigi3_view_definition_far_enable
, tvb
, offset
, 1, cigi_byte_order
);
5931 proto_tree_add_item(tree
, hf_cigi3_view_definition_left_enable
, tvb
, offset
, 1, cigi_byte_order
);
5932 proto_tree_add_item(tree
, hf_cigi3_view_definition_right_enable
, tvb
, offset
, 1, cigi_byte_order
);
5933 proto_tree_add_item(tree
, hf_cigi3_view_definition_top_enable
, tvb
, offset
, 1, cigi_byte_order
);
5934 proto_tree_add_item(tree
, hf_cigi3_view_definition_bottom_enable
, tvb
, offset
, 1, cigi_byte_order
);
5935 proto_tree_add_item(tree
, hf_cigi3_view_definition_mirror_mode
, tvb
, offset
, 1, cigi_byte_order
);
5938 proto_tree_add_item(tree
, hf_cigi3_view_definition_pixel_replication
, tvb
, offset
, 1, cigi_byte_order
);
5939 proto_tree_add_item(tree
, hf_cigi3_view_definition_projection_type
, tvb
, offset
, 1, cigi_byte_order
);
5940 proto_tree_add_item(tree
, hf_cigi3_view_definition_reorder
, tvb
, offset
, 1, cigi_byte_order
);
5941 proto_tree_add_item(tree
, hf_cigi3_view_definition_view_type
, tvb
, offset
, 1, cigi_byte_order
);
5944 proto_tree_add_item(tree
, hf_cigi3_view_definition_near
, tvb
, offset
, 4, cigi_byte_order
);
5947 proto_tree_add_item(tree
, hf_cigi3_view_definition_far
, tvb
, offset
, 4, cigi_byte_order
);
5950 proto_tree_add_item(tree
, hf_cigi3_view_definition_left
, tvb
, offset
, 4, cigi_byte_order
);
5953 proto_tree_add_item(tree
, hf_cigi3_view_definition_right
, tvb
, offset
, 4, cigi_byte_order
);
5956 proto_tree_add_item(tree
, hf_cigi3_view_definition_top
, tvb
, offset
, 4, cigi_byte_order
);
5959 proto_tree_add_item(tree
, hf_cigi3_view_definition_bottom
, tvb
, offset
, 4, cigi_byte_order
);
5965 /* CIGI3 Collision Detection Segment Definition */
5967 cigi3_add_collision_detection_segment_definition(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
5971 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
5974 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_segment_id
, tvb
, offset
, 1, cigi_byte_order
);
5977 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_segment_enable
, tvb
, offset
, 1, cigi_byte_order
);
5980 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_x1
, tvb
, offset
, 4, cigi_byte_order
);
5983 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_y1
, tvb
, offset
, 4, cigi_byte_order
);
5986 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_z1
, tvb
, offset
, 4, cigi_byte_order
);
5989 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_x2
, tvb
, offset
, 4, cigi_byte_order
);
5992 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_y2
, tvb
, offset
, 4, cigi_byte_order
);
5995 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_z2
, tvb
, offset
, 4, cigi_byte_order
);
5998 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_material_mask
, tvb
, offset
, 4, cigi_byte_order
);
6004 /* CIGI4 Collision Detection Segment Definition */
6006 cigi4_add_collision_detection_segment_definition(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
6010 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_segment_id
, tvb
, offset
, 1, cigi_byte_order
);
6013 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_segment_enable
, tvb
, offset
, 1, cigi_byte_order
);
6016 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
6019 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_x1
, tvb
, offset
, 4, cigi_byte_order
);
6022 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_y1
, tvb
, offset
, 4, cigi_byte_order
);
6025 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_z1
, tvb
, offset
, 4, cigi_byte_order
);
6028 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_x2
, tvb
, offset
, 4, cigi_byte_order
);
6031 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_y2
, tvb
, offset
, 4, cigi_byte_order
);
6034 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_z2
, tvb
, offset
, 4, cigi_byte_order
);
6037 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_definition_material_mask
, tvb
, offset
, 4, cigi_byte_order
);
6043 /* CIGI3 Collision Detection Volume Definition */
6045 cigi3_add_collision_detection_volume_definition(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
6049 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
6052 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_volume_id
, tvb
, offset
, 1, cigi_byte_order
);
6055 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_volume_enable
, tvb
, offset
, 1, cigi_byte_order
);
6056 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_volume_type
, tvb
, offset
, 1, cigi_byte_order
);
6059 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_x
, tvb
, offset
, 4, cigi_byte_order
);
6062 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_y
, tvb
, offset
, 4, cigi_byte_order
);
6065 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_z
, tvb
, offset
, 4, cigi_byte_order
);
6068 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_radius_height
, tvb
, offset
, 4, cigi_byte_order
);
6071 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_width
, tvb
, offset
, 4, cigi_byte_order
);
6074 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_depth
, tvb
, offset
, 4, cigi_byte_order
);
6077 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_roll
, tvb
, offset
, 4, cigi_byte_order
);
6080 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_pitch
, tvb
, offset
, 4, cigi_byte_order
);
6083 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_yaw
, tvb
, offset
, 4, cigi_byte_order
);
6089 /* CIGI4 Collision Detection Volume Definition */
6091 cigi4_add_collision_detection_volume_definition(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
6095 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_volume_id
, tvb
, offset
, 1, cigi_byte_order
);
6098 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_volume_enable
, tvb
, offset
, 1, cigi_byte_order
);
6099 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_volume_type
, tvb
, offset
, 1, cigi_byte_order
);
6102 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
6105 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_x
, tvb
, offset
, 4, cigi_byte_order
);
6108 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_y
, tvb
, offset
, 4, cigi_byte_order
);
6111 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_z
, tvb
, offset
, 4, cigi_byte_order
);
6114 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_radius_height
, tvb
, offset
, 4, cigi_byte_order
);
6117 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_width
, tvb
, offset
, 4, cigi_byte_order
);
6120 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_depth
, tvb
, offset
, 4, cigi_byte_order
);
6123 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_roll
, tvb
, offset
, 4, cigi_byte_order
);
6126 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_pitch
, tvb
, offset
, 4, cigi_byte_order
);
6129 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_definition_yaw
, tvb
, offset
, 4, cigi_byte_order
);
6135 /* CIGI3 HAT/HOT Request */
6137 cigi3_add_hat_hot_request(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
6141 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_hat_hot_id
, tvb
, offset
, 2, cigi_byte_order
);
6144 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_type
, tvb
, offset
, 1, cigi_byte_order
);
6145 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_coordinate_system
, tvb
, offset
, 1, cigi_byte_order
);
6148 if (cigi_minor_version
>= 2) {
6149 proto_tree_add_item(tree
, hf_cigi3_2_hat_hot_request_update_period
, tvb
, offset
, 1, cigi_byte_order
);
6153 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
6156 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
6159 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
6162 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
6168 /* CIGI3 Line of Sight Segment Request */
6170 cigi3_add_line_of_sight_segment_request(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
6174 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_los_id
, tvb
, offset
, 2, cigi_byte_order
);
6177 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_type
, tvb
, offset
, 1, cigi_byte_order
);
6178 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_source_coord
, tvb
, offset
, 1, cigi_byte_order
);
6179 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_destination_coord
, tvb
, offset
, 1, cigi_byte_order
);
6180 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_response_coord
, tvb
, offset
, 1, cigi_byte_order
);
6181 if (cigi_minor_version
>= 2) {
6182 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_segment_request_destination_entity_id_valid
, tvb
, offset
, 1, cigi_byte_order
);
6186 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_alpha_threshold
, tvb
, offset
, 1, cigi_byte_order
);
6189 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_source_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
6192 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_source_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
6195 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_source_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
6198 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_source_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
6201 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_destination_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
6204 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_destination_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
6207 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_destination_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
6210 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_material_mask
, tvb
, offset
, 4, cigi_byte_order
);
6213 if (cigi_minor_version
>= 2) {
6214 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_segment_request_update_period
, tvb
, offset
, 1, cigi_byte_order
);
6217 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_segment_request_destination_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
6226 /* CIGI4 Line of Sight Segment Request */
6228 cigi4_add_line_of_sight_segment_request(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
6232 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_los_id
, tvb
, offset
, 2, cigi_byte_order
);
6235 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_source_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
6238 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_type
, tvb
, offset
, 1, cigi_byte_order
);
6239 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_source_coord
, tvb
, offset
, 1, cigi_byte_order
);
6240 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_destination_coord
, tvb
, offset
, 1, cigi_byte_order
);
6241 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_response_coord
, tvb
, offset
, 1, cigi_byte_order
);
6242 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_segment_request_destination_entity_id_valid
, tvb
, offset
, 1, cigi_byte_order
);
6245 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_alpha_threshold
, tvb
, offset
, 1, cigi_byte_order
);
6248 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_segment_request_destination_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
6251 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_segment_request_update_period
, tvb
, offset
, 1, cigi_byte_order
);
6254 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_source_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
6257 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_source_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
6260 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_source_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
6263 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_destination_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
6266 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_destination_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
6269 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_destination_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
6272 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_segment_request_material_mask
, tvb
, offset
, 4, cigi_byte_order
);
6278 /* CIGI3 Line of Sight Vector Request */
6280 cigi3_add_line_of_sight_vector_request(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
6284 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_los_id
, tvb
, offset
, 2, cigi_byte_order
);
6287 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_type
, tvb
, offset
, 1, cigi_byte_order
);
6288 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_source_coord
, tvb
, offset
, 1, cigi_byte_order
);
6289 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_response_coord
, tvb
, offset
, 1, cigi_byte_order
);
6292 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_alpha
, tvb
, offset
, 1, cigi_byte_order
);
6295 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
6298 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_azimuth
, tvb
, offset
, 4, cigi_byte_order
);
6301 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_elevation
, tvb
, offset
, 4, cigi_byte_order
);
6304 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_min_range
, tvb
, offset
, 4, cigi_byte_order
);
6307 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_max_range
, tvb
, offset
, 4, cigi_byte_order
);
6310 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_source_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
6313 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_source_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
6316 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_source_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
6319 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_material_mask
, tvb
, offset
, 4, cigi_byte_order
);
6322 if (cigi_minor_version
>= 2) {
6323 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_vector_request_update_period
, tvb
, offset
, 1, cigi_byte_order
);
6330 /* CIGI4 Line of Sight Vector Request */
6332 cigi4_add_line_of_sight_vector_request(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
6336 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_los_id
, tvb
, offset
, 2, cigi_byte_order
);
6339 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
6342 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_type
, tvb
, offset
, 1, cigi_byte_order
);
6343 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_source_coord
, tvb
, offset
, 1, cigi_byte_order
);
6344 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_response_coord
, tvb
, offset
, 1, cigi_byte_order
);
6347 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_alpha
, tvb
, offset
, 1, cigi_byte_order
);
6350 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_vector_request_update_period
, tvb
, offset
, 1, cigi_byte_order
);
6353 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_azimuth
, tvb
, offset
, 4, cigi_byte_order
);
6356 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_elevation
, tvb
, offset
, 4, cigi_byte_order
);
6359 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_min_range
, tvb
, offset
, 4, cigi_byte_order
);
6362 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_max_range
, tvb
, offset
, 4, cigi_byte_order
);
6365 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_source_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
6368 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_source_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
6371 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_source_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
6374 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_vector_request_material_mask
, tvb
, offset
, 4, cigi_byte_order
);
6380 /* CIGI3 Position Request */
6382 cigi3_add_position_request(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
6386 proto_tree_add_item(tree
, hf_cigi3_position_request_object_id
, tvb
, offset
, 2, cigi_byte_order
);
6389 proto_tree_add_item(tree
, hf_cigi3_position_request_part_id
, tvb
, offset
, 1, cigi_byte_order
);
6392 proto_tree_add_item(tree
, hf_cigi3_position_request_update_mode
, tvb
, offset
, 1, cigi_byte_order
);
6393 proto_tree_add_item(tree
, hf_cigi3_position_request_object_class
, tvb
, offset
, 1, cigi_byte_order
);
6394 proto_tree_add_item(tree
, hf_cigi3_position_request_coord_system
, tvb
, offset
, 1, cigi_byte_order
);
6401 /* CIGI4 Position Request */
6403 cigi4_add_position_request(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
6407 proto_tree_add_item(tree
, hf_cigi3_position_request_part_id
, tvb
, offset
, 1, cigi_byte_order
);
6410 proto_tree_add_item(tree
, hf_cigi3_position_request_update_mode
, tvb
, offset
, 1, cigi_byte_order
);
6411 proto_tree_add_item(tree
, hf_cigi3_position_request_object_class
, tvb
, offset
, 1, cigi_byte_order
);
6412 proto_tree_add_item(tree
, hf_cigi3_position_request_coord_system
, tvb
, offset
, 1, cigi_byte_order
);
6415 proto_tree_add_item(tree
, hf_cigi3_position_request_object_id
, tvb
, offset
, 2, cigi_byte_order
);
6421 /* CIGI3 Environmental Conditions Request */
6423 cigi3_add_environmental_conditions_request(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
6427 proto_tree_add_item(tree
, hf_cigi3_environmental_conditions_request_type
, tvb
, offset
, 1, cigi_byte_order
);
6430 proto_tree_add_item(tree
, hf_cigi3_environmental_conditions_request_id
, tvb
, offset
, 1, cigi_byte_order
);
6433 proto_tree_add_item(tree
, hf_cigi3_environmental_conditions_request_lat
, tvb
, offset
, 8, cigi_byte_order
);
6436 proto_tree_add_item(tree
, hf_cigi3_environmental_conditions_request_lon
, tvb
, offset
, 8, cigi_byte_order
);
6439 proto_tree_add_item(tree
, hf_cigi3_environmental_conditions_request_alt
, tvb
, offset
, 8, cigi_byte_order
);
6445 /* CIGI4 Environmental Conditions Request */
6447 cigi4_add_environmental_conditions_request(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
6451 proto_tree_add_item(tree
, hf_cigi3_environmental_conditions_request_type
, tvb
, offset
, 1, cigi_byte_order
);
6454 proto_tree_add_item(tree
, hf_cigi3_environmental_conditions_request_id
, tvb
, offset
, 1, cigi_byte_order
);
6457 proto_tree_add_item(tree
, hf_cigi3_environmental_conditions_request_lat
, tvb
, offset
, 8, cigi_byte_order
);
6460 proto_tree_add_item(tree
, hf_cigi3_environmental_conditions_request_lon
, tvb
, offset
, 8, cigi_byte_order
);
6463 proto_tree_add_item(tree
, hf_cigi3_environmental_conditions_request_alt
, tvb
, offset
, 8, cigi_byte_order
);
6469 /* CIGI3_3 Symbol Surface Definition */
6471 cigi3_3_add_symbol_surface_definition(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
6475 /* Dissect as data on versions before 3.3 */
6476 if (cigi_minor_version
< 3) {
6480 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_surface_id
, tvb
, offset
, 2, cigi_byte_order
);
6483 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_surface_state
, tvb
, offset
, 1, cigi_byte_order
);
6484 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_attach_type
, tvb
, offset
, 1, cigi_byte_order
);
6485 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_billboard
, tvb
, offset
, 1, cigi_byte_order
);
6486 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_perspective_growth_enable
, tvb
, offset
, 1, cigi_byte_order
);
6489 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_entity_view_id
, tvb
, offset
, 2, cigi_byte_order
);
6492 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_xoff_left
, tvb
, offset
, 4, cigi_byte_order
);
6495 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_yoff_right
, tvb
, offset
, 4, cigi_byte_order
);
6498 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_zoff_top
, tvb
, offset
, 4, cigi_byte_order
);
6501 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_yaw_bottom
, tvb
, offset
, 4, cigi_byte_order
);
6504 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_pitch
, tvb
, offset
, 4, cigi_byte_order
);
6507 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_roll
, tvb
, offset
, 4, cigi_byte_order
);
6510 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_width
, tvb
, offset
, 4, cigi_byte_order
);
6513 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_height
, tvb
, offset
, 4, cigi_byte_order
);
6516 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_min_u
, tvb
, offset
, 4, cigi_byte_order
);
6519 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_max_u
, tvb
, offset
, 4, cigi_byte_order
);
6522 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_min_v
, tvb
, offset
, 4, cigi_byte_order
);
6525 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_max_v
, tvb
, offset
, 4, cigi_byte_order
);
6531 /* CIGI4 Symbol Surface Definition */
6533 cigi4_add_symbol_surface_definition(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
6537 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_surface_id
, tvb
, offset
, 2, cigi_byte_order
);
6540 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_entity_view_id
, tvb
, offset
, 2, cigi_byte_order
);
6543 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_surface_state
, tvb
, offset
, 1, cigi_byte_order
);
6544 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_attach_type
, tvb
, offset
, 1, cigi_byte_order
);
6545 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_billboard
, tvb
, offset
, 1, cigi_byte_order
);
6546 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_perspective_growth_enable
, tvb
, offset
, 1, cigi_byte_order
);
6549 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_xoff_left
, tvb
, offset
, 4, cigi_byte_order
);
6552 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_yoff_right
, tvb
, offset
, 4, cigi_byte_order
);
6555 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_zoff_top
, tvb
, offset
, 4, cigi_byte_order
);
6558 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_yaw_bottom
, tvb
, offset
, 4, cigi_byte_order
);
6561 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_pitch
, tvb
, offset
, 4, cigi_byte_order
);
6564 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_roll
, tvb
, offset
, 4, cigi_byte_order
);
6567 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_width
, tvb
, offset
, 4, cigi_byte_order
);
6570 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_height
, tvb
, offset
, 4, cigi_byte_order
);
6573 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_min_u
, tvb
, offset
, 4, cigi_byte_order
);
6576 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_max_u
, tvb
, offset
, 4, cigi_byte_order
);
6579 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_min_v
, tvb
, offset
, 4, cigi_byte_order
);
6582 proto_tree_add_item(tree
, hf_cigi3_3_symbol_surface_definition_max_v
, tvb
, offset
, 4, cigi_byte_order
);
6588 /* CIGI3_3 Symbol Text Definition */
6590 cigi3_3_add_symbol_text_definition(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
6594 if (cigi_minor_version
< 3) {
6598 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
6601 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_alignment
, tvb
, offset
, 1, cigi_byte_order
);
6602 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_orientation
, tvb
, offset
, 1, cigi_byte_order
);
6605 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_font_ident
, tvb
, offset
, 1, cigi_byte_order
);
6608 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_font_size
, tvb
, offset
, 4, cigi_byte_order
);
6611 if (tvb_reported_length_remaining(tvb
, offset
) < 2) {
6612 proto_tree_add_expert_format(tree
, pinfo
, &ei_cigi_invalid_len
, tvb
, 0,
6613 tvb_reported_length(tvb
), "Insufficient room for symbol text definition");
6615 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_text
, tvb
, offset
,
6616 tvb_reported_length_remaining(tvb
, offset
), cigi_byte_order
);
6619 return tvb_reported_length(tvb
);
6622 /* CIGI4 Symbol Text Definition */
6624 cigi4_add_symbol_text_definition(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
6628 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_alignment
, tvb
, offset
, 1, cigi_byte_order
);
6629 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_orientation
, tvb
, offset
, 1, cigi_byte_order
);
6632 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_font_ident
, tvb
, offset
, 1, cigi_byte_order
);
6635 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
6638 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_font_size
, tvb
, offset
, 4, cigi_byte_order
);
6641 if (tvb_reported_length_remaining(tvb
, offset
) < 2) {
6642 proto_tree_add_expert_format(tree
, pinfo
, &ei_cigi_invalid_len
, tvb
, 0,
6643 tvb_reported_length(tvb
), "Insufficient room for symbol text definition");
6645 proto_tree_add_item(tree
, hf_cigi3_3_symbol_text_definition_text
, tvb
, offset
,
6646 tvb_reported_length_remaining(tvb
, offset
), cigi_byte_order
);
6649 return tvb_reported_length(tvb
);
6652 /* CIGI3_3 Symbol Circle Definition */
6654 cigi3_3_add_symbol_circle_definition(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
6660 if (cigi_minor_version
< 3) {
6664 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
6667 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_drawing_style
, tvb
, offset
, 1, cigi_byte_order
);
6670 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_stipple_pattern
, tvb
, offset
, 2, cigi_byte_order
);
6673 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_line_width
, tvb
, offset
, 4, cigi_byte_order
);
6676 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_stipple_pattern_length
, tvb
, offset
, 4, cigi_byte_order
);
6679 ncircles
= tvb_reported_length_remaining(tvb
, offset
) / 24;
6681 /* The length of tvb is determined by a 1 octet packet length value and
6682 * thus there should be fewer than 10 circles (CIGI 3.3 4.1.31)
6684 DISSECTOR_ASSERT_CMPINT(ncircles
, <, 10);
6686 for (c
= 0; c
< ncircles
; c
++) {
6687 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_center_u
[c
], tvb
, offset
, 4, cigi_byte_order
);
6690 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_center_v
[c
], tvb
, offset
, 4, cigi_byte_order
);
6693 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_radius
[c
], tvb
, offset
, 4, cigi_byte_order
);
6696 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_inner_radius
[c
], tvb
, offset
, 4, cigi_byte_order
);
6699 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_start_angle
[c
], tvb
, offset
, 4, cigi_byte_order
);
6702 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_end_angle
[c
], tvb
, offset
, 4, cigi_byte_order
);
6709 /* CIGI4 Symbol Circle Definition */
6711 cigi4_add_symbol_circle_definition(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
6715 proto_tree
* field_tree
;
6718 int ncircles
, c
, c_field
;
6720 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
6723 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_stipple_pattern
, tvb
, offset
, 2, cigi_byte_order
);
6726 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_drawing_style
, tvb
, offset
, 1, cigi_byte_order
);
6729 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_line_width
, tvb
, offset
, 4, cigi_byte_order
);
6732 proto_tree_add_item(tree
, hf_cigi3_3_symbol_circle_definition_stipple_pattern_length
, tvb
, offset
, 4, cigi_byte_order
);
6735 ncircles
= tvb_reported_length_remaining(tvb
, offset
) / 24;
6737 for (c
= 0; c
< ncircles
; c
++) {
6738 tf
= proto_tree_add_item(tree
, hf_cigi4_symbol_circle_definition_circles
, tvb
, offset
, 24, cigi_byte_order
);
6739 proto_item_append_text(tf
, " %u", c
);
6740 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_symbol_circle_definition_circles
);
6742 /* XXX: The length of tvb is determined by a 2 octet packet length value and
6743 * thus there can be more circles than fields that are declared (unlike
6744 * CIGI 3). Make sure we don't have a memory error.
6746 c_field
= c
% array_length(hf_cigi3_3_symbol_circle_definition_center_u
);
6748 proto_tree_add_item(field_tree
, hf_cigi3_3_symbol_circle_definition_center_u
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
6751 proto_tree_add_item(field_tree
, hf_cigi3_3_symbol_circle_definition_center_v
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
6754 proto_tree_add_item(field_tree
, hf_cigi3_3_symbol_circle_definition_radius
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
6757 proto_tree_add_item(field_tree
, hf_cigi3_3_symbol_circle_definition_inner_radius
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
6760 proto_tree_add_item(field_tree
, hf_cigi3_3_symbol_circle_definition_start_angle
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
6763 proto_tree_add_item(field_tree
, hf_cigi3_3_symbol_circle_definition_end_angle
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
6770 /* CIGI3_3 Symbol Line Definition */
6772 cigi3_3_add_symbol_line_definition(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
6778 if (cigi_minor_version
< 3) {
6782 proto_tree_add_item(tree
, hf_cigi3_3_symbol_line_definition_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
6785 proto_tree_add_item(tree
, hf_cigi3_3_symbol_line_definition_primitive_type
, tvb
, offset
, 1, cigi_byte_order
);
6788 proto_tree_add_item(tree
, hf_cigi3_3_symbol_line_definition_stipple_pattern
, tvb
, offset
, 2, cigi_byte_order
);
6791 proto_tree_add_item(tree
, hf_cigi3_3_symbol_line_definition_line_width
, tvb
, offset
, 4, cigi_byte_order
);
6794 proto_tree_add_item(tree
, hf_cigi3_3_symbol_line_definition_stipple_pattern_length
, tvb
, offset
, 4, cigi_byte_order
);
6797 nvertices
= tvb_reported_length_remaining(tvb
, offset
) / 8;
6799 /* The length of tvb is determined by a 1 octet packet length value and
6800 * thus there should be fewer than 30 vertices (CIGI 3.3 4.1.32)
6802 DISSECTOR_ASSERT_CMPINT(nvertices
, <, 30);
6804 for(v
=0; v
<nvertices
; v
++) {
6805 proto_tree_add_item(tree
, hf_cigi3_3_symbol_line_definition_vertex_u
[v
], tvb
, offset
, 4, cigi_byte_order
);
6808 proto_tree_add_item(tree
, hf_cigi3_3_symbol_line_definition_vertex_v
[v
], tvb
, offset
, 4, cigi_byte_order
);
6815 /* CIGI4 Symbol Polygon Definition */
6817 cigi4_add_symbol_polygon_definition(tvbuff_t
* tvb
, packet_info
*pinfo _U_
, proto_tree
* tree
, void *data _U_
)
6821 proto_tree
* field_tree
;
6824 int nvertices
, v
, v_field
;
6826 proto_tree_add_item(tree
, hf_cigi4_symbol_polygon_definition_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
6829 proto_tree_add_item(tree
, hf_cigi4_symbol_polygon_definition_stipple_pattern
, tvb
, offset
, 2, cigi_byte_order
);
6832 proto_tree_add_item(tree
, hf_cigi4_symbol_polygon_definition_primitive_type
, tvb
, offset
, 1, cigi_byte_order
);
6835 proto_tree_add_item(tree
, hf_cigi4_symbol_polygon_definition_line_width
, tvb
, offset
, 4, cigi_byte_order
);
6838 proto_tree_add_item(tree
, hf_cigi4_symbol_polygon_definition_stipple_pattern_length
, tvb
, offset
, 4, cigi_byte_order
);
6841 nvertices
= tvb_reported_length_remaining(tvb
, offset
) / 8;
6843 for (v
= 0; v
< nvertices
; v
++) {
6844 tf
= proto_tree_add_item(tree
, hf_cigi4_symbol_polygon_definition_vertices
, tvb
, offset
, 8, cigi_byte_order
);
6845 proto_item_append_text(tf
, "[%u]", v
);
6846 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_symbol_polygon_definition_vertices
);
6848 /* XXX: The length of tvb is determined by a 2 octet packet length value and
6849 * thus there can be more vertices than fields that are declared (unlike
6850 * CIGI 3). Make sure we don't have a memory error.
6852 v_field
= v
% array_length(hf_cigi4_symbol_polygon_definition_vertex_u
);
6854 proto_tree_add_item(field_tree
, hf_cigi4_symbol_polygon_definition_vertex_u
[v_field
], tvb
, offset
, 4, cigi_byte_order
);
6857 proto_tree_add_item(field_tree
, hf_cigi4_symbol_polygon_definition_vertex_v
[v_field
], tvb
, offset
, 4, cigi_byte_order
);
6864 /* CIGI3_3 Symbol Clone */
6866 cigi3_3_add_symbol_clone(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
6870 if (cigi_minor_version
< 3) {
6874 proto_tree_add_item(tree
, hf_cigi3_3_symbol_clone_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
6877 proto_tree_add_item(tree
, hf_cigi3_3_symbol_clone_source_type
, tvb
, offset
, 1, cigi_byte_order
);
6880 proto_tree_add_item(tree
, hf_cigi3_3_symbol_clone_source_id
, tvb
, offset
, 2, cigi_byte_order
);
6886 /* CIGI4 Symbol Clone */
6888 cigi4_add_symbol_clone(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
6892 proto_tree_add_item(tree
, hf_cigi3_3_symbol_clone_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
6895 proto_tree_add_item(tree
, hf_cigi3_3_symbol_clone_source_id
, tvb
, offset
, 2, cigi_byte_order
);
6898 proto_tree_add_item(tree
, hf_cigi3_3_symbol_clone_source_type
, tvb
, offset
, 1, cigi_byte_order
);
6904 /* CIGI3_3 Symbol Control */
6906 cigi3_3_add_symbol_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
6910 if (cigi_minor_version
< 3) {
6914 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
6917 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_symbol_state
, tvb
, offset
, 1, cigi_byte_order
);
6918 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_attach_state
, tvb
, offset
, 1, cigi_byte_order
);
6919 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_flash_control
, tvb
, offset
, 1, cigi_byte_order
);
6920 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_inherit_color
, tvb
, offset
, 1, cigi_byte_order
);
6923 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_parent_symbol_ident
, tvb
, offset
, 2, cigi_byte_order
);
6926 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_surface_ident
, tvb
, offset
, 2, cigi_byte_order
);
6929 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_layer
, tvb
, offset
, 1, cigi_byte_order
);
6932 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_flash_duty_cycle
, tvb
, offset
, 1, cigi_byte_order
);
6935 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_flash_period
, tvb
, offset
, 4, cigi_byte_order
);
6938 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_position_u
, tvb
, offset
, 4, cigi_byte_order
);
6941 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_position_v
, tvb
, offset
, 4, cigi_byte_order
);
6944 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_rotation
, tvb
, offset
, 4, cigi_byte_order
);
6947 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_red
, tvb
, offset
, 1, cigi_byte_order
);
6950 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_green
, tvb
, offset
, 1, cigi_byte_order
);
6953 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_blue
, tvb
, offset
, 1, cigi_byte_order
);
6956 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_alpha
, tvb
, offset
, 1, cigi_byte_order
);
6959 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_scale_u
, tvb
, offset
, 4, cigi_byte_order
);
6962 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_scale_v
, tvb
, offset
, 4, cigi_byte_order
);
6968 /* CIGI4 Symbol Control */
6970 cigi4_add_symbol_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
6974 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
6977 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_parent_symbol_ident
, tvb
, offset
, 2, cigi_byte_order
);
6980 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_symbol_state
, tvb
, offset
, 1, cigi_byte_order
);
6981 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_attach_state
, tvb
, offset
, 1, cigi_byte_order
);
6982 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_flash_control
, tvb
, offset
, 1, cigi_byte_order
);
6983 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_inherit_color
, tvb
, offset
, 1, cigi_byte_order
);
6986 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_layer
, tvb
, offset
, 1, cigi_byte_order
);
6989 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_flash_duty_cycle
, tvb
, offset
, 1, cigi_byte_order
);
6992 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_surface_ident
, tvb
, offset
, 2, cigi_byte_order
);
6995 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_flash_period
, tvb
, offset
, 4, cigi_byte_order
);
6998 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_position_u
, tvb
, offset
, 4, cigi_byte_order
);
7001 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_position_v
, tvb
, offset
, 4, cigi_byte_order
);
7004 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_rotation
, tvb
, offset
, 4, cigi_byte_order
);
7007 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_red
, tvb
, offset
, 1, cigi_byte_order
);
7010 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_green
, tvb
, offset
, 1, cigi_byte_order
);
7013 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_blue
, tvb
, offset
, 1, cigi_byte_order
);
7016 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_alpha
, tvb
, offset
, 1, cigi_byte_order
);
7019 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_scale_u
, tvb
, offset
, 4, cigi_byte_order
);
7022 proto_tree_add_item(tree
, hf_cigi3_3_symbol_control_scale_v
, tvb
, offset
, 4, cigi_byte_order
);
7028 /* CIGI3_3 Short Symbol Control */
7030 cigi3_3_add_short_symbol_control(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7034 if (cigi_minor_version
< 3) {
7038 uint8_t select1
= 0;
7039 uint8_t select2
= 0;
7041 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
7044 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_symbol_state
, tvb
, offset
, 1, cigi_byte_order
);
7045 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attach_state
, tvb
, offset
, 1, cigi_byte_order
);
7046 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_flash_control
, tvb
, offset
, 1, cigi_byte_order
);
7047 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_inherit_color
, tvb
, offset
, 1, cigi_byte_order
);
7050 select1
= tvb_get_uint8(tvb
, offset
);
7051 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attribute_select1
, tvb
, offset
, 1, cigi_byte_order
);
7054 select2
= tvb_get_uint8(tvb
, offset
);
7055 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attribute_select2
, tvb
, offset
, 1, cigi_byte_order
);
7059 if (cigi_byte_order
== ENC_BIG_ENDIAN
) {
7060 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_red1
, tvb
, offset
, 1, cigi_byte_order
);
7063 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_green1
, tvb
, offset
, 1, cigi_byte_order
);
7066 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_blue1
, tvb
, offset
, 1, cigi_byte_order
);
7069 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_alpha1
, tvb
, offset
, 1, cigi_byte_order
);
7072 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_alpha1
, tvb
, offset
, 1, cigi_byte_order
);
7075 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_blue1
, tvb
, offset
, 1, cigi_byte_order
);
7078 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_green1
, tvb
, offset
, 1, cigi_byte_order
);
7081 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_red1
, tvb
, offset
, 1, cigi_byte_order
);
7085 if (select1
>= 5 && select1
<= 11) {
7086 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attribute_value1f
, tvb
, offset
, 4, cigi_byte_order
);
7088 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attribute_value1
, tvb
, offset
, 4, cigi_byte_order
);
7094 if (cigi_byte_order
== ENC_BIG_ENDIAN
) {
7095 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_red2
, tvb
, offset
, 1, cigi_byte_order
);
7098 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_green2
, tvb
, offset
, 1, cigi_byte_order
);
7101 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_blue2
, tvb
, offset
, 1, cigi_byte_order
);
7104 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_alpha2
, tvb
, offset
, 1, cigi_byte_order
);
7107 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_alpha2
, tvb
, offset
, 1, cigi_byte_order
);
7110 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_blue2
, tvb
, offset
, 1, cigi_byte_order
);
7113 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_green2
, tvb
, offset
, 1, cigi_byte_order
);
7116 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_red2
, tvb
, offset
, 1, cigi_byte_order
);
7121 if (select2
>= 5 && select2
<= 11) {
7122 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attribute_value2f
, tvb
, offset
, 4, cigi_byte_order
);
7124 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attribute_value2
, tvb
, offset
, 4, cigi_byte_order
);
7132 /* CIGI4 Short Symbol Control */
7134 cigi4_add_short_symbol_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
7138 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
7141 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attribute_select1
, tvb
, offset
, 1, cigi_byte_order
);
7144 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attribute_select2
, tvb
, offset
, 1, cigi_byte_order
);
7147 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_symbol_state
, tvb
, offset
, 1, cigi_byte_order
);
7148 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attach_state
, tvb
, offset
, 1, cigi_byte_order
);
7149 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_flash_control
, tvb
, offset
, 1, cigi_byte_order
);
7150 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_inherit_color
, tvb
, offset
, 1, cigi_byte_order
);
7153 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attribute_value1
, tvb
, offset
, 4, cigi_byte_order
);
7156 proto_tree_add_item(tree
, hf_cigi3_3_short_symbol_control_attribute_value2
, tvb
, offset
, 4, cigi_byte_order
);
7162 /* CIGI4 Symbol Textured Circle */
7164 cigi4_add_symbol_circle_textured(tvbuff_t
* tvb
, packet_info
*pinfo _U_
, proto_tree
* tree
, void* data _U_
)
7166 proto_tree
* field_tree
;
7171 int ncircles
, c
, c_field
;
7173 proto_tree_add_item(tree
, hf_cigi4_symbol_circle_textured_definition_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
7176 proto_tree_add_item(tree
, hf_cigi4_symbol_circle_textured_definition_texture_id
, tvb
, offset
, 2, cigi_byte_order
);
7179 proto_tree_add_item(tree
, hf_cigi4_symbol_circle_textured_definition_filter_mode
, tvb
, offset
, 1, cigi_byte_order
);
7180 proto_tree_add_item(tree
, hf_cigi4_symbol_circle_textured_definition_wrap
, tvb
, offset
, 1, cigi_byte_order
);
7183 ncircles
= tvb_reported_length_remaining(tvb
, offset
) / 40;
7185 for (c
= 0; c
< ncircles
; c
++) {
7186 tf
= proto_tree_add_item(tree
, hf_cigi4_symbol_circle_textured_definition_circles
, tvb
, offset
, 1, cigi_byte_order
);
7187 proto_item_append_text(tf
, " %u", c
);
7188 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_symbol_circle_textured_definition_circles
);
7190 /* XXX: The length of tvb is determined by a 2 octet packet length value and
7191 * thus there can be more circles than fields that are declared (unlike
7192 * CIGI 3). Make sure we don't have a memory error.
7194 c_field
= c
% array_length(hf_cigi4_symbol_circle_textured_definition_center_u
);
7196 proto_tree_add_item(field_tree
, hf_cigi4_symbol_circle_textured_definition_center_u
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
7199 proto_tree_add_item(field_tree
, hf_cigi4_symbol_circle_textured_definition_center_v
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
7202 proto_tree_add_item(field_tree
, hf_cigi4_symbol_circle_textured_definition_radius
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
7205 proto_tree_add_item(field_tree
, hf_cigi4_symbol_circle_textured_definition_inner_radius
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
7208 proto_tree_add_item(field_tree
, hf_cigi4_symbol_circle_textured_definition_start_angle
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
7211 proto_tree_add_item(field_tree
, hf_cigi4_symbol_circle_textured_definition_end_angle
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
7214 proto_tree_add_item(field_tree
, hf_cigi4_symbol_circle_textured_definition_texture_center_u
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
7217 proto_tree_add_item(field_tree
, hf_cigi4_symbol_circle_textured_definition_texture_center_v
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
7220 proto_tree_add_item(field_tree
, hf_cigi4_symbol_circle_textured_definition_texture_radius
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
7223 proto_tree_add_item(field_tree
, hf_cigi4_symbol_circle_textured_definition_texture_rotation
[c_field
], tvb
, offset
, 4, cigi_byte_order
);
7230 /* CIGI4 Symbol Textured Polygon */
7232 cigi4_add_symbol_polygon_textured(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
7234 proto_tree
* field_tree
;
7239 int nvertices
, v
, v_field
;
7241 proto_tree_add_item(tree
, hf_cigi4_symbol_polygon_textured_definition_symbol_id
, tvb
, offset
, 2, cigi_byte_order
);
7244 proto_tree_add_item(tree
, hf_cigi4_symbol_polygon_textured_definition_texture_id
, tvb
, offset
, 2, cigi_byte_order
);
7247 proto_tree_add_item(tree
, hf_cigi4_symbol_polygon_textured_definition_filter_mode
, tvb
, offset
, 1, cigi_byte_order
);
7248 proto_tree_add_item(tree
, hf_cigi4_symbol_polygon_textured_definition_wrap
, tvb
, offset
, 1, cigi_byte_order
);
7251 nvertices
= tvb_reported_length_remaining(tvb
, offset
) / 16;
7253 for (v
= 0; v
< nvertices
; v
++) {
7254 tf
= proto_tree_add_item(tree
, hf_cigi4_symbol_polygon_textured_definition_vertices
, tvb
, offset
, 1, cigi_byte_order
);
7255 proto_item_append_text(tf
, " %u", v
);
7256 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_symbol_polygon_textured_definition_vertices
);
7258 /* XXX: The length of tvb is determined by a 2 octet packet length value and
7259 * thus there can be more vertices than fields that are declared (unlike
7260 * CIGI 3). Make sure we don't have a memory error.
7262 v_field
= v
% array_length(hf_cigi4_symbol_polygon_textured_definition_vertex_u
);
7264 proto_tree_add_item(field_tree
, hf_cigi4_symbol_polygon_textured_definition_vertex_u
[v_field
], tvb
, offset
, 4, cigi_byte_order
);
7267 proto_tree_add_item(field_tree
, hf_cigi4_symbol_polygon_textured_definition_vertex_v
[v_field
], tvb
, offset
, 4, cigi_byte_order
);
7270 proto_tree_add_item(field_tree
, hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[v_field
], tvb
, offset
, 4, cigi_byte_order
);
7273 proto_tree_add_item(field_tree
, hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[v_field
], tvb
, offset
, 4, cigi_byte_order
);
7280 /* CIGI3 Start of Frame */
7282 cigi3_add_start_of_frame(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7286 proto_tree_add_item(tree
, hf_cigi_version
, tvb
, offset
, 1, cigi_byte_order
);
7289 proto_tree_add_item(tree
, hf_cigi3_start_of_frame_db_number
, tvb
, offset
, 1, cigi_byte_order
);
7292 proto_tree_add_item(tree
, hf_cigi3_start_of_frame_ig_status
, tvb
, offset
, 1, cigi_byte_order
);
7295 proto_tree_add_item(tree
, hf_cigi3_start_of_frame_ig_mode
, tvb
, offset
, 1, cigi_byte_order
);
7296 proto_tree_add_item(tree
, hf_cigi3_start_of_frame_timestamp_valid
, tvb
, offset
, 1, cigi_byte_order
);
7297 proto_tree_add_item(tree
, hf_cigi3_start_of_frame_earth_reference_model
, tvb
, offset
, 1, cigi_byte_order
);
7298 if (cigi_minor_version
>= 2) {
7299 proto_tree_add_item(tree
, hf_cigi3_2_start_of_frame_minor_version
, tvb
, offset
, 1, cigi_byte_order
);
7303 /* Get the Byte Swap in Big-Endian so that we can display whether the value
7304 * is big-endian or little-endian to the user */
7305 proto_tree_add_item(tree
, hf_cigi3_byte_swap
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
7308 if (cigi_minor_version
>= 2) {
7309 proto_tree_add_item(tree
, hf_cigi3_2_start_of_frame_ig_frame_number
, tvb
, offset
, 4, cigi_byte_order
);
7311 proto_tree_add_item(tree
, hf_cigi3_start_of_frame_frame_ctr
, tvb
, offset
, 4, cigi_byte_order
);
7315 proto_tree_add_item(tree
, hf_cigi3_start_of_frame_timestamp
, tvb
, offset
, 4, cigi_byte_order
);
7318 if (cigi_minor_version
>= 2) {
7319 proto_tree_add_item(tree
, hf_cigi3_2_start_of_frame_last_host_frame_number
, tvb
, offset
, 4, cigi_byte_order
);
7326 /* CIGI3 HAT/HOT Response */
7328 cigi3_add_hat_hot_response(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7330 proto_tree
* field_tree
;
7335 proto_tree_add_item(tree
, hf_cigi3_hat_hot_response_hat_hot_id
, tvb
, offset
, 2, cigi_byte_order
);
7338 tf
= proto_tree_add_item(tree
, hf_cigi4_hat_hot_response_flags
, tvb
, offset
, 1, cigi_byte_order
);
7339 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_hat_hot_response_flags
);
7340 proto_tree_add_item(field_tree
, hf_cigi3_hat_hot_response_valid
, tvb
, offset
, 1, cigi_byte_order
);
7341 proto_tree_add_item(field_tree
, hf_cigi3_hat_hot_response_type
, tvb
, offset
, 1, cigi_byte_order
);
7342 if (cigi_minor_version
>= 2) {
7343 proto_tree_add_item(tree
, hf_cigi3_2_hat_hot_response_host_frame_number_lsn
, tvb
, offset
, 1, cigi_byte_order
);
7347 proto_tree_add_item(tree
, hf_cigi3_hat_hot_response_height
, tvb
, offset
, 8, cigi_byte_order
);
7353 /* CIGI4 HAT/HOT Response */
7355 cigi4_add_hat_hot_response(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
7357 proto_tree
* field_tree
;
7362 tf
= proto_tree_add_item(tree
, hf_cigi4_hat_hot_response_flags
, tvb
, offset
, 1, cigi_byte_order
);
7363 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_hat_hot_response_flags
);
7364 proto_tree_add_item(field_tree
, hf_cigi3_hat_hot_response_valid
, tvb
, offset
, 1, cigi_byte_order
);
7365 proto_tree_add_item(field_tree
, hf_cigi3_hat_hot_response_type
, tvb
, offset
, 1, cigi_byte_order
);
7366 proto_tree_add_item(field_tree
, hf_cigi3_2_hat_hot_response_host_frame_number_lsn
, tvb
, offset
, 1, cigi_byte_order
);
7369 proto_tree_add_item(tree
, hf_cigi3_hat_hot_response_hat_hot_id
, tvb
, offset
, 2, cigi_byte_order
);
7372 proto_tree_add_item(tree
, hf_cigi3_hat_hot_response_height
, tvb
, offset
, 8, cigi_byte_order
);
7379 /* CIGI3 HAT/HOT Extended Response */
7381 cigi3_add_hat_hot_extended_response(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7383 proto_tree
* field_tree
;
7388 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_hat_hot_id
, tvb
, offset
, 2, cigi_byte_order
);
7391 tf
= proto_tree_add_item(tree
, hf_cigi4_hat_hot_extended_response_flags
, tvb
, offset
, 1, cigi_byte_order
);
7392 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_hat_hot_extended_response_flags
);
7393 proto_tree_add_item(field_tree
, hf_cigi3_hat_hot_extended_response_valid
, tvb
, offset
, 1, cigi_byte_order
);
7394 if (cigi_minor_version
>= 2) {
7395 proto_tree_add_item(field_tree
, hf_cigi3_2_hat_hot_extended_response_host_frame_number_lsn
, tvb
, offset
, 1, cigi_byte_order
);
7399 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_hat
, tvb
, offset
, 8, cigi_byte_order
);
7402 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_hot
, tvb
, offset
, 8, cigi_byte_order
);
7405 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_material_code
, tvb
, offset
, 4, cigi_byte_order
);
7408 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_normal_vector_azimuth
, tvb
, offset
, 4, cigi_byte_order
);
7411 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_normal_vector_elevation
, tvb
, offset
, 4, cigi_byte_order
);
7417 /* CIGI4 HAT/HOT Extended Response */
7419 cigi4_add_hat_hot_extended_response(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
7421 proto_tree
* field_tree
;
7426 tf
= proto_tree_add_item(tree
, hf_cigi4_hat_hot_extended_response_flags
, tvb
, offset
, 1, cigi_byte_order
);
7427 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_hat_hot_extended_response_flags
);
7428 proto_tree_add_item(field_tree
, hf_cigi3_hat_hot_extended_response_valid
, tvb
, offset
, 1, cigi_byte_order
);
7429 proto_tree_add_item(field_tree
, hf_cigi3_2_hat_hot_extended_response_host_frame_number_lsn
, tvb
, offset
, 1, cigi_byte_order
);
7432 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_hat_hot_id
, tvb
, offset
, 2, cigi_byte_order
);
7435 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_hat
, tvb
, offset
, 8, cigi_byte_order
);
7438 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_hot
, tvb
, offset
, 8, cigi_byte_order
);
7441 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_material_code
, tvb
, offset
, 4, cigi_byte_order
);
7444 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_normal_vector_azimuth
, tvb
, offset
, 4, cigi_byte_order
);
7447 proto_tree_add_item(tree
, hf_cigi3_hat_hot_extended_response_normal_vector_elevation
, tvb
, offset
, 4, cigi_byte_order
);
7454 /* CIGI3 Line of Sight Response */
7456 cigi3_add_line_of_sight_response(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7460 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_los_id
, tvb
, offset
, 2, cigi_byte_order
);
7463 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_valid
, tvb
, offset
, 1, cigi_byte_order
);
7464 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_entity_id_valid
, tvb
, offset
, 1, cigi_byte_order
);
7465 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_visible
, tvb
, offset
, 1, cigi_byte_order
);
7466 if (cigi_minor_version
>= 2) {
7467 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_response_host_frame_number_lsn
, tvb
, offset
, 1, cigi_byte_order
);
7471 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_count
, tvb
, offset
, 1, cigi_byte_order
);
7474 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
7477 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_range
, tvb
, offset
, 8, cigi_byte_order
);
7483 /* CIGI4 Line of Sight Response */
7485 cigi4_add_line_of_sight_response(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
7489 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_los_id
, tvb
, offset
, 2, cigi_byte_order
);
7492 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
7495 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_valid
, tvb
, offset
, 1, cigi_byte_order
);
7496 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_entity_id_valid
, tvb
, offset
, 1, cigi_byte_order
);
7497 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_visible
, tvb
, offset
, 1, cigi_byte_order
);
7498 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_response_host_frame_number_lsn
, tvb
, offset
, 1, cigi_byte_order
);
7501 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_count
, tvb
, offset
, 1, cigi_byte_order
);
7504 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_response_range
, tvb
, offset
, 8, cigi_byte_order
);
7510 /* CIGI3 Line of Sight Extended Response */
7512 cigi3_add_line_of_sight_extended_response(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7516 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_los_id
, tvb
, offset
, 2, cigi_byte_order
);
7519 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_valid
, tvb
, offset
, 1, cigi_byte_order
);
7520 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_entity_id_valid
, tvb
, offset
, 1, cigi_byte_order
);
7521 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_range_valid
, tvb
, offset
, 1, cigi_byte_order
);
7522 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_visible
, tvb
, offset
, 1, cigi_byte_order
);
7523 if (cigi_minor_version
>= 2) {
7524 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_extended_response_host_frame_number_lsn
, tvb
, offset
, 1, cigi_byte_order
);
7526 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_intersection_coord
, tvb
, offset
, 1, cigi_byte_order
);
7530 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_response_count
, tvb
, offset
, 1, cigi_byte_order
);
7533 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
7536 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_range
, tvb
, offset
, 8, cigi_byte_order
);
7539 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
7542 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
7545 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
7548 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_red
, tvb
, offset
, 1, cigi_byte_order
);
7551 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_green
, tvb
, offset
, 1, cigi_byte_order
);
7554 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_blue
, tvb
, offset
, 1, cigi_byte_order
);
7557 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_alpha
, tvb
, offset
, 1, cigi_byte_order
);
7560 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_material_code
, tvb
, offset
, 4, cigi_byte_order
);
7563 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_normal_vector_azimuth
, tvb
, offset
, 4, cigi_byte_order
);
7566 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_normal_vector_elevation
, tvb
, offset
, 4, cigi_byte_order
);
7572 /* CIGI4 Line of Sight Extended Response */
7574 cigi4_add_line_of_sight_extended_response(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
7578 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_los_id
, tvb
, offset
, 2, cigi_byte_order
);
7581 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
7584 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_valid
, tvb
, offset
, 1, cigi_byte_order
);
7585 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_entity_id_valid
, tvb
, offset
, 1, cigi_byte_order
);
7586 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_range_valid
, tvb
, offset
, 1, cigi_byte_order
);
7587 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_visible
, tvb
, offset
, 1, cigi_byte_order
);
7588 proto_tree_add_item(tree
, hf_cigi3_2_line_of_sight_extended_response_host_frame_number_lsn
, tvb
, offset
, 1, cigi_byte_order
);
7591 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_response_count
, tvb
, offset
, 1, cigi_byte_order
);
7594 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_range
, tvb
, offset
, 8, cigi_byte_order
);
7597 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
7600 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
7603 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
7606 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_red
, tvb
, offset
, 1, cigi_byte_order
);
7609 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_green
, tvb
, offset
, 1, cigi_byte_order
);
7612 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_blue
, tvb
, offset
, 1, cigi_byte_order
);
7615 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_alpha
, tvb
, offset
, 1, cigi_byte_order
);
7618 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_material_code
, tvb
, offset
, 4, cigi_byte_order
);
7621 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_normal_vector_azimuth
, tvb
, offset
, 4, cigi_byte_order
);
7624 proto_tree_add_item(tree
, hf_cigi3_line_of_sight_extended_response_normal_vector_elevation
, tvb
, offset
, 4, cigi_byte_order
);
7630 /* CIGI3 Sensor Response */
7632 cigi3_add_sensor_response(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7636 proto_tree_add_item(tree
, hf_cigi3_sensor_response_view_id
, tvb
, offset
, 2, cigi_byte_order
);
7639 proto_tree_add_item(tree
, hf_cigi3_sensor_response_sensor_id
, tvb
, offset
, 1, cigi_byte_order
);
7642 proto_tree_add_item(tree
, hf_cigi3_sensor_response_sensor_status
, tvb
, offset
, 1, cigi_byte_order
);
7645 proto_tree_add_item(tree
, hf_cigi3_sensor_response_gate_x_size
, tvb
, offset
, 2, cigi_byte_order
);
7648 proto_tree_add_item(tree
, hf_cigi3_sensor_response_gate_y_size
, tvb
, offset
, 2, cigi_byte_order
);
7651 proto_tree_add_item(tree
, hf_cigi3_sensor_response_gate_x_pos
, tvb
, offset
, 4, cigi_byte_order
);
7654 proto_tree_add_item(tree
, hf_cigi3_sensor_response_gate_y_pos
, tvb
, offset
, 4, cigi_byte_order
);
7657 proto_tree_add_item(tree
, hf_cigi3_sensor_response_frame_ctr
, tvb
, offset
, 4, cigi_byte_order
);
7663 /* CIGI4 Sensor Response */
7665 cigi4_add_sensor_response(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
7669 proto_tree_add_item(tree
, hf_cigi3_sensor_response_sensor_id
, tvb
, offset
, 1, cigi_byte_order
);
7672 proto_tree_add_item(tree
, hf_cigi3_sensor_response_sensor_status
, tvb
, offset
, 1, cigi_byte_order
);
7675 proto_tree_add_item(tree
, hf_cigi3_sensor_response_view_id
, tvb
, offset
, 2, cigi_byte_order
);
7678 proto_tree_add_item(tree
, hf_cigi3_sensor_response_gate_x_size
, tvb
, offset
, 2, cigi_byte_order
);
7681 proto_tree_add_item(tree
, hf_cigi3_sensor_response_gate_y_size
, tvb
, offset
, 2, cigi_byte_order
);
7684 proto_tree_add_item(tree
, hf_cigi3_sensor_response_gate_x_pos
, tvb
, offset
, 4, cigi_byte_order
);
7687 proto_tree_add_item(tree
, hf_cigi3_sensor_response_gate_y_pos
, tvb
, offset
, 4, cigi_byte_order
);
7690 proto_tree_add_item(tree
, hf_cigi3_sensor_response_frame_ctr
, tvb
, offset
, 4, cigi_byte_order
);
7696 /* CIGI3 Sensor Extended Response */
7698 cigi3_add_sensor_extended_response(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7702 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_view_id
, tvb
, offset
, 2, cigi_byte_order
);
7705 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_sensor_id
, tvb
, offset
, 1, cigi_byte_order
);
7708 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_sensor_status
, tvb
, offset
, 1, cigi_byte_order
);
7709 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_entity_id_valid
, tvb
, offset
, 1, cigi_byte_order
);
7712 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
7715 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_gate_x_size
, tvb
, offset
, 2, cigi_byte_order
);
7718 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_gate_y_size
, tvb
, offset
, 2, cigi_byte_order
);
7721 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_gate_x_pos
, tvb
, offset
, 4, cigi_byte_order
);
7724 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_gate_y_pos
, tvb
, offset
, 4, cigi_byte_order
);
7727 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_frame_ctr
, tvb
, offset
, 4, cigi_byte_order
);
7730 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_track_lat
, tvb
, offset
, 8, cigi_byte_order
);
7733 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_track_lon
, tvb
, offset
, 8, cigi_byte_order
);
7736 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_track_alt
, tvb
, offset
, 8, cigi_byte_order
);
7742 /* CIGI4 Sensor Extended Response */
7744 cigi4_add_sensor_extended_response(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
7748 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_view_id
, tvb
, offset
, 2, cigi_byte_order
);
7751 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
7754 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_sensor_id
, tvb
, offset
, 1, cigi_byte_order
);
7757 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_sensor_status
, tvb
, offset
, 1, cigi_byte_order
);
7758 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_entity_id_valid
, tvb
, offset
, 1, cigi_byte_order
);
7761 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_gate_x_size
, tvb
, offset
, 2, cigi_byte_order
);
7764 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_gate_y_size
, tvb
, offset
, 2, cigi_byte_order
);
7767 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_gate_x_pos
, tvb
, offset
, 4, cigi_byte_order
);
7770 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_gate_y_pos
, tvb
, offset
, 4, cigi_byte_order
);
7773 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_frame_ctr
, tvb
, offset
, 4, cigi_byte_order
);
7776 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_track_lat
, tvb
, offset
, 8, cigi_byte_order
);
7779 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_track_lon
, tvb
, offset
, 8, cigi_byte_order
);
7782 proto_tree_add_item(tree
, hf_cigi3_sensor_extended_response_track_alt
, tvb
, offset
, 8, cigi_byte_order
);
7788 /* CIGI3 Position Response */
7790 cigi3_add_position_response(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7794 proto_tree_add_item(tree
, hf_cigi3_position_response_object_id
, tvb
, offset
, 2, cigi_byte_order
);
7797 proto_tree_add_item(tree
, hf_cigi3_position_response_part_id
, tvb
, offset
, 1, cigi_byte_order
);
7800 proto_tree_add_item(tree
, hf_cigi3_position_response_object_class
, tvb
, offset
, 1, cigi_byte_order
);
7801 proto_tree_add_item(tree
, hf_cigi3_position_response_coord_system
, tvb
, offset
, 1, cigi_byte_order
);
7804 proto_tree_add_item(tree
, hf_cigi3_position_response_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
7807 proto_tree_add_item(tree
, hf_cigi3_position_response_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
7810 proto_tree_add_item(tree
, hf_cigi3_position_response_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
7813 proto_tree_add_item(tree
, hf_cigi3_position_response_roll
, tvb
, offset
, 4, cigi_byte_order
);
7816 proto_tree_add_item(tree
, hf_cigi3_position_response_pitch
, tvb
, offset
, 4, cigi_byte_order
);
7819 proto_tree_add_item(tree
, hf_cigi3_position_response_yaw
, tvb
, offset
, 4, cigi_byte_order
);
7825 /* CIGI4 Position Response */
7827 cigi4_add_position_response(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
7831 proto_tree_add_item(tree
, hf_cigi3_position_response_part_id
, tvb
, offset
, 1, cigi_byte_order
);
7834 proto_tree_add_item(tree
, hf_cigi3_position_response_object_class
, tvb
, offset
, 1, cigi_byte_order
);
7835 proto_tree_add_item(tree
, hf_cigi3_position_response_coord_system
, tvb
, offset
, 1, cigi_byte_order
);
7838 proto_tree_add_item(tree
, hf_cigi3_position_response_object_id
, tvb
, offset
, 2, cigi_byte_order
);
7841 proto_tree_add_item(tree
, hf_cigi3_position_response_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
7844 proto_tree_add_item(tree
, hf_cigi3_position_response_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
7847 proto_tree_add_item(tree
, hf_cigi3_position_response_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
7850 proto_tree_add_item(tree
, hf_cigi3_position_response_roll
, tvb
, offset
, 4, cigi_byte_order
);
7853 proto_tree_add_item(tree
, hf_cigi3_position_response_pitch
, tvb
, offset
, 4, cigi_byte_order
);
7856 proto_tree_add_item(tree
, hf_cigi3_position_response_yaw
, tvb
, offset
, 4, cigi_byte_order
);
7862 /* CIGI3 Weather Conditions Response */
7864 cigi3_add_weather_conditions_response(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7868 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_request_id
, tvb
, offset
, 1, cigi_byte_order
);
7871 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_humidity
, tvb
, offset
, 1, cigi_byte_order
);
7874 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_air_temp
, tvb
, offset
, 4, cigi_byte_order
);
7877 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_visibility_range
, tvb
, offset
, 4, cigi_byte_order
);
7880 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_horiz_speed
, tvb
, offset
, 4, cigi_byte_order
);
7883 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_vert_speed
, tvb
, offset
, 4, cigi_byte_order
);
7886 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_wind_direction
, tvb
, offset
, 4, cigi_byte_order
);
7889 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_barometric_pressure
, tvb
, offset
, 4, cigi_byte_order
);
7895 /* CIGI4 Weather Conditions Response */
7897 cigi4_add_weather_conditions_response(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
7901 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_request_id
, tvb
, offset
, 1, cigi_byte_order
);
7904 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_humidity
, tvb
, offset
, 1, cigi_byte_order
);
7907 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_air_temp
, tvb
, offset
, 4, cigi_byte_order
);
7910 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_visibility_range
, tvb
, offset
, 4, cigi_byte_order
);
7913 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_horiz_speed
, tvb
, offset
, 4, cigi_byte_order
);
7916 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_vert_speed
, tvb
, offset
, 4, cigi_byte_order
);
7919 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_wind_direction
, tvb
, offset
, 4, cigi_byte_order
);
7922 proto_tree_add_item(tree
, hf_cigi3_weather_conditions_response_barometric_pressure
, tvb
, offset
, 4, cigi_byte_order
);
7928 /* CIGI3 Aerosol Concentration Response */
7930 cigi3_add_aerosol_concentration_response(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7934 proto_tree_add_item(tree
, hf_cigi3_aerosol_concentration_response_request_id
, tvb
, offset
, 1, cigi_byte_order
);
7937 proto_tree_add_item(tree
, hf_cigi3_aerosol_concentration_response_layer_id
, tvb
, offset
, 1, cigi_byte_order
);
7940 proto_tree_add_item(tree
, hf_cigi3_aerosol_concentration_response_aerosol_concentration
, tvb
, offset
, 4, cigi_byte_order
);
7946 /* CIGI4 Aerosol Concentration Response */
7948 cigi4_add_aerosol_concentration_response(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
7952 proto_tree_add_item(tree
, hf_cigi3_aerosol_concentration_response_request_id
, tvb
, offset
, 1, cigi_byte_order
);
7955 proto_tree_add_item(tree
, hf_cigi3_aerosol_concentration_response_layer_id
, tvb
, offset
, 1, cigi_byte_order
);
7958 proto_tree_add_item(tree
, hf_cigi3_aerosol_concentration_response_aerosol_concentration
, tvb
, offset
, 4, cigi_byte_order
);
7964 /* CIGI3 Maritime Surface Conditions Response */
7966 cigi3_add_maritime_surface_conditions_response(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
7970 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_response_request_id
, tvb
, offset
, 1, cigi_byte_order
);
7973 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_response_sea_surface_height
, tvb
, offset
, 4, cigi_byte_order
);
7976 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_response_surface_water_temp
, tvb
, offset
, 4, cigi_byte_order
);
7979 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_response_surface_clarity
, tvb
, offset
, 4, cigi_byte_order
);
7985 /* CIGI4 Maritime Surface Conditions Response */
7987 cigi4_add_maritime_surface_conditions_response(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
7991 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_response_request_id
, tvb
, offset
, 1, cigi_byte_order
);
7994 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_response_sea_surface_height
, tvb
, offset
, 4, cigi_byte_order
);
7997 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_response_surface_water_temp
, tvb
, offset
, 4, cigi_byte_order
);
8000 proto_tree_add_item(tree
, hf_cigi3_maritime_surface_conditions_response_surface_clarity
, tvb
, offset
, 4, cigi_byte_order
);
8006 /* CIGI3 Terrestrial Surface Conditions Response */
8008 cigi3_add_terrestrial_surface_conditions_response(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
8012 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_response_request_id
, tvb
, offset
, 1, cigi_byte_order
);
8015 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_response_surface_id
, tvb
, offset
, 4, cigi_byte_order
);
8021 /* CIGI4 Terrestrial Surface Conditions Response */
8023 cigi4_add_terrestrial_surface_conditions_response(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
8027 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_response_request_id
, tvb
, offset
, 1, cigi_byte_order
);
8030 proto_tree_add_item(tree
, hf_cigi3_terrestrial_surface_conditions_response_surface_id
, tvb
, offset
, 4, cigi_byte_order
);
8036 /* CIGI3 Collision Detection Segment Notification */
8038 cigi3_add_collision_detection_segment_notification(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
8042 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8045 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_segment_id
, tvb
, offset
, 1, cigi_byte_order
);
8048 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_type
, tvb
, offset
, 1, cigi_byte_order
);
8051 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_contacted_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8054 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_material_code
, tvb
, offset
, 4, cigi_byte_order
);
8057 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_intersection_distance
, tvb
, offset
, 4, cigi_byte_order
);
8063 /* CIGI4 Collision Detection Segment Notification */
8065 cigi4_add_collision_detection_segment_notification(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
8069 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8072 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_contacted_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8075 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_segment_id
, tvb
, offset
, 1, cigi_byte_order
);
8078 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_type
, tvb
, offset
, 1, cigi_byte_order
);
8081 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_material_code
, tvb
, offset
, 4, cigi_byte_order
);
8084 proto_tree_add_item(tree
, hf_cigi3_collision_detection_segment_notification_intersection_distance
, tvb
, offset
, 4, cigi_byte_order
);
8090 /* CIGI3 Collision Detection Volume Notification */
8092 cigi3_add_collision_detection_volume_notification(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
8096 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_notification_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8099 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_notification_volume_id
, tvb
, offset
, 1, cigi_byte_order
);
8102 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_notification_type
, tvb
, offset
, 1, cigi_byte_order
);
8105 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_notification_contacted_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8108 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_notification_contacted_volume_id
, tvb
, offset
, 1, cigi_byte_order
);
8114 /* CIGI4 Collision Detection Volume Notification */
8116 cigi4_add_collision_detection_volume_notification(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
8120 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_notification_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8123 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_notification_contacted_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8126 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_notification_volume_id
, tvb
, offset
, 1, cigi_byte_order
);
8129 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_notification_type
, tvb
, offset
, 1, cigi_byte_order
);
8132 proto_tree_add_item(tree
, hf_cigi3_collision_detection_volume_notification_contacted_volume_id
, tvb
, offset
, 1, cigi_byte_order
);
8138 /* CIGI3 Animation Stop Notification */
8140 cigi3_add_animation_stop_notification(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
8144 proto_tree_add_item(tree
, hf_cigi3_animation_stop_notification_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8150 /* CIGI4 Animation Stop Notification */
8152 cigi4_add_animation_stop_notification(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
8156 proto_tree_add_item(tree
, hf_cigi3_animation_stop_notification_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8162 /* CIGI3 Event Notification */
8164 cigi3_add_event_notification(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
8168 proto_tree_add_item(tree
, hf_cigi3_event_notification_event_id
, tvb
, offset
, 2, cigi_byte_order
);
8171 proto_tree_add_item(tree
, hf_cigi3_event_notification_data_1
, tvb
, offset
, 4, cigi_byte_order
);
8174 proto_tree_add_item(tree
, hf_cigi3_event_notification_data_2
, tvb
, offset
, 4, cigi_byte_order
);
8177 proto_tree_add_item(tree
, hf_cigi3_event_notification_data_3
, tvb
, offset
, 4, cigi_byte_order
);
8183 /* CIGI4 Event Notification */
8185 cigi4_add_event_notification(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
8189 proto_tree_add_item(tree
, hf_cigi3_event_notification_event_id
, tvb
, offset
, 2, cigi_byte_order
);
8192 proto_tree_add_item(tree
, hf_cigi3_event_notification_data_1
, tvb
, offset
, 4, cigi_byte_order
);
8195 proto_tree_add_item(tree
, hf_cigi3_event_notification_data_2
, tvb
, offset
, 4, cigi_byte_order
);
8198 proto_tree_add_item(tree
, hf_cigi3_event_notification_data_3
, tvb
, offset
, 4, cigi_byte_order
);
8204 /* CIGI3 Image Generator Message */
8206 cigi3_add_image_generator_message(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
8210 proto_tree_add_item(tree
, hf_cigi3_image_generator_message_id
, tvb
, offset
, 2, cigi_byte_order
);
8213 if (tvb_reported_length_remaining(tvb
, offset
) < 2) {
8214 proto_tree_add_expert_format(tree
, pinfo
, &ei_cigi_invalid_len
, tvb
, 0,
8215 tvb_reported_length(tvb
), "Insufficient room for image generator message");
8217 proto_tree_add_item(tree
, hf_cigi3_image_generator_message_message
, tvb
,
8218 offset
, tvb_reported_length_remaining(tvb
, offset
), cigi_byte_order
);
8221 return (int)tvb_reported_length(tvb
);
8224 /* CIGI4 Image Generator Message */
8226 cigi4_add_image_generator_message(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void *data _U_
)
8230 proto_tree_add_item(tree
, hf_cigi3_image_generator_message_id
, tvb
, offset
, 2, cigi_byte_order
);
8231 // 2 bytes Reserved (padding to multiple of 4)
8234 if (tvb_reported_length_remaining(tvb
, offset
) < 2) {
8235 proto_tree_add_expert_format(tree
, pinfo
, &ei_cigi_invalid_len
, tvb
, 0,
8236 tvb_reported_length(tvb
), "Insufficient room for image generator message");
8238 proto_tree_add_item(tree
, hf_cigi3_image_generator_message_message
, tvb
,
8239 offset
, tvb_reported_length_remaining(tvb
, offset
), cigi_byte_order
);
8242 return (int)tvb_reported_length(tvb
);
8245 /* Create the tree for CIGI 4 */
8247 cigi4_add_tree(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*cigi_tree
)
8251 int init_offset
= 0;
8254 int packet_size
= 0;
8255 int packet_length
= 0;
8256 uint16_t byte_swap
= 0;
8258 proto_tree
* cigi_packet_tree
= NULL
;
8259 proto_item
* tipacket
, *ti
;
8261 int hf_cigi4_packet
;
8263 length
= tvb_reported_length(tvb
);
8265 /* Each iteration through this loop is meant to be a separate cigi packet
8266 * therefore it is okay to assume that at the top of this look we are given
8267 * a new packet to dissect. */
8268 while ( offset
< length
) {
8270 byte_swap
= tvb_get_ntohs(tvb
, offset
);
8271 /* If we have the SOF or IG Control packet set the byte order */
8272 //if ((packet_id == CIGI4_PACKET_ID_IG_CONTROL || packet_id == CIGI4_PACKET_ID_START_OF_FRAME) && global_cigi_byte_order == CIGI_BYTE_ORDER_FROM_PACKET) {
8273 //If the parser detects a zero in the "leftmost" byte, then the message is in Big Endian byte
8274 if ((byte_swap
& 0xFF00) == 0) {
8275 cigi_byte_order
= ENC_BIG_ENDIAN
;
8278 cigi_byte_order
= ENC_LITTLE_ENDIAN
;
8281 packet_id
= tvb_get_uint16(tvb
, offset
+ 2, cigi_byte_order
);
8282 packet_size
= tvb_get_uint16(tvb
, offset
, cigi_byte_order
);
8284 /* If we have the start of frame or IG Control packet set the version */
8285 if ( ( packet_id
== CIGI4_PACKET_ID_IG_CONTROL
|| packet_id
== CIGI4_PACKET_ID_START_OF_FRAME
) && global_cigi_version
== CIGI_VERSION_FROM_PACKET
) {
8286 cigi_version
= tvb_get_uint8(tvb
, 4);
8288 if (( packet_size
== CIGI4_PACKET_SIZE_IG_CONTROL
&& packet_id
== CIGI4_PACKET_ID_IG_CONTROL
) ||
8289 ( packet_size
== CIGI4_PACKET_SIZE_START_OF_FRAME
&& packet_id
== CIGI4_PACKET_ID_START_OF_FRAME
)) {
8290 cigi_minor_version
= tvb_get_uint8(tvb
, 7) >> 4;
8292 cigi_minor_version
= 0;
8296 /* Add the subtree for the packet */
8297 if ( packet_id
== CIGI4_PACKET_ID_IG_CONTROL
) {
8298 hf_cigi4_packet
= hf_cigi3_ig_control
;
8299 packet_length
= CIGI4_PACKET_SIZE_IG_CONTROL
;
8300 } else if ( packet_id
== CIGI4_PACKET_ID_ENTITY_POSITION
) {
8301 hf_cigi4_packet
= hf_cigi4_entity_position
;
8302 packet_length
= CIGI4_PACKET_SIZE_ENTITY_POSITION
;
8303 } else if ( packet_id
== CIGI4_PACKET_ID_CONFORMAL_CLAMPED_ENTITY_POSITION
) {
8304 hf_cigi4_packet
= hf_cigi4_conformal_clamped_entity_position
;
8305 packet_length
= CIGI4_PACKET_SIZE_CONFORMAL_CLAMPED_ENTITY_POSITION
;
8306 } else if ( packet_id
== CIGI4_PACKET_ID_COMPONENT_CONTROL
) {
8307 hf_cigi4_packet
= hf_cigi3_component_control
;
8308 packet_length
= CIGI4_PACKET_SIZE_COMPONENT_CONTROL
;
8309 } else if ( packet_id
== CIGI4_PACKET_ID_SHORT_COMPONENT_CONTROL
) {
8310 hf_cigi4_packet
= hf_cigi3_short_component_control
;
8311 packet_length
= CIGI4_PACKET_SIZE_SHORT_COMPONENT_CONTROL
;
8312 } else if ( packet_id
== CIGI4_PACKET_ID_ARTICULATED_PART_CONTROL
) {
8313 hf_cigi4_packet
= hf_cigi3_articulated_part_control
;
8314 packet_length
= CIGI4_PACKET_SIZE_ARTICULATED_PART_CONTROL
;
8315 } else if ( packet_id
== CIGI4_PACKET_ID_SHORT_ARTICULATED_PART_CONTROL
) {
8316 hf_cigi4_packet
= hf_cigi3_short_articulated_part_control
;
8317 packet_length
= CIGI4_PACKET_SIZE_SHORT_ARTICULATED_PART_CONTROL
;
8318 } else if ( packet_id
== CIGI4_PACKET_ID_VELOCITY_CONTROL
) {
8319 hf_cigi4_packet
= hf_cigi4_velocity_control
;
8320 packet_length
= CIGI4_PACKET_SIZE_VELOCITY_CONTROL
;
8321 } else if ( packet_id
== CIGI4_PACKET_ID_CELESTIAL_SPHERE_CONTROL
) {
8322 hf_cigi4_packet
= hf_cigi3_celestial_sphere_control
;
8323 packet_length
= CIGI4_PACKET_SIZE_CELESTIAL_SPHERE_CONTROL
;
8324 } else if ( packet_id
== CIGI4_PACKET_ID_ATMOSPHERE_CONTROL
) {
8325 hf_cigi4_packet
= hf_cigi3_atmosphere_control
;
8326 packet_length
= CIGI4_PACKET_SIZE_ATMOSPHERE_CONTROL
;
8327 } else if ( packet_id
== CIGI4_PACKET_ID_ENVIRONMENTAL_REGION_CONTROL
) {
8328 hf_cigi4_packet
= hf_cigi3_environmental_region_control
;
8329 packet_length
= CIGI4_PACKET_SIZE_ENVIRONMENTAL_REGION_CONTROL
;
8330 } else if ( packet_id
== CIGI4_PACKET_ID_WEATHER_CONTROL
) {
8331 hf_cigi4_packet
= hf_cigi3_weather_control
;
8332 packet_length
= CIGI4_PACKET_SIZE_WEATHER_CONTROL
;
8333 } else if ( packet_id
== CIGI4_PACKET_ID_MARITIME_SURFACE_CONDITIONS_CONTROL
) {
8334 hf_cigi4_packet
= hf_cigi3_maritime_surface_conditions_control
;
8335 packet_length
= CIGI4_PACKET_SIZE_MARITIME_SURFACE_CONDITIONS_CONTROL
;
8336 } else if ( packet_id
== CIGI4_PACKET_ID_WAVE_CONTROL
) {
8337 hf_cigi4_packet
= hf_cigi3_wave_control
;
8338 packet_length
= CIGI4_PACKET_SIZE_WAVE_CONTROL
;
8339 } else if ( packet_id
== CIGI4_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL
) {
8340 hf_cigi4_packet
= hf_cigi3_terrestrial_surface_conditions_control
;
8341 packet_length
= CIGI4_PACKET_SIZE_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL
;
8342 } else if ( packet_id
== CIGI4_PACKET_ID_VIEW_CONTROL
) {
8343 hf_cigi4_packet
= hf_cigi3_view_control
;
8344 packet_length
= CIGI4_PACKET_SIZE_VIEW_CONTROL
;
8345 } else if (packet_id
== CIGI4_PACKET_ID_SENSOR_CONTROL
) {
8346 hf_cigi4_packet
= hf_cigi3_sensor_control
;
8347 packet_length
= CIGI4_PACKET_SIZE_SENSOR_CONTROL
;
8348 } else if ( packet_id
== CIGI4_PACKET_ID_MOTION_TRACKER_CONTROL
) {
8349 hf_cigi4_packet
= hf_cigi3_motion_tracker_control
;
8350 packet_length
= CIGI4_PACKET_SIZE_MOTION_TRACKER_CONTROL
;
8351 } else if ( packet_id
== CIGI4_PACKET_ID_EARTH_REFERENCE_MODEL_DEFINITION
) {
8352 hf_cigi4_packet
= hf_cigi3_earth_reference_model_definition
;
8353 packet_length
= CIGI4_PACKET_SIZE_EARTH_REFERENCE_MODEL_DEFINITION
;
8354 } else if ( packet_id
== CIGI4_PACKET_ID_ACCELERATION_CONTROL
) {
8355 hf_cigi4_packet
= hf_cigi4_acceleration_control
;
8356 packet_length
= CIGI4_PACKET_SIZE_ACCELERATION_CONTROL
;
8357 } else if ( packet_id
== CIGI4_PACKET_ID_VIEW_DEFINITION
) {
8358 hf_cigi4_packet
= hf_cigi3_view_definition
;
8359 packet_length
= CIGI4_PACKET_SIZE_VIEW_DEFINITION
;
8360 } else if ( packet_id
== CIGI4_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION
) {
8361 hf_cigi4_packet
= hf_cigi3_collision_detection_segment_definition
;
8362 packet_length
= CIGI4_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_DEFINITION
;
8363 } else if ( packet_id
== CIGI4_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION
) {
8364 hf_cigi4_packet
= hf_cigi3_collision_detection_volume_definition
;
8365 packet_length
= CIGI4_PACKET_SIZE_COLLISION_DETECTION_VOLUME_DEFINITION
;
8366 } else if ( packet_id
== CIGI4_PACKET_ID_HAT_HOT_REQUEST
) {
8367 hf_cigi4_packet
= hf_cigi3_hat_hot_request
;
8368 packet_length
= CIGI4_PACKET_SIZE_HAT_HOT_REQUEST
;
8369 } else if ( packet_id
== CIGI4_PACKET_ID_LINE_OF_SIGHT_SEGMENT_REQUEST
) {
8370 hf_cigi4_packet
= hf_cigi3_line_of_sight_segment_request
;
8371 packet_length
= CIGI4_PACKET_SIZE_LINE_OF_SIGHT_SEGMENT_REQUEST
;
8372 } else if ( packet_id
== CIGI4_PACKET_ID_LINE_OF_SIGHT_VECTOR_REQUEST
) {
8373 hf_cigi4_packet
= hf_cigi3_line_of_sight_vector_request
;
8374 packet_length
= CIGI4_PACKET_SIZE_LINE_OF_SIGHT_VECTOR_REQUEST
;
8375 } else if ( packet_id
== CIGI4_PACKET_ID_POSITION_REQUEST
) {
8376 hf_cigi4_packet
= hf_cigi3_position_request
;
8377 packet_length
= CIGI4_PACKET_SIZE_POSITION_REQUEST
;
8378 } else if ( packet_id
== CIGI4_PACKET_ID_ENVIRONMENTAL_CONDITIONS_REQUEST
) {
8379 hf_cigi4_packet
= hf_cigi3_environmental_conditions_request
;
8380 packet_length
= CIGI4_PACKET_SIZE_ENVIRONMENTAL_CONDITIONS_REQUEST
;
8381 } else if ( packet_id
== CIGI4_PACKET_ID_SYMBOL_SURFACE_DEFINITION
) {
8382 hf_cigi4_packet
= hf_cigi3_3_symbol_surface_definition
;
8383 packet_length
= CIGI4_PACKET_SIZE_SYMBOL_SURFACE_DEFINITION
;
8384 } else if ( packet_id
== CIGI4_PACKET_ID_SYMBOL_TEXT_DEFINITION
){
8385 hf_cigi4_packet
= hf_cigi3_3_symbol_text_definition
;
8386 packet_length
= packet_size
;
8387 } else if ( packet_id
== CIGI4_PACKET_ID_SYMBOL_CIRCLE_DEFINITION
){
8388 hf_cigi4_packet
= hf_cigi3_3_symbol_circle_definition
;
8389 packet_length
= packet_size
;
8390 } else if ( packet_id
== CIGI4_PACKET_ID_SYMBOL_POLYGON_DEFINITION
){
8391 hf_cigi4_packet
= hf_cigi4_symbol_polygon_definition
;
8392 packet_length
= packet_size
;
8393 } else if (packet_id
== CIGI4_PACKET_ID_SYMBOL_CLONE
) {
8394 hf_cigi4_packet
= hf_cigi3_3_symbol_clone
;
8395 packet_length
= CIGI4_PACKET_SIZE_SYMBOL_CLONE
;
8396 } else if (packet_id
== CIGI4_PACKET_ID_SYMBOL_CONTROL
) {
8397 hf_cigi4_packet
= hf_cigi3_3_symbol_control
;
8398 packet_length
= CIGI4_PACKET_SIZE_SYMBOL_CONTROL
;
8399 } else if (packet_id
== CIGI4_PACKET_ID_SHORT_SYMBOL_CONTROL
) {
8400 hf_cigi4_packet
= hf_cigi3_3_short_symbol_control
;
8401 packet_length
= CIGI4_PACKET_SIZE_SHORT_SYMBOL_CONTROL
;
8402 } else if (packet_id
== CIGI4_PACKET_ID_SYMBOL_CIRCLE_TEXTURED_DEFINITION
) {
8403 hf_cigi4_packet
= hf_cigi4_symbol_circle_textured_definition
;
8404 packet_length
= packet_size
;
8405 } else if (packet_id
== CIGI4_PACKET_ID_SYMBOL_POLYGON_TEXTURED_DEFINITION
) {
8406 hf_cigi4_packet
= hf_cigi4_symbol_polygon_textured_definition
;
8407 packet_length
= packet_size
;
8408 } else if (packet_id
== CIGI4_PACKET_ID_ENTITY_CONTROL
) {
8409 hf_cigi4_packet
= hf_cigi4_entity_control
;
8410 packet_length
= CIGI4_PACKET_SIZE_ENTITY_CONTROL
;
8411 }else if (packet_id
== CIGI4_PACKET_ID_ANIMATION_CONTROL
) {
8412 hf_cigi4_packet
= hf_cigi4_animation_control
;
8413 packet_length
= CIGI4_PACKET_SIZE_ANIMATION_CONTROL
;
8414 } else if ( packet_id
== CIGI4_PACKET_ID_START_OF_FRAME
) {
8415 hf_cigi4_packet
= hf_cigi4_start_of_frame
;
8416 packet_length
= CIGI4_PACKET_SIZE_START_OF_FRAME
;
8417 } else if ( packet_id
== CIGI4_PACKET_ID_HAT_HOT_RESPONSE
) {
8418 hf_cigi4_packet
= hf_cigi3_hat_hot_response
;
8419 packet_length
= CIGI4_PACKET_SIZE_HAT_HOT_RESPONSE
;
8420 } else if ( packet_id
== CIGI4_PACKET_ID_HAT_HOT_EXTENDED_RESPONSE
) {
8421 hf_cigi4_packet
= hf_cigi3_hat_hot_extended_response
;
8422 packet_length
= CIGI4_PACKET_SIZE_HAT_HOT_EXTENDED_RESPONSE
;
8423 } else if ( packet_id
== CIGI4_PACKET_ID_LINE_OF_SIGHT_RESPONSE
) {
8424 hf_cigi4_packet
= hf_cigi3_line_of_sight_response
;
8425 packet_length
= CIGI4_PACKET_SIZE_LINE_OF_SIGHT_RESPONSE
;
8426 } else if ( packet_id
== CIGI4_PACKET_ID_LINE_OF_SIGHT_EXTENDED_RESPONSE
) {
8427 hf_cigi4_packet
= hf_cigi3_line_of_sight_extended_response
;
8428 packet_length
= CIGI4_PACKET_SIZE_LINE_OF_SIGHT_EXTENDED_RESPONSE
;
8429 } else if ( packet_id
== CIGI4_PACKET_ID_SENSOR_RESPONSE
) {
8430 hf_cigi4_packet
= hf_cigi3_sensor_response
;
8431 packet_length
= CIGI4_PACKET_SIZE_SENSOR_RESPONSE
;
8432 } else if ( packet_id
== CIGI4_PACKET_ID_SENSOR_EXTENDED_RESPONSE
) {
8433 hf_cigi4_packet
= hf_cigi3_sensor_extended_response
;
8434 packet_length
= CIGI4_PACKET_SIZE_SENSOR_EXTENDED_RESPONSE
;
8435 } else if ( packet_id
== CIGI4_PACKET_ID_POSITION_RESPONSE
) {
8436 hf_cigi4_packet
= hf_cigi3_position_response
;
8437 packet_length
= CIGI4_PACKET_SIZE_POSITION_RESPONSE
;
8438 } else if ( packet_id
== CIGI4_PACKET_ID_WEATHER_CONDITIONS_RESPONSE
) {
8439 hf_cigi4_packet
= hf_cigi3_weather_conditions_response
;
8440 packet_length
= CIGI4_PACKET_SIZE_WEATHER_CONDITIONS_RESPONSE
;
8441 } else if ( packet_id
== CIGI4_PACKET_ID_AEROSOL_CONCENTRATION_RESPONSE
) {
8442 hf_cigi4_packet
= hf_cigi3_aerosol_concentration_response
;
8443 packet_length
= CIGI4_PACKET_SIZE_AEROSOL_CONCENTRATION_RESPONSE
;
8444 } else if ( packet_id
== CIGI4_PACKET_ID_MARITIME_SURFACE_CONDITIONS_RESPONSE
) {
8445 hf_cigi4_packet
= hf_cigi3_maritime_surface_conditions_response
;
8446 packet_length
= CIGI4_PACKET_SIZE_MARITIME_SURFACE_CONDITIONS_RESPONSE
;
8447 } else if ( packet_id
== CIGI4_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE
) {
8448 hf_cigi4_packet
= hf_cigi3_terrestrial_surface_conditions_response
;
8449 packet_length
= CIGI4_PACKET_SIZE_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE
;
8450 } else if ( packet_id
== CIGI4_PACKET_ID_COLLISION_DETECTION_SEGMENT_NOTIFICATION
) {
8451 hf_cigi4_packet
= hf_cigi3_collision_detection_segment_notification
;
8452 packet_length
= CIGI4_PACKET_SIZE_COLLISION_DETECTION_SEGMENT_NOTIFICATION
;
8453 } else if ( packet_id
== CIGI4_PACKET_ID_COLLISION_DETECTION_VOLUME_NOTIFICATION
) {
8454 hf_cigi4_packet
= hf_cigi3_collision_detection_volume_notification
;
8455 packet_length
= CIGI4_PACKET_SIZE_COLLISION_DETECTION_VOLUME_NOTIFICATION
;
8456 } else if ( packet_id
== CIGI4_PACKET_ID_ANIMATION_STOP_NOTIFICATION
) {
8457 hf_cigi4_packet
= hf_cigi3_animation_stop_notification
;
8458 packet_length
= CIGI4_PACKET_SIZE_ANIMATION_STOP_NOTIFICATION
;
8459 } else if ( packet_id
== CIGI4_PACKET_ID_EVENT_NOTIFICATION
) {
8460 hf_cigi4_packet
= hf_cigi3_event_notification
;
8461 packet_length
= CIGI4_PACKET_SIZE_EVENT_NOTIFICATION
;
8462 } else if ( packet_id
== CIGI4_PACKET_ID_IMAGE_GENERATOR_MESSAGE
) {
8463 hf_cigi4_packet
= hf_cigi3_image_generator_message
;
8464 packet_length
= packet_size
;
8465 } else if ( packet_id
>= CIGI4_PACKET_ID_LOCALLY_DEFINED_MIN
&& packet_id
<= CIGI4_PACKET_ID_LOCALLY_DEFINED_MAX
) {
8466 hf_cigi4_packet
= hf_cigi4_locally_defined
;
8467 packet_length
= packet_size
;
8468 } else if ( packet_id
>= CIGI4_PACKET_ID_REGISTERED_MIN
&& packet_id
<= CIGI4_PACKET_ID_REGISTERED_MAX
) {
8469 hf_cigi4_packet
= hf_cigi4_registered
;
8470 packet_length
= packet_size
;
8472 hf_cigi4_packet
= hf_cigi_unknown
;
8473 packet_length
= packet_size
;
8475 tipacket
= proto_tree_add_none_format(cigi_tree
, hf_cigi4_packet
, tvb
, offset
, packet_length
,
8477 val_to_str_ext_const(packet_id
, &cigi4_packet_id_vals_ext
, "Unknown"),
8480 cigi_packet_tree
= proto_item_add_subtree(tipacket
, ett_cigi
);
8482 /* CIGI4 versions the first word the size of the packet (in bytes).
8483 * The second word is of a packet is the packet ID. */
8484 init_offset
= offset
;
8485 ti
= proto_tree_add_item(cigi_packet_tree
, hf_cigi4_packet_size
, tvb
, offset
, 2, cigi_byte_order
);
8486 if (packet_size
< 4) {
8487 expert_add_info(pinfo
, ti
, &ei_cigi_invalid_len
);
8492 proto_tree_add_item(cigi_packet_tree
, hf_cigi4_packet_id
, tvb
, offset
, 2, cigi_byte_order
);
8494 /* If packet_size != packet_len for the fixed size packet IDs, attempt
8495 * to dissect normally then add an expert info and abort afterwards below. */
8496 next_tvb
= tvb_new_subset_length(tvb
, offset
, packet_length
- 4);
8498 int dissected
= dissector_try_uint_with_data(cigi4_packet_id_table
, packet_id
,
8499 next_tvb
, pinfo
, cigi_packet_tree
, false, NULL
);
8501 if (dissected
== 0) {
8502 dissected
= cigi_add_data(next_tvb
, cigi_packet_tree
, 0);
8505 offset
+= dissected
;
8507 if (offset
-init_offset
!= packet_length
) {
8508 proto_tree_add_expert(cigi_packet_tree
, pinfo
, &ei_cigi_invalid_len
, tvb
, init_offset
, offset
-init_offset
);
8514 /* CIGI4 IG Control */
8516 cigi4_add_ig_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
8520 proto_tree
* field_tree
;
8523 proto_tree_add_item(tree
, hf_cigi_version
, tvb
, offset
, 1, cigi_byte_order
);
8526 proto_tree_add_item(tree
, hf_cigi3_ig_control_db_number
, tvb
, offset
, 1, cigi_byte_order
);
8529 tf
= proto_tree_add_item(tree
, hf_cigi4_ig_control_entity_substitution
, tvb
, offset
, 1, cigi_byte_order
);
8530 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_ig_control_entity_substitution
);
8531 proto_tree_add_item(field_tree
, hf_cigi4_ig_control_entity_substitution_enable
, tvb
, offset
, 1, cigi_byte_order
);
8534 tf
= proto_tree_add_item(tree
, hf_cigi4_ig_control_flags
, tvb
, offset
, 1, cigi_byte_order
);
8535 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_ig_control_flags
);
8536 proto_tree_add_item(field_tree
, hf_cigi3_ig_control_ig_mode
, tvb
, offset
, 1, cigi_byte_order
);
8537 proto_tree_add_item(field_tree
, hf_cigi3_ig_control_timestamp_valid
, tvb
, offset
, 1, cigi_byte_order
);
8538 proto_tree_add_item(field_tree
, hf_cigi4_ig_control_smoothing_enable
, tvb
, offset
, 1, cigi_byte_order
);
8539 proto_tree_add_item(field_tree
, hf_cigi3_2_ig_control_minor_version
, tvb
, offset
, 1, cigi_byte_order
);
8542 proto_tree_add_item(tree
, hf_cigi3_2_ig_control_host_frame_number
, tvb
, offset
, 4, cigi_byte_order
);
8545 proto_tree_add_item(tree
, hf_cigi3_2_ig_control_last_ig_frame_number
, tvb
, offset
, 4, cigi_byte_order
);
8548 proto_tree_add_item(tree
, hf_cigi3_ig_control_timestamp
, tvb
, offset
, 4, cigi_byte_order
);
8554 /* CIGI4 Start of Frame */
8556 cigi4_add_start_of_frame(tvbuff_t
*tvb
, packet_info
* pinfo _U_
, proto_tree
*tree
, void* data _U_
)
8558 proto_tree
* field_tree
;
8563 proto_tree_add_item(tree
, hf_cigi_version
, tvb
, offset
, 1, cigi_byte_order
);
8566 proto_tree_add_item(tree
, hf_cigi4_start_of_frame_db_number
, tvb
, offset
, 1, cigi_byte_order
);
8569 tf
= proto_tree_add_item(tree
, hf_cigi4_start_of_frame_flags
, tvb
, offset
, 1, cigi_byte_order
);
8570 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_start_of_frame_flags
);
8572 proto_tree_add_item(field_tree
, hf_cigi4_start_of_frame_ig_mode
, tvb
, offset
, 1, cigi_byte_order
);
8573 proto_tree_add_item(field_tree
, hf_cigi4_start_of_frame_timestamp_valid
, tvb
, offset
, 1, cigi_byte_order
);
8574 proto_tree_add_item(field_tree
, hf_cigi4_start_of_frame_earth_reference_model
, tvb
, offset
, 1, cigi_byte_order
);
8575 proto_tree_add_item(field_tree
, hf_cigi4_start_of_frame_minor_version
, tvb
, offset
, 1, cigi_byte_order
);
8578 proto_tree_add_item(tree
, hf_cigi4_start_of_frame_ig_frame_number
, tvb
, offset
, 4, cigi_byte_order
);
8581 proto_tree_add_item(tree
, hf_cigi4_start_of_frame_timestamp
, tvb
, offset
, 4, cigi_byte_order
);
8584 proto_tree_add_item(tree
, hf_cigi4_start_of_frame_last_host_frame_number
, tvb
, offset
, 4, cigi_byte_order
);
8587 tf
= proto_tree_add_item(tree
, hf_cigi4_start_of_frame_ig_condition_flags
, tvb
, offset
, 1, cigi_byte_order
);
8588 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_start_of_frame_ig_condition_flags
);
8589 proto_tree_add_item(field_tree
, hf_cigi4_start_of_frame_condition_overframing
, tvb
, offset
, 1, cigi_byte_order
);
8590 proto_tree_add_item(field_tree
, hf_cigi4_start_of_frame_condition_paging
, tvb
, offset
, 1, cigi_byte_order
);
8591 proto_tree_add_item(field_tree
, hf_cigi4_start_of_frame_condition_excessive_variable_length_data
, tvb
, offset
, 1, cigi_byte_order
);
8597 /* CIGI Entity Position */
8599 cigi4_add_entity_position(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
8603 proto_tree
* field_tree
;
8606 tf
= proto_tree_add_item(tree
, hf_cigi4_entity_position_flags
, tvb
, offset
, 1, cigi_byte_order
);
8607 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_entity_position_flags
);
8608 proto_tree_add_item(field_tree
, hf_cigi4_entity_position_attach_state
, tvb
, offset
, 1, cigi_byte_order
);
8609 proto_tree_add_item(field_tree
, hf_cigi4_entity_position_ground_ocean_clamp
, tvb
, offset
, 1, cigi_byte_order
);
8612 proto_tree_add_item(tree
, hf_cigi4_entity_position_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8615 proto_tree_add_item(tree
, hf_cigi4_entity_position_parent_id
, tvb
, offset
, 2, cigi_byte_order
);
8618 proto_tree_add_item(tree
, hf_cigi4_entity_position_roll
, tvb
, offset
, 4, cigi_byte_order
);
8621 proto_tree_add_item(tree
, hf_cigi4_entity_position_pitch
, tvb
, offset
, 4, cigi_byte_order
);
8624 proto_tree_add_item(tree
, hf_cigi4_entity_position_yaw
, tvb
, offset
, 4, cigi_byte_order
);
8627 proto_tree_add_item(tree
, hf_cigi4_entity_position_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
8630 proto_tree_add_item(tree
, hf_cigi4_entity_position_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
8633 proto_tree_add_item(tree
, hf_cigi4_entity_position_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
8640 /* CIGI Conformal Clamped Entity Position */
8642 cigi4_add_conformal_clamped_entity_position(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
) {
8645 proto_tree_add_item(tree
, hf_cigi4_conformal_clamped_entity_position_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8648 proto_tree_add_item(tree
, hf_cigi4_conformal_clamped_entity_position_yaw
, tvb
, offset
, 4, cigi_byte_order
);
8651 proto_tree_add_item(tree
, hf_cigi4_conformal_clamped_entity_position_lat
, tvb
, offset
, 8, cigi_byte_order
);
8654 proto_tree_add_item(tree
, hf_cigi4_conformal_clamped_entity_position_lon
, tvb
, offset
, 8, cigi_byte_order
);
8660 /* CIGI4 Component Control */
8662 cigi4_add_component_control(tvbuff_t
* tvb
, packet_info
* pinfo _U_
, proto_tree
* tree
, void* data _U_
)
8666 proto_tree_add_item(tree
, hf_cigi3_component_control_component_id
, tvb
, offset
, 2, cigi_byte_order
);
8669 proto_tree_add_item(tree
, hf_cigi3_3_component_control_component_class
, tvb
, offset
, 1, cigi_byte_order
);
8672 proto_tree_add_item(tree
, hf_cigi3_component_control_component_state
, tvb
, offset
, 1, cigi_byte_order
);
8675 proto_tree_add_item(tree
, hf_cigi3_component_control_instance_id
, tvb
, offset
, 2, cigi_byte_order
);
8681 proto_tree_add_item(tree
, hf_cigi3_component_control_data_1
, tvb
, offset
, 4, cigi_byte_order
);
8684 proto_tree_add_item(tree
, hf_cigi3_component_control_data_2
, tvb
, offset
, 4, cigi_byte_order
);
8687 proto_tree_add_item(tree
, hf_cigi3_component_control_data_3
, tvb
, offset
, 4, cigi_byte_order
);
8690 proto_tree_add_item(tree
, hf_cigi3_component_control_data_4
, tvb
, offset
, 4, cigi_byte_order
);
8693 proto_tree_add_item(tree
, hf_cigi3_component_control_data_5
, tvb
, offset
, 4, cigi_byte_order
);
8696 proto_tree_add_item(tree
, hf_cigi3_component_control_data_6
, tvb
, offset
, 4, cigi_byte_order
);
8703 /* CIGI4 HAT/HOT Request */
8705 cigi4_add_hat_hot_request(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
)
8709 proto_tree
* field_tree
;
8712 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_hat_hot_id
, tvb
, offset
, 2, cigi_byte_order
);
8715 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_entity_id
, tvb
, offset
, 2, cigi_byte_order
);
8719 tf
= proto_tree_add_item(tree
, hf_cigi4_hat_hot_request_flags
, tvb
, offset
, 1, cigi_byte_order
);
8720 field_tree
= proto_item_add_subtree(tf
, ett_cigi4_hat_hot_request_flags
);
8721 proto_tree_add_item(field_tree
, hf_cigi3_hat_hot_request_type
, tvb
, offset
, 1, cigi_byte_order
);
8722 proto_tree_add_item(field_tree
, hf_cigi3_hat_hot_request_coordinate_system
, tvb
, offset
, 1, cigi_byte_order
);
8725 proto_tree_add_item(tree
, hf_cigi3_2_hat_hot_request_update_period
, tvb
, offset
, 1, cigi_byte_order
);
8732 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_lat_xoff
, tvb
, offset
, 8, cigi_byte_order
);
8735 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_lon_yoff
, tvb
, offset
, 8, cigi_byte_order
);
8738 proto_tree_add_item(tree
, hf_cigi3_hat_hot_request_alt_zoff
, tvb
, offset
, 8, cigi_byte_order
);
8746 /* Register the protocol with Wireshark */
8748 proto_register_cigi(void)
8750 module_t
*cigi_module
;
8751 expert_module_t
* expert_cigi
;
8753 static hf_register_info hf
[] = {
8754 /* All Versions of CIGI */
8755 { &hf_cigi_src_port
,
8756 { "Source Port", "cigi.srcport",
8757 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
8760 { &hf_cigi_dest_port
,
8761 { "Destination Port", "cigi.destport",
8762 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
8766 { "Source or Destination Port", "cigi.port",
8767 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
8771 { "Data", "cigi.data",
8772 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
8776 { &hf_cigi_frame_size
,
8777 { "Frame Size (bytes)", "cigi.frame_size",
8778 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
8779 "Number of bytes sent with all cigi packets in this frame", HFILL
}
8782 { &hf_cigi_packet_id
,
8783 { "Packet ID", "cigi.packet_id",
8784 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
8785 "Identifies the packet's id", HFILL
}
8787 { &hf_cigi_packet_size
,
8788 { "Packet Size (bytes)", "cigi.packet_size",
8789 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
8790 "Identifies the number of bytes in this type of packet", HFILL
}
8793 { "CIGI Version", "cigi.version",
8794 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
8795 "Identifies the version of CIGI interface that is currently running on the host", HFILL
}
8799 { "Unknown", "cigi.unknown",
8800 FT_NONE
, BASE_NONE
, NULL
, 0x0,
8801 "Unknown Packet", HFILL
}
8805 { &hf_cigi2_packet_id
,
8806 { "Packet ID", "cigi.packet_id",
8807 FT_UINT8
, BASE_DEC
|BASE_EXT_STRING
, &cigi2_packet_id_vals_ext
, 0x0,
8808 "Identifies the packet's ID", HFILL
}
8812 { &hf_cigi3_packet_id
,
8813 { "Packet ID", "cigi.packet_id",
8814 FT_UINT8
, BASE_DEC
|BASE_EXT_STRING
, &cigi3_packet_id_vals_ext
, 0x0,
8815 "Identifies the packet's ID", HFILL
}
8817 { &hf_cigi3_byte_swap
,
8818 { "Byte Swap", "cigi.byte_swap",
8819 FT_UINT16
, BASE_HEX
, VALS(cigi3_byte_swap_vals
), 0x0,
8820 "Used to determine whether the incoming data should be byte-swapped", HFILL
}
8824 { &hf_cigi4_packet_id
,
8825 { "Packet ID", "cigi.packet_id",
8826 FT_UINT16
, BASE_HEX
|BASE_EXT_STRING
, &cigi4_packet_id_vals_ext
, 0x0,
8827 "Identifies the packet's ID", HFILL
}
8829 { &hf_cigi4_packet_size
,
8830 { "Packet Size", "cigi.packet_size",
8831 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
8832 "Identifies the number of bytes in this type of packet", HFILL
}
8835 /* CIGI2 IG Control */
8836 { &hf_cigi2_ig_control
,
8837 { "IG Control", "cigi.ig_control",
8838 FT_NONE
, BASE_NONE
, NULL
, 0x0,
8839 "IG Control Packet", HFILL
}
8841 { &hf_cigi2_ig_control_db_number
,
8842 { "Database Number", "cigi.ig_control.db_number",
8843 FT_INT8
, BASE_DEC
, NULL
, 0x0,
8844 "Identifies the number associated with the database requiring loading", HFILL
}
8846 { &hf_cigi2_ig_control_ig_mode
,
8847 { "IG Mode Change Request", "cigi.ig_control.ig_mode",
8848 FT_UINT8
, BASE_DEC
, VALS(cigi2_ig_control_ig_mode_vals
), 0xc0,
8849 "Commands the IG to enter its various modes", HFILL
}
8851 { &hf_cigi2_ig_control_tracking_enable
,
8852 { "Tracking Device Enable", "cigi.ig_control.tracking_enable",
8853 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x20,
8854 "Identifies the state of an external tracking device", HFILL
}
8856 { &hf_cigi2_ig_control_boresight
,
8857 { "Tracking Device Boresight", "cigi.ig_control.boresight",
8858 FT_BOOLEAN
, 8, NULL
, 0x10,
8859 "Used by the host to enable boresight mode", HFILL
}
8861 { &hf_cigi2_ig_control_frame_ctr
,
8862 { "Frame Counter", "cigi.ig_control.frame_ctr",
8863 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
8864 "Identifies a particular frame", HFILL
}
8866 { &hf_cigi2_ig_control_time_tag
,
8867 { "Timing Value (microseconds)", "cigi.ig_control.time_tag",
8868 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
8869 "Identifies synchronous operation", HFILL
}
8872 /* CIGI3 IG Control */
8873 { &hf_cigi3_ig_control
,
8874 { "IG Control", "cigi.ig_control",
8875 FT_NONE
, BASE_NONE
, NULL
, 0x0,
8876 "IG Control Packet", HFILL
}
8878 { &hf_cigi3_ig_control_db_number
,
8879 { "Database Number", "cigi.ig_control.db_number",
8880 FT_INT8
, BASE_DEC
, NULL
, 0x0,
8881 "Used to initiate a database load on the IG", HFILL
}
8883 { &hf_cigi3_ig_control_ig_mode
,
8884 { "IG Mode", "cigi.ig_control.ig_mode",
8885 FT_UINT8
, BASE_DEC
, VALS(cigi3_ig_control_ig_mode_vals
), 0x03,
8886 "Dictates the IG's operational mode", HFILL
}
8888 { &hf_cigi3_ig_control_timestamp_valid
,
8889 { "Timestamp Valid", "cigi.ig_control.timestamp_valid",
8890 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x04,
8891 "Indicates whether the timestamp contains a valid value", HFILL
}
8893 { &hf_cigi3_ig_control_frame_ctr
,
8894 { "Frame Counter", "cigi.ig_control.frame_ctr",
8895 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
8896 "Contains a number that identifying the frame", HFILL
}
8898 { &hf_cigi3_ig_control_timestamp
,
8899 { "Timestamp (microseconds)", "cigi.ig_control.timestamp",
8900 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
8901 "Indicates the number of 10 microsecond \"ticks\" since some initial reference time", HFILL
}
8904 /* CIGI3_2 IG Control */
8905 { &hf_cigi3_2_ig_control_minor_version
,
8906 { "Minor Version", "cigi.ig_control.minor_version",
8907 FT_UINT8
, BASE_DEC
, NULL
, 0xF0,
8908 "Indicates the minor version of the CIGI interface", HFILL
}
8910 { &hf_cigi3_2_ig_control_host_frame_number
,
8911 { "Host Frame Number", "cigi.ig_control.host_frame_number",
8912 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
8913 "Uniquely identifies a data frame on the host", HFILL
}
8915 { &hf_cigi3_2_ig_control_last_ig_frame_number
,
8916 { "IG Frame Number", "cigi.ig_control.last_ig_frame_number",
8917 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
8918 "Contains the value of the IG Frame Number parameter in the last Start of Frame packet received from the IG", HFILL
}
8921 /* CIGI3_3 IG Control */
8922 { &hf_cigi3_3_ig_control_extrapolation_enable
,
8923 { "Extrapolation/Interpolation Enable", "cigi.ig_control.extrapolation_enable",
8924 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
8925 "Indicates whether any dead reckoning is enabled.", HFILL
}
8928 /* CIGI4 IG Control */
8929 { &hf_cigi4_ig_control_entity_substitution
,
8930 { "Substitution", "cigi.ig_control.substitution",
8931 FT_UINT8
, BASE_HEX
, NULL
, 0x0,
8934 { &hf_cigi4_ig_control_entity_substitution_enable
,
8935 { "Substitution Enable", "cigi.ig_control.substitution_enable",
8936 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
8937 "Sets this parameter to Enable (1) the IG to substitute of entity types for all entities.", HFILL
}
8939 { &hf_cigi4_ig_control_flags
,
8940 { "Flags", "cigi.ig_control.flags",
8941 FT_UINT8
, BASE_HEX
, NULL
, 0x0,
8944 { &hf_cigi4_ig_control_smoothing_enable
,
8945 { "Smoothing Enable", "cigi.ig_control.smoothing_enable",
8946 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
8947 "Indicates whether any dead reckoning is enabled.", HFILL
}
8950 /* CIGI4 Entity Position */
8951 { &hf_cigi4_entity_position
,
8952 { "Entity Position", "cigi.entity_position",
8953 FT_NONE
, BASE_NONE
, NULL
, 0x0,
8954 "Entity Position Packet", HFILL
}
8956 { &hf_cigi4_entity_position_entity_id
,
8957 { "Entity ID", "cigi.entity_position.entity_id",
8958 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
8959 "Specifies the entity to which this packet is applied", HFILL
}
8961 { &hf_cigi4_entity_position_flags
,
8962 { "Flags", "cigi.entity_position.flags",
8963 FT_UINT8
, BASE_HEX
, NULL
, 0x0,
8966 { &hf_cigi4_entity_position_attach_state
,
8967 { "Attach State", "cigi.entity_position.attach_state",
8968 FT_BOOLEAN
, 8, TFS(&attach_detach_tfs
), 0x01,
8969 "Identifies whether the entity should be attach as a child to a parent", HFILL
}
8971 { &hf_cigi4_entity_position_ground_ocean_clamp
,
8972 { "Ground/Ocean Clamp", "cigi.entity_position.ground_ocean_clamp",
8973 FT_UINT8
, BASE_DEC
, VALS(cigi4_entity_control_ground_ocean_clamp_vals
), 0x06,
8974 "Specifies whether the entity should be clamped to the ground or water surface", HFILL
}
8976 { &hf_cigi4_entity_position_parent_id
,
8977 { "Parent ID", "cigi.entity_position.parent_id",
8978 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
8979 "Specifies the parent for the entity", HFILL
}
8981 { &hf_cigi4_entity_position_roll
,
8982 { "Roll (degrees)", "cigi.entity_position.roll",
8983 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
8984 "Specifies the roll angle of the entity", HFILL
}
8986 { &hf_cigi4_entity_position_pitch
,
8987 { "Pitch (degrees)", "cigi.entity_position.pitch",
8988 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
8989 "Specifies the pitch angle of the entity", HFILL
}
8991 { &hf_cigi4_entity_position_yaw
,
8992 { "Yaw (degrees)", "cigi.entity_position.yaw",
8993 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
8994 "Specifies the instantaneous heading of the entity", HFILL
}
8996 { &hf_cigi4_entity_position_lat_xoff
,
8997 { "Latitude (degrees)/X Offset (m)", "cigi.entity_position.lat_xoff",
8998 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
8999 "Specifies the entity's geodetic latitude or the distance from the parent's reference point along its parent's X axis", HFILL
}
9001 { &hf_cigi4_entity_position_lon_yoff
,
9002 { "Longitude (degrees)/Y Offset (m)", "cigi.entity_position.lon_yoff",
9003 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9004 "Specifies the entity's geodetic longitude or the distance from the parent's reference point along its parent's Y axis", HFILL
}
9006 { &hf_cigi4_entity_position_alt_zoff
,
9007 { "Altitude (m)/Z Offset (m)", "cigi.entity_position.alt_zoff",
9008 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9009 "Specifies the entity's altitude or the distance from the parent's reference point along its parent's Z axis", HFILL
}
9012 /* CIGI2 Entity Control */
9013 { &hf_cigi2_entity_control
,
9014 { "Entity Control", "cigi.entity_control",
9015 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9016 "Entity Control Packet", HFILL
}
9018 { &hf_cigi2_entity_control_entity_id
,
9019 { "Entity ID", "cigi.entity_control.entity_id",
9020 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9021 "Identifies the entity motion system", HFILL
}
9023 { &hf_cigi2_entity_control_entity_state
,
9024 { "Entity State", "cigi.entity_control.entity_state",
9025 FT_UINT8
, BASE_DEC
, VALS(cigi2_entity_control_entity_state_vals
), 0xc0,
9026 "Identifies the entity's geometry state", HFILL
}
9028 { &hf_cigi2_entity_control_attach_state
,
9029 { "Attach State", "cigi.entity_control.attach_state",
9030 FT_BOOLEAN
, 8, TFS(&attach_detach_tfs
), 0x20,
9031 "Identifies whether the entity should be attach as a child to a parent", HFILL
}
9033 { &hf_cigi2_entity_control_collision_detect
,
9034 { "Collision Detection Request", "cigi.entity_control.collision_detect",
9035 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x10,
9036 "Identifies if collision detection is enabled for the entity", HFILL
}
9038 { &hf_cigi2_entity_control_effect_state
,
9039 { "Effect Animation State", "cigi.entity_control.effect_state",
9040 FT_UINT8
, BASE_DEC
, VALS(cigi2_entity_control_effect_state_vals
), 0x0c,
9041 "Identifies the animation state of a special effect", HFILL
}
9043 { &hf_cigi2_entity_control_type
,
9044 { "Entity Type", "cigi.entity_control.type",
9045 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9046 "Identifies the type of the entity", HFILL
}
9048 { &hf_cigi2_entity_control_parent_id
,
9049 { "Parent Entity ID", "cigi.entity_control.parent_id",
9050 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9051 "Identifies the parent to which the entity should be attached", HFILL
}
9053 { &hf_cigi2_entity_control_opacity
,
9054 { "Percent Opacity", "cigi.entity_control.opacity",
9055 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9056 "Specifies the degree of opacity of the entity", HFILL
}
9058 { &hf_cigi2_entity_control_internal_temp
,
9059 { "Internal Temperature (degrees C)", "cigi.entity_control.internal_temp",
9060 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9061 "Specifies the internal temperature of the entity in degrees Celsius", HFILL
}
9063 { &hf_cigi2_entity_control_roll
,
9064 { "Roll (degrees)", "cigi.entity_control.roll",
9065 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9066 "Identifies the roll angle of the entity in degrees", HFILL
}
9068 { &hf_cigi2_entity_control_pitch
,
9069 { "Pitch (degrees)", "cigi.entity_control_pitch",
9070 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9071 "Identifies the pitch of the entity in degrees", HFILL
}
9073 { &hf_cigi2_entity_control_heading
,
9074 { "Heading (degrees)", "cigi.entity_control_heading",
9075 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9076 "Identifies the heading of the entity in degrees", HFILL
}
9078 { &hf_cigi2_entity_control_alt
,
9079 { "Altitude (m)", "cigi.entity_control.alt",
9080 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9081 "Identifies the altitude position of the reference point of the entity in meters", HFILL
}
9083 { &hf_cigi2_entity_control_lat
,
9084 { "Latitude (degrees)", "cigi.entity_control.lat",
9085 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9086 "Identifies the latitude position of the reference point of the entity in degrees", HFILL
}
9088 { &hf_cigi2_entity_control_lon
,
9089 { "Longitude (degrees)", "cigi.entity_control.lon",
9090 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9091 "Identifies the longitude position of the reference point of the entity in degrees", HFILL
}
9094 /* CIGI3 Entity Control */
9095 { &hf_cigi3_entity_control
,
9096 { "Entity Control", "cigi.entity_control",
9097 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9098 "Entity Control Packet", HFILL
}
9100 { &hf_cigi3_entity_control_entity_id
,
9101 { "Entity ID", "cigi.entity_control.entity_id",
9102 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9103 "Specifies the entity to which this packet is applied", HFILL
}
9105 { &hf_cigi3_entity_control_entity_state
,
9106 { "Entity State", "cigi.entity_control.entity_state",
9107 FT_UINT8
, BASE_DEC
, VALS(cigi3_entity_control_entity_state_vals
), 0x03,
9108 "Specifies whether the entity should be active or destroyed", HFILL
}
9110 { &hf_cigi3_entity_control_attach_state
,
9111 { "Attach State", "cigi.entity_control.attach_state",
9112 FT_BOOLEAN
, 8, TFS(&attach_detach_tfs
), 0x04,
9113 "Specifies whether the entity should be attached as a child to a parent", HFILL
}
9115 { &hf_cigi3_entity_control_collision_detection_request
,
9116 { "Collision Detection Request", "cigi.entity_control.coll_det_request",
9117 FT_BOOLEAN
, 8, TFS(&cigi3_entity_control_collision_detection_request_tfs
), 0x08,
9118 "Determines whether any collision detection segments and volumes associated with this entity are used as the source in collision testing", HFILL
}
9120 { &hf_cigi3_entity_control_inherit_alpha
,
9121 { "Inherit Alpha", "cigi.entity_control.inherit_alpha",
9122 FT_BOOLEAN
, 8, TFS(&inherited_not_inherited_tfs
), 0x10,
9123 "Specifies whether the entity's alpha is combined with the apparent alpha of its parent", HFILL
}
9125 { &hf_cigi3_entity_control_ground_ocean_clamp
,
9126 { "Ground/Ocean Clamp", "cigi.entity_control.ground_ocean_clamp",
9127 FT_UINT8
, BASE_DEC
, VALS(cigi3_entity_control_ground_ocean_clamp_vals
), 0x60,
9128 "Specifies whether the entity should be clamped to the ground or water surface", HFILL
}
9130 { &hf_cigi3_entity_control_animation_direction
,
9131 { "Animation Direction", "cigi.entity_control.animation_dir",
9132 FT_BOOLEAN
, 8, TFS(&cigi3_entity_control_animation_direction_tfs
), 0x01,
9133 "Specifies the direction in which an animation plays", HFILL
}
9135 { &hf_cigi3_entity_control_animation_loop_mode
,
9136 { "Animation Loop Mode", "cigi.entity_control.animation_loop_mode",
9137 FT_BOOLEAN
, 8, TFS(&cigi3_entity_control_animation_loop_mode_tfs
), 0x02,
9138 "Specifies whether an animation should be a one-shot", HFILL
}
9140 { &hf_cigi3_entity_control_animation_state
,
9141 { "Animation State", "cigi.entity_control.animation_state",
9142 FT_UINT8
, BASE_DEC
, VALS(cigi3_entity_control_animation_state_vals
), 0x0c,
9143 "Specifies the state of an animation", HFILL
}
9145 { &hf_cigi3_entity_control_alpha
,
9146 { "Alpha", "cigi.entity_control.alpha",
9147 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9148 "Specifies the explicit alpha to be applied to the entity's geometry", HFILL
}
9150 { &hf_cigi3_entity_control_entity_type
,
9151 { "Entity Type", "cigi.entity_control.entity_type",
9152 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9153 "Specifies the type for the entity", HFILL
}
9155 { &hf_cigi3_entity_control_parent_id
,
9156 { "Parent ID", "cigi.entity_control.parent_id",
9157 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9158 "Specifies the parent for the entity", HFILL
}
9160 { &hf_cigi3_entity_control_roll
,
9161 { "Roll (degrees)", "cigi.entity_control.roll",
9162 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9163 "Specifies the roll angle of the entity", HFILL
}
9165 { &hf_cigi3_entity_control_pitch
,
9166 { "Pitch (degrees)", "cigi.entity_control.pitch",
9167 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9168 "Specifies the pitch angle of the entity", HFILL
}
9170 { &hf_cigi3_entity_control_yaw
,
9171 { "Yaw (degrees)", "cigi.entity_control.yaw",
9172 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9173 "Specifies the instantaneous heading of the entity", HFILL
}
9175 { &hf_cigi3_entity_control_lat_xoff
,
9176 { "Latitude (degrees)/X Offset (m)", "cigi.entity_control.lat_xoff",
9177 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9178 "Specifies the entity's geodetic latitude or the distance from the parent's reference point along its parent's X axis", HFILL
}
9180 { &hf_cigi3_entity_control_lon_yoff
,
9181 { "Longitude (degrees)/Y Offset (m)", "cigi.entity_control.lon_yoff",
9182 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9183 "Specifies the entity's geodetic longitude or the distance from the parent's reference point along its parent's Y axis", HFILL
}
9185 { &hf_cigi3_entity_control_alt_zoff
,
9186 { "Altitude (m)/Z Offset (m)", "cigi.entity_control.alt_zoff",
9187 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9188 "Specifies the entity's altitude or the distance from the parent's reference point along its parent's Z axis", HFILL
}
9191 /* CIGI3_3 Entity Control */
9192 { &hf_cigi3_3_entity_control_extrapolation_enable
,
9193 { "Linear Extrapolation/Interpolation Enable", "cigi.entity_control.extrapolation_enable",
9194 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x10,
9195 "Indicates whether the entity's motion may be smoothed by extrapolation or interpolation.", HFILL
}
9198 /* CIGI4 Entity Control */
9199 { &hf_cigi4_entity_control
,
9200 { "Entity Control", "cigi.entity_control",
9201 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9202 "Entity Control Packet", HFILL
}
9204 { &hf_cigi4_entity_control_entity_state
,
9205 { "Entity State", "cigi.entity_control.entity_state",
9206 FT_UINT8
, BASE_DEC
, VALS(cigi4_entity_control_entity_state_vals
), 0x03,
9207 "Specifies whether the entity should be active or destroyed", HFILL
}
9209 { &hf_cigi4_entity_control_collision_reporting_enable
,
9210 { "Collision Detection Request", "cigi.entity_control.coll_det_request",
9211 FT_BOOLEAN
, 8, TFS(&tfs_disabled_enabled
), 0x04,
9212 "Specifies whether any collision detection segments and volumes associated with this entity are used as the source in collision testing", HFILL
}
9214 { &hf_cigi4_entity_control_inherit_alpha
,
9215 { "Inherit Alpha", "cigi.entity_control.inherit_alpha",
9216 FT_BOOLEAN
, 8, TFS(&cigi4_entity_control_inherit_alpha_tfs
), 0x8,
9217 "Specifies whether the entity's alpha is combined with the apparent alpha of its parent", HFILL
}
9219 { &hf_cigi4_entity_control_smooting_enable
,
9220 { "Smoothing Enable", "cigi.entity_control.smoothing_enable",
9221 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x10,
9222 "Specifies whether the IG shall smooth the entity’s motion by extrapolation or interpolation.", HFILL
}
9224 { &hf_cigi4_entity_control_extended_entity_type
,
9225 { "Linear Extrapolation/Interpolation Enable", "cigi.entity_control.extended_entity_type",
9226 FT_BOOLEAN
, 8, TFS(&tfs_entity_control_extended_entity_type
), 0x20,
9227 "Specifies whether the IG shall use a 16-bit Short Entity Type definition for the Entity ID or an extended 64-bit definition.", HFILL
}
9229 { &hf_cigi4_entity_control_alpha
,
9230 { "Alpha", "cigi.entity_control.alpha",
9231 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9232 "Specifies the explicit alpha to be applied to the entity's geometry", HFILL
}
9234 { &hf_cigi4_entity_control_entity_id
,
9235 { "Entity ID", "cigi.entity_control.entity_id",
9236 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9237 "This parameter identifies a specific entity", HFILL
}
9239 { &hf_cigi4_entity_control_entity_kind
,
9240 { "Parent Kind", "cigi.entity_control.parent_kind",
9241 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9242 "This field shall identify the kind of entity described by the Entity Type record", HFILL
}
9244 { &hf_cigi4_entity_control_entity_domain
,
9245 { "Entity Domain", "cigi.entity_control.entity_domain",
9246 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9247 "Specifies the domain in which the entity operates", HFILL
}
9249 { &hf_cigi4_entity_control_entity_country
,
9250 { "Entity Country", "cigi.entity_control.entity_country",
9251 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9252 "Specifies the roll angle of the entity", HFILL
}
9254 { &hf_cigi4_entity_control_entity_category
,
9255 { "Entity Category", "cigi.entity_control.entity_category",
9256 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9257 "Specifies the instantaneous heading of the entity", HFILL
}
9259 { &hf_cigi4_entity_control_entity_subcategory
,
9260 { "Entity Subcategory", "cigi.entity_control.entity_subcategory",
9261 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9262 "Specifies a particular subcategory to which an entity belongs based on the Category field", HFILL
}
9264 { &hf_cigi4_entity_control_entity_specific
,
9265 { "Entity Specific", "cigi.entity_control.entity_specific",
9266 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9267 "Specifies a specific information about an entity based on the Subcategory field", HFILL
}
9269 { &hf_cigi4_entity_control_entity_extra
,
9270 { "Entity Extra", "cigi.entity_control.entity_extra",
9271 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9272 "Specifies extra information required to describe a particular entity", HFILL
}
9275 /* CIGI4 Animation Control */
9276 { &hf_cigi4_animation_control
,
9277 { "Animation Control", "cigi.animation_control",
9278 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9279 "Animation Control Packet", HFILL
}
9281 { &hf_cigi4_animation_control_state
,
9282 { "Animation State", "cigi.animation_control_state",
9283 FT_BOOLEAN
, 8, TFS(&cigi4_animation_control_state_tfs
), 0x01,
9284 "Specifies the state of an animation.", HFILL
}
9286 { &hf_cigi4_animation_control_frame_position_reset
,
9287 { "Animation State Position Reset", "cigi.animation_control_state_position_reset",
9288 FT_BOOLEAN
, 8, TFS(&cigi4_animation_control_state_positon_reset_tfs
), 0x02,
9289 "whether the animation is restarted from the beginning or just continues from its current frame", HFILL
}
9291 { &hf_cigi4_animation_control_loop_mode
,
9292 { "Animation Loop Mode", "cigi.animation_control_loop_mode",
9293 FT_BOOLEAN
, 8, TFS(&cigi4_animation_control_state_loop_mode
), 0x04,
9294 "Specifies whether an animation should be a one-shot or should loop continuously", HFILL
}
9296 { &hf_cigi4_animation_control_inherit_alpha
,
9297 { "Inherit Alpha", "cigi.animation_control_inherit_alpha",
9298 FT_BOOLEAN
, 8, TFS(&cigi4_animation_control_state_inherit_alpha
), 0x04,
9299 "Specifies whether the animation’s alpha is combined with the apparent alpha of the entity", HFILL
}
9301 { &hf_cigi4_animation_control_alpha
,
9302 { "Alpha", "cigi.animation_control_alpha",
9303 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9304 "Specifies the explicit alpha to be applied to the entity’s geometry", HFILL
}
9306 { &hf_cigi4_animation_control_entity_id
,
9307 { "Entity ID", "cigi.animation_control_entity_id",
9308 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9309 "This parameter identifies a specific entity", HFILL
}
9311 { &hf_cigi4_animation_control_animation_id
,
9312 { "Animation ID", "cigi.animation_control_animation_id",
9313 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9314 "This parameter identifies the animation to which the data in this packet should be applied", HFILL
}
9316 { &hf_cigi4_animation_control_animation_speed
,
9317 { "Animation Speed", "cigi.animation_control_animation_speed",
9318 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9319 "This parameter identifies the animation to which the data in this packet should be applied", HFILL
}
9322 /* CIGI3 Conformal Clamped Entity Control */
9323 { &hf_cigi3_conformal_clamped_entity_control
,
9324 { "Conformal Clamped Entity Control", "cigi.conformal_clamped_entity_control",
9325 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9326 "Conformal Clamped Entity Control Packet", HFILL
}
9328 { &hf_cigi3_conformal_clamped_entity_control_entity_id
,
9329 { "Entity ID", "cigi.conformal_clamped_entity_control.entity_id",
9330 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9331 "Specifies the entity to which this packet is applied", HFILL
}
9333 { &hf_cigi3_conformal_clamped_entity_control_yaw
,
9334 { "Yaw (degrees)", "cigi.conformal_clamped_entity_control.yaw",
9335 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9336 "Specifies the instantaneous heading of the entity", HFILL
}
9338 { &hf_cigi3_conformal_clamped_entity_control_lat
,
9339 { "Latitude (degrees)", "cigi.conformal_clamped_entity_control.lat",
9340 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9341 "Specifies the entity's geodetic latitude", HFILL
}
9343 { &hf_cigi3_conformal_clamped_entity_control_lon
,
9344 { "Longitude (degrees)", "cigi.conformal_clamped_entity_control.lon",
9345 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9346 "Specifies the entity's geodetic longitude", HFILL
}
9349 /* CIGI4 Conformal Clamped Entity Position */
9350 { &hf_cigi4_conformal_clamped_entity_position
,
9351 { "Conformal Clamped Entity Control", "cigi.conformal_clamped_entity_position",
9352 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9353 "Conformal Clamped Entity Control Packet", HFILL
}
9355 { &hf_cigi4_conformal_clamped_entity_position_entity_id
,
9356 { "Entity ID", "cigi.conformal_clamped_entity_position.entity_id",
9357 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9358 "Specifies the entity to which this packet is applied", HFILL
}
9360 { &hf_cigi4_conformal_clamped_entity_position_yaw
,
9361 { "Yaw (degrees)", "cigi.conformal_clamped_entity_position.yaw",
9362 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9363 "Specifies the instantaneous heading of the entity", HFILL
}
9365 { &hf_cigi4_conformal_clamped_entity_position_lat
,
9366 { "Latitude (degrees)", "cigi.conformal_clamped_entity_position.lat",
9367 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9368 "Specifies the entity's geodetic latitude", HFILL
}
9370 { &hf_cigi4_conformal_clamped_entity_position_lon
,
9371 { "Longitude (degrees)", "cigi.conformal_clamped_entity_position.lon",
9372 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
9373 "Specifies the entity's geodetic longitude", HFILL
}
9376 /* CIGI2 Component Control */
9377 { &hf_cigi2_component_control
,
9378 { "Component Control", "cigi.component_control",
9379 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9380 "Component Control Packet", HFILL
}
9382 { &hf_cigi2_component_control_instance_id
,
9383 { "Instance ID", "cigi.component_control.instance_id",
9384 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9385 "Identifies the instance of the a class the component being controlled belongs to", HFILL
}
9387 { &hf_cigi2_component_control_component_class
,
9388 { "Component Class", "cigi.component_control.component_class",
9389 FT_UINT8
, BASE_DEC
, VALS(cigi2_component_control_component_class_vals
), 0x0,
9390 "Identifies the class the component being controlled is in", HFILL
}
9392 { &hf_cigi2_component_control_component_id
,
9393 { "Component ID", "cigi.component_control.component_id",
9394 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9395 "Identifies the component of a component class and instance ID this packet will be applied to", HFILL
}
9397 { &hf_cigi2_component_control_component_state
,
9398 { "Component State", "cigi.component_control.component_state",
9399 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9400 "Identifies the commanded state of a component", HFILL
}
9402 { &hf_cigi2_component_control_component_val1
,
9403 { "Component Value 1", "cigi.component_control.component_val1",
9404 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9405 "Identifies a continuous value to be applied to a component", HFILL
}
9407 { &hf_cigi2_component_control_component_val2
,
9408 { "Component Value 2", "cigi.component_control.component_val2",
9409 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9410 "Identifies a continuous value to be applied to a component", HFILL
}
9413 /* CIGI3 Component Control */
9414 { &hf_cigi3_component_control
,
9415 { "Component Control", "cigi.component_control",
9416 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9417 "Component Control Packet", HFILL
}
9419 { &hf_cigi3_component_control_component_id
,
9420 { "Component ID", "cigi.component_control.component_id",
9421 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9422 "Identifies the component to which the data in this packet should be applied", HFILL
}
9424 { &hf_cigi3_component_control_instance_id
,
9425 { "Instance ID", "cigi.component_control.instance_id",
9426 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9427 "Identifies the object to which the component belongs", HFILL
}
9429 { &hf_cigi3_component_control_component_class
,
9430 { "Component Class", "cigi.component_control.component_class",
9431 FT_UINT8
, BASE_DEC
, VALS(cigi3_component_control_component_class_vals
), 0x0f,
9432 "Identifies the type of object to which the Instance ID parameter refers", HFILL
}
9434 { &hf_cigi3_component_control_component_state
,
9435 { "Component State", "cigi.component_control.component_state",
9436 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9437 "Specifies a discrete state for the component", HFILL
}
9439 { &hf_cigi3_component_control_data_1
,
9440 { "Component Data 1", "cigi.component_control.data_1",
9441 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
9442 "User-defined component data", HFILL
}
9444 { &hf_cigi3_component_control_data_2
,
9445 { "Component Data 2", "cigi.component_control.data_2",
9446 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
9447 "User-defined component data", HFILL
}
9449 { &hf_cigi3_component_control_data_3
,
9450 { "Component Data 3", "cigi.component_control.data_3",
9451 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
9452 "User-defined component data", HFILL
}
9454 { &hf_cigi3_component_control_data_4
,
9455 { "Component Data 4", "cigi.component_control.data_4",
9456 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
9457 "User-defined component data", HFILL
}
9459 { &hf_cigi3_component_control_data_5
,
9460 { "Component Data 5", "cigi.component_control.data_5",
9461 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
9462 "User-defined component data", HFILL
}
9464 { &hf_cigi3_component_control_data_6
,
9465 { "Component Data 6", "cigi.component_control.data_6",
9466 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
9467 "User-defined component data", HFILL
}
9470 /* CIGI3_3 Component Control */
9471 { &hf_cigi3_3_component_control_component_class
,
9472 { "Component Class", "cigi.component_control.component_class",
9473 FT_UINT8
, BASE_DEC
, VALS(cigi3_3_component_control_component_class_vals
), 0x3f,
9474 "Identifies the type of object to which the Instance ID parameter refers", HFILL
}
9477 /* CIGI4 Component Control */
9479 /* CIGI3 Short Component Control */
9480 { &hf_cigi3_short_component_control
,
9481 { "Short Component Control", "cigi.short_component_control",
9482 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9483 "Short Component Control Packet", HFILL
}
9485 { &hf_cigi3_short_component_control_component_id
,
9486 { "Component ID", "cigi.short_component_control.component_id",
9487 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9488 "Identifies the component to which the data in this packet should be applied", HFILL
}
9490 { &hf_cigi3_short_component_control_instance_id
,
9491 { "Instance ID", "cigi.short_component_control.instance_id",
9492 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9493 "Identifies the object to which the component belongs", HFILL
}
9495 { &hf_cigi3_short_component_control_component_class
,
9496 { "Component Class", "cigi.short_component_control.component_class",
9497 FT_UINT8
, BASE_DEC
, VALS(cigi3_short_component_control_component_class_vals
), 0x0f,
9498 "Identifies the type of object to which the Instance ID parameter refers", HFILL
}
9500 { &hf_cigi3_short_component_control_component_state
,
9501 { "Component State", "cigi.short_component_control.component_state",
9502 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9503 "Specifies a discrete state for the component", HFILL
}
9505 { &hf_cigi3_short_component_control_data_1
,
9506 { "Component Data 1", "cigi.short_component_control.data_1",
9507 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
9508 "User-defined component data", HFILL
}
9510 { &hf_cigi3_short_component_control_data_2
,
9511 { "Component Data 2", "cigi.short_component_control.data_2",
9512 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
9513 "User-defined component data", HFILL
}
9516 /* CIGI3_3 Short Component Control */
9517 { &hf_cigi3_3_short_component_control_component_class
,
9518 { "Component Class", "cigi.short_component_control.component_class",
9519 FT_UINT8
, BASE_DEC
, VALS(cigi3_3_short_component_control_component_class_vals
), 0x3f,
9520 "Identifies the type of object to which the Instance ID parameter refers", HFILL
}
9523 /* CIGI4 Short Component Control */
9525 /* CIGI2 Articulated Parts Control */
9526 { &hf_cigi2_articulated_parts_control
,
9527 { "Articulated Parts Control", "cigi.art_part_control",
9528 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9529 "Articulated Parts Control Packet", HFILL
}
9531 { &hf_cigi2_articulated_parts_control_entity_id
,
9532 { "Entity ID", "cigi.art_part_control.entity_id",
9533 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9534 "Identifies the entity to which this data packet will be applied", HFILL
}
9536 { &hf_cigi2_articulated_parts_control_part_id
,
9537 { "Articulated Part ID", "cigi.art_part_control.part_id",
9538 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9539 "Identifies which articulated part is controlled with this data packet", HFILL
}
9541 { &hf_cigi2_articulated_parts_control_part_state
,
9542 { "Articulated Part State", "cigi.art_part_control.part_state",
9543 FT_BOOLEAN
, 8, TFS(&tfs_active_inactive
), 0x80,
9544 "Indicates whether an articulated part is to be shown in the display", HFILL
}
9546 { &hf_cigi2_articulated_parts_control_xoff_enable
,
9547 { "X Offset Enable", "cigi.art_part_control.xoff_enable",
9548 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x40,
9549 "Identifies whether the articulated part x offset in this data packet is manipulated from the host", HFILL
}
9551 { &hf_cigi2_articulated_parts_control_yoff_enable
,
9552 { "Y Offset Enable", "cigi.art_part_control.yoff_enable",
9553 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x20,
9554 "Identifies whether the articulated part y offset in this data packet is manipulated from the host", HFILL
}
9556 { &hf_cigi2_articulated_parts_control_zoff_enable
,
9557 { "Z Offset Enable", "cigi.art_part_control.zoff_enable",
9558 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x10,
9559 "Identifies whether the articulated part z offset in this data packet is manipulated from the host", HFILL
}
9561 { &hf_cigi2_articulated_parts_control_roll_enable
,
9562 { "Roll Enable", "cigi.art_part_control.roll_enable",
9563 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
9564 "Identifies whether the articulated part roll enable in this data packet is manipulated from the host", HFILL
}
9566 { &hf_cigi2_articulated_parts_control_pitch_enable
,
9567 { "Pitch Enable", "cigi.art_part_control.pitch_enable",
9568 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x04,
9569 "Identifies whether the articulated part pitch enable in this data packet is manipulated from the host", HFILL
}
9571 { &hf_cigi2_articulated_parts_control_yaw_enable
,
9572 { "Yaw Enable", "cigi.art_part_control.yaw_enable",
9573 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x02,
9574 "Identifies whether the articulated part yaw enable in this data packet is manipulated from the host", HFILL
}
9576 { &hf_cigi2_articulated_parts_control_x_offset
,
9577 { "X Offset (m)", "cigi.art_part_control.x_offset",
9578 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9579 "Identifies the distance along the X axis by which the articulated part should be moved", HFILL
}
9581 { &hf_cigi2_articulated_parts_control_y_offset
,
9582 { "Y Offset (m)", "cigi.art_part_control.y_offset",
9583 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9584 "Identifies the distance along the Y axis by which the articulated part should be moved", HFILL
}
9586 { &hf_cigi2_articulated_parts_control_z_offset
,
9587 { "Z Offset (m)", "cigi.art_part_control.z_offset",
9588 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9589 "Identifies the distance along the Z axis by which the articulated part should be moved", HFILL
}
9591 { &hf_cigi2_articulated_parts_control_roll
,
9592 { "Roll (degrees)", "cigi.art_part_control.roll",
9593 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9594 "Specifies the roll of this part with respect to the submodel coordinate system", HFILL
}
9596 { &hf_cigi2_articulated_parts_control_pitch
,
9597 { "Pitch (degrees)", "cigi.art_part_control.pitch",
9598 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9599 "Specifies the pitch of this part with respect to the submodel coordinate system", HFILL
}
9601 { &hf_cigi2_articulated_parts_control_yaw
,
9602 { "Yaw (degrees)", "cigi.art_part_control.yaw",
9603 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9604 "Specifies the yaw of this part with respect to the submodel coordinate system", HFILL
}
9607 /* CIGI3 Articulated Part Control */
9608 { &hf_cigi3_articulated_part_control
,
9609 { "Articulated Part Control", "cigi.art_part_control",
9610 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9611 "Articulated Part Control Packet", HFILL
}
9613 { &hf_cigi3_articulated_part_control_entity_id
,
9614 { "Entity ID", "cigi.art_part_control.entity_id",
9615 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9616 "Specifies the entity to which the articulated part belongs", HFILL
}
9618 { &hf_cigi3_articulated_part_control_part_id
,
9619 { "Articulated Part ID", "cigi.art_part_control.part_id",
9620 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9621 "Specifies the articulated part to which the data in this packet should be applied", HFILL
}
9623 { &hf_cigi3_articulated_part_control_part_enable
,
9624 { "Articulated Part Enable", "cigi.art_part_control.part_enable",
9625 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
9626 "Determines whether the articulated part submodel should be enabled or disabled within the scene graph", HFILL
}
9628 { &hf_cigi3_articulated_part_control_xoff_enable
,
9629 { "X Offset Enable", "cigi.art_part_control.xoff_enable",
9630 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x02,
9631 "Determines whether the X Offset parameter of the current packet should be applied to the articulated part", HFILL
}
9633 { &hf_cigi3_articulated_part_control_yoff_enable
,
9634 { "Y Offset Enable", "cigi.art_part_control.yoff_enable",
9635 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x04,
9636 "Determines whether the Y Offset parameter of the current packet should be applied to the articulated part", HFILL
}
9638 { &hf_cigi3_articulated_part_control_zoff_enable
,
9639 { "Z Offset Enable", "cigi.art_part_control.zoff_enable",
9640 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
9641 "Determines whether the Z Offset parameter of the current packet should be applied to the articulated part", HFILL
}
9643 { &hf_cigi3_articulated_part_control_roll_enable
,
9644 { "Roll Enable", "cigi.art_part_control.roll_enable",
9645 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x10,
9646 "Determines whether the Roll parameter of the current packet should be applied to the articulated part", HFILL
}
9648 { &hf_cigi3_articulated_part_control_pitch_enable
,
9649 { "Pitch Enable", "cigi.art_part_control.pitch_enable",
9650 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x20,
9651 "Determines whether the Pitch parameter of the current packet should be applied to the articulated part", HFILL
}
9653 { &hf_cigi3_articulated_part_control_yaw_enable
,
9654 { "Yaw Enable", "cigi.art_part_control.yaw_enable",
9655 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x40,
9656 "Determines whether the Yaw parameter of the current packet should be applied to the articulated part", HFILL
}
9658 { &hf_cigi3_articulated_part_control_xoff
,
9659 { "X Offset (m)", "cigi.art_part_control.xoff",
9660 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9661 "Specifies the distance of the articulated part along its X axis", HFILL
}
9663 { &hf_cigi3_articulated_part_control_yoff
,
9664 { "Y Offset (m)", "cigi.art_part_control.yoff",
9665 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9666 "Specifies the distance of the articulated part along its Y axis", HFILL
}
9668 { &hf_cigi3_articulated_part_control_zoff
,
9669 { "Z Offset (m)", "cigi.art_part_control.zoff",
9670 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9671 "Specifies the distance of the articulated part along its Z axis", HFILL
}
9673 { &hf_cigi3_articulated_part_control_roll
,
9674 { "Roll (degrees)", "cigi.art_part_control.roll",
9675 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9676 "Specifies the angle of rotation of the articulated part submodel about its X axis after yaw and pitch have been applied", HFILL
}
9678 { &hf_cigi3_articulated_part_control_pitch
,
9679 { "Pitch (degrees)", "cigi.art_part_control.pitch",
9680 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9681 "Specifies the angle of rotation of the articulated part submodel about its Y axis after yaw has been applied", HFILL
}
9683 { &hf_cigi3_articulated_part_control_yaw
,
9684 { "Yaw (degrees)", "cigi.art_part_control.yaw",
9685 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9686 "Specifies the angle of rotation of the articulated part about its Z axis", HFILL
}
9690 /* CIGI4 Articulated Part Control */
9692 /* CIGI3 Short Articulated Part Control */
9693 { &hf_cigi3_short_articulated_part_control
,
9694 { "Short Articulated Part Control", "cigi.short_art_part_control",
9695 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9696 "Short Articulated Part Control Packet", HFILL
}
9698 { &hf_cigi3_short_articulated_part_control_entity_id
,
9699 { "Entity ID", "cigi.short_art_part_control.entity_id",
9700 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9701 "Specifies the entity to which the articulated part(s) belongs", HFILL
}
9703 { &hf_cigi3_short_articulated_part_control_part_id_1
,
9704 { "Articulated Part ID 1", "cigi.short_art_part_control.part_id_1",
9705 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9706 "Specifies an articulated part to which the data in this packet should be applied", HFILL
}
9708 { &hf_cigi3_short_articulated_part_control_part_id_2
,
9709 { "Articulated Part ID 2", "cigi.short_art_part_control.part_id_2",
9710 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9711 "Specifies an articulated part to which the data in this packet should be applied", HFILL
}
9713 { &hf_cigi3_short_articulated_part_control_dof_select_1
,
9714 { "DOF Select 1", "cigi.short_art_part_control.dof_select_1",
9715 FT_UINT8
, BASE_DEC
, VALS(cigi3_short_articulated_part_control_dof_select_vals
), 0x07,
9716 "Specifies the degree of freedom to which the value of DOF 1 is applied", HFILL
}
9718 { &hf_cigi3_short_articulated_part_control_dof_select_2
,
9719 { "DOF Select 2", "cigi.short_art_part_control.dof_select_2",
9720 FT_UINT8
, BASE_DEC
, VALS(cigi3_short_articulated_part_control_dof_select_vals
), 0x38,
9721 "Specifies the degree of freedom to which the value of DOF 2 is applied", HFILL
}
9723 { &hf_cigi3_short_articulated_part_control_part_enable_1
,
9724 { "Articulated Part Enable 1", "cigi.short_art_part_control.part_enable_1",
9725 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x40,
9726 "Determines whether the articulated part submodel specified by Articulated Part ID 1 should be enabled or disabled within the scene graph", HFILL
}
9728 { &hf_cigi3_short_articulated_part_control_part_enable_2
,
9729 { "Articulated Part Enable 2", "cigi.short_art_part_control.part_enable_2",
9730 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x80,
9731 "Determines whether the articulated part submodel specified by Articulated Part ID 2 should be enabled or disabled within the scene graph", HFILL
}
9733 { &hf_cigi3_short_articulated_part_control_dof_1
,
9734 { "DOF 1", "cigi.short_art_part_control.dof_1",
9735 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9736 "Specifies either an offset or an angular position for the part identified by Articulated Part ID 1", HFILL
}
9738 { &hf_cigi3_short_articulated_part_control_dof_2
,
9739 { "DOF 2", "cigi.short_art_part_control.dof_2",
9740 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9741 "Specifies either an offset or an angular position for the part identified by Articulated Part ID 2", HFILL
}
9744 /* CIGI4 Short Articulated Part Control */
9745 { &hf_cigi4_short_articulated_part_control_part_enable_flags
,
9746 { "Request Flags", "cigi.short_art_part_control.flags",
9747 FT_UINT8
, BASE_HEX
, NULL
, 0x0,
9751 /* CIGI2 Rate Control */
9752 { &hf_cigi2_rate_control
,
9753 { "Rate Control", "cigi.rate_control",
9754 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9755 "Rate Control Packet", HFILL
}
9757 { &hf_cigi2_rate_control_entity_id
,
9758 { "Entity ID", "cigi.rate_control.entity_id",
9759 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9760 "Specifies the entity to which this data packet will be applied", HFILL
}
9762 { &hf_cigi2_rate_control_part_id
,
9763 { "Articulated Part ID", "cigi.rate_control.part_id",
9764 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9765 "Identifies which articulated part is controlled with this data packet", HFILL
}
9767 { &hf_cigi2_rate_control_x_rate
,
9768 { "X Linear Rate (m/s)", "cigi.rate_control.x_rate",
9769 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9770 "Specifies the x component of the velocity vector for the entity being represented", HFILL
}
9772 { &hf_cigi2_rate_control_y_rate
,
9773 { "Y Linear Rate (m/s)", "cigi.rate_control.y_rate",
9774 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9775 "Specifies the y component of the velocity vector for the entity being represented", HFILL
}
9777 { &hf_cigi2_rate_control_z_rate
,
9778 { "Z Linear Rate (m/s)", "cigi.rate_control.z_rate",
9779 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9780 "Specifies the z component of the velocity vector for the entity being represented", HFILL
}
9782 { &hf_cigi2_rate_control_roll_rate
,
9783 { "Roll Angular Rate (degrees/s)", "cigi.rate_control.roll_rate",
9784 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9785 "Specifies the roll angular rate for the entity being represented", HFILL
}
9787 { &hf_cigi2_rate_control_pitch_rate
,
9788 { "Pitch Angular Rate (degrees/s)", "cigi.rate_control.pitch_rate",
9789 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9790 "Specifies the pitch angular rate for the entity being represented", HFILL
}
9792 { &hf_cigi2_rate_control_yaw_rate
,
9793 { "Yaw Angular Rate (degrees/s)", "cigi.rate_control.yaw_rate",
9794 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9795 "Specifies the yaw angular rate for the entity being represented", HFILL
}
9798 /* CIGI3 Rate Control */
9799 { &hf_cigi3_rate_control
,
9800 { "Rate Control", "cigi.rate_control",
9801 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9802 "Rate Control Packet", HFILL
}
9804 { &hf_cigi3_rate_control_entity_id
,
9805 { "Entity ID", "cigi.rate_control.entity_id",
9806 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9807 "Specifies the entity to which the rate should be applied", HFILL
}
9809 { &hf_cigi3_rate_control_part_id
,
9810 { "Articulated Part ID", "cigi.rate_control.part_id",
9811 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9812 "Specifies the articulated part to which the rate should be applied", HFILL
}
9814 { &hf_cigi3_rate_control_apply_to_part
,
9815 { "Apply to Articulated Part", "cigi.rate_control.apply_to_part",
9816 FT_BOOLEAN
, 8, NULL
, 0x01,
9817 "Determines whether the rate is applied to the articulated part specified by the Articulated Part ID parameter", HFILL
}
9819 { &hf_cigi3_rate_control_x_rate
,
9820 { "X Linear Rate (m/s)", "cigi.rate_control.x_rate",
9821 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9822 "Specifies the X component of a linear velocity vector", HFILL
}
9824 { &hf_cigi3_rate_control_y_rate
,
9825 { "Y Linear Rate (m/s)", "cigi.rate_control.y_rate",
9826 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9827 "Specifies the Y component of a linear velocity vector", HFILL
}
9829 { &hf_cigi3_rate_control_z_rate
,
9830 { "Z Linear Rate (m/s)", "cigi.rate_control.z_rate",
9831 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9832 "Specifies the Z component of a linear velocity vector", HFILL
}
9834 { &hf_cigi3_rate_control_roll_rate
,
9835 { "Roll Angular Rate (degrees/s)", "cigi.rate_control.roll_rate",
9836 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9837 "Specifies the angle of rotation of the articulated part submodel about its X axis after yaw and pitch have been applied", HFILL
}
9839 { &hf_cigi3_rate_control_pitch_rate
,
9840 { "Pitch Angular Rate (degrees/s)", "cigi.rate_control.pitch_rate",
9841 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9842 "Specifies the angle of rotation of the articulated part submodel about its Y axis after yaw has been applied", HFILL
}
9844 { &hf_cigi3_rate_control_yaw_rate
,
9845 { "Yaw Angular Rate (degrees/s)", "cigi.rate_control.yaw_rate",
9846 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9847 "Specifies the angle of rotation of the articulated part about its Z axis when its X axis is parallel to that of the entity", HFILL
}
9850 /* CIGI3_2 Rate Control */
9851 { &hf_cigi3_2_rate_control_coordinate_system
,
9852 { "Coordinate System", "cigi.rate_control.coordinate_system",
9853 FT_BOOLEAN
, 8, TFS(&local_worldparent_tfs
), 0x02,
9854 "Specifies the reference coordinate system to which the linear and angular rates are applied", HFILL
}
9857 /* CIGI4 Velocity Control */
9858 { & hf_cigi4_velocity_control
,
9859 { "Rate Control", "cigi.rate_control",
9860 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9861 "Velocity Control Packet", HFILL
}
9863 { & hf_cigi4_velocity_control_entity_id
,
9864 { "Entity ID", "cigi.rate_control.entity_id",
9865 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
9866 "Specifies the entity to which the rate should be applied", HFILL
}
9868 { & hf_cigi4_velocity_control_part_id
,
9869 { "Articulated Part ID", "cigi.rate_control.part_id",
9870 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9871 "Specifies the articulated part to which the rate should be applied", HFILL
}
9873 { &hf_cigi4_velocity_control_flags
,
9874 { "Flags", "cigi.rate_control.flags",
9875 FT_UINT8
, BASE_HEX
, NULL
, 0x0,
9878 { & hf_cigi4_velocity_control_apply_to_part
,
9879 { "Apply to Articulated Part", "cigi.rate_control.apply_to_part",
9880 FT_BOOLEAN
, 8, NULL
, 0x01,
9881 "Determines whether the rate is applied to the articulated part specified by the Articulated Part ID parameter", HFILL
}
9883 { & hf_cigi4_velocity_control_coordinate_system
,
9884 { "Coordinate System", "cigi.rate_control.coordinate_system",
9885 FT_BOOLEAN
, 8, TFS(&local_worldparent_tfs
), 0x02,
9886 "Specifies the reference coordinate system to which the linear and angular rates are applied", HFILL
}
9888 { & hf_cigi4_velocity_control_x_rate
,
9889 { "X Linear Rate (m/s)", "cigi.rate_control.x_rate",
9890 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9891 "Specifies the X component of a linear velocity vector", HFILL
}
9893 { & hf_cigi4_velocity_control_y_rate
,
9894 { "Y Linear Rate (m/s)", "cigi.rate_control.y_rate",
9895 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9896 "Specifies the Y component of a linear velocity vector", HFILL
}
9898 { & hf_cigi4_velocity_control_z_rate
,
9899 { "Z Linear Rate (m/s)", "cigi.rate_control.z_rate",
9900 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9901 "Specifies the Z component of a linear velocity vector", HFILL
}
9903 { & hf_cigi4_velocity_control_roll_rate
,
9904 { "Roll Angular Rate (degrees/s)", "cigi.rate_control.roll_rate",
9905 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9906 "Specifies the angle of rotation of the articulated part submodel about its X axis after yaw and pitch have been applied", HFILL
}
9908 { & hf_cigi4_velocity_control_pitch_rate
,
9909 { "Pitch Angular Rate (degrees/s)", "cigi.rate_control.pitch_rate",
9910 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9911 "Specifies the angle of rotation of the articulated part submodel about its Y axis after yaw has been applied", HFILL
}
9913 { & hf_cigi4_velocity_control_yaw_rate
,
9914 { "Yaw Angular Rate (degrees/s)", "cigi.rate_control.yaw_rate",
9915 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9916 "Specifies the angle of rotation of the articulated part about its Z axis when its X axis is parallel to that of the entity", HFILL
}
9919 /* CIGI3 Celestial Sphere Control */
9920 { &hf_cigi3_celestial_sphere_control
,
9921 { "Celestial Sphere Control", "cigi.celestial_sphere_control",
9922 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9923 "Celestial Sphere Control Packet", HFILL
}
9925 { &hf_cigi3_celestial_sphere_control_hour
,
9926 { "Hour (h)", "cigi.celestial_sphere_control.hour",
9927 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9928 "Specifies the current hour of the day within the simulation", HFILL
}
9930 { &hf_cigi3_celestial_sphere_control_minute
,
9931 { "Minute (min)", "cigi.celestial_sphere_control.minute",
9932 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
9933 "Specifies the current minute of the day within the simulation", HFILL
}
9935 { &hf_cigi3_celestial_sphere_control_ephemeris_enable
,
9936 { "Ephemeris Model Enable", "cigi.celestial_sphere_control.ephemeris_enable",
9937 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
9938 "Controls whether the time of day is static or continuous", HFILL
}
9940 { &hf_cigi3_celestial_sphere_control_sun_enable
,
9941 { "Sun Enable", "cigi.celestial_sphere_control.sun_enable",
9942 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x02,
9943 "Specifies whether the sun is enabled in the sky model", HFILL
}
9945 { &hf_cigi3_celestial_sphere_control_moon_enable
,
9946 { "Moon Enable", "cigi.celestial_sphere_control.moon_enable",
9947 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x04,
9948 "Specifies whether the moon is enabled in the sky model", HFILL
}
9950 { &hf_cigi3_celestial_sphere_control_star_enable
,
9951 { "Star Field Enable", "cigi.celestial_sphere_control.star_enable",
9952 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
9953 "Specifies whether the start field is enabled in the sky model", HFILL
}
9955 { &hf_cigi3_celestial_sphere_control_date_time_valid
,
9956 { "Date/Time Valid", "cigi.celestial_sphere_control.date_time_valid",
9957 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x10,
9958 "Specifies whether the Hour, Minute, and Date parameters are valid", HFILL
}
9960 { &hf_cigi3_celestial_sphere_control_date
,
9961 { "Date (MMDDYYYY)", "cigi.celestial_sphere_control.date",
9962 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
9963 "Specifies the current date within the simulation", HFILL
}
9965 { &hf_cigi3_celestial_sphere_control_star_intensity
,
9966 { "Star Field Intensity (%)", "cigi.celestial_sphere_control.star_intensity",
9967 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
9968 "Specifies the intensity of the star field within the sky model", HFILL
}
9971 /* CIGI4 Celestial Sphere Control */
9972 { &hf_cigi4_celestial_sphere_control_enable_flags
,
9973 { "Flags", "cigi.rate_control.flags",
9974 FT_UINT8
, BASE_HEX
, NULL
, 0x0,
9977 { &hf_cigi4_celestial_sphere_control_seconds
,
9978 { "Second (sec)", "cigi.celestial_sphere_control.seconds",
9979 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
9980 "Specifies the current date within the simulation", HFILL
}
9982 /* The CIGI4 spec shows the date in the opposite order from CIGI3. */
9983 { &hf_cigi4_celestial_sphere_control_date
,
9984 { "Date (YYYYMMDD)", "cigi.celestial_sphere_control.date",
9985 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
9986 "Specifies the current date within the simulation", HFILL
}
9989 /* CIGI3 Atmosphere Control */
9990 { &hf_cigi3_atmosphere_control
,
9991 { "Atmosphere Control", "cigi.atmosphere_control",
9992 FT_NONE
, BASE_NONE
, NULL
, 0x0,
9993 "Atmosphere Control Packet", HFILL
}
9995 { &hf_cigi3_atmosphere_control_atmospheric_model_enable
,
9996 { "Atmospheric Model Enable", "cigi.atmosphere_control.atmospheric_model_enable",
9997 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
9998 "Specifies whether the IG should use an atmospheric model to determine spectral radiances for sensor applications", HFILL
}
10000 { &hf_cigi3_atmosphere_control_humidity
,
10001 { "Global Humidity (%)", "cigi.atmosphere_control.humidity",
10002 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
10003 "Specifies the global humidity of the environment", HFILL
}
10005 { &hf_cigi3_atmosphere_control_air_temp
,
10006 { "Global Air Temperature (degrees C)", "cigi.atmosphere_control.air_temp",
10007 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10008 "Specifies the global air temperature of the environment", HFILL
}
10010 { &hf_cigi3_atmosphere_control_visibility_range
,
10011 { "Global Visibility Range (m)", "cigi.atmosphere_control.visibility_range",
10012 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10013 "Specifies the global visibility range through the atmosphere", HFILL
}
10015 { &hf_cigi3_atmosphere_control_horiz_wind
,
10016 { "Global Horizontal Wind Speed (m/s)", "cigi.atmosphere_control.horiz_wind",
10017 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10018 "Specifies the global wind speed parallel to the ellipsoid-tangential reference plane", HFILL
}
10020 { &hf_cigi3_atmosphere_control_vert_wind
,
10021 { "Global Vertical Wind Speed (m/s)", "cigi.atmosphere_control.vert_wind",
10022 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10023 "Specifies the global vertical wind speed", HFILL
}
10025 { &hf_cigi3_atmosphere_control_wind_direction
,
10026 { "Global Wind Direction (degrees)", "cigi.atmosphere_control.wind_direction",
10027 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10028 "Specifies the global wind direction", HFILL
}
10030 { &hf_cigi3_atmosphere_control_barometric_pressure
,
10031 { "Global Barometric Pressure (mb or hPa)", "cigi.atmosphere_control.barometric_pressure",
10032 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10033 "Specifies the global atmospheric pressure", HFILL
}
10036 /* CIGI4 Atmosphere Control */
10038 /* CIGI2 Environmental Control */
10039 { &hf_cigi2_environment_control
,
10040 { "Environment Control", "cigi.env_control",
10041 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10042 "Environment Control Packet", HFILL
}
10044 { &hf_cigi2_environment_control_hour
,
10045 { "Hour (h)", "cigi.env_control.hour",
10046 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
10047 "Identifies the hour of the day for the ephemeris program within the image generator", HFILL
}
10049 { &hf_cigi2_environment_control_minute
,
10050 { "Minute (min)", "cigi.env_control.minute",
10051 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
10052 "Identifies the minute of the hour for the ephemeris program within the image generator", HFILL
}
10054 { &hf_cigi2_environment_control_ephemeris_enable
,
10055 { "Ephemeris Enable", "cigi.env_control.ephemeris_enable",
10056 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x80,
10057 "Identifies whether a continuous time of day or static time of day is used", HFILL
}
10059 { &hf_cigi2_environment_control_humidity
,
10060 { "Humidity (%)", "cigi.env_control.humidity",
10061 FT_UINT8
, BASE_DEC
, NULL
, 0x7f,
10062 "Specifies the global humidity of the environment", HFILL
}
10064 { &hf_cigi2_environment_control_modtran_enable
,
10065 { "MODTRAN", "cigi.env_control.modtran_enable",
10066 FT_BOOLEAN
, 8, TFS(&tfs_on_off
), 0x80,
10067 "Identifies whether atmospherics will be included in the calculations", HFILL
}
10069 { &hf_cigi2_environment_control_date
,
10070 { "Date (MMDDYYYY)", "cigi.env_control.date",
10071 FT_INT32
, BASE_DEC
, NULL
, 0x0,
10072 "Specifies the desired date for use by the ephemeris program within the image generator", HFILL
}
10074 { &hf_cigi2_environment_control_air_temp
,
10075 { "Air Temperature (degrees C)", "cigi.env_control.air_temp",
10076 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10077 "Identifies the global temperature of the environment", HFILL
}
10079 { &hf_cigi2_environment_control_global_visibility
,
10080 { "Global Visibility (m)", "cigi.env_control.global_visibility",
10081 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10082 "Identifies the global visibility", HFILL
}
10084 { &hf_cigi2_environment_control_wind_speed
,
10085 { "Wind Speed (m/s)", "cigi.env_control.wind_speed",
10086 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10087 "Identifies the global wind speed", HFILL
}
10089 { &hf_cigi2_environment_control_wind_direction
,
10090 { "Wind Direction (degrees)", "cigi.env_control.wind_direction",
10091 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10092 "Identifies the global wind direction", HFILL
}
10094 { &hf_cigi2_environment_control_pressure
,
10095 { "Barometric Pressure (mb)", "cigi.env_control.pressure",
10096 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10097 "Controls the atmospheric pressure input into MODTRAN", HFILL
}
10099 { &hf_cigi2_environment_control_aerosol
,
10100 { "Aerosol (gm/m^3)", "cigi.env_control.aerosol",
10101 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10102 "Controls the liquid water content for the defined atmosphere", HFILL
}
10105 /* CIGI3 Environmental Region Control */
10106 { &hf_cigi3_environmental_region_control
,
10107 { "Environmental Region Control", "cigi.env_region_control",
10108 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10109 "Environmental Region Control Packet", HFILL
}
10111 { &hf_cigi3_environmental_region_control_region_id
,
10112 { "Region ID", "cigi.env_region_control.region_id",
10113 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10114 "Specifies the environmental region to which the data in this packet will be applied", HFILL
}
10116 { &hf_cigi3_environmental_region_control_region_state
,
10117 { "Region State", "cigi.env_region_control.region_state",
10118 FT_UINT8
, BASE_DEC
, VALS(cigi3_environmental_region_control_region_state_vals
), 0x03,
10119 "Specifies whether the region should be active or destroyed", HFILL
}
10121 { &hf_cigi3_environmental_region_control_merge_weather
,
10122 { "Merge Weather Properties", "cigi.env_region_control.merge_weather",
10123 FT_BOOLEAN
, 8, TFS(&cigi3_environmental_region_control_merge_properties_tfs
), 0x04,
10124 "Specifies whether atmospheric conditions within this region should be merged with those of other regions within areas of overlap", HFILL
}
10126 { &hf_cigi3_environmental_region_control_merge_aerosol
,
10127 { "Merge Aerosol Concentrations", "cigi.env_region_control.merge_aerosol",
10128 FT_BOOLEAN
, 8, TFS(&cigi3_environmental_region_control_merge_properties_tfs
), 0x08,
10129 "Specifies whether the concentrations of aerosols found within this region should be merged with those of other regions within areas of overlap", HFILL
}
10131 { &hf_cigi3_environmental_region_control_merge_maritime
,
10132 { "Merge Maritime Surface Conditions", "cigi.env_region_control.merge_maritime",
10133 FT_BOOLEAN
, 8, TFS(&cigi3_environmental_region_control_merge_properties_tfs
), 0x10,
10134 "Specifies whether the maritime surface conditions found within this region should be merged with those of other regions within areas of overlap", HFILL
}
10136 { &hf_cigi3_environmental_region_control_merge_terrestrial
,
10137 { "Merge Terrestrial Surface Conditions", "cigi.env_region_control.merge_terrestrial",
10138 FT_BOOLEAN
, 8, TFS(&cigi3_environmental_region_control_merge_properties_tfs
), 0x20,
10139 "Specifies whether the terrestrial surface conditions found within this region should be merged with those of other regions within areas of overlap", HFILL
}
10141 { &hf_cigi3_environmental_region_control_lat
,
10142 { "Latitude (degrees)", "cigi.env_region_control.lat",
10143 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
10144 "Specifies the geodetic latitude of the center of the rounded rectangle", HFILL
}
10146 { &hf_cigi3_environmental_region_control_lon
,
10147 { "Longitude (degrees)", "cigi.env_region_control.lon",
10148 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
10149 "Specifies the geodetic longitude of the center of the rounded rectangle", HFILL
}
10151 { &hf_cigi3_environmental_region_control_size_x
,
10152 { "Size X (m)", "cigi.env_region_control.size_x",
10153 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10154 "Specifies the length of the environmental region along its X axis at the geoid surface", HFILL
}
10156 { &hf_cigi3_environmental_region_control_size_y
,
10157 { "Size Y (m)", "cigi.env_region_control.size_y",
10158 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10159 "Specifies the length of the environmental region along its Y axis at the geoid surface", HFILL
}
10161 { &hf_cigi3_environmental_region_control_corner_radius
,
10162 { "Corner Radius (m)", "cigi.env_region_control.corner_radius",
10163 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10164 "Specifies the radius of the corner of the rounded rectangle", HFILL
}
10166 { &hf_cigi3_environmental_region_control_rotation
,
10167 { "Rotation (degrees)", "cigi.env_region_control.rotation",
10168 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10169 "Specifies the yaw angle of the rounded rectangle", HFILL
}
10171 { &hf_cigi3_environmental_region_control_transition_perimeter
,
10172 { "Transition Perimeter (m)", "cigi.env_region_control.transition_perimeter",
10173 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10174 "Specifies the width of the transition perimeter around the environmental region", HFILL
}
10178 /* CIGI4 Environmental Region Control */
10180 /* CIGI2 Weather Control */
10181 { &hf_cigi2_weather_control
,
10182 { "Weather Control", "cigi.weather_control",
10183 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10184 "Weather Control Packet", HFILL
}
10186 { &hf_cigi2_weather_control_entity_id
,
10187 { "Entity ID", "cigi.weather_control.entity_id",
10188 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10189 "Identifies the entity's ID", HFILL
}
10191 { &hf_cigi2_weather_control_weather_enable
,
10192 { "Weather Enable", "cigi.weather_control.weather_enable",
10193 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x80,
10194 "Indicates whether the phenomena specified by this data packet is visible", HFILL
}
10196 { &hf_cigi2_weather_control_scud_enable
,
10197 { "Scud Enable", "cigi.weather_control.scud_enable",
10198 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x40,
10199 "Indicates whether there will be scud effects applied to the phenomenon specified by this data packet", HFILL
}
10201 { &hf_cigi2_weather_control_random_winds
,
10202 { "Random Winds Aloft", "cigi.weather_control.random_winds",
10203 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x20,
10204 "Indicates whether a random frequency and duration should be applied to the winds aloft value", HFILL
}
10206 { &hf_cigi2_weather_control_severity
,
10207 { "Severity", "cigi.weather_control.severity",
10208 FT_UINT8
, BASE_DEC
, NULL
, 0x1c,
10209 "Indicates the severity of the weather phenomenon", HFILL
}
10211 { &hf_cigi2_weather_control_phenomenon_type
,
10212 { "Phenomenon Type", "cigi.weather_control.phenomenon_type",
10213 FT_UINT16
, BASE_DEC
, VALS(cigi2_weather_control_phenomenon_type_vals
), 0x0,
10214 "Identifies the type of weather described by this data packet", HFILL
}
10216 { &hf_cigi2_weather_control_air_temp
,
10217 { "Air Temperature (degrees C)", "cigi.weather_control.air_temp",
10218 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10219 "Identifies the local temperature inside the weather phenomenon", HFILL
}
10221 { &hf_cigi2_weather_control_opacity
,
10222 { "Opacity (%)", "cigi.weather_control.opacity",
10223 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10224 "Identifies the opacity of the weather phenomenon", HFILL
}
10226 { &hf_cigi2_weather_control_scud_frequency
,
10227 { "Scud Frequency (%)", "cigi.weather_control.scud_frequency",
10228 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10229 "Identifies the frequency for the scud effect", HFILL
}
10231 { &hf_cigi2_weather_control_coverage
,
10232 { "Coverage (%)", "cigi.weather_control.coverage",
10233 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10234 "Indicates the amount of area coverage a particular phenomenon has over the specified global visibility range given in the environment control data packet", HFILL
}
10236 { &hf_cigi2_weather_control_elevation
,
10237 { "Elevation (m)", "cigi.weather_control.elevation",
10238 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10239 "Indicates the base altitude of the weather phenomenon", HFILL
}
10241 { &hf_cigi2_weather_control_thickness
,
10242 { "Thickness (m)", "cigi.weather_control.thickness",
10243 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10244 "Indicates the vertical thickness of the weather phenomenon", HFILL
}
10246 { &hf_cigi2_weather_control_transition_band
,
10247 { "Transition Band (m)", "cigi.weather_control.transition_band",
10248 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10249 "Indicates a vertical transition band both above and below a phenomenon", HFILL
}
10251 { &hf_cigi2_weather_control_wind_speed
,
10252 { "Winds Aloft Speed", "cigi.weather_control.wind_speed",
10253 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10254 "Identifies the local wind speed applied to the phenomenon", HFILL
}
10256 { &hf_cigi2_weather_control_wind_direction
,
10257 { "Winds Aloft Direction (degrees)", "cigi.weather_control.wind_direction",
10258 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10259 "Indicates local direction of the wind applied to the phenomenon", HFILL
}
10262 /* CIGI3 Weather Control */
10263 { &hf_cigi3_weather_control
,
10264 { "Weather Control", "cigi.weather_control",
10265 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10266 "Weather Control Packet", HFILL
}
10268 { &hf_cigi3_weather_control_entity_region_id
,
10269 { "Entity ID/Region ID", "cigi.weather_control.entity_region_id",
10270 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10271 "Specifies the entity to which the weather attributes in this packet are applied", HFILL
}
10273 { &hf_cigi3_weather_control_layer_id
,
10274 { "Layer ID", "cigi.weather_control.layer_id",
10275 FT_UINT8
, BASE_DEC
, VALS(cigi3_weather_control_layer_id_vals
), 0x0,
10276 "Specifies the weather layer to which the data in this packet are applied", HFILL
}
10278 { &hf_cigi3_weather_control_humidity
,
10279 { "Humidity (%)", "cigi.weather_control.humidity",
10280 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
10281 "Specifies the humidity within the weather layer", HFILL
}
10283 { &hf_cigi3_weather_control_weather_enable
,
10284 { "Weather Enable", "cigi.weather_control.weather_enable",
10285 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
10286 "Specifies whether a weather layer and its atmospheric effects are enabled", HFILL
}
10288 { &hf_cigi3_weather_control_scud_enable
,
10289 { "Scud Enable", "cigi.weather_control.scud_enable",
10290 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x02,
10291 "Specifies whether weather layer produces scud effects within its transition bands", HFILL
}
10293 { &hf_cigi3_weather_control_random_winds_enable
,
10294 { "Random Winds Enable", "cigi.weather_control.random_winds_enable",
10295 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x04,
10296 "Specifies whether a random frequency and duration should be applied to the local wind effects", HFILL
}
10298 { &hf_cigi3_weather_control_random_lightning_enable
,
10299 { "Random Lightning Enable", "cigi.weather_control.random_lightning_enable",
10300 FT_UINT8
, BASE_DEC
, NULL
, 0x08,
10301 "Specifies whether the weather layer exhibits random lightning effects", HFILL
}
10303 { &hf_cigi3_weather_control_cloud_type
,
10304 { "Cloud Type", "cigi.weather_control.cloud_type",
10305 FT_UINT8
, BASE_DEC
, VALS(cigi3_weather_control_cloud_type_vals
), 0xf0,
10306 "Specifies the type of clouds contained within the weather layer", HFILL
}
10308 { &hf_cigi3_weather_control_scope
,
10309 { "Scope", "cigi.weather_control.scope",
10310 FT_UINT8
, BASE_DEC
, VALS(cigi3_weather_control_scope_vals
), 0x03,
10311 "Specifies whether the weather is global, regional, or assigned to an entity", HFILL
}
10313 { &hf_cigi3_weather_control_severity
,
10314 { "Severity", "cigi.weather_control.severity",
10315 FT_UINT8
, BASE_DEC
, NULL
, 0x1c,
10316 "Specifies the severity of the weather layer", HFILL
}
10318 { &hf_cigi3_weather_control_air_temp
,
10319 { "Air Temperature (degrees C)", "cigi.weather_control.air_temp",
10320 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10321 "Specifies the temperature within the weather layer", HFILL
}
10323 { &hf_cigi3_weather_control_visibility_range
,
10324 { "Visibility Range (m)", "cigi.weather_control.visibility_range",
10325 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10326 "Specifies the visibility range through the weather layer", HFILL
}
10328 { &hf_cigi3_weather_control_scud_frequency
,
10329 { "Scud Frequency (%)", "cigi.weather_control.scud_frequency",
10330 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10331 "Specifies the frequency of scud within the transition bands above and/or below a cloud or fog layer", HFILL
}
10333 { &hf_cigi3_weather_control_coverage
,
10334 { "Coverage (%)", "cigi.weather_control.coverage",
10335 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10336 "Specifies the amount of area coverage for the weather layer", HFILL
}
10338 { &hf_cigi3_weather_control_base_elevation
,
10339 { "Base Elevation (m)", "cigi.weather_control.base_elevation",
10340 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10341 "Specifies the altitude of the base of the weather layer", HFILL
}
10343 { &hf_cigi3_weather_control_thickness
,
10344 { "Thickness (m)", "cigi.weather_control.thickness",
10345 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10346 "Specifies the vertical thickness of the weather layer", HFILL
}
10348 { &hf_cigi3_weather_control_transition_band
,
10349 { "Transition Band (m)", "cigi.weather_control.transition_band",
10350 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10351 "Specifies the height of a vertical transition band both above and below the weather layer", HFILL
}
10353 { &hf_cigi3_weather_control_horiz_wind
,
10354 { "Horizontal Wind Speed (m/s)", "cigi.weather_control.horiz_wind",
10355 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10356 "Specifies the local wind speed parallel to the ellipsoid-tangential reference plane", HFILL
}
10358 { &hf_cigi3_weather_control_vert_wind
,
10359 { "Vertical Wind Speed (m/s)", "cigi.weather_control.vert_wind",
10360 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10361 "Specifies the local vertical wind speed", HFILL
}
10363 { &hf_cigi3_weather_control_wind_direction
,
10364 { "Wind Direction (degrees)", "cigi.weather_control.wind_direction",
10365 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10366 "Specifies the local wind direction", HFILL
}
10368 { &hf_cigi3_weather_control_barometric_pressure
,
10369 { "Barometric Pressure (mb or hPa)", "cigi.weather_control.barometric_pressure",
10370 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10371 "Specifies the atmospheric pressure within the weather layer", HFILL
}
10373 { &hf_cigi3_weather_control_aerosol_concentration
,
10374 { "Aerosol Concentration (g/m^3)", "cigi.weather_control.aerosol_concentration",
10375 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10376 "Specifies the concentration of water, smoke, dust, or other particles suspended in the air", HFILL
}
10380 /* CIGI4 Weather Control */
10381 { &hf_cigi4_weather_control_flags
,
10382 { "Request Flags", "cigi.weather_control.flags",
10383 FT_UINT16
, BASE_HEX
, NULL
, 0x0,
10386 { &hf_cigi4_weather_control_top_scud_enable
,
10387 { "Top Scud Enable", "cigi.weather_control.top_scud_enable",
10388 FT_UINT8
, BASE_DEC
, NULL
, 0x20,
10389 "Specifies whether the weather layer produces scud effects", HFILL
}
10391 { &hf_cigi4_weather_control_top_scud_freq
,
10392 { "Top Scud Frequency (%)", "cigi.weather_control.top_scud_frequency",
10393 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10394 "Specifies the frequency of scud within the transition band above a cloud or fog layer", HFILL
}
10396 { &hf_cigi4_weather_control_top_transition_band
,
10397 { "Top Transition Band Thickness (m)", "cigi.weather_control.top_transition_band",
10398 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10399 "Specifies the height of a vertical transition band above the weather layer", HFILL
}
10402 /* CIGI3 Maritime Surface Conditions Control */
10403 { &hf_cigi3_maritime_surface_conditions_control
,
10404 { "Maritime Surface Conditions Control", "cigi.maritime_surface_conditions_control",
10405 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10406 "Maritime Surface Conditions Control Packet", HFILL
}
10408 { &hf_cigi3_maritime_surface_conditions_control_entity_region_id
,
10409 { "Entity ID/Region ID", "cigi.maritime_surface_conditions_control.entity_region_id",
10410 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10411 "Specifies the entity to which the surface attributes in this packet are applied or specifies the region to which the surface attributes are confined", HFILL
}
10413 { &hf_cigi3_maritime_surface_conditions_control_surface_conditions_enable
,
10414 { "Surface Conditions Enable", "cigi.maritime_surface_conditions_control.surface_conditions_enable",
10415 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
10416 "Determines the state of the specified surface conditions", HFILL
}
10418 { &hf_cigi3_maritime_surface_conditions_control_whitecap_enable
,
10419 { "Whitecap Enable", "cigi.maritime_surface_conditions_control.whitecap_enable",
10420 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x02,
10421 "Determines whether whitecaps are enabled", HFILL
}
10423 { &hf_cigi3_maritime_surface_conditions_control_scope
,
10424 { "Scope", "cigi.maritime_surface_conditions_control.scope",
10425 FT_UINT8
, BASE_DEC
, VALS(cigi3_maritime_surface_conditions_control_scope_vals
), 0x0c,
10426 "Specifies whether this packet is applied globally, applied to region, or assigned to an entity", HFILL
}
10428 { &hf_cigi3_maritime_surface_conditions_control_sea_surface_height
,
10429 { "Sea Surface Height (m)", "cigi.maritime_surface_conditions_control.sea_surface_height",
10430 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10431 "Specifies the height of the water above MSL at equilibrium", HFILL
}
10433 { &hf_cigi3_maritime_surface_conditions_control_surface_water_temp
,
10434 { "Surface Water Temperature (degrees C)", "cigi.maritime_surface_conditions_control.surface_water_temp",
10435 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10436 "Specifies the water temperature at the surface", HFILL
}
10438 { &hf_cigi3_maritime_surface_conditions_control_surface_clarity
,
10439 { "Surface Clarity (%)", "cigi.maritime_surface_conditions_control.surface_clarity",
10440 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10441 "Specifies the clarity of the water at its surface", HFILL
}
10445 /* CIGI4 Maritime Surface Conditions Control */
10447 /* CIGI3 Wave Control */
10448 { &hf_cigi3_wave_control
,
10449 { "Wave Control", "cigi.wave_control",
10450 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10451 "Wave Control Packet", HFILL
}
10453 { &hf_cigi3_wave_control_entity_region_id
,
10454 { "Entity ID/Region ID", "cigi.wave_control.entity_region_id",
10455 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10456 "Specifies the surface entity for which the wave is defined or specifies the environmental region for which the wave is defined", HFILL
}
10458 { &hf_cigi3_wave_control_wave_id
,
10459 { "Wave ID", "cigi.wave_control.wave_id",
10460 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
10461 "Specifies the wave to which the attributes in this packet are applied", HFILL
}
10463 { &hf_cigi3_wave_control_wave_enable
,
10464 { "Wave Enable", "cigi.wave_control.wave_enable",
10465 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
10466 "Determines whether the wave is enabled or disabled", HFILL
}
10468 { &hf_cigi3_wave_control_scope
,
10469 { "Scope", "cigi.wave_control.scope",
10470 FT_UINT8
, BASE_DEC
, VALS(cigi3_wave_control_scope_vals
), 0x06,
10471 "Specifies whether the wave is defined for global, regional, or entity-controlled maritime surface conditions", HFILL
}
10473 { &hf_cigi3_wave_control_breaker_type
,
10474 { "Breaker Type", "cigi.wave_control.breaker_type",
10475 FT_UINT8
, BASE_DEC
, VALS(cigi3_wave_control_breaker_type_vals
), 0x18,
10476 "Specifies the type of breaker within the surf zone", HFILL
}
10478 { &hf_cigi3_wave_control_height
,
10479 { "Wave Height (m)", "cigi.wave_control.height",
10480 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10481 "Specifies the average vertical distance from trough to crest produced by the wave", HFILL
}
10483 { &hf_cigi3_wave_control_wavelength
,
10484 { "Wavelength (m)", "cigi.wave_control.wavelength",
10485 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10486 "Specifies the distance from a particular phase on a wave to the same phase on an adjacent wave", HFILL
}
10488 { &hf_cigi3_wave_control_period
,
10489 { "Period (s)", "cigi.wave_control.period",
10490 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10491 "Specifies the time required for one complete oscillation of the wave", HFILL
}
10493 { &hf_cigi3_wave_control_direction
,
10494 { "Direction (degrees)", "cigi.wave_control.direction",
10495 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10496 "Specifies the direction in which the wave propagates", HFILL
}
10498 { &hf_cigi3_wave_control_phase_offset
,
10499 { "Phase Offset (degrees)", "cigi.wave_control.phase_offset",
10500 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10501 "Specifies a phase offset for the wave", HFILL
}
10503 { &hf_cigi3_wave_control_leading
,
10504 { "Leading (degrees)", "cigi.wave_control.leading",
10505 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10506 "Specifies the phase angle at which the crest occurs", HFILL
}
10509 /* CIGI4 Wave Control */
10511 /* CIGI3 Terrestrial Surface Conditions Control */
10512 { &hf_cigi3_terrestrial_surface_conditions_control
,
10513 { "Terrestrial Surface Conditions Control", "cigi.terrestrial_surface_conditions_control",
10514 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10515 "Terrestrial Surface Conditions Control Packet", HFILL
}
10517 { &hf_cigi3_terrestrial_surface_conditions_control_entity_region_id
,
10518 { "Entity ID/Region ID", "cigi.terrestrial_surface_conditions_control.entity_region_id",
10519 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10520 "Specifies the environmental entity to which the surface condition attributes in this packet are applied", HFILL
}
10522 { &hf_cigi3_terrestrial_surface_conditions_control_surface_condition_id
,
10523 { "Surface Condition ID", "cigi.terrestrial_surface_conditions_control.surface_condition_id",
10524 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10525 "Identifies a surface condition or contaminant", HFILL
}
10527 { &hf_cigi3_terrestrial_surface_conditions_control_surface_condition_enable
,
10528 { "Surface Condition Enable", "cigi.terrestrial_surface_conditions_control.surface_condition_enable",
10529 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
10530 "Specifies whether the surface condition attribute identified by the Surface Condition ID parameter should be enabled", HFILL
}
10532 { &hf_cigi3_terrestrial_surface_conditions_control_scope
,
10533 { "Scope", "cigi.terrestrial_surface_conditions_control.scope",
10534 FT_UINT8
, BASE_DEC
, VALS(cigi3_terrestrial_surface_conditions_control_scope_vals
), 0x06,
10535 "Determines whether the specified surface conditions are applied globally, regionally, or to an environmental entity", HFILL
}
10537 { &hf_cigi3_terrestrial_surface_conditions_control_severity
,
10538 { "Severity", "cigi.terrestrial_surface_conditions_control.severity",
10539 FT_UINT8
, BASE_DEC
, NULL
, 0xf8,
10540 "Determines the degree of severity for the specified surface contaminant(s)", HFILL
}
10542 { &hf_cigi3_terrestrial_surface_conditions_control_coverage
,
10543 { "Coverage (%)", "cigi.terrestrial_surface_conditions_control.coverage",
10544 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
10545 "Determines the degree of coverage of the specified surface contaminant", HFILL
}
10548 /* CIGI4 Terrestrial Surface Conditions Control */
10550 /* CIGI2 View Control */
10551 { &hf_cigi2_view_control
,
10552 { "View Control", "cigi.view_control",
10553 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10554 "View Control Packet", HFILL
}
10556 { &hf_cigi2_view_control_entity_id
,
10557 { "Entity ID", "cigi.view_control.entity_id",
10558 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10559 "Indicates the entity to which this view should be attached", HFILL
}
10561 { &hf_cigi2_view_control_view_id
,
10562 { "View ID", "cigi.view_control.view_id",
10563 FT_UINT8
, BASE_DEC
, NULL
, 0xf8,
10564 "Specifies which view position is associated with offsets and rotation specified by this data packet", HFILL
}
10566 { &hf_cigi2_view_control_view_group
,
10567 { "View Group Select", "cigi.view_control.view_group",
10568 FT_UINT8
, BASE_DEC
, NULL
, 0x07,
10569 "Specifies which view group is to be controlled by the offsets", HFILL
}
10571 { &hf_cigi2_view_control_xoff_enable
,
10572 { "X Offset Enable", "cigi.view_control.xoff_enable",
10573 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x80,
10574 "Identifies whether the x offset parameter should be applied to the specified view or view group", HFILL
}
10576 { &hf_cigi2_view_control_yoff_enable
,
10577 { "Y Offset Enable", "cigi.view_control.yoff_enable",
10578 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x40,
10579 "Identifies whether the y offset parameter should be applied to the specified view or view group", HFILL
}
10581 { &hf_cigi2_view_control_zoff_enable
,
10582 { "Z Offset Enable", "cigi.view_control.zoff_enable",
10583 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x20,
10584 "Identifies whether the z offset parameter should be applied to the specified view or view group", HFILL
}
10586 { &hf_cigi2_view_control_roll_enable
,
10587 { "Roll Enable", "cigi.view_control.roll_enable",
10588 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x10,
10589 "Identifies whether the roll parameter should be applied to the specified view or view group", HFILL
}
10591 { &hf_cigi2_view_control_pitch_enable
,
10592 { "Pitch Enable", "cigi.view_control.pitch_enable",
10593 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
10594 "Identifies whether the pitch parameter should be applied to the specified view or view group", HFILL
}
10596 { &hf_cigi2_view_control_yaw_enable
,
10597 { "Yaw Enable", "cigi.view_control.yaw_enable",
10598 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x04,
10599 "Identifies whether the yaw parameter should be applied to the specified view or view group", HFILL
}
10601 { &hf_cigi2_view_control_x_offset
,
10602 { "X Offset (m)", "cigi.view_control.x_offset",
10603 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10604 "Defines the X component of the view offset vector along the entity's longitudinal axis", HFILL
}
10606 { &hf_cigi2_view_control_y_offset
,
10607 { "Y Offset", "cigi.view_control.y_offset",
10608 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10609 "Defines the Y component of the view offset vector along the entity's lateral axis", HFILL
}
10611 { &hf_cigi2_view_control_z_offset
,
10612 { "Z Offset", "cigi.view_control.z_offset",
10613 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10614 "Defines the Z component of the view offset vector along the entity's vertical axis", HFILL
}
10616 { &hf_cigi2_view_control_roll
,
10617 { "Roll (degrees)", "cigi.view_control.roll",
10618 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10619 "The rotation about the view's X axis", HFILL
}
10621 { &hf_cigi2_view_control_pitch
,
10622 { "Pitch (degrees)", "cigi.view_control.pitch",
10623 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10624 "The rotation about the view's Y axis", HFILL
}
10626 { &hf_cigi2_view_control_yaw
,
10627 { "Yaw (degrees)", "cigi.view_control.yaw",
10628 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10629 "The rotation about the view's Z axis", HFILL
}
10632 /* CIGI3 View Control */
10633 { &hf_cigi3_view_control
,
10634 { "View Control", "cigi.view_control",
10635 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10636 "View Control Packet", HFILL
}
10638 { &hf_cigi3_view_control_view_id
,
10639 { "View ID", "cigi.view_control.view_id",
10640 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10641 "Specifies the view to which the contents of this packet should be applied", HFILL
}
10643 { &hf_cigi3_view_control_group_id
,
10644 { "Group ID", "cigi.view_control.group_id",
10645 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
10646 "Specifies the view group to which the contents of this packet are applied", HFILL
}
10648 { &hf_cigi3_view_control_xoff_enable
,
10649 { "X Offset Enable", "cigi.view_control.xoff_enable",
10650 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
10651 "Determines whether the X Offset parameter should be applied to the specified view or view group", HFILL
}
10653 { &hf_cigi3_view_control_yoff_enable
,
10654 { "Y Offset Enable", "cigi.view_control.yoff_enable",
10655 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x02,
10656 "Determines whether the Y Offset parameter should be applied to the specified view or view group", HFILL
}
10658 { &hf_cigi3_view_control_zoff_enable
,
10659 { "Z Offset Enable", "cigi.view_control.zoff_enable",
10660 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x04,
10661 "Determines whether the Z Offset parameter should be applied to the specified view or view group", HFILL
}
10663 { &hf_cigi3_view_control_roll_enable
,
10664 { "Roll Enable", "cigi.view_control.roll_enable",
10665 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
10666 "Determines whether the Roll parameter should be applied to the specified view or view group", HFILL
}
10668 { &hf_cigi3_view_control_pitch_enable
,
10669 { "Pitch Enable", "cigi.view_control.pitch_enable",
10670 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x10,
10671 "Determines whether the Pitch parameter should be applied to the specified view or view group", HFILL
}
10673 { &hf_cigi3_view_control_yaw_enable
,
10674 { "Yaw Enable", "cigi.view_control.yaw_enable",
10675 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x20,
10676 "Determines whether the Yaw parameter should be applied to the specified view or view group", HFILL
}
10678 { &hf_cigi3_view_control_entity_id
,
10679 { "Entity ID", "cigi.view_control.entity_id",
10680 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10681 "Specifies the entity to which the view or view group should be attached", HFILL
}
10683 { &hf_cigi3_view_control_xoff
,
10684 { "X Offset (m)", "cigi.view_control.xoff",
10685 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10686 "Specifies the position of the view eyepoint along the X axis of the entity specified by the Entity ID parameter", HFILL
}
10688 { &hf_cigi3_view_control_yoff
,
10689 { "Y Offset (m)", "cigi.view_control.yoff",
10690 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10691 "Specifies the position of the view eyepoint along the Y axis of the entity specified by the Entity ID parameter", HFILL
}
10693 { &hf_cigi3_view_control_zoff
,
10694 { "Z Offset (m)", "cigi.view_control.zoff",
10695 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10696 "Specifies the position of the view eyepoint along the Z axis of the entity specified by the Entity ID parameter", HFILL
}
10698 { &hf_cigi3_view_control_roll
,
10699 { "Roll (degrees)", "cigi.view_control.roll",
10700 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10701 "Specifies the angle of rotation of the view or view group about its X axis after yaw and pitch have been applied", HFILL
}
10703 { &hf_cigi3_view_control_pitch
,
10704 { "Pitch (degrees)", "cigi.view_control.pitch",
10705 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10706 "Specifies the angle of rotation of the view or view group about its Y axis after yaw has been applied", HFILL
}
10708 { &hf_cigi3_view_control_yaw
,
10709 { "Yaw (degrees)", "cigi.view_control.yaw",
10710 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10711 "Specifies the angle of rotation of the view or view group about its Z axis", HFILL
}
10715 /* CIGI4 View Control */
10716 { &hf_cigi4_view_control_enable_flags
,
10717 { "Request Flags", "cigi.view_control.flags",
10718 FT_UINT8
, BASE_HEX
, NULL
, 0x0,
10722 /* CIGI2 Sensor Control */
10723 { &hf_cigi2_sensor_control
,
10724 { "Sensor Control", "cigi.sensor_control",
10725 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10726 "Sensor Control Packet", HFILL
}
10728 { &hf_cigi2_sensor_control_view_id
,
10729 { "View ID", "cigi.sensor_control.view_id",
10730 FT_UINT8
, BASE_DEC
, NULL
, 0xf8,
10731 "Dictates to which view the corresponding sensor is assigned, regardless of the view group", HFILL
}
10733 { &hf_cigi2_sensor_control_sensor_enable
,
10734 { "Sensor On/Off", "cigi.sensor_control.sensor_enable",
10735 FT_BOOLEAN
, 8, TFS(&tfs_on_off
), 0x04,
10736 "Indicates whether the sensor is turned on or off", HFILL
}
10738 { &hf_cigi2_sensor_control_polarity
,
10739 { "Polarity", "cigi.sensor_control.polarity",
10740 FT_BOOLEAN
, 8, TFS(&black_white_tfs
), 0x02,
10741 "Indicates whether this sensor is showing white hot or black hot", HFILL
}
10743 { &hf_cigi2_sensor_control_line_dropout
,
10744 { "Line-by-Line Dropout", "cigi.sensor_control.line_dropout",
10745 FT_BOOLEAN
, 8, TFS(&tfs_on_off
), 0x01,
10746 "Indicates whether the line-by-line dropout feature is enabled", HFILL
}
10748 { &hf_cigi2_sensor_control_sensor_id
,
10749 { "Sensor ID", "cigi.sensor_control.sensor_id",
10750 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
10751 "Identifies the sensor to which this packet should be applied", HFILL
}
10753 { &hf_cigi2_sensor_control_track_mode
,
10754 { "Track Mode", "cigi.sensor_control.track_mode",
10755 FT_UINT8
, BASE_DEC
, VALS(cigi2_sensor_control_track_mode_vals
), 0xf0,
10756 "Indicates which track mode the sensor should be", HFILL
}
10758 { &hf_cigi2_sensor_control_auto_gain
,
10759 { "Automatic Gain", "cigi.sensor_control.auto_gain",
10760 FT_BOOLEAN
, 8, TFS(&tfs_on_off
), 0x08,
10761 "When set to \"on,\" cause the weapons sensor to automatically adjust the gain value to optimize the brightness and contrast of the sensor display", HFILL
}
10763 { &hf_cigi2_sensor_control_track_polarity
,
10764 { "Track White/Black", "cigi.sensor_control.track_polarity",
10765 FT_BOOLEAN
, 8, TFS(&black_white_tfs
), 0x04,
10766 "Identifies whether the weapons sensor will track wither white or black", HFILL
}
10768 { &hf_cigi2_sensor_control_gain
,
10769 { "Gain", "cigi.sensor_control.gain",
10770 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10771 "Indicates the gain value for the weapon sensor option", HFILL
}
10773 { &hf_cigi2_sensor_control_level
,
10774 { "Level", "cigi.sensor_control.level",
10775 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10776 "Indicates the level value for the weapon sensor option", HFILL
}
10778 { &hf_cigi2_sensor_control_ac_coupling
,
10779 { "AC Coupling", "cigi.sensor_control.ac_coupling",
10780 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10781 "Indicates the AC Coupling decay rate for the weapon sensor option", HFILL
}
10783 { &hf_cigi2_sensor_control_noise
,
10784 { "Noise", "cigi.sensor_control.noise",
10785 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10786 "Indicates the detector-noise gain for the weapon sensor option", HFILL
}
10789 /* CIGI3 Sensor Control */
10790 { &hf_cigi3_sensor_control
,
10791 { "Sensor Control", "cigi.sensor_control",
10792 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10793 "Sensor Control Packet", HFILL
}
10795 { &hf_cigi3_sensor_control_view_id
,
10796 { "View ID", "cigi.sensor_control.view_id",
10797 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10798 "Identifies the view to which the specified sensor is assigned", HFILL
}
10800 { &hf_cigi3_sensor_control_sensor_id
,
10801 { "Sensor ID", "cigi.sensor_control.sensor_id",
10802 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
10803 "Specifies the sensor to which the data in this packet are applied", HFILL
}
10805 { &hf_cigi3_sensor_control_sensor_on_off
,
10806 { "Sensor On/Off", "cigi.sensor_control.sensor_on_off",
10807 FT_BOOLEAN
, 8, TFS(&tfs_on_off
), 0x01,
10808 "Specifies whether the sensor is turned on or off", HFILL
}
10810 { &hf_cigi3_sensor_control_polarity
,
10811 { "Polarity", "cigi.sensor_control.polarity",
10812 FT_BOOLEAN
, 8, TFS(&cigi3_sensor_control_polarity_tfs
), 0x02,
10813 "Specifies whether the sensor shows white hot or black hot", HFILL
}
10815 { &hf_cigi3_sensor_control_line_dropout_enable
,
10816 { "Line-by-Line Dropout Enable", "cigi.sensor_control.line_dropout_enable",
10817 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x04,
10818 "Specifies whether line-by-line dropout is enabled", HFILL
}
10820 { &hf_cigi3_sensor_control_auto_gain
,
10821 { "Automatic Gain", "cigi.sensor_control.auto_gain",
10822 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
10823 "Specifies whether the sensor automatically adjusts the gain value to optimize the brightness and contrast of the sensor display", HFILL
}
10825 { &hf_cigi3_sensor_control_track_white_black
,
10826 { "Track White/Black", "cigi.sensor_control.track_white_black",
10827 FT_BOOLEAN
, 8, TFS(&black_white_tfs
), 0x10,
10828 "Specifies whether the sensor tracks white or black", HFILL
}
10830 { &hf_cigi3_sensor_control_track_mode
,
10831 { "Track Mode", "cigi.sensor_control.track_mode",
10832 FT_UINT8
, BASE_DEC
, VALS(cigi3_sensor_control_track_mode_vals
), 0xe0,
10833 "Specifies which track mode the sensor should use", HFILL
}
10835 { &hf_cigi3_sensor_control_response_type
,
10836 { "Response Type", "cigi.sensor_control.response_type",
10837 FT_BOOLEAN
, 8, TFS(&extended_normal_tfs
), 0x01,
10838 "Specifies whether the IG should return a Sensor Response packet or a Sensor Extended Response packet", HFILL
}
10840 { &hf_cigi3_sensor_control_gain
,
10841 { "Gain", "cigi.sensor_control.gain",
10842 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10843 "Specifies the contrast for the sensor display", HFILL
}
10845 { &hf_cigi3_sensor_control_level
,
10846 { "Level", "cigi.sensor_control.level",
10847 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10848 "Specifies the brightness for the sensor display", HFILL
}
10850 { &hf_cigi3_sensor_control_ac_coupling
,
10851 { "AC Coupling (microseconds)", "cigi.sensor_control.ac_coupling",
10852 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10853 "Specifies the AC coupling decay constant for the sensor display", HFILL
}
10855 { &hf_cigi3_sensor_control_noise
,
10856 { "Noise", "cigi.sensor_control.noise",
10857 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10858 "Specifies the amount of detector noise for the sensor", HFILL
}
10862 /* CIGI4 Sensor Control */
10864 /* CIGI3 Motion Tracker Control */
10865 { &hf_cigi3_motion_tracker_control
,
10866 { "Motion Tracker Control", "cigi.motion_tracker_control",
10867 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10868 "Motion Tracker Control Packet", HFILL
}
10870 { &hf_cigi3_motion_tracker_control_view_group_id
,
10871 { "View/View Group ID", "cigi.motion_tracker_control.view_group_id",
10872 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10873 "Specifies the view or view group to which the tracking device is attached", HFILL
}
10875 { &hf_cigi3_motion_tracker_control_tracker_id
,
10876 { "Tracker ID", "cigi.motion_tracker_control.tracker_id",
10877 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
10878 "Specifies the tracker whose state the data in this packet represents", HFILL
}
10880 { &hf_cigi3_motion_tracker_control_tracker_enable
,
10881 { "Tracker Enable", "cigi.motion_tracker_control.tracker_enable",
10882 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
10883 "Specifies whether the tracking device is enabled", HFILL
}
10885 { &hf_cigi3_motion_tracker_control_boresight_enable
,
10886 { "Boresight Enable", "cigi.motion_tracker_control.boresight_enable",
10887 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x02,
10888 "Sets the boresight state of the external tracking device", HFILL
}
10890 { &hf_cigi3_motion_tracker_control_x_enable
,
10891 { "X Enable", "cigi.motion_tracker_control.x_enable",
10892 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x04,
10893 "Used to enable or disable the X-axis position of the motion tracker", HFILL
}
10895 { &hf_cigi3_motion_tracker_control_y_enable
,
10896 { "Y Enable", "cigi.motion_tracker_control.y_enable",
10897 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
10898 "Used to enable or disable the Y-axis position of the motion tracker", HFILL
}
10900 { &hf_cigi3_motion_tracker_control_z_enable
,
10901 { "Z Enable", "cigi.motion_tracker_control.z_enable",
10902 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x10,
10903 "Used to enable or disable the Z-axis position of the motion tracker", HFILL
}
10905 { &hf_cigi3_motion_tracker_control_roll_enable
,
10906 { "Roll Enable", "cigi.motion_tracker_control.roll_enable",
10907 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x20,
10908 "Used to enable or disable the roll of the motion tracker", HFILL
}
10910 { &hf_cigi3_motion_tracker_control_pitch_enable
,
10911 { "Pitch Enable", "cigi.motion_tracker_control.pitch_enable",
10912 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x40,
10913 "Used to enable or disable the pitch of the motion tracker", HFILL
}
10915 { &hf_cigi3_motion_tracker_control_yaw_enable
,
10916 { "Yaw Enable", "cigi.motion_tracker_control.yaw_enable",
10917 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x80,
10918 "Used to enable or disable the yaw of the motion tracker", HFILL
}
10920 { &hf_cigi3_motion_tracker_control_view_group_select
,
10921 { "View/View Group Select", "cigi.motion_tracker_control.view_group_select",
10922 FT_BOOLEAN
, 8, TFS(&cigi3_motion_tracker_control_view_group_select_tfs
), 0x01,
10923 "Specifies whether the tracking device is attached to a single view or a view group", HFILL
}
10926 /* CIGI4 Motion Tracker Control */
10928 /* CIGI3 Earth Reference Model Definition */
10929 { &hf_cigi3_earth_reference_model_definition
,
10930 { "Earth Reference Model Definition", "cigi.earth_ref_model_def",
10931 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10932 "Earth Reference Model Definition Packet", HFILL
}
10934 { &hf_cigi3_earth_reference_model_definition_erm_enable
,
10935 { "Custom ERM Enable", "cigi.earth_ref_model_def.erm_enable",
10936 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
10937 "Specifies whether the IG should use the Earth Reference Model defined by this packet", HFILL
}
10939 { &hf_cigi3_earth_reference_model_definition_equatorial_radius
,
10940 { "Equatorial Radius (m)", "cigi.earth_ref_model_def.equatorial_radius",
10941 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
10942 "Specifies the semi-major axis of the ellipsoid", HFILL
}
10944 { &hf_cigi3_earth_reference_model_definition_flattening
,
10945 { "Flattening (m)", "cigi.earth_ref_model_def.flattening",
10946 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
10947 "Specifies the flattening of the ellipsoid", HFILL
}
10950 /* CIGI4 Earth Reference Model Definition */
10952 /* CIGI2 Trajectory Definition */
10953 { &hf_cigi2_trajectory_definition
,
10954 { "Trajectory Definition", "cigi.trajectory_def",
10955 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10956 "Trajectory Definition Packet", HFILL
}
10958 { &hf_cigi2_trajectory_definition_entity_id
,
10959 { "Entity ID", "cigi.trajectory_def.entity_id",
10960 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10961 "Indicates which entity is being influenced by this trajectory behavior", HFILL
}
10963 { &hf_cigi2_trajectory_definition_acceleration
,
10964 { "Acceleration Factor (m/s^2)", "cigi.trajectory_def.acceleration",
10965 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10966 "Indicates the acceleration factor that will be applied to the Vz component of the velocity vector over time to simulate the effects of gravity on the object", HFILL
}
10968 { &hf_cigi2_trajectory_definition_retardation
,
10969 { "Retardation Rate (m/s)", "cigi.trajectory_def.retardation",
10970 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10971 "Indicates what retardation factor will be applied to the object's motion", HFILL
}
10973 { &hf_cigi2_trajectory_definition_terminal_velocity
,
10974 { "Terminal Velocity (m/s)", "cigi.trajectory_def.terminal_velocity",
10975 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10976 "Indicates what final velocity the object will be allowed to obtain", HFILL
}
10979 /* CIGI3 Trajectory Definition */
10980 { &hf_cigi3_trajectory_definition
,
10981 { "Trajectory Definition", "cigi.trajectory_def",
10982 FT_NONE
, BASE_NONE
, NULL
, 0x0,
10983 "Trajectory Definition Packet", HFILL
}
10985 { &hf_cigi3_trajectory_definition_entity_id
,
10986 { "Entity ID", "cigi.trajectory_def.entity_id",
10987 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
10988 "Identifies the entity for which the trajectory is defined", HFILL
}
10990 { &hf_cigi3_trajectory_definition_acceleration_x
,
10991 { "Acceleration X (m/s^2)", "cigi.trajectory_def.acceleration_x",
10992 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10993 "Specifies the X component of the acceleration vector", HFILL
}
10995 { &hf_cigi3_trajectory_definition_acceleration_y
,
10996 { "Acceleration Y (m/s^2)", "cigi.trajectory_def.acceleration_y",
10997 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
10998 "Specifies the Y component of the acceleration vector", HFILL
}
11000 { &hf_cigi3_trajectory_definition_acceleration_z
,
11001 { "Acceleration Z (m/s^2)", "cigi.trajectory_def.acceleration_z",
11002 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11003 "Specifies the Z component of the acceleration vector", HFILL
}
11005 { &hf_cigi3_trajectory_definition_retardation_rate
,
11006 { "Retardation Rate (m/s^2)", "cigi.trajectory_def.retardation_rate",
11007 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11008 "Specifies the magnitude of an acceleration applied against the entity's instantaneous linear velocity vector", HFILL
}
11010 { &hf_cigi3_trajectory_definition_terminal_velocity
,
11011 { "Terminal Velocity (m/s)", "cigi.trajectory_def.terminal_velocity",
11012 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11013 "Specifies the maximum velocity the entity can sustain", HFILL
}
11016 /* CIGI4 Acceleration Control */
11017 { &hf_cigi4_acceleration_control
,
11018 { "Trajectory Definition", "cigi.acceleration_control",
11019 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11020 "Trajectory Definition Packet", HFILL
}
11022 { &hf_cigi4_acceleration_control_entity_id
,
11023 { "Entity ID", "cigi.acceleration_control.entity_id",
11024 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11025 "Identifies the entity for which the trajectory is defined", HFILL
}
11027 { &hf_cigi4_acceleration_control_articulated_part_id
,
11028 { "Articulated Part ID", "cigi.acceleration_control.part_id",
11029 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11030 "Specifies the articulated part to which the acceleration may be applied", HFILL
}
11032 { &hf_cigi4_acceleration_control_apply_to_part
,
11033 { "Apply to Articulated Part", "cigi.acceleration_control.apply_to_part",
11034 FT_BOOLEAN
, 8, NULL
, 0x01,
11035 "Indicates whether the acceleration may be applied to an articulated part or an entity", HFILL
}
11037 { &hf_cigi4_acceleration_control_coord_system
,
11038 { "Sequence Direction", "cigi.acceleration_control.coord_system",
11039 FT_BOOLEAN
, 8, TFS(&local_worldparent_tfs
), 0x02,
11040 "Indicates the reference coordinate system to which the linear and angular accelerations may be applied", HFILL
}
11042 { &hf_cigi4_acceleration_control_acceleration_x
,
11043 { "Acceleration X (m/s^2)", "cigi.acceleration_control.acceleration_x",
11044 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11045 "Specifies the X component of the acceleration vector", HFILL
}
11047 { &hf_cigi4_acceleration_control_acceleration_y
,
11048 { "Acceleration Y (m/s^2)", "cigi.acceleration_control.acceleration_y",
11049 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11050 "Specifies the Y component of the acceleration vector", HFILL
}
11052 { &hf_cigi4_acceleration_control_acceleration_z
,
11053 { "Acceleration Z (m/s^2)", "cigi.acceleration_control.acceleration_z",
11054 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11055 "Specifies the Z component of the acceleration vector", HFILL
}
11057 { &hf_cigi4_acceleration_control_acceleration_roll
,
11058 { "Roll Angular Acceleration (deg/s^2)", "cigi.acceleration_control.acceleration_roll",
11059 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11060 "Specifies the angle of rotation of the articulated part submodel about its X axis after yaw and pitch have been applied.", HFILL
}
11062 { &hf_cigi4_acceleration_control_acceleration_pitch
,
11063 { "Terminal Velocity (deg/s)", "cigi.acceleration_control.acceleration_pitch",
11064 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11065 "Specifies the angle of rotation of the articulated part submodel about its Y axis after yaw and pitch have been applied", HFILL
}
11067 { &hf_cigi4_acceleration_control_acceleration_yaw
,
11068 { "Terminal Velocity (deg/s)", "cigi.acceleration_control.acceleration_yaw",
11069 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11070 "Specifies the angle of rotation of the articulated part submodel about its Z axis after yaw and pitch have been applied", HFILL
}
11073 /* CIGI2 Special Effect Definition */
11074 { &hf_cigi2_special_effect_definition
,
11075 { "Special Effect Definition", "cigi.special_effect_def",
11076 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11077 "Special Effect Definition Packet", HFILL
}
11079 { &hf_cigi2_special_effect_definition_entity_id
,
11080 { "Entity ID", "cigi.special_effect_def.entity_id",
11081 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11082 "Indicates which effect is being modified", HFILL
}
11084 { &hf_cigi2_special_effect_definition_seq_direction
,
11085 { "Sequence Direction", "cigi.special_effect_def.seq_direction",
11086 FT_BOOLEAN
, 8, TFS(&cigi2_special_effect_definition_seq_direction_tfs
), 0x80,
11087 "Indicates whether the effect animation sequence should be sequence from beginning to end or vice versa", HFILL
}
11089 { &hf_cigi2_special_effect_definition_color_enable
,
11090 { "Color Enable", "cigi.special_effect_def.color_enable",
11091 FT_BOOLEAN
, 8, TFS(&tfs_on_off
), 0x40,
11092 "Indicates whether the red, green, and blue color values will be applied to the special effect", HFILL
}
11094 { &hf_cigi2_special_effect_definition_red
,
11095 { "Red Color Value", "cigi.special_effect_def.red",
11096 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11097 "Specifies the red component of a color to be applied to the effect", HFILL
}
11099 { &hf_cigi2_special_effect_definition_green
,
11100 { "Green Color Value", "cigi.special_effect_def.green",
11101 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11102 "Specifies the green component of a color to be applied to the effect", HFILL
}
11104 { &hf_cigi2_special_effect_definition_blue
,
11105 { "Blue Color Value", "cigi.special_effect_def.blue",
11106 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11107 "Specifies the blue component of a color to be applied to the effect", HFILL
}
11109 { &hf_cigi2_special_effect_definition_x_scale
,
11110 { "X Scale", "cigi.special_effect_def.x_scale",
11111 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11112 "Specifies a scale factor to apply along the effect's X axis", HFILL
}
11114 { &hf_cigi2_special_effect_definition_y_scale
,
11115 { "Y Scale", "cigi.special_effect_def.y_scale",
11116 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11117 "Specifies a scale factor to apply along the effect's Y axis", HFILL
}
11119 { &hf_cigi2_special_effect_definition_z_scale
,
11120 { "Z Scale", "cigi.special_effect_def.z_scale",
11121 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11122 "Specifies a scale factor to apply along the effect's Z axis", HFILL
}
11124 { &hf_cigi2_special_effect_definition_time_scale
,
11125 { "Time Scale", "cigi.special_effect_def.time_scale",
11126 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11127 "Specifies a scale factor to apply to the time period for the effect's animation sequence", HFILL
}
11129 { &hf_cigi2_special_effect_definition_spare
,
11130 { "Spare", "cigi.special_effect_def.spare",
11131 FT_UINT16
, BASE_HEX
, NULL
, 0x0,
11134 { &hf_cigi2_special_effect_definition_effect_count
,
11135 { "Effect Count", "cigi.special_effect_def.effect_count",
11136 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11137 "Indicates how many effects are contained within a single burst", HFILL
}
11139 { &hf_cigi2_special_effect_definition_separation
,
11140 { "Separation (m)", "cigi.special_effect_def.separation",
11141 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11142 "Indicates the distance between particles within a burst", HFILL
}
11144 { &hf_cigi2_special_effect_definition_burst_interval
,
11145 { "Burst Interval (s)", "cigi.special_effect_def.burst_interval",
11146 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11147 "Indicates the time between successive bursts", HFILL
}
11149 { &hf_cigi2_special_effect_definition_duration
,
11150 { "Duration (s)", "cigi.special_effect_def.duration",
11151 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11152 "Indicates how long an effect or sequence of burst will be active", HFILL
}
11155 /* CIGI2 View Definition */
11156 { &hf_cigi2_view_definition
,
11157 { "View Definition", "cigi.view_def",
11158 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11159 "View Definition Packet", HFILL
}
11161 { &hf_cigi2_view_definition_view_id
,
11162 { "View ID", "cigi.view_def.view_id",
11163 FT_UINT8
, BASE_DEC
, NULL
, 0xf8,
11164 "Specifies the view to which this packet should be applied", HFILL
}
11166 { &hf_cigi2_view_definition_view_group
,
11167 { "View Group", "cigi.view_def.view_group",
11168 FT_UINT8
, BASE_DEC
, NULL
, 0x07,
11169 "Specifies the view group to which the view is to be assigned", HFILL
}
11171 { &hf_cigi2_view_definition_view_type
,
11172 { "View Type", "cigi.view_def.view_type",
11173 FT_UINT8
, BASE_DEC
, NULL
, 0xe0,
11174 "Specifies the view type", HFILL
}
11176 { &hf_cigi2_view_definition_pixel_rep
,
11177 { "Pixel Replication", "cigi.view_def.pixel_rep",
11178 FT_UINT8
, BASE_DEC
, VALS(cigi2_view_definition_pixel_rep_vals
), 0x1c,
11179 "Specifies what pixel replication function should be applied to the view", HFILL
}
11181 { &hf_cigi2_view_definition_mirror
,
11182 { "View Mirror", "cigi.view_def.mirror",
11183 FT_UINT8
, BASE_DEC
, VALS(cigi2_view_definition_mirror_vals
), 0x03,
11184 "Specifies what mirroring function should be applied to the view", HFILL
}
11186 { &hf_cigi2_view_definition_tracker_assign
,
11187 { "Tracker Assign", "cigi.view_def.tracker_assign",
11188 FT_BOOLEAN
, 8, NULL
, 0x80,
11189 "Specifies whether the view should be controlled by an external tracking device", HFILL
}
11191 { &hf_cigi2_view_definition_near_enable
,
11192 { "Field of View Near Enable", "cigi.view_def.near_enable",
11193 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x40,
11194 "Identifies whether the field of view near value is manipulated from the Host", HFILL
}
11196 { &hf_cigi2_view_definition_far_enable
,
11197 { "Field of View Far Enable", "cigi.view_def.far_enable",
11198 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x20,
11199 "Identifies whether the field of view far value is manipulated from the Host", HFILL
}
11201 { &hf_cigi2_view_definition_left_enable
,
11202 { "Field of View Left Enable", "cigi.view_def.left_enable",
11203 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x10,
11204 "Identifies whether the field of view left value is manipulated from the Host", HFILL
}
11206 { &hf_cigi2_view_definition_right_enable
,
11207 { "Field of View Right Enable", "cigi.view_def.right_enable",
11208 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
11209 "Identifies whether the field of view right value is manipulated from the Host", HFILL
}
11211 { &hf_cigi2_view_definition_top_enable
,
11212 { "Field of View Top Enable", "cigi.view_def.top_enable",
11213 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x04,
11214 "Identifies whether the field of view top value is manipulated from the Host", HFILL
}
11216 { &hf_cigi2_view_definition_bottom_enable
,
11217 { "Field of View Bottom Enable", "cigi.view_def.bottom_enable",
11218 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x02,
11219 "Identifies whether the field of view bottom value is manipulated from the Host", HFILL
}
11221 { &hf_cigi2_view_definition_fov_near
,
11222 { "Field of View Near (m)", "cigi.view_def.fov_near",
11223 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11224 "Defines the near clipping plane for the view", HFILL
}
11226 { &hf_cigi2_view_definition_fov_far
,
11227 { "Field of View Far (m)", "cigi.view_def.fov_far",
11228 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11229 "Defines the far clipping plane for the view", HFILL
}
11231 { &hf_cigi2_view_definition_fov_left
,
11232 { "Field of View Left (degrees)", "cigi.view_def.fov_left",
11233 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11234 "Defines the left clipping plane for the view", HFILL
}
11236 { &hf_cigi2_view_definition_fov_right
,
11237 { "Field of View Right (degrees)", "cigi.view_def.fov_right",
11238 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11239 "Defines the right clipping plane for the view", HFILL
}
11241 { &hf_cigi2_view_definition_fov_top
,
11242 { "Field of View Top (degrees)", "cigi.view_def.fov_top",
11243 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11244 "Defines the top clipping plane for the view", HFILL
}
11246 { &hf_cigi2_view_definition_fov_bottom
,
11247 { "Field of View Bottom (degrees)", "cigi.view_def.fov_bottom",
11248 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11249 "Defines the bottom clipping plane for the view", HFILL
}
11252 /* CIGI3 View Definition */
11253 { &hf_cigi3_view_definition
,
11254 { "View Definition", "cigi.view_def",
11255 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11256 "View Definition Packet", HFILL
}
11258 { &hf_cigi3_view_definition_view_id
,
11259 { "View ID", "cigi.view_def.view_id",
11260 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11261 "Specifies the view to which the data in this packet will be applied", HFILL
}
11263 { &hf_cigi3_view_definition_group_id
,
11264 { "Group ID", "cigi.view_def.group_id",
11265 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11266 "Specifies the group to which the view is to be assigned", HFILL
}
11268 { &hf_cigi3_view_definition_near_enable
,
11269 { "Near Enable", "cigi.view_def.near_enable",
11270 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
11271 "Specifies whether the near clipping plane will be set to the value of the Near parameter within this packet", HFILL
}
11273 { &hf_cigi3_view_definition_far_enable
,
11274 { "Far Enable", "cigi.view_def.far_enable",
11275 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x02,
11276 "Specifies whether the far clipping plane will be set to the value of the Far parameter within this packet", HFILL
}
11278 { &hf_cigi3_view_definition_left_enable
,
11279 { "Left Enable", "cigi.view_def.left_enable",
11280 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x04,
11281 "Specifies whether the left half-angle of the view frustum will be set according to the value of the Left parameter within this packet", HFILL
}
11283 { &hf_cigi3_view_definition_right_enable
,
11284 { "Right Enable", "cigi.view_def.right_enable",
11285 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
11286 "Specifies whether the right half-angle of the view frustum will be set according to the value of the Right parameter within this packet", HFILL
}
11288 { &hf_cigi3_view_definition_top_enable
,
11289 { "Top Enable", "cigi.view_def.top_enable",
11290 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x10,
11291 "Specifies whether the top half-angle of the view frustum will be set according to the value of the Top parameter within this packet", HFILL
}
11293 { &hf_cigi3_view_definition_bottom_enable
,
11294 { "Bottom Enable", "cigi.view_def.bottom_enable",
11295 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x20,
11296 "Specifies whether the bottom half-angle of the view frustum will be set according to the value of the Bottom parameter within this packet", HFILL
}
11298 { &hf_cigi3_view_definition_mirror_mode
,
11299 { "Mirror Mode", "cigi.view_def.mirror_mode",
11300 FT_UINT8
, BASE_DEC
, VALS(cigi3_view_definition_mirror_mode_vals
), 0xc0,
11301 "Specifies the mirroring function to be performed on the view", HFILL
}
11303 { &hf_cigi3_view_definition_pixel_replication
,
11304 { "Pixel Replication Mode", "cigi.view_def.pixel_replication",
11305 FT_UINT8
, BASE_DEC
, VALS(cigi3_view_definition_pixel_replication_vals
), 0x07,
11306 "Specifies the pixel replication function to be performed on the view", HFILL
}
11308 { &hf_cigi3_view_definition_projection_type
,
11309 { "Projection Type", "cigi.view_def.projection_type",
11310 FT_BOOLEAN
, 8, TFS(&cigi3_view_definition_projection_type_tfs
), 0x08,
11311 "Specifies whether the view projection should be perspective or orthographic parallel", HFILL
}
11313 { &hf_cigi3_view_definition_reorder
,
11314 { "Reorder", "cigi.view_def.reorder",
11315 FT_BOOLEAN
, 8, TFS(&cigi3_view_definition_reorder_tfs
), 0x10,
11316 "Specifies whether the view should be moved to the top of any overlapping views", HFILL
}
11318 { &hf_cigi3_view_definition_view_type
,
11319 { "View Type", "cigi.view_def.view_type",
11320 FT_UINT8
, BASE_DEC
, NULL
, 0xe0,
11321 "Specifies an IG-defined type for the indicated view", HFILL
}
11323 { &hf_cigi3_view_definition_near
,
11324 { "Near (m)", "cigi.view_def.near",
11325 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11326 "Specifies the position of the view's near clipping plane", HFILL
}
11328 { &hf_cigi3_view_definition_far
,
11329 { "Far (m)", "cigi.view_def.far",
11330 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11331 "Specifies the position of the view's far clipping plane", HFILL
}
11333 { &hf_cigi3_view_definition_left
,
11334 { "Left (degrees)", "cigi.view_def.left",
11335 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11336 "Specifies the left half-angle of the view frustum", HFILL
}
11338 { &hf_cigi3_view_definition_right
,
11339 { "Right (degrees)", "cigi.view_def.right",
11340 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11341 "Specifies the right half-angle of the view frustum", HFILL
}
11343 { &hf_cigi3_view_definition_top
,
11344 { "Top (degrees)", "cigi.view_def.top",
11345 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11346 "Specifies the top half-angle of the view frustum", HFILL
}
11348 { &hf_cigi3_view_definition_bottom
,
11349 { "Bottom (degrees)", "cigi.view_def.bottom",
11350 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11351 "Specifies the bottom half-angle of the view frustum", HFILL
}
11354 /* CIGI4 View Definition */
11356 /* CIGI2 Collision Detection Segment Definition */
11357 { &hf_cigi2_collision_detection_segment_definition
,
11358 { "Collision Detection Segment Definition", "cigi.coll_det_seg_def",
11359 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11360 "Collision Detection Segment Definition Packet", HFILL
}
11362 { &hf_cigi2_collision_detection_segment_definition_entity_id
,
11363 { "Entity ID", "cigi.coll_det_seg_def.entity_id",
11364 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11365 "Indicates the entity to which this collision detection definition is assigned", HFILL
}
11367 { &hf_cigi2_collision_detection_segment_definition_segment_enable
,
11368 { "Segment Enable", "cigi.coll_det_seg_def.segment_enable",
11369 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x80,
11370 "Indicates whether the defined segment is enabled for collision testing", HFILL
}
11372 { &hf_cigi2_collision_detection_segment_definition_segment_id
,
11373 { "Segment ID", "cigi.coll_det_seg_def.segment_id",
11374 FT_UINT8
, BASE_DEC
, NULL
, 0x7f,
11375 "Indicates which segment is being uniquely defined for the given entity", HFILL
}
11377 { &hf_cigi2_collision_detection_segment_definition_collision_mask
,
11378 { "Collision Mask", "cigi.coll_det_seg_def.collision_mask",
11379 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
11380 "Indicates which environment features will be included in or excluded from consideration for collision detection testing", HFILL
}
11382 { &hf_cigi2_collision_detection_segment_definition_x_start
,
11383 { "Segment X Start (m)", "cigi.coll_det_seg_def.x_start",
11384 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11385 "Specifies the starting point of the collision segment in the X-axis with respect to the entity's reference point", HFILL
}
11387 { &hf_cigi2_collision_detection_segment_definition_y_start
,
11388 { "Segment Y Start (m)", "cigi.coll_det_seg_def.y_start",
11389 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11390 "Specifies the starting point of the collision segment in the Y-axis with respect to the entity's reference point", HFILL
}
11392 { &hf_cigi2_collision_detection_segment_definition_z_start
,
11393 { "Segment Z Start (m)", "cigi.coll_det_seg_def.z_start",
11394 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11395 "Specifies the starting point of the collision segment in the Z-axis with respect to the entity's reference point", HFILL
}
11397 { &hf_cigi2_collision_detection_segment_definition_x_end
,
11398 { "Segment X End (m)", "cigi.coll_det_seg_def.x_end",
11399 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11400 "Specifies the ending point of the collision segment in the X-axis with respect to the entity's reference point", HFILL
}
11402 { &hf_cigi2_collision_detection_segment_definition_y_end
,
11403 { "Segment Y End (m)", "cigi.coll_det_seg_def.y_end",
11404 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11405 "Specifies the ending point of the collision segment in the Y-axis with respect to the entity's reference point", HFILL
}
11407 { &hf_cigi2_collision_detection_segment_definition_z_end
,
11408 { "Segment Z End (m)", "cigi.coll_det_seg_def.z_end",
11409 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11410 "Specifies the ending point of the collision segment in the Z-axis with respect to the entity's reference point", HFILL
}
11413 /* CIGI3 Collision Detection Segment Definition */
11414 { &hf_cigi3_collision_detection_segment_definition
,
11415 { "Collision Detection Segment Definition", "cigi.coll_det_seg_def",
11416 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11417 "Collision Detection Segment Definition Packet", HFILL
}
11419 { &hf_cigi3_collision_detection_segment_definition_entity_id
,
11420 { "Entity ID", "cigi.coll_det_seg_def.entity_id",
11421 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11422 "Specifies the entity for which the segment is defined", HFILL
}
11424 { &hf_cigi3_collision_detection_segment_definition_segment_id
,
11425 { "Segment ID", "cigi.coll_det_seg_def.segment_id",
11426 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11427 "Specifies the ID of the segment", HFILL
}
11429 { &hf_cigi3_collision_detection_segment_definition_segment_enable
,
11430 { "Segment Enable", "cigi.coll_det_seg_def.segment_enable",
11431 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
11432 "Specifies whether the segment is enabled or disabled", HFILL
}
11434 { &hf_cigi3_collision_detection_segment_definition_x1
,
11435 { "X1 (m)", "cigi.coll_det_seg_def.x1",
11436 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11437 "Specifies the X offset of one endpoint of the collision segment", HFILL
}
11439 { &hf_cigi3_collision_detection_segment_definition_y1
,
11440 { "Y1 (m)", "cigi.coll_det_seg_def.y1",
11441 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11442 "Specifies the Y offset of one endpoint of the collision segment", HFILL
}
11444 { &hf_cigi3_collision_detection_segment_definition_z1
,
11445 { "Z1 (m)", "cigi.coll_det_seg_def.z1",
11446 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11447 "Specifies the Z offset of one endpoint of the collision segment", HFILL
}
11449 { &hf_cigi3_collision_detection_segment_definition_x2
,
11450 { "X2 (m)", "cigi.coll_det_seg_def.x2",
11451 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11452 "Specifies the X offset of one endpoint of the collision segment", HFILL
}
11454 { &hf_cigi3_collision_detection_segment_definition_y2
,
11455 { "Y2 (m)", "cigi.coll_det_seg_def.y2",
11456 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11457 "Specifies the Y offset of one endpoint of the collision segment", HFILL
}
11459 { &hf_cigi3_collision_detection_segment_definition_z2
,
11460 { "Z2 (m)", "cigi.coll_det_seg_def.z2",
11461 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11462 "Specifies the Z offset of one endpoint of the collision segment", HFILL
}
11464 { &hf_cigi3_collision_detection_segment_definition_material_mask
,
11465 { "Material Mask", "cigi.coll_det_seg_def.material_mask",
11466 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
11467 "Specifies the environmental and cultural features to be included in or excluded from consideration for collision testing", HFILL
}
11470 /* CIGI4 Collision Detection Segment Definition */
11472 /* CIGI2 Collision Detection Volume Definition */
11473 { &hf_cigi2_collision_detection_volume_definition
,
11474 { "Collision Detection Volume Definition", "cigi.coll_det_vol_def",
11475 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11476 "Collision Detection Volume Definition Packet", HFILL
}
11478 { &hf_cigi2_collision_detection_volume_definition_entity_id
,
11479 { "Entity ID", "cigi.coll_det_vol_def.entity_id",
11480 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11481 "Indicates the entity to which this collision detection definition is assigned", HFILL
}
11483 { &hf_cigi2_collision_detection_volume_definition_volume_enable
,
11484 { "Volume Enable", "cigi.coll_det_vol_def.volume_enable",
11485 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x80,
11486 "Indicates whether the defined volume is enabled for collision testing", HFILL
}
11488 { &hf_cigi2_collision_detection_volume_definition_volume_id
,
11489 { "Volume ID", "cigi.coll_det_vol_def.volume_id",
11490 FT_UINT8
, BASE_DEC
, NULL
, 0x7f,
11491 "Indicates which volume is being uniquely defined for a given entity", HFILL
}
11493 { &hf_cigi2_collision_detection_volume_definition_x_offset
,
11494 { "Centroid X Offset (m)", "cigi.coll_det_vol_def.x_offset",
11495 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11496 "Specifies the offset of the volume's centroid along the X axis with respect to the entity's reference point", HFILL
}
11498 { &hf_cigi2_collision_detection_volume_definition_y_offset
,
11499 { "Centroid Y Offset (m)", "cigi.coll_det_vol_def.y_offset",
11500 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11501 "Specifies the offset of the volume's centroid along the Y axis with respect to the entity's reference point", HFILL
}
11503 { &hf_cigi2_collision_detection_volume_definition_z_offset
,
11504 { "Centroid Z Offset (m)", "cigi.coll_det_vol_def.z_offset",
11505 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11506 "Specifies the offset of the volume's centroid along the Z axis with respect to the entity's reference point", HFILL
}
11508 { &hf_cigi2_collision_detection_volume_definition_height
,
11509 { "Height (m)", "cigi.coll_det_vol_def.height",
11510 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11511 "Specifies the height of the volume", HFILL
}
11513 { &hf_cigi2_collision_detection_volume_definition_width
,
11514 { "Width (m)", "cigi.coll_det_vol_def.width",
11515 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11516 "Specifies the width of the volume", HFILL
}
11518 { &hf_cigi2_collision_detection_volume_definition_depth
,
11519 { "Depth (m)", "cigi.coll_det_vol_def.depth",
11520 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11521 "Specifies the depth of the volume", HFILL
}
11524 /* CIGI3 Collision Detection Volume Definition */
11525 { &hf_cigi3_collision_detection_volume_definition
,
11526 { "Collision Detection Volume Definition", "cigi.coll_det_vol_def",
11527 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11528 "Collision Detection Volume Definition Packet", HFILL
}
11530 { &hf_cigi3_collision_detection_volume_definition_entity_id
,
11531 { "Entity ID", "cigi.coll_det_vol_def.entity_id",
11532 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11533 "Specifies the entity for which the volume is defined", HFILL
}
11535 { &hf_cigi3_collision_detection_volume_definition_volume_id
,
11536 { "Volume ID", "cigi.coll_det_vol_def.volume_id",
11537 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11538 "Specifies the ID of the volume", HFILL
}
11540 { &hf_cigi3_collision_detection_volume_definition_volume_enable
,
11541 { "Volume Enable", "cigi.coll_det_vol_def.volume_enable",
11542 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x01,
11543 "Specifies whether the volume is enabled or disabled", HFILL
}
11545 { &hf_cigi3_collision_detection_volume_definition_volume_type
,
11546 { "Volume Type", "cigi.coll_det_vol_def.volume_type",
11547 FT_BOOLEAN
, 8, TFS(&cigi3_collision_detection_volume_definition_volume_type_tfs
), 0x02,
11548 "Specified whether the volume is spherical or cuboid", HFILL
}
11550 { &hf_cigi3_collision_detection_volume_definition_x
,
11551 { "X (m)", "cigi.coll_det_vol_def.x",
11552 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11553 "Specifies the X offset of the center of the volume", HFILL
}
11555 { &hf_cigi3_collision_detection_volume_definition_y
,
11556 { "Y (m)", "cigi.coll_det_vol_def.y",
11557 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11558 "Specifies the Y offset of the center of the volume", HFILL
}
11560 { &hf_cigi3_collision_detection_volume_definition_z
,
11561 { "Z (m)", "cigi.coll_det_vol_def.z",
11562 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11563 "Specifies the Z offset of the center of the volume", HFILL
}
11565 { &hf_cigi3_collision_detection_volume_definition_radius_height
,
11566 { "Radius (m)/Height (m)", "cigi.coll_det_vol_def.radius_height",
11567 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11568 "Specifies the radius of the sphere or specifies the length of the cuboid along its Z axis", HFILL
}
11570 { &hf_cigi3_collision_detection_volume_definition_width
,
11571 { "Width (m)", "cigi.coll_det_vol_def.width",
11572 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11573 "Specifies the length of the cuboid along its Y axis", HFILL
}
11575 { &hf_cigi3_collision_detection_volume_definition_depth
,
11576 { "Depth (m)", "cigi.coll_det_vol_def.depth",
11577 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11578 "Specifies the length of the cuboid along its X axis", HFILL
}
11580 { &hf_cigi3_collision_detection_volume_definition_roll
,
11581 { "Roll (degrees)", "cigi.coll_det_vol_def.roll",
11582 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11583 "Specifies the roll of the cuboid with respect to the entity's coordinate system", HFILL
}
11585 { &hf_cigi3_collision_detection_volume_definition_pitch
,
11586 { "Pitch (degrees)", "cigi.coll_det_vol_def.pitch",
11587 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11588 "Specifies the pitch of the cuboid with respect to the entity's coordinate system", HFILL
}
11590 { &hf_cigi3_collision_detection_volume_definition_yaw
,
11591 { "Yaw (degrees)", "cigi.coll_det_vol_def.yaw",
11592 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11593 "Specifies the yaw of the cuboid with respect to the entity's coordinate system", HFILL
}
11596 /* CIGI4 Collision Detection Volume Definition */
11598 /* CIGI2 Height Above Terrain Request */
11599 { &hf_cigi2_height_above_terrain_request
,
11600 { "Height Above Terrain Request", "cigi.hat_request",
11601 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11602 "Height Above Terrain Request Packet", HFILL
}
11604 { &hf_cigi2_height_above_terrain_request_hat_id
,
11605 { "HAT ID", "cigi.hat_request.hat_id",
11606 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11607 "Identifies the HAT request", HFILL
}
11609 { &hf_cigi2_height_above_terrain_request_alt
,
11610 { "Altitude (m)", "cigi.hat_request.alt",
11611 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11612 "Specifies the altitude from which the HAT request is being made", HFILL
}
11614 { &hf_cigi2_height_above_terrain_request_lat
,
11615 { "Latitude (degrees)", "cigi.hat_request.lat",
11616 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11617 "Specifies the latitudinal position from which the HAT request is being made", HFILL
}
11619 { &hf_cigi2_height_above_terrain_request_lon
,
11620 { "Longitude (degrees)", "cigi.hat_request.lon",
11621 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11622 "Specifies the longitudinal position from which the HAT request is being made", HFILL
}
11625 /* CIGI2 Line of Sight Occult Request */
11626 { &hf_cigi2_line_of_sight_occult_request
,
11627 { "Line of Sight Occult Request", "cigi.los_occult_request",
11628 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11629 "Line of Sight Occult Request Packet", HFILL
}
11631 { &hf_cigi2_line_of_sight_occult_request_los_id
,
11632 { "LOS ID", "cigi.los_occult_request.los_id",
11633 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11634 "Identifies the LOS request", HFILL
}
11636 { &hf_cigi2_line_of_sight_occult_request_source_alt
,
11637 { "Source Altitude (m)", "cigi.los_occult_request.source_alt",
11638 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11639 "Specifies the altitude of the source point for the LOS request segment", HFILL
}
11641 { &hf_cigi2_line_of_sight_occult_request_source_lat
,
11642 { "Source Latitude (degrees)", "cigi.los_occult_request.source_lat",
11643 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11644 "Specifies the latitudinal position of the source point for the LOS request segment", HFILL
}
11646 { &hf_cigi2_line_of_sight_occult_request_source_lon
,
11647 { "Source Longitude (degrees)", "cigi.los_occult_request.source_lon",
11648 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11649 "Specifies the longitudinal position of the source point for the LOS request segment", HFILL
}
11651 { &hf_cigi2_line_of_sight_occult_request_dest_alt
,
11652 { "Destination Altitude (m)", "cigi.los_occult_request.dest_alt",
11653 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11654 "Specifies the altitude of the destination point for the LOS request segment", HFILL
}
11656 { &hf_cigi2_line_of_sight_occult_request_dest_lat
,
11657 { "Destination Latitude (degrees)", "cigi.los_occult_request.dest_lat",
11658 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11659 "Specifies the latitudinal position for the destination point for the LOS request segment", HFILL
}
11661 { &hf_cigi2_line_of_sight_occult_request_dest_lon
,
11662 { "Destination Longitude (degrees)", "cigi.los_occult_request.dest_lon",
11663 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11664 "Specifies the longitudinal position of the destination point for the LOS request segment", HFILL
}
11667 /* CIGI2 Line of Sight Range Request */
11668 { &hf_cigi2_line_of_sight_range_request
,
11669 { "Line of Sight Range Request", "cigi.los_range_request",
11670 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11671 "Line of Sight Range Request Packet", HFILL
}
11673 { &hf_cigi2_line_of_sight_range_request_los_id
,
11674 { "LOS ID", "cigi.los_range_request.los_id",
11675 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11676 "Identifies the LOS request", HFILL
}
11678 { &hf_cigi2_line_of_sight_range_request_azimuth
,
11679 { "Azimuth (degrees)", "cigi.los_range_request.azimuth",
11680 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11681 "Specifies the azimuth of the LOS vector", HFILL
}
11683 { &hf_cigi2_line_of_sight_range_request_elevation
,
11684 { "Elevation (degrees)", "cigi.los_range_request.elevation",
11685 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11686 "Specifies the elevation for the LOS vector", HFILL
}
11688 { &hf_cigi2_line_of_sight_range_request_min_range
,
11689 { "Minimum Range (m)", "cigi.los_range_request.min_range",
11690 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11691 "Specifies the distance from the source position specified in this data packet to a point along the LOS vector where intersection testing will begin", HFILL
}
11693 { &hf_cigi2_line_of_sight_range_request_max_range
,
11694 { "Maximum Range (m)", "cigi.los_range_request.max_range",
11695 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11696 "Specifies the maximum extent from the source position specified in this data packet to a point along the LOS vector where intersection testing will end", HFILL
}
11698 { &hf_cigi2_line_of_sight_range_request_source_alt
,
11699 { "Source Altitude (m)", "cigi.los_range_request.source_alt",
11700 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11701 "Specifies the altitude of the source point of the LOS request vector", HFILL
}
11703 { &hf_cigi2_line_of_sight_range_request_source_lat
,
11704 { "Source Latitude (degrees)", "cigi.los_range_request.source_lat",
11705 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11706 "Specifies the latitudinal position of the source point of the LOS request vector", HFILL
}
11708 { &hf_cigi2_line_of_sight_range_request_source_lon
,
11709 { "Source Longitude (degrees)", "cigi.los_range_request.source_lon",
11710 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11711 "Specifies the longitudinal position of the source point of the LOS request vector", HFILL
}
11714 /* CIGI2 Height of Terrain Request */
11715 { &hf_cigi2_height_of_terrain_request
,
11716 { "Height of Terrain Request", "cigi.hot_request",
11717 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11718 "Height of Terrain Request Packet", HFILL
}
11720 { &hf_cigi2_height_of_terrain_request_hot_id
,
11721 { "HOT ID", "cigi.hot_request.hot_id",
11722 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11723 "Identifies the HOT request", HFILL
}
11725 { &hf_cigi2_height_of_terrain_request_lat
,
11726 { "Latitude (degrees)", "cigi.hot_request.lat",
11727 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11728 "Specifies the latitudinal position from which the HOT request is made", HFILL
}
11730 { &hf_cigi2_height_of_terrain_request_lon
,
11731 { "Longitude (degrees)", "cigi.hot_request.lon",
11732 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11733 "Specifies the longitudinal position from which the HOT request is made", HFILL
}
11736 /* CIGI3 HAT/HOT Request */
11737 { &hf_cigi3_hat_hot_request
,
11738 { "HAT/HOT Request", "cigi.hat_hot_request",
11739 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11740 "HAT/HOT Request Packet", HFILL
}
11742 { &hf_cigi3_hat_hot_request_hat_hot_id
,
11743 { "HAT/HOT ID", "cigi.hat_hot_request.hat_hot_id",
11744 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11745 "Identifies the HAT/HOT request", HFILL
}
11747 { &hf_cigi3_hat_hot_request_type
,
11748 { "Request Type", "cigi.hat_hot_request.type",
11749 FT_UINT8
, BASE_DEC
, VALS(cigi3_hat_hot_request_type_vals
), 0x03,
11750 "Determines the type of response packet the IG should return for this packet", HFILL
}
11752 { &hf_cigi3_hat_hot_request_coordinate_system
,
11753 { "Coordinate System", "cigi.hat_hot_request.coordinate_system",
11754 FT_BOOLEAN
, 8, TFS(&entity_geodetic_tfs
), 0x04,
11755 "Specifies the coordinate system within which the test point is defined", HFILL
}
11757 { &hf_cigi3_hat_hot_request_entity_id
,
11758 { "Entity ID", "cigi.hat_hot_request.entity_id",
11759 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11760 "Specifies the entity relative to which the test point is defined", HFILL
}
11762 { &hf_cigi3_hat_hot_request_lat_xoff
,
11763 { "Latitude (degrees)/X Offset (m)", "cigi.hat_hot_request.lat_xoff",
11764 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11765 "Specifies the latitude from which the HAT/HOT request is being made or specifies the X offset of the point from which the HAT/HOT request is being made", HFILL
}
11767 { &hf_cigi3_hat_hot_request_lon_yoff
,
11768 { "Longitude (degrees)/Y Offset (m)", "cigi.hat_hot_request.lon_yoff",
11769 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11770 "Specifies the longitude from which the HAT/HOT request is being made or specifies the Y offset of the point from which the HAT/HOT request is being made", HFILL
}
11772 { &hf_cigi3_hat_hot_request_alt_zoff
,
11773 { "Altitude (m)/Z Offset (m)", "cigi.hat_hot_request.alt_zoff",
11774 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11775 "Specifies the altitude from which the HAT/HOT request is being made or specifies the Z offset of the point from which the HAT/HOT request is being made", HFILL
}
11778 /* CIGI3_2 HAT/HOT Request */
11779 { &hf_cigi3_2_hat_hot_request_update_period
,
11780 { "Update Period", "cigi.hat_hot_request.update_period",
11781 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11782 "Specifies interval between successive responses to this request. A zero indicates one responses a value n > 0 the IG should respond every nth frame", HFILL
}
11785 /* CIGI4 HAT/HOT Request */
11786 { &hf_cigi4_hat_hot_request_flags
,
11787 { "Request Flags", "cigi.hat_hot_request.flags",
11788 FT_UINT8
, BASE_HEX
, NULL
, 0x0,
11792 /* CIGI3 Line of Sight Segment Request */
11793 { &hf_cigi3_line_of_sight_segment_request
,
11794 { "Line of Sight Segment Request", "cigi.los_segment_request",
11795 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11796 "Line of Sight Segment Request Packet", HFILL
}
11798 { &hf_cigi3_line_of_sight_segment_request_los_id
,
11799 { "LOS ID", "cigi.los_segment_request.los_id",
11800 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11801 "Identifies the LOS request", HFILL
}
11803 { &hf_cigi3_line_of_sight_segment_request_type
,
11804 { "Request Type", "cigi.los_segment_request.type",
11805 FT_BOOLEAN
, 8, TFS(&extended_normal_tfs
), 0x01,
11806 "Determines what type of response the IG should return for this request", HFILL
}
11808 { &hf_cigi3_line_of_sight_segment_request_source_coord
,
11809 { "Source Point Coordinate System", "cigi.los_segment_request.source_coord",
11810 FT_BOOLEAN
, 8, TFS(&entity_geodetic_tfs
), 0x02,
11811 "Indicates the coordinate system relative to which the test segment source endpoint is specified", HFILL
}
11813 { &hf_cigi3_line_of_sight_segment_request_destination_coord
,
11814 { "Destination Point Coordinate System", "cigi.los_segment_request.destination_coord",
11815 FT_BOOLEAN
, 8, TFS(&entity_geodetic_tfs
), 0x04,
11816 "Indicates the coordinate system relative to which the test segment destination endpoint is specified", HFILL
}
11818 { &hf_cigi3_line_of_sight_segment_request_response_coord
,
11819 { "Response Coordinate System", "cigi.los_segment_request.response_coord",
11820 FT_BOOLEAN
, 8, TFS(&entity_geodetic_tfs
), 0x08,
11821 "Specifies the coordinate system to be used in the response", HFILL
}
11823 { &hf_cigi3_line_of_sight_segment_request_alpha_threshold
,
11824 { "Alpha Threshold", "cigi.los_segment_request.alpha_threshold",
11825 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11826 "Specifies the minimum alpha value a surface may have for an LOS response to be generated", HFILL
}
11828 { &hf_cigi3_line_of_sight_segment_request_source_entity_id
,
11829 { "Source Entity ID", "cigi.los_segment_request.source_entity_id",
11830 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11831 "Specifies the entity relative to which the test segment endpoints are defined", HFILL
}
11833 { &hf_cigi3_line_of_sight_segment_request_source_lat_xoff
,
11834 { "Source Latitude (degrees)/Source X Offset (m)", "cigi.los_segment_request.source_lat_xoff",
11835 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11836 "Specifies the latitude of the source endpoint of the LOS test segment or specifies the X offset of the source endpoint of the LOS test segment", HFILL
}
11838 { &hf_cigi3_line_of_sight_segment_request_source_lon_yoff
,
11839 { "Source Longitude (degrees)/Source Y Offset (m)", "cigi.los_segment_request.source_lon_yoff",
11840 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11841 "Specifies the longitude of the source endpoint of the LOS test segment or specifies the Y offset of the source endpoint of the LOS test segment", HFILL
}
11843 { &hf_cigi3_line_of_sight_segment_request_source_alt_zoff
,
11844 { "Source Altitude (m)/Source Z Offset (m)", "cigi.los_segment_request.source_alt_zoff",
11845 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11846 "Specifies the altitude of the source endpoint of the LOS test segment or specifies the Z offset of the source endpoint of the LOS test segment", HFILL
}
11848 { &hf_cigi3_line_of_sight_segment_request_destination_lat_xoff
,
11849 { "Destination Latitude (degrees)/ Destination X Offset (m)", "cigi.los_segment_request.destination_lat_xoff",
11850 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11851 "Specifies the latitude of the destination endpoint of the LOS test segment or specifies the X offset of the destination endpoint of the LOS test segment", HFILL
}
11853 { &hf_cigi3_line_of_sight_segment_request_destination_lon_yoff
,
11854 { "Destination Longitude (degrees)/Destination Y Offset (m)", "cigi.los_segment_request.destination_lon_yoff",
11855 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11856 "Specifies the longitude of the destination endpoint of the LOS test segment or specifies the Y offset of the destination endpoint of the LOS test segment", HFILL
}
11858 { &hf_cigi3_line_of_sight_segment_request_destination_alt_zoff
,
11859 { "Destination Altitude (m)/ Destination Z Offset (m)", "cigi.los_segment_request.destination_alt_zoff",
11860 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11861 "Specifies the altitude of the destination endpoint of the LOS test segment or specifies the Z offset of the destination endpoint of the LOS test segment", HFILL
}
11863 { &hf_cigi3_line_of_sight_segment_request_material_mask
,
11864 { "Material Mask", "cigi.los_segment_request.material_mask",
11865 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
11866 "Specifies the environmental and cultural features to be included in or excluded from consideration for the LOS segment testing", HFILL
}
11869 /* CIGI3_2 Line of Sight Segment Request */
11870 { &hf_cigi3_2_line_of_sight_segment_request_destination_entity_id_valid
,
11871 { "Destination Entity ID Valid", "cigi.los_segment_request.destination_entity_id_valid",
11872 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x10,
11873 "Destination Entity ID is valid.", HFILL
}
11875 { &hf_cigi3_2_line_of_sight_segment_request_update_period
,
11876 { "Update Period", "cigi.los_segment_request.update_period",
11877 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11878 "Specifies interval between successive responses to this request. A zero indicates one responses a value n > 0 the IG should respond every nth frame", HFILL
}
11880 { &hf_cigi3_2_line_of_sight_segment_request_destination_entity_id
,
11881 { "Destination Entity ID", "cigi.los_segment_request.destination_entity_id",
11882 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11883 "Indicates the entity with respect to which the Destination X Offset, Y Offset, and Destination Z Offset parameters are specified", HFILL
}
11886 /* CIGI4 Line of Sight Segment Request */
11888 /* CIGI3 Line of Sight Vector Request */
11889 { &hf_cigi3_line_of_sight_vector_request
,
11890 { "Line of Sight Vector Request", "cigi.los_vector_request",
11891 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11892 "Line of Sight Vector Request Packet", HFILL
}
11894 { &hf_cigi3_line_of_sight_vector_request_los_id
,
11895 { "LOS ID", "cigi.los_vector_request.los_id",
11896 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11897 "Identifies the LOS request", HFILL
}
11899 { &hf_cigi3_line_of_sight_vector_request_type
,
11900 { "Request Type", "cigi.los_vector_request.type",
11901 FT_BOOLEAN
, 8, TFS(&extended_normal_tfs
), 0x01,
11902 "Determines what type of response the IG should return for this request", HFILL
}
11904 { &hf_cigi3_line_of_sight_vector_request_source_coord
,
11905 { "Source Point Coordinate System", "cigi.los_vector_request.source_coord",
11906 FT_BOOLEAN
, 8, TFS(&entity_geodetic_tfs
), 0x02,
11907 "Indicates the coordinate system relative to which the test vector source point is specified", HFILL
}
11909 { &hf_cigi3_line_of_sight_vector_request_response_coord
,
11910 { "Response Coordinate System", "cigi.los_vector_request.response_coord",
11911 FT_BOOLEAN
, 8, TFS(&entity_geodetic_tfs
), 0x04,
11912 "Specifies the coordinate system to be used in the response", HFILL
}
11914 { &hf_cigi3_line_of_sight_vector_request_alpha
,
11915 { "Alpha Threshold", "cigi.los_vector_request.alpha",
11916 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11917 "Specifies the minimum alpha value a surface may have for an LOS response to be generated", HFILL
}
11919 { &hf_cigi3_line_of_sight_vector_request_entity_id
,
11920 { "Entity ID", "cigi.los_vector_request.entity_id",
11921 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11922 "Specifies the entity relative to which the test segment endpoints are defined", HFILL
}
11924 { &hf_cigi3_line_of_sight_vector_request_azimuth
,
11925 { "Azimuth (degrees)", "cigi.los_vector_request.azimuth",
11926 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11927 "Specifies the horizontal angle of the LOS test vector", HFILL
}
11929 { &hf_cigi3_line_of_sight_vector_request_elevation
,
11930 { "Elevation (degrees)", "cigi.los_vector_request.elevation",
11931 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11932 "Specifies the vertical angle of the LOS test vector", HFILL
}
11934 { &hf_cigi3_line_of_sight_vector_request_min_range
,
11935 { "Minimum Range (m)", "cigi.los_vector_request.min_range",
11936 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11937 "Specifies the minimum range along the LOS test vector at which intersection testing should occur", HFILL
}
11939 { &hf_cigi3_line_of_sight_vector_request_max_range
,
11940 { "Maximum Range (m)", "cigi.los_vector_request.max_range",
11941 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
11942 "Specifies the maximum range along the LOS test vector at which intersection testing should occur", HFILL
}
11944 { &hf_cigi3_line_of_sight_vector_request_source_lat_xoff
,
11945 { "Source Latitude (degrees)/Source X Offset (m)", "cigi.los_vector_request.source_lat_xoff",
11946 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11947 "Specifies the latitude of the source point of the LOS test vector", HFILL
}
11949 { &hf_cigi3_line_of_sight_vector_request_source_lon_yoff
,
11950 { "Source Longitude (degrees)/Source Y Offset (m)", "cigi.los_vector_request.source_lon_yoff",
11951 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11952 "Specifies the longitude of the source point of the LOS test vector", HFILL
}
11954 { &hf_cigi3_line_of_sight_vector_request_source_alt_zoff
,
11955 { "Source Altitude (m)/Source Z Offset (m)", "cigi.los_vector_request.source_alt_zoff",
11956 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
11957 "Specifies the altitude of the source point of the LOS test vector or specifies the Z offset of the source point of the LOS test vector", HFILL
}
11959 { &hf_cigi3_line_of_sight_vector_request_material_mask
,
11960 { "Material Mask", "cigi.los_vector_request.material_mask",
11961 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
11962 "Specifies the environmental and cultural features to be included in LOS segment testing", HFILL
}
11965 /* CIGI3_2 Line of Sight Vector Request */
11966 { &hf_cigi3_2_line_of_sight_vector_request_update_period
,
11967 { "Update Period", "cigi.los_vector_request.update_period",
11968 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11969 "Specifies interval between successive responses to this request. A zero indicates one responses a value n > 0 the IG should respond every nth frame", HFILL
}
11973 /* CIGI4 Line of Sight Vector Request */
11975 /* CIGI3 Position Request */
11976 { &hf_cigi3_position_request
,
11977 { "Position Request", "cigi.pos_request",
11978 FT_NONE
, BASE_NONE
, NULL
, 0x0,
11979 "Position Request Packet", HFILL
}
11981 { &hf_cigi3_position_request_object_id
,
11982 { "Object ID", "cigi.pos_request.object_id",
11983 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
11984 "Identifies the entity, view, view group, or motion tracking device whose position is being requested", HFILL
}
11986 { &hf_cigi3_position_request_part_id
,
11987 { "Articulated Part ID", "cigi.pos_request.part_id",
11988 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
11989 "Identifies the articulated part whose position is being requested", HFILL
}
11991 { &hf_cigi3_position_request_update_mode
,
11992 { "Update Mode", "cigi.pos_request.update_mode",
11993 FT_BOOLEAN
, 8, TFS(&cigi3_position_request_update_mode_tfs
), 0x01,
11994 "Specifies whether the IG should report the position of the requested object each frame", HFILL
}
11996 { &hf_cigi3_position_request_object_class
,
11997 { "Object Class", "cigi.pos_request.object_class",
11998 FT_UINT8
, BASE_DEC
, VALS(cigi3_position_request_object_class_vals
), 0x0e,
11999 "Specifies the type of object whose position is being requested", HFILL
}
12001 { &hf_cigi3_position_request_coord_system
,
12002 { "Coordinate System", "cigi.pos_request.coord_system",
12003 FT_UINT8
, BASE_DEC
, VALS(cigi3_position_request_coord_system_vals
), 0x30,
12004 "Specifies the desired coordinate system relative to which the position and orientation should be given", HFILL
}
12007 /* CIGI4 Position Request */
12009 /* CIGI3 Environmental Conditions Request */
12010 { &hf_cigi3_environmental_conditions_request
,
12011 { "Environmental Conditions Request", "cigi.env_cond_request",
12012 FT_NONE
, BASE_NONE
, NULL
, 0x0,
12013 "Environmental Conditions Request Packet", HFILL
}
12015 { &hf_cigi3_environmental_conditions_request_type
,
12016 { "Request Type", "cigi.env_cond_request.type",
12017 FT_UINT8
, BASE_DEC
, VALS(cigi3_environmental_conditions_request_type_vals
), 0x0f,
12018 "Specifies the desired response type for the request", HFILL
}
12020 { &hf_cigi3_environmental_conditions_request_id
,
12021 { "Request ID", "cigi.env_cond_request.id",
12022 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
12023 "Identifies the environmental conditions request", HFILL
}
12025 { &hf_cigi3_environmental_conditions_request_lat
,
12026 { "Latitude (degrees)", "cigi.env_cond_request.lat",
12027 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
12028 "Specifies the geodetic latitude at which the environmental state is requested", HFILL
}
12030 { &hf_cigi3_environmental_conditions_request_lon
,
12031 { "Longitude (degrees)", "cigi.env_cond_request.lon",
12032 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
12033 "Specifies the geodetic longitude at which the environmental state is requested", HFILL
}
12035 { &hf_cigi3_environmental_conditions_request_alt
,
12036 { "Altitude (m)", "cigi.env_cond_request.alt",
12037 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
12038 "Specifies the geodetic altitude at which the environmental state is requested", HFILL
}
12041 /* CIGI4 Environmental Conditions Request */
12043 /* CIGI3_3 Symbol Surface Definition */
12044 { &hf_cigi3_3_symbol_surface_definition
,
12045 { "Symbol Surface Definition", "cigi.symbl_srfc_def",
12046 FT_NONE
, BASE_NONE
, NULL
, 0x0,
12047 "Symbol Surface Definition Packet", HFILL
}
12049 { &hf_cigi3_3_symbol_surface_definition_surface_id
,
12050 { "Surface ID", "cigi.symbl_srfc_def.surface_id",
12051 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
12052 "Identifies the symbol surface to which this packet is applied", HFILL
}
12054 { &hf_cigi3_3_symbol_surface_definition_surface_state
,
12055 { "Surface State", "cigi.symbl_srfc_def.surface_state",
12056 FT_BOOLEAN
, 8, TFS(&cigi3_3_symbol_surface_definition_surface_state_tfs
), 0x01,
12057 "Specifies whether the symbol surface should be active or destroyed", HFILL
}
12059 { &hf_cigi3_3_symbol_surface_definition_attach_type
,
12060 { "Attach Type", "cigi.symbl_srfc_def.attach_type",
12061 FT_BOOLEAN
, 8, TFS(&cigi3_3_symbol_surface_definition_attach_type_tfs
), 0x02,
12062 "Specifies whether the surface should be attached to an entity or view", HFILL
}
12064 { &hf_cigi3_3_symbol_surface_definition_billboard
,
12065 { "Billboard", "cigi.symbl_srfc_def.billboard",
12066 FT_BOOLEAN
, 8, TFS(&cigi3_3_symbol_surface_definition_billboard_tfs
), 0x04,
12067 "Specifies whether the surface is treated as a billboard", HFILL
}
12069 { &hf_cigi3_3_symbol_surface_definition_perspective_growth_enable
,
12070 { "Perspective Growth Enable", "cigi.symbl_srfc_def.perspective_growth_enable",
12071 FT_BOOLEAN
, 8, TFS(&tfs_enabled_disabled
), 0x08,
12072 "Specifies whether the surface appears to maintain a constant size or has perspective growth", HFILL
}
12074 { &hf_cigi3_3_symbol_surface_definition_entity_view_id
,
12075 { "Entity ID/View ID", "cigi.symbl_srfc_def.entity_view_id",
12076 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
12077 "Specifies the entity or view to which this symbol surface is attached", HFILL
}
12079 { &hf_cigi3_3_symbol_surface_definition_xoff_left
,
12080 { "X Offset (m)/Left", "cigi.symbl_srfc_def.xoff_left",
12081 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12082 "Specifies the x offset or leftmost boundary for the symbol surface", HFILL
}
12084 { &hf_cigi3_3_symbol_surface_definition_yoff_right
,
12085 { "Y Offset (m)/Right", "cigi.symbl_srfc_def.yoff_right",
12086 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12087 "Specifies the y offset or rightmost boundary for the symbol surface", HFILL
}
12089 { &hf_cigi3_3_symbol_surface_definition_zoff_top
,
12090 { "Z Offset (m)/Top", "cigi.symbl_srfc_def.zoff_top",
12091 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12092 "Specifies the z offset or topmost boundary for the symbol surface", HFILL
}
12094 { &hf_cigi3_3_symbol_surface_definition_yaw_bottom
,
12095 { "Yaw (degrees)/Bottom", "cigi.symbl_srfc_def.yaw_bottom",
12096 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12097 "Specifies the rotation about the surface's Z axis or bottommost boundary for the symbol surface", HFILL
}
12099 { &hf_cigi3_3_symbol_surface_definition_pitch
,
12100 { "Pitch (degrees)", "cigi.symbl_srfc_def.pitch",
12101 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12102 "Specifies the rotation about the surface's Y axis", HFILL
}
12104 { &hf_cigi3_3_symbol_surface_definition_roll
,
12105 { "Roll (degrees)", "cigi.symbl_srfc_def.roll",
12106 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12107 "Specifies the rotation about the surface's X axis", HFILL
}
12109 { &hf_cigi3_3_symbol_surface_definition_width
,
12110 { "Width (m/degrees)", "cigi.symbl_srfc_def.width",
12111 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12112 "Specifies the width of the symbol surface", HFILL
}
12114 { &hf_cigi3_3_symbol_surface_definition_height
,
12115 { "Height (m/degrees)", "cigi.symbl_srfc_def.height",
12116 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12117 "Specifies the height of the symbol surface", HFILL
}
12119 { &hf_cigi3_3_symbol_surface_definition_min_u
,
12120 { "Min U (surface horizontal units)", "cigi.symbl_srfc_def.min_u",
12121 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12122 "Specifies the minimum U coordinate of the symbol surface's viewable area", HFILL
}
12124 { &hf_cigi3_3_symbol_surface_definition_max_u
,
12125 { "Max U (surface horizontal units)", "cigi.symbl_srfc_def.max_u",
12126 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12127 "Specifies the maximum U coordinate of the symbol surface's viewable area", HFILL
}
12129 { &hf_cigi3_3_symbol_surface_definition_min_v
,
12130 { "Min V (surface vertical units)", "cigi.symbl_srfc_def.min_v",
12131 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12132 "Specifies the minimum V coordinate of the symbol surface's viewable area", HFILL
}
12134 { &hf_cigi3_3_symbol_surface_definition_max_v
,
12135 { "Max V (surface vertical units)", "cigi.symbl_srfc_def.max_v",
12136 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12137 "Specifies the maximum V coordinate of the symbol surface's viewable area", HFILL
}
12141 /* CIGI4 Symbol Surface Definition */
12143 /* CIGI3_3 Symbol Text Definition */
12144 { &hf_cigi3_3_symbol_text_definition
,
12145 { "Symbol Text Definition", "cigi.symbol_text_def",
12146 FT_NONE
, BASE_NONE
, NULL
, 0x0,
12147 "Symbol Text Definition Packet", HFILL
}
12149 { &hf_cigi3_3_symbol_text_definition_symbol_id
,
12150 { "Symbol ID", "cigi.symbol_text_def.symbol_id",
12151 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
12152 "Specifies the identifier of the symbol that is being defined", HFILL
}
12154 { &hf_cigi3_3_symbol_text_definition_alignment
,
12155 { "Alignment", "cigi.symbol_text_def.alignment",
12156 FT_UINT8
, BASE_DEC
, VALS(cigi3_3_symbol_text_definition_alignment_vals
), 0x0f,
12157 "Specifies the position of the symbol's reference point", HFILL
}
12159 { &hf_cigi3_3_symbol_text_definition_orientation
,
12160 { "Orientation", "cigi.symbol_text_def.orientation",
12161 FT_UINT8
, BASE_DEC
, VALS(cigi3_3_symbol_text_definition_orientation_vals
), 0x30,
12162 "Specifies the orientation of the text", HFILL
}
12164 { &hf_cigi3_3_symbol_text_definition_font_ident
,
12165 { "Font ID", "cigi.symbol_text_def.font_ident",
12166 FT_UINT8
, BASE_DEC
, VALS(cigi3_3_symbol_text_definition_font_ident_vals
), 0x0,
12167 "Specifies the font to be used", HFILL
}
12169 { &hf_cigi3_3_symbol_text_definition_font_size
,
12170 { "Font Size", "cigi.symbol_text_def.font_size",
12171 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12172 "Specifies the font size", HFILL
}
12174 { &hf_cigi3_3_symbol_text_definition_text
,
12175 { "Text", "cigi.symbol_text_def.text",
12176 FT_STRINGZPAD
, BASE_NONE
, NULL
, 0x0,
12177 "Symbol text", HFILL
}
12180 /* CIGI4 Symbol Text Definition */
12182 /* CIGI3_3 Symbol Circle Definition */
12183 { &hf_cigi3_3_symbol_circle_definition
,
12184 { "Symbol Circle Definition", "cigi.symbol_circle_def",
12185 FT_NONE
, BASE_NONE
, NULL
, 0x0,
12186 "Symbol Circle Definition Packet", HFILL
}
12188 { &hf_cigi3_3_symbol_circle_definition_symbol_id
,
12189 { "Symbol ID", "cigi.symbol_circle_def.symbol_id",
12190 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
12191 "Specifies the identifier of the symbol that is being defined", HFILL
}
12193 { &hf_cigi3_3_symbol_circle_definition_drawing_style
,
12194 { "Drawing Style", "cigi.symbol_circle_def.drawing_style",
12195 FT_BOOLEAN
, 8, TFS(&cigi3_3_symbol_circle_definition_drawing_style_tfs
), 0x01,
12196 "Specifies whether the circles and arcs are curved lines or filled areas", HFILL
}
12198 { &hf_cigi3_3_symbol_circle_definition_stipple_pattern
,
12199 { "Stipple Pattern", "cigi.symbol_circle_def.stipple_pattern",
12200 FT_UINT16
, BASE_HEX
, NULL
, 0x0,
12201 "Specifies the dash pattern used", HFILL
}
12203 { &hf_cigi3_3_symbol_circle_definition_line_width
,
12204 { "Line Width (scaled symbol surface units)", "cigi.symbol_circle_def.line_width",
12205 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12206 "Specifies the thickness of the line", HFILL
}
12208 { &hf_cigi3_3_symbol_circle_definition_stipple_pattern_length
,
12209 { "Stipple Pattern Length (scaled symbol surface units)", "cigi.symbol_circle_def.stipple_pattern_length",
12210 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12211 "Specifies the length of one complete repetition of the stipple pattern", HFILL
}
12213 { &hf_cigi3_3_symbol_circle_definition_center_u
[0],
12214 { "Center U 1 (scaled symbol surface units)", "cigi.symbol_circle_def.center_u1",
12215 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12216 "Specifies the u position of the center", HFILL
}
12218 { &hf_cigi3_3_symbol_circle_definition_center_v
[0],
12219 { "Center V 1 (scaled symbol surface units)", "cigi.symbol_circle_def.center_v1",
12220 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12221 "Specifies the v position of the center", HFILL
}
12223 { &hf_cigi3_3_symbol_circle_definition_radius
[0],
12224 { "Radius 1 (scaled symbol surface units)", "cigi.symbol_circle_def.radius1",
12225 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12226 "Specifies the radius", HFILL
}
12228 { &hf_cigi3_3_symbol_circle_definition_inner_radius
[0],
12229 { "Inner Radius 1 (scaled symbol surface units)", "cigi.symbol_circle_def.inner_radius1",
12230 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12231 "Specifies the inner radius", HFILL
}
12233 { &hf_cigi3_3_symbol_circle_definition_start_angle
[0],
12234 { "Start Angle 1 (degrees)", "cigi.symbol_circle_def.start_angle1",
12235 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12236 "Specifies the start angle", HFILL
}
12238 { &hf_cigi3_3_symbol_circle_definition_end_angle
[0],
12239 { "End Angle 1 (degrees)", "cigi.symbol_circle_def.end_angle1",
12240 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12241 "Specifies the end angle", HFILL
}
12243 { &hf_cigi3_3_symbol_circle_definition_center_u
[1],
12244 { "Center U 2 (scaled symbol surface units)", "cigi.symbol_circle_def.center_u2",
12245 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12246 "Specifies the u position of the center", HFILL
}
12248 { &hf_cigi3_3_symbol_circle_definition_center_v
[1],
12249 { "Center V 2 (scaled symbol surface units)", "cigi.symbol_circle_def.center_v2",
12250 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12251 "Specifies the v position of the center", HFILL
}
12253 { &hf_cigi3_3_symbol_circle_definition_radius
[1],
12254 { "Radius 2 (scaled symbol surface units)", "cigi.symbol_circle_def.radius2",
12255 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12256 "Specifies the radius", HFILL
}
12258 { &hf_cigi3_3_symbol_circle_definition_inner_radius
[1],
12259 { "Inner Radius 2 (scaled symbol surface units)", "cigi.symbol_circle_def.inner_radius2",
12260 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12261 "Specifies the inner radius", HFILL
}
12263 { &hf_cigi3_3_symbol_circle_definition_start_angle
[1],
12264 { "Start Angle 2 (degrees)", "cigi.symbol_circle_def.start_angle2",
12265 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12266 "Specifies the start angle", HFILL
}
12268 { &hf_cigi3_3_symbol_circle_definition_end_angle
[1],
12269 { "End Angle 2 (degrees)", "cigi.symbol_circle_def.end_angle2",
12270 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12271 "Specifies the end angle", HFILL
}
12273 { &hf_cigi3_3_symbol_circle_definition_center_u
[2],
12274 { "Center U 3 (scaled symbol surface units)", "cigi.symbol_circle_def.center_u3",
12275 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12276 "Specifies the u position of the center", HFILL
}
12278 { &hf_cigi3_3_symbol_circle_definition_center_v
[2],
12279 { "Center V 3 (scaled symbol surface units)", "cigi.symbol_circle_def.center_v3",
12280 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12281 "Specifies the v position of the center", HFILL
}
12283 { &hf_cigi3_3_symbol_circle_definition_radius
[2],
12284 { "Radius 3 (scaled symbol surface units)", "cigi.symbol_circle_def.radius3",
12285 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12286 "Specifies the radius", HFILL
}
12288 { &hf_cigi3_3_symbol_circle_definition_inner_radius
[2],
12289 { "Inner Radius 3 (scaled symbol surface units)", "cigi.symbol_circle_def.inner_radius3",
12290 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12291 "Specifies the inner radius", HFILL
}
12293 { &hf_cigi3_3_symbol_circle_definition_start_angle
[2],
12294 { "Start Angle 3 (degrees)", "cigi.symbol_circle_def.start_angle3",
12295 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12296 "Specifies the start angle", HFILL
}
12298 { &hf_cigi3_3_symbol_circle_definition_end_angle
[2],
12299 { "End Angle 3 (degrees)", "cigi.symbol_circle_def.end_angle3",
12300 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12301 "Specifies the end angle", HFILL
}
12303 { &hf_cigi3_3_symbol_circle_definition_center_u
[3],
12304 { "Center U 4 (scaled symbol surface units)", "cigi.symbol_circle_def.center_u4",
12305 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12306 "Specifies the u position of the center", HFILL
}
12308 { &hf_cigi3_3_symbol_circle_definition_center_v
[3],
12309 { "Center V 4 (scaled symbol surface units)", "cigi.symbol_circle_def.center_v4",
12310 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12311 "Specifies the v position of the center", HFILL
}
12313 { &hf_cigi3_3_symbol_circle_definition_radius
[3],
12314 { "Radius 4 (scaled symbol surface units)", "cigi.symbol_circle_def.radius4",
12315 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12316 "Specifies the radius", HFILL
}
12318 { &hf_cigi3_3_symbol_circle_definition_inner_radius
[3],
12319 { "Inner Radius 4 (scaled symbol surface units)", "cigi.symbol_circle_def.inner_radius4",
12320 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12321 "Specifies the inner radius", HFILL
}
12323 { &hf_cigi3_3_symbol_circle_definition_start_angle
[3],
12324 { "Start Angle 4 (degrees)", "cigi.symbol_circle_def.start_angle4",
12325 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12326 "Specifies the start angle", HFILL
}
12328 { &hf_cigi3_3_symbol_circle_definition_end_angle
[3],
12329 { "End Angle 4 (degrees)", "cigi.symbol_circle_def.end_angle4",
12330 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12331 "Specifies the end angle", HFILL
}
12333 { &hf_cigi3_3_symbol_circle_definition_center_u
[4],
12334 { "Center U 5 (scaled symbol surface units)", "cigi.symbol_circle_def.center_u5",
12335 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12336 "Specifies the u position of the center", HFILL
}
12338 { &hf_cigi3_3_symbol_circle_definition_center_v
[4],
12339 { "Center V 5 (scaled symbol surface units)", "cigi.symbol_circle_def.center_v5",
12340 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12341 "Specifies the v position of the center", HFILL
}
12343 { &hf_cigi3_3_symbol_circle_definition_radius
[4],
12344 { "Radius 5 (scaled symbol surface units)", "cigi.symbol_circle_def.radius5",
12345 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12346 "Specifies the radius", HFILL
}
12348 { &hf_cigi3_3_symbol_circle_definition_inner_radius
[4],
12349 { "Inner Radius 5 (scaled symbol surface units)", "cigi.symbol_circle_def.inner_radius5",
12350 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12351 "Specifies the inner radius", HFILL
}
12353 { &hf_cigi3_3_symbol_circle_definition_start_angle
[4],
12354 { "Start Angle 5 (degrees)", "cigi.symbol_circle_def.start_angle5",
12355 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12356 "Specifies the start angle", HFILL
}
12358 { &hf_cigi3_3_symbol_circle_definition_end_angle
[4],
12359 { "End Angle 5 (degrees)", "cigi.symbol_circle_def.end_angle5",
12360 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12361 "Specifies the end angle", HFILL
}
12363 { &hf_cigi3_3_symbol_circle_definition_center_u
[5],
12364 { "Center U 6 (scaled symbol surface units)", "cigi.symbol_circle_def.center_u6",
12365 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12366 "Specifies the u position of the center", HFILL
}
12368 { &hf_cigi3_3_symbol_circle_definition_center_v
[5],
12369 { "Center V 6 (scaled symbol surface units)", "cigi.symbol_circle_def.center_v6",
12370 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12371 "Specifies the v position of the center", HFILL
}
12373 { &hf_cigi3_3_symbol_circle_definition_radius
[5],
12374 { "Radius 6 (scaled symbol surface units)", "cigi.symbol_circle_def.radius6",
12375 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12376 "Specifies the radius", HFILL
}
12378 { &hf_cigi3_3_symbol_circle_definition_inner_radius
[5],
12379 { "Inner Radius 6 (scaled symbol surface units)", "cigi.symbol_circle_def.inner_radius6",
12380 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12381 "Specifies the inner radius", HFILL
}
12383 { &hf_cigi3_3_symbol_circle_definition_start_angle
[5],
12384 { "Start Angle 6 (degrees)", "cigi.symbol_circle_def.start_angle6",
12385 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12386 "Specifies the start angle", HFILL
}
12388 { &hf_cigi3_3_symbol_circle_definition_end_angle
[5],
12389 { "End Angle 6 (degrees)", "cigi.symbol_circle_def.end_angle6",
12390 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12391 "Specifies the end angle", HFILL
}
12393 { &hf_cigi3_3_symbol_circle_definition_center_u
[6],
12394 { "Center U 7 (scaled symbol surface units)", "cigi.symbol_circle_def.center_u7",
12395 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12396 "Specifies the u position of the center", HFILL
}
12398 { &hf_cigi3_3_symbol_circle_definition_center_v
[6],
12399 { "Center V 7 (scaled symbol surface units)", "cigi.symbol_circle_def.center_v7",
12400 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12401 "Specifies the v position of the center", HFILL
}
12403 { &hf_cigi3_3_symbol_circle_definition_radius
[6],
12404 { "Radius 7 (scaled symbol surface units)", "cigi.symbol_circle_def.radius7",
12405 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12406 "Specifies the radius", HFILL
}
12408 { &hf_cigi3_3_symbol_circle_definition_inner_radius
[6],
12409 { "Inner Radius 7 (scaled symbol surface units)", "cigi.symbol_circle_def.inner_radius7",
12410 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12411 "Specifies the inner radius", HFILL
}
12413 { &hf_cigi3_3_symbol_circle_definition_start_angle
[6],
12414 { "Start Angle 7 (degrees)", "cigi.symbol_circle_def.start_angle7",
12415 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12416 "Specifies the start angle", HFILL
}
12418 { &hf_cigi3_3_symbol_circle_definition_end_angle
[6],
12419 { "End Angle 7 (degrees)", "cigi.symbol_circle_def.end_angle7",
12420 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12421 "Specifies the end angle", HFILL
}
12423 { &hf_cigi3_3_symbol_circle_definition_center_u
[7],
12424 { "Center U 8 (scaled symbol surface units)", "cigi.symbol_circle_def.center_u8",
12425 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12426 "Specifies the u position of the center", HFILL
}
12428 { &hf_cigi3_3_symbol_circle_definition_center_v
[7],
12429 { "Center V 8 (scaled symbol surface units)", "cigi.symbol_circle_def.center_v8",
12430 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12431 "Specifies the v position of the center", HFILL
}
12433 { &hf_cigi3_3_symbol_circle_definition_radius
[7],
12434 { "Radius 8 (scaled symbol surface units)", "cigi.symbol_circle_def.radius8",
12435 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12436 "Specifies the radius", HFILL
}
12438 { &hf_cigi3_3_symbol_circle_definition_inner_radius
[7],
12439 { "Inner Radius 8 (scaled symbol surface units)", "cigi.symbol_circle_def.inner_radius8",
12440 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12441 "Specifies the inner radius", HFILL
}
12443 { &hf_cigi3_3_symbol_circle_definition_start_angle
[7],
12444 { "Start Angle 8 (degrees)", "cigi.symbol_circle_def.start_angle8",
12445 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12446 "Specifies the start angle", HFILL
}
12448 { &hf_cigi3_3_symbol_circle_definition_end_angle
[7],
12449 { "End Angle 8 (degrees)", "cigi.symbol_circle_def.end_angle8",
12450 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12451 "Specifies the end angle", HFILL
}
12453 { &hf_cigi3_3_symbol_circle_definition_center_u
[8],
12454 { "Center U 9 (scaled symbol surface units)", "cigi.symbol_circle_def.center_u9",
12455 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12456 "Specifies the u position of the center", HFILL
}
12458 { &hf_cigi3_3_symbol_circle_definition_center_v
[8],
12459 { "Center V 9 (scaled symbol surface units)", "cigi.symbol_circle_def.center_v9",
12460 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12461 "Specifies the v position of the center", HFILL
}
12463 { &hf_cigi3_3_symbol_circle_definition_radius
[8],
12464 { "Radius 9 (scaled symbol surface units)", "cigi.symbol_circle_def.radius9",
12465 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12466 "Specifies the radius", HFILL
}
12468 { &hf_cigi3_3_symbol_circle_definition_inner_radius
[8],
12469 { "Inner Radius 9 (scaled symbol surface units)", "cigi.symbol_circle_def.inner_radius9",
12470 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12471 "Specifies the inner radius", HFILL
}
12473 { &hf_cigi3_3_symbol_circle_definition_start_angle
[8],
12474 { "Start Angle 9 (degrees)", "cigi.symbol_circle_def.start_angle9",
12475 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12476 "Specifies the start angle", HFILL
}
12478 { &hf_cigi3_3_symbol_circle_definition_end_angle
[8],
12479 { "End Angle 9 (degrees)", "cigi.symbol_circle_def.end_angle9",
12480 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12481 "Specifies the end angle", HFILL
}
12484 /* CIGI4 Symbol Circle Definition */
12486 /* CIGI3_3 Symbol Line Definition */
12487 { &hf_cigi3_3_symbol_line_definition
,
12488 { "Symbol Line Definition", "cigi.symbol_line_def",
12489 FT_NONE
, BASE_NONE
, NULL
, 0x0,
12490 "Symbol Line Definition Packet", HFILL
}
12492 { &hf_cigi3_3_symbol_line_definition_symbol_id
,
12493 { "Symbol ID", "cigi.symbol_line_def.symbol_id",
12494 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
12495 "Specifies the identifier of the symbol that is being defined", HFILL
}
12497 { &hf_cigi3_3_symbol_line_definition_primitive_type
,
12498 { "Primitive Type", "cigi.symbl_line_def.primitive_type",
12499 FT_UINT8
, BASE_DEC
, VALS(cigi3_3_symbol_line_definition_primitive_type_vals
), 0x0F,
12500 "Specifies the type of point or line primitive used", HFILL
}
12502 { &hf_cigi3_3_symbol_line_definition_stipple_pattern
,
12503 { "Stipple Pattern", "cigi.symbol_line_def.stipple_pattern",
12504 FT_UINT16
, BASE_HEX
, NULL
, 0x0,
12505 "Specifies the dash pattern used", HFILL
}
12507 { &hf_cigi3_3_symbol_line_definition_line_width
,
12508 { "Line Width (scaled symbol surface units)", "cigi.symbol_line_def.line_width",
12509 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12510 "Specifies the thickness of the line", HFILL
}
12512 { &hf_cigi3_3_symbol_line_definition_stipple_pattern_length
,
12513 { "Stipple Pattern Length (scaled symbol surface units)", "cigi.symbol_line_def.stipple_pattern_length",
12514 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12515 "Specifies the length of one complete repetition of the stipple pattern", HFILL
}
12517 { &hf_cigi3_3_symbol_line_definition_vertex_u
[0],
12518 { "Vertex U 1 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u1",
12519 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12520 "Specifies the u position of the vertex", HFILL
}
12522 { &hf_cigi3_3_symbol_line_definition_vertex_v
[0],
12523 { "Vertex V 1 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v1",
12524 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12525 "Specifies the v position of the vertex", HFILL
}
12527 { &hf_cigi3_3_symbol_line_definition_vertex_u
[1],
12528 { "Vertex U 2 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u2",
12529 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12530 "Specifies the u position of the vertex", HFILL
}
12532 { &hf_cigi3_3_symbol_line_definition_vertex_v
[1],
12533 { "Vertex V 2 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v2",
12534 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12535 "Specifies the v position of the vertex", HFILL
}
12537 { &hf_cigi3_3_symbol_line_definition_vertex_u
[2],
12538 { "Vertex U 3 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u3",
12539 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12540 "Specifies the u position of the vertex", HFILL
}
12542 { &hf_cigi3_3_symbol_line_definition_vertex_v
[2],
12543 { "Vertex V 3 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v3",
12544 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12545 "Specifies the v position of the vertex", HFILL
}
12547 { &hf_cigi3_3_symbol_line_definition_vertex_u
[3],
12548 { "Vertex U 4 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u4",
12549 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12550 "Specifies the u position of the vertex", HFILL
}
12552 { &hf_cigi3_3_symbol_line_definition_vertex_v
[3],
12553 { "Vertex V 4 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v4",
12554 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12555 "Specifies the v position of the vertex", HFILL
}
12557 { &hf_cigi3_3_symbol_line_definition_vertex_u
[4],
12558 { "Vertex U 5 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u5",
12559 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12560 "Specifies the u position of the vertex", HFILL
}
12562 { &hf_cigi3_3_symbol_line_definition_vertex_v
[4],
12563 { "Vertex V 5 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v5",
12564 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12565 "Specifies the v position of the vertex", HFILL
}
12567 { &hf_cigi3_3_symbol_line_definition_vertex_u
[5],
12568 { "Vertex U 6 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u6",
12569 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12570 "Specifies the u position of the vertex", HFILL
}
12572 { &hf_cigi3_3_symbol_line_definition_vertex_v
[5],
12573 { "Vertex V 6 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v6",
12574 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12575 "Specifies the v position of the vertex", HFILL
}
12577 { &hf_cigi3_3_symbol_line_definition_vertex_u
[6],
12578 { "Vertex U 7 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u7",
12579 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12580 "Specifies the u position of the vertex", HFILL
}
12582 { &hf_cigi3_3_symbol_line_definition_vertex_v
[6],
12583 { "Vertex V 7 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v7",
12584 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12585 "Specifies the v position of the vertex", HFILL
}
12587 { &hf_cigi3_3_symbol_line_definition_vertex_u
[7],
12588 { "Vertex U 8 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u8",
12589 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12590 "Specifies the u position of the vertex", HFILL
}
12592 { &hf_cigi3_3_symbol_line_definition_vertex_v
[7],
12593 { "Vertex V 8 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v8",
12594 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12595 "Specifies the v position of the vertex", HFILL
}
12597 { &hf_cigi3_3_symbol_line_definition_vertex_u
[8],
12598 { "Vertex U 9 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u9",
12599 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12600 "Specifies the u position of the vertex", HFILL
}
12602 { &hf_cigi3_3_symbol_line_definition_vertex_v
[8],
12603 { "Vertex V 9 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v9",
12604 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12605 "Specifies the v position of the vertex", HFILL
}
12607 { &hf_cigi3_3_symbol_line_definition_vertex_u
[9],
12608 { "Vertex U 10 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u10",
12609 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12610 "Specifies the u position of the vertex", HFILL
}
12612 { &hf_cigi3_3_symbol_line_definition_vertex_v
[9],
12613 { "Vertex V 10 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v10",
12614 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12615 "Specifies the v position of the vertex", HFILL
}
12617 { &hf_cigi3_3_symbol_line_definition_vertex_u
[10],
12618 { "Vertex U 11 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u11",
12619 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12620 "Specifies the u position of the vertex", HFILL
}
12622 { &hf_cigi3_3_symbol_line_definition_vertex_v
[10],
12623 { "Vertex V 11 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v11",
12624 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12625 "Specifies the v position of the vertex", HFILL
}
12627 { &hf_cigi3_3_symbol_line_definition_vertex_u
[11],
12628 { "Vertex U 12 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u12",
12629 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12630 "Specifies the u position of the vertex", HFILL
}
12632 { &hf_cigi3_3_symbol_line_definition_vertex_v
[11],
12633 { "Vertex V 12 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v12",
12634 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12635 "Specifies the v position of the vertex", HFILL
}
12637 { &hf_cigi3_3_symbol_line_definition_vertex_u
[12],
12638 { "Vertex U 13 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u13",
12639 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12640 "Specifies the u position of the vertex", HFILL
}
12642 { &hf_cigi3_3_symbol_line_definition_vertex_v
[12],
12643 { "Vertex V 13 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v13",
12644 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12645 "Specifies the v position of the vertex", HFILL
}
12647 { &hf_cigi3_3_symbol_line_definition_vertex_u
[13],
12648 { "Vertex U 14 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u14",
12649 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12650 "Specifies the u position of the vertex", HFILL
}
12652 { &hf_cigi3_3_symbol_line_definition_vertex_v
[13],
12653 { "Vertex V 14 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v14",
12654 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12655 "Specifies the v position of the vertex", HFILL
}
12657 { &hf_cigi3_3_symbol_line_definition_vertex_u
[14],
12658 { "Vertex U 15 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u15",
12659 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12660 "Specifies the u position of the vertex", HFILL
}
12662 { &hf_cigi3_3_symbol_line_definition_vertex_v
[14],
12663 { "Vertex V 15 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v15",
12664 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12665 "Specifies the v position of the vertex", HFILL
}
12667 { &hf_cigi3_3_symbol_line_definition_vertex_u
[15],
12668 { "Vertex U 16 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u16",
12669 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12670 "Specifies the u position of the vertex", HFILL
}
12672 { &hf_cigi3_3_symbol_line_definition_vertex_v
[15],
12673 { "Vertex V 16 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v16",
12674 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12675 "Specifies the v position of the vertex", HFILL
}
12677 { &hf_cigi3_3_symbol_line_definition_vertex_u
[16],
12678 { "Vertex U 17 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u17",
12679 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12680 "Specifies the u position of the vertex", HFILL
}
12682 { &hf_cigi3_3_symbol_line_definition_vertex_v
[16],
12683 { "Vertex V 17 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v17",
12684 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12685 "Specifies the v position of the vertex", HFILL
}
12687 { &hf_cigi3_3_symbol_line_definition_vertex_u
[17],
12688 { "Vertex U 18 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u18",
12689 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12690 "Specifies the u position of the vertex", HFILL
}
12692 { &hf_cigi3_3_symbol_line_definition_vertex_v
[17],
12693 { "Vertex V 18 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v18",
12694 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12695 "Specifies the v position of the vertex", HFILL
}
12697 { &hf_cigi3_3_symbol_line_definition_vertex_u
[18],
12698 { "Vertex U 19 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u19",
12699 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12700 "Specifies the u position of the vertex", HFILL
}
12702 { &hf_cigi3_3_symbol_line_definition_vertex_v
[18],
12703 { "Vertex V 19 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v19",
12704 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12705 "Specifies the v position of the vertex", HFILL
}
12707 { &hf_cigi3_3_symbol_line_definition_vertex_u
[19],
12708 { "Vertex U 20 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u20",
12709 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12710 "Specifies the u position of the vertex", HFILL
}
12712 { &hf_cigi3_3_symbol_line_definition_vertex_v
[19],
12713 { "Vertex V 20 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v20",
12714 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12715 "Specifies the v position of the vertex", HFILL
}
12717 { &hf_cigi3_3_symbol_line_definition_vertex_u
[20],
12718 { "Vertex U 21 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u21",
12719 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12720 "Specifies the u position of the vertex", HFILL
}
12722 { &hf_cigi3_3_symbol_line_definition_vertex_v
[20],
12723 { "Vertex V 21 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v21",
12724 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12725 "Specifies the v position of the vertex", HFILL
}
12727 { &hf_cigi3_3_symbol_line_definition_vertex_u
[21],
12728 { "Vertex U 22 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u22",
12729 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12730 "Specifies the u position of the vertex", HFILL
}
12732 { &hf_cigi3_3_symbol_line_definition_vertex_v
[21],
12733 { "Vertex V 22 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v22",
12734 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12735 "Specifies the v position of the vertex", HFILL
}
12737 { &hf_cigi3_3_symbol_line_definition_vertex_u
[22],
12738 { "Vertex U 23 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u23",
12739 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12740 "Specifies the u position of the vertex", HFILL
}
12742 { &hf_cigi3_3_symbol_line_definition_vertex_v
[22],
12743 { "Vertex V 23 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v23",
12744 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12745 "Specifies the v position of the vertex", HFILL
}
12747 { &hf_cigi3_3_symbol_line_definition_vertex_u
[23],
12748 { "Vertex U 24 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u24",
12749 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12750 "Specifies the u position of the vertex", HFILL
}
12752 { &hf_cigi3_3_symbol_line_definition_vertex_v
[23],
12753 { "Vertex V 24 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v24",
12754 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12755 "Specifies the v position of the vertex", HFILL
}
12757 { &hf_cigi3_3_symbol_line_definition_vertex_u
[24],
12758 { "Vertex U 25 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u25",
12759 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12760 "Specifies the u position of the vertex", HFILL
}
12762 { &hf_cigi3_3_symbol_line_definition_vertex_v
[24],
12763 { "Vertex V 25 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v25",
12764 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12765 "Specifies the v position of the vertex", HFILL
}
12767 { &hf_cigi3_3_symbol_line_definition_vertex_u
[25],
12768 { "Vertex U 26 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u26",
12769 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12770 "Specifies the u position of the vertex", HFILL
}
12772 { &hf_cigi3_3_symbol_line_definition_vertex_v
[25],
12773 { "Vertex V 26 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v26",
12774 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12775 "Specifies the v position of the vertex", HFILL
}
12777 { &hf_cigi3_3_symbol_line_definition_vertex_u
[26],
12778 { "Vertex U 27 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u27",
12779 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12780 "Specifies the u position of the vertex", HFILL
}
12782 { &hf_cigi3_3_symbol_line_definition_vertex_v
[26],
12783 { "Vertex V 27 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v27",
12784 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12785 "Specifies the v position of the vertex", HFILL
}
12787 { &hf_cigi3_3_symbol_line_definition_vertex_u
[27],
12788 { "Vertex U 28 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u28",
12789 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12790 "Specifies the u position of the vertex", HFILL
}
12792 { &hf_cigi3_3_symbol_line_definition_vertex_v
[27],
12793 { "Vertex V 28 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v28",
12794 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12795 "Specifies the v position of the vertex", HFILL
}
12797 { &hf_cigi3_3_symbol_line_definition_vertex_u
[28],
12798 { "Vertex U 29 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_u29",
12799 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12800 "Specifies the u position of the vertex", HFILL
}
12802 { &hf_cigi3_3_symbol_line_definition_vertex_v
[28],
12803 { "Vertex V 29 (scaled symbol surface units)", "cigi.symbol_line_def.vertex_v29",
12804 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12805 "Specifies the v position of the vertex", HFILL
}
12809 /* CIGI4 Symbol Polygon Definition */
12810 { &hf_cigi4_symbol_polygon_definition
,
12811 { "Symbol Line Definition", "cigi.symbol_polygon_def",
12812 FT_NONE
, BASE_NONE
, NULL
, 0x0,
12813 "Symbol Line Definition Packet", HFILL
}
12815 { &hf_cigi4_symbol_polygon_definition_symbol_id
,
12816 { "Symbol ID", "cigi.symbol_polygon_def.symbol_id",
12817 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
12818 "Specifies the identifier of the symbol that is being defined", HFILL
}
12820 { &hf_cigi4_symbol_polygon_definition_primitive_type
,
12821 { "Primitive Type", "cigi.symbol_polygon_def.primitive_type",
12822 FT_UINT8
, BASE_DEC
, VALS(cigi3_3_symbol_line_definition_primitive_type_vals
), 0x0F,
12823 "Specifies the type of point or line primitive used", HFILL
}
12825 { &hf_cigi4_symbol_polygon_definition_stipple_pattern
,
12826 { "Stipple Pattern", "cigi.symbol_polygon_def.stipple_pattern",
12827 FT_UINT16
, BASE_HEX
, NULL
, 0x0,
12828 "Specifies the dash pattern used", HFILL
}
12830 { &hf_cigi4_symbol_polygon_definition_line_width
,
12831 { "Line Width (scaled symbol surface units)", "cigi.symbol_polygon_def.line_width",
12832 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12833 "Specifies the thickness of the line", HFILL
}
12835 { &hf_cigi4_symbol_polygon_definition_stipple_pattern_length
,
12836 { "Stipple Pattern Length (scaled symbol surface units)", "cigi.symbol_polygon_def.stipple_pattern_length",
12837 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12838 "Specifies the length of one complete repetition of the stipple pattern", HFILL
}
12840 { &hf_cigi4_symbol_polygon_definition_vertices
,
12841 { "Vertices", "cigi.symbol_polygon_def.vertices",
12842 FT_NONE
, BASE_NONE
, NULL
, 0x0,
12845 { &hf_cigi4_symbol_polygon_definition_vertex_u
[0],
12846 { "Vertex U 1 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u1",
12847 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12848 "Specifies the u position of the vertex", HFILL
}
12850 { &hf_cigi4_symbol_polygon_definition_vertex_v
[0],
12851 { "Vertex V 1 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v1",
12852 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12853 "Specifies the v position of the vertex", HFILL
}
12855 { &hf_cigi4_symbol_polygon_definition_vertex_u
[1],
12856 { "Vertex U 2 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u2",
12857 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12858 "Specifies the u position of the vertex", HFILL
}
12860 { &hf_cigi4_symbol_polygon_definition_vertex_v
[1],
12861 { "Vertex V 2 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v2",
12862 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12863 "Specifies the v position of the vertex", HFILL
}
12865 { &hf_cigi4_symbol_polygon_definition_vertex_u
[2],
12866 { "Vertex U 3 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u3",
12867 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12868 "Specifies the u position of the vertex", HFILL
}
12870 { &hf_cigi4_symbol_polygon_definition_vertex_v
[2],
12871 { "Vertex V 3 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v3",
12872 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12873 "Specifies the v position of the vertex", HFILL
}
12875 { &hf_cigi4_symbol_polygon_definition_vertex_u
[3],
12876 { "Vertex U 4 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u4",
12877 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12878 "Specifies the u position of the vertex", HFILL
}
12880 { &hf_cigi4_symbol_polygon_definition_vertex_v
[3],
12881 { "Vertex V 4 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v4",
12882 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12883 "Specifies the v position of the vertex", HFILL
}
12885 { &hf_cigi4_symbol_polygon_definition_vertex_u
[4],
12886 { "Vertex U 5 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u5",
12887 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12888 "Specifies the u position of the vertex", HFILL
}
12890 { &hf_cigi4_symbol_polygon_definition_vertex_v
[4],
12891 { "Vertex V 5 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v5",
12892 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12893 "Specifies the v position of the vertex", HFILL
}
12895 { &hf_cigi4_symbol_polygon_definition_vertex_u
[5],
12896 { "Vertex U 6 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u6",
12897 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12898 "Specifies the u position of the vertex", HFILL
}
12900 { &hf_cigi4_symbol_polygon_definition_vertex_v
[5],
12901 { "Vertex V 6 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v6",
12902 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12903 "Specifies the v position of the vertex", HFILL
}
12905 { &hf_cigi4_symbol_polygon_definition_vertex_u
[6],
12906 { "Vertex U 7 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u7",
12907 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12908 "Specifies the u position of the vertex", HFILL
}
12910 { &hf_cigi4_symbol_polygon_definition_vertex_v
[6],
12911 { "Vertex V 7 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v7",
12912 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12913 "Specifies the v position of the vertex", HFILL
}
12915 { &hf_cigi4_symbol_polygon_definition_vertex_u
[7],
12916 { "Vertex U 8 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u8",
12917 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12918 "Specifies the u position of the vertex", HFILL
}
12920 { &hf_cigi4_symbol_polygon_definition_vertex_v
[7],
12921 { "Vertex V 8 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v8",
12922 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12923 "Specifies the v position of the vertex", HFILL
}
12925 { &hf_cigi4_symbol_polygon_definition_vertex_u
[8],
12926 { "Vertex U 9 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u9",
12927 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12928 "Specifies the u position of the vertex", HFILL
}
12930 { &hf_cigi4_symbol_polygon_definition_vertex_v
[8],
12931 { "Vertex V 9 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v9",
12932 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12933 "Specifies the v position of the vertex", HFILL
}
12935 { &hf_cigi4_symbol_polygon_definition_vertex_u
[9],
12936 { "Vertex U 10 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u10",
12937 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12938 "Specifies the u position of the vertex", HFILL
}
12940 { &hf_cigi4_symbol_polygon_definition_vertex_v
[9],
12941 { "Vertex V 10 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v10",
12942 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12943 "Specifies the v position of the vertex", HFILL
}
12945 { &hf_cigi4_symbol_polygon_definition_vertex_u
[10],
12946 { "Vertex U 11 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u11",
12947 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12948 "Specifies the u position of the vertex", HFILL
}
12950 { &hf_cigi4_symbol_polygon_definition_vertex_v
[10],
12951 { "Vertex V 11 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v11",
12952 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12953 "Specifies the v position of the vertex", HFILL
}
12955 { &hf_cigi4_symbol_polygon_definition_vertex_u
[11],
12956 { "Vertex U 12 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u12",
12957 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12958 "Specifies the u position of the vertex", HFILL
}
12960 { &hf_cigi4_symbol_polygon_definition_vertex_v
[11],
12961 { "Vertex V 12 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v12",
12962 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12963 "Specifies the v position of the vertex", HFILL
}
12965 { &hf_cigi4_symbol_polygon_definition_vertex_u
[12],
12966 { "Vertex U 13 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u13",
12967 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12968 "Specifies the u position of the vertex", HFILL
}
12970 { &hf_cigi4_symbol_polygon_definition_vertex_v
[12],
12971 { "Vertex V 13 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v13",
12972 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12973 "Specifies the v position of the vertex", HFILL
}
12975 { &hf_cigi4_symbol_polygon_definition_vertex_u
[13],
12976 { "Vertex U 14 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u14",
12977 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12978 "Specifies the u position of the vertex", HFILL
}
12980 { &hf_cigi4_symbol_polygon_definition_vertex_v
[13],
12981 { "Vertex V 14 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v14",
12982 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12983 "Specifies the v position of the vertex", HFILL
}
12985 { &hf_cigi4_symbol_polygon_definition_vertex_u
[14],
12986 { "Vertex U 15 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u15",
12987 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12988 "Specifies the u position of the vertex", HFILL
}
12990 { &hf_cigi4_symbol_polygon_definition_vertex_v
[14],
12991 { "Vertex V 15 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v15",
12992 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12993 "Specifies the v position of the vertex", HFILL
}
12995 { &hf_cigi4_symbol_polygon_definition_vertex_u
[15],
12996 { "Vertex U 16 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u16",
12997 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
12998 "Specifies the u position of the vertex", HFILL
}
13000 { &hf_cigi4_symbol_polygon_definition_vertex_v
[15],
13001 { "Vertex V 16 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v16",
13002 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13003 "Specifies the v position of the vertex", HFILL
}
13005 { &hf_cigi4_symbol_polygon_definition_vertex_u
[16],
13006 { "Vertex U 17 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u17",
13007 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13008 "Specifies the u position of the vertex", HFILL
}
13010 { &hf_cigi4_symbol_polygon_definition_vertex_v
[16],
13011 { "Vertex V 17 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v17",
13012 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13013 "Specifies the v position of the vertex", HFILL
}
13015 { &hf_cigi4_symbol_polygon_definition_vertex_u
[17],
13016 { "Vertex U 18 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u18",
13017 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13018 "Specifies the u position of the vertex", HFILL
}
13020 { &hf_cigi4_symbol_polygon_definition_vertex_v
[17],
13021 { "Vertex V 18 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v18",
13022 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13023 "Specifies the v position of the vertex", HFILL
}
13025 { &hf_cigi4_symbol_polygon_definition_vertex_u
[18],
13026 { "Vertex U 19 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u19",
13027 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13028 "Specifies the u position of the vertex", HFILL
}
13030 { &hf_cigi4_symbol_polygon_definition_vertex_v
[18],
13031 { "Vertex V 19 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v19",
13032 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13033 "Specifies the v position of the vertex", HFILL
}
13035 { &hf_cigi4_symbol_polygon_definition_vertex_u
[19],
13036 { "Vertex U 20 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u20",
13037 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13038 "Specifies the u position of the vertex", HFILL
}
13040 { &hf_cigi4_symbol_polygon_definition_vertex_v
[19],
13041 { "Vertex V 20 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v20",
13042 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13043 "Specifies the v position of the vertex", HFILL
}
13045 { &hf_cigi4_symbol_polygon_definition_vertex_u
[20],
13046 { "Vertex U 21 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u21",
13047 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13048 "Specifies the u position of the vertex", HFILL
}
13050 { &hf_cigi4_symbol_polygon_definition_vertex_v
[20],
13051 { "Vertex V 21 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v21",
13052 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13053 "Specifies the v position of the vertex", HFILL
}
13055 { &hf_cigi4_symbol_polygon_definition_vertex_u
[21],
13056 { "Vertex U 22 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u22",
13057 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13058 "Specifies the u position of the vertex", HFILL
}
13060 { &hf_cigi4_symbol_polygon_definition_vertex_v
[21],
13061 { "Vertex V 22 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v22",
13062 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13063 "Specifies the v position of the vertex", HFILL
}
13065 { &hf_cigi4_symbol_polygon_definition_vertex_u
[22],
13066 { "Vertex U 23 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u23",
13067 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13068 "Specifies the u position of the vertex", HFILL
}
13070 { &hf_cigi4_symbol_polygon_definition_vertex_v
[22],
13071 { "Vertex V 23 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v23",
13072 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13073 "Specifies the v position of the vertex", HFILL
}
13075 { &hf_cigi4_symbol_polygon_definition_vertex_u
[23],
13076 { "Vertex U 24 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u24",
13077 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13078 "Specifies the u position of the vertex", HFILL
}
13080 { &hf_cigi4_symbol_polygon_definition_vertex_v
[23],
13081 { "Vertex V 24 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v24",
13082 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13083 "Specifies the v position of the vertex", HFILL
}
13085 { &hf_cigi4_symbol_polygon_definition_vertex_u
[24],
13086 { "Vertex U 25 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u25",
13087 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13088 "Specifies the u position of the vertex", HFILL
}
13090 { &hf_cigi4_symbol_polygon_definition_vertex_v
[24],
13091 { "Vertex V 25 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v25",
13092 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13093 "Specifies the v position of the vertex", HFILL
}
13095 { &hf_cigi4_symbol_polygon_definition_vertex_u
[25],
13096 { "Vertex U 26 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u26",
13097 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13098 "Specifies the u position of the vertex", HFILL
}
13100 { &hf_cigi4_symbol_polygon_definition_vertex_v
[25],
13101 { "Vertex V 26 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v26",
13102 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13103 "Specifies the v position of the vertex", HFILL
}
13105 { &hf_cigi4_symbol_polygon_definition_vertex_u
[26],
13106 { "Vertex U 27 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u27",
13107 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13108 "Specifies the u position of the vertex", HFILL
}
13110 { &hf_cigi4_symbol_polygon_definition_vertex_v
[26],
13111 { "Vertex V 27 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v27",
13112 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13113 "Specifies the v position of the vertex", HFILL
}
13115 { &hf_cigi4_symbol_polygon_definition_vertex_u
[27],
13116 { "Vertex U 28 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u28",
13117 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13118 "Specifies the u position of the vertex", HFILL
}
13120 { &hf_cigi4_symbol_polygon_definition_vertex_v
[27],
13121 { "Vertex V 28 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v28",
13122 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13123 "Specifies the v position of the vertex", HFILL
}
13125 { &hf_cigi4_symbol_polygon_definition_vertex_u
[28],
13126 { "Vertex U 29 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_u29",
13127 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13128 "Specifies the u position of the vertex", HFILL
}
13130 { &hf_cigi4_symbol_polygon_definition_vertex_v
[28],
13131 { "Vertex V 29 (scaled symbol surface units)", "cigi.symbol_polygon_def.vertex_v29",
13132 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13133 "Specifies the v position of the vertex", HFILL
}
13136 /* CIGI3_3 Symbol Clone */
13137 { &hf_cigi3_3_symbol_clone
,
13138 { "Symbol Clone", "cigi.symbol_clone",
13139 FT_NONE
, BASE_NONE
, NULL
, 0x0,
13140 "Symbol Clone Packet", HFILL
}
13142 { &hf_cigi3_3_symbol_clone_symbol_id
,
13143 { "Symbol ID", "cigi.symbol_clone.symbol_id",
13144 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
13145 "Specifies the identifier of the symbol that is being defined", HFILL
}
13147 { &hf_cigi3_3_symbol_clone_source_type
,
13148 { "Source Type", "cigi.symbol_clone.source_type",
13149 FT_BOOLEAN
, 8, TFS(&cigi3_3_symbol_clone_source_type_tfs
), 0x04,
13150 "Identifies the source as an existing symbol or symbol template", HFILL
}
13152 { &hf_cigi3_3_symbol_clone_source_id
,
13153 { "Source ID", "cigi.symbol_clone.source_id",
13154 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
13155 "Identifies the symbol to copy or template to instantiate", HFILL
}
13159 /* CIGI4 Symbol Clone */
13161 /* CIGI3_3 Symbol Control */
13162 { &hf_cigi3_3_symbol_control
,
13163 { "Symbol Control", "cigi.symbol_control",
13164 FT_NONE
, BASE_NONE
, NULL
, 0x0,
13165 "Symbol Control Packet", HFILL
}
13167 { &hf_cigi3_3_symbol_control_symbol_id
,
13168 { "Symbol ID", "cigi.symbol_control.symbol_id",
13169 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
13170 "Specifies the symbol to which this packet is applied", HFILL
}
13172 { &hf_cigi3_3_symbol_control_symbol_state
,
13173 { "Symbol State", "cigi.symbol_control.symbol_state",
13174 FT_UINT8
, BASE_DEC
, VALS(cigi3_3_symbol_control_symbol_state_vals
), 0x03,
13175 "Specifies whether the symbol should be hidden, visible, or destroyed", HFILL
}
13177 { &hf_cigi3_3_symbol_control_attach_state
,
13178 { "Attach State", "cigi.symbol_control.attach_state",
13179 FT_BOOLEAN
, 8, TFS(&attach_detach_tfs
), 0x04,
13180 "Specifies whether this symbol should be attached to another", HFILL
}
13182 { &hf_cigi3_3_symbol_control_flash_control
,
13183 { "Flash Control", "cigi.symbol_control.flash_control",
13184 FT_BOOLEAN
, 8, TFS(&cigi3_3_symbol_control_flash_control_tfs
), 0x08,
13185 "Specifies whether the flash cycle is continued or restarted", HFILL
}
13187 { &hf_cigi3_3_symbol_control_inherit_color
,
13188 { "Inherit Color", "cigi.symbol_control.inherit_color",
13189 FT_BOOLEAN
, 8, TFS(&inherited_not_inherited_tfs
), 0x10,
13190 "Specifies whether the symbol inherits color from a parent symbol", HFILL
}
13192 { &hf_cigi3_3_symbol_control_parent_symbol_ident
,
13193 { "Parent Symbol ID", "cigi.symbol_control.parent_symbol_id",
13194 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
13195 "Specifies the parent for the symbol", HFILL
}
13197 { &hf_cigi3_3_symbol_control_surface_ident
,
13198 { "Surface ID", "cigi.symbol_control.surface_id",
13199 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
13200 "Specifies the symbol surface for the symbol", HFILL
}
13202 { &hf_cigi3_3_symbol_control_layer
,
13203 { "Layer", "cigi.symbol_control.layer",
13204 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13205 "Specifies the layer for the symbol", HFILL
}
13207 { &hf_cigi3_3_symbol_control_flash_duty_cycle
,
13208 { "Flash Duty Cycle (%)", "cigi.symbol_control.flash_duty_cycle",
13209 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13210 "Specifies the duty cycle for a flashing symbol", HFILL
}
13212 { &hf_cigi3_3_symbol_control_flash_period
,
13213 { "Flash Period (seconds)", "cigi.symbol_control.flash_period",
13214 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13215 "Specifies the duration of a single flash cycle", HFILL
}
13217 { &hf_cigi3_3_symbol_control_position_u
,
13218 { "Position U (scaled symbol surface units)", "cigi.symbol_control.position_u",
13219 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13220 "Specifies the u position", HFILL
}
13222 { &hf_cigi3_3_symbol_control_position_v
,
13223 { "Position V (scaled symbol surface units)", "cigi.symbol_control.position_v",
13224 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13225 "Specifies the v position", HFILL
}
13227 { &hf_cigi3_3_symbol_control_rotation
,
13228 { "Rotation (degrees)", "cigi.symbol_control.rotation",
13229 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13230 "Specifies the rotation", HFILL
}
13232 { &hf_cigi3_3_symbol_control_red
,
13233 { "Red", "cigi.symbol_control.red",
13234 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13235 "Specifies the red color component", HFILL
}
13237 { &hf_cigi3_3_symbol_control_green
,
13238 { "Green", "cigi.symbol_control.green",
13239 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13240 "Specifies the green color component", HFILL
}
13242 { &hf_cigi3_3_symbol_control_blue
,
13243 { "Blue", "cigi.symbol_control.blue",
13244 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13245 "Specifies the blue color component", HFILL
}
13247 { &hf_cigi3_3_symbol_control_alpha
,
13248 { "Alpha", "cigi.symbol_control.alpha",
13249 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13250 "Specifies the alpha color component", HFILL
}
13252 { &hf_cigi3_3_symbol_control_scale_u
,
13253 { "Scale U", "cigi.symbol_control.scale_u",
13254 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13255 "Specifies the u scaling factor", HFILL
}
13257 { &hf_cigi3_3_symbol_control_scale_v
,
13258 { "Scale V", "cigi.symbol_control.scale_v",
13259 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13260 "Specifies the v scaling factor", HFILL
}
13263 /* CIGI4 Symbol Control */
13265 /* CIGI3_3 Short Symbol Control */
13266 { &hf_cigi3_3_short_symbol_control
,
13267 { "Short Symbol Control", "cigi.short_symbol_control",
13268 FT_NONE
, BASE_NONE
, NULL
, 0x0,
13269 "Short Symbol Control Packet", HFILL
}
13271 { &hf_cigi3_3_short_symbol_control_symbol_id
,
13272 { "Symbol ID", "cigi.short_symbol_control.symbol_id",
13273 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
13274 "Specifies the symbol to which this packet is applied", HFILL
}
13276 { &hf_cigi3_3_short_symbol_control_symbol_state
,
13277 { "Symbol State", "cigi.short_symbol_control.symbol_state",
13278 FT_UINT8
, BASE_DEC
, VALS(cigi3_3_symbol_control_symbol_state_vals
), 0x03,
13279 "Specifies whether the symbol should be hidden, visible, or destroyed", HFILL
}
13281 { &hf_cigi3_3_short_symbol_control_attach_state
,
13282 { "Attach State", "cigi.short_symbol_control.attach_state",
13283 FT_BOOLEAN
, 8, TFS(&attach_detach_tfs
), 0x04,
13284 "Specifies whether this symbol should be attached to another", HFILL
}
13286 { &hf_cigi3_3_short_symbol_control_flash_control
,
13287 { "Flash Control", "cigi.short_symbol_control.flash_control",
13288 FT_BOOLEAN
, 8, TFS(&cigi3_3_symbol_control_flash_control_tfs
), 0x08,
13289 "Specifies whether the flash cycle is continued or restarted", HFILL
}
13291 { &hf_cigi3_3_short_symbol_control_inherit_color
,
13292 { "Inherit Color", "cigi.short_symbol_control.inherit_color",
13293 FT_BOOLEAN
, 8, TFS(&inherited_not_inherited_tfs
), 0x10,
13294 "Specifies whether the symbol inherits color from a parent symbol", HFILL
}
13296 { &hf_cigi3_3_short_symbol_control_attribute_select1
,
13297 { "Attribute Select 1", "cigi.short_symbol_control.attribute_select1",
13298 FT_UINT8
, BASE_DEC
, VALS(cigi3_3_short_symbol_control_attribute_select_vals
), 0x0,
13299 "Identifies the attribute whose value is specified in Attribute Value 1", HFILL
}
13301 { &hf_cigi3_3_short_symbol_control_attribute_select2
,
13302 { "Attribute Select 2", "cigi.short_symbol_control.attribute_select2",
13303 FT_UINT8
, BASE_DEC
, VALS(cigi3_3_short_symbol_control_attribute_select_vals
), 0x0,
13304 "Identifies the attribute whose value is specified in Attribute Value 2", HFILL
}
13306 { &hf_cigi3_3_short_symbol_control_attribute_value1
,
13307 { "Value 1", "cigi.short_symbol_control.value1_uint",
13308 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
13309 "Specifies the value for attribute 1", HFILL
}
13311 { &hf_cigi3_3_short_symbol_control_attribute_value2
,
13312 { "Value 2", "cigi.short_symbol_control.value2_uint",
13313 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
13314 "Specifies the value for attribute 2", HFILL
}
13316 { &hf_cigi3_3_short_symbol_control_attribute_value1f
,
13317 { "Value 1", "cigi.short_symbol_control.value1_float",
13318 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13319 "Specifies the value for attribute 1", HFILL
}
13321 { &hf_cigi3_3_short_symbol_control_attribute_value2f
,
13322 { "Value 2", "cigi.short_symbol_control.value2_float",
13323 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13324 "Specifies the value for attribute 2", HFILL
}
13326 { &hf_cigi3_3_short_symbol_control_red1
,
13327 { "Red 1", "cigi.short_symbol_control.red1",
13328 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13329 "Specifies the red color component", HFILL
}
13331 { &hf_cigi3_3_short_symbol_control_green1
,
13332 { "Green 1", "cigi.short_symbol_control.green1",
13333 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13334 "Specifies the green color component", HFILL
}
13336 { &hf_cigi3_3_short_symbol_control_blue1
,
13337 { "Blue 1", "cigi.short_symbol_control.blue1",
13338 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13339 "Specifies the blue color component", HFILL
}
13341 { &hf_cigi3_3_short_symbol_control_alpha1
,
13342 { "Alpha 1", "cigi.short_symbol_control.alpha1",
13343 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13344 "Specifies the alpha color component", HFILL
}
13346 { &hf_cigi3_3_short_symbol_control_red2
,
13347 { "Red 2", "cigi.short_symbol_control.red2",
13348 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13349 "Specifies the red color component", HFILL
}
13351 { &hf_cigi3_3_short_symbol_control_green2
,
13352 { "Green 2", "cigi.short_symbol_control.green2",
13353 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13354 "Specifies the green color component", HFILL
}
13356 { &hf_cigi3_3_short_symbol_control_blue2
,
13357 { "Blue 2", "cigi.short_symbol_control.blue2",
13358 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13359 "Specifies the blue color component", HFILL
}
13361 { &hf_cigi3_3_short_symbol_control_alpha2
,
13362 { "Alpha 2", "cigi.short_symbol_control.alpha2",
13363 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
13364 "Specifies the alpha color component", HFILL
}
13367 /* CIGI4 Short Symbol Control */
13369 /* CIGI4 Symbol Circle Textured Definition */
13370 { &hf_cigi4_symbol_circle_textured_definition
,
13371 { "Symbol Circle Textured Definition", "cigi.symbol_circle_textured_def",
13372 FT_NONE
, BASE_NONE
, NULL
, 0x0,
13373 "Symbol Circle Definition Packet", HFILL
}
13375 { &hf_cigi4_symbol_circle_textured_definition_symbol_id
,
13376 { "Symbol ID", "cigi.symbol_circle_textured_def.symbol_id",
13377 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
13378 "Specifies the identifier of the symbol that is being defined", HFILL
}
13380 { &hf_cigi4_symbol_circle_textured_definition_texture_id
,
13381 { "Texture ID", "cigi.symbol_circle_textured_def.texture_id",
13382 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
13383 "Specifies the identifier of the texture that is being applied", HFILL
}
13385 { &hf_cigi4_symbol_circle_textured_definition_filter_mode
,
13386 { "Filter Mode", "cigi.symbol_circle_textured_def.filter_mode",
13387 FT_BOOLEAN
, 8, NULL
, 0x01,
13388 "Specifies the type of texture filtering/interpolation applied to the symbol", HFILL
}
13390 { &hf_cigi4_symbol_circle_textured_definition_wrap
,
13391 { "Line Width (scaled symbol surface units)", "cigi.symbol_circle_textured_def.wrap",
13392 FT_BOOLEAN
, 8, NULL
, 0x02,
13393 "Specifies whether texture coordinates are to be wrapped or clamped when applied to the symbol", HFILL
}
13395 { &hf_cigi4_symbol_circle_textured_definition_circles
,
13396 { "Circles", "cigi.symbol_circle_textured_def.circles",
13397 FT_NONE
, BASE_NONE
, NULL
, 0x0,
13400 { &hf_cigi4_symbol_circle_textured_definition_center_u
[0],
13401 { "Center U 1 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_u1",
13402 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13403 "Specifies the u position of the center", HFILL
}
13405 { &hf_cigi4_symbol_circle_textured_definition_center_v
[0],
13406 { "Center V 1 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_v1",
13407 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13408 "Specifies the v position of the center", HFILL
}
13410 { &hf_cigi4_symbol_circle_textured_definition_radius
[0],
13411 { "Radius 1 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.radius1",
13412 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13413 "Specifies the radius", HFILL
}
13415 { &hf_cigi4_symbol_circle_textured_definition_inner_radius
[0],
13416 { "Inner Radius 1 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.inner_radius1",
13417 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13418 "Specifies the inner radius", HFILL
}
13420 { &hf_cigi4_symbol_circle_textured_definition_start_angle
[0],
13421 { "Start Angle 1 (degrees)", "cigi.symbol_circle_textured_def.start_angle1",
13422 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13423 "Specifies the start angle", HFILL
}
13425 { &hf_cigi4_symbol_circle_textured_definition_end_angle
[0],
13426 { "End Angle 1 (degrees)", "cigi.symbol_circle_textured_def.end_angle1",
13427 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13428 "Specifies the end angle", HFILL
}
13430 { &hf_cigi4_symbol_circle_textured_definition_texture_center_u
[0],
13431 { "Texture Coordinate S at Center Point", "cigi.symbol_circle_textured_def.texture_center_u1",
13432 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13433 "Specifies the normalized S texture coordinate to position the texture relative to the circle’s center", HFILL
}
13435 { &hf_cigi4_symbol_circle_textured_definition_texture_center_v
[0],
13436 { "Texture Coordinate T at Center Point", "cigi.symbol_circle_textured_def.texture_center_v1",
13437 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13438 "Specifies the normalized T texture coordinate to position the texture relative to the circle’s center", HFILL
}
13440 { &hf_cigi4_symbol_circle_textured_definition_texture_radius
[0],
13441 { "Texture Mapping Radius", "cigi.symbol_circle_textured_def.texture_mapping_radius1",
13442 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13443 "Specifies the extents of the texture that is stretched to cover the circle", HFILL
}
13445 { &hf_cigi4_symbol_circle_textured_definition_texture_rotation
[0],
13446 { "Texture Mapping Rotation", "cigi.symbol_circle_textured_def.texture_mapping_rotation1",
13447 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13448 "Specifies the rotation of the texture relative to the circle’s center", HFILL
}
13450 { &hf_cigi4_symbol_circle_textured_definition_center_u
[1],
13451 { "Center U 2 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_u2",
13452 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13453 "Specifies the u position of the center", HFILL
}
13455 { &hf_cigi4_symbol_circle_textured_definition_center_v
[1],
13456 { "Center V 2 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_v2",
13457 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13458 "Specifies the v position of the center", HFILL
}
13460 { &hf_cigi4_symbol_circle_textured_definition_radius
[1],
13461 { "Radius 2 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.radius2",
13462 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13463 "Specifies the radius", HFILL
}
13465 { &hf_cigi4_symbol_circle_textured_definition_inner_radius
[1],
13466 { "Inner Radius 2 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.inner_radius2",
13467 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13468 "Specifies the inner radius", HFILL
}
13470 { &hf_cigi4_symbol_circle_textured_definition_start_angle
[1],
13471 { "Start Angle 2 (degrees)", "cigi.symbol_circle_textured_def.start_angle2",
13472 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13473 "Specifies the start angle", HFILL
}
13475 { &hf_cigi4_symbol_circle_textured_definition_end_angle
[1],
13476 { "End Angle 2 (degrees)", "cigi.symbol_circle_textured_def.end_angle2",
13477 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13478 "Specifies the end angle", HFILL
}
13480 { &hf_cigi4_symbol_circle_textured_definition_texture_center_u
[1],
13481 { "Texture Coordinate S at Center Point", "cigi.symbol_circle_textured_def.texture_center_u2",
13482 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13483 "Specifies the normalized S texture coordinate to position the texture relative to the circle’s center", HFILL
}
13485 { &hf_cigi4_symbol_circle_textured_definition_texture_center_v
[1],
13486 { "Texture Coordinate T at Center Point", "cigi.symbol_circle_textured_def.texture_center_v2",
13487 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13488 "Specifies the normalized T texture coordinate to position the texture relative to the circle’s center", HFILL
}
13490 { &hf_cigi4_symbol_circle_textured_definition_texture_radius
[1],
13491 { "Texture Mapping Radius", "cigi.symbol_circle_textured_def.texture_mapping_radius2",
13492 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13493 "Specifies the extents of the texture that is stretched to cover the circle", HFILL
}
13495 { &hf_cigi4_symbol_circle_textured_definition_texture_rotation
[1],
13496 { "Texture Mapping Rotation", "cigi.symbol_circle_textured_def.texture_mapping_rotation2",
13497 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13498 "Specifies the rotation of the texture relative to the circle’s center", HFILL
}
13500 { &hf_cigi4_symbol_circle_textured_definition_center_u
[2],
13501 { "Center U 3 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_u3",
13502 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13503 "Specifies the u position of the center", HFILL
}
13505 { &hf_cigi4_symbol_circle_textured_definition_center_v
[2],
13506 { "Center V 3 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_v3",
13507 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13508 "Specifies the v position of the center", HFILL
}
13510 { &hf_cigi4_symbol_circle_textured_definition_radius
[2],
13511 { "Radius 3 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.radius3",
13512 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13513 "Specifies the radius", HFILL
}
13515 { &hf_cigi4_symbol_circle_textured_definition_inner_radius
[2],
13516 { "Inner Radius 3 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.inner_radius3",
13517 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13518 "Specifies the inner radius", HFILL
}
13520 { &hf_cigi4_symbol_circle_textured_definition_start_angle
[2],
13521 { "Start Angle 3 (degrees)", "cigi.symbol_circle_textured_def.start_angle3",
13522 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13523 "Specifies the start angle", HFILL
}
13525 { &hf_cigi4_symbol_circle_textured_definition_end_angle
[2],
13526 { "End Angle 3 (degrees)", "cigi.symbol_circle_textured_def.end_angle3",
13527 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13528 "Specifies the end angle", HFILL
}
13530 { &hf_cigi4_symbol_circle_textured_definition_texture_center_u
[2],
13531 { "Texture Coordinate S at Center Point", "cigi.symbol_circle_textured_def.texture_center_u3",
13532 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13533 "Specifies the normalized S texture coordinate to position the texture relative to the circle’s center", HFILL
}
13535 { &hf_cigi4_symbol_circle_textured_definition_texture_center_v
[2],
13536 { "Texture Coordinate T at Center Point", "cigi.symbol_circle_textured_def.texture_center_v3",
13537 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13538 "Specifies the normalized T texture coordinate to position the texture relative to the circle’s center", HFILL
}
13540 { &hf_cigi4_symbol_circle_textured_definition_texture_radius
[2],
13541 { "Texture Mapping Radius", "cigi.symbol_circle_textured_def.texture_mapping_radius3",
13542 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13543 "Specifies the extents of the texture that is stretched to cover the circle", HFILL
}
13545 { &hf_cigi4_symbol_circle_textured_definition_texture_rotation
[2],
13546 { "Texture Mapping Rotation", "cigi.symbol_circle_textured_def.texture_mapping_rotation3",
13547 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13548 "Specifies the rotation of the texture relative to the circle’s center", HFILL
}
13550 { &hf_cigi4_symbol_circle_textured_definition_center_u
[3],
13551 { "Center U 4 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_u4",
13552 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13553 "Specifies the u position of the center", HFILL
}
13555 { &hf_cigi4_symbol_circle_textured_definition_center_v
[3],
13556 { "Center V 4 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_v4",
13557 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13558 "Specifies the v position of the center", HFILL
}
13560 { &hf_cigi4_symbol_circle_textured_definition_radius
[3],
13561 { "Radius 4 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.radius4",
13562 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13563 "Specifies the radius", HFILL
}
13565 { &hf_cigi4_symbol_circle_textured_definition_inner_radius
[3],
13566 { "Inner Radius 4 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.inner_radius4",
13567 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13568 "Specifies the inner radius", HFILL
}
13570 { &hf_cigi4_symbol_circle_textured_definition_start_angle
[3],
13571 { "Start Angle 4 (degrees)", "cigi.symbol_circle_textured_def.start_angle4",
13572 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13573 "Specifies the start angle", HFILL
}
13575 { &hf_cigi4_symbol_circle_textured_definition_end_angle
[3],
13576 { "End Angle 4 (degrees)", "cigi.symbol_circle_textured_def.end_angle4",
13577 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13578 "Specifies the end angle", HFILL
}
13580 { &hf_cigi4_symbol_circle_textured_definition_texture_center_u
[3],
13581 { "Texture Coordinate S at Center Point", "cigi.symbol_circle_textured_def.texture_center_u4",
13582 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13583 "Specifies the normalized S texture coordinate to position the texture relative to the circle’s center", HFILL
}
13585 { &hf_cigi4_symbol_circle_textured_definition_texture_center_v
[3],
13586 { "Texture Coordinate T at Center Point", "cigi.symbol_circle_textured_def.texture_center_v4",
13587 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13588 "Specifies the normalized T texture coordinate to position the texture relative to the circle’s center", HFILL
}
13590 { &hf_cigi4_symbol_circle_textured_definition_texture_radius
[3],
13591 { "Texture Mapping Radius", "cigi.symbol_circle_textured_def.texture_mapping_radius4",
13592 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13593 "Specifies the extents of the texture that is stretched to cover the circle", HFILL
}
13595 { &hf_cigi4_symbol_circle_textured_definition_texture_rotation
[3],
13596 { "Texture Mapping Rotation", "cigi.symbol_circle_textured_def.texture_mapping_rotation4",
13597 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13598 "Specifies the rotation of the texture relative to the circle’s center", HFILL
}
13600 { &hf_cigi4_symbol_circle_textured_definition_center_u
[4],
13601 { "Center U 5 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_u5",
13602 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13603 "Specifies the u position of the center", HFILL
}
13605 { &hf_cigi4_symbol_circle_textured_definition_center_v
[4],
13606 { "Center V 5 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_v5",
13607 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13608 "Specifies the v position of the center", HFILL
}
13610 { &hf_cigi4_symbol_circle_textured_definition_radius
[4],
13611 { "Radius 5 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.radius5",
13612 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13613 "Specifies the radius", HFILL
}
13615 { &hf_cigi4_symbol_circle_textured_definition_inner_radius
[4],
13616 { "Inner Radius 5 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.inner_radius5",
13617 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13618 "Specifies the inner radius", HFILL
}
13620 { &hf_cigi4_symbol_circle_textured_definition_start_angle
[4],
13621 { "Start Angle 5 (degrees)", "cigi.symbol_circle_textured_def.start_angle5",
13622 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13623 "Specifies the start angle", HFILL
}
13625 { &hf_cigi4_symbol_circle_textured_definition_end_angle
[4],
13626 { "End Angle 5 (degrees)", "cigi.symbol_circle_textured_def.end_angle5",
13627 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13628 "Specifies the end angle", HFILL
}
13630 { &hf_cigi4_symbol_circle_textured_definition_texture_center_u
[4],
13631 { "Texture Coordinate S at Center Point", "cigi.symbol_circle_textured_def.texture_center_u5",
13632 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13633 "Specifies the normalized S texture coordinate to position the texture relative to the circle’s center", HFILL
}
13635 { &hf_cigi4_symbol_circle_textured_definition_texture_center_v
[4],
13636 { "Texture Coordinate T at Center Point", "cigi.symbol_circle_textured_def.texture_center_v5",
13637 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13638 "Specifies the normalized T texture coordinate to position the texture relative to the circle’s center", HFILL
}
13640 { &hf_cigi4_symbol_circle_textured_definition_texture_radius
[4],
13641 { "Texture Mapping Radius", "cigi.symbol_circle_textured_def.texture_mapping_radius5",
13642 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13643 "Specifies the extents of the texture that is stretched to cover the circle", HFILL
}
13645 { &hf_cigi4_symbol_circle_textured_definition_texture_rotation
[4],
13646 { "Texture Mapping Rotation", "cigi.symbol_circle_textured_def.texture_mapping_rotation5",
13647 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13648 "Specifies the rotation of the texture relative to the circle’s center", HFILL
}
13650 { &hf_cigi4_symbol_circle_textured_definition_center_u
[5],
13651 { "Center U 6 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_u6",
13652 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13653 "Specifies the u position of the center", HFILL
}
13655 { &hf_cigi4_symbol_circle_textured_definition_center_v
[5],
13656 { "Center V 6 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_v6",
13657 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13658 "Specifies the v position of the center", HFILL
}
13660 { &hf_cigi4_symbol_circle_textured_definition_radius
[5],
13661 { "Radius 6 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.radius6",
13662 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13663 "Specifies the radius", HFILL
}
13665 { &hf_cigi4_symbol_circle_textured_definition_inner_radius
[5],
13666 { "Inner Radius 6 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.inner_radius6",
13667 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13668 "Specifies the inner radius", HFILL
}
13670 { &hf_cigi4_symbol_circle_textured_definition_start_angle
[5],
13671 { "Start Angle 6 (degrees)", "cigi.symbol_circle_textured_def.start_angle6",
13672 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13673 "Specifies the start angle", HFILL
}
13675 { &hf_cigi4_symbol_circle_textured_definition_end_angle
[5],
13676 { "End Angle 6 (degrees)", "cigi.symbol_circle_textured_def.end_angle6",
13677 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13678 "Specifies the end angle", HFILL
}
13680 { &hf_cigi4_symbol_circle_textured_definition_texture_center_u
[5],
13681 { "Texture Coordinate S at Center Point", "cigi.symbol_circle_textured_def.texture_center_u6",
13682 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13683 "Specifies the normalized S texture coordinate to position the texture relative to the circle’s center", HFILL
}
13685 { &hf_cigi4_symbol_circle_textured_definition_texture_center_v
[5],
13686 { "Texture Coordinate T at Center Point", "cigi.symbol_circle_textured_def.texture_center_v6",
13687 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13688 "Specifies the normalized T texture coordinate to position the texture relative to the circle’s center", HFILL
}
13690 { &hf_cigi4_symbol_circle_textured_definition_texture_radius
[5],
13691 { "Texture Mapping Radius", "cigi.symbol_circle_textured_def.texture_mapping_radius6",
13692 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13693 "Specifies the extents of the texture that is stretched to cover the circle", HFILL
}
13695 { &hf_cigi4_symbol_circle_textured_definition_texture_rotation
[5],
13696 { "Texture Mapping Rotation", "cigi.symbol_circle_textured_def.texture_mapping_rotation6",
13697 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13698 "Specifies the rotation of the texture relative to the circle’s center", HFILL
}
13700 { &hf_cigi4_symbol_circle_textured_definition_center_u
[6],
13701 { "Center U 7 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_u7",
13702 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13703 "Specifies the u position of the center", HFILL
}
13705 { &hf_cigi4_symbol_circle_textured_definition_center_v
[6],
13706 { "Center V 7 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_v7",
13707 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13708 "Specifies the v position of the center", HFILL
}
13710 { &hf_cigi4_symbol_circle_textured_definition_radius
[6],
13711 { "Radius 7 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.radius7",
13712 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13713 "Specifies the radius", HFILL
}
13715 { &hf_cigi4_symbol_circle_textured_definition_inner_radius
[6],
13716 { "Inner Radius 7 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.inner_radius7",
13717 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13718 "Specifies the inner radius", HFILL
}
13720 { &hf_cigi4_symbol_circle_textured_definition_start_angle
[6],
13721 { "Start Angle 7 (degrees)", "cigi.symbol_circle_textured_def.start_angle7",
13722 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13723 "Specifies the start angle", HFILL
}
13725 { &hf_cigi4_symbol_circle_textured_definition_end_angle
[6],
13726 { "End Angle 7 (degrees)", "cigi.symbol_circle_textured_def.end_angle7",
13727 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13728 "Specifies the end angle", HFILL
}
13730 { &hf_cigi4_symbol_circle_textured_definition_texture_center_u
[6],
13731 { "Texture Coordinate S at Center Point", "cigi.symbol_circle_textured_def.texture_center_u7",
13732 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13733 "Specifies the normalized S texture coordinate to position the texture relative to the circle’s center", HFILL
}
13735 { &hf_cigi4_symbol_circle_textured_definition_texture_center_v
[6],
13736 { "Texture Coordinate T at Center Point", "cigi.symbol_circle_textured_def.texture_center_v7",
13737 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13738 "Specifies the normalized T texture coordinate to position the texture relative to the circle’s center", HFILL
}
13740 { &hf_cigi4_symbol_circle_textured_definition_texture_radius
[6],
13741 { "Texture Mapping Radius", "cigi.symbol_circle_textured_def.texture_mapping_radius7",
13742 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13743 "Specifies the extents of the texture that is stretched to cover the circle", HFILL
}
13745 { &hf_cigi4_symbol_circle_textured_definition_texture_rotation
[6],
13746 { "Texture Mapping Rotation", "cigi.symbol_circle_textured_def.texture_mapping_rotation7",
13747 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13748 "Specifies the rotation of the texture relative to the circle’s center", HFILL
}
13750 { &hf_cigi4_symbol_circle_textured_definition_center_u
[7],
13751 { "Center U 8 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_u8",
13752 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13753 "Specifies the u position of the center", HFILL
}
13755 { &hf_cigi4_symbol_circle_textured_definition_center_v
[7],
13756 { "Center V 8 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_v8",
13757 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13758 "Specifies the v position of the center", HFILL
}
13760 { &hf_cigi4_symbol_circle_textured_definition_radius
[7],
13761 { "Radius 8 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.radius8",
13762 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13763 "Specifies the radius", HFILL
}
13765 { &hf_cigi4_symbol_circle_textured_definition_inner_radius
[7],
13766 { "Inner Radius 8 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.inner_radius8",
13767 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13768 "Specifies the inner radius", HFILL
}
13770 { &hf_cigi4_symbol_circle_textured_definition_start_angle
[7],
13771 { "Start Angle 8 (degrees)", "cigi.symbol_circle_textured_def.start_angle8",
13772 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13773 "Specifies the start angle", HFILL
}
13775 { &hf_cigi4_symbol_circle_textured_definition_end_angle
[7],
13776 { "End Angle 8 (degrees)", "cigi.symbol_circle_textured_def.end_angle8",
13777 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13778 "Specifies the end angle", HFILL
}
13780 { &hf_cigi4_symbol_circle_textured_definition_texture_center_u
[7],
13781 { "Texture Coordinate S at Center Point", "cigi.symbol_circle_textured_def.texture_center_u8",
13782 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13783 "Specifies the normalized S texture coordinate to position the texture relative to the circle’s center", HFILL
}
13785 { &hf_cigi4_symbol_circle_textured_definition_texture_center_v
[7],
13786 { "Texture Coordinate T at Center Point", "cigi.symbol_circle_textured_def.texture_center_v8",
13787 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13788 "Specifies the normalized T texture coordinate to position the texture relative to the circle’s center", HFILL
}
13790 { &hf_cigi4_symbol_circle_textured_definition_texture_radius
[7],
13791 { "Texture Mapping Radius", "cigi.symbol_circle_textured_def.texture_mapping_radius8",
13792 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13793 "Specifies the extents of the texture that is stretched to cover the circle", HFILL
}
13795 { &hf_cigi4_symbol_circle_textured_definition_texture_rotation
[7],
13796 { "Texture Mapping Rotation", "cigi.symbol_circle_textured_def.texture_mapping_rotation8",
13797 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13798 "Specifies the rotation of the texture relative to the circle’s center", HFILL
}
13800 { &hf_cigi4_symbol_circle_textured_definition_center_u
[8],
13801 { "Center U 9 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_u9",
13802 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13803 "Specifies the u position of the center", HFILL
}
13805 { &hf_cigi4_symbol_circle_textured_definition_center_v
[8],
13806 { "Center V 9 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.center_v9",
13807 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13808 "Specifies the v position of the center", HFILL
}
13810 { &hf_cigi4_symbol_circle_textured_definition_radius
[8],
13811 { "Radius 9 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.radius9",
13812 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13813 "Specifies the radius", HFILL
}
13815 { &hf_cigi4_symbol_circle_textured_definition_inner_radius
[8],
13816 { "Inner Radius 9 (scaled symbol surface units)", "cigi.symbol_circle_textured_def.inner_radius9",
13817 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13818 "Specifies the inner radius", HFILL
}
13820 { &hf_cigi4_symbol_circle_textured_definition_start_angle
[8],
13821 { "Start Angle 9 (degrees)", "cigi.symbol_circle_textured_def.start_angle9",
13822 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13823 "Specifies the start angle", HFILL
}
13825 { &hf_cigi4_symbol_circle_textured_definition_end_angle
[8],
13826 { "End Angle 9 (degrees)", "cigi.symbol_circle_textured_def.end_angle9",
13827 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13828 "Specifies the end angle", HFILL
}
13830 { &hf_cigi4_symbol_circle_textured_definition_texture_center_u
[8],
13831 { "Texture Coordinate S at Center Point", "cigi.symbol_circle_textured_def.texture_center_u9",
13832 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13833 "Specifies the normalized S texture coordinate to position the texture relative to the circle’s center", HFILL
}
13835 { &hf_cigi4_symbol_circle_textured_definition_texture_center_v
[8],
13836 { "Texture Coordinate T at Center Point", "cigi.symbol_circle_textured_def.texture_center_v9",
13837 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13838 "Specifies the normalized T texture coordinate to position the texture relative to the circle’s center", HFILL
}
13840 { &hf_cigi4_symbol_circle_textured_definition_texture_radius
[8],
13841 { "Texture Mapping Radius", "cigi.symbol_circle_textured_def.texture_mapping_radius9",
13842 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13843 "Specifies the extents of the texture that is stretched to cover the circle", HFILL
}
13845 { &hf_cigi4_symbol_circle_textured_definition_texture_rotation
[8],
13846 { "Texture Mapping Rotation", "cigi.symbol_circle_textured_def.texture_mapping_rotation9",
13847 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13848 "Specifies the rotation of the texture relative to the circle’s center", HFILL
}
13851 /* CIGI4 Symbol Polygon Textured Definition */
13852 { &hf_cigi4_symbol_polygon_textured_definition
,
13853 { "Symbol Textured Polygon Definition", "cigi.symbol_polygon_textured_def",
13854 FT_NONE
, BASE_NONE
, NULL
, 0x0,
13855 "Symbol Circle Definition Packet", HFILL
}
13857 { &hf_cigi4_symbol_polygon_textured_definition_symbol_id
,
13858 { "Symbol ID", "cigi.symbol_polygon_textured_def.symbol_id",
13859 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
13860 "Specifies the identifier of the symbol that is being defined", HFILL
}
13862 { &hf_cigi4_symbol_polygon_textured_definition_texture_id
,
13863 { "Texture ID", "cigi.symbol_polygon_textured_def.texture_id",
13864 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
13865 "Specifies the identifier of the texture that is being applied", HFILL
}
13867 { &hf_cigi4_symbol_polygon_textured_definition_filter_mode
,
13868 { "Filter Mode", "cigi.symbol_polygon_textured_def.filter_mode",
13869 FT_BOOLEAN
, 8, NULL
, 0x01,
13870 "Specifies the type of texture filtering/interpolation applied to the symbol", HFILL
}
13872 { &hf_cigi4_symbol_polygon_textured_definition_wrap
,
13873 { "Line Width (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.wrap",
13874 FT_BOOLEAN
, 8, NULL
, 0x02,
13875 "Specifies whether texture coordinates are to be wrapped or clamped when applied to the symbol", HFILL
}
13877 { &hf_cigi4_symbol_polygon_textured_definition_vertices
,
13878 { "Vertices", "cigi.symbol_polygon_textured_def.vertices",
13879 FT_NONE
, BASE_NONE
, NULL
, 0x0,
13882 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[0],
13883 { "Vertex U 1 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u1",
13884 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13885 "Specifies the u position of the vertex", HFILL
}
13887 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[0],
13888 { "Vertex V 1 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v1",
13889 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13890 "Specifies the v position of the vertex", HFILL
}
13892 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[0],
13893 { "Center U 1 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u1",
13894 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13895 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
13897 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[0],
13898 { "Center V 1 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v1",
13899 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13900 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
13902 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[1],
13903 { "Vertex U 2 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u2",
13904 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13905 "Specifies the u position of the vertex", HFILL
}
13907 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[1],
13908 { "Vertex V 2 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v2",
13909 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13910 "Specifies the v position of the vertex", HFILL
}
13912 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[1],
13913 { "Center U 2 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u2",
13914 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13915 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
13917 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[1],
13918 { "Center V 2 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v2",
13919 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13920 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
13922 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[2],
13923 { "Vertex U 3 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u3",
13924 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13925 "Specifies the u position of the vertex", HFILL
}
13927 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[2],
13928 { "Vertex V 3 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v3",
13929 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13930 "Specifies the v position of the vertex", HFILL
}
13932 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[2],
13933 { "Center U 3 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u3",
13934 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13935 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
13937 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[2],
13938 { "Center V 3 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v3",
13939 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13940 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
13942 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[3],
13943 { "Vertex U 4 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u4",
13944 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13945 "Specifies the u position of the vertex", HFILL
}
13947 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[3],
13948 { "Vertex V 4 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v4",
13949 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13950 "Specifies the v position of the vertex", HFILL
}
13952 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[3],
13953 { "Center U 4 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u4",
13954 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13955 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
13957 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[3],
13958 { "Center V 4 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v4",
13959 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13960 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
13962 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[4],
13963 { "Vertex U 5 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u5",
13964 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13965 "Specifies the u position of the vertex", HFILL
}
13967 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[4],
13968 { "Vertex V 5 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v5",
13969 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13970 "Specifies the v position of the vertex", HFILL
}
13972 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[4],
13973 { "Center U 5 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u5",
13974 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13975 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
13977 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[4],
13978 { "Center V 5 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v5",
13979 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13980 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
13982 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[5],
13983 { "Vertex U 6 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u6",
13984 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13985 "Specifies the u position of the vertex", HFILL
}
13987 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[5],
13988 { "Vertex V 6 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v6",
13989 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13990 "Specifies the v position of the vertex", HFILL
}
13992 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[5],
13993 { "Center U 6 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u6",
13994 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
13995 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
13997 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[5],
13998 { "Center V 6 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v6",
13999 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14000 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14002 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[6],
14003 { "Vertex U 7 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u7",
14004 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14005 "Specifies the u position of the vertex", HFILL
}
14007 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[6],
14008 { "Vertex V 7 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v7",
14009 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14010 "Specifies the v position of the vertex", HFILL
}
14012 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[6],
14013 { "Center U 7 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u7",
14014 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14015 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14017 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[6],
14018 { "Center V 7 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v7",
14019 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14020 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14022 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[7],
14023 { "Vertex U 8 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u8",
14024 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14025 "Specifies the u position of the vertex", HFILL
}
14027 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[7],
14028 { "Vertex V 8 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v8",
14029 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14030 "Specifies the v position of the vertex", HFILL
}
14032 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[7],
14033 { "Center U 8 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u8",
14034 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14035 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14037 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[7],
14038 { "Center V 8 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v8",
14039 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14040 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14042 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[8],
14043 { "Vertex U 9 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u9",
14044 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14045 "Specifies the u position of the vertex", HFILL
}
14047 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[8],
14048 { "Vertex V 9 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v9",
14049 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14050 "Specifies the v position of the vertex", HFILL
}
14052 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[8],
14053 { "Center U 9 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u9",
14054 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14055 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14057 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[8],
14058 { "Center V 9 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v9",
14059 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14060 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14062 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[9],
14063 { "Vertex U 10 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u10",
14064 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14065 "Specifies the u position of the vertex", HFILL
}
14067 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[9],
14068 { "Vertex V 10 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v10",
14069 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14070 "Specifies the v position of the vertex", HFILL
}
14072 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[9],
14073 { "Center U 10 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u10",
14074 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14075 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14077 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[9],
14078 { "Center V 10 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v10",
14079 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14080 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14082 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[10],
14083 { "Vertex U 11 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u11",
14084 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14085 "Specifies the u position of the vertex", HFILL
}
14087 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[10],
14088 { "Vertex V 11 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v11",
14089 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14090 "Specifies the v position of the vertex", HFILL
}
14092 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[10],
14093 { "Center U 11 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u11",
14094 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14095 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14097 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[10],
14098 { "Center V 11 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v11",
14099 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14100 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14102 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[11],
14103 { "Vertex U 12 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u12",
14104 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14105 "Specifies the u position of the vertex", HFILL
}
14107 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[11],
14108 { "Vertex V 12 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v12",
14109 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14110 "Specifies the v position of the vertex", HFILL
}
14112 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[11],
14113 { "Center U 12 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u12",
14114 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14115 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14117 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[11],
14118 { "Center V 12 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v12",
14119 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14120 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14122 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[12],
14123 { "Vertex U 13 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u13",
14124 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14125 "Specifies the u position of the vertex", HFILL
}
14127 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[12],
14128 { "Vertex V 13 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v13",
14129 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14130 "Specifies the v position of the vertex", HFILL
}
14132 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[12],
14133 { "Center U 13 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u13",
14134 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14135 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14137 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[12],
14138 { "Center V 13 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v13",
14139 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14140 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14142 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[13],
14143 { "Vertex U 14 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u14",
14144 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14145 "Specifies the u position of the vertex", HFILL
}
14147 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[13],
14148 { "Vertex V 14 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v14",
14149 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14150 "Specifies the v position of the vertex", HFILL
}
14152 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[13],
14153 { "Center U 14 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u14",
14154 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14155 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14157 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[13],
14158 { "Center V 14 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v14",
14159 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14160 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14162 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[14],
14163 { "Vertex U 15 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u15",
14164 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14165 "Specifies the u position of the vertex", HFILL
}
14167 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[14],
14168 { "Vertex V 15 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v15",
14169 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14170 "Specifies the v position of the vertex", HFILL
}
14172 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[14],
14173 { "Center U 15 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u15",
14174 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14175 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14177 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[14],
14178 { "Center V 15 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v15",
14179 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14180 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14182 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[15],
14183 { "Vertex U 16 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u16",
14184 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14185 "Specifies the u position of the vertex", HFILL
}
14187 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[15],
14188 { "Vertex V 16 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v16",
14189 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14190 "Specifies the v position of the vertex", HFILL
}
14192 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[15],
14193 { "Center U 16 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u16",
14194 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14195 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14197 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[15],
14198 { "Center V 16 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v16",
14199 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14200 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14202 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[16],
14203 { "Vertex U 17 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u17",
14204 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14205 "Specifies the u position of the vertex", HFILL
}
14207 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[16],
14208 { "Vertex V 17 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v17",
14209 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14210 "Specifies the v position of the vertex", HFILL
}
14212 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[16],
14213 { "Center U 17 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u17",
14214 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14215 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14217 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[16],
14218 { "Center V 17 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v17",
14219 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14220 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14222 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[17],
14223 { "Vertex U 18 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u18",
14224 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14225 "Specifies the u position of the vertex", HFILL
}
14227 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[17],
14228 { "Vertex V 18 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v18",
14229 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14230 "Specifies the v position of the vertex", HFILL
}
14232 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[17],
14233 { "Center U 18 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u18",
14234 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14235 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14237 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[17],
14238 { "Center V 18 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v18",
14239 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14240 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14242 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[18],
14243 { "Vertex U 19 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u19",
14244 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14245 "Specifies the u position of the vertex", HFILL
}
14247 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[18],
14248 { "Vertex V 19 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v19",
14249 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14250 "Specifies the v position of the vertex", HFILL
}
14252 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[18],
14253 { "Center U 19 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u19",
14254 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14255 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14257 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[18],
14258 { "Center V 19 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v19",
14259 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14260 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14262 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[19],
14263 { "Vertex U 20 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u20",
14264 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14265 "Specifies the u position of the vertex", HFILL
}
14267 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[19],
14268 { "Vertex V 20 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v20",
14269 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14270 "Specifies the v position of the vertex", HFILL
}
14272 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[19],
14273 { "Center U 1 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u20",
14274 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14275 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14277 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[19],
14278 { "Center V 1 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v20",
14279 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14280 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14282 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[20],
14283 { "Vertex U 21 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u21",
14284 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14285 "Specifies the u position of the vertex", HFILL
}
14287 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[20],
14288 { "Vertex V 21 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v21",
14289 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14290 "Specifies the v position of the vertex", HFILL
}
14292 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[20],
14293 { "Center U 21 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u21",
14294 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14295 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14297 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[20],
14298 { "Center V 21 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v21",
14299 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14300 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14302 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[21],
14303 { "Vertex U 22 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u22",
14304 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14305 "Specifies the u position of the vertex", HFILL
}
14307 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[21],
14308 { "Vertex V 22 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v22",
14309 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14310 "Specifies the v position of the vertex", HFILL
}
14312 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[21],
14313 { "Center U 22 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u22",
14314 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14315 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14317 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[21],
14318 { "Center V 22 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v22",
14319 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14320 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14322 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[22],
14323 { "Vertex U 23 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u23",
14324 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14325 "Specifies the u position of the vertex", HFILL
}
14327 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[22],
14328 { "Vertex V 23 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v23",
14329 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14330 "Specifies the v position of the vertex", HFILL
}
14332 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[22],
14333 { "Center U 23 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u23",
14334 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14335 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14337 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[22],
14338 { "Center V 23 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v23",
14339 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14340 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14342 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[23],
14343 { "Vertex U 24 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u24",
14344 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14345 "Specifies the u position of the vertex", HFILL
}
14347 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[23],
14348 { "Vertex V 24 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v24",
14349 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14350 "Specifies the v position of the vertex", HFILL
}
14352 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[23],
14353 { "Center U 24 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u24",
14354 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14355 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14357 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[23],
14358 { "Center V 24 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v24",
14359 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14360 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14362 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[24],
14363 { "Vertex U 25 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u25",
14364 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14365 "Specifies the u position of the vertex", HFILL
}
14367 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[24],
14368 { "Vertex V 25 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v25",
14369 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14370 "Specifies the v position of the vertex", HFILL
}
14372 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[24],
14373 { "Center U 25 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u25",
14374 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14375 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14377 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[24],
14378 { "Center V 25 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v25",
14379 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14380 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14382 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[25],
14383 { "Vertex U 26 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u26",
14384 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14385 "Specifies the u position of the vertex", HFILL
}
14387 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[25],
14388 { "Vertex V 26 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v26",
14389 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14390 "Specifies the v position of the vertex", HFILL
}
14392 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[25],
14393 { "Center U 26 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u26",
14394 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14395 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14397 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[25],
14398 { "Center V 26 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v26",
14399 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14400 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14402 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[26],
14403 { "Vertex U 27 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u27",
14404 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14405 "Specifies the u position of the vertex", HFILL
}
14407 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[26],
14408 { "Vertex V 27 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v27",
14409 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14410 "Specifies the v position of the vertex", HFILL
}
14412 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[26],
14413 { "Center U 27 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u27",
14414 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14415 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14417 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[26],
14418 { "Center V 27 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v27",
14419 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14420 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14422 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[27],
14423 { "Vertex U 28 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u28",
14424 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14425 "Specifies the u position of the vertex", HFILL
}
14427 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[27],
14428 { "Vertex V 28 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v28",
14429 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14430 "Specifies the v position of the vertex", HFILL
}
14432 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[27],
14433 { "Center U 28 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u28",
14434 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14435 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14437 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[27],
14438 { "Center V 28 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v28",
14439 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14440 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14442 { &hf_cigi4_symbol_polygon_textured_definition_vertex_u
[28],
14443 { "Vertex U 29 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_u29",
14444 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14445 "Specifies the u position of the vertex", HFILL
}
14447 { &hf_cigi4_symbol_polygon_textured_definition_vertex_v
[28],
14448 { "Vertex V 29 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.vertex_v29",
14449 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14450 "Specifies the v position of the vertex", HFILL
}
14452 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_u
[28],
14453 { "Center U 29 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_u29",
14454 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14455 "Specifies the normalized S texture coordinate to position the texture relative to the associated vertex", HFILL
}
14457 { &hf_cigi4_symbol_polygon_textured_definition_texture_center_v
[28],
14458 { "Center V 29 (scaled symbol surface units)", "cigi.symbol_polygon_textured_def.center_v29",
14459 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14460 "Specifies the normalized T texture coordinate to position the texture relative to the associated vertex", HFILL
}
14463 /* CIGI2 Start of Frame */
14464 { &hf_cigi2_start_of_frame
,
14465 { "Start of Frame", "cigi.sof",
14466 FT_NONE
, BASE_NONE
, NULL
, 0x0,
14467 "Start of Frame Packet", HFILL
}
14469 { &hf_cigi2_start_of_frame_db_number
,
14470 { "Database Number", "cigi.sof.db_number",
14471 FT_INT8
, BASE_DEC
, NULL
, 0x0,
14472 "Indicates load status of the requested database", HFILL
}
14474 { &hf_cigi2_start_of_frame_ig_status_code
,
14475 { "IG Status Code", "cigi.sof.ig_status_code",
14476 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
14477 "Indicates the operational status of the IG", HFILL
}
14479 { &hf_cigi2_start_of_frame_ig_mode
,
14480 { "IG Mode", "cigi.sof.ig_mode",
14481 FT_UINT8
, BASE_DEC
, VALS(cigi2_start_of_frame_ig_mode_vals
), 0xc0,
14482 "Identifies to the host the current operating mode of the IG", HFILL
}
14484 { &hf_cigi2_start_of_frame_frame_ctr
,
14485 { "IG to Host Frame Counter", "cigi.sof.frame_ctr",
14486 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
14487 "Contains a number representing a particular frame", HFILL
}
14489 { &hf_cigi2_start_of_frame_time_tag
,
14490 { "Timing Value (microseconds)", "cigi.sof.time_tag",
14491 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14492 "Contains a timing value that is used to time-tag the ethernet message during asynchronous operation", HFILL
}
14495 /* CIGI3 Start of Frame */
14496 { &hf_cigi3_start_of_frame
,
14497 { "Start of Frame", "cigi.sof",
14498 FT_NONE
, BASE_NONE
, NULL
, 0x0,
14499 "Start of Frame Packet", HFILL
}
14501 { &hf_cigi3_start_of_frame_db_number
,
14502 { "Database Number", "cigi.sof.db_number",
14503 FT_INT8
, BASE_DEC
, NULL
, 0x0,
14504 "Indicates to the Host which database is currently in use and if that database is being loaded into primary memory", HFILL
}
14506 { &hf_cigi3_start_of_frame_ig_status
,
14507 { "IG Status Code", "cigi.sof.ig_status",
14508 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
14509 "Indicates the error status of the IG", HFILL
}
14511 { &hf_cigi3_start_of_frame_ig_mode
,
14512 { "IG Mode", "cigi.sof.ig_mode",
14513 FT_UINT8
, BASE_DEC
, VALS(cigi3_start_of_frame_ig_mode_vals
), 0x03,
14514 "Indicates the current IG mode", HFILL
}
14516 { &hf_cigi3_start_of_frame_timestamp_valid
,
14517 { "Timestamp Valid", "cigi.sof.timestamp_valid",
14518 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x04,
14519 "Indicates whether the Timestamp parameter contains a valid value", HFILL
}
14521 { &hf_cigi3_start_of_frame_earth_reference_model
,
14522 { "Earth Reference Model", "cigi.sof.earth_reference_model",
14523 FT_BOOLEAN
, 8, TFS(&cigi3_start_of_frame_earth_reference_model_tfs
), 0x08,
14524 "Indicates whether the IG is using a custom Earth Reference Model or the default WGS 84 reference ellipsoid for coordinate conversion calculations", HFILL
}
14526 { &hf_cigi3_start_of_frame_frame_ctr
,
14527 { "Frame Counter", "cigi.sof.frame_ctr",
14528 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
14529 "Contains a number that identifies the frame", HFILL
}
14531 { &hf_cigi3_start_of_frame_timestamp
,
14532 { "Timestamp (microseconds)", "cigi.sof.timestamp",
14533 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
14534 "Indicates the number of 10 microsecond \"ticks\" since some initial reference time", HFILL
}
14537 /* CIGI3_2 Start of Frame */
14538 { &hf_cigi3_2_start_of_frame
,
14539 { "Start of Frame", "cigi.sof",
14540 FT_NONE
, BASE_NONE
, NULL
, 0x0,
14541 "Start of Frame Packet", HFILL
}
14543 { &hf_cigi3_2_start_of_frame_minor_version
,
14544 { "Minor Version", "cigi.sof.minor_version",
14545 FT_UINT8
, BASE_DEC
, NULL
, 0xF0,
14546 "Indicates the minor version of the CIGI interface", HFILL
}
14548 { &hf_cigi3_2_start_of_frame_ig_frame_number
,
14549 { "IG Frame Number", "cigi.sof.ig_frame_number",
14550 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
14551 "Uniquely identifies the IG data frame", HFILL
}
14553 { &hf_cigi3_2_start_of_frame_last_host_frame_number
,
14554 { "Last Host Frame Number", "cigi.sof.last_host_frame_number",
14555 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
14556 "Contains the value of the Host Frame parameter in the last IG Control packet received from the Host.", HFILL
}
14559 /* CIGI4 Start of Frame */
14560 { &hf_cigi4_start_of_frame
,
14561 { "Start of Frame", "cigi.sof",
14562 FT_NONE
, BASE_NONE
, NULL
, 0x0,
14563 "Start of Frame Packet", HFILL
}
14565 { &hf_cigi4_start_of_frame_db_number
,
14566 { "Database Number", "cigi.sof.db_number",
14567 FT_INT8
, BASE_DEC
, NULL
, 0x0,
14568 "Indicates to the Host which database is currently in use and if that database is being loaded into primary memory", HFILL
}
14570 { &hf_cigi4_start_of_frame_ig_status
,
14571 { "IG Status Code", "cigi.sof.ig_status",
14572 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
14573 "Indicates the error status of the IG", HFILL
}
14575 { &hf_cigi4_start_of_frame_minor_version
,
14576 { "Minor Version", "cigi.sof.minor_version",
14577 FT_UINT8
, BASE_DEC
, NULL
, 0xF0,
14578 "Indicates the minor version of the CIGI interface", HFILL
}
14580 { &hf_cigi4_start_of_frame_flags
,
14581 { "Flags", "cigi.sof.flags",
14582 FT_UINT8
, BASE_HEX
, NULL
, 0x0,
14585 { &hf_cigi4_start_of_frame_ig_mode
,
14586 { "IG Mode", "cigi.sof.ig_mode",
14587 FT_UINT8
, BASE_DEC
, VALS(cigi3_start_of_frame_ig_mode_vals
), 0x03,
14588 "Indicates the current IG mode", HFILL
}
14590 { &hf_cigi4_start_of_frame_timestamp_valid
,
14591 { "Timestamp Valid", "cigi.sof.timestamp_valid",
14592 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x04,
14593 "Indicates whether the Timestamp parameter contains a valid value", HFILL
}
14595 { &hf_cigi4_start_of_frame_earth_reference_model
,
14596 { "Earth Reference Model", "cigi.sof.earth_reference_model",
14597 FT_BOOLEAN
, 8, TFS(&cigi3_start_of_frame_earth_reference_model_tfs
), 0x08,
14598 "Indicates whether the IG is using a custom Earth Reference Model or the default WGS 84 reference ellipsoid for coordinate conversion calculations", HFILL
}
14600 { &hf_cigi4_start_of_frame_ig_frame_number
,
14601 { "IG Frame Number", "cigi.sof.ig_frame_number",
14602 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
14603 "Uniquely identifies the IG data frame", HFILL
}
14605 { &hf_cigi4_start_of_frame_timestamp
,
14606 { "Timestamp (microseconds)", "cigi.sof.timestamp",
14607 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
14608 "Indicates the number of 10 microsecond \"ticks\" since some initial reference time", HFILL
}
14610 { &hf_cigi4_start_of_frame_last_host_frame_number
,
14611 { "Last Host Frame Number", "cigi.sof.last_host_frame_number",
14612 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
14613 "Contains the value of the Host Frame parameter in the last IG Control packet received from the Host.", HFILL
}
14615 { &hf_cigi4_start_of_frame_ig_condition_flags
,
14616 { "IG Condition Flags", "cigi.sof.ig_condition_flags",
14617 FT_UINT16
, BASE_HEX
, NULL
, 0x0,
14620 { &hf_cigi4_start_of_frame_condition_overframing
,
14621 { "Overframing", "cigi.sof.overframing",
14622 FT_BOOLEAN
, 8, NULL
, 0x01,
14623 "The IG shall set this parameter to one (1) when the overframing condition is detected", HFILL
}
14625 { &hf_cigi4_start_of_frame_condition_paging
,
14626 { "Paging", "cigi.sof.paging",
14627 FT_BOOLEAN
, 8, NULL
, 0x02,
14628 "The IG shall set this parameter to one (1) when the paging condition is present", HFILL
}
14630 { &hf_cigi4_start_of_frame_condition_excessive_variable_length_data
,
14631 { "Excessive Variable Length Data", "cigi.sof.excessive_variable_length_data",
14632 FT_BOOLEAN
, 8, NULL
, 0x04,
14633 "The IG shall set this parameter to one (1) when the excessive variable length data condition is detected", HFILL
}
14636 /* CIGI2 Height Above Terrain Response */
14637 { &hf_cigi2_height_above_terrain_response
,
14638 { "Height Above Terrain Response", "cigi.hat_response",
14639 FT_NONE
, BASE_NONE
, NULL
, 0x0,
14640 "Height Above Terrain Response Packet", HFILL
}
14642 { &hf_cigi2_height_above_terrain_response_hat_id
,
14643 { "HAT ID", "cigi.hat_response.hat_id",
14644 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
14645 "Identifies the HAT response", HFILL
}
14647 { &hf_cigi2_height_above_terrain_response_valid
,
14648 { "Valid", "cigi.hat_response.valid",
14649 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x80,
14650 "Indicates whether the response is valid or invalid", HFILL
}
14652 { &hf_cigi2_height_above_terrain_response_material_type
,
14653 { "Material Type", "cigi.hat_response.material_type",
14654 FT_INT32
, BASE_DEC
, NULL
, 0x0,
14655 "Specifies the material type of the object intersected by the HAT test vector", HFILL
}
14657 { &hf_cigi2_height_above_terrain_response_alt
,
14658 { "Altitude (m)", "cigi.hat_response.alt",
14659 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14660 "Represents the altitude above or below the terrain for the position requested", HFILL
}
14663 /* CIGI3 HAT/HOT Response */
14664 { &hf_cigi3_hat_hot_response
,
14665 { "HAT/HOT Response", "cigi.hat_hot_response",
14666 FT_NONE
, BASE_NONE
, NULL
, 0x0,
14667 "HAT/HOT Response Packet", HFILL
}
14669 { &hf_cigi3_hat_hot_response_hat_hot_id
,
14670 { "HAT/HOT ID", "cigi.hat_hot_response.hat_hot_id",
14671 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
14672 "Identifies the HAT or HOT response", HFILL
}
14674 { &hf_cigi3_hat_hot_response_valid
,
14675 { "Valid", "cigi.hat_hot_response.valid",
14676 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x01,
14677 "Indicates whether the Height parameter contains a valid number", HFILL
}
14679 { &hf_cigi3_hat_hot_response_type
,
14680 { "Response Type", "cigi.hat_hot_response.type",
14681 FT_BOOLEAN
, 8, TFS(&cigi3_hat_hot_response_type_tfs
), 0x02,
14682 "Indicates whether the Height parameter represent Height Above Terrain or Height Of Terrain", HFILL
}
14684 { &hf_cigi3_hat_hot_response_height
,
14685 { "Height", "cigi.hat_hot_response.height",
14686 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14687 "Contains the requested height", HFILL
}
14690 /* CIGI3_2 HAT/HOT Response */
14691 { &hf_cigi3_2_hat_hot_response_host_frame_number_lsn
,
14692 { "Host Frame Number LSN", "cigi.hat_hot_response.host_frame_number_lsn",
14693 FT_UINT8
, BASE_DEC
, NULL
, 0xf0,
14694 "Least significant nibble of the host frame number parameter of the last IG Control packet received before the HAT or HOT is calculated", HFILL
}
14697 /* CIGI4 HAT/HOT Response */
14698 { &hf_cigi4_hat_hot_response_flags
,
14699 { "Request Flags", "cigi.hat_hot_response.flags",
14700 FT_UINT8
, BASE_HEX
, NULL
, 0x0,
14704 /* CIGI3 HAT/HOT Extended Response */
14705 { &hf_cigi3_hat_hot_extended_response
,
14706 { "HAT/HOT Extended Response", "cigi.hat_hot_ext_response",
14707 FT_NONE
, BASE_NONE
, NULL
, 0x0,
14708 "HAT/HOT Extended Response Packet", HFILL
}
14710 { &hf_cigi3_hat_hot_extended_response_hat_hot_id
,
14711 { "HAT/HOT ID", "cigi.hat_hot_ext_response.hat_hot_id",
14712 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
14713 "Identifies the HAT/HOT response", HFILL
}
14715 { &hf_cigi3_hat_hot_extended_response_valid
,
14716 { "Valid", "cigi.hat_hot_ext_response.valid",
14717 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x01,
14718 "Indicates whether the remaining parameters in this packet contain valid numbers", HFILL
}
14720 { &hf_cigi3_hat_hot_extended_response_hat
,
14721 { "HAT", "cigi.hat_hot_ext_response.hat",
14722 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14723 "Indicates the height of the test point above the terrain", HFILL
}
14725 { &hf_cigi3_hat_hot_extended_response_hot
,
14726 { "HOT", "cigi.hat_hot_ext_response.hot",
14727 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14728 "Indicates the height of terrain above or below the test point", HFILL
}
14730 { &hf_cigi3_hat_hot_extended_response_material_code
,
14731 { "Material Code", "cigi.hat_hot_ext_response.material_code",
14732 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
14733 "Indicates the material code of the terrain surface at the point of intersection with the HAT/HOT test vector", HFILL
}
14735 { &hf_cigi3_hat_hot_extended_response_normal_vector_azimuth
,
14736 { "Normal Vector Azimuth (degrees)", "cigi.hat_hot_ext_response.normal_vector_azimuth",
14737 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14738 "Indicates the azimuth of the normal unit vector of the surface intersected by the HAT/HOT test vector", HFILL
}
14740 { &hf_cigi3_hat_hot_extended_response_normal_vector_elevation
,
14741 { "Normal Vector Elevation (degrees)", "cigi.hat_hot_ext_response.normal_vector_elevation",
14742 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14743 "Indicates the elevation of the normal unit vector of the surface intersected by the HAT/HOT test vector", HFILL
}
14746 /* CIGI3_2 HAT/HOT Extended Response */
14747 { &hf_cigi3_2_hat_hot_extended_response_host_frame_number_lsn
,
14748 { "Host Frame Number LSN", "cigi.hat_hot_ext_response.host_frame_number_lsn",
14749 FT_UINT8
, BASE_DEC
, NULL
, 0xf0,
14750 "Least significant nibble of the host frame number parameter of the last IG Control packet received before the HAT or HOT is calculated", HFILL
}
14753 /* CIGI4 HAT/HOT Extended Response */
14754 { &hf_cigi4_hat_hot_extended_response_flags
,
14755 { "Request Flags", "cigi.hat_hot_extended_response.flags",
14756 FT_UINT8
, BASE_HEX
, NULL
, 0x0,
14760 /* CIGI2 Line of Sight Response */
14761 { &hf_cigi2_line_of_sight_response
,
14762 { "Line of Sight Response", "cigi.los_response",
14763 FT_NONE
, BASE_NONE
, NULL
, 0x0,
14764 "Line of Sight Response Packet", HFILL
}
14766 { &hf_cigi2_line_of_sight_response_los_id
,
14767 { "LOS ID", "cigi.los_response.los_id",
14768 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
14769 "Identifies the LOS response corresponding tot he associated LOS request", HFILL
}
14771 { &hf_cigi2_line_of_sight_response_valid
,
14772 { "Valid", "cigi.los_response.valid",
14773 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x80,
14774 "Indicates whether the response is valid or invalid", HFILL
}
14776 { &hf_cigi2_line_of_sight_response_occult_response
,
14777 { "Occult Response", "cigi.los_response.occult_response",
14778 FT_BOOLEAN
, 8, TFS(&visible_occulted_tfs
), 0x40,
14779 "Used to respond to the LOS occult request data packet", HFILL
}
14781 { &hf_cigi2_line_of_sight_response_material_type
,
14782 { "Material Type", "cigi.los_response.material_type",
14783 FT_INT32
, BASE_DEC
, NULL
, 0x0,
14784 "Specifies the material type of the object intersected by the LOS test segment", HFILL
}
14786 { &hf_cigi2_line_of_sight_response_range
,
14787 { "Range (m)", "cigi.los_response.range",
14788 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14789 "Used to respond to the Line of Sight Range Request data packet", HFILL
}
14791 { &hf_cigi2_line_of_sight_response_alt
,
14792 { "Intersection Altitude (m)", "cigi.los_response.alt",
14793 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14794 "Specifies the altitude of the point of intersection of the LOS request vector with an object", HFILL
}
14796 { &hf_cigi2_line_of_sight_response_lat
,
14797 { "Intersection Latitude (degrees)", "cigi.los_response.lat",
14798 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14799 "Specifies the latitudinal position of the intersection point of the LOS request vector with an object", HFILL
}
14801 { &hf_cigi2_line_of_sight_response_lon
,
14802 { "Intersection Longitude (degrees)", "cigi.los_response.lon",
14803 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14804 "Specifies the longitudinal position of the intersection point of the LOS request vector with an object", HFILL
}
14807 /* CIGI3 Line of Sight Response */
14808 { &hf_cigi3_line_of_sight_response
,
14809 { "Line of Sight Response", "cigi.los_response",
14810 FT_NONE
, BASE_NONE
, NULL
, 0x0,
14811 "Line of Sight Response Packet", HFILL
}
14813 { &hf_cigi3_line_of_sight_response_los_id
,
14814 { "LOS ID", "cigi.los_response.los_id",
14815 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
14816 "Identifies the LOS response", HFILL
}
14818 { &hf_cigi3_line_of_sight_response_valid
,
14819 { "Valid", "cigi.los_response.valid",
14820 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x01,
14821 "Indicates whether the Range parameter is valid", HFILL
}
14823 { &hf_cigi3_line_of_sight_response_entity_id_valid
,
14824 { "Entity ID Valid", "cigi.los_response.entity_id_valid",
14825 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x02,
14826 "Indicates whether the LOS test vector or segment intersects with an entity or a non-entity", HFILL
}
14828 { &hf_cigi3_line_of_sight_response_visible
,
14829 { "Visible", "cigi.los_response.visible",
14830 FT_BOOLEAN
, 8, TFS(&visible_occluded_tfs
), 0x04,
14831 "Indicates whether the destination point is visible from the source point", HFILL
}
14833 { &hf_cigi3_line_of_sight_response_count
,
14834 { "Response Count", "cigi.los_response.count",
14835 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
14836 "Indicates the total number of Line of Sight Response packets the IG will return for the corresponding request", HFILL
}
14838 { &hf_cigi3_line_of_sight_response_entity_id
,
14839 { "Entity ID", "cigi.los_response.entity_id",
14840 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
14841 "Indicates the entity with which an LOS test vector or segment intersects", HFILL
}
14843 { &hf_cigi3_line_of_sight_response_range
,
14844 { "Range (m)", "cigi.los_response.range",
14845 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14846 "Indicates the distance along the LOS test segment or vector from the source point to the point of intersection with a polygon surface", HFILL
}
14849 /* CIGI3_2 Line of Sight Response */
14850 { &hf_cigi3_2_line_of_sight_response_host_frame_number_lsn
,
14851 { "Host Frame Number LSN", "cigi.los_response.host_frame_number_lsn",
14852 FT_UINT8
, BASE_DEC
, NULL
, 0xf0,
14853 "Least significant nibble of the host frame number parameter of the last IG Control packet received before the HAT or HOT is calculated", HFILL
}
14856 /* CIGI4 Line of Sight Response */
14858 /* CIGI3 Line of Sight Extended Response */
14859 { &hf_cigi3_line_of_sight_extended_response
,
14860 { "Line of Sight Extended Response", "cigi.los_ext_response",
14861 FT_NONE
, BASE_NONE
, NULL
, 0x0,
14862 "Line of Sight Extended Response Packet", HFILL
}
14864 { &hf_cigi3_line_of_sight_extended_response_los_id
,
14865 { "LOS ID", "cigi.los_ext_response.los_id",
14866 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
14867 "Identifies the LOS response", HFILL
}
14869 { &hf_cigi3_line_of_sight_extended_response_valid
,
14870 { "Valid", "cigi.los_ext_response.valid",
14871 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x01,
14872 "Indicates whether this packet contains valid data", HFILL
}
14874 { &hf_cigi3_line_of_sight_extended_response_entity_id_valid
,
14875 { "Entity ID Valid", "cigi.los_ext_response.entity_id_valid",
14876 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x02,
14877 "Indicates whether the LOS test vector or segment intersects with an entity", HFILL
}
14879 { &hf_cigi3_line_of_sight_extended_response_range_valid
,
14880 { "Range Valid", "cigi.los_ext_response.range_valid",
14881 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x04,
14882 "Indicates whether the Range parameter is valid", HFILL
}
14884 { &hf_cigi3_line_of_sight_extended_response_visible
,
14885 { "Visible", "cigi.los_ext_response.visible",
14886 FT_BOOLEAN
, 8, TFS(&visible_occluded_tfs
), 0x08,
14887 "Indicates whether the destination point is visible from the source point", HFILL
}
14889 { &hf_cigi3_line_of_sight_extended_response_intersection_coord
,
14890 { "Intersection Point Coordinate System", "cigi.los_ext_response.intersection_coord",
14891 FT_BOOLEAN
, 8, TFS(&entity_geodetic_tfs
), 0x10,
14892 "Indicates the coordinate system relative to which the intersection point is specified", HFILL
}
14894 { &hf_cigi3_line_of_sight_extended_response_response_count
,
14895 { "Response Count", "cigi.los_ext_response.response_count",
14896 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
14897 "Indicates the total number of Line of Sight Extended Response packets the IG will return for the corresponding request", HFILL
}
14899 { &hf_cigi3_line_of_sight_extended_response_entity_id
,
14900 { "Entity ID", "cigi.los_ext_response.entity_id",
14901 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
14902 "Indicates the entity with which a LOS test vector or segment intersects", HFILL
}
14904 { &hf_cigi3_line_of_sight_extended_response_range
,
14905 { "Range (m)", "cigi.los_ext_response.range",
14906 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14907 "Indicates the distance along the LOS test segment or vector from the source point to the point of intersection with an object", HFILL
}
14909 { &hf_cigi3_line_of_sight_extended_response_lat_xoff
,
14910 { "Latitude (degrees)/X Offset (m)", "cigi.los_ext_response.lat_xoff",
14911 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14912 "Indicates the geodetic latitude of the point of intersection along the LOS test segment or vector or specifies the offset of the point of intersection of the LOS test segment or vector along the intersected entity's X axis", HFILL
}
14914 { &hf_cigi3_line_of_sight_extended_response_lon_yoff
,
14915 { "Longitude (degrees)/Y Offset (m)", "cigi.los_ext_response.lon_yoff",
14916 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14917 "Indicates the geodetic longitude of the point of intersection along the LOS test segment or vector or specifies the offset of the point of intersection of the LOS test segment or vector along the intersected entity's Y axis", HFILL
}
14919 { &hf_cigi3_line_of_sight_extended_response_alt_zoff
,
14920 { "Altitude (m)/Z Offset(m)", "cigi.los_ext_response.alt_zoff",
14921 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
14922 "Indicates the geodetic altitude of the point of intersection along the LOS test segment or vector or specifies the offset of the point of intersection of the LOS test segment or vector along the intersected entity's Z axis", HFILL
}
14924 { &hf_cigi3_line_of_sight_extended_response_red
,
14925 { "Red", "cigi.los_ext_response.red",
14926 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
14927 "Indicates the red color component of the surface at the point of intersection", HFILL
}
14929 { &hf_cigi3_line_of_sight_extended_response_green
,
14930 { "Green", "cigi.los_ext_response.green",
14931 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
14932 "Indicates the green color component of the surface at the point of intersection", HFILL
}
14934 { &hf_cigi3_line_of_sight_extended_response_blue
,
14935 { "Blue", "cigi.los_ext_response.blue",
14936 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
14937 "Indicates the blue color component of the surface at the point of intersection", HFILL
}
14939 { &hf_cigi3_line_of_sight_extended_response_alpha
,
14940 { "Alpha", "cigi.los_ext_response.alpha",
14941 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
14942 "Indicates the alpha component of the surface at the point of intersection", HFILL
}
14944 { &hf_cigi3_line_of_sight_extended_response_material_code
,
14945 { "Material Code", "cigi.los_ext_response.material_code",
14946 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
14947 "Indicates the material code of the surface intersected by the LOS test segment of vector", HFILL
}
14949 { &hf_cigi3_line_of_sight_extended_response_normal_vector_azimuth
,
14950 { "Normal Vector Azimuth (degrees)", "cigi.los_ext_response.normal_vector_azimuth",
14951 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14952 "Indicates the azimuth of a unit vector normal to the surface intersected by the LOS test segment or vector", HFILL
}
14954 { &hf_cigi3_line_of_sight_extended_response_normal_vector_elevation
,
14955 { "Normal Vector Elevation (degrees)", "cigi.los_ext_response.normal_vector_elevation",
14956 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
14957 "Indicates the elevation of a unit vector normal to the surface intersected by the LOS test segment or vector", HFILL
}
14960 /* CIGI3_2 Line of Sight Extended Response */
14961 { &hf_cigi3_2_line_of_sight_extended_response_host_frame_number_lsn
,
14962 { "Host Frame Number LSN", "cigi.los_ext_response.host_frame_number_lsn",
14963 FT_UINT8
, BASE_DEC
, NULL
, 0xf0,
14964 "Least significant nibble of the host frame number parameter of the last IG Control packet received before the HAT or HOT is calculated", HFILL
}
14967 /* CIGI4 Line of Sight Extended Response */
14969 /* CIGI2 Collision Detection Segment Response */
14970 { &hf_cigi2_collision_detection_segment_response
,
14971 { "Collision Detection Segment Response", "cigi.coll_det_seg_response",
14972 FT_NONE
, BASE_NONE
, NULL
, 0x0,
14973 "Collision Detection Segment Response Packet", HFILL
}
14975 { &hf_cigi2_collision_detection_segment_response_entity_id
,
14976 { "Entity ID", "cigi.coll_det_seg_response.entity_id",
14977 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
14978 "Indicates which entity experienced a collision", HFILL
}
14980 { &hf_cigi2_collision_detection_segment_response_segment_id
,
14981 { "Segment ID", "cigi.coll_det_seg_response.segment_id",
14982 FT_UINT8
, BASE_DEC
, NULL
, 0xfe,
14983 "Identifies the collision segment", HFILL
}
14985 { &hf_cigi2_collision_detection_segment_response_contact
,
14986 { "Entity/Non-Entity Contact", "cigi.coll_det_seg_response.contact",
14987 FT_BOOLEAN
, 8, TFS(&cigi2_collision_detection_segment_response_contact_tfs
), 0x01,
14988 "Indicates whether another entity was contacted during this collision", HFILL
}
14990 { &hf_cigi2_collision_detection_segment_response_contacted_entity
,
14991 { "Contacted Entity ID", "cigi.coll_det_seg_response.contacted_entity",
14992 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
14993 "Indicates which entity was contacted during the collision", HFILL
}
14995 { &hf_cigi2_collision_detection_segment_response_material_type
,
14996 { "Material Type", "cigi.coll_det_seg_response.material_type",
14997 FT_INT32
, BASE_DEC
, NULL
, 0x0,
14998 "Specifies the material type of the surface that this collision test segment contacted", HFILL
}
15000 { &hf_cigi2_collision_detection_segment_response_collision_x
,
15001 { "Collision Point X (m)", "cigi.coll_det_seg_response.collision_x",
15002 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15003 "Specifies the X component of a vector, which lies along the defined segment where the segment intersected a surface", HFILL
}
15005 { &hf_cigi2_collision_detection_segment_response_collision_y
,
15006 { "Collision Point Y (m)", "cigi.coll_det_seg_response.collision_y",
15007 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15008 "Specifies the Y component of a vector, which lies along the defined segment where the segment intersected a surface", HFILL
}
15010 { &hf_cigi2_collision_detection_segment_response_collision_z
,
15011 { "Collision Point Z (m)", "cigi.coll_det_seg_response.collision_z",
15012 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15013 "Specifies the Z component of a vector, which lies along the defined segment where the segment intersected a surface", HFILL
}
15016 /* CIGI2 Sensor Response */
15017 { &hf_cigi2_sensor_response
,
15018 { "Sensor Response", "cigi.sensor_response",
15019 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15020 "Sensor Response Packet", HFILL
}
15022 { &hf_cigi2_sensor_response_view_id
,
15023 { "View ID", "cigi.sensor_response.view_id",
15024 FT_UINT8
, BASE_DEC
, NULL
, 0xf8,
15025 "Indicates the sensor view", HFILL
}
15027 { &hf_cigi2_sensor_response_status
,
15028 { "Sensor Status", "cigi.sensor_response.status",
15029 FT_UINT8
, BASE_DEC
, VALS(cigi2_sensor_response_status_vals
), 0x06,
15030 "Indicates the current sensor mode", HFILL
}
15032 { &hf_cigi2_sensor_response_sensor_id
,
15033 { "Sensor ID", "cigi.sensor_response.sensor_id",
15034 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15035 "Identifies the sensor response corresponding to the associated sensor control data packet", HFILL
}
15037 { &hf_cigi2_sensor_response_x_offset
,
15038 { "Gate X Offset (degrees)", "cigi.sensor_response.x_offset",
15039 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15040 "Specifies the target's horizontal offset from the view plane normal", HFILL
}
15042 { &hf_cigi2_sensor_response_y_offset
,
15043 { "Gate Y Offset (degrees)", "cigi.sensor_response.y_offset",
15044 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15045 "Specifies the target's vertical offset from the view plane normal", HFILL
}
15047 { &hf_cigi2_sensor_response_x_size
,
15048 { "Gate X Size", "cigi.sensor_response.x_size",
15049 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15050 "Specifies the target size in the X direction (horizontal) in pixels", HFILL
}
15052 { &hf_cigi2_sensor_response_y_size
,
15053 { "Gate Y Size", "cigi.sensor_response.y_size",
15054 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15055 "Specifies the target size in the Y direction (vertical) in pixels", HFILL
}
15058 /* CIGI3 Sensor Response */
15059 { &hf_cigi3_sensor_response
,
15060 { "Sensor Response", "cigi.sensor_response",
15061 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15062 "Sensor Response Packet", HFILL
}
15064 { &hf_cigi3_sensor_response_view_id
,
15065 { "View ID", "cigi.sensor_response.view_id",
15066 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15067 "Specifies the view that represents the sensor display", HFILL
}
15069 { &hf_cigi3_sensor_response_sensor_id
,
15070 { "Sensor ID", "cigi.sensor_response.sensor_id",
15071 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15072 "Specifies the sensor to which the data in this packet apply", HFILL
}
15074 { &hf_cigi3_sensor_response_sensor_status
,
15075 { "Sensor Status", "cigi.sensor_response.sensor_status",
15076 FT_UINT8
, BASE_DEC
, VALS(cigi3_sensor_response_sensor_status_vals
), 0x03,
15077 "Indicates the current tracking state of the sensor", HFILL
}
15079 { &hf_cigi3_sensor_response_gate_x_size
,
15080 { "Gate X Size (pixels or raster lines)", "cigi.sensor_response.gate_x_size",
15081 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15082 "Specifies the gate symbol size along the view's X axis", HFILL
}
15084 { &hf_cigi3_sensor_response_gate_y_size
,
15085 { "Gate Y Size (pixels or raster lines)", "cigi.sensor_response.gate_y_size",
15086 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15087 "Specifies the gate symbol size along the view's Y axis", HFILL
}
15089 { &hf_cigi3_sensor_response_gate_x_pos
,
15090 { "Gate X Position (degrees)", "cigi.sensor_response.gate_x_pos",
15091 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15092 "Specifies the gate symbol's position along the view's X axis", HFILL
}
15094 { &hf_cigi3_sensor_response_gate_y_pos
,
15095 { "Gate Y Position (degrees)", "cigi.sensor_response.gate_y_pos",
15096 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15097 "Specifies the gate symbol's position along the view's Y axis", HFILL
}
15099 { &hf_cigi3_sensor_response_frame_ctr
,
15100 { "Frame Counter", "cigi.sensor_response.frame_ctr",
15101 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
15102 "Indicates the IG's frame counter at the time that the IG calculates the gate and line-of-sight intersection data", HFILL
}
15106 /* CIGI4 Sensor Response */
15108 /* CIGI3 Sensor Extended Response */
15109 { &hf_cigi3_sensor_extended_response
,
15110 { "Sensor Extended Response", "cigi.sensor_ext_response",
15111 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15112 "Sensor Extended Response Packet", HFILL
}
15114 { &hf_cigi3_sensor_extended_response_view_id
,
15115 { "View ID", "cigi.sensor_ext_response.view_id",
15116 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15117 "Specifies the view that represents the sensor display", HFILL
}
15119 { &hf_cigi3_sensor_extended_response_sensor_id
,
15120 { "Sensor ID", "cigi.sensor_ext_response.sensor_id",
15121 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15122 "Specifies the sensor to which the data in this packet apply", HFILL
}
15124 { &hf_cigi3_sensor_extended_response_sensor_status
,
15125 { "Sensor Status", "cigi.sensor_ext_response.sensor_status",
15126 FT_UINT8
, BASE_DEC
, VALS(cigi3_sensor_extended_response_sensor_status_vals
), 0x03,
15127 "Indicates the current tracking state of the sensor", HFILL
}
15129 { &hf_cigi3_sensor_extended_response_entity_id_valid
,
15130 { "Entity ID Valid", "cigi.sensor_ext_response.entity_id_valid",
15131 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x04,
15132 "Indicates whether the target is an entity or a non-entity object", HFILL
}
15134 { &hf_cigi3_sensor_extended_response_entity_id
,
15135 { "Entity ID", "cigi.sensor_ext_response.entity_id",
15136 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15137 "Indicates the entity ID of the target", HFILL
}
15139 { &hf_cigi3_sensor_extended_response_gate_x_size
,
15140 { "Gate X Size (pixels or raster lines)", "cigi.sensor_ext_response.gate_x_size",
15141 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15142 "Specifies the gate symbol size along the view's X axis", HFILL
}
15144 { &hf_cigi3_sensor_extended_response_gate_y_size
,
15145 { "Gate Y Size (pixels or raster lines)", "cigi.sensor_ext_response.gate_y_size",
15146 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15147 "Specifies the gate symbol size along the view's Y axis", HFILL
}
15149 { &hf_cigi3_sensor_extended_response_gate_x_pos
,
15150 { "Gate X Position (degrees)", "cigi.sensor_ext_response.gate_x_pos",
15151 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15152 "Specifies the gate symbol's position along the view's X axis", HFILL
}
15154 { &hf_cigi3_sensor_extended_response_gate_y_pos
,
15155 { "Gate Y Position (degrees)", "cigi.sensor_ext_response.gate_y_pos",
15156 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15157 "Specifies the gate symbol's position along the view's Y axis", HFILL
}
15159 { &hf_cigi3_sensor_extended_response_frame_ctr
,
15160 { "Frame Counter", "cigi.sensor_ext_response.frame_ctr",
15161 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
15162 "Indicates the IG's frame counter at the time that the IG calculates the gate and line-of-sight intersection data", HFILL
}
15164 { &hf_cigi3_sensor_extended_response_track_lat
,
15165 { "Track Point Latitude (degrees)", "cigi.sensor_ext_response.track_lat",
15166 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
15167 "Indicates the geodetic latitude of the point being tracked by the sensor", HFILL
}
15169 { &hf_cigi3_sensor_extended_response_track_lon
,
15170 { "Track Point Longitude (degrees)", "cigi.sensor_ext_response.track_lon",
15171 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
15172 "Indicates the geodetic longitude of the point being tracked by the sensor", HFILL
}
15174 { &hf_cigi3_sensor_extended_response_track_alt
,
15175 { "Track Point Altitude (m)", "cigi.sensor_ext_response.track_alt",
15176 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
15177 "Indicates the geodetic altitude of the point being tracked by the sensor", HFILL
}
15181 /* CIGI4 Sensor Extended Response */
15183 /* CIGI2 Height of Terrain Response */
15184 { &hf_cigi2_height_of_terrain_response
,
15185 { "Height of Terrain Response", "cigi.hot_response",
15186 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15187 "Height of Terrain Response Packet", HFILL
}
15189 { &hf_cigi2_height_of_terrain_response_hot_id
,
15190 { "HOT ID", "cigi.hot_response.hot_id",
15191 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15192 "Identifies the HOT response corresponding to the associated HOT request", HFILL
}
15194 { &hf_cigi2_height_of_terrain_response_valid
,
15195 { "Valid", "cigi.hot_response.valid",
15196 FT_BOOLEAN
, 8, TFS(&tfs_valid_invalid
), 0x80,
15197 "Indicates whether the response is valid or invalid", HFILL
}
15199 { &hf_cigi2_height_of_terrain_response_material_type
,
15200 { "Material Type", "cigi.hot_response.material_type",
15201 FT_INT32
, BASE_DEC
, NULL
, 0x0,
15202 "Specifies the material type of the object intersected by the HOT test segment", HFILL
}
15204 { &hf_cigi2_height_of_terrain_response_alt
,
15205 { "Altitude (m)", "cigi.hot_response.alt",
15206 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
15207 "Represents the altitude of the terrain for the position requested in the HOT request data packet", HFILL
}
15210 /* CIGI2 Collision Detection Volume Response */
15211 { &hf_cigi2_collision_detection_volume_response
,
15212 { "Collision Detection Volume Response", "cigi.coll_det_vol_response",
15213 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15214 "Collision Detection Volume Response Packet", HFILL
}
15216 { &hf_cigi2_collision_detection_volume_response_entity_id
,
15217 { "Entity ID", "cigi.coll_det_vol_response.entity_id",
15218 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15219 "Indicates which entity experienced a collision", HFILL
}
15221 { &hf_cigi2_collision_detection_volume_response_volume_id
,
15222 { "Volume ID", "cigi.coll_det_vol_response.volume_id",
15223 FT_UINT8
, BASE_DEC
, NULL
, 0xfe,
15224 "Identifies the collision volume corresponding to the associated Collision Detection Volume Request", HFILL
}
15226 { &hf_cigi2_collision_detection_volume_response_contact
,
15227 { "Entity/Non-Entity Contact", "cigi.coll_det_vol_response.contact",
15228 FT_BOOLEAN
, 8, TFS(&cigi2_collision_detection_volume_response_contact_tfs
), 0x01,
15229 "Indicates whether another entity was contacted during this collision", HFILL
}
15231 { &hf_cigi2_collision_detection_volume_response_contact_entity
,
15232 { "Contacted Entity ID", "cigi.coll_det_vol_response.contact_entity",
15233 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15234 "Indicates which entity was contacted with during the collision", HFILL
}
15237 /* CIGI3 Position Response */
15238 { &hf_cigi3_position_response
,
15239 { "Position Response", "cigi.pos_response",
15240 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15241 "Position Response Packet", HFILL
}
15243 { &hf_cigi3_position_response_object_id
,
15244 { "Object ID", "cigi.pos_response.object_id",
15245 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15246 "Identifies the entity, view, view group, or motion tracking device whose position is being reported", HFILL
}
15248 { &hf_cigi3_position_response_part_id
,
15249 { "Articulated Part ID", "cigi.pos_response.part_id",
15250 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15251 "Identifies the articulated part whose position is being reported", HFILL
}
15253 { &hf_cigi3_position_response_object_class
,
15254 { "Object Class", "cigi.pos_response.object_class",
15255 FT_UINT8
, BASE_DEC
, VALS(cigi3_position_response_object_class_vals
), 0x07,
15256 "Indicates the type of object whose position is being reported", HFILL
}
15258 { &hf_cigi3_position_response_coord_system
,
15259 { "Coordinate System", "cigi.pos_response.coord_system",
15260 FT_UINT8
, BASE_DEC
, VALS(cigi3_position_response_coord_system_vals
), 0x18,
15261 "Indicates the coordinate system in which the position and orientation are specified", HFILL
}
15263 { &hf_cigi3_position_response_lat_xoff
,
15264 { "Latitude (degrees)/X Offset (m)", "cigi.pos_response.lat_xoff",
15265 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
15266 "Indicates the geodetic latitude of the entity, articulated part, view, or view group or indicates the X offset from the parent entity's origin to the child entity, articulated part, view or view group", HFILL
}
15268 { &hf_cigi3_position_response_lon_yoff
,
15269 { "Longitude (degrees)/Y Offset (m)", "cigi.pos_response.lon_yoff",
15270 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
15271 "Indicates the geodetic longitude of the entity, articulated part, view, or view group or indicates the Y offset from the parent entity's origin to the child entity, articulated part, view, or view group", HFILL
}
15273 { &hf_cigi3_position_response_alt_zoff
,
15274 { "Altitude (m)/Z Offset (m)", "cigi.pos_response.alt_zoff",
15275 FT_DOUBLE
, BASE_NONE
, NULL
, 0x0,
15276 "Indicates the geodetic altitude of the entity, articulated part, view, or view group or indicates the Z offset from the parent entity's origin to the child entity, articulated part, view, or view group", HFILL
}
15278 { &hf_cigi3_position_response_roll
,
15279 { "Roll (degrees)", "cigi.pos_response.roll",
15280 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15281 "Indicates the roll angle of the specified entity, articulated part, view, or view group", HFILL
}
15283 { &hf_cigi3_position_response_pitch
,
15284 { "Pitch (degrees)", "cigi.pos_response.pitch",
15285 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15286 "Indicates the pitch angle of the specified entity, articulated part, view, or view group", HFILL
}
15288 { &hf_cigi3_position_response_yaw
,
15289 { "Yaw (degrees)", "cigi.pos_response.yaw",
15290 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15291 "Indicates the yaw angle of the specified entity, articulated part, view, or view group", HFILL
}
15295 /* CIGI4 Position Response */
15297 /* CIGI3 Weather Conditions Response */
15298 { &hf_cigi3_weather_conditions_response
,
15299 { "Weather Conditions Response", "cigi.wea_cond_response",
15300 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15301 "Weather Conditions Response Packet", HFILL
}
15303 { &hf_cigi3_weather_conditions_response_request_id
,
15304 { "Request ID", "cigi.wea_cond_response.request_id",
15305 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15306 "Identifies the environmental conditions request to which this response packet corresponds", HFILL
}
15308 { &hf_cigi3_weather_conditions_response_humidity
,
15309 { "Humidity (%)", "cigi.wea_cond_response.humidity",
15310 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15311 "Indicates the humidity at the request location", HFILL
}
15313 { &hf_cigi3_weather_conditions_response_air_temp
,
15314 { "Air Temperature (degrees C)", "cigi.wea_cond_response.air_temp",
15315 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15316 "Indicates the air temperature at the requested location", HFILL
}
15318 { &hf_cigi3_weather_conditions_response_visibility_range
,
15319 { "Visibility Range (m)", "cigi.wea_cond_response.visibility_range",
15320 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15321 "Indicates the visibility range at the requested location", HFILL
}
15323 { &hf_cigi3_weather_conditions_response_horiz_speed
,
15324 { "Horizontal Wind Speed (m/s)", "cigi.wea_cond_response.horiz_speed",
15325 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15326 "Indicates the local wind speed parallel to the ellipsoid-tangential reference plane", HFILL
}
15328 { &hf_cigi3_weather_conditions_response_vert_speed
,
15329 { "Vertical Wind Speed (m/s)", "cigi.wea_cond_response.vert_speed",
15330 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15331 "Indicates the local vertical wind speed", HFILL
}
15333 { &hf_cigi3_weather_conditions_response_wind_direction
,
15334 { "Wind Direction (degrees)", "cigi.wea_cond_response.wind_direction",
15335 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15336 "Indicates the local wind direction", HFILL
}
15338 { &hf_cigi3_weather_conditions_response_barometric_pressure
,
15339 { "Barometric Pressure (mb or hPa)", "cigi.wea_cond_response.barometric_pressure",
15340 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15341 "Indicates the atmospheric pressure at the requested location", HFILL
}
15344 /* CIGI4 Weather Conditions Response */
15346 /* CIGI3 Aerosol Concentration Response */
15347 { &hf_cigi3_aerosol_concentration_response
,
15348 { "Aerosol Concentration Response", "cigi.aerosol_concentration_response",
15349 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15350 "Aerosol Concentration Response Packet", HFILL
}
15352 { &hf_cigi3_aerosol_concentration_response_request_id
,
15353 { "Request ID", "cigi.aerosol_concentration_response.request_id",
15354 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15355 "Identifies the environmental conditions request to which this response packet corresponds", HFILL
}
15357 { &hf_cigi3_aerosol_concentration_response_layer_id
,
15358 { "Layer ID", "cigi.aerosol_concentration_response.layer_id",
15359 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15360 "Identifies the weather layer whose aerosol concentration is being described", HFILL
}
15362 { &hf_cigi3_aerosol_concentration_response_aerosol_concentration
,
15363 { "Aerosol Concentration (g/m^3)", "cigi.aerosol_concentration_response.aerosol_concentration",
15364 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15365 "Identifies the concentration of airborne particles", HFILL
}
15368 /* CIGI4 Aerosol Concentration Response */
15370 /* CIGI3 Maritime Surface Conditions Response */
15371 { &hf_cigi3_maritime_surface_conditions_response
,
15372 { "Maritime Surface Conditions Response", "cigi.maritime_surface_conditions_response",
15373 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15374 "Maritime Surface Conditions Response Packet", HFILL
}
15376 { &hf_cigi3_maritime_surface_conditions_response_request_id
,
15377 { "Request ID", "cigi.maritime_surface_conditions_response.request_id",
15378 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15379 "Identifies the environmental conditions request to which this response packet corresponds", HFILL
}
15381 { &hf_cigi3_maritime_surface_conditions_response_sea_surface_height
,
15382 { "Sea Surface Height (m)", "cigi.maritime_surface_conditions_response.sea_surface_height",
15383 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15384 "Indicates the height of the sea surface at equilibrium", HFILL
}
15386 { &hf_cigi3_maritime_surface_conditions_response_surface_water_temp
,
15387 { "Surface Water Temperature (degrees C)", "cigi.maritime_surface_conditions_response.surface_water_temp",
15388 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15389 "Indicates the water temperature at the sea surface", HFILL
}
15391 { &hf_cigi3_maritime_surface_conditions_response_surface_clarity
,
15392 { "Surface Clarity (%)", "cigi.maritime_surface_conditions_response.surface_clarity",
15393 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15394 "Indicates the clarity of the water at its surface", HFILL
}
15397 /* CIGI4 Maritime Surface Conditions Response */
15399 /* CIGI3 Terrestrial Surface Conditions Response */
15400 { &hf_cigi3_terrestrial_surface_conditions_response
,
15401 { "Terrestrial Surface Conditions Response", "cigi.terr_surface_cond_response",
15402 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15403 "Terrestrial Surface Conditions Response Packet", HFILL
}
15405 { &hf_cigi3_terrestrial_surface_conditions_response_request_id
,
15406 { "Request ID", "cigi.terr_surface_cond_response.request_id",
15407 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15408 "Identifies the environmental conditions request to which this response packet corresponds", HFILL
}
15410 { &hf_cigi3_terrestrial_surface_conditions_response_surface_id
,
15411 { "Surface Condition ID", "cigi.terr_surface_cond_response.surface_id",
15412 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
15413 "Indicates the presence of a specific surface condition or contaminant at the test point", HFILL
}
15416 /* CIGI4 Terrestrial Surface Conditions Response */
15418 /* CIGI3 Collision Detection Segment Notification */
15419 { &hf_cigi3_collision_detection_segment_notification
,
15420 { "Collision Detection Segment Notification", "cigi.coll_det_seg_notification",
15421 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15422 "Collision Detection Segment Notification Packet", HFILL
}
15424 { &hf_cigi3_collision_detection_segment_notification_entity_id
,
15425 { "Entity ID", "cigi.coll_det_seg_notification.entity_id",
15426 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15427 "Indicates the entity to which the collision detection segment belongs", HFILL
}
15429 { &hf_cigi3_collision_detection_segment_notification_segment_id
,
15430 { "Segment ID", "cigi.coll_det_seg_notification.segment_id",
15431 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15432 "Indicates the ID of the collision detection segment along which the collision occurred", HFILL
}
15434 { &hf_cigi3_collision_detection_segment_notification_type
,
15435 { "Collision Type", "cigi.coll_det_seg_notification.type",
15436 FT_BOOLEAN
, 8, TFS(&cigi3_collision_detection_segment_notification_type_tfs
), 0x01,
15437 "Indicates whether the collision occurred with another entity or with a non-entity object", HFILL
}
15439 { &hf_cigi3_collision_detection_segment_notification_contacted_entity_id
,
15440 { "Contacted Entity ID", "cigi.coll_det_seg_notification.contacted_entity_id",
15441 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15442 "Indicates the entity with which the collision occurred", HFILL
}
15444 { &hf_cigi3_collision_detection_segment_notification_material_code
,
15445 { "Material Code", "cigi.coll_det_seg_notification.material_code",
15446 FT_UINT32
, BASE_DEC
, NULL
, 0x0,
15447 "Indicates the material code of the surface at the point of collision", HFILL
}
15449 { &hf_cigi3_collision_detection_segment_notification_intersection_distance
,
15450 { "Intersection Distance (m)", "cigi.coll_det_seg_notification.intersection_distance",
15451 FT_FLOAT
, BASE_NONE
, NULL
, 0x0,
15452 "Indicates the distance along the collision test vector from the source endpoint to the point of intersection", HFILL
}
15455 /* CIGI4 Collision Detection Segment Notification */
15457 /* CIGI3 Collision Detection Volume Notification */
15458 { &hf_cigi3_collision_detection_volume_notification
,
15459 { "Collision Detection Volume Notification", "cigi.coll_det_vol_notification",
15460 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15461 "Collision Detection Volume Notification Packet", HFILL
}
15463 { &hf_cigi3_collision_detection_volume_notification_entity_id
,
15464 { "Entity ID", "cigi.coll_det_vol_notification.entity_id",
15465 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15466 "Indicates the entity to which the collision detection volume belongs", HFILL
}
15468 { &hf_cigi3_collision_detection_volume_notification_volume_id
,
15469 { "Volume ID", "cigi.coll_det_vol_notification.volume_id",
15470 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15471 "Indicates the ID of the collision detection volume within which the collision occurred", HFILL
}
15473 { &hf_cigi3_collision_detection_volume_notification_type
,
15474 { "Collision Type", "cigi.coll_det_vol_notification.type",
15475 FT_BOOLEAN
, 8, TFS(&cigi3_collision_detection_volume_notification_type_tfs
), 0x01,
15476 "Indicates whether the collision occurred with another entity or with a non-entity object", HFILL
}
15478 { &hf_cigi3_collision_detection_volume_notification_contacted_entity_id
,
15479 { "Contacted Entity ID", "cigi.coll_det_vol_notification.contacted_entity_id",
15480 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15481 "Indicates the entity with which the collision occurred", HFILL
}
15483 { &hf_cigi3_collision_detection_volume_notification_contacted_volume_id
,
15484 { "Contacted Volume ID", "cigi.coll_det_vol_notification.contacted_volume_id",
15485 FT_UINT8
, BASE_DEC
, NULL
, 0x0,
15486 "Indicates the ID of the collision detection volume with which the collision occurred", HFILL
}
15489 /* CIGI4 Collision Detection Volume Notification */
15491 /* CIGI3 Animation Stop Notification */
15492 { &hf_cigi3_animation_stop_notification
,
15493 { "Animation Stop Notification", "cigi.animation_stop_notification",
15494 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15495 "Animation Stop Notification Packet", HFILL
}
15497 { &hf_cigi3_animation_stop_notification_entity_id
,
15498 { "Entity ID", "cigi.animation_stop_notification.entity_id",
15499 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15500 "Indicates the entity ID of the animation that has stopped", HFILL
}
15503 /* CIGI4 Animation Stop Notification */
15505 /* CIGI3 Event Notification */
15506 { &hf_cigi3_event_notification
,
15507 { "Event Notification", "cigi.event_notification",
15508 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15509 "Event Notification Packet", HFILL
}
15511 { &hf_cigi3_event_notification_event_id
,
15512 { "Event ID", "cigi.event_notification.event_id",
15513 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15514 "Indicates which event has occurred", HFILL
}
15516 { &hf_cigi3_event_notification_data_1
,
15517 { "Event Data 1", "cigi.event_notification.data_1",
15518 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
15519 "Used for user-defined event data", HFILL
}
15521 { &hf_cigi3_event_notification_data_2
,
15522 { "Event Data 2", "cigi.event_notification.data_2",
15523 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
15524 "Used for user-defined event data", HFILL
}
15526 { &hf_cigi3_event_notification_data_3
,
15527 { "Event Data 3", "cigi.event_notification.data_3",
15528 FT_BYTES
, BASE_NONE
, NULL
, 0x0,
15529 "Used for user-defined event data", HFILL
}
15532 /* CIGI4 Event Notification */
15534 /* CIGI2 Image Generator Message */
15535 { &hf_cigi2_image_generator_message
,
15536 { "Image Generator Message", "cigi.image_generator_message",
15537 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15538 "Image Generator Message Packet", HFILL
}
15540 { &hf_cigi2_image_generator_message_id
,
15541 { "Message ID", "cigi.image_generator_message.message_id",
15542 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15543 "Uniquely identifies an instance of an Image Generator Response Message", HFILL
}
15545 { &hf_cigi2_image_generator_message_message
,
15546 { "Message", "cigi.image_generator_message.message",
15547 FT_STRINGZPAD
, BASE_NONE
, NULL
, 0x0,
15548 "Image generator message", HFILL
}
15551 /* CIGI3 Image Generator Message */
15552 { &hf_cigi3_image_generator_message
,
15553 { "Image Generator Message", "cigi.image_generator_message",
15554 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15555 "Image Generator Message Packet", HFILL
}
15557 { &hf_cigi3_image_generator_message_id
,
15558 { "Message ID", "cigi.image_generator_message.message_id",
15559 FT_UINT16
, BASE_DEC
, NULL
, 0x0,
15560 "Specifies a numerical identifier for the message", HFILL
}
15562 { &hf_cigi3_image_generator_message_message
,
15563 { "Message", "cigi.image_generator_message.message",
15564 FT_STRINGZPAD
, BASE_NONE
, NULL
, 0x0,
15565 "Message string", HFILL
}
15568 /* CIGI4 Image Generator Message */
15570 /* CIGI2 User Definable */
15571 { &hf_cigi2_user_definable
,
15572 { "User Definable", "cigi.user_definable",
15573 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15574 "User definable packet", HFILL
}
15577 /* CIGI3 User-Defined Packets */
15578 { &hf_cigi3_user_defined
,
15579 { "User-Defined", "cigi.user_defined",
15580 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15581 "User-Defined Packet", HFILL
}
15584 /* CIGI4 locally Defined Packets */
15585 { &hf_cigi4_locally_defined
,
15586 { "locally-Defined", "cigi.locally_defined",
15587 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15588 "locally-Defined Packet", HFILL
}
15591 /* CIGI4 Registered Packets */
15592 { &hf_cigi4_registered
,
15593 { "Registered", "cigi.registered",
15594 FT_NONE
, BASE_NONE
, NULL
, 0x0,
15595 "Registered Packet", HFILL
}
15599 static ei_register_info ei
[] = {
15600 { &ei_cigi_invalid_len
,
15601 { "cigi.invalid_len", PI_MALFORMED
, PI_ERROR
,
15602 "Packet offset does not match packet length",
15606 /* CIGI preferences */
15607 static const enum_val_t cigi_versions
[] = {
15608 { "from_packet", "From Packet", CIGI_VERSION_FROM_PACKET
},
15609 { "cigi2", "CIGI 2", CIGI_VERSION_2
},
15610 { "cigi3", "CIGI 3", CIGI_VERSION_3
},
15611 { "cigi4", "CIGI 4", CIGI_VERSION_4
},
15615 static const enum_val_t cigi_byte_orders
[] = {
15616 { "from_packet", "From Packet", CIGI_BYTE_ORDER_FROM_PACKET
},
15617 { "big_endian", "Big-Endian", CIGI_BYTE_ORDER_BIG_ENDIAN
},
15618 { "little_endian", "Little-Endian", CIGI_BYTE_ORDER_LITTLE_ENDIAN
},
15622 /* Setup protocol subtree array */
15623 static int* ett
[] = {
15625 &ett_cigi4_start_of_frame_flags
,
15626 &ett_cigi4_start_of_frame_ig_condition_flags
,
15627 &ett_cigi4_ig_control_entity_substitution
,
15628 &ett_cigi4_ig_control_flags
,
15629 &ett_cigi4_entity_position_flags
,
15630 &ett_cigi4_hat_hot_request_flags
,
15631 &ett_cigi4_hat_hot_response_flags
,
15632 &ett_cigi4_hat_hot_extended_response_flags
,
15633 &ett_cigi4_articulated_part_control_part_enable_flags
,
15634 &ett_cigi4_short_articulated_part_control_part_enable_flags
,
15635 &ett_cigi4_velocity_control_flags
,
15636 &ett_cigi4_celestial_sphere_control_flags
,
15637 &ett_cigi4_view_control_enable_flags
,
15638 &ett_cigi4_symbol_circle_definition_circles
,
15639 &ett_cigi4_symbol_polygon_definition_vertices
,
15640 &ett_cigi4_symbol_circle_textured_definition_circles
,
15641 &ett_cigi4_symbol_polygon_textured_definition_vertices
15644 /* Register the protocol name and description */
15645 proto_cigi
= proto_register_protocol("Common Image Generator Interface",
15648 /* Required function calls to register the header fields and subtrees used */
15649 proto_register_field_array(proto_cigi
, hf
, array_length(hf
));
15650 proto_register_subtree_array(ett
, array_length(ett
));
15652 expert_cigi
= expert_register_protocol(proto_cigi
);
15653 expert_register_field_array(expert_cigi
, ei
, array_length(ei
));
15655 /* Register preferences module */
15656 cigi_module
= prefs_register_protocol(proto_cigi
, proto_reg_handoff_cigi
);
15658 /* Register preferences */
15659 prefs_register_enum_preference(cigi_module
, "version", "CIGI version", "The version of CIGI with which to dissect packets", &global_cigi_version
, cigi_versions
, false);
15660 prefs_register_enum_preference(cigi_module
, "byte_order", "Byte Order", "The byte order with which to dissect CIGI packets (CIGI3)", &global_cigi_byte_order
, cigi_byte_orders
, false);
15661 prefs_register_string_preference(cigi_module
, "host", "Host IP", "IPv4 address or hostname of the host", &global_host_ip
);
15662 prefs_register_string_preference(cigi_module
, "ig", "Image Generator IP", "IPv4 address or hostname of the image generator", &global_ig_ip
);
15664 /* Register the dissector */
15665 cigi_handle
= register_dissector("cigi", dissect_cigi
, proto_cigi
);
15667 cigi3_packet_id_table
= register_dissector_table("cigi3.packet_id", "CIGI3 Packet ID",
15668 proto_cigi
, FT_UINT8
, BASE_DEC
);
15670 cigi4_packet_id_table
= register_dissector_table("cigi4.packet_id", "CIGI4 Packet ID",
15671 proto_cigi
, FT_UINT16
, BASE_HEX
);
15674 /* This function is also called by preferences whenever "Apply" is pressed
15675 (see prefs_register_protocol above) so it should accommodate being called
15679 proto_reg_handoff_cigi(void)
15681 static bool inited
= false;
15683 /* If the CIGI version preference was changed update the cigi version
15684 * information for all packets */
15685 if ( global_cigi_version
!= CIGI_VERSION_FROM_PACKET
) {
15686 cigi_version
= global_cigi_version
;
15689 /* If the CIGI byte order preference was changed update the cigi byte
15690 * order information for all packets */
15691 switch ( global_cigi_byte_order
) {
15693 case CIGI_BYTE_ORDER_BIG_ENDIAN
:
15694 cigi_byte_order
= ENC_BIG_ENDIAN
;
15697 case CIGI_BYTE_ORDER_LITTLE_ENDIAN
:
15698 cigi_byte_order
= ENC_LITTLE_ENDIAN
;
15701 default: /* includes CIGI_BYTE_ORDER_FROM_PACKET */
15702 /* Leave it alone. */
15707 dissector_add_for_decode_as_with_preference("udp.port", cigi_handle
);
15708 dissector_add_for_decode_as_with_preference("tcp.port", cigi_handle
);
15709 heur_dissector_add("udp", dissect_cigi_heur
, "CIGI over UDP", "cigi_udp", proto_cigi
, HEURISTIC_ENABLE
);
15711 // CIGI 3 packet ID types (some with fields added in 3.2 or 3.3).
15712 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_IG_CONTROL
,
15713 create_dissector_handle(cigi3_add_ig_control
, proto_cigi
));
15714 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_ENTITY_CONTROL
,
15715 create_dissector_handle(cigi3_add_entity_control
, proto_cigi
));
15716 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_CONFORMAL_CLAMPED_ENTITY_CONTROL
,
15717 create_dissector_handle(cigi3_add_conformal_clamped_entity_control
, proto_cigi
));
15718 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_COMPONENT_CONTROL
,
15719 create_dissector_handle(cigi3_add_component_control
, proto_cigi
));
15720 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SHORT_COMPONENT_CONTROL
,
15721 create_dissector_handle(cigi3_add_short_component_control
, proto_cigi
));
15722 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_ARTICULATED_PART_CONTROL
,
15723 create_dissector_handle(cigi3_add_articulated_part_control
, proto_cigi
));
15724 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SHORT_ARTICULATED_PART_CONTROL
,
15725 create_dissector_handle(cigi3_add_short_articulated_part_control
, proto_cigi
));
15726 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_RATE_CONTROL
,
15727 create_dissector_handle(cigi3_add_rate_control
, proto_cigi
));
15728 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_CELESTIAL_SPHERE_CONTROL
,
15729 create_dissector_handle(cigi3_add_celestial_sphere_control
, proto_cigi
));
15730 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_ATMOSPHERE_CONTROL
,
15731 create_dissector_handle(cigi3_add_atmosphere_control
, proto_cigi
));
15732 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_ENVIRONMENTAL_REGION_CONTROL
,
15733 create_dissector_handle(cigi3_add_environmental_region_control
, proto_cigi
));
15734 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_WEATHER_CONTROL
,
15735 create_dissector_handle(cigi3_add_weather_control
, proto_cigi
));
15736 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_MARITIME_SURFACE_CONDITIONS_CONTROL
,
15737 create_dissector_handle(cigi3_add_maritime_surface_conditions_control
, proto_cigi
));
15738 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_WAVE_CONTROL
,
15739 create_dissector_handle(cigi3_add_wave_control
, proto_cigi
));
15740 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL
,
15741 create_dissector_handle(cigi3_add_terrestrial_surface_conditions_control
, proto_cigi
));
15742 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_VIEW_CONTROL
,
15743 create_dissector_handle(cigi3_add_view_control
, proto_cigi
));
15744 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SENSOR_CONTROL
,
15745 create_dissector_handle(cigi3_add_sensor_control
, proto_cigi
));
15746 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_MOTION_TRACKER_CONTROL
,
15747 create_dissector_handle(cigi3_add_motion_tracker_control
, proto_cigi
));
15748 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_EARTH_REFERENCE_MODEL_DEFINITION
,
15749 create_dissector_handle(cigi3_add_earth_reference_model_definition
, proto_cigi
));
15750 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_TRAJECTORY_DEFINITION
,
15751 create_dissector_handle(cigi3_add_trajectory_definition
, proto_cigi
));
15752 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_VIEW_DEFINITION
,
15753 create_dissector_handle(cigi3_add_view_definition
, proto_cigi
));
15754 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION
,
15755 create_dissector_handle(cigi3_add_collision_detection_segment_definition
, proto_cigi
));
15756 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION
,
15757 create_dissector_handle(cigi3_add_collision_detection_volume_definition
, proto_cigi
));
15758 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_HAT_HOT_REQUEST
,
15759 create_dissector_handle(cigi3_add_hat_hot_request
, proto_cigi
));
15760 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_LINE_OF_SIGHT_SEGMENT_REQUEST
,
15761 create_dissector_handle(cigi3_add_line_of_sight_segment_request
, proto_cigi
));
15762 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_LINE_OF_SIGHT_VECTOR_REQUEST
,
15763 create_dissector_handle(cigi3_add_line_of_sight_vector_request
, proto_cigi
));
15764 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_POSITION_REQUEST
,
15765 create_dissector_handle(cigi3_add_position_request
, proto_cigi
));
15766 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_ENVIRONMENTAL_CONDITIONS_REQUEST
,
15767 create_dissector_handle(cigi3_add_environmental_conditions_request
, proto_cigi
));
15768 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_START_OF_FRAME
,
15769 create_dissector_handle(cigi3_add_start_of_frame
, proto_cigi
));
15770 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_HAT_HOT_RESPONSE
,
15771 create_dissector_handle(cigi3_add_hat_hot_response
, proto_cigi
));
15772 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_HAT_HOT_EXTENDED_RESPONSE
,
15773 create_dissector_handle(cigi3_add_hat_hot_extended_response
, proto_cigi
));
15774 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_LINE_OF_SIGHT_RESPONSE
,
15775 create_dissector_handle(cigi3_add_line_of_sight_response
, proto_cigi
));
15776 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_LINE_OF_SIGHT_EXTENDED_RESPONSE
,
15777 create_dissector_handle(cigi3_add_line_of_sight_extended_response
, proto_cigi
));
15778 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SENSOR_RESPONSE
,
15779 create_dissector_handle(cigi3_add_sensor_response
, proto_cigi
));
15780 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SENSOR_EXTENDED_RESPONSE
,
15781 create_dissector_handle(cigi3_add_sensor_extended_response
, proto_cigi
));
15782 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_POSITION_RESPONSE
,
15783 create_dissector_handle(cigi3_add_position_response
, proto_cigi
));
15784 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_WEATHER_CONDITIONS_RESPONSE
,
15785 create_dissector_handle(cigi3_add_weather_conditions_response
, proto_cigi
));
15786 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_AEROSOL_CONCENTRATION_RESPONSE
,
15787 create_dissector_handle(cigi3_add_aerosol_concentration_response
, proto_cigi
));
15788 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_MARITIME_SURFACE_CONDITIONS_RESPONSE
,
15789 create_dissector_handle(cigi3_add_maritime_surface_conditions_response
, proto_cigi
));
15790 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE
,
15791 create_dissector_handle(cigi3_add_terrestrial_surface_conditions_response
, proto_cigi
));
15792 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_COLLISION_DETECTION_SEGMENT_NOTIFICATION
,
15793 create_dissector_handle(cigi3_add_collision_detection_segment_notification
, proto_cigi
));
15794 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_COLLISION_DETECTION_VOLUME_NOTIFICATION
,
15795 create_dissector_handle(cigi3_add_collision_detection_volume_notification
, proto_cigi
));
15796 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_ANIMATION_STOP_NOTIFICATION
,
15797 create_dissector_handle(cigi3_add_animation_stop_notification
, proto_cigi
));
15798 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_EVENT_NOTIFICATION
,
15799 create_dissector_handle(cigi3_add_event_notification
, proto_cigi
));
15800 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_IMAGE_GENERATOR_MESSAGE
,
15801 create_dissector_handle(cigi3_add_image_generator_message
, proto_cigi
));
15803 // Packet ID types added in CIGI 3.3
15804 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SYMBOL_SURFACE_DEFINITION
,
15805 create_dissector_handle(cigi3_3_add_symbol_surface_definition
, proto_cigi
));
15806 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SYMBOL_TEXT_DEFINITION
,
15807 create_dissector_handle(cigi3_3_add_symbol_text_definition
, proto_cigi
));
15808 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SYMBOL_CIRCLE_DEFINITION
,
15809 create_dissector_handle(cigi3_3_add_symbol_circle_definition
, proto_cigi
));
15810 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SYMBOL_LINE_DEFINITION
,
15811 create_dissector_handle(cigi3_3_add_symbol_line_definition
, proto_cigi
));
15812 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SYMBOL_CLONE
,
15813 create_dissector_handle(cigi3_3_add_symbol_clone
, proto_cigi
));
15814 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SYMBOL_CONTROL
,
15815 create_dissector_handle(cigi3_3_add_symbol_control
, proto_cigi
));
15816 dissector_add_uint("cigi3.packet_id", CIGI3_PACKET_ID_SHORT_SYMBOL_CONTROL
,
15817 create_dissector_handle(cigi3_3_add_short_symbol_control
, proto_cigi
));
15819 // CIGI 4 packet ID types
15820 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_IG_CONTROL
,
15821 create_dissector_handle(cigi4_add_ig_control
, proto_cigi
));
15822 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_ENTITY_POSITION
,
15823 create_dissector_handle(cigi4_add_entity_position
, proto_cigi
));
15824 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_CONFORMAL_CLAMPED_ENTITY_POSITION
,
15825 create_dissector_handle(cigi4_add_conformal_clamped_entity_position
, proto_cigi
));
15826 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_COMPONENT_CONTROL
,
15827 create_dissector_handle(cigi4_add_component_control
, proto_cigi
));
15828 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SHORT_COMPONENT_CONTROL
,
15829 create_dissector_handle(cigi4_add_short_component_control
, proto_cigi
));
15830 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_ARTICULATED_PART_CONTROL
,
15831 create_dissector_handle(cigi4_add_articulated_part_control
, proto_cigi
));
15832 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SHORT_ARTICULATED_PART_CONTROL
,
15833 create_dissector_handle(cigi4_add_short_articulated_part_control
, proto_cigi
));
15834 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_VELOCITY_CONTROL
,
15835 create_dissector_handle(cigi4_add_velocity_control
, proto_cigi
));
15836 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_CELESTIAL_SPHERE_CONTROL
,
15837 create_dissector_handle(cigi4_add_celestial_sphere_control
, proto_cigi
));
15838 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_ATMOSPHERE_CONTROL
,
15839 create_dissector_handle(cigi4_add_atmosphere_control
, proto_cigi
));
15840 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_ENVIRONMENTAL_REGION_CONTROL
,
15841 create_dissector_handle(cigi4_add_environmental_region_control
, proto_cigi
));
15842 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_WEATHER_CONTROL
,
15843 create_dissector_handle(cigi4_add_weather_control
, proto_cigi
));
15844 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_MARITIME_SURFACE_CONDITIONS_CONTROL
,
15845 create_dissector_handle(cigi4_add_maritime_surface_conditions_control
, proto_cigi
));
15846 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_WAVE_CONTROL
,
15847 create_dissector_handle(cigi4_add_wave_control
, proto_cigi
));
15848 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_CONTROL
,
15849 create_dissector_handle(cigi4_add_terrestrial_surface_conditions_control
, proto_cigi
));
15850 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_VIEW_CONTROL
,
15851 create_dissector_handle(cigi4_add_view_control
, proto_cigi
));
15852 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SENSOR_CONTROL
,
15853 create_dissector_handle(cigi4_add_sensor_control
, proto_cigi
));
15854 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_MOTION_TRACKER_CONTROL
,
15855 create_dissector_handle(cigi4_add_motion_tracker_control
, proto_cigi
));
15856 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_EARTH_REFERENCE_MODEL_DEFINITION
,
15857 create_dissector_handle(cigi4_add_earth_reference_model_definition
, proto_cigi
));
15858 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_ACCELERATION_CONTROL
,
15859 create_dissector_handle(cigi4_add_acceleration_control
, proto_cigi
));
15860 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_VIEW_DEFINITION
,
15861 create_dissector_handle(cigi4_add_view_definition
, proto_cigi
));
15862 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_COLLISION_DETECTION_SEGMENT_DEFINITION
,
15863 create_dissector_handle(cigi4_add_collision_detection_segment_definition
, proto_cigi
));
15864 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_COLLISION_DETECTION_VOLUME_DEFINITION
,
15865 create_dissector_handle(cigi4_add_collision_detection_volume_definition
, proto_cigi
));
15866 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_HAT_HOT_REQUEST
,
15867 create_dissector_handle(cigi4_add_hat_hot_request
, proto_cigi
));
15868 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_LINE_OF_SIGHT_SEGMENT_REQUEST
,
15869 create_dissector_handle(cigi4_add_line_of_sight_segment_request
, proto_cigi
));
15870 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_LINE_OF_SIGHT_VECTOR_REQUEST
,
15871 create_dissector_handle(cigi4_add_line_of_sight_vector_request
, proto_cigi
));
15872 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_POSITION_REQUEST
,
15873 create_dissector_handle(cigi4_add_position_request
, proto_cigi
));
15874 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_ENVIRONMENTAL_CONDITIONS_REQUEST
,
15875 create_dissector_handle(cigi4_add_environmental_conditions_request
, proto_cigi
));
15876 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SYMBOL_SURFACE_DEFINITION
,
15877 create_dissector_handle(cigi4_add_symbol_surface_definition
, proto_cigi
));
15878 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SYMBOL_TEXT_DEFINITION
,
15879 create_dissector_handle(cigi4_add_symbol_text_definition
, proto_cigi
));
15880 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SYMBOL_CIRCLE_DEFINITION
,
15881 create_dissector_handle(cigi4_add_symbol_circle_definition
, proto_cigi
));
15882 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SYMBOL_POLYGON_DEFINITION
,
15883 create_dissector_handle(cigi4_add_symbol_polygon_definition
, proto_cigi
));
15884 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SYMBOL_CLONE
,
15885 create_dissector_handle(cigi4_add_symbol_clone
, proto_cigi
));
15886 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SYMBOL_CONTROL
,
15887 create_dissector_handle(cigi4_add_symbol_control
, proto_cigi
));
15888 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SHORT_SYMBOL_CONTROL
,
15889 create_dissector_handle(cigi4_add_short_symbol_control
, proto_cigi
));
15890 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SYMBOL_CIRCLE_TEXTURED_DEFINITION
,
15891 create_dissector_handle(cigi4_add_symbol_circle_textured
, proto_cigi
));
15892 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SYMBOL_POLYGON_TEXTURED_DEFINITION
,
15893 create_dissector_handle(cigi4_add_symbol_polygon_textured
, proto_cigi
));
15894 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_ENTITY_CONTROL
,
15895 create_dissector_handle(cigi4_add_entity_control
, proto_cigi
));
15896 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_ANIMATION_CONTROL
,
15897 create_dissector_handle(cigi4_add_animation_control
, proto_cigi
));
15898 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_START_OF_FRAME
,
15899 create_dissector_handle(cigi4_add_start_of_frame
, proto_cigi
));
15900 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_HAT_HOT_RESPONSE
,
15901 create_dissector_handle(cigi4_add_hat_hot_response
, proto_cigi
));
15902 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_HAT_HOT_EXTENDED_RESPONSE
,
15903 create_dissector_handle(cigi4_add_hat_hot_extended_response
, proto_cigi
));
15904 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_LINE_OF_SIGHT_RESPONSE
,
15905 create_dissector_handle(cigi4_add_line_of_sight_response
, proto_cigi
));
15906 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_LINE_OF_SIGHT_EXTENDED_RESPONSE
,
15907 create_dissector_handle(cigi4_add_line_of_sight_extended_response
, proto_cigi
));
15908 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SENSOR_RESPONSE
,
15909 create_dissector_handle(cigi4_add_sensor_response
, proto_cigi
));
15910 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_SENSOR_EXTENDED_RESPONSE
,
15911 create_dissector_handle(cigi4_add_sensor_extended_response
, proto_cigi
));
15912 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_POSITION_RESPONSE
,
15913 create_dissector_handle(cigi4_add_position_response
, proto_cigi
));
15914 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_WEATHER_CONDITIONS_RESPONSE
,
15915 create_dissector_handle(cigi4_add_weather_conditions_response
, proto_cigi
));
15916 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_AEROSOL_CONCENTRATION_RESPONSE
,
15917 create_dissector_handle(cigi4_add_aerosol_concentration_response
, proto_cigi
));
15918 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_MARITIME_SURFACE_CONDITIONS_RESPONSE
,
15919 create_dissector_handle(cigi4_add_maritime_surface_conditions_response
, proto_cigi
));
15920 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_TERRESTRIAL_SURFACE_CONDITIONS_RESPONSE
,
15921 create_dissector_handle(cigi4_add_terrestrial_surface_conditions_response
, proto_cigi
));
15922 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_COLLISION_DETECTION_SEGMENT_NOTIFICATION
,
15923 create_dissector_handle(cigi4_add_collision_detection_segment_notification
, proto_cigi
));
15924 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_COLLISION_DETECTION_VOLUME_NOTIFICATION
,
15925 create_dissector_handle(cigi4_add_collision_detection_volume_notification
, proto_cigi
));
15926 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_ANIMATION_STOP_NOTIFICATION
,
15927 create_dissector_handle(cigi4_add_animation_stop_notification
, proto_cigi
));
15928 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_EVENT_NOTIFICATION
,
15929 create_dissector_handle(cigi4_add_event_notification
, proto_cigi
));
15930 dissector_add_uint("cigi4.packet_id", CIGI4_PACKET_ID_IMAGE_GENERATOR_MESSAGE
,
15931 create_dissector_handle(cigi4_add_image_generator_message
, proto_cigi
));
15938 * Editor modelines - https://www.wireshark.org/tools/modelines.html
15941 * c-basic-offset: 4
15943 * indent-tabs-mode: nil
15946 * vi: set shiftwidth=4 tabstop=8 expandtab:
15947 * :indentSize=4:tabSize=8:noTabs=true: