Gocator API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
GoSdkDef.h
Go to the documentation of this file.
1 /**
2  * @file GoSdkDef.h
3  * @brief Essential SDK declarations.
4  *
5  * @internal
6  * Copyright (C) 2017 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 
16 kBeginHeader()
17 
18 #if defined (GO_EMIT)
19 # define GoFx(TYPE) kExportFx(TYPE) ///< GoSdk function declaration helper.
20 # define GoCx(TYPE) kExportCx(TYPE) ///< GoSdk dynamic function declaration helper.
21 # define GoDx(TYPE) kExportDx(TYPE) ///< GoSdk data declaration helper.
22 #elif defined (GO_STATIC)
23 # define GoFx(TYPE) kInFx(TYPE)
24 # define GoCx(TYPE) kInCx(TYPE)
25 # define GoDx(TYPE) kInDx(TYPE)
26 #else
27 # define GoFx(TYPE) kImportFx(TYPE)
28 # define GoCx(TYPE) kImportCx(TYPE)
29 # define GoDx(TYPE) kImportDx(TYPE)
30 #endif
31 
32 /**
33  * Returns the SDK version.
34  *
35  * @public @memberof GoSdk
36  * @version Introduced in firmware 4.0.10.27
37  * @return SDK version.
38  */
39 GoFx(kVersion) GoSdk_Version();
40 
41 /**
42  * Returns the protocol version associated with the SDK.
43  *
44  * @public @memberof GoSdk
45  * @version Introduced in firmware 4.0.10.27
46  * @return Protocol version.
47  */
48 GoFx(kVersion) GoSdk_ProtocolVersion();
49 
50 /**
51  * Frees the memory associated with a given kObject sourced class handle.
52  *
53  * @public @memberof GoSdk
54  * @version Introduced in firmware 4.0.10.27
55  * @param object A kObject.
56  * @return Operation status.
57  */
58 GoFx(kStatus) GoDestroy(kObject object);
59 
60 /**
61  * @struct GoUpgradeFxArgs
62  * @extends kValue
63  * @ingroup GoSdk
64  * @brief Represents arguments provided to an upgrade callback function.
65  */
66 typedef struct GoUpgradeFxArgs
67 {
68  k64f progress; ///< Upgrade progress (percentage).
70 
71 typedef kStatus (kCall* GoUpgradeFx) (kPointer receiver, kObject sender, GoUpgradeFxArgs* args);
72 
73 
74 /**
75  * @struct GoUser
76  * @extends kValue
77  * @ingroup GoSdk
78  * @brief Represents a user id.
79  *
80  * The following enumerators are defined:
81  * - #GO_USER_NONE
82  * - #GO_USER_ADMIN
83  * - #GO_USER_TECH
84  */
85 typedef k32s GoUser;
86 /** @name GoUser
87  *@{*/
88 #define GO_USER_NONE (0) ///< No user.
89 #define GO_USER_ADMIN (1) ///< Administrator user.
90 #define GO_USER_TECH (2) ///< Technician user.
91 /**@}*/
92 
93 typedef k32s Buddyable;
94 /** @name Buddyable
95 *@{*/
96 #define GO_NOT_BUDDYABLE (0) ///< Technician user.
97 #define GO_BUDDYABLE (1) ///< Technician user.
98 #define GO_ALREADY_BUDDIED (-100) ///< No user.
99 #define GO_INVALID_STATE (-99) ///< Administrator user.
100 #define GO_VERSION_MISMATCH (-98) ///< Technician user.
101 #define GO_MODEL_MISMATCH (-97) ///< Technician user.
102 #define GO_UNREACHABLE_ADDRESS (-96) ///< Technician user.
103 
104 /**@}*/
105 
106 
107 /**
108  * @struct GoState
109  * @extends kValue
110  * @ingroup GoSdk
111  * @brief Represents the current state of a sensor object.
112  *
113  * The following enumerators are defined:
114  * - #GO_STATE_ONLINE
115  * - #GO_STATE_OFFLINE
116  * - #GO_STATE_RESETTING
117  * - #GO_STATE_INCOMPATIBLE
118  * - #GO_STATE_INCONSISTENT
119  * - #GO_STATE_UNRESPONSIVE
120  * - #GO_STATE_CANCELLED
121  * - #GO_STATE_INCOMPLETE
122  * - #GO_STATE_BUSY
123  * - #GO_STATE_READY
124  * - #GO_STATE_RUNNING
125  */
126 typedef k32s GoState;
127 /** @name GoState
128  *@{*/
129 #define GO_STATE_ONLINE (0) ///< Sensor disconnected, but detected via discovery.
130 #define GO_STATE_OFFLINE (1) ///< Sensor disconnected and no longer detected via discovery (refresh system to eliminate sensor).
131 #define GO_STATE_RESETTING (2) ///< Sensor disconnected and currently resetting (wait for completion).
132 #define GO_STATE_INCOMPATIBLE (4) ///< Sensor connected, but protocol incompatible with client (upgrade required).
133 #define GO_STATE_INCONSISTENT (5) ///< Sensor connected, but remote state was changed (refresh sensor).
134 #define GO_STATE_UNRESPONSIVE (6) ///< Sensor connected, but no longer detected via health or discovery (disconnect).
135 #define GO_STATE_CANCELLED (7) ///< Sensor connected, but communication aborted via GoSensor_Cancel function (disconnect or refresh sensor).
136 #define GO_STATE_INCOMPLETE (8) ///< Sensor connected, but a required buddy sensor is not present (wait or remove buddy association).
137 #define GO_STATE_BUSY (9) ///< Sensor connected, but currently controlled by another sensor (cannot be configured directly).
138 #define GO_STATE_READY (10) ///< Sensor connected and ready to accept configuration commands.
139 #define GO_STATE_RUNNING (11) ///< Sensor connected and currently running.
140 #define GO_STATE_UPGRADING (12) ///< Sensor is currently being upgraded.
141 /**@}*/
142 
143 typedef k32s GoBuddyState;
144 /** @name GoBuddyState
145 *@{*/
146 #define GO_BUDDY_STATE_ERROR (0) ///< General Error.
147 #define GO_BUDDY_STATE_CONNECTING (3) ///< Buddy is currently connecting.
148 #define GO_BUDDY_STATE_CONNECTABLE (2) ///< Sensor can be buddied to.
149 #define GO_BUDDY_STATE_CONNECTED (1) ///< Buddy is connected.
150 #define GO_BUDDY_STATE_ALREADY_BUDDIED (-100) ///< Sensor is already buddied to something else.
151 #define GO_BUDDY_STATE_INVALID_STATE (-99) ///< Buddy is in an invalid state.
152 #define GO_BUDDY_STATE_VERSION_MISMATCH (-98) ///< The sensors are not currently running the same Gocator firmware version.
153 #define GO_BUDDY_STATE_MODEL_MISMATCH (-97) ///< Sensors are not of the same model number and cannot be buddied.
154 #define GO_BUDDY_STATE_UNREACHABLE_ADDRESS (-96) ///< Sensor cannot be connected to.
155 #define GO_BUDDY_STATE_DEVICE_MISSING (-95) ///< Buddied sensor cannot be detected.
156 /**@}*/
157 
158 
159 /**
160  * @struct GoRole
161  * @extends kValue
162  * @ingroup GoSdk
163  * @brief Represents a user role.
164  *
165  * The following enumerators are defined:
166  * - #GO_ROLE_MAIN
167  * - #GO_ROLE_BUDDY
168  */
169 typedef k32s GoRole;
170 /** @name GoRole
171  *@{*/
172 #define GO_ROLE_MAIN (0) ///< Sensor is operating as a main sensor.
173 #define GO_ROLE_BUDDY (1) ///< Sensor is operating as a buddy sensor.
174 #define GOROLE_BUDDYIDX(buddyidx) ((GoRole)GO_ROLE_BUDDY + buddyidx)
175 /**@}*/
176 
177 /**
178  * @struct GoAcceleratorConnectionStatus
179  * @extends kValue
180  * @ingroup GoSdk
181  * @brief Represents the status of the Accelerator connection.
182  *
183  * The following enumerators are defined:
184  * - #GO_ACCELERATOR_CONNECTION_STATUS_CONNECTED
185  * - #GO_ACCELERATOR_CONNECTION_STATUS_DISCONNECTED
186  * - #GO_ACCELERATOR_CONNECTION_STATUS_ERROR
187  */
189 /** @name GoAcceleratorConnectionStatus
190  *@{*/
191 #define GO_ACCELERATOR_CONNECTION_STATUS_CONNECTED (0) ///< Accelerated sensor has connected.
192 #define GO_ACCELERATOR_CONNECTION_STATUS_DISCONNECTED (1) ///< Accelerated sensor has disconnected.
193 #define GO_ACCELERATOR_CONNECTION_STATUS_ERROR (2) ///< An error occurred with the accelerated sensor connection.
194 /**@}*/
195 
196 /**
197  * @struct GoAlignmentState
198  * @extends kValue
199  * @ingroup GoSdk
200  * @brief Represents an alignment state.
201  *
202  * The following enumerators are defined:
203  * - #GO_ALIGNMENT_STATE_NOT_ALIGNED
204  * - #GO_ALIGNMENT_STATE_ALIGNED
205  */
206 typedef k32s GoAlignmentState;
207 /** @name GoAlignmentState
208  *@{*/
209 #define GO_ALIGNMENT_STATE_NOT_ALIGNED (0) ///< Sensor is not aligned.
210 #define GO_ALIGNMENT_STATE_ALIGNED (1) ///< Sensor is aligned.
211 /**@}*/
212 
213 /**
214  * @struct GoAlignmentRef
215  * @extends kValue
216  * @ingroup GoSdk
217  * @brief Represents an alignment reference.
218  *
219  * The following enumerators are defined:
220  * - #GO_ALIGNMENT_REF_FIXED
221  * - #GO_ALIGNMENT_REF_DYNAMIC
222  */
223 typedef k32s GoAlignmentRef;
224 /** @name GoAlignmentRef
225  *@{*/
226 #define GO_ALIGNMENT_REF_FIXED (0) ///< The alignment used will be specific to the sensor.
227 #define GO_ALIGNMENT_REF_DYNAMIC (1) ///< The alignment used will be specific to the current job if saved.
228 /**@}*/
229 
230 /**
231  * @struct GoMode
232  * @extends kValue
233  * @ingroup GoSdk
234  * @brief Represents a scan mode.
235  *
236  * The following enumerators are defined:
237  * - #GO_MODE_UNKNOWN
238  * - #GO_MODE_VIDEO
239  * - #GO_MODE_RANGE
240  * - #GO_MODE_PROFILE
241  * - #GO_MODE_SURFACE
242  */
243 typedef k32s GoMode;
244 /** @name GoMode
245  *@{*/
246 #define GO_MODE_UNKNOWN (-1) ///< Unknown scan mode.
247 #define GO_MODE_VIDEO (0) ///< Video scan mode.
248 #define GO_MODE_RANGE (1) ///< Range scan mode.
249 #define GO_MODE_PROFILE (2) ///< Profile scan mode.
250 #define GO_MODE_SURFACE (3) ///< Surface scan mode.
251 /**@}*/
252 
253 
254 /**
255  * @struct GoTrigger
256  * @extends kValue
257  * @ingroup GoSdk
258  * @brief Represents a trigger.
259  *
260  * The following enumerators are defined:
261  * - #GO_TRIGGER_TIME
262  * - #GO_TRIGGER_ENCODER
263  * - #GO_TRIGGER_INPUT
264  * - #GO_TRIGGER_SOFTWARE
265  */
266 typedef k32s GoTrigger;
267 /** @name GoTrigger
268  *@{*/
269 #define GO_TRIGGER_TIME (0) ///< The sensor will be time triggered.
270 #define GO_TRIGGER_ENCODER (1) ///< The sensor will be encoder triggered.
271 #define GO_TRIGGER_INPUT (2) ///< The sensor will be digital input triggered.
272 #define GO_TRIGGER_SOFTWARE (3) ///< The sensor will be software triggered.
273 /** @} */
274 
275 /**
276  * @struct GoEncoderTriggerMode
277  * @extends kValue
278  * @ingroup GoSdk
279  * @brief Represents an encoder's triggering behavior.
280  *
281  * The following enumerators are defined:
282  * - #GO_ENCODER_TRIGGER_MODE_TRACK_REVERSE
283  * - #GO_ENCODER_TRIGGER_MODE_IGNORE_REVERSE
284  * - #GO_ENCODER_TRIGGER_MODE_BIDIRECTIONAL
285  */
286 typedef k32s GoEncoderTriggerMode;
287 /** @name GoEncoderTriggerMode
288  *@{*/
289 #define GO_ENCODER_TRIGGER_MODE_TRACK_REVERSE (0) ///< Do not reverse trigger. Track reverse motion to prevent repeat forward triggers.
290 #define GO_ENCODER_TRIGGER_MODE_IGNORE_REVERSE (1) ///< Do not reverse trigger. Forward trigger unconditionally.
291 #define GO_ENCODER_TRIGGER_MODE_BIDIRECTIONAL (2) ///< Forward and reverse trigger.
292 /** @} */
293 
294 /**
295  * @struct GoFrameRateMaxSource
296  * @extends kValue
297  * @ingroup GoSdk
298  * @brief Represents the current maximum frame rate limiting source.
299  *
300  * The following enumerators are defined:
301  * - #GO_FRAME_RATE_MAX_SOURCE_CAMERA
302  * - #GO_FRAME_RATE_MAX_SOURCE_PART_DETECTION
303  */
304 typedef k32s GoFrameRateMaxSource;
305 /** @name GoFrameRateMaxSource
306  *@{*/
307 #define GO_FRAME_RATE_MAX_SOURCE_CAMERA (0) ///< Limited by the sensor's camera configuration.
308 #define GO_FRAME_RATE_MAX_SOURCE_PART_DETECTION (1) ///< Limited by part detection logic.
309 /** @} */
310 
311 /**
312  * @struct GoEncoderSpacingMinSource
313  * @extends kValue
314  * @ingroup GoSdk
315  * @brief Represents the current encoder period limiting source.
316  *
317  * The following enumerators are defined:
318  * - #GO_ENCODER_PERIOD_MAX_SOURCE_RESOLUTION
319  * - #GO_ENCODER_PERIOD_MAX_SOURCE_PART_DETECTION
320  */
322 /** @name GoEncoderSpacingMinSource
323  *@{*/
324 #define GO_ENCODER_PERIOD_MAX_SOURCE_RESOLUTION (0) ///< Limited by encoder resolution.
325 #define GO_ENCODER_PERIOD_MAX_SOURCE_PART_DETECTION (1) ///< Limited by part detection logic.
326 /**@}*/
327 
328 /**
329  * @struct GoTriggerUnits
330  * @extends kValue
331  * @ingroup GoSdk
332  * @brief Represents the system's primary synchronization domain
333  *
334  * The following enumerators are defined:
335  * - #GO_TRIGGER_UNIT_TIME
336  * - #GO_TRIGGER_UNIT_ENCODER
337  */
338 typedef k32s GoTriggerUnits;
339 /** @name GoTriggerUnits
340  *@{*/
341 #define GO_TRIGGER_UNIT_TIME (0) ///< Base the system on the internal clock.
342 #define GO_TRIGGER_UNIT_ENCODER (1) ///< Base the system on the encoder.
343 /**@}*/
344 
345 /**
346  * @struct GoExposureMode
347  * @extends kValue
348  * @ingroup GoSdk
349  * @brief Represents all possible exposure modes.
350  *
351  * The following enumerators are defined:
352  * - #GO_EXPOSURE_MODE_SINGLE
353  * - #GO_EXPOSURE_MODE_MULTIPLE
354  * - #GO_EXPOSURE_MODE_DYNAMIC
355  */
356 typedef k32s GoExposureMode;
357 /** @name GoExposureMode
358  *@{*/
359 #define GO_EXPOSURE_MODE_SINGLE (0) ///< Single exposure mode.
360 #define GO_EXPOSURE_MODE_MULTIPLE (1) ///< Multiple exposure mode.
361 #define GO_EXPOSURE_MODE_DYNAMIC (2) ///< Dynamic exposure mode.
362 /**@}*/
363 
364 /**
365  * @struct GoOrientation
366  * @extends kValue
367  * @ingroup GoSdk
368  * @brief Represents a sensor orientation type.
369  *
370  * The following enumerators are defined:
371  * - #GO_ORIENTATION_WIDE
372  * - #GO_ORIENTATION_OPPOSITE
373  * - #GO_ORIENTATION_REVERSE
374  */
375 typedef k32s GoOrientation;
376 /** @name GoOrientation
377  *@{*/
378 #define GO_ORIENTATION_WIDE (0) ///< Wide sensor orientation.
379 #define GO_ORIENTATION_OPPOSITE (1) ///< Opposite sensor orientation.
380 #define GO_ORIENTATION_REVERSE (2) ///< Reverse sensor orientation.
381 /**@}*/
382 
383 /**
384  * @struct GoInputSource
385  * @extends kValue
386  * @ingroup GoSdk
387  * @brief Represents a data input source.
388  *
389  * The following enumerators are defined:
390  * - #GO_INPUT_SOURCE_LIVE
391  * - #GO_INPUT_SOURCE_RECORDING
392  */
393 typedef k32s GoInputSource;
394 /** @name GoInputSource
395  *@{*/
396 #define GO_INPUT_SOURCE_LIVE (0) ///< The current data input source is from live sensor data.
397 #define GO_INPUT_SOURCE_RECORDING (1) ///< The current data source is from a replay.
398 /**@}*/
399 
400 /**
401  * @struct GoSeekDirection
402  * @extends kValue
403  * @ingroup GoSdk
404  * @brief Represents a playback seek direction.
405  *
406  * The following enumerators are defined:
407  * - #GO_SEEK_DIRECTION_FORWARD
408  * - #GO_SEEK_DIRECTION_BACKWARD
409  */
410 typedef k32s GoSeekDirection;
411 /** @name GoSeekDirection
412  *@{*/
413 #define GO_SEEK_DIRECTION_FORWARD (0) ///< Seek forward in the current replay.
414 #define GO_SEEK_DIRECTION_BACKWARD (1) ///< Seek backward in the current replay.
415 /**@}*/
416 
417 /**
418  * @struct GoDataSource
419  * @extends kValue
420  * @ingroup GoSdk
421  * @brief Represents a data source.
422  *
423  * The following enumerators are defined:
424  * #GO_DATA_SOURCE_NONE
425  * #GO_DATA_SOURCE_TOP
426  * #GO_DATA_SOURCE_BOTTOM
427  * #GO_DATA_SOURCE_TOP_LEFT
428  * #GO_DATA_SOURCE_TOP_RIGHT
429  * #GO_DATA_SOURCE_TOP_BOTTOM
430  * #GO_DATA_SOURCE_LEFT_RIGHT
431  */
432 typedef k32s GoDataSource;
433 /** @name GoDataSource
434  *@{*/
435 #define GO_DATA_SOURCE_NONE (-1) ///< Used to represent a buddy device when the buddy is not connected
436 #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
437 #define GO_DATA_SOURCE_BOTTOM (1) ///< Represents the buddy device in an opposite orientation buddy configuration
438 #define GO_DATA_SOURCE_TOP_LEFT (2) ///< Represents the main device in a wide or reverse orientation buddy configuration
439 #define GO_DATA_SOURCE_TOP_RIGHT (3) ///< Represents the buddy device in a wide or reverse orientation buddy configuration
440 #define GO_DATA_SOURCE_TOP_BOTTOM (4) ///< Represents both the main and buddy devices in a opposite orientation
441 #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)
442 /**@}*/
443 
444 /**
445  * @struct GoSpacingIntervalType
446  * @extends kValue
447  * @ingroup GoSdk
448  * @brief Represents spacing interval types.
449  *
450  * The following enumerators are defined:
451  * - #GO_SPACING_INTERVAL_TYPE_MAX_RES
452  * - #GO_SPACING_INTERVAL_TYPE_BALANCED
453  * - #GO_SPACING_INTERVAL_TYPE_MAX_SPEED
454  */
456 /** @name GoSpacingIntervalType
457  *@{*/
458 #define GO_SPACING_INTERVAL_TYPE_MAX_RES (0) ///< Maximum resolution spacing interval type.
459 #define GO_SPACING_INTERVAL_TYPE_BALANCED (1) ///< Balanced spacing interval type.
460 #define GO_SPACING_INTERVAL_TYPE_MAX_SPEED (2) ///< Maximum speed spacing interval type.
461 #define GO_SPACING_INTERVAL_TYPE_CUSTOM (3) ///< The user specified custom interval.
462 /**@}*/
463 
464 /**
465  * @struct GoTriggerSource
466  * @extends kValue
467  * @ingroup GoSdk
468  * @brief Represents a trigger source type.
469  *
470  * The following enumerators are defined:
471  * - #GO_TRIGGER_SOURCE_TIME
472  * - #GO_TRIGGER_SOURCE_ENCODER
473  * - #GO_TRIGGER_SOURCE_INPUT
474  * - #GO_TRIGGER_SOURCE_SOFTWARE
475  */
476 typedef k32s GoTriggerSource;
477 /** @name GoTriggerSource
478  *@{*/
479 #define GO_TRIGGER_SOURCE_TIME (0) ///< Trigger on internal clock.
480 #define GO_TRIGGER_SOURCE_ENCODER (1) ///< Trigger on encoder.
481 #define GO_TRIGGER_SOURCE_INPUT (2) ///< Trigger on digital input.
482 #define GO_TRIGGER_SOURCE_SOFTWARE (3) ///< Trigger on software messages.
483 /**@}*/
484 
485 /**
486  * @struct GoAlignmentType
487  * @extends kValue
488  * @ingroup GoSdk
489  * @brief Represents an alignment type.
490  *
491  * The following enumerators are defined:
492  * - #GO_ALIGNMENT_TYPE_STATIONARY
493  * - #GO_ALIGNMENT_TYPE_MOVING
494  */
495 typedef k32s GoAlignmentType;
496 /** @name GoAlignmentType
497  *@{*/
498 #define GO_ALIGNMENT_TYPE_STATIONARY (0) ///< Stationary target alignment type.
499 #define GO_ALIGNMENT_TYPE_MOVING (1) ///< Moving target alignment type.
500 /**@}*/
501 
502 /**
503  * @struct GoAlignmentTarget
504  * @extends kValue
505  * @ingroup GoSdk
506  * @brief Represents a alignment target type.
507  *
508  * The following enumerators are defined:
509  * - #GO_ALIGNMENT_TARGET_NONE
510  * - #GO_ALIGNMENT_TARGET_DISK
511  * - #GO_ALIGNMENT_TARGET_BAR
512  * - #GO_ALIGNMENT_TARGET_PLATE
513  */
514 typedef k32s GoAlignmentTarget;
515 /** @name GoAlignmentTarget
516  *@{*/
517 #define GO_ALIGNMENT_TARGET_NONE (0) ///< No calibration target.
518 #define GO_ALIGNMENT_TARGET_DISK (1) ///< Calibration disk.
519 #define GO_ALIGNMENT_TARGET_BAR (2) ///< Calibration bar.
520 #define GO_ALIGNMENT_TARGET_PLATE (3) ///< Calibration plate.
521 /**@}*/
522 
523 
524 /**
525  * @struct GoReplayExportSourceType
526  * @extends kValue
527  * @ingroup GoSdk
528  * @brief Represents the replay export source type.
529  *
530  * The following enumerators are defined:
531  * - #GO_REPLAY_EXPORT_SOURCE_PRIMARY
532  * - #GO_REPLAY_EXPORT_SOURCE_INTENSITY
533  */
535 /** @name GoReplayExportSourceType
536  *@{*/
537 #define GO_REPLAY_EXPORT_SOURCE_PRIMARY (0) ///< Primary data(relevant to the current scan mode) replay export.
538 #define GO_REPLAY_EXPORT_SOURCE_INTENSITY (1) ///< Intensity data replay export.
539 /**@}*/
540 
541 /**
542  * @struct GoFamily
543  * @extends kValue
544  * @ingroup GoSdk
545  * @brief Represents the supported Gocator hardware families.
546  *
547  * The following enumerators are defined:
548  * - #GO_FAMILY_1000
549  * - #GO_FAMILY_2000
550  * - #GO_FAMILY_3000
551  */
552 typedef k32s GoFamily;
553 /** @name GoFamily
554  *@{*/
555 #define GO_FAMILY_UNKNOWN (-1) ///< Unidentified sensor family.
556 #define GO_FAMILY_1000 (0) ///< 1x00 series sensors.
557 #define GO_FAMILY_2000 (1) ///< 2x00 series sensors.
558 #define GO_FAMILY_3000 (2) ///< 3x00 series sensors.
559 /**@}*/
560 
561 /**
562  * @struct GoDecision
563  * @extends kValue
564  * @ingroup GoSdk
565  * @brief Represents the measurement output decision values. Bit 0 represents the decision value, while bits 1 through 7 represent the decision code, outlined by GoDecisionCode.
566  * @see GoDecisionCode
567  *
568  * The following enumerators are defined:
569  * - #GO_DECISION_FAIL
570  * - #GO_DECISION_PASS
571  */
572 typedef k8u GoDecision;
573 /** @name GoDecision
574  *@{*/
575 #define GO_DECISION_FAIL (0) ///< The measurement value is either valid and falls outside the defined passing decision range or is invalid. The failure error code can be used to determine whether the value was valid.
576 #define GO_DECISION_PASS (1) ///< The measurement value is valid and it falls within the defined passing decision range.
577 /**@}*/
578 
579 
580 /**
581  * @struct GoDecisionCode
582  * @extends kValue
583  * @ingroup GoSdk
584  * @brief Represents the possible measurement decision codes.
585  *
586  * The following enumerators are defined:
587  * - #GO_DECISION_CODE_OK
588  * - #GO_DECISION_CODE_INVALID_ANCHOR
589  * - #GO_DECISION_CODE_INVALID_VALUE
590  */
591 typedef k8u GoDecisionCode;
592 /** @name GoDecisionCode
593  *@{*/
594 #define GO_DECISION_CODE_OK (0) ///< The measurement value is valid and it falls outside the defined passing decision range.
595 #define GO_DECISION_CODE_INVALID_VALUE (1) ///< The measurement value is invalid.
596 #define GO_DECISION_CODE_INVALID_ANCHOR (2) ///< The tool associated with the measurement is anchored is has received invalid measurement data from its anchoring source(s).
597 /**@}*/
598 
599 /**
600 * @struct GoIntensitySource
601 * @extends kValue
602 * @ingroup GoSdk
603 * @brief Represents all possible sources of intensity data.
604 *
605 * The following enumerators are defined:
606 * - #GO_INTENSITY_SOURCE_BOTH
607 * - #GO_INTENSITY_SOURCE_FRONT
608 * - #GO_INTENSITY_SOURCE_BACK
609 */
610 typedef k32s GoIntensitySource;
611 /** @name GoIntensitySource
612 *@{*/
613 #define GO_INTENSITY_SOURCE_BOTH (0) ///< Intensity data based on both cameras.
614 #define GO_INTENSITY_SOURCE_FRONT (1) ///< Intensity data based on front camera.
615 #define GO_INTENSITY_SOURCE_BACK (2) ///< Intensity data based on back camera.
616 /**@}*/
617 
618 /**
619  * @struct GoStates
620  * @extends kValue
621  * @ingroup GoSdk
622  * @brief Sensor state, login, alignment information, recording state, playback source, uptime, playback information, and auto-start setting state.
623  */
624 typedef struct GoStates
625 {
626  GoState sensorState; ///< The state of the sensor.
627  GoUser loginType; ///< The logged in user.
628  GoAlignmentRef alignmentReference; ///< The alignment reference of the sensor.
629  GoAlignmentState alignmentState; ///< The alignment state of the sensor.
630  kBool recordingEnabled; ///< The current state of recording on the sensor.
631  k32s playbackSource; ///< The current playback source of the sensor.
632  k32u uptimeSec; ///< Sensor uptime in seconds.
633  k32u uptimeMicrosec; ///< Sensor uptime in microseconds.
634  k32u playbackPos; ///< The playback position index.
635  k32u playbackCount; ///< The playback count.
636  kBool autoStartEnabled; ///< The auto-start enabled state.
637  kBool isAccelerator; ///< The accelerated state of the sensor.
638 } GoStates;
639 
640 /**
641  * @struct GoAddressInfo
642  * @extends kValue
643  * @ingroup GoSdk
644  * @brief Sensor network address settings.
645  */
646 typedef struct GoAddressInfo
647 {
648  kBool useDhcp; ///< Sensor uses DHCP?
649  kIpAddress address; ///< Sensor IP address.
650  kIpAddress mask; ///< Sensor subnet bit-mask.
651  kIpAddress gateway; ///< Sensor gateway address.
652 } GoAddressInfo;
653 
654 /**
655  * @struct GoPortInfo
656  * @extends kValue
657  * @ingroup GoSdk
658  * @brief Ports used from a source device.
659  */
660 typedef struct GoPortInfo
661 {
662  k16u controlPort; ///< Control channel port.
663  k16u upgradePort; ///< Upgrade channel port.
664  k16u webPort; ///< Web channel port.
665  k16u dataPort; ///< Data channel port.
666  k16u healthPort; ///< Health channel port.
667 } GoPortInfo;
668 
669 /**
670 * @struct GoBuddyInfo
671 * @extends kValue
672 * @ingroup GoSdk
673 * @brief Buddy related status of another sensor.
674 */
675 typedef struct GoBuddyInfo
676 {
677  k32u id; ///< Serial number of the device.
678  GoBuddyState state;///< Buddy state of this device.
679 } GoBuddyInfo;
680 
681 /**
682  * @struct GoElement64f
683  * @extends kValue
684  * @ingroup GoSdk
685  * @brief Represents a 64-bit floating point configuration element with a range and enabled state.
686  */
687 typedef struct GoElement64f
688 {
689  kBool enabled; ///< Represents whether the element value is currently used. (not always applicable)
690  k64f systemValue; ///< The system value. (not always applicable)
691  k64f value; ///< The element's double field value.
692  k64f max; ///< The maximum allowable value that can be set for this element.
693  k64f min; ///< The minimum allowable value that can be set for this element.
694 } GoElement64f;
695 
696 /**
697  * @struct GoElement32u
698  * @extends kValue
699  * @ingroup GoSdk
700  * @brief Represents a 32-bit unsigned integer configuration element with a range and enabled state.
701  */
702 typedef struct GoElement32u
703 {
704  kBool enabled; ///< Represents whether the element value is currently used.
705  k32u systemValue; ///< The system value. (not always applicable)
706  k32u value; ///< The element's 32-bit unsigned field value.
707  k32u max; ///< The maximum allowable value that can be set for this element.
708  k32u min; ///< The minimum allowable value that can be set for this element.
709 } GoElement32u;
710 
711 /**
712  * @struct GoElementBool
713  * @extends kValue
714  * @ingroup GoSdk
715  * @brief Represents a boolean configuration element with an enabled state.
716  */
717 typedef struct GoElementBool
718 {
719  kBool enabled; ///< Represents whether the element value is currently used.
720  kBool systemValue; ///< The system value. (not always applicable)
721  kBool value; ///< The element's boolean field value.
722 } GoElementBool;
723 
724 /**
725  * @struct GoFilter
726  * @extends kValue
727  * @ingroup GoSdk
728  * @brief Represents a filter configuration element.
729  */
730 typedef struct GoFilter
731 {
732  kBool used; ///< Represents whether the filter field is currently used.
733  GoElement64f value; ///< The filter's configuration properties
734 } GoFilter;
735 
736 /**
737  * @struct GoActiveAreaConfig
738  * @extends kValue
739  * @ingroup GoSdk
740  * @brief Represents an active area configuration element.
741  */
742 typedef struct GoActiveAreaConfig
743 {
744  GoElement64f x; ///< The X offset of the active area.
745  GoElement64f y; ///< The Y offset of the active area.
746  GoElement64f z; ///< The Z offset of the active area.
747  GoElement64f height; ///< The height of the active area.
748  GoElement64f length; ///< The length of the active area.
749  GoElement64f width; ///< The width of the active area.
751 
752 /**
753  * @struct GoTransformation
754  * @extends kValue
755  * @ingroup GoSdk
756  * @brief Represents an alignment element.
757  */
758 typedef struct GoTransformation
759 {
760  k64f x; ///< The X offset of the transformation.
761  k64f y; ///< The Y offset of the transformation.
762  k64f z; ///< The Z offset of the transformation.
763  k64f xAngle; ///< The X angle of the transformation.
764  k64f yAngle; ///< The Y angle of the transformation.
765  k64f zAngle; ///< The Z angle of the transformation.
767 
768 /**
769  * @struct GoTransformedDataRegion
770  * @extends kValue
771  * @ingroup GoSdk
772  * @brief Represents a transformed data region.
773  */
775 {
776  k64f x; ///< The X offset of the transformed data region.
777  k64f y; ///< The Y offset of the transformed data region.
778  k64f z; ///< The Z offset of the transformed data region.
779  k64f width; ///< The width of the transformed data region.
780  k64f length; ///< The length of the transformed data region.
781  k64f height; ///< The height of the transformed data region.
783 
784 /**
785  * @struct GoOutputCompositeSource
786  * @extends kValue
787  * @ingroup GoSdk
788  * @brief Represents a composite data source.
789  */
791 {
792  k32s id; ///< The ID of the underlying data source.
793  GoDataSource dataSource; ///< The data source of the composite data source.
795 
796 /**
797  * @struct GoAsciiOperation
798  * @extends kValue
799  * @ingroup GoSdk-Output
800  * @brief Represents an ASCII protocol operational type.
801  *
802  * The following enumerators are defined:
803  * - #GO_ASCII_OPERATION_ASYNCHRONOUS
804  * - #GO_ASCII_OPERATION_POLLING
805  */
806 typedef k32s GoAsciiOperation;
807 /** @name GoAsciiOperation
808  *@{*/
809 #define GO_ASCII_OPERATION_ASYNCHRONOUS (0) ///< Selected measurement output will be sent upon sensor start.
810 #define GO_ASCII_OPERATION_POLLING (1) ///< Measurement output will only be sent as requested.
811 /**@}*/
812 
813 /**
814  * @struct GoAsciiStandardFormatMode
815  * @extends kValue
816  * @ingroup GoSdk-Output
817  * @brief Represents an ASCII standard format type.
818  *
819  * The following enumerators are defined:
820  * - #GS_ASCII_FORMAT_MODE_MEAS
821  * - #GS_ASCII_FORMAT_MODE_ENCODER_AND_FRAME
822  */
824 /** @name GoAsciiStandardFormatMode
825  *@{*/
826 #define GS_ASCII_FORMAT_MODE_MEAS (0) ///< Standard format will output with measurement values and decisions.
827 #define GS_ASCII_FORMAT_MODE_ENCODER_AND_FRAME (1) ///< Standard format will output with Encoder and Frame, then measurement values and decisions.
828 /**@}*/
829 
830 /**
831  * @struct GoSelcomFormat
832  * @extends kValue
833  * @ingroup GoSdk-Serial
834  * @brief Represents the selcom format followed on the serial output.
835  *
836  * The following enumerators are defined:
837  * - #GO_SELCOM_FORMAT_SLS
838  * - #GO_SELCOM_FORMAT_12BIT_ST
839  * - #GO_SELCOM_FORMAT_14BIT
840  * - #GO_SELCOM_FORMAT_14BIT_ST
841  */
842 typedef k32s GoSelcomFormat;
843 /** @name GoSelcomFormat
844  *@{*/
845 #define GO_SELCOM_FORMAT_SLS (0) ///< Selcom uses the SLS format
846 #define GO_SELCOM_FORMAT_12BIT_ST (1) ///< Selcom uses the 12-Bit Search/Track format
847 #define GO_SELCOM_FORMAT_14BIT (2) ///< Selcom uses the 14-Bit format
848 #define GO_SELCOM_FORMAT_14BIT_ST (3) ///< Selcom uses the 14-Bit Search/Track format
849 /**@}*/
850 
851 /**
852  * @struct GoSerialProtocol
853  * @extends kValue
854  * @ingroup GoSdk-Serial
855  * @brief Represents all serial output protocols.
856  *
857  * The following enumerators are defined:
858  * - #GO_SERIAL_PROTOCOL_GOCATOR
859  * - #GO_SERIAL_PROTOCOL_SELCOM
860  */
861 typedef k32s GoSerialProtocol;
862 /** @name GoSerialProtocol
863  *@{*/
864 #define GO_SERIAL_PROTOCOL_GOCATOR (0) ///< Gocator serial protocol.
865 #define GO_SERIAL_PROTOCOL_SELCOM (1) ///< Selcom serial protocol.
866 /**@}*/
867 
868 
869 /**
870  * @struct GoAnalogTrigger
871  * @extends kValue
872  * @ingroup GoSdk-Analog
873  * @brief Represents an analog output trigger.
874  *
875  * The following enumerators are defined:
876  * - #GO_ANALOG_TRIGGER_MEASUREMENT
877  * - #GO_ANALOG_TRIGGER_SOFTWARE
878  */
879 typedef k32s GoAnalogTrigger;
880 /** @name GoAnalogTrigger
881  *@{*/
882 #define GO_ANALOG_TRIGGER_MEASUREMENT (0) ///< Analog output triggered by measurement data.
883 #define GO_ANALOG_TRIGGER_SOFTWARE (1) ///< Analog output triggered by software.
884 /**@}*/
885 
886 /**
887  * @struct GoDigitalPass
888  * @extends kValue
889  * @ingroup GoSdk-Digital
890  * @brief Represents a digital output condition.
891  *
892  * The following enumerators are defined:
893  * - #GO_DIGITAL_PASS_TRUE
894  * - #GO_DIGITAL_PASS_FALSE
895  * - #GO_DIGITAL_PASS_ALWAYS
896  */
897 typedef k32s GoDigitalPass;
898 /** @name GoDigitalPass
899  *@{*/
900 #define GO_DIGITAL_PASS_TRUE (0) ///< Digital output triggers when all selected measurements pass.
901 #define GO_DIGITAL_PASS_FALSE (1) ///< Digital output triggers when all selected measurements fail.
902 #define GO_DIGITAL_PASS_ALWAYS (2) ///< Digital output triggers on every scan.
903 /**@}*/
904 
905 /**
906  * @struct GoDigitalSignal
907  * @extends kValue
908  * @ingroup GoSdk-Digital
909  * @brief Represents a digital output signal type.
910  *
911  * The following enumerators are defined:
912  * - #GO_DIGITAL_SIGNAL_PULSED
913  * - #GO_DIGITAL_SIGNAL_CONTINUOUS
914  */
915 typedef k32s GoDigitalSignal;
916 /** @name GoDigitalSignal
917  *@{*/
918 #define GO_DIGITAL_SIGNAL_PULSED (0) ///< Digital output is pulsed when triggered.
919 #define GO_DIGITAL_SIGNAL_CONTINUOUS (1) ///< Digital output is continuous when triggered.
920 /**@}*/
921 
922 /**
923  * @struct GoDigitalEvent
924  * @extends kValue
925  * @ingroup GoSdk-Digital
926  * @brief Represents a digital output event.
927  *
928  * The following enumerators are defined:
929  * - #GO_DIGITAL_EVENT_MEASUREMENT
930  * - #GO_DIGITAL_EVENT_SOFTWARE
931  * - #GO_DIGITAL_EVENT_ALIGNMENT
932  * - #GO_DIGITAL_EVENT_EXPOSURE_BEGIN
933  * - #GO_DIGITAL_EVENT_EXPOSURE_END
934  */
935 typedef k32s GoDigitalEvent;
936 /** @name GoDigitalEvent
937  *@{*/
938 #define GO_DIGITAL_EVENT_MEASUREMENT (1) ///< Digital output is triggered by measurement data.
939 #define GO_DIGITAL_EVENT_SOFTWARE (2) ///< Digital output is triggered by software.
940 #define GO_DIGITAL_EVENT_ALIGNMENT (3) ///< Digital output represents the alignment status.
941 #define GO_DIGITAL_EVENT_EXPOSURE_BEGIN (4) ///< Digital output is triggered at the start of exposure.
942 #define GO_DIGITAL_EVENT_EXPOSURE_END (5) ///< Digital output is triggered at the end of exposure, prior to processing.
943 /**@}*/
944 
945 /**
946  * @struct GoAnalogEvent
947  * @extends kValue
948  * @ingroup GoSdk-Analog
949  * @brief Represents a analog output event.
950  *
951  * The following enumerators are defined:
952  * - #GO_ANALOG_EVENT_MEASURMENT
953  * - #GO_ANALOG_EVENT_SOFTWARE
954  */
955 typedef k32s GoAnalogEvent;
956 /** @name GoAnalogEvent
957  *@{*/
958 #define GO_ANALOG_EVENT_MEASURMENT (1) ///< Analog output is triggered by measurement data.
959 #define GO_ANALOG_EVENT_SOFTWARE (2) ///< Analog output is triggered by software.
960 /**@}*/
961 
962 /**
963  * @struct GoEthernetProtocol
964  * @extends kValue
965  * @ingroup GoSdk-Ethernet
966  * @brief Represents a ethernet output protocol.
967  *
968  * The following enumerators are defined:
969  * - #GO_ETHERNET_PROTOCOL_GOCATOR
970  * - #GO_ETHERNET_PROTOCOL_MODBUS
971  * - #GO_ETHERNET_PROTOCOL_ETHERNET_IP
972  * - #GO_ETHERNET_PROTOCOL_ASCII
973  */
974 typedef k32s GoEthernetProtocol;
975 /** @name GoEthernetProtocol
976  *@{*/
977 #define GO_ETHERNET_PROTOCOL_GOCATOR (0) ///< Gocator ethernet protocol.
978 #define GO_ETHERNET_PROTOCOL_MODBUS (1) ///< Modbus ethernet protocol.
979 #define GO_ETHERNET_PROTOCOL_ETHERNET_IP (2) ///< EthernetIP ethernet protocol.
980 #define GO_ETHERNET_PROTOCOL_ASCII (3) ///< ASCII ethernet protocol.
981 /**@}*/
982 
983 
984 /**
985  * @struct GoEndianType
986  * @extends kValue
987  * @ingroup GoSdk-Ethernet
988  * @brief Represents an endian output type.
989  *
990  * The following enumerators are defined:
991  * - #GO_ENDIAN_TYPE_BIG
992  * - #GO_ENDIAN_TYPE_LITTLE
993  */
994 typedef k32s GoEndianType;
995 /** @name GoEndianType
996  *@{*/
997 #define GO_ENDIAN_TYPE_BIG (0) ///< Big Endian output.
998 #define GO_ENDIAN_TYPE_LITTLE (1) ///< Little Endian output.
999 /**@}*/
1000 
1001 
1002 /**
1003  * @struct GoOutputSource
1004  * @extends kValue
1005  * @ingroup GoSdk-Output
1006  * @brief Represents output sources.
1007  *
1008  * The following enumerators are defined:
1009  * - #GO_OUTPUT_SOURCE_NONE
1010  * - #GO_OUTPUT_SOURCE_VIDEO
1011  * - #GO_OUTPUT_SOURCE_RANGE
1012  * - #GO_OUTPUT_SOURCE_PROFILE
1013  * - #GO_OUTPUT_SOURCE_SURFACE
1014  * - #GO_OUTPUT_SOURCE_SECTION
1015  * - #GO_OUTPUT_SOURCE_RANGE_INTENSITY
1016  * - #GO_OUTPUT_SOURCE_PROFILE_INTENSITY
1017  * - #GO_OUTPUT_SOURCE_SURFACE_INTENSITY
1018  * - #GO_OUTPUT_SOURCE_SECTION_INTENSITY
1019  * - #GO_OUTPUT_SOURCE_MEASUREMENT
1020  * - #GO_OUTPUT_SOURCE_TRACHEID
1021  */
1022 typedef k32s GoOutputSource;
1023 /** @name GoOutputSource
1024  *@{*/
1025 #define GO_OUTPUT_SOURCE_NONE (0) ///< Unknown output source.
1026 #define GO_OUTPUT_SOURCE_VIDEO (1) ///< Output video data.
1027 #define GO_OUTPUT_SOURCE_RANGE (2) ///< Output range data.
1028 #define GO_OUTPUT_SOURCE_PROFILE (3) ///< Output profile data.
1029 #define GO_OUTPUT_SOURCE_SURFACE (4) ///< Output surface data.
1030 #define GO_OUTPUT_SOURCE_SECTION (9) ///< Output section data.
1031 #define GO_OUTPUT_SOURCE_RANGE_INTENSITY (5) ///< Output range intensity data.
1032 #define GO_OUTPUT_SOURCE_PROFILE_INTENSITY (6) ///< Output profile intensity data.
1033 #define GO_OUTPUT_SOURCE_SURFACE_INTENSITY (7) ///< Output surface intensity data.
1034 #define GO_OUTPUT_SOURCE_SECTION_INTENSITY (10) ///< Output section intensity data.
1035 #define GO_OUTPUT_SOURCE_MEASUREMENT (8) ///< Output measurement data.
1036 #define GO_OUTPUT_SOURCE_TRACHEID (11) ///< Output tracheid data.
1037 /**@}*/
1038 
1039 /**
1040  * @struct GoDataStep
1041  * @extends kValue
1042  * @ingroup GoSdk-Tools
1043  * @brief Represents possible data streams.
1044  *
1045  * The following enumerators are defined:
1046  * - #GO_DATA_STEP_NONE
1047  * - #GO_DATA_STEP_VIDEO
1048  * - #GO_DATA_STEP_RANGE
1049  * - #GO_DATA_STEP_PROFILE
1050  * - #GO_DATA_STEP_SURFACE
1051  * - #GO_DATA_STEP_SECTION
1052  */
1053 typedef k32s GoDataStep;
1054 /** @name GoDataStep
1055  *@{*/
1056 #define GO_DATA_STEP_NONE (-1) ///< Indicates that no specific stream has been specified.
1057 #define GO_DATA_STEP_VIDEO (0) ///< Video data stream.
1058 #define GO_DATA_STEP_RANGE (1) ///< Range data stream.
1059 #define GO_DATA_STEP_PROFILE (2) ///< Profile data stream.
1060 #define GO_DATA_STEP_SURFACE (3) ///< Surface data stream.
1061 #define GO_DATA_STEP_SECTION (4) ///< Section data stream.
1062 /**@}*/
1063 
1064 
1065 /**
1066  * @struct GoDataStream
1067  * @extends kValue
1068  * @ingroup GoSdk-Output
1069  * @brief Represents a data stream which consists of a data step and ID.
1070  */
1071 typedef struct GoDataStream
1072 {
1073  GoDataStep step;
1074  k32s id;
1075 } GoDataStream;
1076 
1077 /**
1078  * @struct GoOutputDelayDomain
1079  * @extends kValue
1080  * @ingroup GoSdk-Output
1081  * @brief Represents an output delay domain.
1082  *
1083  * The following enumerators are defined:
1084  * - #GO_OUTPUT_DELAY_DOMAIN_TIME
1085  * - #GO_OUTPUT_DELAY_DOMAIN_ENCODER
1086  */
1087 typedef k32s GoOutputDelayDomain;
1088 /** @name GoOutputDelayDomain
1089  *@{*/
1090 #define GO_OUTPUT_DELAY_DOMAIN_TIME (0) ///< Time(uS) based delay domain.
1091 #define GO_OUTPUT_DELAY_DOMAIN_ENCODER (1) ///< Encoder tick delay domain.
1092 /**@}*/
1093 
1094 /**
1095  * @struct GoPixelType
1096  * @ingroup GoSdk
1097  * @brief Represents a video message pixel type.
1098  *
1099  * The following enumerators are defined:
1100  * - #GO_PIXEL_TYPE_8U
1101  * - #GO_PIXEL_TYPE_RGB
1102  */
1103 typedef k32s GoPixelType;
1104 /** @name GoPixelType
1105  *@{*/
1106 #define GO_PIXEL_TYPE_UNKNOWN (-1)
1107 #define GO_PIXEL_TYPE_8U (0) ///< Each pixel is represented as unsigned 8-bit values.
1108 #define GO_PIXEL_TYPE_RGB (1) ///< Each pixel is represented as three unsigned 8-bit values.
1109 /**@}*/
1110 
1111 /**
1112  * @struct GoToolType
1113  * @extends kValue
1114  * @ingroup GoSdk-Tools
1115  * @brief Lists all tool types.
1116  *
1117  * The following enumerators are defined:
1118  * - #GO_TOOL_UNKNOWN
1119  * - #GO_TOOL_RANGE_POSITION
1120  * - #GO_TOOL_RANGE_THICKNESS
1121  * - #GO_TOOL_PROFILE_AREA
1122  * - #GO_TOOL_PROFILE_BOUNDING_BOX
1123  * - #GO_TOOL_PROFILE_BRIDGE_VALUE
1124  * - #GO_TOOL_PROFILE_CIRCLE
1125  * - #GO_TOOL_PROFILE_DIMENSION
1126  * - #GO_TOOL_PROFILE_GROOVE
1127  * - #GO_TOOL_PROFILE_INTERSECT
1128  * - #GO_TOOL_PROFILE_LINE
1129  * - #GO_TOOL_PROFILE_PANEL
1130  * - #GO_TOOL_PROFILE_POSITION
1131  * - #GO_TOOL_PROFILE_STRIP
1132  * - #GO_TOOL_PROFILE_X_LINE
1133  * - #GO_TOOL_SURFACE_BOUNDING_BOX
1134  * - #GO_TOOL_SURFACE_COUNTERSUNK_HOLE
1135  * - #GO_TOOL_SURFACE_ELLIPSE
1136  * - #GO_TOOL_SURFACE_HOLE
1137  * - #GO_TOOL_SURFACE_OPENING
1138  * - #GO_TOOL_SURFACE_PLANE
1139  * - #GO_TOOL_SURFACE_POSITION
1140  * - #GO_TOOL_SURFACE_STUD
1141  * - #GO_TOOL_SURFACE_VOLUME
1142  * - #GO_TOOL_SCRIPT
1143  */
1144 typedef k32s GoToolType;
1145 /** @name GoToolType
1146  *@{*/
1147 #define GO_TOOL_UNKNOWN (-1) ///< Unknown tool.
1148 #define GO_TOOL_RANGE_POSITION (0) ///< Range Position tool.
1149 #define GO_TOOL_RANGE_THICKNESS (1) ///< Range Thickness tool.
1150 #define GO_TOOL_PROFILE_AREA (2) ///< Profile Area tool.
1151 #define GO_TOOL_PROFILE_BOUNDING_BOX (21) ///< Profile Bounding Box tool.
1152 #define GO_TOOL_PROFILE_BRIDGE_VALUE (24) ///< Profile Bridge Value tool.
1153 #define GO_TOOL_PROFILE_CIRCLE (3) ///< Profile Circle tool.
1154 #define GO_TOOL_PROFILE_DIMENSION (4) ///< Profile Dimension tool.
1155 #define GO_TOOL_PROFILE_GROOVE (5) ///< Profile Groove tool.
1156 #define GO_TOOL_PROFILE_INTERSECT (6) ///< Profile Intersect tool.
1157 #define GO_TOOL_PROFILE_LINE (7) ///< Profile Line tool.
1158 #define GO_TOOL_PROFILE_PANEL (8) ///< Profile Panel tool.
1159 #define GO_TOOL_PROFILE_POSITION (9) ///< Profile Position tool.
1160 #define GO_TOOL_PROFILE_STRIP (10) ///< Profile Strip tool.
1161 #define GO_TOOL_PROFILE_X_LINE (23) ///< Profile X-Line tool.
1162 #define GO_TOOL_SURFACE_BOUNDING_BOX (11) ///< Surface Bounding Box tool.
1163 #define GO_TOOL_SURFACE_COUNTERSUNK_HOLE (20) ///< Surface Countersunk Hole tool.
1164 #define GO_TOOL_SURFACE_DIMENSION (25) ///< Surface Dimension tool.
1165 #define GO_TOOL_SURFACE_ELLIPSE (12) ///< Surface Ellipse tool.
1166 #define GO_TOOL_SURFACE_HOLE (13) ///< Surface Hole tool.
1167 #define GO_TOOL_SURFACE_OPENING (14) ///< Surface Opening tool.
1168 #define GO_TOOL_SURFACE_PLANE (15) ///< Surface Plane tool.
1169 #define GO_TOOL_SURFACE_POSITION (16) ///< Surface Position tool.
1170 #define GO_TOOL_SURFACE_STUD (17) ///< Surface Stud tool.
1171 #define GO_TOOL_SURFACE_VOLUME (18) ///< Surface Volume tool.
1172 #define GO_TOOL_SCRIPT (19) ///< Script tool.
1173 #define GO_TOOL_PROFILE_ROUND_CORNER (26) ///< Profile Round Corner tool.
1174 
1175 #define GO_TOOL_EXTENSIBLE (1000)
1176 #define GO_TOOL_TOOL (1001)
1177 /**@}*/
1178 
1179 /**
1180 * @struct GoFeatureDataType
1181 * @extends kValue
1182 * @ingroup GoSdk-Tools
1183 * @brief Lists all feature data types.
1184 *
1185 * The following enumerators are defined:
1186 * - #GO_FEATURE_DATA_UNKNOWN
1187 * - #GO_FEATURE_DATA_POINT
1188 * - #GO_FEATURE_DATA_LINE
1189 * - #GO_FEATURE_DATA_CIRCLE
1190 * - #GO_FEATURE_DATA_PLANE
1191 */
1192 typedef k32s GoFeatureDataType;
1193 /** @name GoFeatureDataType
1194 *@{*/
1195 #define GO_FEATURE_DATA_UNKNOWN (-1) ///< Unknown feature.
1196 #define GO_FEATURE_DATA_POINT (0) ///< Point feature.
1197 #define GO_FEATURE_DATA_LINE (1) ///< Linear feature.
1198 #define GO_FEATURE_DATA_CIRCLE (2) ///< Circular feature.
1199 #define GO_FEATURE_DATA_PLANE (3) ///< Planar feature.
1200 /**@}*/
1201 
1202 /**
1203 * @struct GoFeatureType
1204 * @extends kValue
1205 * @ingroup GoSdk-Tools
1206 * @brief Lists all feature types.
1207 *
1208 * The following enumerators are defined:
1209 * - #GO_FEATURE_UNKNOWN
1210 * - #GO_FEATURE_EXTENSIBLE
1211 */
1212 typedef k32s GoFeatureType;
1213 /** @name GoFeatureType
1214 *@{*/
1215 #define GO_FEATURE_UNKNOWN (-1) ///< Unknown feature.
1216 #define GO_FEATURE_EXTENSIBLE (0) ///< Extensible feature.
1217 /**@}*/
1218 
1219 
1220 /**
1221  * @struct GoMeasurementType
1222  * @extends kValue
1223  * @ingroup GoSdk-Tools
1224  * @brief Lists all measurement types.
1225  *
1226  * The following enumerators are defined:
1227  * - #GO_MEASUREMENT_UNKNOWN
1228  * - #GO_MEASUREMENT_RANGE_POSITION_Z
1229  * - #GO_MEASUREMENT_RANGE_THICKNESS_THICKNESS
1230  * - #GO_MEASUREMENT_PROFILE_AREA_AREA
1231  * - #GO_MEASUREMENT_PROFILE_AREA_CENTROID_X
1232  * - #GO_MEASUREMENT_PROFILE_AREA_CENTROID_Z
1233  * - #GO_MEASUREMENT_PROFILE_BOUNDING_BOX_X
1234  * - #GO_MEASUREMENT_PROFILE_BOUNDING_BOX_Z
1235  * - #GO_MEASUREMENT_PROFILE_BOUNDING_BOX_HEIGHT
1236  * - #GO_MEASUREMENT_PROFILE_BOUNDING_BOX_WIDTH
1237  * - #GO_MEASUREMENT_PROFILE_BOUNDING_BOX_GLOBAL_X
1238  * - #GO_MEASUREMENT_PROFILE_BRIDGE_VALUE_ANGLE
1239  * - #GO_MEASUREMENT_PROFILE_BRIDGE_VALUE_BRIDGE_VALUE
1240  * - #GO_MEASUREMENT_PROFILE_CIRCLE_X
1241  * - #GO_MEASUREMENT_PROFILE_CIRCLE_Z
1242  * - #GO_MEASUREMENT_PROFILE_CIRCLE_RADIUS
1243  * - #GO_MEASUREMENT_PROFILE_DIMENSION_WIDTH
1244  * - #GO_MEASUREMENT_PROFILE_DIMENSION_HEIGHT
1245  * - #GO_MEASUREMENT_PROFILE_DIMENSION_DISTANCE
1246  * - #GO_MEASUREMENT_PROFILE_DIMENSION_CENTER_X
1247  * - #GO_MEASUREMENT_PROFILE_DIMENSION_CENTER_Z
1248  * - #GO_MEASUREMENT_PROFILE_GROOVE_X
1249  * - #GO_MEASUREMENT_PROFILE_GROOVE_Z
1250  * - #GO_MEASUREMENT_PROFILE_GROOVE_WIDTH
1251  * - #GO_MEASUREMENT_PROFILE_GROOVE_DEPTH
1252  * - #GO_MEASUREMENT_PROFILE_INTERSECT_X
1253  * - #GO_MEASUREMENT_PROFILE_INTERSECT_Z
1254  * - #GO_MEASUREMENT_PROFILE_INTERSECT_ANGLE
1255  * - #GO_MEASUREMENT_PROFILE_LINE_STDDEV
1256  * - #GO_MEASUREMENT_PROFILE_LINE_ERROR_MIN
1257  * - #GO_MEASUREMENT_PROFILE_LINE_ERROR_MAX
1258  * - #GO_MEASUREMENT_PROFILE_LINE_PERCENTILE
1259  * - #GO_MEASUREMENT_PROFILE_PANEL_GAP
1260  * - #GO_MEASUREMENT_PROFILE_PANEL_FLUSH
1261  * - #GO_MEASUREMENT_PROFILE_PANEL_LEFT_GAP_X
1262  * - #GO_MEASUREMENT_PROFILE_PANEL_LEFT_GAP_Z
1263  * - #GO_MEASUREMENT_PROFILE_PANEL_LEFT_FLUSH_X
1264  * - #GO_MEASUREMENT_PROFILE_PANEL_LEFT_FLUSH_Z
1265  * - #GO_MEASUREMENT_PROFILE_PANEL_LEFT_SURFACE_ANGLE
1266  * - #GO_MEASUREMENT_PROFILE_PANEL_RIGHT_GAP_X
1267  * - #GO_MEASUREMENT_PROFILE_PANEL_RIGHT_GAP_Z
1268  * - #GO_MEASUREMENT_PROFILE_PANEL_RIGHT_FLUSH_X
1269  * - #GO_MEASUREMENT_PROFILE_PANEL_RIGHT_FLUSH_Z
1270  * - #GO_MEASUREMENT_PROFILE_PANEL_RIGHT_SURFACE_ANGLE
1271  * - #GO_MEASUREMENT_PROFILE_POSITION_X
1272  * - #GO_MEASUREMENT_PROFILE_POSITION_Z
1273  * - #GO_MEASUREMENT_PROFILE_STRIP_POSITION_X
1274  * - #GO_MEASUREMENT_PROFILE_STRIP_POSITION_Z
1275  * - #GO_MEASUREMENT_PROFILE_STRIP_WIDTH
1276  * - #GO_MEASUREMENT_PROFILE_STRIP_HEIGHT
1277  * - #GO_MEASUREMENT_PROFILE_X_LINE_Z
1278  * - #GO_MEASUREMENT_PROFILE_X_LINE_VALIDITY
1279  * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_X
1280  * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_Y
1281  * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_Z
1282  * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_ZANGLE
1283  * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_HEIGHT
1284  * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_WIDTH
1285  * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_LENGTH
1286  * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_X
1287  * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_Y
1288  * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_Z_ANGLE
1289  * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_X
1290  * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Y
1291  * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Z
1292  * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_OUTER_RADIUS
1293  * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_DEPTH
1294  * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_BEVEL_RADIUS
1295  * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_BEVEL_ANGLE
1296  * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_X_ANGLE
1297  * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Y_ANGLE
1298  * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_COUNTERBORE_DEPTH
1299  * - #GO_MEASUREMENT_SURFACE_DIMENSION_WIDTH
1300  * - #GO_MEASUREMENT_SURFACE_DIMENSION_HEIGHT
1301  * - #GO_MEASUREMENT_SURFACE_DIMENSION_LENGTH
1302  * - #GO_MEASUREMENT_SURFACE_DIMENSION_DISTANCE
1303  * - #GO_MEASUREMENT_SURFACE_DIMENSION_PLANE_DISTANCE
1304  * - #GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_X
1305  * - #GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_Y
1306  * - #GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_Z
1307  * - #GO_MEASUREMENT_SURFACE_ELLIPSE_MAJOR
1308  * - #GO_MEASUREMENT_SURFACE_ELLIPSE_MINOR
1309  * - #GO_MEASUREMENT_SURFACE_ELLIPSE_RATIO
1310  * - #GO_MEASUREMENT_SURFACE_ELLIPSE_ZANGLE
1311  * - #GO_MEASUREMENT_SURFACE_HOLE_X
1312  * - #GO_MEASUREMENT_SURFACE_HOLE_Y
1313  * - #GO_MEASUREMENT_SURFACE_HOLE_Z
1314  * - #GO_MEASUREMENT_SURFACE_HOLE_RADIUS
1315  * - #GO_MEASUREMENT_SURFACE_OPENING_X
1316  * - #GO_MEASUREMENT_SURFACE_OPENING_Y
1317  * - #GO_MEASUREMENT_SURFACE_OPENING_Z
1318  * - #GO_MEASUREMENT_SURFACE_OPENING_WIDTH
1319  * - #GO_MEASUREMENT_SURFACE_OPENING_LENGTH
1320  * - #GO_MEASUREMENT_SURFACE_OPENING_ANGLE
1321  * - #GO_MEASUREMENT_SURFACE_PLANE_X_ANGLE
1322  * - #GO_MEASUREMENT_SURFACE_PLANE_Y_ANGLE
1323  * - #GO_MEASUREMENT_SURFACE_PLANE_Z_OFFSET
1324  * - #GO_MEASUREMENT_SURFACE_PLANE_STD_DEV
1325  * - #GO_MEASUREMENT_SURFACE_PLANE_ERROR_MIN
1326  * - #GO_MEASUREMENT_SURFACE_PLANE_ERROR_MAX
1327  * - #GO_MEASUREMENT_SURFACE_PLANE_X_NORMAL
1328  * - #GO_MEASUREMENT_SURFACE_PLANE_Y_NORMAL
1329  * - #GO_MEASUREMENT_SURFACE_PLANE_Z_NORMAL
1330  * - #GO_MEASUREMENT_SURFACE_PLANE_DISTANCE
1331  * - #GO_MEASUREMENT_SURFACE_POSITION_X
1332  * - #GO_MEASUREMENT_SURFACE_POSITION_Y
1333  * - #GO_MEASUREMENT_SURFACE_POSITION_Z
1334  * - #GO_MEASUREMENT_SURFACE_RIVET_X
1335  * - #GO_MEASUREMENT_SURFACE_RIVET_Y
1336  * - #GO_MEASUREMENT_SURFACE_RIVET_Z
1337  * - #GO_MEASUREMENT_SURFACE_RIVET_TILT_ANGLE
1338  * - #GO_MEASUREMENT_SURFACE_RIVET_TILT_DIRECTION
1339  * - #GO_MEASUREMENT_SURFACE_RIVET_RADIUS
1340  * - #GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MIN
1341  * - #GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MAX
1342  * - #GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MEAN
1343  * - #GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_STD_DEV
1344  * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MIN
1345  * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MAX
1346  * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MEAN
1347  * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_STD_DEV
1348  * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MIN
1349  * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MAX
1350  * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MEAN
1351  * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_STD_DEV
1352  * - #GO_MEASUREMENT_SURFACE_STUD_BASE_X
1353  * - #GO_MEASUREMENT_SURFACE_STUD_BASE_Y
1354  * - #GO_MEASUREMENT_SURFACE_STUD_BASE_Z
1355  * - #GO_MEASUREMENT_SURFACE_STUD_TIP_X
1356  * - #GO_MEASUREMENT_SURFACE_STUD_TIP_Y
1357  * - #GO_MEASUREMENT_SURFACE_STUD_TIP_Z
1358  * - #GO_MEASUREMENT_SURFACE_STUD_RADIUS
1359  * - #GO_MEASUREMENT_SURFACE_VOLUME_AREA
1360  * - #GO_MEASUREMENT_SURFACE_VOLUME_VOLUME
1361  * - #GO_MEASUREMENT_SURFACE_VOLUME_THICKNESS
1362  * - #GO_MEASUREMENT_SCRIPT_OUTPUT
1363  */
1364 typedef k32s GoMeasurementType;
1365 /** @name GoMeasurementType
1366  *@{*/
1367 #define GO_MEASUREMENT_UNKNOWN (-1) ///< Unknown measurement.
1368 #define GO_MEASUREMENT_RANGE_POSITION_Z (0) ///< Range Position tool Z measurement.
1369 #define GO_MEASUREMENT_RANGE_THICKNESS_THICKNESS (1) ///< Range Thickness tool Thickness measurement.
1370 #define GO_MEASUREMENT_PROFILE_AREA_AREA (2) ///< Profile Area tool Area measurement.
1371 #define GO_MEASUREMENT_PROFILE_AREA_CENTROID_X (3) ///< Profile Area tool Centroid X measurement.
1372 #define GO_MEASUREMENT_PROFILE_AREA_CENTROID_Z (4) ///< Profile Area tool Centroid Z measurement.
1373 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_X (82) ///< Profile Bounding Box X measurement.
1374 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_Z (83) ///< Profile Bounding Box Z measurement.
1375 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_HEIGHT (84) ///< Profile Bounding Box Height measurement.
1376 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_WIDTH (85) ///< Profile Bounding Box Width measurement.
1377 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_GLOBAL_X (86) ///< Profile Bounding Box Global X measurement.
1378 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_GLOBAL_Y (112) ///< Profile Bounding Box Global Y measurement.
1379 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_GLOBAL_ANGLE (113) ///< Profile Bounding Box Global Angle measurement.
1380 #define GO_MEASUREMENT_PROFILE_BRIDGE_VALUE_BRIDGE_VALUE (106) ///< Profile Bridge Value measurement.
1381 #define GO_MEASUREMENT_PROFILE_BRIDGE_VALUE_ANGLE (107) ///< Profile Bridge Value measurement.
1382 #define GO_MEASUREMENT_PROFILE_CIRCLE_X (5) ///< Profile Circle tool X measurement.
1383 #define GO_MEASUREMENT_PROFILE_CIRCLE_Z (6) ///< Profile Circle tool Z measurement.
1384 #define GO_MEASUREMENT_PROFILE_CIRCLE_RADIUS (7) ///< Profile Circle tool Radius measurement.
1385 #define GO_MEASUREMENT_PROFILE_DIMENSION_WIDTH (8) ///< Profile Dimension tool Width measurement.
1386 #define GO_MEASUREMENT_PROFILE_DIMENSION_HEIGHT (9) ///< Profile Dimension tool Height measurement.
1387 #define GO_MEASUREMENT_PROFILE_DIMENSION_DISTANCE (10) ///< Profile Dimension tool Distance measurement.
1388 #define GO_MEASUREMENT_PROFILE_DIMENSION_CENTER_X (11) ///< Profile Dimension tool Center X measurement.
1389 #define GO_MEASUREMENT_PROFILE_DIMENSION_CENTER_Z (12) ///< Profile Dimension tool Center Z measurement.
1390 #define GO_MEASUREMENT_PROFILE_GROOVE_X (13) ///< Profile Groove tool X measurement.
1391 #define GO_MEASUREMENT_PROFILE_GROOVE_Z (14) ///< Profile Groove tool Z measurement.
1392 #define GO_MEASUREMENT_PROFILE_GROOVE_WIDTH (15) ///< Profile Groove tool Width measurement.
1393 #define GO_MEASUREMENT_PROFILE_GROOVE_DEPTH (16) ///< Profile Groove tool Depth measurement.
1394 #define GO_MEASUREMENT_PROFILE_INTERSECT_X (17) ///< Profile Intersect tool X measurement.
1395 #define GO_MEASUREMENT_PROFILE_INTERSECT_Z (18) ///< Profile Intersect tool Z measurement.
1396 #define GO_MEASUREMENT_PROFILE_INTERSECT_ANGLE (19) ///< Profile Intersect tool Angle measurement.
1397 #define GO_MEASUREMENT_PROFILE_LINE_STDDEV (20) ///< Profile Line tool Standard Deviation measurement.
1398 #define GO_MEASUREMENT_PROFILE_LINE_ERROR_MIN (21) ///< Profile Line tool Minimum Error measurement.
1399 #define GO_MEASUREMENT_PROFILE_LINE_ERROR_MAX (22) ///< Profile Line tool Maximum Error measurement.
1400 #define GO_MEASUREMENT_PROFILE_LINE_PERCENTILE (23) ///< Profile Line tool Percentile measurement.
1401 #define GO_MEASUREMENT_PROFILE_LINE_OFFSET (130) ///< Profile Line tool Offset measurement.
1402 #define GO_MEASUREMENT_PROFILE_LINE_ANGLE (131) ///< Profile Line tool Angle measurement.
1403 #define GO_MEASUREMENT_PROFILE_LINE_ERROR_MIN_X (132) ///< Profile Line tool Minimum X Error measurement.
1404 #define GO_MEASUREMENT_PROFILE_LINE_ERROR_MIN_Z (133) ///< Profile Line tool Minimum Z Error measurement.
1405 #define GO_MEASUREMENT_PROFILE_LINE_ERROR_MAX_X (134) ///< Profile Line tool Maximum X Error measurement.
1406 #define GO_MEASUREMENT_PROFILE_LINE_ERROR_MAX_Z (135) ///< Profile Line tool Maximum Z Error measurement.
1407 #define GO_MEASUREMENT_PROFILE_PANEL_GAP (24) ///< Profile Panel tool Gap measurement.
1408 #define GO_MEASUREMENT_PROFILE_PANEL_FLUSH (25) ///< Profile Panel tool Flush measurement.
1409 #define GO_MEASUREMENT_PROFILE_PANEL_LEFT_GAP_X (136) ///< Profile Panel tool Left Gap X measurement.
1410 #define GO_MEASUREMENT_PROFILE_PANEL_LEFT_GAP_Z (137) ///< Profile Panel tool Left Gap Z measurement.
1411 #define GO_MEASUREMENT_PROFILE_PANEL_LEFT_FLUSH_X (138) ///< Profile Panel tool Left Flush X measurement.
1412 #define GO_MEASUREMENT_PROFILE_PANEL_LEFT_FLUSH_Z (139) ///< Profile Panel tool Left Flush Z measurement.
1413 #define GO_MEASUREMENT_PROFILE_PANEL_LEFT_SURFACE_ANGLE (140) ///< Profile Panel tool Left Surface Angle measurement.
1414 #define GO_MEASUREMENT_PROFILE_PANEL_RIGHT_GAP_X (141) ///< Profile Panel tool Right Gap X measurement.
1415 #define GO_MEASUREMENT_PROFILE_PANEL_RIGHT_GAP_Z (142) ///< Profile Panel tool Right Gap Z measurement.
1416 #define GO_MEASUREMENT_PROFILE_PANEL_RIGHT_FLUSH_X (143) ///< Profile Panel tool Right Flush X measurement.
1417 #define GO_MEASUREMENT_PROFILE_PANEL_RIGHT_FLUSH_Z (144) ///< Profile Panel tool Right Flush Z measurement.
1418 #define GO_MEASUREMENT_PROFILE_PANEL_RIGHT_SURFACE_ANGLE (145) ///< Profile Panel tool Right Surface Angle measurement.
1419 #define GO_MEASUREMENT_PROFILE_POSITION_X (26) ///< Profile Position tool X measurement.
1420 #define GO_MEASUREMENT_PROFILE_POSITION_Z (27) ///< Profile Position tool Z measurement.
1421 #define GO_MEASUREMENT_PROFILE_STRIP_POSITION_X (28) ///< Profile Strip tool X Position measurement.
1422 #define GO_MEASUREMENT_PROFILE_STRIP_POSITION_Z (29) ///< Profile Strip tool Z Position measurement.
1423 #define GO_MEASUREMENT_PROFILE_STRIP_WIDTH (30) ///< Profile Strip tool Width measurement.
1424 #define GO_MEASUREMENT_PROFILE_STRIP_HEIGHT (31) ///< Profile Strip tool Height measurement.
1425 #define GO_MEASUREMENT_PROFILE_X_LINE_Z (87) ///< Profile X-Line tool Z measurement.
1426 #define GO_MEASUREMENT_PROFILE_X_LINE_VALIDITY (88) ///< Profile X-Line tool Validity measurement.
1427 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_X (32) ///< Surface Bounding Box X measurement.
1428 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_Y (33) ///< Surface Bounding Box Y measurement.
1429 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_Z (34) ///< Surface Bounding Box Z measurement.
1430 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_ZANGLE (35) ///< Surface Bounding Box Z Angle measurement.
1431 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_HEIGHT (36) ///< Surface Bounding Box Height measurement.
1432 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_WIDTH (37) ///< Surface Bounding Box Width measurement.
1433 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_LENGTH (38) ///< Surface Bounding Box Length measurement.
1434 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_X (39) ///< Surface Bounding Box Global X measurement.
1435 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_Y (40) ///< Surface Bounding Box Global Y measurement.
1436 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_Z_ANGLE (41) ///< Surface Bounding Box Global Z Angle measurement.
1437 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_X (42) ///< Surface Countersunk Hole tool X position measurement.
1438 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Y (43) ///< Surface Countersunk Hole tool Y position measurement.
1439 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Z (44) ///< Surface Countersunk Hole tool Z position measurement.
1440 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_OUTER_RADIUS (45) ///< Surface Countersunk Hole tool Outer Radius measurement.
1441 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_DEPTH (46) ///< Surface Countersunk Hole tool Depth measurement.
1442 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_COUNTERBORE_DEPTH (108) ///< Surface Countersunk Hole tool Counterbore Depth measurement.
1443 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_BEVEL_RADIUS (47) ///< Surface Countersunk Hole tool Bevel Radius measurement.
1444 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_BEVEL_ANGLE (48) ///< Surface Countersunk Hole tool Bevel Angle measurement.
1445 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_X_ANGLE (49) ///< Surface Countersunk Hole tool X Angle measurement.
1446 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Y_ANGLE (50) ///< Surface Countersunk Hole tool Y Angle measurement.
1447 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_AXIS_TILT (122) ///< Surface Countersunk Hole tool axis tilt measurement.
1448 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_AXIS_ORIENTATION (123) ///< Surface Countersunk Hole tool axis orientation measurement.
1449 #define GO_MEASUREMENT_SURFACE_DIMENSION_WIDTH (114) ///< Surface Dimension tool Width measurement.
1450 #define GO_MEASUREMENT_SURFACE_DIMENSION_HEIGHT (115) ///< Surface Dimension tool Height measurement.
1451 #define GO_MEASUREMENT_SURFACE_DIMENSION_LENGTH (116) ///< Surface Dimension tool Length measurement.
1452 #define GO_MEASUREMENT_SURFACE_DIMENSION_DISTANCE (117) ///< Surface Dimension tool Distance measurement.
1453 #define GO_MEASUREMENT_SURFACE_DIMENSION_PLANE_DISTANCE (118) ///< Surface Dimension tool Plane Distance measurement.
1454 #define GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_X (119) ///< Surface Dimension tool Center X measurement.
1455 #define GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_Y (120) ///< Surface Dimension tool Center Y measurement.
1456 #define GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_Z (121) ///< Surface Dimension tool Center Z measurement.
1457 #define GO_MEASUREMENT_SURFACE_ELLIPSE_MAJOR (51) ///< Surface Ellipse tool Major measurement.
1458 #define GO_MEASUREMENT_SURFACE_ELLIPSE_MINOR (52) ///< Surface Ellipse tool Minor measurement.
1459 #define GO_MEASUREMENT_SURFACE_ELLIPSE_RATIO (53) ///< Surface Ellipse tool Ratio measurement.
1460 #define GO_MEASUREMENT_SURFACE_ELLIPSE_ZANGLE (54) ///< Surface Ellipse tool Z Angle measurement.
1461 #define GO_MEASUREMENT_SURFACE_HOLE_X (55) ///< Surface Hole tool X measurement.
1462 #define GO_MEASUREMENT_SURFACE_HOLE_Y (56) ///< Surface Hole tool Y measurement.
1463 #define GO_MEASUREMENT_SURFACE_HOLE_Z (57) ///< Surface Hole tool Z measurement.
1464 #define GO_MEASUREMENT_SURFACE_HOLE_RADIUS (58) ///< Surface Hole tool Radius measurement.
1465 #define GO_MEASUREMENT_SURFACE_OPENING_X (59) ///< Surface Opening tool X measurement.
1466 #define GO_MEASUREMENT_SURFACE_OPENING_Y (60) ///< Surface Opening tool Y measurement.
1467 #define GO_MEASUREMENT_SURFACE_OPENING_Z (61) ///< Surface Opening tool Z measurement.
1468 #define GO_MEASUREMENT_SURFACE_OPENING_WIDTH (62) ///< Surface Opening tool Width measurement.
1469 #define GO_MEASUREMENT_SURFACE_OPENING_LENGTH (63) ///< Surface Opening tool Length measurement.
1470 #define GO_MEASUREMENT_SURFACE_OPENING_ANGLE (64) ///< Surface Opening tool Angle measurement.
1471 #define GO_MEASUREMENT_SURFACE_PLANE_X_ANGLE (65) ///< Surface Plane tool X Angle measurement.
1472 #define GO_MEASUREMENT_SURFACE_PLANE_Y_ANGLE (66) ///< Surface Plane tool Y Angle measurement.
1473 #define GO_MEASUREMENT_SURFACE_PLANE_Z_OFFSET (67) ///< Surface Plane tool Z Offset measurement.
1474 #define GO_MEASUREMENT_SURFACE_PLANE_STD_DEV (109) ///< Surface Plane tool Standard Deviation measurement.
1475 #define GO_MEASUREMENT_SURFACE_PLANE_ERROR_MIN (110) ///< Surface Plane tool Minimum Error measurement.
1476 #define GO_MEASUREMENT_SURFACE_PLANE_ERROR_MAX (111) ///< Surface Plane tool Maximum Error measurement.
1477 #define GO_MEASUREMENT_SURFACE_PLANE_X_NORMAL (126) ///< Surface Plane tool X Normal measurement.
1478 #define GO_MEASUREMENT_SURFACE_PLANE_Y_NORMAL (127) ///< Surface Plane tool Y Normal measurement.
1479 #define GO_MEASUREMENT_SURFACE_PLANE_Z_NORMAL (128) ///< Surface Plane tool Z Normal measurement.
1480 #define GO_MEASUREMENT_SURFACE_PLANE_DISTANCE (129) ///< Surface Plane tool X Normal measurement.
1481 #define GO_MEASUREMENT_SURFACE_EDGE_X (130) ///< Surface Position edge tool X measurement.
1482 #define GO_MEASUREMENT_SURFACE_EDGE_Y (131) ///< Surface Position edge tool Y measurement.
1483 #define GO_MEASUREMENT_SURFACE_EDGE_Z (132) ///< Surface Position edge tool Z measurement.
1484 #define GO_MEASUREMENT_SURFACE_INTERSECT_X (133) ///< Surface Position intersect tool X measurement.
1485 #define GO_MEASUREMENT_SURFACE_INTERSECT_Y (134) ///< Surface Position intersect tool Y measurement.
1486 #define GO_MEASUREMENT_SURFACE_INTERSECT_Z (135) ///< Surface Position intersect tool Z measurement.
1487 #define GO_MEASUREMENT_SURFACE_INTERSECT_ANGLE (136) ///< Surface Position intersect tool angle.
1488 
1489 #define GO_MEASUREMENT_SURFACE_POSITION_X (68) ///< Surface Position tool X measurement.
1490 #define GO_MEASUREMENT_SURFACE_POSITION_Y (69) ///< Surface Position tool Y measurement.
1491 #define GO_MEASUREMENT_SURFACE_POSITION_Z (70) ///< Surface Position tool Z measurement.
1492 #define GO_MEASUREMENT_SURFACE_RIVET_X (88) ///< Surface Rivet tool X measurement.
1493 #define GO_MEASUREMENT_SURFACE_RIVET_Y (89) ///< Surface Rivet tool Y measurement.
1494 #define GO_MEASUREMENT_SURFACE_RIVET_Z (90) ///< Surface Rivet tool Z measurement.
1495 #define GO_MEASUREMENT_SURFACE_RIVET_TILT_ANGLE (91) ///< Surface Rivet tool X Angle measurement.
1496 #define GO_MEASUREMENT_SURFACE_RIVET_TILT_DIRECTION (92) ///< Surface Rivet tool Y Angle measurement.
1497 #define GO_MEASUREMENT_SURFACE_RIVET_RADIUS (93) ///< Surface Rivet tool Radius measurement.
1498 #define GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MIN (94) ///< Surface Rivet tool Top Offset Minimum measurement.
1499 #define GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MAX (95) ///< Surface Rivet tool Top Offset Maximum measurement.
1500 #define GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MEAN (96) ///< Surface Rivet tool Top Offset Mean measurement.
1501 #define GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_STD_DEV (97) ///< Surface Rivet tool Top Offset Standard Deviation measurement.
1502 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MIN (98) ///< Surface Rivet tool Radial Height Minimum measurement.
1503 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MAX (99) ///< Surface Rivet tool Radial Height Maximum measurement.
1504 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MEAN (100) ///< Surface Rivet tool Radial Height Mean measurement.
1505 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_STD_DEV (101) ///< Surface Rivet tool Radial Height Standard Deviation measurement.
1506 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MIN (102) ///< Surface Rivet tool Radial Slope Minimum measurement.
1507 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MAX (103) ///< Surface Rivet tool Radial Slope Maximum measurement.
1508 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MEAN (104) ///< Surface Rivet tool Radial Slope Mean measurement.
1509 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_STD_DEV (105) ///< Surface Rivet tool Radial Slope Standard Deviation measurement.
1510 #define GO_MEASUREMENT_SURFACE_STUD_BASE_X (71) ///< Surface Stud tool Base X measurement.
1511 #define GO_MEASUREMENT_SURFACE_STUD_BASE_Y (72) ///< Surface Stud tool Base Y measurement.
1512 #define GO_MEASUREMENT_SURFACE_STUD_BASE_Z (73) ///< Surface Stud tool Base Z measurement.
1513 #define GO_MEASUREMENT_SURFACE_STUD_TIP_X (74) ///< Surface Stud tool Tip X measurement.
1514 #define GO_MEASUREMENT_SURFACE_STUD_TIP_Y (75) ///< Surface Stud tool Tip Y measurement.
1515 #define GO_MEASUREMENT_SURFACE_STUD_TIP_Z (76) ///< Surface Stud tool Tip Z measurement.
1516 #define GO_MEASUREMENT_SURFACE_STUD_RADIUS (77) ///< Surface Stud tool Radius measurement.
1517 #define GO_MEASUREMENT_SURFACE_VOLUME_AREA (78) ///< Surface Volume tool Area measurement.
1518 #define GO_MEASUREMENT_SURFACE_VOLUME_VOLUME (79) ///< Surface Volume tool Volume measurement.
1519 #define GO_MEASUREMENT_SURFACE_VOLUME_THICKNESS (80) ///< Surface Volume tool Thickness measurement.
1520 #define GO_MEASUREMENT_SCRIPT_OUTPUT (81) ///< Script tool Output.
1521 #define GO_MEASUREMENT_EXTENSIBLE (87) ///< Extensible tool measurement.
1522 #define GO_MEASUREMENT_PROFILE_ROUND_CORNER_X (123) ///< Profile Round Corner tool X measurement.
1523 #define GO_MEASUREMENT_PROFILE_ROUND_CORNER_Z (124) ///< Profile Round Corner tool Z measurement.
1524 #define GO_MEASUREMENT_PROFILE_ROUND_CORNER_ANGLE (125) ///< Profile Round Corner tool Angle measurement.
1525 
1526 
1527 
1528 #define GO_FEATURE_DIMENSION_WIDTH (140) ///< Dimension tool width Intersect angle.
1529 #define GO_FEATURE_DIMENSION_LENGTH (141) ///< Dimension tool length Intersect angle.
1530 #define GO_FEATURE_DIMENSION_HEIGHT (142) ///< Dimension tool height Intersect angle.
1531 #define GO_FEATURE_DIMENSION_DISTANCE (143) ///< Dimension tool distance Intersect angle.
1532 #define GO_FEATURE_DIMENSION_PLANEDISTANCE (144) ///< Dimension tool plane distance Intersect angle.
1533 #define GO_FEATURE_DIMENSION_CENTERX (145) ///< Dimension tool center x Intersect angle.
1534 #define GO_FEATURE_DIMENSION_CENTERY (146) ///< Dimension tool center y Intersect angle.
1535 #define GO_FEATURE_DIMENSION_CENTERZ (147) ///< Dimension tool center z Intersect angle.
1536 
1537 
1538 
1539 //Highest Define = 135;
1540 /**@}*/
1541 
1542 //Tool Features
1543 #define GO_FEATURE_SURFACE_EDGE_EDGE_LINE (1) ///< Surface Edge Edge Line feature.
1544 #define GO_FEATURE_SURFACE_CENTER_POINT (2) ///< Surface Edge Edge Line feature.
1545 #define GO_FEATURE_SURFACE_BOUNDING_BOX_CENTER_POINT (3) ///< Surface Edge Edge Line feature.
1546 #define GO_FEATURE_SURFACE_COUNTERSUNKHOLE_CENTER_POINT (4) ///< Surface Edge Edge Line feature.
1547 #define GO_FEATURE_SURFACE_DIMENSION_CENTER_POINT (5) ///< Surface Edge Edge Line feature.
1548 #define GO_FEATURE_SURFACE_ELLIPSE_CENTER_POINT (6) ///< Surface Edge Edge Line feature.
1549 #define GO_FEATURE_SURFACE_ELLIPSE_MAYOR_AXIS_LINE (7) ///< Surface Edge Edge Line feature.
1550 #define GO_FEATURE_SURFACE_ELLIPSE_MINOR_AXIS_LINE (8) ///< Surface Edge Edge Line feature.
1551 #define GO_FEATURE_SURFACE_HOLE_CENTER_POINT (9) ///< Surface Edge Edge Line feature.
1552 #define GO_FEATURE_SURFACE_OPENING_CENTER_POINT (10) ///< Surface Edge Edge Line feature.
1553 #define GO_FEATURE_SURFACE_POSITION_POINT (11) ///< Surface Edge Edge Line feature.
1554 #define GO_FEATURE_SURFACE_STUD_TIP_POINT (12) ///< Surface Edge Edge Line feature.
1555 #define GO_FEATURE_SURFACE_STUD_BASE_POINT (13) ///< Surface Edge Edge Line feature.
1556 
1557 #define GO_FEATURE_PROFILE_POSITION_POINT (50) ///< Surface Edge Edge Line feature.
1558 #define GO_FEATURE_PROFILE_LINE_LINE (51) ///< Surface Edge Edge Line feature.
1559 #define GO_FEATURE_PROFILE_LINE_MIN_ERROR_POINT (52) ///< Surface Edge Edge Line feature.
1560 #define GO_FEATURE_PROFILE_LINE_MAX_ERROR_POINT (53) ///< Surface Edge Edge Line feature.
1561 #define GO_FEATURE_PROFILE_INTERSECT_INTERSECT_POINT (54) ///< Surface Edge Edge Line feature.
1562 #define GO_FEATURE_PROFILE_INTERSECT_LINE (55) ///< Surface Edge Edge Line feature.
1563 #define GO_FEATURE_PROFILE_INTERSECT_BASE_LINE (56) ///< Surface Edge Edge Line feature.
1564 #define GO_FEATURE_PROFILE_BOUNDING_BOX_CENTER_POINT (57) ///< Surface Edge Edge Line feature.
1565 #define GO_FEATURE_PROFILE_BOUNDING_BOX_CORNER_POINT (58) ///< Surface Edge Edge Line feature.
1566 #define GO_FEATURE_PROFILE_AREA_CENTER_POINT (59) ///< Surface Edge Edge Line feature.
1567 #define GO_FEATURE_PROFILE_CIRCLE_CENTER_POINT (60) ///< Surface Edge Edge Line feature.
1568 #define GO_FEATURE_PROFILE_DIMENSION_CENTER_POINT (61) ///< Surface Edge Edge Line feature.
1569 #define GO_FEATURE_PROFILE_PANEL_LEFT_GAP_POINT (62) ///< Surface Edge Edge Line feature.
1570 #define GO_FEATURE_PROFILE_PANEL_LEFT_FLUSH_POINT (63) ///< Surface Edge Edge Line feature.
1571 #define GO_FEATURE_PROFILE_PANEL_RIGHT_GAP_POINT (64) ///< Surface Edge Edge Line feature.
1572 #define GO_FEATURE_PROFILE_PANEL_RIGHT_FLUSH_POINT (65) ///< Surface Edge Edge Line feature.
1573 #define GO_FEATURE_PROFILE_ROUND_CORNER_POINT (66) ///< Surface Edge Edge Line feature.
1574 
1575 
1576 #define GO_MEASUREMENT_ID_NONE (-1)
1577 /**
1578  * @struct GoDataMessageType
1579  * @extends kValue
1580  * @ingroup GoSdk-DataChannel
1581  * @brief Lists all data message types.
1582  *
1583  * The following enumerators are defined:
1584  * - #GO_DATA_MESSAGE_TYPE_UNKNOWN
1585  * - #GO_DATA_MESSAGE_TYPE_STAMP
1586  * - #GO_DATA_MESSAGE_TYPE_HEALTH
1587  * - #GO_DATA_MESSAGE_TYPE_VIDEO
1588  * - #GO_DATA_MESSAGE_TYPE_RANGE
1589  * - #GO_DATA_MESSAGE_TYPE_RANGE_INTENSITY
1590  * - #GO_DATA_MESSAGE_TYPE_PROFILE
1591  * - #GO_DATA_MESSAGE_TYPE_PROFILE_INTENSITY
1592  * - #GO_DATA_MESSAGE_TYPE_RESAMPLED_PROFILE
1593  * - #GO_DATA_MESSAGE_TYPE_SURFACE
1594  * - #GO_DATA_MESSAGE_TYPE_SURFACE_INTENSITY
1595  * - #GO_DATA_MESSAGE_TYPE_MEASUREMENT
1596  * - #GO_DATA_MESSAGE_TYPE_ALIGNMENT
1597  * - #GO_DATA_MESSAGE_TYPE_EXPOSURE_CAL
1598  * - #GO_DATA_MESSAGE_TYPE_EDGE_MATCH
1599  * - #GO_DATA_MESSAGE_TYPE_BOUNDING_BOX_MATCH
1600  * - #GO_DATA_MESSAGE_TYPE_ELLIPSE_MATCH
1601  * - #GO_DATA_MESSAGE_TYPE_SECTION
1602  * - #GO_DATA_MESSAGE_TYPE_SECTION_INTENSITY
1603  * - #GO_DATA_MESSAGE_TYPE_EVENT
1604  * - #GO_DATA_MESSAGE_TYPE_TRACHEID
1605  * - #GO_DATA_MESSAGE_TYPE_FEATURE_POINT
1606  * - #GO_DATA_MESSAGE_TYPE_FEATURE_LINE
1607  * - #GO_DATA_MESSAGE_TYPE_FEATURE_PLANE
1608  * - #GO_DATA_MESSAGE_TYPE_FEATURE_CIRCLE
1609  */
1610 typedef k32s GoDataMessageType;
1611 /** @name GoDataMessageType
1612  *@{*/
1613 #define GO_DATA_MESSAGE_TYPE_UNKNOWN (-1) ///< Unknown message type.
1614 #define GO_DATA_MESSAGE_TYPE_STAMP (0) ///< Stamp message type.
1615 #define GO_DATA_MESSAGE_TYPE_HEALTH (1) ///< Health message type.
1616 #define GO_DATA_MESSAGE_TYPE_VIDEO (2) ///< Video message type.
1617 #define GO_DATA_MESSAGE_TYPE_RANGE (3) ///< Range message type.
1618 #define GO_DATA_MESSAGE_TYPE_RANGE_INTENSITY (4) ///< Range Intensity message type.
1619 #define GO_DATA_MESSAGE_TYPE_PROFILE (5) ///< Profile message type.
1620 #define GO_DATA_MESSAGE_TYPE_PROFILE_INTENSITY (6) ///< Profile(or Resampled if uniform spacing is enabled) Intensity message type.
1621 #define GO_DATA_MESSAGE_TYPE_RESAMPLED_PROFILE (7) ///< Resampled Profile message type.
1622 #define GO_DATA_MESSAGE_TYPE_SURFACE (8) ///< Surface message type.
1623 #define GO_DATA_MESSAGE_TYPE_SURFACE_INTENSITY (9) ///< Surface Intensity message type.
1624 #define GO_DATA_MESSAGE_TYPE_MEASUREMENT (10) ///< Measurement message type.
1625 #define GO_DATA_MESSAGE_TYPE_ALIGNMENT (11) ///< Alignment result message type.
1626 #define GO_DATA_MESSAGE_TYPE_EXPOSURE_CAL (12) ///< Exposure AutoSet/Calibration result message type.
1627 #define GO_DATA_MESSAGE_TYPE_EDGE_MATCH (16) ///< Part matching edge algorithm message type.
1628 #define GO_DATA_MESSAGE_TYPE_BOUNDING_BOX_MATCH (17) ///< Part matching bounding box algorithm message type.
1629 #define GO_DATA_MESSAGE_TYPE_ELLIPSE_MATCH (18) ///< Part matching ellipse algorithm message type.
1630 #define GO_DATA_MESSAGE_TYPE_SECTION (20) ///< Section message type.
1631 #define GO_DATA_MESSAGE_TYPE_SECTION_INTENSITY (21) ///< Section Intensity message type.
1632 #define GO_DATA_MESSAGE_TYPE_EVENT (22) ///< Event message type.
1633 #define GO_DATA_MESSAGE_TYPE_TRACHEID (23) ///< Tracheid message type.
1634 #define GO_DATA_MESSAGE_TYPE_FEATURE_POINT (24) ///< Point Feature message type.
1635 #define GO_DATA_MESSAGE_TYPE_FEATURE_LINE (25) ///< Line Feature message type.
1636 #define GO_DATA_MESSAGE_TYPE_FEATURE_PLANE (26) ///< Plane Feature message type.
1637 #define GO_DATA_MESSAGE_TYPE_FEATURE_CIRCLE (27) ///< Circle Feature message type.
1638 /**@}*/
1639 
1640 /**
1641 * @struct GoReplayConditionType
1642 * @extends kValue
1643 * @ingroup GoSdk-Replay
1644 * @brief Represents a replay condition type.
1645 *
1646 * The following enumerators are defined:
1647 * - #GO_REPLAY_CONDITION_TYPE_ANY_MEASUREMENT
1648 * - #GO_REPLAY_CONDITION_TYPE_ANY_DATA
1649 * - #GO_REPLAY_CONDITION_TYPE_MEASUREMENT
1650 */
1651 typedef k32s GoReplayConditionType;
1652 /** @name GoReplayConditionType
1653 *@{*/
1654 #define GO_REPLAY_CONDITION_TYPE_ANY_MEASUREMENT (0) ///< Any Measurement condition.
1655 #define GO_REPLAY_CONDITION_TYPE_ANY_DATA (1) ///< Any Data condition.
1656 #define GO_REPLAY_CONDITION_TYPE_MEASUREMENT (2) ///< Measurement condition.
1657 
1658 /**@}*/
1659 
1660 /**
1661 * @struct GoReplayCombineType
1662 * @extends kValue
1663 * @ingroup GoSdk-Replay
1664 * @brief Represents a replay combine type.
1665 *
1666 * The following enumerators are defined:
1667 * - #GO_REPLAY_COMBINE_TYPE_ANY
1668 * - #GO_REPLAY_COMBINE_TYPE_ALL
1669 */
1670 typedef k32s GoReplayCombineType;
1671 /** @name GoReplayCombineType
1672 *@{*/
1673 #define GO_REPLAY_COMBINE_TYPE_ANY (0) ///< Any
1674 #define GO_REPLAY_COMBINE_TYPE_ALL (1) ///< All
1675 /**@}*/
1676 
1677 /**
1678 * @struct GoReplayMeasurementResult
1679 * @extends kValue
1680 * @ingroup GoSdk-Replay
1681 * @brief Represents a replay measurement result.
1682 *
1683 * The following enumerators are defined:
1684 * - #GO_REPLAY_MEASUREMENT_RESULT_PASS
1685 * - #GO_REPLAY_MEASUREMENT_RESULT_FAIL
1686 * - #GO_REPLAY_MEASUREMENT_RESULT_VALID
1687 * - #GO_REPLAY_MEASUREMENT_RESULT_INVALID
1688 * - #GO_REPLAY_MEASUREMENT_RESULT_FAIL_OR_INVALID
1689 */
1691 /** @name GoReplayMeasurementResult
1692 *@{*/
1693 #define GO_REPLAY_MEASUREMENT_RESULT_PASS (0) ///< Pass
1694 #define GO_REPLAY_MEASUREMENT_RESULT_FAIL (1) ///< Fail
1695 #define GO_REPLAY_MEASUREMENT_RESULT_VALID (2) ///< Valid
1696 #define GO_REPLAY_MEASUREMENT_RESULT_INVALID (3) ///< Invalid
1697 #define GO_REPLAY_MEASUREMENT_RESULT_FAIL_OR_INVALID (4) ///< Fail or Invalid
1698 /**@}*/
1699 
1700 /**
1701 * @struct GoReplayRangeCountCase
1702 * @extends kValue
1703 * @ingroup GoSdk-Replay
1704 * @brief Represents a replay range count case.
1705 *
1706 * The following enumerators are defined:
1707 * - #GO_REPLAY_RANGE_COUNT_CASE_AT_ABOVE
1708 * - #GO_REPLAY_RANGE_COUNT_CASE_BELOW
1709 */
1711 /** @name GoReplayRangeCountCase
1712 *@{*/
1713 #define GO_REPLAY_RANGE_COUNT_CASE_AT_ABOVE (0) ///< Case at above
1714 #define GO_REPLAY_RANGE_COUNT_CASE_BELOW (1) ///< Case below
1715 /**@}*/
1716 
1717 /// @cond (Gocator_1x00 || Gocator_2x00)
1718 
1719 /**
1720 * @struct GoAdvancedType
1721 * @extends kValue
1722 * @ingroup GoSdk
1723 * @brief Represents advanced acquisition type.
1724 *
1725 * The following enumerators are defined:
1726 * - #GO_ADVANCED_TYPE_CUSTOM
1727 * - #GO_ADVANCED_TYPE_DIFFUSE
1728 */
1729 typedef k32s GoAdvancedType;
1730 /** @name GoAdvancedType
1731 *@{*/
1732 #define GO_ADVANCED_TYPE_CUSTOM (0) ///< Custom advanced acquisition type.
1733 #define GO_ADVANCED_TYPE_DIFFUSE (1) ///< Diffuse advanced acquisition type.
1734 /**@}*/
1735 
1736 /**
1737  * @struct GoMaterialType
1738  * @deprecated
1739  * @extends kValue
1740  * @ingroup GoSdk
1741  * @brief Represents a material acquisition type.
1742  *
1743  * The following enumerators are defined:
1744  * - #GO_MATERIAL_TYPE_CUSTOM
1745  * - #GO_MATERIAL_TYPE_DIFFUSE
1746  */
1747 typedef k32s GoMaterialType;
1748 /** @name GoMaterialType
1749  *@{*/
1750 #define GO_MATERIAL_TYPE_CUSTOM (0) ///< Custom material acquisition type.
1751 #define GO_MATERIAL_TYPE_DIFFUSE (1) ///< Diffuse material acquisition type.
1752 /**@}*/
1753 
1754 /**
1755  * @struct GoSpotSelectionType
1756  * @extends kValue
1757  * @ingroup GoSdk
1758  * @brief Represents a spot selection type.
1759  *
1760  * The following enumerators are defined:
1761  * - #GO_SPOT_SELECTION_TYPE_BEST
1762  * - #GO_SPOT_SELECTION_TYPE_TOP
1763  * - #GO_SPOT_SELECTION_TYPE_BOTTOM
1764  * - #GO_SPOT_SELECTION_TYPE_NONE
1765  * - #GO_SPOT_SELECTION_TYPE_CONTINUITY
1766  */
1767 typedef k32s GoSpotSelectionType;
1768 /** @name GoSpotSelectionType
1769  *@{*/
1770 #define GO_SPOT_SELECTION_TYPE_BEST (0) ///< Select the spot with the best value.
1771 #define GO_SPOT_SELECTION_TYPE_TOP (1) ///< Select the top-most spot.
1772 #define GO_SPOT_SELECTION_TYPE_BOTTOM (2) ///< Select the bottom-most spot.
1773 #define GO_SPOT_SELECTION_TYPE_NONE (3) ///< Disable spot selection.
1774 #define GO_SPOT_SELECTION_TYPE_CONTINUITY (4) ///< Select most continuous spot
1775 
1776 /**@}*/
1777 
1778 /// @endcond
1779 
1780 /// @cond (Gocator_1x00 || Gocator_2x00)
1781 /**
1782  * @struct GoProfileStripBaseType
1783  * @extends kValue
1784  * @ingroup GoSdk-ProfileTools
1785  * @brief Represents a profile strip tool base type.
1786  *
1787  * The following enumerators are defined:
1788  * - #GO_PROFILE_STRIP_BASE_TYPE_NONE
1789  * - #GO_PROFILE_STRIP_BASE_TYPE_FLAT
1790  */
1792 /** @name GoProfileStripBaseType
1793  *@{*/
1794 #define GO_PROFILE_STRIP_BASE_TYPE_NONE (0) ///< No strip base type.
1795 #define GO_PROFILE_STRIP_BASE_TYPE_FLAT (1) ///< Flat strip base type.
1796 /**@}*/
1797 
1798 /**
1799  * @struct GoProfileStripEdgeType
1800  * @extends kValue
1801  * @ingroup GoSdk-ProfileTools
1802  * @brief Represents a profile strip tool edge type.
1803  *
1804  * The following enumerators are defined:
1805  * - #GO_PROFILE_STRIP_EDGE_TYPE_RISING
1806  * - #GO_PROFILE_STRIP_EDGE_TYPE_FALLING
1807  * - #GO_PROFILE_STRIP_EDGE_TYPE_DATA_END
1808  * - #GO_PROFILE_STRIP_EDGE_TYPE_VOID
1809  */
1811 /** @name GoProfileStripEdgeType
1812  *@{*/
1813 #define GO_PROFILE_STRIP_EDGE_TYPE_RISING (1) ///< Rising strip edge type.
1814 #define GO_PROFILE_STRIP_EDGE_TYPE_FALLING (2) ///< Falling strip edge type.
1815 #define GO_PROFILE_STRIP_EDGE_TYPE_DATA_END (4) ///< Data end strip edge type.
1816 #define GO_PROFILE_STRIP_EDGE_TYPE_VOID (8) ///< Void strip edge type.
1817 /**@}*/
1818 
1819 
1820 /**
1821  * @struct GoProfileFeatureType
1822  * @ingroup GoSdk-ProfileTools
1823  * @brief Represents a profile feature point type.
1824  *
1825  * The following enumerators are defined:
1826  * - #GO_PROFILE_FEATURE_TYPE_MAX_Z
1827  * - #GO_PROFILE_FEATURE_TYPE_MIN_Z
1828  * - #GO_PROFILE_FEATURE_TYPE_MAX_X
1829  * - #GO_PROFILE_FEATURE_TYPE_MIN_X
1830  * - #GO_PROFILE_FEATURE_TYPE_CORNER
1831  * - #GO_PROFILE_FEATURE_TYPE_AVERAGE
1832  * - #GO_PROFILE_FEATURE_TYPE_RISING_EDGE
1833  * - #GO_PROFILE_FEATURE_TYPE_FALLING_EDGE
1834  * - #GO_PROFILE_FEATURE_TYPE_ANY_EDGE
1835  * - #GO_PROFILE_FEATURE_TYPE_TOP_CORNER
1836  * - #GO_PROFILE_FEATURE_TYPE_BOTTOM_CORNER
1837  * - #GO_PROFILE_FEATURE_TYPE_LEFT_CORNER
1838  * - #GO_PROFILE_FEATURE_TYPE_RIGHT_CORNER
1839  * - #GO_PROFILE_FEATURE_TYPE_MEDIAN
1840  */
1841 typedef k32s GoProfileFeatureType;
1842 /** @name GoProfileFeatureType
1843  *@{*/
1844 #define GO_PROFILE_FEATURE_TYPE_MAX_Z (0) ///< Point with the maximum Z value.
1845 #define GO_PROFILE_FEATURE_TYPE_MIN_Z (1) ///< Point with the minimum Z value.
1846 #define GO_PROFILE_FEATURE_TYPE_MAX_X (2) ///< Point with the maximum X value.
1847 #define GO_PROFILE_FEATURE_TYPE_MIN_X (3) ///< Point with the minimum X value.
1848 #define GO_PROFILE_FEATURE_TYPE_CORNER (4) ///< Dominant corner.
1849 #define GO_PROFILE_FEATURE_TYPE_AVERAGE (5) ///< Average of points.
1850 #define GO_PROFILE_FEATURE_TYPE_RISING_EDGE (6) ///< Rising edge.
1851 #define GO_PROFILE_FEATURE_TYPE_FALLING_EDGE (7) ///< Falling edge.
1852 #define GO_PROFILE_FEATURE_TYPE_ANY_EDGE (8) ///< Rising or falling edge.
1853 #define GO_PROFILE_FEATURE_TYPE_TOP_CORNER (9) ///< Top-most corner.
1854 #define GO_PROFILE_FEATURE_TYPE_BOTTOM_CORNER (10) ///< Bottom-most corner.
1855 #define GO_PROFILE_FEATURE_TYPE_LEFT_CORNER (11) ///< Left-most corner.
1856 #define GO_PROFILE_FEATURE_TYPE_RIGHT_CORNER (12) ///< Right-most corner.
1857 #define GO_PROFILE_FEATURE_TYPE_MEDIAN (13) ///< Median of points.
1858 /**@}*/
1859 
1860 /**
1861  * @struct GoProfileGapAxis
1862  * @ingroup GoSdk-ProfileTools
1863  * @brief Represents a profile gap measurement axis.
1864  *
1865  * The following enumerators are defined:
1866  * - #GO_PROFILE_GAP_AXIS_EDGE
1867  * - #GO_PROFILE_GAP_AXIS_SURFACE
1868  * - #GO_PROFILE_GAP_AXIS_DISTANCE
1869  */
1870 typedef k32s GoProfileGapAxis;
1871 /** @name GoProfileGapAxis
1872  *@{*/
1873 #define GO_PROFILE_GAP_AXIS_EDGE (0) ///< Measure the gap along the edge normal.
1874 #define GO_PROFILE_GAP_AXIS_SURFACE (1) ///< Measure the gap along the surface line.
1875 #define GO_PROFILE_GAP_AXIS_DISTANCE (2) ///< Measure the shortest distance between the two edges.
1876 /**@}*/
1877 
1878 /**
1879  * @struct GoProfileEdgeType
1880  * @ingroup GoSdk-ProfileTools
1881  * @brief Represents a profile edge type.
1882  *
1883  * The following enumerators are defined:
1884  * - #GO_PROFILE_EDGE_TYPE_TANGENT
1885  * - #GO_PROFILE_EDGE_TYPE_CORNER
1886  */
1887 typedef k32s GoProfileEdgeType;
1888 /** @name GoProfileEdgeType
1889  *@{*/
1890 #define GO_PROFILE_EDGE_TYPE_TANGENT (0) ///< Detect the edge by looking for the tangent.
1891 #define GO_PROFILE_EDGE_TYPE_CORNER (1) ///< Detect the edge by looking for the corner.
1892 /**@}*/
1893 
1894 /**
1895  * @struct GoProfileLineType
1896  * @ingroup GoSdk-ProfileTools
1897  * @brief Determines whether to use a line based on a Profile Line fit, or based on the x-axis.
1898  *
1899  * The following enumerators are defined:
1900  * - #GO_PROFILE_BASELINE_TYPE_X_AXIS
1901  * - #GO_PROFILE_BASELINE_TYPE_Z_AXIS
1902  * - #GO_PROFILE_BASELINE_TYPE_LINE
1903  */
1904 typedef k32s GoProfileBaseline;
1905 /** @name GoProfileBaseline
1906  *@{*/
1907 #define GO_PROFILE_BASELINE_TYPE_X_AXIS (0) ///< Use the X-Axis.
1908 #define GO_PROFILE_BASELINE_TYPE_Z_AXIS (1) ///< Use the Z-Axis.
1909 #define GO_PROFILE_BASELINE_TYPE_LINE (2) ///< Use the line fit.
1910 /**@}*/
1911 
1912 /**
1913  * @struct GoProfileAreaType
1914  * @ingroup GoSdk-ProfileTools
1915  * @brief Determines how to calculate profile area
1916  *
1917  * The following enumerators are defined:
1918  * - #GO_PROFILE_AREA_TYPE_OBJECT
1919  * - #GO_PROFILE_AREA_TYPE_CLEARANCE
1920  */
1921 typedef k32s GoProfileAreaType;
1922 /** @name GoProfileAreaType
1923  *@{*/
1924 #define GO_PROFILE_AREA_TYPE_OBJECT (0) ///< Sum the profile area that is above the line.
1925 #define GO_PROFILE_AREA_TYPE_CLEARANCE (1) ///< Sum the profile area that is below the line.
1926 /**@}*/
1927 
1928 /**
1929  * @struct GoProfileGapSide
1930  * @ingroup GoSdk-ProfileTools
1931  * @brief Selects which edge to use as the reference in a panel tool.
1932  *
1933  * The following enumerators are defined:
1934  * - #GO_PROFILE_PANEL_SIDE_LEFT
1935  * - #GO_PROFILE_PANEL_SIDE_RIGHT
1936  */
1937 typedef k32s GoProfilePanelSide;
1938 /** @name GoProfilePanelSide
1939  *@{*/
1940 #define GO_PROFILE_PANEL_SIDE_LEFT (0) ///< Use the left edge.
1941 #define GO_PROFILE_PANEL_SIDE_RIGHT (1) ///< Use the right edge.
1942 /**@}*/
1943 
1944 /**
1945  * @struct GoProfileRoundCornerDirection
1946  * @ingroup GoSdk-ProfileTools
1947  * @brief Selects which reference direction to use for the round corner tool.
1948  *
1949  * The following enumerators are defined:
1950  * - #GO_PROFILE_ROUND_CORNER_DIRECTION_LEFT
1951  * - #GO_PROFILE_ROUND_CORNER_DIRECTION_RIGHT
1952  */
1953 
1955 /** @name GoProfileRoundCornerDirection
1956  *@{*/
1957 #define GO_PROFILE_ROUND_CORNER_DIRECTION_LEFT (0) ///< Use the left edge.
1958 #define GO_PROFILE_ROUND_CORNER_DIRECTION_RIGHT (1) ///< Use the right edge.
1959 /**@}*/
1960 
1961 /**
1962  * @struct GoProfileGrooveShape
1963  * @ingroup GoSdk-ProfileTools
1964  * @brief Represents a profile edge type.
1965  *
1966  * The following enumerators are defined:
1967  * - #GO_PROFILE_GROOVE_SHAPE_U
1968  * - #GO_PROFILE_GROOVE_SHAPE_V
1969  * - #GO_PROFILE_GROOVE_SHAPE_OPEN
1970  */
1971 typedef k32s GoProfileGrooveShape;
1972 /** @name GoProfileGrooveShape
1973  *@{*/
1974 #define GO_PROFILE_GROOVE_SHAPE_U (0) ///< Detect grooves that are U shaped.
1975 #define GO_PROFILE_GROOVE_SHAPE_V (1) ///< Detect grooves that are V shaped.
1976 #define GO_PROFILE_GROOVE_SHAPE_OPEN (2) ///< Detect grooves that are open.
1977 /**@}*/
1978 
1979 /**
1980  * @struct GoProfileGrooveSelectType
1981  * @ingroup GoSdk-ProfileTools
1982  * @brief Determines which groove to select when multiple are present.
1983  *
1984  * The following enumerators are defined:
1985  * - #GO_PROFILE_GROOVE_SELECT_TYPE_MAX_DEPTH
1986  * - #GO_PROFILE_GROOVE_SELECT_TYPE_LEFT_INDEX
1987  * - #GO_PROFILE_GROOVE_SELECT_TYPE_RIGHT_INDEX
1988  */
1990 /** @name GoProfileGrooveSelectType
1991  *@{*/
1992 #define GO_PROFILE_GROOVE_SELECT_TYPE_MAX_DEPTH (0) ///< Select the groove with the maximum depth.
1993 #define GO_PROFILE_GROOVE_SELECT_TYPE_LEFT_INDEX (1) ///< Select the groove with the currently selected index starting from the left side.
1994 #define GO_PROFILE_GROOVE_SELECT_TYPE_RIGHT_INDEX (2) ///< Select the groove with the currently selected index starting from the right side.
1995 /**@}*/
1996 
1997 /**
1998  * @struct GoProfileGrooveLocation
1999  * @ingroup GoSdk-ProfileTools
2000  * @brief Determines which groove position to return.
2001  *
2002  * The following enumerators are defined:
2003  * - #GO_PROFILE_GROOVE_LOCATION_BOTTOM
2004  * - #GO_PROFILE_GROOVE_LOCATION_LEFT
2005  * - #GO_PROFILE_GROOVE_LOCATION_RIGHT
2006  */
2008 /** @name GoProfileGrooveLocation
2009  *@{*/
2010 #define GO_PROFILE_GROOVE_LOCATION_BOTTOM (0) ///< Return the position of the bottom of the groove.
2011 #define GO_PROFILE_GROOVE_LOCATION_LEFT (1) ///< Return the position of the left corner of the groove.
2012 #define GO_PROFILE_GROOVE_LOCATION_RIGHT (2) ///< Return the position of the right corner of the groove.
2013 /**@}*/
2014 
2015 /**
2016  * @struct GoProfileStripSelectType
2017  * @ingroup GoSdk-ProfileTools
2018  * @brief Determines which Strip to select when multiple are present.
2019  *
2020  * The following enumerators are defined:
2021  * - #GO_PROFILE_STRIP_SELECT_TYPE_BEST
2022  * - #GO_PROFILE_STRIP_SELECT_TYPE_LEFT_INDEX
2023  * - #GO_PROFILE_STRIP_SELECT_TYPE_RIGHT_INDEX
2024  */
2026 /** @name GoProfileStripSelectType
2027  *@{*/
2028 #define GO_PROFILE_STRIP_SELECT_TYPE_BEST (0) ///< Select the best strip.
2029 #define GO_PROFILE_STRIP_SELECT_TYPE_LEFT_INDEX (1) ///< Select the strip with the currently selected index starting from the left side.
2030 #define GO_PROFILE_STRIP_SELECT_TYPE_RIGHT_INDEX (2) ///< Select the strip with the currently selected index starting from the right side.
2031 /**@}*/
2032 
2033 /**
2034  * @struct GoProfileStripLocation
2035  * @ingroup GoSdk-ProfileTools
2036  * @brief Determines which Strip position to return.
2037  *
2038  * The following enumerators are defined:
2039  * - #GO_PROFILE_STRIP_LOCATION_LEFT
2040  * - #GO_PROFILE_STRIP_LOCATION_RIGHT
2041  * - #GO_PROFILE_STRIP_LOCATION_BOTTOM
2042  */
2044 /** @name GoProfileStripLocation
2045  *@{*/
2046 #define GO_PROFILE_STRIP_LOCATION_LEFT (0) ///< Return the position of the left corner of the Strip.
2047 #define GO_PROFILE_STRIP_LOCATION_RIGHT (1) ///< Return the position of the right corner of the Strip.
2048 #define GO_PROFILE_STRIP_LOCATION_BOTTOM (2) ///< Return the position of the center of the Strip.
2049 /**@}*/
2050 
2051 /**
2052 * @struct GoProfileGenerationType
2053 * @extends kValue
2054 * @ingroup GoSdk-Profile
2055 * @brief Represents a profile generation type.
2056 *
2057 * The following enumerators are defined:
2058 * - #GO_PROFILE_GENERATION_TYPE_CONTINUOUS
2059 * - #GO_PROFILE_GENERATION_TYPE_FIXED_LENGTH
2060 * - #GO_PROFILE_GENERATION_TYPE_VARIABLE_LENGTH
2061 * - #GO_PROFILE_GENERATION_TYPE_ROTATIONAL
2062 */
2064 /** @name GoProfileGenerationType
2065 *@{*/
2066 #define GO_PROFILE_GENERATION_TYPE_CONTINUOUS (0) ///< Continuous Profile generation.
2067 #define GO_PROFILE_GENERATION_TYPE_FIXED_LENGTH (1) ///< Fixed length Profile generation.
2068 #define GO_PROFILE_GENERATION_TYPE_VARIABLE_LENGTH (2) ///< Variable length Profile generation.
2069 #define GO_PROFILE_GENERATION_TYPE_ROTATIONAL (3) ///< Rotational Profile generation.
2070 /**@}*/
2071 
2072 /**
2073 * @struct GoProfileGenerationStartTrigger
2074 * @extends kValue
2075 * @ingroup GoSdk-Profile
2076 * @brief Represents a profile generation start trigger.
2077 *
2078 * The following enumerators are defined:
2079 * - #GO_PROFILE_GENERATION_START_TRIGGER_SEQUENTIAL
2080 * - #GO_PROFILE_GENERATION_START_TRIGGER_DIGITAL
2081 */
2083 /** @name GoProfileGenerationStartTrigger
2084 *@{*/
2085 #define GO_PROFILE_GENERATION_START_TRIGGER_SEQUENTIAL (0) ///< Sequential start trigger.
2086 #define GO_PROFILE_GENERATION_START_TRIGGER_DIGITAL (1) ///< Digital input start trigger.
2087 /**@}*/
2088 
2089 /// @endcond
2090 
2091 /// @cond (Gocator_2x00 || Gocator_3x00)
2092 
2093 /**
2094  * @struct GoPartFrameOfReference
2095  * @extends kValue
2096  * @ingroup GoSdk
2097  * @brief Represents a part detection frame of reference.
2098  *
2099  * The following enumerators are defined:
2100  * - #GO_PART_FRAME_OF_REFERENCE_TYPE_SENSOR
2101  * - #GO_PART_FRAME_OF_REFERENCE_TYPE_SCAN
2102  * - #GO_PART_FRAME_OF_REFERENCE_TYPE_PART
2103  */
2104 typedef k32s GoPartFrameOfReference;
2105 /** @name GoPartFrameOfReference
2106  *@{*/
2107 #define GO_PART_FRAME_OF_REFERENCE_TYPE_SENSOR (0) ///< Sensor frame of reference. 2x00 only.
2108 #define GO_PART_FRAME_OF_REFERENCE_TYPE_SCAN (0) ///< Scan frame of reference. 3x00 only. Value duplication is intentional.
2109 #define GO_PART_FRAME_OF_REFERENCE_TYPE_PART (1) ///< Part frame of reference.
2110 /**@}*/
2111 
2112 /**
2113  * @struct GoPartHeightThresholdDirection
2114  * @extends kValue
2115  * @ingroup GoSdk-Surface
2116  * @brief Represents a part detection height threshold direction.
2117  *
2118  * The following enumerators are defined:
2119  * - #GO_PART_HEIGHT_THRESHOLD_DIRECTION_ABOVE
2120  * - #GO_PART_HEIGHT_THRESHOLD_DIRECTION_BELOW
2121  */
2122 typedef k32s GoPartHeightThresholdDirection;
2123 /** @name GoPartHeightThresholdDirection
2124  *@{*/
2125 #define GO_PART_HEIGHT_THRESHOLD_DIRECTION_ABOVE (0) ///< Height threshold direction is above the Z-axis.
2126 #define GO_PART_HEIGHT_THRESHOLD_DIRECTION_BELOW (1) ///< Height threshold direction is below the Z-axis.
2127 /**@}*/
2128 
2129 /**
2130  * @struct GoSurfaceGenerationType
2131  * @extends kValue
2132  * @ingroup GoSdk-Surface
2133  * @brief Represents a surface generation type.
2134  *
2135  * The following enumerators are defined:
2136  * - #GO_SURFACE_GENERATION_TYPE_CONTINUOUS
2137  * - #GO_SURFACE_GENERATION_TYPE_FIXED_LENGTH
2138  * - #GO_SURFACE_GENERATION_TYPE_VARIABLE_LENGTH
2139  * - #GO_SURFACE_GENERATION_TYPE_ROTATIONAL
2140  */
2141 typedef k32s GoSurfaceGenerationType;
2142 /** @name GoSurfaceGenerationType
2143  *@{*/
2144 #define GO_SURFACE_GENERATION_TYPE_CONTINUOUS (0) ///< Continuous surface generation.
2145 #define GO_SURFACE_GENERATION_TYPE_FIXED_LENGTH (1) ///< Fixed length surface generation.
2146 #define GO_SURFACE_GENERATION_TYPE_VARIABLE_LENGTH (2) ///< Variable length surface generation.
2147 #define GO_SURFACE_GENERATION_TYPE_ROTATIONAL (3) ///< Rotational surface generation.
2148 /**@}*/
2149 
2150 /**
2151  * @struct GoSurfaceGenerationStartTrigger
2152  * @extends kValue
2153  * @ingroup GoSdk-Surface
2154  * @brief Represents a surface generation start trigger.
2155  *
2156  * The following enumerators are defined:
2157  * - #GO_SURFACE_GENERATION_START_TRIGGER_SEQUENTIAL
2158  * - #GO_SURFACE_GENERATION_START_TRIGGER_DIGITAL
2159  */
2160 typedef k32s GoSurfaceGenerationStartTrigger;
2161 /** @name GoSurfaceGenerationStartTrigger
2162  *@{*/
2163 #define GO_SURFACE_GENERATION_START_TRIGGER_SEQUENTIAL (0) ///< Sequential start trigger.
2164 #define GO_SURFACE_GENERATION_START_TRIGGER_DIGITAL (1) ///< Digital input start trigger.
2165 /**@}*/
2166 
2167 /**
2168  * @struct GoSurfaceLocation
2169  * @ingroup GoSdk-SurfaceTools
2170  * @brief Represents a surface location.
2171  *
2172  * The following enumerators are defined:
2173  * - #GO_SURFACE_LOCATION_TYPE_MAX
2174  * - #GO_SURFACE_LOCATION_TYPE_MIN
2175  * - #GO_SURFACE_LOCATION_TYPE_2D_CENTROID
2176  * - #GO_SURFACE_LOCATION_TYPE_3D_CENTROID
2177  * - #GO_SURFACE_LOCATION_TYPE_AVG
2178  * - #GO_SURFACE_LOCATION_TYPE_MEDIAN
2179  */
2180 typedef k32s GoSurfaceLocation;
2181 /** @name GoSurfaceLocation
2182  *@{*/
2183 #define GO_SURFACE_LOCATION_TYPE_MAX (0) ///< Location based on the maximum point.
2184 #define GO_SURFACE_LOCATION_TYPE_MIN (1) ///< Location based on the minimum point.
2185 #define GO_SURFACE_LOCATION_TYPE_2D_CENTROID (2) ///< Location based on a 2d centroid.
2186 #define GO_SURFACE_LOCATION_TYPE_3D_CENTROID (3) ///< Location based on a 3d centroid.
2187 #define GO_SURFACE_LOCATION_TYPE_AVG (4) ///< Location based on the average point.
2188 #define GO_SURFACE_LOCATION_TYPE_MEDIAN (5) ///< Location based on the median point.
2189 /**@}*/
2190 
2191 /**
2192  * @struct GoSurfaceFeatureType
2193  * @ingroup GoSdk-SurfaceTools
2194  * @brief Represents a surface feature type.
2195  *
2196  * The following enumerators are defined:
2197  * - #GO_SURFACE_FEATURE_TYPE_AVERAGE
2198  * - #GO_SURFACE_FEATURE_TYPE_CENTROID
2199  * - #GO_SURFACE_FEATURE_TYPE_X_MAX
2200  * - #GO_SURFACE_FEATURE_TYPE_X_MIN
2201  * - #GO_SURFACE_FEATURE_TYPE_Y_MAX
2202  * - #GO_SURFACE_FEATURE_TYPE_Y_MIN
2203  * - #GO_SURFACE_FEATURE_TYPE_Z_MAX
2204  * - #GO_SURFACE_FEATURE_TYPE_Z_MIN
2205  * - #GO_SURFACE_FEATURE_TYPE_MEDIAN
2206  */
2207 typedef k32s GoSurfaceFeatureType;
2208 /** @name GoSurfaceFeatureType
2209  *@{*/
2210 #define GO_SURFACE_FEATURE_TYPE_AVERAGE (0) ///< Feature based on the average.
2211 #define GO_SURFACE_FEATURE_TYPE_CENTROID (1) ///< Feature based on the centroid.
2212 #define GO_SURFACE_FEATURE_TYPE_X_MAX (2) ///< Feature based on the X maximum point.
2213 #define GO_SURFACE_FEATURE_TYPE_X_MIN (3) ///< Feature based on the X minimum point.
2214 #define GO_SURFACE_FEATURE_TYPE_Y_MAX (4) ///< Feature based on the Y maximum point.
2215 #define GO_SURFACE_FEATURE_TYPE_Y_MIN (5) ///< Feature based on the Y minimum point.
2216 #define GO_SURFACE_FEATURE_TYPE_Z_MAX (6) ///< Feature based on the Z maximum point.
2217 #define GO_SURFACE_FEATURE_TYPE_Z_MIN (7) ///< Feature based on the Z minimum point.
2218 #define GO_SURFACE_FEATURE_TYPE_MEDIAN (8) ///< Feature based on the median.
2219 /**@}*/
2220 
2221 /**
2222  * @struct GoSurfaceCountersunkHoleShape
2223  * @extends kValue
2224  * @ingroup GoSdk-SurfaceTools
2225  * @brief Represents a surface countersunk hole tool shape.
2226  *
2227  * The following enumerators are defined:
2228  * - #GO_SURFACE_COUNTERSUNK_HOLE_SHAPE_CONE
2229  * - #GO_SURFACE_COUNTERSUNK_HOLE_SHAPE_COUNTERBORE
2230  */
2231 typedef k32s GoSurfaceCountersunkHoleShape;
2232 /** @name GoSurfaceCountersunkHoleShape
2233  *@{*/
2234 #define GO_SURFACE_COUNTERSUNK_HOLE_SHAPE_CONE (0) ///< Cone shape.
2235 #define GO_SURFACE_COUNTERSUNK_HOLE_SHAPE_COUNTERBORE (1) ///< Counterbore shape.
2236 /**@}*/
2237 
2238 
2239 /**
2240  * @struct GoSurfaceOpeningType
2241  * @extends kValue
2242  * @ingroup GoSdk-SurfaceTools
2243  * @brief Represents a surface opening tool type.
2244  *
2245  * The following enumerators are defined:
2246  * - #GO_SURFACE_OPENING_TYPE_ROUNDED_SLOT
2247  * - #GO_SURFACE_OPENING_TYPE_ROUNDED_RECTANGLE
2248  */
2249 typedef k32s GoSurfaceOpeningType;
2250 /** @name GoSurfaceOpeningType
2251  *@{*/
2252 #define GO_SURFACE_OPENING_TYPE_ROUNDED_SLOT (0) ///< Rounded slot opening type.
2253 #define GO_SURFACE_OPENING_TYPE_ROUNDED_RECTANGLE (1) ///< Rectangular opening type.
2254 /**@}*/
2255 
2256 /**
2257  * @struct GoPartMatchAlgorithm
2258  * @extends kValue
2259  * @ingroup GoSdk-Surface
2260  * @brief Represents a part matching algorithm.
2261  *
2262  * The following enumerators are defined:
2263  * - #GO_PART_MATCH_ALGORITHM_EDGE
2264  * - #GO_PART_MATCH_ALGORITHM_BOUNDING_BOX
2265  * - #GO_PART_MATCH_ALGORITHM_ELLIPSE
2266  */
2267 typedef k32s GoPartMatchAlgorithm;
2268 /** @name GoPartMatchAlgorithm
2269  *@{*/
2270 #define GO_PART_MATCH_ALGORITHM_EDGE (0) ///< Edge based part match algorithm.
2271 #define GO_PART_MATCH_ALGORITHM_BOUNDING_BOX (1) ///< Bounding box based part match algorithm.
2272 #define GO_PART_MATCH_ALGORITHM_ELLIPSE (2) ///< Ellipse based part match algorithm.
2273 /**@}*/
2274 
2275 
2276 /**
2277  * @struct GoBoxAsymmetryType
2278  * @extends kValue
2279  * @ingroup GoSdk-Surface
2280  * @brief Represents the bounding box part matching asymmetry detection type.
2281  *
2282  * The following enumerators are defined:
2283  * - #GO_BOX_ASYMMETRY_TYPE_NONE
2284  * - #GO_BOX_ASYMMETRY_TYPE_ALONG_LENGTH_AXIS
2285  * - #GO_BOX_ASYMMETRY_TYPE_ALONG_WIDTH_AXIS
2286  */
2287 typedef k32s GoBoxAsymmetryType;
2288 /** @name GoBoxAsymmetryType
2289  *@{*/
2290 #define GO_BOX_ASYMMETRY_TYPE_NONE (0) ///< None
2291 #define GO_BOX_ASYMMETRY_TYPE_ALONG_LENGTH_AXIS (1) ///< Along Length axis
2292 #define GO_BOX_ASYMMETRY_TYPE_ALONG_WIDTH_AXIS (2) ///< Along Width axis
2293 /**@}*/
2294 
2295 /**
2296  * @struct GoEllipseAsymmetryType
2297  * @extends kValue
2298  * @ingroup GoSdk-Surface
2299  * @brief Represents the bounding Ellipse part matching asymmetry detection type.
2300  *
2301  * The following enumerators are defined:
2302  * - #GO_ELLIPSE_ASYMMETRY_TYPE_NONE
2303  * - #GO_ELLIPSE_ASYMMETRY_TYPE_ALONG_MAJOR_AXIS
2304  * - #GO_ELLIPSE_ASYMMETRY_TYPE_ALONG_MINOR_AXIS
2305  */
2306 typedef k32s GoEllipseAsymmetryType;
2307 /** @name GoEllipseAsymmetryType
2308  *@{*/
2309 #define GO_ELLIPSE_ASYMMETRY_TYPE_NONE (0) ///< None
2310 #define GO_ELLIPSE_ASYMMETRY_TYPE_ALONG_MAJOR_AXIS (1) ///< Along Major axis
2311 #define GO_ELLIPSE_ASYMMETRY_TYPE_ALONG_MINOR_AXIS (2) ///< Along Minor axis
2312 /**@}*/
2313 
2314 
2315 #define GO_SURFACE_COUNTERSUNK_HOLE_MAX_REF_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Counter Sunk Hole Tool.
2316 #define GO_SURFACE_HOLE_MAX_REF_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Hole Tool.
2317 #define GO_SURFACE_OPENING_MAX_REF_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Opening Tool.
2318 #define GO_SURFACE_PLANE_MAX_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Plane Tool.
2319 #define GO_SURFACE_RIVET_MAX_REF_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Rivet Tool.
2320 #define GO_SURFACE_STUD_MAX_REF_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Stud Tool.
2321 
2322 /**
2323  * @struct GoImageType
2324  * @extends kValue
2325  * @ingroup GoSdk
2326  * @brief Represents an image type.
2327  *
2328  * The following enumerators are defined:
2329  * - #GO_IMAGE_TYPE_HEIGHTMAP
2330  * - #GO_IMAGE_TYPE_INTENSITY
2331  */
2332 typedef k32s GoImageType;
2333 /** @name GoImageType
2334  *@{*/
2335 #define GO_IMAGE_TYPE_HEIGHTMAP (0) ///< Heightmap image type.
2336 #define GO_IMAGE_TYPE_INTENSITY (1) ///< Intensity image type.
2337 /**@}*/
2338 
2339 /// @endcond
2340 
2341 
2342 /**
2343  * @struct GoGammaType
2344  * @extends kValue
2345  * @ingroup GoSdk
2346  * @brief Represents an advanced gamma type.
2347  *
2348  * The following enumerators are defined:
2349  * - #GO_GAMMA_TYPE_NONE
2350  * - #GO_GAMMA_TYPE_LOW
2351  * - #GO_GAMMA_TYPE_MEDIUM
2352  * - #GO_GAMMA_TYPE_HIGH
2353  */
2354 typedef k32s GoGammaType;
2355 /** @name GoGammaType
2356  *@{*/
2357 #define GO_GAMMA_TYPE_NONE (0) ///< None. No imager gamma / multi-slope configuration will occur.
2358 #define GO_GAMMA_TYPE_LOW (1) ///< Low.
2359 #define GO_GAMMA_TYPE_MEDIUM (2) ///< Medium.
2360 #define GO_GAMMA_TYPE_HIGH (3) ///< High.
2361 /**@}*/
2362 
2363 /**
2364  * @struct GoPatternSequenceType
2365  * @extends kValue
2366  * @ingroup GoSdk
2367  * @brief Represents a pattern sequence type.
2368  *
2369  * The following enumerators are defined:
2370  * - #GO_PATTERN_SEQUENCE_TYPE_DEFAULT
2371  * - #GO_PATTERN_SEQUENCE_TYPE_CUSTOM
2372  *
2373  */
2374 typedef k32s GoPatternSequenceType;
2375 /** @name GoPatternSequenceType
2376  *@{*/
2377 
2378 #define GO_PATTERN_SEQUENCE_TYPE_DEFAULT (0) ///< Default sequence pattern.
2379 #define GO_PATTERN_SEQUENCE_TYPE_CUSTOM (100) ///< Custom sequence pattern.
2380 /**@}*/
2381 
2382 
2383 /**
2384  * @struct GoImplicitTriggerOverride
2385  * @extends kValue
2386  * @ingroup GoSdk
2387  * @brief Represents an EthernetIP implicit messaging trigger override.
2388  *
2389  * The following enumerators are defined:
2390  * - #GO_IMPLICIT_TRIGGER_OVERRIDE_OFF
2391  * - #GO_IMPLICIT_TRIGGER_OVERRIDE_CYCLIC
2392  * - #GO_IMPLICIT_TRIGGER_OVERRIDE_CHANGE_OF_STATE
2393  *
2394  */
2396 /** @name GoImplicitTriggerOverride
2397  *@{*/
2398 
2399 #define GO_IMPLICIT_TRIGGER_OVERRIDE_OFF (0) ///< Use the implicit output trigger specified in the connection header.
2400 #define GO_IMPLICIT_TRIGGER_OVERRIDE_CYCLIC (1) ///< Utilize cyclic implicit messaging trigger behavior regardless of what is specified in the connection header.
2401 #define GO_IMPLICIT_TRIGGER_OVERRIDE_CHANGE_OF_STATE (2) ///< Utilize change of state implicit messaging trigger behavior regardless of what is specified in the connection header.
2402 /**@}*/
2403 
2404 /**
2405  * @struct GoAlignmentStatus
2406  * @extends kValue
2407  * @ingroup GoSdk
2408  * @brief Represents the operation status of an alignment.
2409  *
2410  * The following enumerators are defined:
2411  * - #GO_ALIGNMENT_STATUS_OK
2412  * - #GO_ALIGNMENT_STATUS_GENERAL_FAILURE
2413  * - #GO_ALIGNMENT_STATUS_STATIONARY_NO_DATA
2414  * - #GO_ALIGNMENT_STATUS_MOVING_INSUFFICIENT_DATA
2415  * - #GO_ALIGNMENT_STATUS_INVALID_TARGET
2416  * - #GO_ALIGNMENT_STATUS_UNEXPECTED_TARGET_POSITION
2417  * - #GO_ALIGNMENT_STATUS_BAR_HOLE_NOT_FOUND
2418  * - #GO_ALIGNMENT_STATUS_MOVING_NO_ENCODER_CHANGE
2419  * - #GO_ALIGNMENT_STATUS_ABORT
2420  * - #GO_ALIGNMENT_STATUS_TIMEOUT
2421  * - #GO_ALIGNMENT_STATUS_INVALID_PARAMETER
2422  *
2423  */
2424 typedef k32s GoAlignmentStatus;
2425 /** @name GoAlignmentStatus
2426  *@{*/
2427 
2428 #define GO_ALIGNMENT_STATUS_OK (1) ///< Alignment operation succeeded.
2429 #define GO_ALIGNMENT_STATUS_GENERAL_FAILURE (0) ///< Alignment operation failed.
2430 #define GO_ALIGNMENT_STATUS_STATIONARY_NO_DATA (-1) ///< Stationary alignment failed due to no data being received. Please ensure the target is in range.
2431 #define GO_ALIGNMENT_STATUS_MOVING_INSUFFICIENT_DATA (-2) ///< Moving alignment failed due to insufficient data.
2432 #define GO_ALIGNMENT_STATUS_INVALID_TARGET (-3) ///< Invalid target detected. Examples include the target dimensions being too small, the target touches both sides of the field of view, or there is insufficient data after some internal filtering.
2433 #define GO_ALIGNMENT_STATUS_UNEXPECTED_TARGET_POSITION (-4) ///< Target detected in an unexpected position. Please ensure the target is stable and there are no obstructions.
2434 #define GO_ALIGNMENT_STATUS_BAR_HOLE_NOT_FOUND (-5) ///< No reference hole was found during bar alignment. Please ensure the holes can be seen and that the target parameters match their physical dimensions.
2435 #define GO_ALIGNMENT_STATUS_MOVING_NO_ENCODER_CHANGE (-6) ///< No change in encoder value occurred during moving alignment. Please ensure the encoder is connected and the target is moving.
2436 #define GO_ALIGNMENT_STATUS_ABORT (kERROR_ABORT) ///< The alignment was aborted by the user.
2437 #define GO_ALIGNMENT_STATUS_TIMEOUT (kERROR_TIMEOUT) ///< The alignment timed out.
2438 #define GO_ALIGNMENT_STATUS_INVALID_PARAMETER (kERROR_PARAMETER) ///< The alignment failed due to incorrected parameters.
2439 /**@}*/
2440 
2441 typedef struct GoFeatureOption
2442 {
2443  kText64 name;
2444  kSize minCount;
2445  kSize maxCount;
2446  GoFeatureDataType dataType;
2447  kText64 type;
2448 } GoFeatureOption;
2449 
2450 typedef struct GoMeasurementOption
2451 {
2452  kText64 name;
2453  kSize minCount;
2454  kSize maxCount;
2455 } GoMeasurementOption;
2456 
2457 /**
2458  * @struct GoEventType
2459  * @extends kValue
2460  * @ingroup GoSdk
2461  * @brief Represents the event type represented by an event message.
2462  *
2463  * The following enumerator is defined:
2464  * - GO_EVENT_TYPE_EXPOSURE_END
2465  *
2466  */
2467 typedef k32s GoEventType;
2468 /** @name GoEventType
2469  *@{*/
2470 
2471 #define GO_EVENT_TYPE_EXPOSURE_END (1)
2472 /**@}*/
2473 
2474 /**
2475 * @struct GoOcclusionReductionAlg
2476 * @extends kValue
2477 * @ingroup GoSdk
2478 * @brief Represents an occlusion reduction algorithm.
2479 *
2480 * The following enumerators are defined:
2481 * - #GO_OCCLUSION_REDUCTION_NORMAL
2482 * - #GO_OCCLUSION_REDUCTION_HIGH_QUALITY
2483 */
2485 /** @name GoOcclusionReductionAlg
2486 *@{*/
2487 #define GO_OCCLUSION_REDUCTION_NORMAL (0) ///< Basic occlusion reduction.
2488 #define GO_OCCLUSION_REDUCTION_HIGH_QUALITY (1) ///< High quality occlusion reduction.
2489 /**@}*/
2490 
2491 
2492 kEndHeader()
2493 #include <GoSdk/GoSdkDef.x.h>
2494 
2495 #endif
Represents an active area configuration element.
Definition: GoSdkDef.h:742
k64f yAngle
The Y angle of the transformation.
Definition: GoSdkDef.h:764
Lists all tool types.
k64f y
The Y offset of the transformed data region.
Definition: GoSdkDef.h:777
Sensor state, login, alignment information, recording state, playback source, uptime, playback information, and auto-start setting state.
Definition: GoSdkDef.h:624
Ports used from a source device.
Definition: GoSdkDef.h:660
Represents a data input source.
Represents an output delay domain.
Represents a 32-bit unsigned integer configuration element with a range and enabled state...
Definition: GoSdkDef.h:702
k32s playbackSource
The current playback source of the sensor.
Definition: GoSdkDef.h:631
Represents all possible sources of intensity data.
k16u dataPort
Data channel port.
Definition: GoSdkDef.h:665
Represents a playback seek direction.
kBool enabled
Represents whether the element value is currently used.
Definition: GoSdkDef.h:719
k64f max
The maximum allowable value that can be set for this element.
Definition: GoSdkDef.h:692
GoUser loginType
The logged in user.
Definition: GoSdkDef.h:627
Represents the replay export source type.
Represents a replay condition type.
k16u controlPort
Control channel port.
Definition: GoSdkDef.h:662
GoAlignmentRef alignmentReference
The alignment reference of the sensor.
Definition: GoSdkDef.h:628
Lists all measurement types.
GoElement64f value
The filter's configuration properties.
Definition: GoSdkDef.h:733
Represents the possible measurement decision codes.
kBool isAccelerator
The accelerated state of the sensor.
Definition: GoSdkDef.h:637
Represents the supported Gocator hardware families.
Represents a user role.
kBool enabled
Represents whether the element value is currently used.
Definition: GoSdkDef.h:704
Represents a replay combine type.
Represents a replay measurement result.
kBool useDhcp
Sensor uses DHCP?
Definition: GoSdkDef.h:648
Represents a ethernet output protocol.
Represents a data stream which consists of a data step and ID.
Definition: GoSdkDef.h:1071
Represents a data source.
k32u playbackCount
The playback count.
Definition: GoSdkDef.h:635
Represents a transformed data region.
Definition: GoSdkDef.h:774
GoElement64f length
The length of the active area.
Definition: GoSdkDef.h:748
k64f x
The X offset of the transformed data region.
Definition: GoSdkDef.h:776
k32u uptimeSec
Sensor uptime in seconds.
Definition: GoSdkDef.h:632
Represents the measurement output decision values. Bit 0 represents the decision value, while bits 1 through 7 represent the decision code, outlined by GoDecisionCode.
GoAlignmentState alignmentState
The alignment state of the sensor.
Definition: GoSdkDef.h:629
Represents a trigger.
k64f y
The Y offset of the transformation.
Definition: GoSdkDef.h:761
Represents an endian output type.
Represents an alignment element.
Definition: GoSdkDef.h:758
Represents a material acquisition type.
Lists all feature types.
k64f value
The element's double field value.
Definition: GoSdkDef.h:691
Lists all feature data types.
Represents a composite data source.
Definition: GoSdkDef.h:790
GoBuddyState state
Buddy state of this device.
Definition: GoSdkDef.h:678
Represents a profile generation start trigger.
GoElement64f width
The width of the active area.
Definition: GoSdkDef.h:749
GoElement64f z
The Z offset of the active area.
Definition: GoSdkDef.h:746
Represents an alignment state.
kBool recordingEnabled
The current state of recording on the sensor.
Definition: GoSdkDef.h:630
kIpAddress gateway
Sensor gateway address.
Definition: GoSdkDef.h:651
kBool autoStartEnabled
The auto-start enabled state.
Definition: GoSdkDef.h:636
Selects which reference direction to use for the round corner tool.
Represents a profile edge type.
GoElement64f y
The Y offset of the active area.
Definition: GoSdkDef.h:745
Determines which groove to select when multiple are present.
k64f min
The minimum allowable value that can be set for this element.
Definition: GoSdkDef.h:693
Represents an advanced gamma type.
Represents an analog output trigger.
Represents a video message pixel type.
Represents a filter configuration element.
Definition: GoSdkDef.h:730
Represents the status of the Accelerator connection.
Represents an EthernetIP implicit messaging trigger override.
GoState sensorState
The state of the sensor.
Definition: GoSdkDef.h:626
kIpAddress address
Sensor IP address.
Definition: GoSdkDef.h:649
Represents a profile strip tool base type.
kBool enabled
Represents whether the element value is currently used. (not always applicable)
Definition: GoSdkDef.h:689
Buddy related status of another sensor.
Definition: GoSdkDef.h:675
Represents the operation status of an alignment.
k64f width
The width of the transformed data region.
Definition: GoSdkDef.h:779
Represents a profile strip tool edge type.
Represents the system's primary synchronization domain.
Represents an encoder's triggering behavior.
Represents an ASCII standard format type.
kBool systemValue
The system value. (not always applicable)
Definition: GoSdkDef.h:720
Lists all data message types.
k64f progress
Upgrade progress (percentage).
Definition: GoSdkDef.h:68
Represents a sensor orientation type.
Represents a user id.
k32u id
Serial number of the device.
Definition: GoSdkDef.h:677
Determines which groove position to return.
k32u min
The minimum allowable value that can be set for this element.
Definition: GoSdkDef.h:708
Represents a alignment target type.
Represents all possible exposure modes.
Represents a replay range count case.
Represents an alignment reference.
Represents output sources.
k64f zAngle
The Z angle of the transformation.
Definition: GoSdkDef.h:765
k32u value
The element's 32-bit unsigned field value.
Definition: GoSdkDef.h:706
Represents a pattern sequence type.
Represents an ASCII protocol operational type.
Represents a analog output event.
kIpAddress mask
Sensor subnet bit-mask.
Definition: GoSdkDef.h:650
Represents arguments provided to an upgrade callback function.
Definition: GoSdkDef.h:66
Represents a 64-bit floating point configuration element with a range and enabled state...
Definition: GoSdkDef.h:687
Represents a digital output signal type.
Represents a trigger source type.
Represents spacing interval types.
Represents a profile gap measurement axis.
GoElement64f height
The height of the active area.
Definition: GoSdkDef.h:747
k32u max
The maximum allowable value that can be set for this element.
Definition: GoSdkDef.h:707
Represents an alignment type.
kBool used
Represents whether the filter field is currently used.
Definition: GoSdkDef.h:732
Represents a profile generation type.
Represents a boolean configuration element with an enabled state.
Definition: GoSdkDef.h:717
Represents the current maximum frame rate limiting source.
Represents an occlusion reduction algorithm.
k16u webPort
Web channel port.
Definition: GoSdkDef.h:664
Determines which Strip to select when multiple are present.
Represents a scan mode.
Represents a digital output event.
k64f systemValue
The system value. (not always applicable)
Definition: GoSdkDef.h:690
GoDataSource dataSource
The data source of the composite data source.
Definition: GoSdkDef.h:793
Represents the event type represented by an event message.
k64f x
The X offset of the transformation.
Definition: GoSdkDef.h:760
Determines which Strip position to return.
k32u systemValue
The system value. (not always applicable)
Definition: GoSdkDef.h:705
Represents a spot selection type.
k32u uptimeMicrosec
Sensor uptime in microseconds.
Definition: GoSdkDef.h:633
k32u playbackPos
The playback position index.
Definition: GoSdkDef.h:634
Determines how to calculate profile area.
Represents the selcom format followed on the serial output.
k32s id
The ID of the underlying data source.
Definition: GoSdkDef.h:792
k16u upgradePort
Upgrade channel port.
Definition: GoSdkDef.h:663
Represents possible data streams.
kBool value
The element's boolean field value.
Definition: GoSdkDef.h:721
k64f length
The length of the transformed data region.
Definition: GoSdkDef.h:780
k16u healthPort
Health channel port.
Definition: GoSdkDef.h:666
Represents advanced acquisition type.
GoElement64f x
The X offset of the active area.
Definition: GoSdkDef.h:744
k64f z
The Z offset of the transformation.
Definition: GoSdkDef.h:762
k64f height
The height of the transformed data region.
Definition: GoSdkDef.h:781
Represents a profile edge type.
Represents a profile feature point type.
k64f z
The Z offset of the transformed data region.
Definition: GoSdkDef.h:778
k64f xAngle
The X angle of the transformation.
Definition: GoSdkDef.h:763
Represents a digital output condition.
Sensor network address settings.
Definition: GoSdkDef.h:646
Represents all serial output protocols.
Represents the current state of a sensor object.
Represents the current encoder period limiting source.