Gocator API

- Home
- Types
- Files

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).
66 } GoUpgradeFxArgs;
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 */
268 typedef k32s GoEncoderSpacingMinSource;
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 */
402 typedef k32s GoSpacingIntervalType;
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 */
481 typedef k32s GoReplayExportSourceType;
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.
653 } GoActiveAreaConfig;
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.
669 } GoTransformation;
670
671 /**
672 * @struct GoTransformedDataRegion
673 * @extends kValue
674 * @ingroup GoSdk
675 * @brief Represents a transformed data region.
676 */
677 typedef struct GoTransformedDataRegion
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.
685 } GoTransformedDataRegion;
686
687 /**
688 * @struct GoOutputCompositeSource
689 * @extends kValue
690 * @ingroup GoSdk
691 * @brief Represents a composite data source.
692 */
693 typedef struct GoOutputCompositeSource
694 {
695 k32s id; ///< The ID of the underlying data source.
696 GoDataSource dataSource; ///< The data source of the composite data source.
697 } GoOutputCompositeSource;
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 (5) ///< Output section data.
916 #define GO_OUTPUT_SOURCE_RANGE_INTENSITY (6) ///< Output range intensity data.
917 #define GO_OUTPUT_SOURCE_PROFILE_INTENSITY (7) ///< Output profile intensity data.
918 #define GO_OUTPUT_SOURCE_SURFACE_INTENSITY (8) ///< Output surface intensity data.
919 #define GO_OUTPUT_SOURCE_SECTION_INTENSITY (9) ///< Output section intensity data.
920 #define GO_OUTPUT_SOURCE_MEASUREMENT (10) ///< 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_RIVET
1025 * - #GO_TOOL_SURFACE_STUD
1026 * - #GO_TOOL_SURFACE_VOLUME
1027 * - #GO_TOOL_SCRIPT
1028 */
1029 typedef k32s GoToolType;
1030 /** @name GoToolType
1031 *@{*/
1032 #define GO_TOOL_UNKNOWN (-1) ///< Unknown tool.
1033 #define GO_TOOL_RANGE_POSITION (0) ///< Range Position tool.
1034 #define GO_TOOL_RANGE_THICKNESS (1) ///< Range Thickness tool.
1035 #define GO_TOOL_PROFILE_AREA (2) ///< Profile Area tool.
1036 #define GO_TOOL_PROFILE_BOUNDING_BOX (21) ///< Profile Bounding Box tool.
1037 #define GO_TOOL_PROFILE_BRIDGE_VALUE (24) ///< Profile Bridge Value tool.
1038 #define GO_TOOL_PROFILE_CIRCLE (3) ///< Profile Circle tool.
1039 #define GO_TOOL_PROFILE_DIMENSION (4) ///< Profile Dimension tool.
1040 #define GO_TOOL_PROFILE_GROOVE (5) ///< Profile Groove tool.
1041 #define GO_TOOL_PROFILE_INTERSECT (6) ///< Profile Intersect tool.
1042 #define GO_TOOL_PROFILE_LINE (7) ///< Profile Line tool.
1043 #define GO_TOOL_PROFILE_PANEL (8) ///< Profile Panel tool.
1044 #define GO_TOOL_PROFILE_POSITION (9) ///< Profile Position tool.
1045 #define GO_TOOL_PROFILE_STRIP (10) ///< Profile Strip tool.
1046 #define GO_TOOL_PROFILE_X_LINE (23) ///< Profile X-Line tool.
1047 #define GO_TOOL_SURFACE_BOUNDING_BOX (11) ///< Surface Bounding Box tool.
1048 #define GO_TOOL_SURFACE_COUNTERSUNK_HOLE (20) ///< Surface Countersunk Hole tool.
1049 #define GO_TOOL_SURFACE_DIMENSION (25) ///< Surface Dimension tool.
1050 #define GO_TOOL_SURFACE_ELLIPSE (12) ///< Surface Ellipse tool.
1051 #define GO_TOOL_SURFACE_HOLE (13) ///< Surface Hole tool.
1052 #define GO_TOOL_SURFACE_OPENING (14) ///< Surface Opening tool.
1053 #define GO_TOOL_SURFACE_PLANE (15) ///< Surface Plane tool.
1054 #define GO_TOOL_SURFACE_POSITION (16) ///< Surface Position tool.
1055 #define GO_TOOL_SURFACE_STUD (17) ///< Surface Stud tool.
1056 #define GO_TOOL_SURFACE_VOLUME (18) ///< Surface Volume tool.
1057 #define GO_TOOL_SCRIPT (19) ///< Script tool.
1058 #define GO_TOOL_EXTENSIBLE (1000)
1059 /**@}*/
1060
1061
1062 /**
1063 * @struct GoMeasurementType
1064 * @extends kValue
1065 * @ingroup GoSdk-Tools
1066 * @brief Lists all measurement types.
1067 *
1068 * The following enumerators are defined:
1069 * - #GO_MEASUREMENT_UNKNOWN
1070 * - #GO_MEASUREMENT_RANGE_POSITION_Z
1071 * - #GO_MEASUREMENT_RANGE_THICKNESS_THICKNESS
1072 * - #GO_MEASUREMENT_PROFILE_AREA_AREA
1073 * - #GO_MEASUREMENT_PROFILE_AREA_CENTROID_X
1074 * - #GO_MEASUREMENT_PROFILE_AREA_CENTROID_Z
1075 * - #GO_MEASUREMENT_PROFILE_BOUNDING_BOX_X
1076 * - #GO_MEASUREMENT_PROFILE_BOUNDING_BOX_Z
1077 * - #GO_MEASUREMENT_PROFILE_BOUNDING_BOX_HEIGHT
1078 * - #GO_MEASUREMENT_PROFILE_BOUNDING_BOX_WIDTH
1079 * - #GO_MEASUREMENT_PROFILE_BOUNDING_BOX_GLOBAL_X
1080 * - #GO_MEASUREMENT_PROFILE_BRIDGE_VALUE_ANGLE
1081 * - #GO_MEASUREMENT_PROFILE_BRIDGE_VALUE_BRIDGE_VALUE
1082 * - #GO_MEASUREMENT_PROFILE_CIRCLE_X
1083 * - #GO_MEASUREMENT_PROFILE_CIRCLE_Z
1084 * - #GO_MEASUREMENT_PROFILE_CIRCLE_RADIUS
1085 * - #GO_MEASUREMENT_PROFILE_DIMENSION_WIDTH
1086 * - #GO_MEASUREMENT_PROFILE_DIMENSION_HEIGHT
1087 * - #GO_MEASUREMENT_PROFILE_DIMENSION_DISTANCE
1088 * - #GO_MEASUREMENT_PROFILE_DIMENSION_CENTER_X
1089 * - #GO_MEASUREMENT_PROFILE_DIMENSION_CENTER_Z
1090 * - #GO_MEASUREMENT_PROFILE_GROOVE_X
1091 * - #GO_MEASUREMENT_PROFILE_GROOVE_Z
1092 * - #GO_MEASUREMENT_PROFILE_GROOVE_WIDTH
1093 * - #GO_MEASUREMENT_PROFILE_GROOVE_DEPTH
1094 * - #GO_MEASUREMENT_PROFILE_INTERSECT_X
1095 * - #GO_MEASUREMENT_PROFILE_INTERSECT_Z
1096 * - #GO_MEASUREMENT_PROFILE_INTERSECT_ANGLE
1097 * - #GO_MEASUREMENT_PROFILE_LINE_STDDEV
1098 * - #GO_MEASUREMENT_PROFILE_LINE_ERROR_MIN
1099 * - #GO_MEASUREMENT_PROFILE_LINE_ERROR_MAX
1100 * - #GO_MEASUREMENT_PROFILE_LINE_PERCENTILE
1101 * - #GO_MEASUREMENT_PROFILE_PANEL_GAP
1102 * - #GO_MEASUREMENT_PROFILE_PANEL_FLUSH
1103 * - #GO_MEASUREMENT_PROFILE_POSITION_X
1104 * - #GO_MEASUREMENT_PROFILE_POSITION_Z
1105 * - #GO_MEASUREMENT_PROFILE_STRIP_POSITION_X
1106 * - #GO_MEASUREMENT_PROFILE_STRIP_POSITION_Z
1107 * - #GO_MEASUREMENT_PROFILE_STRIP_WIDTH
1108 * - #GO_MEASUREMENT_PROFILE_STRIP_HEIGHT
1109 * - #GO_MEASUREMENT_PROFILE_X_LINE_Z
1110 * - #GO_MEASUREMENT_PROFILE_X_LINE_VALIDITY
1111 * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_X
1112 * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_Y
1113 * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_Z
1114 * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_ZANGLE
1115 * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_HEIGHT
1116 * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_WIDTH
1117 * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_LENGTH
1118 * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_X
1119 * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_Y
1120 * - #GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_Z_ANGLE
1121 * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_X
1122 * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Y
1123 * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Z
1124 * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_OUTER_RADIUS
1125 * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_DEPTH
1126 * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_BEVEL_RADIUS
1127 * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_BEVEL_ANGLE
1128 * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_X_ANGLE
1129 * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Y_ANGLE
1130 * - #GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_COUNTERBORE_DEPTH
1131 * - #GO_MEASUREMENT_SURFACE_DIMENSION_WIDTH
1132 * - #GO_MEASUREMENT_SURFACE_DIMENSION_HEIGHT
1133 * - #GO_MEASUREMENT_SURFACE_DIMENSION_LENGTH
1134 * - #GO_MEASUREMENT_SURFACE_DIMENSION_DISTANCE
1135 * - #GO_MEASUREMENT_SURFACE_DIMENSION_PLANE_DISTANCE
1136 * - #GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_X
1137 * - #GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_Y
1138 * - #GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_Z
1139 * - #GO_MEASUREMENT_SURFACE_ELLIPSE_MAJOR
1140 * - #GO_MEASUREMENT_SURFACE_ELLIPSE_MINOR
1141 * - #GO_MEASUREMENT_SURFACE_ELLIPSE_RATIO
1142 * - #GO_MEASUREMENT_SURFACE_ELLIPSE_ZANGLE
1143 * - #GO_MEASUREMENT_SURFACE_HOLE_X
1144 * - #GO_MEASUREMENT_SURFACE_HOLE_Y
1145 * - #GO_MEASUREMENT_SURFACE_HOLE_Z
1146 * - #GO_MEASUREMENT_SURFACE_HOLE_RADIUS
1147 * - #GO_MEASUREMENT_SURFACE_OPENING_X
1148 * - #GO_MEASUREMENT_SURFACE_OPENING_Y
1149 * - #GO_MEASUREMENT_SURFACE_OPENING_Z
1150 * - #GO_MEASUREMENT_SURFACE_OPENING_WIDTH
1151 * - #GO_MEASUREMENT_SURFACE_OPENING_LENGTH
1152 * - #GO_MEASUREMENT_SURFACE_OPENING_ANGLE
1153 * - #GO_MEASUREMENT_SURFACE_PLANE_X_ANGLE
1154 * - #GO_MEASUREMENT_SURFACE_PLANE_Y_ANGLE
1155 * - #GO_MEASUREMENT_SURFACE_PLANE_Z_OFFSET
1156 * - #GO_MEASUREMENT_SURFACE_PLANE_STD_DEV
1157 * - #GO_MEASUREMENT_SURFACE_PLANE_ERROR_MIN
1158 * - #GO_MEASUREMENT_SURFACE_PLANE_ERROR_MAX
1159 * - #GO_MEASUREMENT_SURFACE_POSITION_X
1160 * - #GO_MEASUREMENT_SURFACE_POSITION_Y
1161 * - #GO_MEASUREMENT_SURFACE_POSITION_Z
1162 * - #GO_MEASUREMENT_SURFACE_RIVET_X
1163 * - #GO_MEASUREMENT_SURFACE_RIVET_Y
1164 * - #GO_MEASUREMENT_SURFACE_RIVET_Z
1165 * - #GO_MEASUREMENT_SURFACE_RIVET_TILT_ANGLE
1166 * - #GO_MEASUREMENT_SURFACE_RIVET_TILT_DIRECTION
1167 * - #GO_MEASUREMENT_SURFACE_RIVET_RADIUS
1168 * - #GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MIN
1169 * - #GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MAX
1170 * - #GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MEAN
1171 * - #GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_STD_DEV
1172 * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MIN
1173 * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MAX
1174 * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MEAN
1175 * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_STD_DEV
1176 * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MIN
1177 * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MAX
1178 * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MEAN
1179 * - #GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_STD_DEV
1180 * - #GO_MEASUREMENT_SURFACE_STUD_BASE_X
1181 * - #GO_MEASUREMENT_SURFACE_STUD_BASE_Y
1182 * - #GO_MEASUREMENT_SURFACE_STUD_BASE_Z
1183 * - #GO_MEASUREMENT_SURFACE_STUD_TIP_X
1184 * - #GO_MEASUREMENT_SURFACE_STUD_TIP_Y
1185 * - #GO_MEASUREMENT_SURFACE_STUD_TIP_Z
1186 * - #GO_MEASUREMENT_SURFACE_STUD_RADIUS
1187 * - #GO_MEASUREMENT_SURFACE_VOLUME_AREA
1188 * - #GO_MEASUREMENT_SURFACE_VOLUME_VOLUME
1189 * - #GO_MEASUREMENT_SURFACE_VOLUME_THICKNESS
1190 * - #GO_MEASUREMENT_SCRIPT_OUTPUT
1191 */
1192 typedef k32s GoMeasurementType;
1193 /** @name GoMeasurementType
1194 *@{*/
1195 #define GO_MEASUREMENT_UNKNOWN (-1) ///< Unknown measurement.
1196 #define GO_MEASUREMENT_RANGE_POSITION_Z (0) ///< Range Position tool Z measurement.
1197 #define GO_MEASUREMENT_RANGE_THICKNESS_THICKNESS (1) ///< Range Thickness tool Thickness measurement.
1198 #define GO_MEASUREMENT_PROFILE_AREA_AREA (2) ///< Profile Area tool Area measurement.
1199 #define GO_MEASUREMENT_PROFILE_AREA_CENTROID_X (3) ///< Profile Area tool Centroid X measurement.
1200 #define GO_MEASUREMENT_PROFILE_AREA_CENTROID_Z (4) ///< Profile Area tool Centroid Z measurement.
1201 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_X (82) ///< Profile Bounding Box X measurement.
1202 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_Z (83) ///< Profile Bounding Box Z measurement.
1203 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_HEIGHT (84) ///< Profile Bounding Box Height measurement.
1204 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_WIDTH (85) ///< Profile Bounding Box Width measurement.
1205 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_GLOBAL_X (86) ///< Profile Bounding Box Global X measurement.
1206 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_GLOBAL_Y (112) ///< Profile Bounding Box Global Y measurement.
1207 #define GO_MEASUREMENT_PROFILE_BOUNDING_BOX_GLOBAL_ANGLE (113) ///< Profile Bounding Box Global Angle measurement.
1208 #define GO_MEASUREMENT_PROFILE_BRIDGE_VALUE_BRIDGE_VALUE (106) ///< Profile Bridge Value measurement.
1209 #define GO_MEASUREMENT_PROFILE_BRIDGE_VALUE_ANGLE (107) ///< Profile Bridge Value measurement.
1210 #define GO_MEASUREMENT_PROFILE_CIRCLE_X (5) ///< Profile Circle tool X measurement.
1211 #define GO_MEASUREMENT_PROFILE_CIRCLE_Z (6) ///< Profile Circle tool Z measurement.
1212 #define GO_MEASUREMENT_PROFILE_CIRCLE_RADIUS (7) ///< Profile Circle tool Radius measurement.
1213 #define GO_MEASUREMENT_PROFILE_DIMENSION_WIDTH (8) ///< Profile Dimension tool Width measurement.
1214 #define GO_MEASUREMENT_PROFILE_DIMENSION_HEIGHT (9) ///< Profile Dimension tool Height measurement.
1215 #define GO_MEASUREMENT_PROFILE_DIMENSION_DISTANCE (10) ///< Profile Dimension tool Distance measurement.
1216 #define GO_MEASUREMENT_PROFILE_DIMENSION_CENTER_X (11) ///< Profile Dimension tool Center X measurement.
1217 #define GO_MEASUREMENT_PROFILE_DIMENSION_CENTER_Z (12) ///< Profile Dimension tool Center Z measurement.
1218 #define GO_MEASUREMENT_PROFILE_GROOVE_X (13) ///< Profile Groove tool X measurement.
1219 #define GO_MEASUREMENT_PROFILE_GROOVE_Z (14) ///< Profile Groove tool Z measurement.
1220 #define GO_MEASUREMENT_PROFILE_GROOVE_WIDTH (15) ///< Profile Groove tool Width measurement.
1221 #define GO_MEASUREMENT_PROFILE_GROOVE_DEPTH (16) ///< Profile Groove tool Depth measurement.
1222 #define GO_MEASUREMENT_PROFILE_INTERSECT_X (17) ///< Profile Intersect tool X measurement.
1223 #define GO_MEASUREMENT_PROFILE_INTERSECT_Z (18) ///< Profile Intersect tool Z measurement.
1224 #define GO_MEASUREMENT_PROFILE_INTERSECT_ANGLE (19) ///< Profile Intersect tool Angle measurement.
1225 #define GO_MEASUREMENT_PROFILE_LINE_STDDEV (20) ///< Profile Line tool Standard Deviation measurement.
1226 #define GO_MEASUREMENT_PROFILE_LINE_ERROR_MIN (21) ///< Profile Line tool Minimum Error measurement.
1227 #define GO_MEASUREMENT_PROFILE_LINE_ERROR_MAX (22) ///< Profile Line tool Maximum Error measurement.
1228 #define GO_MEASUREMENT_PROFILE_LINE_PERCENTILE (23) ///< Profile Line tool Percentile measurement.
1229 #define GO_MEASUREMENT_PROFILE_PANEL_GAP (24) ///< Profile Panel tool Gap measurement.
1230 #define GO_MEASUREMENT_PROFILE_PANEL_FLUSH (25) ///< Profile Panel tool Flush measurement.
1231 #define GO_MEASUREMENT_PROFILE_POSITION_X (26) ///< Profile Position tool X measurement.
1232 #define GO_MEASUREMENT_PROFILE_POSITION_Z (27) ///< Profile Position tool Z measurement.
1233 #define GO_MEASUREMENT_PROFILE_STRIP_POSITION_X (28) ///< Profile Strip tool X Position measurement.
1234 #define GO_MEASUREMENT_PROFILE_STRIP_POSITION_Z (29) ///< Profile Strip tool Z Position measurement.
1235 #define GO_MEASUREMENT_PROFILE_STRIP_WIDTH (30) ///< Profile Strip tool Width measurement.
1236 #define GO_MEASUREMENT_PROFILE_STRIP_HEIGHT (31) ///< Profile Strip tool Height measurement.
1237 #define GO_MEASUREMENT_PROFILE_X_LINE_Z (87) ///< Profile X-Line tool Z measurement.
1238 #define GO_MEASUREMENT_PROFILE_X_LINE_VALIDITY (88) ///< Profile X-Line tool Validity measurement.
1239 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_X (32) ///< Surface Bounding Box X measurement.
1240 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_Y (33) ///< Surface Bounding Box Y measurement.
1241 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_Z (34) ///< Surface Bounding Box Z measurement.
1242 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_ZANGLE (35) ///< Surface Bounding Box Z Angle measurement.
1243 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_HEIGHT (36) ///< Surface Bounding Box Height measurement.
1244 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_WIDTH (37) ///< Surface Bounding Box Width measurement.
1245 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_LENGTH (38) ///< Surface Bounding Box Length measurement.
1246 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_X (39) ///< Surface Bounding Box Global X measurement.
1247 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_Y (40) ///< Surface Bounding Box Global Y measurement.
1248 #define GO_MEASUREMENT_SURFACE_BOUNDING_BOX_GLOBAL_Z_ANGLE (41) ///< Surface Bounding Box Global Z Angle measurement.
1249 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_X (42) ///< Surface Countersunk Hole tool X position measurement.
1250 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Y (43) ///< Surface Countersunk Hole tool Y position measurement.
1251 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Z (44) ///< Surface Countersunk Hole tool Z position measurement.
1252 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_OUTER_RADIUS (45) ///< Surface Countersunk Hole tool Outer Radius measurement.
1253 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_DEPTH (46) ///< Surface Countersunk Hole tool Depth measurement.
1254 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_COUNTERBORE_DEPTH (108) ///< Surface Countersunk Hole tool Counterbore Depth measurement.
1255 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_BEVEL_RADIUS (47) ///< Surface Countersunk Hole tool Bevel Radius measurement.
1256 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_BEVEL_ANGLE (48) ///< Surface Countersunk Hole tool Bevel Angle measurement.
1257 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_X_ANGLE (49) ///< Surface Countersunk Hole tool X Angle measurement.
1258 #define GO_MEASUREMENT_SURFACE_COUNTERSUNK_HOLE_Y_ANGLE (50) ///< Surface Countersunk Hole tool Y Angle measurement.
1259 #define GO_MEASUREMENT_SURFACE_DIMENSION_WIDTH (114) ///< Surface Dimension tool Width measurement.
1260 #define GO_MEASUREMENT_SURFACE_DIMENSION_HEIGHT (115) ///< Surface Dimension tool Height measurement.
1261 #define GO_MEASUREMENT_SURFACE_DIMENSION_LENGTH (116) ///< Surface Dimension tool Length measurement.
1262 #define GO_MEASUREMENT_SURFACE_DIMENSION_DISTANCE (117) ///< Surface Dimension tool Distance measurement.
1263 #define GO_MEASUREMENT_SURFACE_DIMENSION_PLANE_DISTANCE (118) ///< Surface Dimension tool Plane Distance measurement.
1264 #define GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_X (119) ///< Surface Dimension tool Center X measurement.
1265 #define GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_Y (120) ///< Surface Dimension tool Center Y measurement.
1266 #define GO_MEASUREMENT_SURFACE_DIMENSION_CENTER_Z (121) ///< Surface Dimension tool Center Z measurement.
1267 #define GO_MEASUREMENT_SURFACE_ELLIPSE_MAJOR (51) ///< Surface Ellipse tool Major measurement.
1268 #define GO_MEASUREMENT_SURFACE_ELLIPSE_MINOR (52) ///< Surface Ellipse tool Minor measurement.
1269 #define GO_MEASUREMENT_SURFACE_ELLIPSE_RATIO (53) ///< Surface Ellipse tool Ratio measurement.
1270 #define GO_MEASUREMENT_SURFACE_ELLIPSE_ZANGLE (54) ///< Surface Ellipse tool Z Angle measurement.
1271 #define GO_MEASUREMENT_SURFACE_HOLE_X (55) ///< Surface Hole tool X measurement.
1272 #define GO_MEASUREMENT_SURFACE_HOLE_Y (56) ///< Surface Hole tool Y measurement.
1273 #define GO_MEASUREMENT_SURFACE_HOLE_Z (57) ///< Surface Hole tool Z measurement.
1274 #define GO_MEASUREMENT_SURFACE_HOLE_RADIUS (58) ///< Surface Hole tool Radius measurement.
1275 #define GO_MEASUREMENT_SURFACE_OPENING_X (59) ///< Surface Opening tool X measurement.
1276 #define GO_MEASUREMENT_SURFACE_OPENING_Y (60) ///< Surface Opening tool Y measurement.
1277 #define GO_MEASUREMENT_SURFACE_OPENING_Z (61) ///< Surface Opening tool Z measurement.
1278 #define GO_MEASUREMENT_SURFACE_OPENING_WIDTH (62) ///< Surface Opening tool Width measurement.
1279 #define GO_MEASUREMENT_SURFACE_OPENING_LENGTH (63) ///< Surface Opening tool Length measurement.
1280 #define GO_MEASUREMENT_SURFACE_OPENING_ANGLE (64) ///< Surface Opening tool Angle measurement.
1281 #define GO_MEASUREMENT_SURFACE_PLANE_X_ANGLE (65) ///< Surface Plane tool X Angle measurement.
1282 #define GO_MEASUREMENT_SURFACE_PLANE_Y_ANGLE (66) ///< Surface Plane tool Y Angle measurement.
1283 #define GO_MEASUREMENT_SURFACE_PLANE_Z_OFFSET (67) ///< Surface Plane tool Z Offset measurement.
1284 #define GO_MEASUREMENT_SURFACE_PLANE_STD_DEV (109) ///< Surface Plane tool Standard Deviation measurement.
1285 #define GO_MEASUREMENT_SURFACE_PLANE_ERROR_MIN (110) ///< Surface Plane tool Minimum Error measurement.
1286 #define GO_MEASUREMENT_SURFACE_PLANE_ERROR_MAX (111) ///< Surface Plane tool Maximum Error measurement.
1287 #define GO_MEASUREMENT_SURFACE_POSITION_X (68) ///< Surface Position tool X measurement.
1288 #define GO_MEASUREMENT_SURFACE_POSITION_Y (69) ///< Surface Position tool Y measurement.
1289 #define GO_MEASUREMENT_SURFACE_POSITION_Z (70) ///< Surface Position tool Z measurement.
1290 #define GO_MEASUREMENT_SURFACE_RIVET_X (88) ///< Surface Rivet tool X measurement.
1291 #define GO_MEASUREMENT_SURFACE_RIVET_Y (89) ///< Surface Rivet tool Y measurement.
1292 #define GO_MEASUREMENT_SURFACE_RIVET_Z (90) ///< Surface Rivet tool Z measurement.
1293 #define GO_MEASUREMENT_SURFACE_RIVET_TILT_ANGLE (91) ///< Surface Rivet tool X Angle measurement.
1294 #define GO_MEASUREMENT_SURFACE_RIVET_TILT_DIRECTION (92) ///< Surface Rivet tool Y Angle measurement.
1295 #define GO_MEASUREMENT_SURFACE_RIVET_RADIUS (93) ///< Surface Rivet tool Radius measurement.
1296 #define GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MIN (94) ///< Surface Rivet tool Top Offset Minimum measurement.
1297 #define GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MAX (95) ///< Surface Rivet tool Top Offset Maximum measurement.
1298 #define GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_MEAN (96) ///< Surface Rivet tool Top Offset Mean measurement.
1299 #define GO_MEASUREMENT_SURFACE_RIVET_TOP_OFFSET_STD_DEV (97) ///< Surface Rivet tool Top Offset Standard Deviation measurement.
1300 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MIN (98) ///< Surface Rivet tool Radial Height Minimum measurement.
1301 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MAX (99) ///< Surface Rivet tool Radial Height Maximum measurement.
1302 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_MEAN (100) ///< Surface Rivet tool Radial Height Mean measurement.
1303 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_HEIGHT_STD_DEV (101) ///< Surface Rivet tool Radial Height Standard Deviation measurement.
1304 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MIN (102) ///< Surface Rivet tool Radial Slope Minimum measurement.
1305 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MAX (103) ///< Surface Rivet tool Radial Slope Maximum measurement.
1306 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_MEAN (104) ///< Surface Rivet tool Radial Slope Mean measurement.
1307 #define GO_MEASUREMENT_SURFACE_RIVET_RADIAL_SLOPE_STD_DEV (105) ///< Surface Rivet tool Radial Slope Standard Deviation measurement.
1308 #define GO_MEASUREMENT_SURFACE_STUD_BASE_X (71) ///< Surface Stud tool Base X measurement.
1309 #define GO_MEASUREMENT_SURFACE_STUD_BASE_Y (72) ///< Surface Stud tool Base Y measurement.
1310 #define GO_MEASUREMENT_SURFACE_STUD_BASE_Z (73) ///< Surface Stud tool Base Z measurement.
1311 #define GO_MEASUREMENT_SURFACE_STUD_TIP_X (74) ///< Surface Stud tool Tip X measurement.
1312 #define GO_MEASUREMENT_SURFACE_STUD_TIP_Y (75) ///< Surface Stud tool Tip Y measurement.
1313 #define GO_MEASUREMENT_SURFACE_STUD_TIP_Z (76) ///< Surface Stud tool Tip Z measurement.
1314 #define GO_MEASUREMENT_SURFACE_STUD_RADIUS (77) ///< Surface Stud tool Radius measurement.
1315 #define GO_MEASUREMENT_SURFACE_VOLUME_AREA (78) ///< Surface Volume tool Area measurement.
1316 #define GO_MEASUREMENT_SURFACE_VOLUME_VOLUME (79) ///< Surface Volume tool Volume measurement.
1317 #define GO_MEASUREMENT_SURFACE_VOLUME_THICKNESS (80) ///< Surface Volume tool Thickness measurement.
1318 #define GO_MEASUREMENT_SCRIPT_OUTPUT (81) ///< Script tool Output.
1319 #define GO_MEASUREMENT_EXTENSIBLE (87) ///< Extensible tool measurement.
1320
1321 /**@}*/
1322
1323
1324 /**
1325 * @struct GoDataMessageType
1326 * @extends kValue
1327 * @ingroup GoSdk-DataChannel
1328 * @brief Lists all data message types.
1329 *
1330 * The following enumerators are defined:
1331 * - #GO_DATA_MESSAGE_TYPE_UNKNOWN
1332 * - #GO_DATA_MESSAGE_TYPE_STAMP
1333 * - #GO_DATA_MESSAGE_TYPE_HEALTH
1334 * - #GO_DATA_MESSAGE_TYPE_VIDEO
1335 * - #GO_DATA_MESSAGE_TYPE_RANGE
1336 * - #GO_DATA_MESSAGE_TYPE_RANGE_INTENSITY
1337 * - #GO_DATA_MESSAGE_TYPE_PROFILE
1338 * - #GO_DATA_MESSAGE_TYPE_PROFILE_INTENSITY
1339 * - #GO_DATA_MESSAGE_TYPE_RESAMPLED_PROFILE
1340 * - #GO_DATA_MESSAGE_TYPE_SURFACE
1341 * - #GO_DATA_MESSAGE_TYPE_SURFACE_INTENSITY
1342 * - #GO_DATA_MESSAGE_TYPE_MEASUREMENT
1343 * - #GO_DATA_MESSAGE_TYPE_ALIGNMENT
1344 * - #GO_DATA_MESSAGE_TYPE_EXPOSURE_CAL
1345 * - #GO_DATA_MESSAGE_TYPE_EDGE_MATCH
1346 * - #GO_DATA_MESSAGE_TYPE_BOUNDING_BOX_MATCH
1347 * - #GO_DATA_MESSAGE_TYPE_ELLIPSE_MATCH
1348 * - #GO_DATA_MESSAGE_TYPE_SECTION
1349 * - #GO_DATA_MESSAGE_TYPE_SECTION_INTENSITY
1350 */
1351 typedef k32s GoDataMessageType;
1352 /** @name GoDataMessageType
1353 *@{*/
1354 #define GO_DATA_MESSAGE_TYPE_UNKNOWN (-1) ///< Unknown message type.
1355 #define GO_DATA_MESSAGE_TYPE_STAMP (0) ///< Stamp message type.
1356 #define GO_DATA_MESSAGE_TYPE_HEALTH (1) ///< Health message type.
1357 #define GO_DATA_MESSAGE_TYPE_VIDEO (2) ///< Video message type.
1358 #define GO_DATA_MESSAGE_TYPE_RANGE (3) ///< Range message type.
1359 #define GO_DATA_MESSAGE_TYPE_RANGE_INTENSITY (4) ///< Range Intensity message type.
1360 #define GO_DATA_MESSAGE_TYPE_PROFILE (5) ///< Profile message type.
1361 #define GO_DATA_MESSAGE_TYPE_PROFILE_INTENSITY (6) ///< Profile(or Resampled if uniform spacing is enabled) Intensity message type.
1362 #define GO_DATA_MESSAGE_TYPE_RESAMPLED_PROFILE (7) ///< Resampled Profile message type.
1363 #define GO_DATA_MESSAGE_TYPE_SURFACE (8) ///< Surface message type.
1364 #define GO_DATA_MESSAGE_TYPE_SURFACE_INTENSITY (9) ///< Surface Intensity message type.
1365 #define GO_DATA_MESSAGE_TYPE_MEASUREMENT (12) ///< Measurement message type.
1366 #define GO_DATA_MESSAGE_TYPE_ALIGNMENT (13) ///< Alignment result message type.
1367 #define GO_DATA_MESSAGE_TYPE_EXPOSURE_CAL (14) ///< Exposure AutoSet/Calibration result message type.
1368 #define GO_DATA_MESSAGE_TYPE_EDGE_MATCH (15) ///< Part matching edge algorithm message type.
1369 #define GO_DATA_MESSAGE_TYPE_BOUNDING_BOX_MATCH (16) ///< Part matching bounding box algorithm message type.
1370 #define GO_DATA_MESSAGE_TYPE_ELLIPSE_MATCH (17) ///< Part matching ellipse algorithm message type.
1371 #define GO_DATA_MESSAGE_TYPE_SECTION (20) ///< Section message type.
1372 #define GO_DATA_MESSAGE_TYPE_SECTION_INTENSITY (21) ///< Section Intensity message type.
1373 /**@}*/
1374
1375 /**@}*/
1376
1377 /// @cond (Gocator_1x00 || Gocator_2x00)
1378
1379 /**
1380 * @struct GoMaterialType
1381 * @extends kValue
1382 * @ingroup GoSdk
1383 * @brief Represents a material acquisition type.
1384 *
1385 * The following enumerators are defined:
1386 * - #GO_MATERIAL_TYPE_CUSTOM
1387 * - #GO_MATERIAL_TYPE_DIFFUSE
1388 */
1389 typedef k32s GoMaterialType;
1390 /** @name GoMaterialType
1391 *@{*/
1392 #define GO_MATERIAL_TYPE_CUSTOM (0) ///< Custom material acquisition type.
1393 #define GO_MATERIAL_TYPE_DIFFUSE (1) ///< Diffuse material acquisition type.
1394 /**@}*/
1395
1396 /**
1397 * @struct GoSpotSelectionType
1398 * @extends kValue
1399 * @ingroup GoSdk
1400 * @brief Represents a spot selection type.
1401 *
1402 * The following enumerators are defined:
1403 * - #GO_SPOT_SELECTION_TYPE_BEST
1404 * - #GO_SPOT_SELECTION_TYPE_TOP
1405 * - #GO_SPOT_SELECTION_TYPE_BOTTOM
1406 * - #GO_SPOT_SELECTION_TYPE_NONE
1407 */
1408 typedef k32s GoSpotSelectionType;
1409 /** @name GoSpotSelectionType
1410 *@{*/
1411 #define GO_SPOT_SELECTION_TYPE_BEST (0) ///< Select the spot with the best value.
1412 #define GO_SPOT_SELECTION_TYPE_TOP (1) ///< Select the top-most spot.
1413 #define GO_SPOT_SELECTION_TYPE_BOTTOM (2) ///< Select the bottom-most spot.
1414 #define GO_SPOT_SELECTION_TYPE_NONE (3) ///< Disable spot selection.
1415 /**@}*/
1416
1417 /// @endcond
1418
1419 /// @cond (Gocator_1x00 || Gocator_2x00)
1420 /**
1421 * @struct GoProfileStripBaseType
1422 * @extends kValue
1423 * @ingroup GoSdk-ProfileTools
1424 * @brief Represents a profile strip tool base type.
1425 *
1426 * The following enumerators are defined:
1427 * - #GO_PROFILE_STRIP_BASE_TYPE_NONE
1428 * - #GO_PROFILE_STRIP_BASE_TYPE_FLAT
1429 */
1430 typedef k32s GoProfileStripBaseType;
1431 /** @name GoProfileStripBaseType
1432 *@{*/
1433 #define GO_PROFILE_STRIP_BASE_TYPE_NONE (0) ///< No strip base type.
1434 #define GO_PROFILE_STRIP_BASE_TYPE_FLAT (1) ///< Flat strip base type.
1435 /**@}*/
1436
1437 /**
1438 * @struct GoProfileStripEdgeType
1439 * @extends kValue
1440 * @ingroup GoSdk-ProfileTools
1441 * @brief Represents a profile strip tool edge type.
1442 *
1443 * The following enumerators are defined:
1444 * - #GO_PROFILE_STRIP_EDGE_TYPE_RISING
1445 * - #GO_PROFILE_STRIP_EDGE_TYPE_FALLING
1446 * - #GO_PROFILE_STRIP_EDGE_TYPE_DATA_END
1447 * - #GO_PROFILE_STRIP_EDGE_TYPE_VOID
1448 */
1449 typedef k32s GoProfileStripEdgeType;
1450 /** @name GoProfileStripEdgeType
1451 *@{*/
1452 #define GO_PROFILE_STRIP_EDGE_TYPE_RISING (1) ///< Rising strip edge type.
1453 #define GO_PROFILE_STRIP_EDGE_TYPE_FALLING (2) ///< Falling strip edge type.
1454 #define GO_PROFILE_STRIP_EDGE_TYPE_DATA_END (4) ///< Data end strip edge type.
1455 #define GO_PROFILE_STRIP_EDGE_TYPE_VOID (8) ///< Void strip edge type.
1456 /**@}*/
1457
1458
1459 /**
1460 * @struct GoProfileFeatureType
1461 * @ingroup GoSdk-ProfileTools
1462 * @brief Represents a profile feature point type.
1463 *
1464 * The following enumerators are defined:
1465 * - #GO_PROFILE_FEATURE_TYPE_MAX_Z
1466 * - #GO_PROFILE_FEATURE_TYPE_MIN_Z
1467 * - #GO_PROFILE_FEATURE_TYPE_MAX_X
1468 * - #GO_PROFILE_FEATURE_TYPE_MIN_X
1469 * - #GO_PROFILE_FEATURE_TYPE_CORNER
1470 * - #GO_PROFILE_FEATURE_TYPE_AVERAGE
1471 * - #GO_PROFILE_FEATURE_TYPE_RISING_EDGE
1472 * - #GO_PROFILE_FEATURE_TYPE_FALLING_EDGE
1473 * - #GO_PROFILE_FEATURE_TYPE_ANY_EDGE
1474 * - #GO_PROFILE_FEATURE_TYPE_TOP_CORNER
1475 * - #GO_PROFILE_FEATURE_TYPE_BOTTOM_CORNER
1476 * - #GO_PROFILE_FEATURE_TYPE_LEFT_CORNER
1477 * - #GO_PROFILE_FEATURE_TYPE_RIGHT_CORNER
1478 * - #GO_PROFILE_FEATURE_TYPE_MEDIAN
1479 */
1480 typedef k32s GoProfileFeatureType;
1481 /** @name GoProfileFeatureType
1482 *@{*/
1483 #define GO_PROFILE_FEATURE_TYPE_MAX_Z (0) ///< Point with the maximum Z value.
1484 #define GO_PROFILE_FEATURE_TYPE_MIN_Z (1) ///< Point with the minimum Z value.
1485 #define GO_PROFILE_FEATURE_TYPE_MAX_X (2) ///< Point with the maximum X value.
1486 #define GO_PROFILE_FEATURE_TYPE_MIN_X (3) ///< Point with the minimum X value.
1487 #define GO_PROFILE_FEATURE_TYPE_CORNER (4) ///< Dominant corner.
1488 #define GO_PROFILE_FEATURE_TYPE_AVERAGE (5) ///< Average of points.
1489 #define GO_PROFILE_FEATURE_TYPE_RISING_EDGE (6) ///< Rising edge.
1490 #define GO_PROFILE_FEATURE_TYPE_FALLING_EDGE (7) ///< Falling edge.
1491 #define GO_PROFILE_FEATURE_TYPE_ANY_EDGE (8) ///< Rising or falling edge.
1492 #define GO_PROFILE_FEATURE_TYPE_TOP_CORNER (9) ///< Top-most corner.
1493 #define GO_PROFILE_FEATURE_TYPE_BOTTOM_CORNER (10) ///< Bottom-most corner.
1494 #define GO_PROFILE_FEATURE_TYPE_LEFT_CORNER (11) ///< Left-most corner.
1495 #define GO_PROFILE_FEATURE_TYPE_RIGHT_CORNER (12) ///< Right-most corner.
1496 #define GO_PROFILE_FEATURE_TYPE_MEDIAN (13) ///< Median of points.
1497 /**@}*/
1498
1499 /**
1500 * @struct GoProfileGapAxis
1501 * @ingroup GoSdk-ProfileTools
1502 * @brief Represents a profile gap measurement axis.
1503 *
1504 * The following enumerators are defined:
1505 * - #GO_PROFILE_GAP_AXIS_EDGE
1506 * - #GO_PROFILE_GAP_AXIS_SURFACE
1507 * - #GO_PROFILE_GAP_AXIS_DISTANCE
1508 */
1509 typedef k32s GoProfileGapAxis;
1510 /** @name GoProfileGapAxis
1511 *@{*/
1512 #define GO_PROFILE_GAP_AXIS_EDGE (0) ///< Measure the gap along the edge normal.
1513 #define GO_PROFILE_GAP_AXIS_SURFACE (1) ///< Measure the gap along the surface line.
1514 #define GO_PROFILE_GAP_AXIS_DISTANCE (2) ///< Measure the shortest distance between the two edges.
1515 /**@}*/
1516
1517 /**
1518 * @struct GoProfileEdgeType
1519 * @ingroup GoSdk-ProfileTools
1520 * @brief Represents a profile edge type.
1521 *
1522 * The following enumerators are defined:
1523 * - #GO_PROFILE_EDGE_TYPE_TANGENT
1524 * - #GO_PROFILE_EDGE_TYPE_CORNER
1525 */
1526 typedef k32s GoProfileEdgeType;
1527 /** @name GoProfileEdgeType
1528 *@{*/
1529 #define GO_PROFILE_EDGE_TYPE_TANGENT (0) ///< Detect the edge by looking for the tangent.
1530 #define GO_PROFILE_EDGE_TYPE_CORNER (1) ///< Detect the edge by looking for the corner.
1531 /**@}*/
1532
1533 /**
1534 * @struct GoProfileLineType
1535 * @ingroup GoSdk-ProfileTools
1536 * @brief Determines whether to use a line based on a Profile Line fit, or based on the x-axis.
1537 *
1538 * The following enumerators are defined:
1539 * - #GO_PROFILE_BASELINE_TYPE_X_AXIS
1540 * - #GO_PROFILE_BASELINE_TYPE_Z_AXIS
1541 * - #GO_PROFILE_BASELINE_TYPE_LINE
1542 */
1543 typedef k32s GoProfileBaseline;
1544 /** @name GoProfileBaseline
1545 *@{*/
1546 #define GO_PROFILE_BASELINE_TYPE_X_AXIS (0) ///< Use the X-Axis.
1547 #define GO_PROFILE_BASELINE_TYPE_Z_AXIS (1) ///< Use the Z-Axis.
1548 #define GO_PROFILE_BASELINE_TYPE_LINE (2) ///< Use the line fit.
1549 /**@}*/
1550
1551 /**
1552 * @struct GoProfileAreaType
1553 * @ingroup GoSdk-ProfileTools
1554 * @brief Determines how to calculate profile area
1555 *
1556 * The following enumerators are defined:
1557 * - #GO_PROFILE_AREA_TYPE_OBJECT
1558 * - #GO_PROFILE_AREA_TYPE_CLEARANCE
1559 */
1560 typedef k32s GoProfileAreaType;
1561 /** @name GoProfileAreaType
1562 *@{*/
1563 #define GO_PROFILE_AREA_TYPE_OBJECT (0) ///< Sum the profile area that is above the line.
1564 #define GO_PROFILE_AREA_TYPE_CLEARANCE (1) ///< Sum the profile area that is below the line.
1565 /**@}*/
1566
1567 /**
1568 * @struct GoProfileGapSide
1569 * @ingroup GoSdk-ProfileTools
1570 * @brief Selects which edge to use as the reference in a panel tool.
1571 *
1572 * The following enumerators are defined:
1573 * - #GO_PROFILE_PANEL_SIDE_LEFT
1574 * - #GO_PROFILE_PANEL_SIDE_RIGHT
1575 */
1576 typedef k32s GoProfilePanelSide;
1577 /** @name GoProfilePanelSide
1578 *@{*/
1579 #define GO_PROFILE_PANEL_SIDE_LEFT (0) ///< Use the left edge.
1580 #define GO_PROFILE_PANEL_SIDE_RIGHT (1) ///< Use the right edge.
1581 /**@}*/
1582
1583 /**
1584 * @struct GoProfileGrooveShape
1585 * @ingroup GoSdk-ProfileTools
1586 * @brief Represents a profile edge type.
1587 *
1588 * The following enumerators are defined:
1589 * - #GO_PROFILE_GROOVE_SHAPE_U
1590 * - #GO_PROFILE_GROOVE_SHAPE_V
1591 * - #GO_PROFILE_GROOVE_SHAPE_OPEN
1592 */
1593 typedef k32s GoProfileGrooveShape;
1594 /** @name GoProfileGrooveShape
1595 *@{*/
1596 #define GO_PROFILE_GROOVE_SHAPE_U (0) ///< Detect grooves that are U shaped.
1597 #define GO_PROFILE_GROOVE_SHAPE_V (1) ///< Detect grooves that are V shaped.
1598 #define GO_PROFILE_GROOVE_SHAPE_OPEN (2) ///< Detect grooves that are open.
1599 /**@}*/
1600
1601 /**
1602 * @struct GoProfileGrooveSelectType
1603 * @ingroup GoSdk-ProfileTools
1604 * @brief Determines which groove to select when multiple are present.
1605 *
1606 * The following enumerators are defined:
1607 * - #GO_PROFILE_GROOVE_SELECT_TYPE_MAX_DEPTH
1608 * - #GO_PROFILE_GROOVE_SELECT_TYPE_LEFT_INDEX
1609 * - #GO_PROFILE_GROOVE_SELECT_TYPE_RIGHT_INDEX
1610 */
1611 typedef k32s GoProfileGrooveSelectType;
1612 /** @name GoProfileGrooveSelectType
1613 *@{*/
1614 #define GO_PROFILE_GROOVE_SELECT_TYPE_MAX_DEPTH (0) ///< Select the groove with the maximum depth.
1615 #define GO_PROFILE_GROOVE_SELECT_TYPE_LEFT_INDEX (1) ///< Select the groove with the currently selected index starting from the left side.
1616 #define GO_PROFILE_GROOVE_SELECT_TYPE_RIGHT_INDEX (2) ///< Select the groove with the currently selected index starting from the right side.
1617 /**@}*/
1618
1619 /**
1620 * @struct GoProfileGrooveLocation
1621 * @ingroup GoSdk-ProfileTools
1622 * @brief Determines which groove position to return.
1623 *
1624 * The following enumerators are defined:
1625 * - #GO_PROFILE_GROOVE_LOCATION_BOTTOM
1626 * - #GO_PROFILE_GROOVE_LOCATION_LEFT
1627 * - #GO_PROFILE_GROOVE_LOCATION_RIGHT
1628 */
1629 typedef k32s GoProfileGrooveLocation;
1630 /** @name GoProfileGrooveLocation
1631 *@{*/
1632 #define GO_PROFILE_GROOVE_LOCATION_BOTTOM (0) ///< Return the position of the bottom of the groove.
1633 #define GO_PROFILE_GROOVE_LOCATION_LEFT (1) ///< Return the position of the left corner of the groove.
1634 #define GO_PROFILE_GROOVE_LOCATION_RIGHT (2) ///< Return the position of the right corner of the groove.
1635 /**@}*/
1636
1637 /**
1638 * @struct GoProfileStripSelectType
1639 * @ingroup GoSdk-ProfileTools
1640 * @brief Determines which Strip to select when multiple are present.
1641 *
1642 * The following enumerators are defined:
1643 * - #GO_PROFILE_STRIP_SELECT_TYPE_BEST
1644 * - #GO_PROFILE_STRIP_SELECT_TYPE_LEFT_INDEX
1645 * - #GO_PROFILE_STRIP_SELECT_TYPE_RIGHT_INDEX
1646 */
1647 typedef k32s GoProfileStripSelectType;
1648 /** @name GoProfileStripSelectType
1649 *@{*/
1650 #define GO_PROFILE_STRIP_SELECT_TYPE_BEST (0) ///< Select the best strip.
1651 #define GO_PROFILE_STRIP_SELECT_TYPE_LEFT_INDEX (1) ///< Select the strip with the currently selected index starting from the left side.
1652 #define GO_PROFILE_STRIP_SELECT_TYPE_RIGHT_INDEX (2) ///< Select the strip with the currently selected index starting from the right side.
1653 /**@}*/
1654
1655 /**
1656 * @struct GoProfileStripLocation
1657 * @ingroup GoSdk-ProfileTools
1658 * @brief Determines which Strip position to return.
1659 *
1660 * The following enumerators are defined:
1661 * - #GO_PROFILE_STRIP_LOCATION_LEFT
1662 * - #GO_PROFILE_STRIP_LOCATION_RIGHT
1663 * - #GO_PROFILE_STRIP_LOCATION_BOTTOM
1664 */
1665 typedef k32s GoProfileStripLocation;
1666 /** @name GoProfileStripLocation
1667 *@{*/
1668 #define GO_PROFILE_STRIP_LOCATION_LEFT (0) ///< Return the position of the left corner of the Strip.
1669 #define GO_PROFILE_STRIP_LOCATION_RIGHT (1) ///< Return the position of the right corner of the Strip.
1670 #define GO_PROFILE_STRIP_LOCATION_BOTTOM (2) ///< Return the position of the center of the Strip.
1671 /**@}*/
1672
1673 /**
1674 * @struct GoProfileGenerationType
1675 * @extends kValue
1676 * @ingroup GoSdk-Profile
1677 * @brief Represents a profile generation type.
1678 *
1679 * The following enumerators are defined:
1680 * - #GO_PROFILE_GENERATION_TYPE_CONTINUOUS
1681 * - #GO_PROFILE_GENERATION_TYPE_FIXED_LENGTH
1682 * - #GO_PROFILE_GENERATION_TYPE_VARIABLE_LENGTH
1683 * - #GO_PROFILE_GENERATION_TYPE_ROTATIONAL
1684 */
1685 typedef k32s GoProfileGenerationType;
1686 /** @name GoProfileGenerationType
1687 *@{*/
1688 #define GO_PROFILE_GENERATION_TYPE_CONTINUOUS (0) ///< Continuous Profile generation.
1689 #define GO_PROFILE_GENERATION_TYPE_FIXED_LENGTH (1) ///< Fixed length Profile generation.
1690 #define GO_PROFILE_GENERATION_TYPE_VARIABLE_LENGTH (2) ///< Variable length Profile generation.
1691 #define GO_PROFILE_GENERATION_TYPE_ROTATIONAL (3) ///< Rotational Profile generation.
1692 /**@}*/
1693
1694 /**
1695 * @struct GoProfileGenerationStartTrigger
1696 * @extends kValue
1697 * @ingroup GoSdk-Profile
1698 * @brief Represents a profile generation start trigger.
1699 *
1700 * The following enumerators are defined:
1701 * - #GO_PROFILE_GENERATION_START_TRIGGER_SEQUENTIAL
1702 * - #GO_PROFILE_GENERATION_START_TRIGGER_DIGITAL
1703 */
1704 typedef k32s GoProfileGenerationStartTrigger;
1705 /** @name GoProfileGenerationStartTrigger
1706 *@{*/
1707 #define GO_PROFILE_GENERATION_START_TRIGGER_SEQUENTIAL (0) ///< Sequential start trigger.
1708 #define GO_PROFILE_GENERATION_START_TRIGGER_DIGITAL (1) ///< Digital input start trigger.
1709 /**@}*/
1710
1711 /// @endcond
1712
1713 /// @cond (Gocator_2x00 || Gocator_3x00)
1714
1715 /**
1716 * @struct GoPartFrameOfReference
1717 * @extends kValue
1718 * @ingroup GoSdk
1719 * @brief Represents a part detection frame of reference.
1720 *
1721 * The following enumerators are defined:
1722 * - #GO_PART_FRAME_OF_REFERENCE_TYPE_SENSOR
1723 * - #GO_PART_FRAME_OF_REFERENCE_TYPE_SCAN
1724 * - #GO_PART_FRAME_OF_REFERENCE_TYPE_PART
1725 */
1726 typedef k32s GoPartFrameOfReference;
1727 /** @name GoPartFrameOfReference
1728 *@{*/
1729 #define GO_PART_FRAME_OF_REFERENCE_TYPE_SENSOR (0) ///< Sensor frame of reference. 2x00 only.
1730 #define GO_PART_FRAME_OF_REFERENCE_TYPE_SCAN (0) ///< Scan frame of reference. 3x00 only. Value duplication is intentional.
1731 #define GO_PART_FRAME_OF_REFERENCE_TYPE_PART (1) ///< Part frame of reference.
1732 /**@}*/
1733
1734 /**
1735 * @struct GoPartHeightThresholdDirection
1736 * @extends kValue
1737 * @ingroup GoSdk-Surface
1738 * @brief Represents a part detection height threshold direction.
1739 *
1740 * The following enumerators are defined:
1741 * - #GO_PART_HEIGHT_THRESHOLD_DIRECTION_ABOVE
1742 * - #GO_PART_HEIGHT_THRESHOLD_DIRECTION_BELOW
1743 */
1744 typedef k32s GoPartHeightThresholdDirection;
1745 /** @name GoPartHeightThresholdDirection
1746 *@{*/
1747 #define GO_PART_HEIGHT_THRESHOLD_DIRECTION_ABOVE (0) ///< Height threshold direction is above the Z-axis.
1748 #define GO_PART_HEIGHT_THRESHOLD_DIRECTION_BELOW (1) ///< Height threshold direction is below the Z-axis.
1749 /**@}*/
1750
1751 /**
1752 * @struct GoSurfaceGenerationType
1753 * @extends kValue
1754 * @ingroup GoSdk-Surface
1755 * @brief Represents a surface generation type.
1756 *
1757 * The following enumerators are defined:
1758 * - #GO_SURFACE_GENERATION_TYPE_CONTINUOUS
1759 * - #GO_SURFACE_GENERATION_TYPE_FIXED_LENGTH
1760 * - #GO_SURFACE_GENERATION_TYPE_VARIABLE_LENGTH
1761 * - #GO_SURFACE_GENERATION_TYPE_ROTATIONAL
1762 */
1763 typedef k32s GoSurfaceGenerationType;
1764 /** @name GoSurfaceGenerationType
1765 *@{*/
1766 #define GO_SURFACE_GENERATION_TYPE_CONTINUOUS (0) ///< Continuous surface generation.
1767 #define GO_SURFACE_GENERATION_TYPE_FIXED_LENGTH (1) ///< Fixed length surface generation.
1768 #define GO_SURFACE_GENERATION_TYPE_VARIABLE_LENGTH (2) ///< Variable length surface generation.
1769 #define GO_SURFACE_GENERATION_TYPE_ROTATIONAL (3) ///< Rotational surface generation.
1770 /**@}*/
1771
1772 /**
1773 * @struct GoSurfaceGenerationStartTrigger
1774 * @extends kValue
1775 * @ingroup GoSdk-Surface
1776 * @brief Represents a surface generation start trigger.
1777 *
1778 * The following enumerators are defined:
1779 * - #GO_SURFACE_GENERATION_START_TRIGGER_SEQUENTIAL
1780 * - #GO_SURFACE_GENERATION_START_TRIGGER_DIGITAL
1781 */
1782 typedef k32s GoSurfaceGenerationStartTrigger;
1783 /** @name GoSurfaceGenerationStartTrigger
1784 *@{*/
1785 #define GO_SURFACE_GENERATION_START_TRIGGER_SEQUENTIAL (0) ///< Sequential start trigger.
1786 #define GO_SURFACE_GENERATION_START_TRIGGER_DIGITAL (1) ///< Digital input start trigger.
1787 /**@}*/
1788
1789 /**
1790 * @struct GoSurfaceLocation
1791 * @ingroup GoSdk-SurfaceTools
1792 * @brief Represents a surface location.
1793 *
1794 * The following enumerators are defined:
1795 * - #GO_SURFACE_LOCATION_TYPE_MAX
1796 * - #GO_SURFACE_LOCATION_TYPE_MIN
1797 * - #GO_SURFACE_LOCATION_TYPE_2D_CENTROID
1798 * - #GO_SURFACE_LOCATION_TYPE_3D_CENTROID
1799 * - #GO_SURFACE_LOCATION_TYPE_AVG
1800 * - #GO_SURFACE_LOCATION_TYPE_MEDIAN
1801 */
1802 typedef k32s GoSurfaceLocation;
1803 /** @name GoSurfaceLocation
1804 *@{*/
1805 #define GO_SURFACE_LOCATION_TYPE_MAX (0) ///< Location based on the maximum point.
1806 #define GO_SURFACE_LOCATION_TYPE_MIN (1) ///< Location based on the minimum point.
1807 #define GO_SURFACE_LOCATION_TYPE_2D_CENTROID (2) ///< Location based on a 2d centroid.
1808 #define GO_SURFACE_LOCATION_TYPE_3D_CENTROID (3) ///< Location based on a 3d centroid.
1809 #define GO_SURFACE_LOCATION_TYPE_AVG (4) ///< Location based on the average point.
1810 #define GO_SURFACE_LOCATION_TYPE_MEDIAN (5) ///< Location based on the median point.
1811 /**@}*/
1812
1813 /**
1814 * @struct GoSurfaceFeatureType
1815 * @ingroup GoSdk-SurfaceTools
1816 * @brief Represents a surface feature type.
1817 *
1818 * The following enumerators are defined:
1819 * - #GO_SURFACE_FEATURE_TYPE_AVERAGE
1820 * - #GO_SURFACE_FEATURE_TYPE_CENTROID
1821 * - #GO_SURFACE_FEATURE_TYPE_X_MAX
1822 * - #GO_SURFACE_FEATURE_TYPE_X_MIN
1823 * - #GO_SURFACE_FEATURE_TYPE_Y_MAX
1824 * - #GO_SURFACE_FEATURE_TYPE_Y_MIN
1825 * - #GO_SURFACE_FEATURE_TYPE_Z_MAX
1826 * - #GO_SURFACE_FEATURE_TYPE_Z_MIN
1827 * - #GO_SURFACE_FEATURE_TYPE_MEDIAN
1828 */
1829 typedef k32s GoSurfaceFeatureType;
1830 /** @name GoSurfaceFeatureType
1831 *@{*/
1832 #define GO_SURFACE_FEATURE_TYPE_AVERAGE (0) ///< Feature based on the average.
1833 #define GO_SURFACE_FEATURE_TYPE_CENTROID (1) ///< Feature based on the centroid.
1834 #define GO_SURFACE_FEATURE_TYPE_X_MAX (2) ///< Feature based on the X maximum point.
1835 #define GO_SURFACE_FEATURE_TYPE_X_MIN (3) ///< Feature based on the X minimum point.
1836 #define GO_SURFACE_FEATURE_TYPE_Y_MAX (4) ///< Feature based on the Y maximum point.
1837 #define GO_SURFACE_FEATURE_TYPE_Y_MIN (5) ///< Feature based on the Y minimum point.
1838 #define GO_SURFACE_FEATURE_TYPE_Z_MAX (6) ///< Feature based on the Z maximum point.
1839 #define GO_SURFACE_FEATURE_TYPE_Z_MIN (7) ///< Feature based on the Z minimum point.
1840 #define GO_SURFACE_FEATURE_TYPE_MEDIAN (8) ///< Feature based on the median.
1841 /**@}*/
1842
1843 /**
1844 * @struct GoSurfaceCountersunkHoleShape
1845 * @extends kValue
1846 * @ingroup GoSdk-SurfaceTools
1847 * @brief Represents a surface countersunk hole tool shape.
1848 *
1849 * The following enumerators are defined:
1850 * - #GO_SURFACE_COUNTERSUNK_HOLE_SHAPE_CONE
1851 * - #GO_SURFACE_COUNTERSUNK_HOLE_SHAPE_COUNTERBORE
1852 */
1853 typedef k32s GoSurfaceCountersunkHoleShape;
1854 /** @name GoSurfaceCountersunkHoleShape
1855 *@{*/
1856 #define GO_SURFACE_COUNTERSUNK_HOLE_SHAPE_CONE (0) ///< Cone shape.
1857 #define GO_SURFACE_COUNTERSUNK_HOLE_SHAPE_COUNTERBORE (1) ///< Counterbore shape.
1858 /**@}*/
1859
1860
1861 /**
1862 * @struct GoSurfaceOpeningType
1863 * @extends kValue
1864 * @ingroup GoSdk-SurfaceTools
1865 * @brief Represents a surface opening tool type.
1866 *
1867 * The following enumerators are defined:
1868 * - #GO_SURFACE_OPENING_TYPE_ROUNDED_SLOT
1869 * - #GO_SURFACE_OPENING_TYPE_ROUNDED_RECTANGLE
1870 */
1871 typedef k32s GoSurfaceOpeningType;
1872 /** @name GoSurfaceOpeningType
1873 *@{*/
1874 #define GO_SURFACE_OPENING_TYPE_ROUNDED_SLOT (0) ///< Rounded slot opening type.
1875 #define GO_SURFACE_OPENING_TYPE_ROUNDED_RECTANGLE (1) ///< Rectangular opening type.
1876 /**@}*/
1877
1878 /**
1879 * @struct GoPartMatchAlgorithm
1880 * @extends kValue
1881 * @ingroup GoSdk-Surface
1882 * @brief Represents a part matching algorithm.
1883 *
1884 * The following enumerators are defined:
1885 * - #GO_PART_MATCH_ALGORITHM_EDGE
1886 * - #GO_PART_MATCH_ALGORITHM_BOUNDING_BOX
1887 * - #GO_PART_MATCH_ALGORITHM_ELLIPSE
1888 */
1889 typedef k32s GoPartMatchAlgorithm;
1890 /** @name GoPartMatchAlgorithm
1891 *@{*/
1892 #define GO_PART_MATCH_ALGORITHM_EDGE (0) ///< Edge based part match algorithm.
1893 #define GO_PART_MATCH_ALGORITHM_BOUNDING_BOX (1) ///< Bounding box based part match algorithm.
1894 #define GO_PART_MATCH_ALGORITHM_ELLIPSE (2) ///< Ellipse based part match algorithm.
1895 /**@}*/
1896
1897
1898 /**
1899 * @struct GoBoxAsymmetryType
1900 * @extends kValue
1901 * @ingroup GoSdk-Surface
1902 * @brief Represents the bounding box part matching asymmetry detection type.
1903 *
1904 * The following enumerators are defined:
1905 * - #GO_BOX_ASYMMETRY_TYPE_NONE
1906 * - #GO_BOX_ASYMMETRY_TYPE_ALONG_LENGTH_AXIS
1907 * - #GO_BOX_ASYMMETRY_TYPE_ALONG_WIDTH_AXIS
1908 */
1909 typedef k32s GoBoxAsymmetryType;
1910 /** @name GoBoxAsymmetryType
1911 *@{*/
1912 #define GO_BOX_ASYMMETRY_TYPE_NONE (0) ///< None
1913 #define GO_BOX_ASYMMETRY_TYPE_ALONG_LENGTH_AXIS (1) ///< Along Length axis
1914 #define GO_BOX_ASYMMETRY_TYPE_ALONG_WIDTH_AXIS (2) ///< Along Width axis
1915 /**@}*/
1916
1917 /**
1918 * @struct GoEllipseAsymmetryType
1919 * @extends kValue
1920 * @ingroup GoSdk-Surface
1921 * @brief Represents the bounding Ellipse part matching asymmetry detection type.
1922 *
1923 * The following enumerators are defined:
1924 * - #GO_ELLIPSE_ASYMMETRY_TYPE_NONE
1925 * - #GO_ELLIPSE_ASYMMETRY_TYPE_ALONG_MAJOR_AXIS
1926 * - #GO_ELLIPSE_ASYMMETRY_TYPE_ALONG_MINOR_AXIS
1927 */
1928 typedef k32s GoEllipseAsymmetryType;
1929 /** @name GoEllipseAsymmetryType
1930 *@{*/
1931 #define GO_ELLIPSE_ASYMMETRY_TYPE_NONE (0) ///< None
1932 #define GO_ELLIPSE_ASYMMETRY_TYPE_ALONG_MAJOR_AXIS (1) ///< Along Major axis
1933 #define GO_ELLIPSE_ASYMMETRY_TYPE_ALONG_MINOR_AXIS (2) ///< Along Minor axis
1934 /**@}*/
1935
1936
1937 #define GO_SURFACE_COUNTERSUNK_HOLE_MAX_REF_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Counter Sunk Hole Tool.
1938 #define GO_SURFACE_HOLE_MAX_REF_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Hole Tool.
1939 #define GO_SURFACE_OPENING_MAX_REF_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Opening Tool.
1940 #define GO_SURFACE_PLANE_MAX_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Plane Tool.
1941 #define GO_SURFACE_RIVET_MAX_REF_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Rivet Tool.
1942 #define GO_SURFACE_STUD_MAX_REF_REGIONS (2) ///< The maximum number of reference regions permitted for the Surface Stud Tool.
1943
1944 /**
1945 * @struct GoImageType
1946 * @extends kValue
1947 * @ingroup GoSdk
1948 * @brief Represents an image type.
1949 *
1950 * The following enumerators are defined:
1951 * - #GO_IMAGE_TYPE_HEIGHTMAP
1952 * - #GO_IMAGE_TYPE_INTENSITY
1953 */
1954 typedef k32s GoImageType;
1955 /** @name GoImageType
1956 *@{*/
1957 #define GO_IMAGE_TYPE_HEIGHTMAP (0) ///< Heightmap image type.
1958 #define GO_IMAGE_TYPE_INTENSITY (1) ///< Intensity image type.
1959 /**@}*/
1960
1961 /// @endcond
1962
1963
1964 /**
1965 * @struct GoGammaType
1966 * @extends kValue
1967 * @ingroup GoSdk
1968 * @brief Represents a material gamma type.
1969 *
1970 * The following enumerators are defined:
1971 * - #GO_GAMMA_TYPE_NONE
1972 * - #GO_GAMMA_TYPE_LOW
1973 * - #GO_GAMMA_TYPE_MEDIUM
1974 * - #GO_GAMMA_TYPE_HIGH
1975 */
1976 typedef k32s GoGammaType;
1977 /** @name GoGammaType
1978 *@{*/
1979 #define GO_GAMMA_TYPE_NONE (0) ///< None. No imager gamma / multi-slope configuration will occur.
1980 #define GO_GAMMA_TYPE_LOW (1) ///< Low.
1981 #define GO_GAMMA_TYPE_MEDIUM (2) ///< Medium.
1982 #define GO_GAMMA_TYPE_HIGH (3) ///< High.
1983 /**@}*/
1984
1985 /**
1986 * @struct GoPatternSequenceType
1987 * @extends kValue
1988 * @ingroup GoSdk
1989 * @brief Represents a pattern sequence type.
1990 *
1991 * The following enumerators are defined:
1992 * - #GO_PATTERN_SEQUENCE_TYPE_DEFAULT
1993 * - #GO_PATTERN_SEQUENCE_TYPE_CUSTOM
1994 *
1995 */
1996 typedef k32s GoPatternSequenceType;
1997 /** @name GoPatternSequenceType
1998 *@{*/
1999
2000 #define GO_PATTERN_SEQUENCE_TYPE_DEFAULT (0) ///< Default sequence pattern.
2001 #define GO_PATTERN_SEQUENCE_TYPE_CUSTOM (100) ///< Custom sequence pattern.
2002 /**@}*/
2003
2004
2005 /**
2006 * @struct GoImplicitTriggerOverride
2007 * @extends kValue
2008 * @ingroup GoSdk
2009 * @brief Represents an EthernetIP implicit messaging trigger override.
2010 *
2011 * The following enumerators are defined:
2012 * - #GO_IMPLICIT_TRIGGER_OVERRIDE_OFF
2013 * - #GO_IMPLICIT_TRIGGER_OVERRIDE_CYCLIC
2014 * - #GO_IMPLICIT_TRIGGER_OVERRIDE_CHANGE_OF_STATE
2015 *
2016 */
2017 typedef k32s GoImplicitTriggerOverride;
2018 /** @name GoImplicitTriggerOverride
2019 *@{*/
2020
2021 #define GO_IMPLICIT_TRIGGER_OVERRIDE_OFF (0) ///< Use the implicit output trigger specified in the connection header.
2022 #define GO_IMPLICIT_TRIGGER_OVERRIDE_CYCLIC (1) ///< Utilize cyclic implicit messaging trigger behavior regardless of what is specified in the connection header.
2023 #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.
2024 /**@}*/
2025
2026 /**
2027 * @struct GoAlignmentStatus
2028 * @extends kValue
2029 * @ingroup GoSdk
2030 * @brief Represents the operation status of an alignment.
2031 *
2032 * The following enumerators are defined:
2033 * - #GO_ALIGNMENT_STATUS_OK
2034 * - #GO_ALIGNMENT_STATUS_GENERAL_FAILURE
2035 * - #GO_ALIGNMENT_STATUS_STATIONARY_NO_DATA
2036 * - #GO_ALIGNMENT_STATUS_MOVING_INSUFFICIENT_DATA
2037 * - #GO_ALIGNMENT_STATUS_INVALID_TARGET
2038 * - #GO_ALIGNMENT_STATUS_UNEXPECTED_TARGET_POSITION
2039 * - #GO_ALIGNMENT_STATUS_BAR_HOLE_NOT_FOUND
2040 * - #GO_ALIGNMENT_STATUS_MOVING_NO_ENCODER_CHANGE
2041 * - #GO_ALIGNMENT_STATUS_ABORT
2042 * - #GO_ALIGNMENT_STATUS_TIMEOUT
2043 * - #GO_ALIGNMENT_STATUS_INVALID_PARAMETER
2044 *
2045 */
2046 typedef k32s GoAlignmentStatus;
2047 /** @name GoAlignmentStatus
2048 *@{*/
2049
2050 #define GO_ALIGNMENT_STATUS_OK (1) ///< Alignment operation succeeded.
2051 #define GO_ALIGNMENT_STATUS_GENERAL_FAILURE (0) ///< Alignment operation failed.
2052 #define GO_ALIGNMENT_STATUS_STATIONARY_NO_DATA (-1) ///< Stationary alignment failed due to no data being received. Please ensure the target is in range.
2053 #define GO_ALIGNMENT_STATUS_MOVING_INSUFFICIENT_DATA (-2) ///< Moving alignment failed due to insufficient data.
2054 #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.
2055 #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.
2056 #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.
2057 #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.
2058 #define GO_ALIGNMENT_STATUS_ABORT (kERROR_ABORT) ///< The alignment was aborted by the user.
2059 #define GO_ALIGNMENT_STATUS_TIMEOUT (kERROR_TIMEOUT) ///< The alignment timed out.
2060 #define GO_ALIGNMENT_STATUS_INVALID_PARAMETER (kERROR_PARAMETER) ///< The alignment failed due to incorrected parameters.
2061 /**@}*/
2062
2063 typedef struct GoMeasurementOption
2064 {
2065 kText64 name;
2066 kSize minCount;
2067 kSize maxCount;
2068 } GoMeasurementOption;
2069
2070
2071 kEndHeader()
2072 #include <GoSdk/GoSdkDef.x.h>
2073
2074 #endif
GoSurfaceCountersunkHoleShape
Represents a surface countersunk hole tool shape.
GoActiveAreaConfig
Represents an active area configuration element.
Definition: GoSdkDef.h:645
kText64
GoTransformation::yAngle
k64f yAngle
The Y angle of the transformation.
Definition: GoSdkDef.h:667
GoToolType
Lists all tool types.
GoTransformedDataRegion::y
k64f y
The Y offset of the transformed data region.
Definition: GoSdkDef.h:680
GoStates
Sensor state, login, alignment information, recording state, playback source, uptime, playback information, and auto-start setting state.
Definition: GoSdkDef.h:552
k32u
GoPortInfo
Ports used from a source device.
Definition: GoSdkDef.h:587
GoInputSource
Represents a data input source.
GoOutputDelayDomain
Represents an output delay domain.
GoElement32u
Represents a 32-bit unsigned integer configuration element with a range and enabled state...
Definition: GoSdkDef.h:617
GoStates::playbackSource
k32s playbackSource
The current playback source of the sensor.
Definition: GoSdkDef.h:559
GoSurfaceFeatureType
Represents a surface feature type.
GoPortInfo::dataPort
k16u dataPort
Data channel port.
Definition: GoSdkDef.h:592
GoSeekDirection
Represents a playback seek direction.
GoElementBool::enabled
kBool enabled
Represents whether the element value is currently used.
Definition: GoSdkDef.h:634
GoElement64f::max
k64f max
The maximum allowable value that can be set for this element.
Definition: GoSdkDef.h:607
GoStates::loginType
GoUser loginType
The logged in user.
Definition: GoSdkDef.h:555
GoReplayExportSourceType
Represents the replay export source type.
GoPortInfo::controlPort
k16u controlPort
Control channel port.
Definition: GoSdkDef.h:589
kPointer
GoStates::alignmentReference
GoAlignmentRef alignmentReference
The alignment reference of the sensor.
Definition: GoSdkDef.h:556
GoMeasurementType
Lists all measurement types.
GoEllipseAsymmetryType
Represents the bounding Ellipse part matching asymmetry detection type.
GoDecisionCode
Represents the possible measurement decision codes.
GoSurfaceGenerationStartTrigger
Represents a surface generation start trigger.
GoFamily
Represents the supported Gocator hardware families.
k16u
GoRole
Represents a user role.
GoElement32u::enabled
kBool enabled
Represents whether the element value is currently used.
Definition: GoSdkDef.h:619
kSize
GoAddressInfo::useDhcp
kBool useDhcp
Sensor uses DHCP?
Definition: GoSdkDef.h:575
GoEthernetProtocol
Represents a ethernet output protocol.
GoSurfaceOpeningType
Represents a surface opening tool type.
GoDataStream
Represents a data stream which consists of a data step and ID.
Definition: GoSdkDef.h:955
GoDataSource
Represents a data source.
k8u
GoStates::playbackCount
k32u playbackCount
The playback count.
Definition: GoSdkDef.h:563
GoTransformedDataRegion
Represents a transformed data region.
Definition: GoSdkDef.h:677
GoActiveAreaConfig::length
GoElement64f length
The length of the active area.
Definition: GoSdkDef.h:651
GoTransformedDataRegion::x
k64f x
The X offset of the transformed data region.
Definition: GoSdkDef.h:679
GoStates::uptimeSec
k32u uptimeSec
Sensor uptime in seconds.
Definition: GoSdkDef.h:560
GoDecision
Represents the measurement output decision values. Bit 0 represents the decision value, while bits 1 through 7 represent the decision code, outlined by GoDecisionCode.
GoStates::alignmentState
GoAlignmentState alignmentState
The alignment state of the sensor.
Definition: GoSdkDef.h:557
GoTrigger
Represents a trigger.
GoTransformation::y
k64f y
The Y offset of the transformation.
Definition: GoSdkDef.h:664
kIpAddress
GoEndianType
Represents an endian output type.
GoTransformation
Represents an alignment element.
Definition: GoSdkDef.h:661
GoElement64f::value
k64f value
The element's double field value.
Definition: GoSdkDef.h:606
GoPartFrameOfReference
Represents a part detection frame of reference.
GoOutputCompositeSource
Represents a composite data source.
Definition: GoSdkDef.h:693
GoActiveAreaConfig::width
GoElement64f width
The width of the active area.
Definition: GoSdkDef.h:652
GoActiveAreaConfig::z
GoElement64f z
The Z offset of the active area.
Definition: GoSdkDef.h:649
GoAlignmentState
Represents an alignment state.
GoStates::recordingEnabled
kBool recordingEnabled
The current state of recording on the sensor.
Definition: GoSdkDef.h:558
GoAddressInfo::gateway
kIpAddress gateway
Sensor gateway address.
Definition: GoSdkDef.h:578
GoStates::autoStartEnabled
kBool autoStartEnabled
The auto-start enabled state.
Definition: GoSdkDef.h:564
GoSurfaceGenerationType
Represents a surface generation type.
GoActiveAreaConfig::y
GoElement64f y
The Y offset of the active area.
Definition: GoSdkDef.h:648
GoElement64f::min
k64f min
The minimum allowable value that can be set for this element.
Definition: GoSdkDef.h:608
GoGammaType
Represents a material gamma type.
GoSurfaceLocation
Represents a surface location.
GoAnalogTrigger
Represents an analog output trigger.
GoImageType
Represents an image type.
GoPixelType
Represents a video message pixel type.
GoImplicitTriggerOverride
Represents an EthernetIP implicit messaging trigger override.
GoStates::sensorState
GoState sensorState
The state of the sensor.
Definition: GoSdkDef.h:554
GoAddressInfo::address
kIpAddress address
Sensor IP address.
Definition: GoSdkDef.h:576
GoElement64f::enabled
kBool enabled
Represents whether the element value is currently used. (not always applicable)
Definition: GoSdkDef.h:604
kApiDef.h
GoAlignmentStatus
Represents the operation status of an alignment.
k32s
GoTransformedDataRegion::width
k64f width
The width of the transformed data region.
Definition: GoSdkDef.h:682
GoTriggerUnits
Represents the system's primary synchronization domain.
GoEncoderTriggerMode
Represents an encoder's triggering behavior.
GoElementBool::systemValue
kBool systemValue
The system value. (not always applicable)
Definition: GoSdkDef.h:635
GoDataMessageType
Lists all data message types.
GoUpgradeFxArgs::progress
k64f progress
Upgrade progress (percentage).
Definition: GoSdkDef.h:65
GoOrientation
Represents a sensor orientation type.
GoUser
Represents a user id.
GoElement32u::min
k32u min
The minimum allowable value that can be set for this element.
Definition: GoSdkDef.h:623
GoAlignmentTarget
Represents a alignment target type.
GoExposureMode
Represents all possible exposure modes.
GoAlignmentRef
Represents an alignment reference.
GoOutputSource
Represents output sources.
GoTransformation::zAngle
k64f zAngle
The Z angle of the transformation.
Definition: GoSdkDef.h:668
GoElement32u::value
k32u value
The element's 32-bit unsigned field value.
Definition: GoSdkDef.h:621
GoPatternSequenceType
Represents a pattern sequence type.
GoAsciiOperation
Represents an ASCII protocol operational type.
GoAnalogEvent
Represents a analog output event.
GoAddressInfo::mask
kIpAddress mask
Sensor subnet bit-mask.
Definition: GoSdkDef.h:577
GoUpgradeFxArgs
Represents arguments provided to an upgrade callback function.
Definition: GoSdkDef.h:63
GoElement64f
Represents a 64-bit floating point configuration element with a range and enabled state...
Definition: GoSdkDef.h:602
GoDigitalSignal
Represents a digital output signal type.
GoTriggerSource
Represents a trigger source type.
GoSpacingIntervalType
Represents spacing interval types.
GoActiveAreaConfig::height
GoElement64f height
The height of the active area.
Definition: GoSdkDef.h:650
GoElement32u::max
k32u max
The maximum allowable value that can be set for this element.
Definition: GoSdkDef.h:622
GoAlignmentType
Represents an alignment type.
GoElementBool
Represents a boolean configuration element with an enabled state.
Definition: GoSdkDef.h:632
kNetwork.h
GoFrameRateMaxSource
Represents the current maximum frame rate limiting source.
GoPortInfo::webPort
k16u webPort
Web channel port.
Definition: GoSdkDef.h:591
kObject
GoMode
Represents a scan mode.
kVersion
kStatus
GoDigitalEvent
Represents a digital output event.
GoElement64f::systemValue
k64f systemValue
The system value. (not always applicable)
Definition: GoSdkDef.h:605
GoOutputCompositeSource::dataSource
GoDataSource dataSource
The data source of the composite data source.
Definition: GoSdkDef.h:696
GoTransformation::x
k64f x
The X offset of the transformation.
Definition: GoSdkDef.h:663
GoElement32u::systemValue
k32u systemValue
The system value. (not always applicable)
Definition: GoSdkDef.h:620
GoStates::uptimeMicrosec
k32u uptimeMicrosec
Sensor uptime in microseconds.
Definition: GoSdkDef.h:561
k64f
GoBoxAsymmetryType
Represents the bounding box part matching asymmetry detection type.
GoPartHeightThresholdDirection
Represents a part detection height threshold direction.
GoStates::playbackPos
k32u playbackPos
The playback position index.
Definition: GoSdkDef.h:562
GoSelcomFormat
Represents the selcom format followed on the serial output.
kBool
GoOutputCompositeSource::id
k32s id
The ID of the underlying data source.
Definition: GoSdkDef.h:695
GoPortInfo::upgradePort
k16u upgradePort
Upgrade channel port.
Definition: GoSdkDef.h:590
GoDataStep
Represents possible data streams.
GoElementBool::value
kBool value
The element's boolean field value.
Definition: GoSdkDef.h:636
GoTransformedDataRegion::length
k64f length
The length of the transformed data region.
Definition: GoSdkDef.h:683
GoPortInfo::healthPort
k16u healthPort
Health channel port.
Definition: GoSdkDef.h:593
GoActiveAreaConfig::x
GoElement64f x
The X offset of the active area.
Definition: GoSdkDef.h:647
GoTransformation::z
k64f z
The Z offset of the transformation.
Definition: GoSdkDef.h:665
GoTransformedDataRegion::height
k64f height
The height of the transformed data region.
Definition: GoSdkDef.h:684
GoTransformedDataRegion::z
k64f z
The Z offset of the transformed data region.
Definition: GoSdkDef.h:681
GoTransformation::xAngle
k64f xAngle
The X angle of the transformation.
Definition: GoSdkDef.h:666
GoDigitalPass
Represents a digital output condition.
GoAddressInfo
Sensor network address settings.
Definition: GoSdkDef.h:573
GoSerialProtocol
Represents all serial output protocols.
GoPartMatchAlgorithm
Represents a part matching algorithm.
GoState
Represents the current state of a sensor object.
GoEncoderSpacingMinSource
Represents the current encoder period limiting source.