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