Gocator API
 All Classes Files Functions Variables Typedefs Macros Groups Pages
GoSdkDef.h
Go to the documentation of this file.
1 /**
2  * @file GoSdkDef.h
3  * @brief Essential API declarations.
4  *
5  * @internal
6  * Copyright (C) 2008-2012 by LMI Technologies Inc.
7  * Licensed under the MIT License.
8  * Redistributed files must retain the above copyright notice.
9  */
10 #ifndef GO_SDK_DEF_H
11 #define GO_SDK_DEF_H
12 
13 #include <kApi/kApiDef.h>
14 #include <kApi/Io/kNetwork.h>
15 kBeginHeader()
16 
17 #if defined (GO_EMIT)
18 # define GoFx(TYPE) kExportFx(TYPE) ///< GoSdk function declaration helper.
19 # define GoDx(TYPE) kExportDx(TYPE) ///< GoSdk data declaration helper.
20 #else
21 # define GoFx(TYPE) kImportFx(TYPE)
22 # define GoDx(TYPE) kImportDx(TYPE)
23 #endif
24 
25 /**
26  * @struct GoUser
27  * @ingroup GoSdk
28  * @brief Represents a user id.
29  *
30  * The following enumerators are defined:
31  * - #GO_USER_NONE
32  * - #GO_USER_ADMIN
33  * - #GO_USER_TECH
34  */
35 typedef k32s GoUser;
36 
37 #define GO_USER_NONE (0) ///< No user.
38 #define GO_USER_ADMIN (1) ///< Administrator user.
39 #define GO_USER_TECH (2) ///< Technician user.
40 
41 /**
42  * @struct GoState
43  * @ingroup GoSdk
44  * @brief Represents the current state of a sensor object.
45  *
46  * The following enumerators are defined:
47  * - #GO_STATE_ONLINE
48  * - #GO_STATE_OFFLINE
49  * - #GO_STATE_RESETTING
50  * - #GO_STATE_INCOMPATIBLE
51  * - #GO_STATE_INCONSISTENT
52  * - #GO_STATE_UNRESPONSIVE
53  * - #GO_STATE_CANCELLED
54  * - #GO_STATE_INCOMPLETE
55  * - #GO_STATE_BUSY
56  * - #GO_STATE_READY
57  * - #GO_STATE_RUNNING
58  */
59 typedef k32s GoState;
60 
61 #define GO_STATE_ONLINE (0) ///< Sensor disconnected, but detected via discovery.
62 #define GO_STATE_OFFLINE (1) ///< Sensor disconnected and no longer detected via discovery (refresh system to eliminate sensor).
63 #define GO_STATE_RESETTING (2) ///< Sensor disconnected and currently resetting (wait for completion).
64 #define GO_STATE_INCOMPATIBLE (4) ///< Sensor connected, but protocol incompatible with client (upgrade required).
65 #define GO_STATE_INCONSISTENT (5) ///< Sensor connected, but remote state was changed (refresh sensor).
66 #define GO_STATE_UNRESPONSIVE (6) ///< Sensor connected, but no longer detected via health or discovery (disconnect).
67 #define GO_STATE_CANCELLED (7) ///< Sensor connected, but communication aborted via GoSensor_Cancel function (disconnect or refresh sensor).
68 #define GO_STATE_INCOMPLETE (8) ///< Sensor connected, but a required buddy sensor is not present (wait or remove buddy association).
69 #define GO_STATE_BUSY (9) ///< Sensor connected, but currently controlled by another sensor (cannot be configured directly).
70 #define GO_STATE_READY (10) ///< Sensor connected and ready to accept configuration commands.
71 #define GO_STATE_RUNNING (11) ///< Sensor connected and currently running.
72 
73 typedef k32s GoRole;
74 
75 #define GO_ROLE_MAIN (0) ///< Sensor is operating as a main sensor.
76 #define GO_ROLE_BUDDY (1) ///< Sensor is operating as a buddy sensor.
77 
78 typedef k32s GoAlignmentState;
79 
80 #define GO_ALIGNMENT_STATE_NOT_ALIGNED (0)
81 #define GO_ALIGNMENT_STATE_ALIGNED (1)
82 
83 typedef k32s GoAlignmentRef;
84 
85 #define GO_ALIGNMENT_REF_FIXED (0)
86 #define GO_ALIGNMENT_REF_DYNAMIC (1)
87 
88 typedef k32s GoMode;
89 
90 #define GO_MODE_UNKNOWN (-1)
91 #define GO_MODE_VIDEO (0)
92 #define GO_MODE_RANGE (1)
93 #define GO_MODE_PROFILE (2)
94 #define GO_MODE_SURFACE (3)
95 
96 GoFx(kStatus) GoMode_Parse(GoMode* mode, const kChar* text);
97 GoFx(kStatus) GoMode_Format(GoMode mode, kChar* buffer, kSize bufferSize);
98 
99 typedef k32s GoTrigger;
100 
101 #define GO_TRIGGER_TIME (0)
102 #define GO_TRIGGER_ENCODER (1)
103 #define GO_TRIGGER_INPUT (2)
104 #define GO_TRIGGER_SOFTWARE (3)
105 
106 typedef k32s GoEncoderTriggerMode; // Represents an encoders triggering behavior.
107 
108 #define GO_ENCODER_TRIGGER_MODE_TRACK_REVERSE (0) // Do not reverse trigger. Track reverse motion to prevent repeat forward triggers.
109 #define GO_ENCODER_TRIGGER_MODE_IGNORE_REVERSE (1) // Do not reverse trigger. Forward trigger unconditionally.
110 #define GO_ENCODER_TRIGGER_MODE_BIDIRECTIONAL (2) // Forward and reverse trigger.
111 
112 typedef k32s GoFrameRateMaxSource; // Determines what is currently limiting the maximum frame rate.
113 
114 #define GO_FRAME_RATE_MAX_SOURCE_IMAGER (0) // Limited by the imager's configuration.
115 #define GO_FRAME_RATE_MAX_SOURCE_PART_DETECTION (1) // Limited by part detection logic.
116 
117 
118 typedef k32s GoEncoderSpacingMinSource; // Determines what is currently limiting the maximum encoder period.
119 
120 #define GO_ENCODER_PERIOD_MAX_SOURCE_RESOLUTION (0) // Limited by encoder resolution.
121 #define GO_ENCODER_PERIOD_MAX_SOURCE_PART_DETECTION (1) // Limited by part detection logic.
122 
123 typedef k32s GoTriggerUnits; // Represents the system's primary synchronization domain
124 
125 #define GO_TRIGGER_UNIT_TIME (0) // Base the system on the internal clock.
126 #define GO_TRIGGER_UNIT_ENCODER (1) // Base the system on the encoder.
127 
128 typedef k32s GoAxis;
129 
130 #define GO_AXIS_X (0)
131 #define GO_AXIS_Y (1)
132 
133 typedef k32s GoExposureMode;
134 
135 #define GO_EXPOSURE_MODE_SINGLE (0)
136 #define GO_EXPOSURE_MODE_MULTIPLE (1)
137 #define GO_EXPOSURE_MODE_DYNAMIC (2)
138 
139 typedef k32s GoOrientation; // Represents a sensor orientation type.
140 
141 #define GO_ORIENTATION_WIDE (0) // Wide sensor orientation.
142 #define GO_ORIENTATION_OPPOSITE (1) // Opposite sensor orientation.
143 #define GO_ORIENTATION_REVERSE (2) // Opposite sensor orientation.
144 
145 typedef k32s GoAlignmentSource;
146 
147 #define GO_ALIGNMENT_SOURCE_GLOBAL (0)
148 #define GO_ALIGNMENT_SOURCE_LOCAL (1)
149 
150 typedef k32s GoPartFrameOfReference;
151 
152 #define GO_PART_FRAME_OF_REFERENCE_TYPE_SENSOR (0)
153 #define GO_PART_FRAME_OF_REFERENCE_TYPE_SCAN (0) //intentional value duplicate
154 #define GO_PART_FRAME_OF_REFERENCE_TYPE_PART (1)
155 
156 typedef k32s GoPartHeightThresholdDirection;
157 
158 #define GO_PART_HEIGHT_THRESHOLD_DIRECTION_ABOVE (0)
159 #define GO_PART_HEIGHT_THRESHOLD_DIRECTION_BELOW (1)
160 
161 
162 typedef k32s GoInputSource;
163 
164 #define GO_INPUT_SOURCE_LIVE (0)
165 #define GO_INPUT_SOURCE_RECORDING (1)
166 
167 
168 typedef k32s GoSeekDirection;
169 
170 #define GO_SEEK_DIRECTION_FORWARD (0)
171 #define GO_SEEK_DIRECTION_BACKWARD (0)
172 
173 /**
174  * @struct GoDataSource
175  * @ingroup GoSdk
176  * @brief Represents a data source.
177  *
178  * The following enumerators are defined:
179  * #GO_DATA_SOURCE_NONE
180  * #GO_DATA_SOURCE_TOP
181  * #GO_DATA_SOURCE_BOTTOM
182  * #GO_DATA_SOURCE_TOP_LEFT
183  * #GO_DATA_SOURCE_TOP_RIGHT
184  * #GO_DATA_SOURCE_TOP_BOTTOM
185  */
186 typedef k32s GoDataSource;
187 
188 #define GO_DATA_SOURCE_NONE (-1) //used to represent a buddy device when the buddy is not connected
189 #define GO_DATA_SOURCE_TOP (0) //represents main device when in a single sensor or opposite orientation buddy setup. Also represents the combined main and buddy in a wide or reverse orientation
190 #define GO_DATA_SOURCE_BOTTOM (1) //represents the buddy device in an opposite orientation buddy configuration
191 #define GO_DATA_SOURCE_TOP_LEFT (2) //represents the main device in a wide or reverse orientation buddy configuration
192 #define GO_DATA_SOURCE_TOP_RIGHT (3) //represents the buddy device in a wide or reverse orientation buddy configuration
193 #define GO_DATA_SOURCE_TOP_BOTTOM (4) //represents both the main and buddy devices in a opposite orientation
194 #define GO_DATA_SOURCE_LEFT_RIGHT (5) //represents a buddy configuration where data from the two devices are not merged (e.g. buddied 1000 series sensors in a wide layout)
195 
196 
197 typedef k32s GoProfileStripBaseType;
198 
199 #define GO_PROFILE_STRIP_BASE_TYPE_NONE (0)
200 #define GO_PROFILE_STRIP_BASE_TYPE_FLAT (1)
201 
202 typedef k32s GoProfileStripEdgeType;
203 
204 #define GO_PROFILE_STRIP_EDGE_TYPE_RISING (1)
205 #define GO_PROFILE_STRIP_EDGE_TYPE_FALLING (2)
206 #define GO_PROFILE_STRIP_EDGE_TYPE_DATA_END (4)
207 #define GO_PROFILE_STRIP_EDGE_TYPE_VOID (8)
208 
209 
210 typedef k32s GoSurfaceGenerationType;
211 
212 #define GO_SURFACE_GENERATION_TYPE_CONTINUOUS (0)
213 #define GO_SURFACE_GENERATION_TYPE_FIXED_LENGTH (1)
214 #define GO_SURFACE_GENERATION_TYPE_VARIABLE_LENGTH (2)
215 #define GO_SURFACE_GENERATION_TYPE_ROTATIONAL (3)
216 
217 
218 typedef k32s GoSurfaceGenerationStartTrigger;
219 
220 #define GO_SURFACE_GENERATION_START_TRIGGER_SEQUENTIAL (0)
221 #define GO_SURFACE_GENERATION_START_TRIGGER_DIGITAL (1)
222 
223 
224 typedef k32s GoSurfaceOpeningType;
225 
226 #define GO_SURFACE_OPENING_TYPE_ROUNDED_SLOT (0)
227 #define GO_SURFACE_OPENING_TYPE_ROUNDED_RECTANGLE (1)
228 
229 
230 typedef k32s GoAnalogTrigger;
231 
232 #define GO_ANALOG_TRIGGER_MEASUREMENT (0)
233 #define GO_ANALOG_TRIGGER_SOFTWARE (1)
234 
235 typedef k32s GoDigitalPass;
236 
237 #define GO_DIGITAL_PASS_TRUE (0)
238 #define GO_DIGITAL_PASS_FALSE (1)
239 #define GO_DIGITAL_PASS_ALWAYS (2)
240 
241 typedef k32s GoDigitalSignal;
242 
243 #define GO_DIGITAL_SIGNAL_PULSED (0)
244 #define GO_DIGITAL_SIGNAL_CONTINUOUS (1)
245 
246 typedef k32s GoDigitalEvent;
247 
248 #define GO_DIGITAL_EVENT_MEASUREMENT (1)
249 #define GO_DIGITAL_EVENT_SOFTWARE (2)
250 
251 typedef k32s GoAnalogEvent;
252 
253 #define GO_ANALOG_EVENT_MEASURMENT (1)
254 #define GO_ANALOG_EVENT_SOFTWARE (2)
255 
256 typedef k32s GoEthernetProtocol;
257 
258 #define GO_ETHERNET_PROTOCOL_GOCATOR (0)
259 #define GO_ETHERNET_PROTOCOL_MODBUS (1)
260 #define GO_ETHERNET_PROTOCOL_ETHERNET_IP (2)
261 #define GO_ETHERNET_PROTOCOL_ASCII (3)
262 
263 typedef k32s GoOutputSource;
264 
265 #define GO_OUTPUT_SOURCE_NONE (0)
266 #define GO_OUTPUT_SOURCE_VIDEO (1)
267 #define GO_OUTPUT_SOURCE_RANGE (2)
268 #define GO_OUTPUT_SOURCE_PROFILE (3)
269 #define GO_OUTPUT_SOURCE_SURFACE (4)
270 #define GO_OUTPUT_SOURCE_RANGE_INTENSITY (5)
271 #define GO_OUTPUT_SOURCE_PROFILE_INTENSITY (6)
272 #define GO_OUTPUT_SOURCE_SURFACE_INTENSITY (7)
273 #define GO_OUTPUT_SOURCE_MEASUREMENT (8)
274 
275 
276 typedef k32s GoOutputDelayDomain;
277 
278 #define GO_OUTPUT_DELAY_DOMAIN_TIME (0)
279 #define GO_OUTPUT_DELAY_DOMAIN_ENCODER (1)
280 
281 
282 typedef k32s GoSpotDetectionType;
283 
284 #define GS_SPOT_DETECTION_NORMAL (0)
285 #define GS_SPOT_DETECTION_XLINE (1)
286 
287 
288 typedef k32s GoSpotSelectionType;
289 
290 #define GS_SPOT_SELECTION_INTENSITY (0)
291 #define GS_SPOT_SELECTION_ROW_MIN (1)
292 #define GS_SPOT_SELECTION_ROW_MAX (2)
293 
294 
295 typedef k32s GoSpacingIntervalType;
296 
297 #define GO_SPACING_INTERVAL_TYPE_MAX_RES (0)
298 #define GO_SPACING_INTERVAL_TYPE_BALANCED (1)
299 #define GO_SPACING_INTERVAL_TYPE_MAX_SPEED (2)
300 
301 typedef k32s GoMaterialType;
302 
303 #define GO_MATERIAL_TYPE_DIFFUSE (0)
304 #define GO_MATERIAL_TYPE_SMOKE (0)
305 
306 typedef k32s GoTriggerSource; // Represents a trigger source type.
307 
308 #define GO_TRIGGER_SOURCE_TIME (0) // Trigger on internal clock.
309 #define GO_TRIGGER_SOURCE_ENCODER (1) // Trigger on encoder.
310 #define GO_TRIGGER_SOURCE_INPUT (2) // Trigger on digital input.
311 #define GO_TRIGGER_SOURCE_SOFTWARE (3) // Trigger on software messages.
312 
313 
314 typedef k32s GoAlignmentType; // Represents a calibration Type type.
315 
316 #define GO_ALIGNMENT_TYPE_STATIONARY (0)
317 #define GO_ALIGNMENT_TYPE_MOVING (1)
318 
319 typedef k32s GoAlignmentTarget; // Represents a alignment target type.
320 
321 #define GO_ALIGNMENT_TARGET_NONE (0) // No calibration target.
322 #define GO_ALIGNMENT_TARGET_DISK (1) // Calibration disk.
323 #define GO_ALIGNMENT_TARGET_BAR (2) // Calibration bar.
324 #define GO_ALIGNMENT_TARGET_PLATE (3) // Calibration plate.
325 
326 typedef k32s GoAsciiOperation;
327 
328 #define GO_ASCII_OPERATION_ASYNCHRONOUS (0)
329 #define GO_ASCII_OPERATION_POLLING (1)
330 
331 typedef k32s GoSelcomFormat; // Represents the selcom format followed on the serial output
332 
333 #define GO_SELCOM_FORMAT_SLS (0) // Selcom uses the SLS format
334 #define GO_SELCOM_FORMAT_12BIT_ST (1) // Selcom uses the 12-Bit Search/Track format
335 #define GO_SELCOM_FORMAT_14BIT (2) // Selcom uses the 14-Bit format
336 #define GO_SELCOM_FORMAT_14BIT_ST (3) // Selcom uses the 14-Bit Search/Track format
337 
338 typedef k32s GoSerialProtocol;
339 #define GO_SERIAL_PROTOCOL_GOCATOR (0)
340 #define GO_SERIAL_PROTOCOL_SELCOM (1)
341 
342 typedef k32s GoReplayExportSourceType;
343 #define GO_REPLAY_EXPORT_SOURCE_PRIMARY (0)
344 #define GO_REPLAY_EXPORT_SOURCE_INTENSITY (1)
345 
346 typedef k32s GoFamily;
347 #define GO_FAMILY_1000 (0)
348 #define GO_FAMILY_2000 (1)
349 #define GO_FAMILY_3000 (2)
350 
351 typedef k8s GoDecision;
352 #define GO_DECISION_INVALID_ANCHOR (-2)
353 #define GO_DECISION_INVALID_VALUE (-1)
354 #define GO_DECISION_FAIL (0)
355 #define GO_DECISION_PASS (1)
356 
357 /**
358  * @struct GoStates
359  * @ingroup GoSdk
360  * @brief Sensor state, login, alignment reference, alignment state, recording state, and playback source.
361  */
362 typedef struct GoStates
363 {
364  GoState sensorState;
365  GoUser loginType;
366  GoAlignmentRef alignmentReference;
367  GoAlignmentState alignmentState;
368  kBool recordingEnabled;
369  k32u playbackSource;
370  k32u uptimeSec;
371  k32u uptimeMicrosec;
372  k32u playbackPos;
373  k32u playbackCount;
374  kBool autoStartEnabled;
375 } GoStates;
376 
377 /**
378  * @struct GoAddressInfo
379  * @ingroup GoSdk
380  * @brief Sensor network address settings.
381  */
382 typedef struct GoAddressInfo
383 {
384  kBool useDhcp; ///> Sensor uses DHCP?
385  kIpAddress address; ///> Sensor IP address setting.
386  kIpAddress mask; ///> Sensor IP gateway setting.
387  kIpAddress gateway; ///> Sensor IP gateway setting.
388 } GoAddressInfo;
389 
390 /**
391  * @struct GoUpgradeFxArgs
392  * @extends kObject
393  * @ingroup GoSdk
394  * @brief Represents arguments provided to an upgrade callback function.
395  */
396 typedef struct GoUpgradeFxArgs
397 {
398  k64f progress; ///< Upgrade progress (percentage).
399 } GoUpgradeFxArgs;
400 
401 typedef struct GoElement64f
402 {
403  kBool enabled;
404  k64f value;
405  k64f max;
406  k64f min;
407 } GoElement64f;
408 
409 typedef struct GoElementUInt32
410 {
411  kBool enabled;
412  k32u value;
413  k32u max;
414  k32u min;
415 } GoElementUInt32;
416 
417 
418 typedef struct GoActiveAreaConfig
419 {
420  GoElement64f x;
421  GoElement64f y;
422  GoElement64f z;
423  GoElement64f height;
424  GoElement64f length;
425  GoElement64f width;
426 } GoActiveAreaConfig;
427 
428 typedef struct GoTransformation
429 {
430  k64f x;
431  k64f y;
432  k64f z;
433  k64f xAngle;
434  k64f yAngle;
435  k64f zAngle;
436 } GoTransformation;
437 
438 typedef struct GoTransformedDataRegion
439 {
440  k64f x;
441  k64f y;
442  k64f z;
443  k64f width;
444  k64f length;
445  k64f height;
446 } GoTransformedDataRegion;
447 
448 
449 typedef struct GoAsciiConfig
450 {
451  GoAsciiOperation operation; //only used for Ethernet output
452  k32u controlPort; //only used for Ethernet output
453  k32u dataPort; //only used for Ethernet output
454  k32u healthPort; //only used for Ethernet output
455  kString customFormat;
456  kBool customFormatEnabled;
457  kString delimiter;
458  kString terminator;
459  kString invalidValue;
460 } GoAsciiConfig;
461 
462 typedef struct GoSelcomConfig
463 {
464  GoSelcomFormat format;
465  kArrayList formatOptions;
466  k32u rate;
467  kArrayList rateOptions;
468  k64f dataScaleMin;
469  k64f dataScaleMax;
470 } GoSelcomConfig;
471 
472 
473 typedef k32s GoToolType;
474 #define GO_TOOL_UNKNOWN (-1)
475 #define GO_TOOL_RANGE_POSITION (0)
476 #define GO_TOOL_RANGE_THICKNESS (1)
477 #define GO_TOOL_PROFILE_AREA (2)
478 #define GO_TOOL_PROFILE_CIRCLE (3)
479 #define GO_TOOL_PROFILE_DIMENSION (4)
480 #define GO_TOOL_PROFILE_GROOVE (5)
481 #define GO_TOOL_PROFILE_INTERSECT (6)
482 #define GO_TOOL_PROFILE_LINE (7)
483 #define GO_TOOL_PROFILE_PANEL (8)
484 #define GO_TOOL_PROFILE_POSITION (9)
485 #define GO_TOOL_PROFILE_STRIP (10)
486 #define GO_TOOL_SURFACE_BOUNDING_BOX (11)
487 #define GO_TOOL_SURFACE_ELLIPSE (12)
488 #define GO_TOOL_SURFACE_HOLE (13)
489 #define GO_TOOL_SURFACE_OPENING (14)
490 #define GO_TOOL_SURFACE_PLANE (15)
491 #define GO_TOOL_SURFACE_POSITION (16)
492 #define GO_TOOL_SURFACE_STUD (17)
493 #define GO_TOOL_SURFACE_VOLUME (18)
494 #define GO_TOOL_SCRIPT (19)
495 
496 
497 typedef k32s GoMeasurementType;
498 #define GO_MEASUREMENT_UNKNOWN (-1)
499 #define GO_MEASUREMENT_RANGE_POSITION_Z (0)
500 #define GO_MEASUREMENT_RANGE_THICKNESS_THICKNESS (1)
501 #define GO_MEASUREMENT_PROFILE_AREA_AREA (2)
502 #define GO_MEASUREMENT_PROFILE_AREA_CENTROID_X (3)
503 #define GO_MEASUREMENT_PROFILE_AREA_CENTROID_Z (4)
504 #define GO_MEASUREMENT_PROFILE_CIRCLE_X (5)
505 #define GO_MEASUREMENT_PROFILE_CIRCLE_Z (6)
506 #define GO_MEASUREMENT_PROFILE_CIRCLE_RADIUS (7)
507 #define GO_MEASUREMENT_PROFILE_DIMENSION_WIDTH (8)
508 #define GO_MEASUREMENT_PROFILE_DIMENSION_HEIGHT (9)
509 #define GO_MEASUREMENT_PROFILE_DIMENSION_DISTANCE (10)
510 #define GO_MEASUREMENT_PROFILE_DIMENSION_CENTER_X (11)
511 #define GO_MEASUREMENT_PROFILE_DIMENSION_CENTER_Z (12)
512 #define GO_MEASUREMENT_PROFILE_GROOVE_X (13)
513 #define GO_MEASUREMENT_PROFILE_GROOVE_Z (14)
514 #define GO_MEASUREMENT_PROFILE_GROOVE_WIDTH (15)
515 #define GO_MEASUREMENT_PROFILE_GROOVE_DEPTH (16)
516 #define GO_MEASUREMENT_PROFILE_INTERSECT_X (17)
517 #define GO_MEASUREMENT_PROFILE_INTERSECT_Z (18)
518 #define GO_MEASUREMENT_PROFILE_INTERSECT_ANGLE (19)
519 #define GO_MEASUREMENT_PROFILE_LINE_STDDEV (20)
520 #define GO_MEASUREMENT_PROFILE_LINE_ERROR_MIN (21)
521 #define GO_MEASUREMENT_PROFILE_LINE_ERROR_MAX (22)
522 #define GO_MEASUREMENT_PROFILE_LINE_PERCENTILE (23)
523 #define GO_MEASUREMENT_PROFILE_PANEL_GAP (24)
524 #define GO_MEASUREMENT_PROFILE_PANEL_FLUSH (25)
525 #define GO_MEASUREMENT_PROFILE_POSITION_X (26)
526 #define GO_MEASUREMENT_PROFILE_POSITION_Z (27)
527 #define GO_MEASUREMENT_PROFILE_STRIP_POSITION_X (28)
528 #define GO_MEASUREMENT_PROFILE_STRIP_POSITION_Z (29)
529 #define GO_MEASUREMENT_PROFILE_STRIP_WIDTH (30)
530 #define GO_MEASUREMENT_PROFILE_STRIP_HEIGHT (31)
531 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_X (32)
532 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_Y (33)
533 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_Z (34)
534 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_ZANGLE (35)
535 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_HEIGHT (36)
536 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_WIDTH (37)
537 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_LENGTH (38)
538 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBALX (39)
539 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBALY (40)
540 #define GO_MEASUREMENT_SURFACE_ELLIPSE_MAJOR (41)
541 #define GO_MEASUREMENT_SURFACE_ELLIPSE_MINOR (42)
542 #define GO_MEASUREMENT_SURFACE_ELLIPSE_RATIO (43)
543 #define GO_MEASUREMENT_SURFACE_ELLIPSE_ZANGLE (44)
544 #define GO_MEASUREMENT_SURFACE_HOLE_X (45)
545 #define GO_MEASUREMENT_SURFACE_HOLE_Y (46)
546 #define GO_MEASUREMENT_SURFACE_HOLE_Z (47)
547 #define GO_MEASUREMENT_SURFACE_HOLE_RADIUS (48)
548 #define GO_MEASUREMENT_SURFACE_OPENING_X (49)
549 #define GO_MEASUREMENT_SURFACE_OPENING_Y (50)
550 #define GO_MEASUREMENT_SURFACE_OPENING_Z (51)
551 #define GO_MEASUREMENT_SURFACE_OPENING_WIDTH (52)
552 #define GO_MEASUREMENT_SURFACE_OPENING_LENGTH (53)
553 #define GO_MEASUREMENT_SURFACE_OPENING_ANGLE (54)
554 #define GO_MEASUREMENT_SURFACE_PLANE_X_ANGLE (55)
555 #define GO_MEASUREMENT_SURFACE_PLANE_Y_ANGLE (56)
556 #define GO_MEASUREMENT_SURFACE_PLANE_Z_OFFSET (57)
557 #define GO_MEASUREMENT_SURFACE_POSITION_X (58)
558 #define GO_MEASUREMENT_SURFACE_POSITION_Y (59)
559 #define GO_MEASUREMENT_SURFACE_POSITION_Z (60)
560 #define GO_MEASUREMENT_SURFACE_STUD_BASE_X (61)
561 #define GO_MEASUREMENT_SURFACE_STUD_BASE_Y (62)
562 #define GO_MEASUREMENT_SURFACE_STUD_BASE_Z (63)
563 #define GO_MEASUREMENT_SURFACE_STUD_TIP_X (64)
564 #define GO_MEASUREMENT_SURFACE_STUD_TIP_Y (65)
565 #define GO_MEASUREMENT_SURFACE_STUD_TIP_Z (66)
566 #define GO_MEASUREMENT_SURFACE_STUD_RADIUS (67)
567 #define GO_MEASUREMENT_SURFACE_VOLUME_AREA (68)
568 #define GO_MEASUREMENT_SURFACE_VOLUME_VOLUME (69)
569 #define GO_MEASUREMENT_SURFACE_VOLUME_THICKNESS (70)
570 #define GO_MEASUREMENT_SCRIPT_OUTPUT (71)
571 
572 
573 typedef k32s GoDataMessageType;
574 #define GO_DATA_MESSAGE_TYPE_UNKNOWN (-1)
575 #define GO_DATA_MESSAGE_TYPE_STAMP (0)
576 #define GO_DATA_MESSAGE_TYPE_HEALTH (1)
577 #define GO_DATA_MESSAGE_TYPE_VIDEO (2)
578 #define GO_DATA_MESSAGE_TYPE_RANGE (3)
579 #define GO_DATA_MESSAGE_TYPE_RANGE_INTENSITY (4)
580 #define GO_DATA_MESSAGE_TYPE_PROFILE (5)
581 #define GO_DATA_MESSAGE_TYPE_PROFILE_INTENSITY (6)
582 #define GO_DATA_MESSAGE_TYPE_RESAMPLED_PROFILE (7)
583 #define GO_DATA_MESSAGE_TYPE_SURFACE (8)
584 #define GO_DATA_MESSAGE_TYPE_SURFACE_INTENSITY (9)
585 #define GO_DATA_MESSAGE_TYPE_MEASUREMENT (10)
586 #define GO_DATA_MESSAGE_TYPE_ALIGNMENT (11)
587 #define GO_DATA_MESSAGE_TYPE_EXPOSURE_CAL (12)
588 
589 
590 typedef kStatus (kCall* GoUpgradeFx) (kPointer receiver, kObject sender, GoUpgradeFxArgs* args);
591 
592 GoFx(kVersion) GoSdk_ProtocolVersion();
593 
594 GoFx(kStatus) GoDestroy(kObject object);
595 
596 
597 kEndHeader()
598 #include <GoSdk/GoSdkDef.x.h>
599 
600 #endif
Sensor state, login, alignment reference, alignment state, recording state, and playback source...
Definition: GoSdkDef.h:362
Represents a data source.
kIpAddress gateway
Sensor IP gateway setting.
Definition: GoSdkDef.h:387
kIpAddress address
Sensor uses DHCP?
Definition: GoSdkDef.h:385
k64f progress
Upgrade progress (percentage).
Definition: GoSdkDef.h:398
Represents a user id.
Definition: GoSdkDef.h:15
kIpAddress mask
Sensor IP address setting.
Definition: GoSdkDef.h:386
Represents arguments provided to an upgrade callback function.
Definition: GoSdkDef.h:396
Sensor network address settings.
Definition: GoSdkDef.h:382
Represents the current state of a sensor object.