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