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