Gocator API

- Home
- Types
- Files

All Classes Files Functions Variables Typedefs Macros Modules Pages
GoDataTypes.h
Go to the documentation of this file.
1 /**
2 * @file GoDataTypes.h
3 * @brief Declares Gocator data message classes and related types.
4 *
5 * @internal
6 * Copyright (C) 2016 by LMI Technologies Inc.
7 * Licensed under the MIT License.
8 * Redistributed files must retain the above copyright notice.
9 */
10 #ifndef GO_SDK_DATA_TYPES_H
11 #define GO_SDK_DATA_TYPES_H
12
13 #include <GoSdk/GoSdkDef.h>
14 kBeginHeader()
15
16 /**
17 * @class GoDataMsg
18 * @extends kObject
19 * @ingroup GoSdk-DataChannel
20 * @brief Represents a base message sourced from the data channel.
21 */
22 typedef kObject GoDataMsg;
23
24 /**
25 * Returns the message type for a data channel message given in a GoDataSet.
26 *
27 * @public @memberof GoDataMsg
28 * @version Introduced in firmware 4.0.10.27
29 * @param message A data channel message.
30 * @return A GoDataMessageType value.
31 */
32 GoFx(GoDataMessageType) GoDataMsg_Type(GoDataMsg message);
33
34 /**
35 * @struct GoStamp
36 * @extends kValue
37 * @ingroup GoSdk-DataChannel
38 * @brief Represents an acquisition stamp.
39 */
40 typedef struct GoStamp
41 {
42 k64u frameIndex; ///< Frame index (counts up from zero).
43 k64u timestamp; ///< Timestamp in internal units approximating nanoseconds where the true time in ns = timestamp value / 1.024.
44 k64s encoder; ///< Position (encoder ticks).
45 k64s encoderAtZ; ///< Encoder value latched at z-index mark (encoder ticks).
46 k64u status;
47 /**<
48 * Bit mask containing frame information:
49 *
50 * - Bit 0: Represents sensor digital input state.
51 * - Bit 4: Represents Master digital input state.
52 * - Bits 8 and 9: Represents inter-frame digital pulse trigger
53 (Master digital input if a Master is connected, otherwise
54 sensor digital input. Value is cleared after each frame
55 and clamped at 3 if more than 3 pulses are received).
56 */
57 k32u id; ///< Source device ID.
58 k32u reserved32u; ///< Reserved.
59 k64u reserved64u; ///< Reserved.
60 } GoStamp;
61
62 /**
63 * @class GoStampMsg
64 * @extends GoDataMsg
65 * @ingroup GoSdk-DataChannel
66 * @brief Represents a message containing a set of acquisition stamps.
67 */
68 typedef GoDataMsg GoStampMsg;
69
70 /**
71 * Gets the stamp source.
72 *
73 * @public @memberof GoStampMsg
74 * @version Introduced in firmware 4.0.10.27
75 * @param msg Message object.
76 * @return Stamp source.
77 */
78 GoFx(GoDataSource) GoStampMsg_Source(GoStampMsg msg);
79
80 /**
81 * Returns the number of stamps contained in this message.
82 *
83 * @public @memberof GoStampMsg
84 * @version Introduced in firmware 4.0.10.27
85 * @param msg Message object.
86 * @return Count of stamps.
87 */
88 GoFx(kSize) GoStampMsg_Count(GoStampMsg msg);
89
90 /**
91 * Gets the stamp at the specified index.
92 *
93 * @public @memberof GoStampMsg
94 * @version Introduced in firmware 4.0.10.27
95 * @param msg Message object.
96 * @param index Stamp index.
97 * @return Stamp pointer.
98 */
99 GoFx(GoStamp*) GoStampMsg_At(GoStampMsg msg, kSize index);
100
101 /**
102 * @class GoVideoMsg
103 * @extends GoDataMsg
104 * @ingroup GoSdk-DataChannel
105 * @brief Represents a data message containing a video image.
106 */
107 typedef GoDataMsg GoVideoMsg;
108
109 /**
110 * Gets the video source.
111 *
112 * @public @memberof GoVideoMsg
113 * @version Introduced in firmware 4.0.10.27
114 * @param msg Message object.
115 * @return Video source.
116 */
117 GoFx(GoDataSource) GoVideoMsg_Source(GoVideoMsg msg);
118
119
120 /**
121 * Gets the camera index that the video data originates from.
122 *
123 * @public @memberof GoVideoMsg
124 * @version Introduced in firmware 4.0.10.27
125 * @param msg Message object.
126 * @return Camera index.
127 */
128 GoFx(kSize) GoVideoMsg_CameraIndex(GoVideoMsg msg);
129
130
131 /**
132 * Gets the image width, in pixels.
133 *
134 * @public @memberof GoVideoMsg
135 * @version Introduced in firmware 4.0.10.27
136 * @param msg Message object.
137 * @return Image width, in pixels.
138 */
139 GoFx(kSize) GoVideoMsg_Width(GoVideoMsg msg);
140
141 /**
142 * Gets the image height, in pixels.
143 *
144 * @public @memberof GoVideoMsg
145 * @version Introduced in firmware 4.0.10.27
146 * @param msg Message object.
147 * @return Image height, in pixels.
148 */
149 GoFx(kSize) GoVideoMsg_Height(GoVideoMsg msg);
150
151 /**
152 * Gets the data type used to represent an image pixel.
153 *
154 * @public @memberof GoVideoMsg
155 * @version Introduced in firmware 4.0.10.27
156 * @param msg Message object.
157 * @return Pixel type.
158 */
159 GoFx(GoPixelType) GoVideoMsg_PixelType(GoVideoMsg msg);
160
161 /**
162 * Gets the image pixel size, in bytes.
163 *
164 * @public @memberof GoVideoMsg
165 * @version Introduced in firmware 4.0.10.27
166 * @param msg Message object.
167 * @return Pixel size, in bytes.
168 */
169 GoFx(kSize) GoVideoMsg_PixelSize(GoVideoMsg msg);
170
171 /**
172 * Gets the pixel format descriptor.
173 *
174 * @public @memberof GoVideoMsg
175 * @version Introduced in firmware 4.0.10.27
176 * @param msg Message object.
177 * @return Pixel format.
178 */
179 GoFx(kPixelFormat) GoVideoMsg_PixelFormat(GoVideoMsg msg);
180
181 /**
182 * Gets the image color filter array.
183 *
184 * @public @memberof GoVideoMsg
185 * @version Introduced in firmware 4.0.10.27
186 * @param msg Message object.
187 * @return Color filter array.
188 */
189 GoFx(kCfa) GoVideoMsg_Cfa(GoVideoMsg msg);
190
191 /**
192 * Gets a pointer to a row within the image.
193 *
194 * @public @memberof GoVideoMsg
195 * @version Introduced in firmware 4.0.10.27
196 * @param msg Message object.
197 * @param rowIndex Row index.
198 * @return Row pointer.
199 */
200 GoFx(void*) GoVideoMsg_RowAt(GoVideoMsg msg, kSize rowIndex);
201
202 /**
203 * Gets the exposure index.
204 *
205 * @public @memberof GoVideoMsg
206 * @version Introduced in firmware 4.0.10.27
207 * @param msg Message object.
208 * @return Exposure index.
209 */
210 GoFx(kSize) GoVideoMsg_ExposureIndex(GoVideoMsg msg);
211
212 /**
213 * Gets the exposure.
214 *
215 * @public @memberof GoVideoMsg
216 * @version Introduced in firmware 4.0.10.27
217 * @param msg Message object.
218 * @return Exposure in uS.
219 */
220 GoFx(k32u) GoVideoMsg_Exposure(GoVideoMsg msg);
221
222 /**
223 * Indicates whether the video message data requires horizontal flipping to match up with profile data.
224 *
225 * @public @memberof GoVideoMsg
226 * @version Introduced in firmware 4.4.4.14
227 * @param msg Message object.
228 * @return kTRUE if rotation is required, kFALSE otherwise.
229 */
230 GoFx(kBool) GoVideoMsg_IsFlippedX(GoVideoMsg msg);
231
232 /**
233 * Indicates whether the video message data requires vertical flipping to match up with profile data.
234 *
235 * @public @memberof GoVideoMsg
236 * @version Introduced in firmware 4.4.4.14
237 * @param msg Message object.
238 * @return kTRUE if rotation is required, kFALSE otherwise.
239 */
240 GoFx(kBool) GoVideoMsg_IsFlippedY(GoVideoMsg msg);
241
242 /// @cond (Gocator_1x00)
243 /**
244 * @class GoRangeMsg
245 * @extends GoDataMsg
246 * @ingroup GoSdk-DataChannel
247 * @brief Represents a data message containing a set of range data.
248 */
249 typedef GoDataMsg GoRangeMsg;
250
251 /**
252 * Gets the Range source.
253 *
254 * @public @memberof GoRangeMsg
255 * @version Introduced in firmware 4.0.10.27
256 * @param msg Message object.
257 * @return Range source.
258 */
259 GoFx(GoDataSource) GoRangeMsg_Source(GoRangeMsg msg);
260
261 /**
262 * Gets the count of Range data in this message.
263 *
264 * @public @memberof GoRangeMsg
265 * @version Introduced in firmware 4.0.10.27
266 * @param msg Message object.
267 * @return Count of Range data.
268 */
269 GoFx(kSize) GoRangeMsg_Count(GoRangeMsg msg);
270
271
272 /**
273 * Gets the Range z-resolution, in nanometers.
274 *
275 * @public @memberof GoRangeMsg
276 * @version Introduced in firmware 4.0.10.27
277 * @param msg Message object.
278 * @return Z resolution (nm).
279 */
280 GoFx(k32u) GoRangeMsg_ZResolution(GoRangeMsg msg);
281
282 /**
283 * Gets the Range z-offset, in micrometers.
284 *
285 * @public @memberof GoRangeMsg
286 * @version Introduced in firmware 4.0.10.27
287 * @param msg Message object.
288 * @return Z offset (um).
289 */
290 GoFx(k32s) GoRangeMsg_ZOffset(GoRangeMsg msg);
291
292 /**
293 * Gets a pointer to Range data.
294 *
295 * @public @memberof GoRangeMsg
296 * @version Introduced in firmware 4.0.10.27
297 * @param msg Message object.
298 * @param index Range array index.
299 * @return Range pointer.
300 */
301 GoFx(k16s*) GoRangeMsg_At(GoRangeMsg msg, kSize index);
302
303 /**
304 * Gets the exposure.
305 *
306 * @public @memberof GoRangeMsg
307 * @version Introduced in firmware 4.0.10.27
308 * @param msg Message object.
309 * @return Exposure in uS.
310 */
311 GoFx(k32u) GoRangeMsg_Exposure(GoRangeMsg msg);
312
313
314 /**
315 * @class GoRangeIntensityMsg
316 * @extends GoDataMsg
317 * @ingroup GoSdk-DataChannel
318 * @brief Represents a data message containing a set of range intensity data.
319 */
320 typedef GoDataMsg GoRangeIntensityMsg;
321
322 /**
323 * Gets the range intensity source.
324 *
325 * @public @memberof GoRangeIntensityMsg
326 * @version Introduced in firmware 4.0.10.27
327 * @param msg Message object.
328 * @return Range intensity source.
329 */
330 GoFx(GoDataSource) GoRangeIntensityMsg_Source(GoRangeIntensityMsg msg);
331
332 /**
333 * Gets the count of range intensity data in this message.
334 *
335 * @public @memberof GoRangeIntensityMsg
336 * @version Introduced in firmware 4.0.10.27
337 * @param msg Message object.
338 * @return Count of range intensity data.
339 */
340 GoFx(kSize) GoRangeIntensityMsg_Count(GoRangeIntensityMsg msg);
341
342 /**
343 * Gets a pointer to range intensity data.
344 *
345 * @public @memberof GoRangeIntensityMsg
346 * @version Introduced in firmware 4.0.10.27
347 * @param msg Message object.
348 * @param index Range intensity array index.
349 * @return Range intensity data pointer.
350 */
351 GoFx(k8u*) GoRangeIntensityMsg_At(GoRangeIntensityMsg msg, kSize index);
352
353 /**
354 * Gets the exposure.
355 *
356 * @public @memberof GoRangeIntensityMsg
357 * @version Introduced in firmware 4.0.10.27
358 * @param msg Message object.
359 * @return Exposure in uS.
360 */
361 GoFx(k32u) GoRangeIntensityMsg_Exposure(GoRangeIntensityMsg msg);
362
363 /// @endcond
364
365 /// @cond (Gocator_1x00 || Gocator_2x00)
366 /**
367 * @class GoProfileMsg
368 * @extends GoDataMsg
369 * @ingroup GoSdk-DataChannel
370 * @brief Represents a data message containing a set of profile arrays.
371 */
372 typedef GoDataMsg GoProfileMsg;
373
374 /**
375 * Gets the profile source.
376 *
377 * @public @memberof GoProfileMsg
378 * @version Introduced in firmware 4.0.10.27
379 * @param msg Message object.
380 * @return Profile source.
381 */
382 GoFx(GoDataSource) GoProfileMsg_Source(GoProfileMsg msg);
383
384 /**
385 * Gets the count of profile arrays in this message.
386 *
387 * @public @memberof GoProfileMsg
388 * @version Introduced in firmware 4.0.10.27
389 * @param msg Message object.
390 * @return Count of profile arrays.
391 */
392 GoFx(kSize) GoProfileMsg_Count(GoProfileMsg msg);
393
394 /**
395 * Gets the count of ranges in each profile array.
396 *
397 * @public @memberof GoProfileMsg
398 * @version Introduced in firmware 4.0.10.27
399 * @param msg Message object.
400 * @return Range count.
401 */
402 GoFx(kSize) GoProfileMsg_Width(GoProfileMsg msg);
403
404 /**
405 * Gets the profile x-resolution, in nanometers.
406 *
407 * @public @memberof GoProfileMsg
408 * @version Introduced in firmware 4.0.10.27
409 * @param msg Message object.
410 * @return X resolution (nm).
411 */
412 GoFx(k32u) GoProfileMsg_XResolution(GoProfileMsg msg);
413
414 /**
415 * Gets the profile z-resolution, in nanometers.
416 *
417 * @public @memberof GoProfileMsg
418 * @version Introduced in firmware 4.0.10.27
419 * @param msg Message object.
420 * @return Z resolution (nm).
421 */
422 GoFx(k32u) GoProfileMsg_ZResolution(GoProfileMsg msg);
423
424 /**
425 * Gets the profile x-offset, in micrometers.
426 *
427 * @public @memberof GoProfileMsg
428 * @version Introduced in firmware 4.0.10.27
429 * @param msg Message object.
430 * @return X offset (um).
431 */
432 GoFx(k32s) GoProfileMsg_XOffset(GoProfileMsg msg);
433
434 /**
435 * Gets the profile z-offset, in micrometers.
436 *
437 * @public @memberof GoProfileMsg
438 * @version Introduced in firmware 4.0.10.27
439 * @param msg Message object.
440 * @return Z offset (um).
441 */
442 GoFx(k32s) GoProfileMsg_ZOffset(GoProfileMsg msg);
443
444 /**
445 * Gets a pointer to a profile array.
446 *
447 * @public @memberof GoProfileMsg
448 * @version Introduced in firmware 4.0.10.27
449 * @param msg Message object.
450 * @param index Profile array index.
451 * @return Profile pointer.
452 */
453 GoFx(kPoint16s*) GoProfileMsg_At(GoProfileMsg msg, kSize index);
454
455 /**
456 * Gets the exposure.
457 *
458 * @public @memberof GoProfileMsg
459 * @version Introduced in firmware 4.0.10.27
460 * @param msg Message object.
461 * @return Exposure in uS.
462 */
463 GoFx(k32u) GoProfileMsg_Exposure(GoProfileMsg msg);
464
465
466 /**
467 * Gets the source camera index.
468 *
469 * @public @memberof GoProfileMsg
470 * @version Introduced in firmware 4.1.3.106
471 * @param msg Message object.
472 * @return Camera index (0 - Front camera, 1 - Back camera).
473 */
474 GoFx(k8u) GoProfileMsg_CameraIndex(GoProfileMsg msg);
475
476
477 /**
478 * @class GoResampledProfileMsg
479 * @extends GoDataMsg
480 * @ingroup GoSdk-DataChannel
481 * @brief Represents a data message containing a set of re-sampled profile arrays.
482 */
483 typedef GoDataMsg GoResampledProfileMsg;
484
485 /**
486 * Gets the profile source.
487 *
488 * @public @memberof GoResampledProfileMsg
489 * @version Introduced in firmware 4.0.10.27
490 * @param msg Message object.
491 * @return Profile source.
492 */
493 GoFx(GoDataSource) GoResampledProfileMsg_Source(GoResampledProfileMsg msg);
494
495 /**
496 * Gets the count of re-sampled profile arrays in this message.
497 *
498 * @public @memberof GoResampledProfileMsg
499 * @version Introduced in firmware 4.0.10.27
500 * @param msg Message object.
501 * @return Count of profile arrays.
502 */
503 GoFx(kSize) GoResampledProfileMsg_Count(GoResampledProfileMsg msg);
504
505 /**
506 * Gets the count of points in each re-sampled profile array.
507 *
508 * @public @memberof GoResampledProfileMsg
509 * @version Introduced in firmware 4.0.10.27
510 * @param msg Message object.
511 * @return Point count.
512 */
513 GoFx(kSize) GoResampledProfileMsg_Width(GoResampledProfileMsg msg);
514
515 /**
516 * Gets the x-resolution, in nanometers.
517 *
518 * @public @memberof GoResampledProfileMsg
519 * @version Introduced in firmware 4.0.10.27
520 * @param msg Message object.
521 * @return X resolution (nm).
522 */
523 GoFx(k32u) GoResampledProfileMsg_XResolution(GoResampledProfileMsg msg);
524
525 /**
526 * Gets the profile z-resolution, in nanometers.
527 *
528 * @public @memberof GoResampledProfileMsg
529 * @version Introduced in firmware 4.0.10.27
530 * @param msg Message object.
531 * @return Z resolution (nm).
532 */
533 GoFx(k32u) GoResampledProfileMsg_ZResolution(GoResampledProfileMsg msg);
534
535 /**
536 * Gets the profile x-offset, in micrometers.
537 *
538 * @public @memberof GoResampledProfileMsg
539 * @version Introduced in firmware 4.0.10.27
540 * @param msg Message object.
541 * @return X offset (um).
542 */
543 GoFx(k32s) GoResampledProfileMsg_XOffset(GoResampledProfileMsg msg);
544
545 /**
546 * Gets the profile z-offset, in micrometers.
547 *
548 * @public @memberof GoResampledProfileMsg
549 * @version Introduced in firmware 4.0.10.27
550 * @param msg Message object.
551 * @return Z offset (um).
552 */
553 GoFx(k32s) GoResampledProfileMsg_ZOffset(GoResampledProfileMsg msg);
554
555 /**
556 * Gets a pointer to a re-sampled profile array.
557 *
558 * @public @memberof GoResampledProfileMsg
559 * @version Introduced in firmware 4.0.10.27
560 * @param msg Message object.
561 * @param index Profile array index.
562 * @return Data pointer.
563 */
564 GoFx(k16s*) GoResampledProfileMsg_At(GoResampledProfileMsg msg, kSize index);
565
566 /**
567 * Gets the exposure.
568 *
569 * @public @memberof GoResampledProfileMsg
570 * @version Introduced in firmware 4.0.10.27
571 * @param msg Message object.
572 * @return Exposure in uS.
573 */
574 GoFx(k32u) GoResampledProfileMsg_Exposure(GoResampledProfileMsg msg);
575
576
577 /**
578 * @class GoProfileIntensityMsg
579 * @extends GoDataMsg
580 * @ingroup GoSdk-DataChannel
581 * @brief Represents a data message containing a set of profile intensity arrays.
582 */
583 typedef GoDataMsg GoProfileIntensityMsg;
584
585 /**
586 * Gets the profile source.
587 *
588 * @public @memberof GoProfileIntensityMsg
589 * @version Introduced in firmware 4.0.10.27
590 * @param msg Message object.
591 * @return Profile source.
592 */
593 GoFx(GoDataSource) GoProfileIntensityMsg_Source(GoProfileIntensityMsg msg);
594
595 /**
596 * Gets the count of profile intensity arrays in this message.
597 *
598 * @public @memberof GoProfileIntensityMsg
599 * @version Introduced in firmware 4.0.10.27
600 * @param msg Message object.
601 * @return Count of profile arrays.
602 */
603 GoFx(kSize) GoProfileIntensityMsg_Count(GoProfileIntensityMsg msg);
604
605 /**
606 * Gets the count of intensity values in each profile intensity array.
607 *
608 * @public @memberof GoProfileIntensityMsg
609 * @version Introduced in firmware 4.0.10.27
610 * @param msg Message object.
611 * @return Intensity count.
612 */
613 GoFx(kSize) GoProfileIntensityMsg_Width(GoProfileIntensityMsg msg);
614
615 /**
616 * Gets the x-resolution, in nanometers.
617 *
618 * @public @memberof GoProfileIntensityMsg
619 * @version Introduced in firmware 4.0.10.27
620 * @param msg Message object.
621 * @return X resolution (nm).
622 */
623 GoFx(k32u) GoProfileIntensityMsg_XResolution(GoProfileIntensityMsg msg);
624
625 /**
626 * Gets the profile x-offset, in micrometers.
627 *
628 * @public @memberof GoProfileIntensityMsg
629 * @version Introduced in firmware 4.0.10.27
630 * @param msg Message object.
631 * @return X offset (um).
632 */
633 GoFx(k32s) GoProfileIntensityMsg_XOffset(GoProfileIntensityMsg msg);
634
635 /**
636 * Gets the associated profile type (points or ranges).
637 *
638 * @public @memberof GoProfileIntensityMsg
639 * @version Introduced in firmware 4.0.10.27
640 * @param msg Message object.
641 * @return kTRUE for ranges; kFALSE for points.
642 */
643 GoFx(kBool) GoProfileIntensityMsg_IsResampled(GoProfileIntensityMsg msg);
644
645 /**
646 * Gets a pointer to a profile intensity array.
647 *
648 * @public @memberof GoProfileIntensityMsg
649 * @version Introduced in firmware 4.0.10.27
650 * @param msg Message object.
651 * @param index Profile intensity array index.
652 * @return Data pointer.
653 */
654 GoFx(k8u*) GoProfileIntensityMsg_At(GoProfileIntensityMsg msg, kSize index);
655
656 /**
657 * Gets the exposure.
658 *
659 * @public @memberof GoProfileIntensityMsg
660 * @version Introduced in firmware 4.0.10.27
661 * @param msg Message object.
662 * @return Exposure in uS.
663 */
664 GoFx(k32u) GoProfileIntensityMsg_Exposure(GoProfileIntensityMsg msg);
665
666 /**
667 * Gets the source camera index.
668 *
669 * @public @memberof GoProfileMsg
670 * @version Introduced in firmware 4.1.3.106
671 * @param msg Message object.
672 * @return Camera index (0 - Front camera, 1 - Back camera).
673 */
674 GoFx(k8u) GoProfileIntensityMsg_CameraIndex(GoProfileMsg msg);
675
676 /// @endcond
677
678 /// @cond (Gocator_2x00 || Gocator_3x00)
679 /**
680 * @class GoSurfaceMsg
681 * @extends GoDataMsg
682 * @ingroup GoSdk-DataChannel
683 * @brief Represents a data message containing a surface array.
684 */
685 typedef GoDataMsg GoSurfaceMsg;
686
687 /**
688 * Gets the profile source.
689 *
690 * @public @memberof GoSurfaceMsg
691 * @version Introduced in firmware 4.0.10.27
692 * @param msg Message object.
693 * @return Profile source.
694 */
695 GoFx(GoDataSource) GoSurfaceMsg_Source(GoSurfaceMsg msg);
696
697 /**
698 * Gets the length of the surface (row count).
699 *
700 * @public @memberof GoSurfaceMsg
701 * @version Introduced in firmware 4.0.10.27
702 * @param msg Message object.
703 * @return Surface length.
704 */
705 GoFx(kSize) GoSurfaceMsg_Length(GoSurfaceMsg msg);
706
707 /**
708 * Gets the width of the surface (column count).
709 *
710 * @public @memberof GoSurfaceMsg
711 * @version Introduced in firmware 4.0.10.27
712 * @param msg Message object.
713 * @return Surface width;
714 */
715 GoFx(kSize) GoSurfaceMsg_Width(GoSurfaceMsg msg);
716
717 /**
718 * Gets the surface x-resolution, in nanometers.
719 *
720 * @public @memberof GoSurfaceMsg
721 * @version Introduced in firmware 4.0.10.27
722 * @param msg Message object.
723 * @return X resolution (nm).
724 */
725 GoFx(k32u) GoSurfaceMsg_XResolution(GoSurfaceMsg msg);
726
727 /**
728 * Gets the surface y-resolution, in nanometers.
729 *
730 * @public @memberof GoSurfaceMsg
731 * @version Introduced in firmware 4.0.10.27
732 * @param msg Message object.
733 * @return Y resolution (nm).
734 */
735 GoFx(k32u) GoSurfaceMsg_YResolution(GoSurfaceMsg msg);
736
737 /**
738 * Gets the surface z-resolution, in nanometers.
739 *
740 * @public @memberof GoSurfaceMsg
741 * @version Introduced in firmware 4.0.10.27
742 * @param msg Message object.
743 * @return Z resolution (nm).
744 */
745 GoFx(k32u) GoSurfaceMsg_ZResolution(GoSurfaceMsg msg);
746
747 /**
748 * Gets the surface x-offset, in micrometers.
749 *
750 * @public @memberof GoSurfaceMsg
751 * @version Introduced in firmware 4.0.10.27
752 * @param msg Message object.
753 * @return X offset (um).
754 */
755 GoFx(k32s) GoSurfaceMsg_XOffset(GoSurfaceMsg msg);
756
757 /**
758 * Gets the surface y-offset, in micrometers.
759 *
760 * @public @memberof GoSurfaceMsg
761 * @version Introduced in firmware 4.0.10.27
762 * @param msg Message object.
763 * @return Y offset (um).
764 */
765 GoFx(k32s) GoSurfaceMsg_YOffset(GoSurfaceMsg msg);
766
767 /**
768 * Gets the surface z-offset, in micrometers.
769 *
770 * @public @memberof GoSurfaceMsg
771 * @version Introduced in firmware 4.0.10.27
772 * @param msg Message object.
773 * @return Z offset (um).
774 */
775 GoFx(k32s) GoSurfaceMsg_ZOffset(GoSurfaceMsg msg);
776
777 /**
778 * Gets the surface z-angle, in microdegrees.
779 *
780 * @public @memberof GoSurfaceMsg
781 * @version Introduced in firmware 4.1.3.106
782 * @param msg Message object.
783 * @return Z angle (microdegrees).
784 */
785 GoFx(k32s) GoSurfaceMsg_ZAngle(GoSurfaceMsg msg);
786
787 /**
788 * Gets the surface ID.
789 *
790 * @public @memberof GoSurfaceMsg
791 * @version Introduced in firmware 4.0.10.27
792 * @param msg Message object.
793 * @return Surface ID.
794 */
795 GoFx(k32u) GoSurfaceMsg_SurfaceId(GoSurfaceMsg msg);
796
797 /**
798 * Gets a pointer to a surface row.
799 *
800 * @public @memberof GoSurfaceMsg
801 * @version Introduced in firmware 4.0.10.27
802 * @param msg Message object.
803 * @param index Surface row index.
804 * @return Row pointer.
805 */
806 GoFx(k16s*) GoSurfaceMsg_RowAt(GoSurfaceMsg msg, kSize index);
807
808 /**
809 * Gets the exposure.
810 *
811 * @public @memberof GoSurfaceMsg
812 * @version Introduced in firmware 4.0.10.27
813 * @param msg Message object.
814 * @return Exposure in uS.
815 */
816 GoFx(k32u) GoSurfaceMsg_Exposure(GoSurfaceMsg msg);
817
818 /**
819 * @class GoSurfaceIntensityMsg
820 * @extends GoDataMsg
821 * @ingroup GoSdk-DataChannel
822 * @brief Represents a data message containing a surface intensity array.
823 */
824 typedef GoDataMsg GoSurfaceIntensityMsg;
825
826 /**
827 * Gets the profile source.
828 *
829 * @public @memberof GoSurfaceIntensityMsg
830 * @version Introduced in firmware 4.0.10.27
831 * @param msg Message object.
832 * @return Profile source.
833 */
834 GoFx(GoDataSource) GoSurfaceIntensityMsg_Source(GoSurfaceIntensityMsg msg);
835
836 /**
837 * Gets the length of the surface (row count).
838 *
839 * @public @memberof GoSurfaceIntensityMsg
840 * @version Introduced in firmware 4.0.10.27
841 * @param msg Message object.
842 * @return Surface length.
843 */
844 GoFx(kSize) GoSurfaceIntensityMsg_Length(GoSurfaceIntensityMsg msg);
845
846 /**
847 * Gets the width of the surface (column count).
848 *
849 * @public @memberof GoSurfaceIntensityMsg
850 * @version Introduced in firmware 4.0.10.27
851 * @param msg Message object.
852 * @return Surface width;
853 */
854 GoFx(kSize) GoSurfaceIntensityMsg_Width(GoSurfaceIntensityMsg msg);
855
856 /**
857 * Gets the surface x-resolution, in nanometers.
858 *
859 * @public @memberof GoSurfaceIntensityMsg
860 * @version Introduced in firmware 4.0.10.27
861 * @param msg Message object.
862 * @return X resolution (nm).
863 */
864 GoFx(k32u) GoSurfaceIntensityMsg_XResolution(GoSurfaceIntensityMsg msg);
865
866 /**
867 * Gets the surface y-resolution, in nanometers.
868 *
869 * @public @memberof GoSurfaceIntensityMsg
870 * @version Introduced in firmware 4.0.10.27
871 * @param msg Message object.
872 * @return Y resolution (nm).
873 */
874 GoFx(k32u) GoSurfaceIntensityMsg_YResolution(GoSurfaceIntensityMsg msg);
875
876 /**
877 * Gets the surface x-offset, in micrometers.
878 *
879 * @public @memberof GoSurfaceIntensityMsg
880 * @version Introduced in firmware 4.0.10.27
881 * @param msg Message object.
882 * @return X offset (um).
883 */
884 GoFx(k32s) GoSurfaceIntensityMsg_XOffset(GoSurfaceIntensityMsg msg);
885
886 /**
887 * Gets the surface y-offset, in micrometers.
888 *
889 * @public @memberof GoSurfaceIntensityMsg
890 * @version Introduced in firmware 4.0.10.27
891 * @param msg Message object.
892 * @return Y offset (um).
893 */
894 GoFx(k32s) GoSurfaceIntensityMsg_YOffset(GoSurfaceIntensityMsg msg);
895
896 /**
897 * Gets the surface ID.
898 *
899 * @public @memberof GoSurfaceIntensityMsg
900 * @version Introduced in firmware 4.0.10.27
901 * @param msg Message object.
902 * @return Surface ID.
903 */
904 GoFx(k32s) GoSurfaceIntensityMsg_SurfaceId(GoSurfaceIntensityMsg msg);
905
906 /**
907 * Gets a pointer to a surface intensity row.
908 *
909 * @public @memberof GoSurfaceIntensityMsg
910 * @version Introduced in firmware 4.0.10.27
911 * @param msg Message object.
912 * @param index Surface intensity row index.
913 * @return Data pointer.
914 */
915 GoFx(k8u*) GoSurfaceIntensityMsg_RowAt(GoSurfaceIntensityMsg msg, kSize index);
916
917 /**
918 * Gets the exposure.
919 *
920 * @public @memberof GoSurfaceIntensityMsg
921 * @version Introduced in firmware 4.0.10.27
922 * @param msg Message object.
923 * @return Exposure in uS.
924 */
925 GoFx(k32u) GoSurfaceIntensityMsg_Exposure(GoSurfaceIntensityMsg msg);
926
927
928 /**
929 * @class GoSectionMsg
930 * @extends GoDataMsg
931 * @ingroup GoSdk-DataChannel
932 * @brief Represents a data message containing a set of section arrays.
933 */
934 typedef GoDataMsg GoSectionMsg;
935
936 /**
937 * Gets the section ID.
938 *
939 * @public @memberof GoSectionMsg
940 * @version Introduced in firmware 4.4.4.14
941 * @param msg Message object.
942 * @return Section ID.
943 */
944 GoFx(k32u) GoSectionMsg_Id(GoSectionMsg msg);
945
946 /**
947 * Gets the section source.
948 *
949 * @public @memberof GoSectionMsg
950 * @version Introduced in firmware 4.4.4.14
951 * @param msg Message object.
952 * @return Section source.
953 */
954 GoFx(GoDataSource) GoSectionMsg_Source(GoSectionMsg msg);
955
956 /**
957 * Gets the count of section arrays in this message.
958 *
959 * @public @memberof GoSectionMsg
960 * @version Introduced in firmware 4.4.4.14
961 * @param msg Message object.
962 * @return Count of section arrays.
963 */
964 GoFx(kSize) GoSectionMsg_Count(GoSectionMsg msg);
965
966 /**
967 * Gets the count of points in each section array.
968 *
969 * @public @memberof GoSectionMsg
970 * @version Introduced in firmware 4.4.4.14
971 * @param msg Message object.
972 * @return Point count.
973 */
974 GoFx(kSize) GoSectionMsg_Width(GoSectionMsg msg);
975
976 /**
977 * Gets the x-resolution, in nanometers.
978 *
979 * @public @memberof GoSectionMsg
980 * @version Introduced in firmware 4.4.4.14
981 * @param msg Message object.
982 * @return X resolution (nm).
983 */
984 GoFx(k32u) GoSectionMsg_XResolution(GoSectionMsg msg);
985
986 /**
987 * Gets the z-resolution, in nanometers.
988 *
989 * @public @memberof GoSectionMsg
990 * @version Introduced in firmware 4.4.4.14
991 * @param msg Message object.
992 * @return Z resolution (nm).
993 */
994 GoFx(k32u) GoSectionMsg_ZResolution(GoSectionMsg msg);
995
996 /**
997 * Gets the X-Pose, in micrometers.
998 *
999 * @public @memberof GoSectionMsg
1000 * @version Introduced in firmware 4.4.4.14
1001 * @param msg Message object.
1002 * @return X Pose (um).
1003 */
1004 GoFx(k32s) GoSectionMsg_XPose(GoSectionMsg msg);
1005
1006 /**
1007 * Gets the Y-Pose, in micrometers.
1008 *
1009 * @public @memberof GoSectionMsg
1010 * @version Introduced in firmware 4.4.4.14
1011 * @param msg Message object.
1012 * @return Y Pose (um).
1013 */
1014 GoFx(k32s) GoSectionMsg_YPose(GoSectionMsg msg);
1015
1016 /**
1017 * Gets the Pose Angle, in microdegrees.
1018 *
1019 * @public @memberof GoSectionMsg
1020 * @version Introduced in firmware 4.4.4.14
1021 * @param msg Message object.
1022 * @return Angle Pose (microdegrees).
1023 */
1024 GoFx(k32s) GoSectionMsg_AnglePose(GoSectionMsg msg);
1025
1026 /**
1027 * Gets the x-offset, in micrometers.
1028 *
1029 * @public @memberof GoSectionMsg
1030 * @version Introduced in firmware 4.4.4.14
1031 * @param msg Message object.
1032 * @return X offset (um).
1033 */
1034 GoFx(k32s) GoSectionMsg_XOffset(GoSectionMsg msg);
1035
1036 /**
1037 * Gets the z-offset, in micrometers.
1038 *
1039 * @public @memberof GoSectionMsg
1040 * @version Introduced in firmware 4.4.4.14
1041 * @param msg Message object.
1042 * @return Z offset (um).
1043 */
1044 GoFx(k32s) GoSectionMsg_ZOffset(GoSectionMsg msg);
1045
1046 /**
1047 * Gets a pointer to a section array.
1048 *
1049 * @public @memberof GoSectionMsg
1050 * @version Introduced in firmware 4.4.4.14
1051 * @param msg Message object.
1052 * @param index Section array index.
1053 * @return Data pointer.
1054 */
1055 GoFx(k16s*) GoSectionMsg_At(GoSectionMsg msg, kSize index);
1056
1057 /**
1058 * Gets the exposure.
1059 *
1060 * @public @memberof GoSectionMsg
1061 * @version Introduced in firmware 4.4.4.14
1062 * @param msg Message object.
1063 * @return Exposure in uS.
1064 */
1065 GoFx(k32u) GoSectionMsg_Exposure(GoSectionMsg msg);
1066
1067
1068 /**
1069 * @class GoSectionIntensityMsg
1070 * @extends GoDataMsg
1071 * @ingroup GoSdk-DataChannel
1072 * @brief Represents a data message containing a set of profile intensity arrays.
1073 */
1074 typedef GoDataMsg GoSectionIntensityMsg;
1075
1076 /**
1077 * Gets the section ID.
1078 *
1079 * @public @memberof GoSectionIntensityMsg
1080 * @version Introduced in firmware 4.4.4.14
1081 * @param msg Message object.
1082 * @return Section ID.
1083 */
1084 GoFx(k32u) GoSectionIntensityMsg_Id(GoSectionIntensityMsg msg);
1085
1086 /**
1087 * Gets the section source.
1088 *
1089 * @public @memberof GoSectionIntensityMsg
1090 * @version Introduced in firmware 4.4.4.14
1091 * @param msg Message object.
1092 * @return Section source.
1093 */
1094 GoFx(GoDataSource) GoSectionIntensityMsg_Source(GoSectionIntensityMsg msg);
1095
1096 /**
1097 * Gets the count of section arrays in this message.
1098 *
1099 * @public @memberof GoSectionIntensityMsg
1100 * @version Introduced in firmware 4.4.4.14
1101 * @param msg Message object.
1102 * @return Count of section arrays.
1103 */
1104 GoFx(kSize) GoSectionIntensityMsg_Count(GoSectionIntensityMsg msg);
1105
1106 /**
1107 * Gets the count of points in each section array.
1108 *
1109 * @public @memberof GoSectionIntensityMsg
1110 * @version Introduced in firmware 4.4.4.14
1111 * @param msg Message object.
1112 * @return Point count.
1113 */
1114 GoFx(kSize) GoSectionIntensityMsg_Width(GoSectionIntensityMsg msg);
1115
1116 /**
1117 * Gets the x-resolution, in nanometers.
1118 *
1119 * @public @memberof GoSectionIntensityMsg
1120 * @version Introduced in firmware 4.4.4.14
1121 * @param msg Message object.
1122 * @return X resolution (nm).
1123 */
1124 GoFx(k32u) GoSectionIntensityMsg_XResolution(GoSectionIntensityMsg msg);
1125
1126 /**
1127 * Gets the X-Pose, in micrometers.
1128 *
1129 * @public @memberof GoSectionIntensityMsg
1130 * @version Introduced in firmware 4.4.4.14
1131 * @param msg Message object.
1132 * @return X Pose (um).
1133 */
1134 GoFx(k32s) GoSectionIntensityMsg_XPose(GoSectionIntensityMsg msg);
1135
1136 /**
1137 * Gets the Y-Pose, in micrometers.
1138 *
1139 * @public @memberof GoSectionIntensityMsg
1140 * @version Introduced in firmware 4.4.4.14
1141 * @param msg Message object.
1142 * @return Y Pose (um).
1143 */
1144 GoFx(k32s) GoSectionIntensityMsg_YPose(GoSectionIntensityMsg msg);
1145
1146 /**
1147 * Gets the Pose Angle, in microdegrees.
1148 *
1149 * @public @memberof GoSectionIntensityMsg
1150 * @version Introduced in firmware 4.4.4.14
1151 * @param msg Message object.
1152 * @return Angle Pose (microdegrees).
1153 */
1154 GoFx(k32s) GoSectionIntensityMsg_AnglePose(GoSectionIntensityMsg msg);
1155
1156 /**
1157 * Gets the x-offset, in micrometers.
1158 *
1159 * @public @memberof GoSectionIntensityMsg
1160 * @version Introduced in firmware 4.4.4.14
1161 * @param msg Message object.
1162 * @return X offset (um).
1163 */
1164 GoFx(k32s) GoSectionIntensityMsg_XOffset(GoSectionIntensityMsg msg);
1165
1166 /**
1167 * Gets a pointer to a Section intensity array.
1168 *
1169 * @public @memberof GoSectionIntensityMsg
1170 * @version Introduced in firmware 4.4.4.14
1171 * @param msg Message object.
1172 * @param index Section intensity array index.
1173 * @return Data pointer.
1174 */
1175 GoFx(k8u*) GoSectionIntensityMsg_At(GoSectionIntensityMsg msg, kSize index);
1176
1177 /**
1178 * Gets the exposure.
1179 *
1180 * @public @memberof GoSectionIntensityMsg
1181 * @version Introduced in firmware 4.4.4.14
1182 * @param msg Message object.
1183 * @return Exposure in uS.
1184 */
1185 GoFx(k32u) GoSectionIntensityMsg_Exposure(GoSectionIntensityMsg msg);
1186
1187 /// @endcond
1188
1189
1190 /**
1191 * @struct GoMeasurementData
1192 * @extends kValue
1193 * @ingroup GoSdk-DataChannel
1194 * @brief Represents a measurement result.
1195 */
1196 typedef struct GoMeasurementData
1197 {
1198 k64f value; ///< Measurement value.
1199 GoDecision decision; ///< Measurement decision value.
1200 GoDecisionCode decisionCode; ///< Measurement decision code - relevant only when the value represents a failure.
1201 } GoMeasurementData;
1202
1203 /**
1204 * Gets the measurement data value.
1205 *
1206 * @public @memberof GoMeasurementData
1207 * @version Introduced in firmware 4.2.4.7
1208 * @param data Data object.
1209 * @return Measurement value.
1210 */
1211 GoFx(k64f) GoMeasurementData_Value(GoMeasurementData data);
1212
1213 /**
1214 * Gets the measurement data decision.
1215 *
1216 * @public @memberof GoMeasurementData
1217 * @version Introduced in firmware 4.2.4.7
1218 * @param data Data object.
1219 * @return Measurement decision.
1220 */
1221 GoFx(GoDecision) GoMeasurementData_Decision(GoMeasurementData data);
1222
1223 /**
1224 * Gets the measurement decision code.
1225 *
1226 * @public @memberof GoMeasurementData
1227 * @version Introduced in firmware 4.2.4.7
1228 * @param data Data object.
1229 * @return Measurement decision code.
1230 */
1231 GoFx(GoDecisionCode) GoMeasurementData_DecisionCode(GoMeasurementData data);
1232
1233
1234 /**
1235 * @class GoMeasurementMsg
1236 * @extends GoDataMsg
1237 * @ingroup GoSdk-DataChannel
1238 * @brief Represents a message containing a set of GoMeasurementData.
1239 */
1240 typedef GoDataMsg GoMeasurementMsg;
1241
1242 /**
1243 * Gets the measurement identifier.
1244 *
1245 * @public @memberof GoMeasurementMsg
1246 * @version Introduced in firmware 4.0.10.27
1247 * @param msg Message object.
1248 * @return Measurement identifier.
1249 */
1250 GoFx(k16u) GoMeasurementMsg_Id(GoMeasurementMsg msg);
1251
1252 /**
1253 * Count of measurements in this message.
1254 *
1255 * @public @memberof GoMeasurementMsg
1256 * @version Introduced in firmware 4.0.10.27
1257 * @param msg Message object.
1258 * @return Count of measurements.
1259 */
1260 GoFx(kSize) GoMeasurementMsg_Count(GoMeasurementMsg msg);
1261
1262 /**
1263 * Gets the measurement at the specified index.
1264 *
1265 * @public @memberof GoMeasurementMsg
1266 * @version Introduced in firmware 4.0.10.27
1267 * @param msg Message object.
1268 * @param index Measurement index.
1269 * @return Measurement pointer.
1270 */
1271 GoFx(GoMeasurementData*) GoMeasurementMsg_At(GoMeasurementMsg msg, kSize index);
1272
1273
1274 /**
1275 * @class GoAlignMsg
1276 * @extends GoDataMsg
1277 * @ingroup GoSdk-DataChannel
1278 * @brief Represents a message containing an alignment result.
1279 */
1280 typedef GoDataMsg GoAlignMsg;
1281
1282 /**
1283 * Gets the alignment result.
1284 *
1285 * @public @memberof GoAlignMsg
1286 * @version Introduced in firmware 4.0.10.27
1287 * @param msg Message object.
1288 * @return Alignment result.
1289 */
1290 GoFx(kStatus) GoAlignMsg_Status(GoAlignMsg msg);
1291
1292 /**
1293 * @class GoExposureCalMsg
1294 * @extends GoDataMsg
1295 * @ingroup GoSdk-DataChannel
1296 * @brief Represents a message containing exposure calibration results.
1297 */
1298 typedef GoDataMsg GoExposureCalMsg;
1299
1300 /**
1301 * Gets the exposure calibration result.
1302 *
1303 * @public @memberof GoExposureCalMsg
1304 * @version Introduced in firmware 4.0.10.27
1305 * @param msg Message object.
1306 * @return Exposure calibration result.
1307 */
1308 GoFx(kStatus) GoExposureCalMsg_Status(GoExposureCalMsg msg);
1309
1310 /**
1311 * Gets the calibrated exposure.
1312 *
1313 * @public @memberof GoExposureCalMsg
1314 * @version Introduced in firmware 4.0.10.27
1315 * @param msg Message object.
1316 * @return Calibrated exposure value in uS if the result is kOK.
1317 */
1318 GoFx(k64f) GoExposureCalMsg_Exposure(GoExposureCalMsg msg);
1319
1320
1321 /**
1322 * @class GoEdgeMatchMsg
1323 * @extends GoDataMsg
1324 * @ingroup GoSdk-DataChannel
1325 * @brief Represents a message containing edge based part matching results.
1326 */
1327 typedef GoDataMsg GoEdgeMatchMsg;
1328
1329 /**
1330 * Gets the edge match decision.
1331 *
1332 * @public @memberof GoEdgeMatchMsg
1333 * @version Introduced in firmware 4.2.4.7
1334 * @param msg Message object.
1335 * @return Edge match decision.
1336 */
1337 GoFx(k8u) GoEdgeMatchMsg_Decision(GoEdgeMatchMsg msg);
1338
1339 /**
1340 * Gets the edge match X offset.
1341 *
1342 * @public @memberof GoEdgeMatchMsg
1343 * @version Introduced in firmware 4.2.4.7
1344 * @param msg Message object.
1345 * @return Edge match X offset.
1346 */
1347 GoFx(k64f) GoEdgeMatchMsg_XOffset(GoEdgeMatchMsg msg);
1348
1349 /**
1350 * Gets the edge match Y offset.
1351 *
1352 * @public @memberof GoEdgeMatchMsg
1353 * @version Introduced in firmware 4.2.4.7
1354 * @param msg Message object.
1355 * @return Edge match Y offset.
1356 */
1357 GoFx(k64f) GoEdgeMatchMsg_YOffset(GoEdgeMatchMsg msg);
1358
1359 /**
1360 * Gets the edge match Z angle.
1361 *
1362 * @public @memberof GoEdgeMatchMsg
1363 * @version Introduced in firmware 4.2.4.7
1364 * @param msg Message object.
1365 * @return Edge match Z angle.
1366 */
1367 GoFx(k64f) GoEdgeMatchMsg_ZAngle(GoEdgeMatchMsg msg);
1368
1369 /**
1370 * Gets the edge match quality value.
1371 *
1372 * @public @memberof GoEdgeMatchMsg
1373 * @version Introduced in firmware 4.2.4.7
1374 * @param msg Message object.
1375 * @return Edge match quality value.
1376 */
1377 GoFx(k64f) GoEdgeMatchMsg_QualityValue(GoEdgeMatchMsg msg);
1378
1379 /**
1380 * Gets the edge match quality decision.
1381 *
1382 * @public @memberof GoEdgeMatchMsg
1383 * @version Introduced in firmware 4.2.4.7
1384 * @param msg Message object.
1385 * @return Edge match quality decision.
1386 */
1387 GoFx(k8u) GoEdgeMatchMsg_QualityDecision(GoEdgeMatchMsg msg);
1388
1389
1390 /**
1391 * @class GoEllipseMatchMsg
1392 * @extends GoDataMsg
1393 * @ingroup GoSdk-DataChannel
1394 * @brief Represents a message containing ellipse based part matching results.
1395 */
1396 typedef GoDataMsg GoEllipseMatchMsg;
1397
1398 /**
1399 * Gets the ellipse match decision.
1400 *
1401 * @public @memberof GoEllipseMatchMsg
1402 * @version Introduced in firmware 4.2.4.7
1403 * @param msg Message object.
1404 * @return Ellipse match quality decision.
1405 */
1406 GoFx(k8u) GoEllipseMatchMsg_Decision(GoEllipseMatchMsg msg);
1407
1408 /**
1409 * Gets the ellipse match X offset.
1410 *
1411 * @public @memberof GoEllipseMatchMsg
1412 * @version Introduced in firmware 4.2.4.7
1413 * @param msg Message object.
1414 * @return Ellipse match X offset.
1415 */
1416 GoFx(k64f) GoEllipseMatchMsg_XOffset(GoEllipseMatchMsg msg);
1417
1418 /**
1419 * Gets the ellipse match Y offset.
1420 *
1421 * @public @memberof GoEllipseMatchMsg
1422 * @version Introduced in firmware 4.2.4.7
1423 * @param msg Message object.
1424 * @return Ellipse match Y offset.
1425 */
1426 GoFx(k64f) GoEllipseMatchMsg_YOffset(GoEllipseMatchMsg msg);
1427
1428 /**
1429 * Gets the ellipse match Z angle.
1430 *
1431 * @public @memberof GoEllipseMatchMsg
1432 * @version Introduced in firmware 4.2.4.7
1433 * @param msg Message object.
1434 * @return Ellipse match Z angle.
1435 */
1436 GoFx(k64f) GoEllipseMatchMsg_ZAngle(GoEllipseMatchMsg msg);
1437
1438 /**
1439 * Gets the ellipse match minor value.
1440 *
1441 * @public @memberof GoEllipseMatchMsg
1442 * @version Introduced in firmware 4.2.4.7
1443 * @param msg Message object.
1444 * @return Ellipse match minor value.
1445 */
1446 GoFx(k64f) GoEllipseMatchMsg_MinorValue(GoEllipseMatchMsg msg);
1447
1448 /**
1449 * Gets the ellipse match minor decision.
1450 *
1451 * @public @memberof GoEllipseMatchMsg
1452 * @version Introduced in firmware 4.2.4.7
1453 * @param msg Message object.
1454 * @return Ellipse match minor decision.
1455 */
1456 GoFx(k8u) GoEllipseMatchMsg_MinorDecision(GoEllipseMatchMsg msg);
1457
1458 /**
1459 * Gets the ellipse match major value.
1460 *
1461 * @public @memberof GoEllipseMatchMsg
1462 * @version Introduced in firmware 4.2.4.7
1463 * @param msg Message object.
1464 * @return Ellipse match major value.
1465 */
1466 GoFx(k64f) GoEllipseMatchMsg_MajorValue(GoEllipseMatchMsg msg);
1467
1468 /**
1469 * Gets the ellipse match major decision.
1470 *
1471 * @public @memberof GoEllipseMatchMsg
1472 * @version Introduced in firmware 4.2.4.7
1473 * @param msg Message object.
1474 * @return Ellipse match major decision.
1475 */
1476 GoFx(k8u) GoEllipseMatchMsg_MajorDecision(GoEllipseMatchMsg msg);
1477
1478
1479 /**
1480 * @class GoBoundingBoxMatchMsg
1481 * @extends GoDataMsg
1482 * @ingroup GoSdk-DataChannel
1483 * @brief Represents a message containing bounding box based part matching results.
1484 */
1485 typedef GoDataMsg GoBoundingBoxMatchMsg;
1486
1487 /**
1488 * Gets the bounding box match major value.
1489 *
1490 * @public @memberof GoBoundingBoxMatchMsg
1491 * @version Introduced in firmware 4.2.4.7
1492 * @param msg Message object.
1493 * @return Bounding box match major value.
1494 */
1495 GoFx(k8u) GoBoundingBoxMatchMsg_Decision(GoBoundingBoxMatchMsg msg);
1496
1497 /**
1498 * Gets the bounding box match X offset.
1499 *
1500 * @public @memberof GoBoundingBoxMatchMsg
1501 * @version Introduced in firmware 4.2.4.7
1502 * @param msg Message object.
1503 * @return Bounding box match X offset.
1504 */
1505 GoFx(k64f) GoBoundingBoxMatchMsg_XOffset(GoBoundingBoxMatchMsg msg);
1506
1507 /**
1508 * Gets the bounding box match Y offset.
1509 *
1510 * @public @memberof GoBoundingBoxMatchMsg
1511 * @version Introduced in firmware 4.2.4.7
1512 * @param msg Message object.
1513 * @return Bounding box match Y offset.
1514 */
1515 GoFx(k64f) GoBoundingBoxMatchMsg_YOffset(GoBoundingBoxMatchMsg msg);
1516
1517 /**
1518 * Gets the bounding box match Z angle.
1519 *
1520 * @public @memberof GoBoundingBoxMatchMsg
1521 * @version Introduced in firmware 4.2.4.7
1522 * @param msg Message object.
1523 * @return Bounding box match Z angle.
1524 */
1525 GoFx(k64f) GoBoundingBoxMatchMsg_ZAngle(GoBoundingBoxMatchMsg msg);
1526
1527 /**
1528 * Gets the bounding box match length value.
1529 *
1530 * @public @memberof GoBoundingBoxMatchMsg
1531 * @version Introduced in firmware 4.2.4.7
1532 * @param msg Message object.
1533 * @return Bounding box match length value.
1534 */
1535 GoFx(k64f) GoBoundingBoxMatchMsg_LengthValue(GoBoundingBoxMatchMsg msg);
1536
1537 /**
1538 * Gets the bounding box match length decision.
1539 *
1540 * @public @memberof GoBoundingBoxMatchMsg
1541 * @version Introduced in firmware 4.2.4.7
1542 * @param msg Message object.
1543 * @return Bounding box match length decision.
1544 */
1545 GoFx(k8u) GoBoundingBoxMatchMsg_LengthDecision(GoBoundingBoxMatchMsg msg);
1546
1547 /**
1548 * Gets the bounding box match width value.
1549 *
1550 * @public @memberof GoBoundingBoxMatchMsg
1551 * @version Introduced in firmware 4.2.4.7
1552 * @param msg Message object.
1553 * @return Bounding box match width value.
1554 */
1555 GoFx(k64f) GoBoundingBoxMatchMsg_WidthValue(GoBoundingBoxMatchMsg msg);
1556
1557 /**
1558 * Gets the bounding box match width decision.
1559 *
1560 * @public @memberof GoBoundingBoxMatchMsg
1561 * @version Introduced in firmware 4.2.4.7
1562 * @param msg Message object.
1563 * @return Bounding box match width decision.
1564 */
1565 GoFx(k8u) GoBoundingBoxMatchMsg_WidthDecision(GoBoundingBoxMatchMsg msg);
1566
1567 kEndHeader()
1568 #include <GoSdk/Messages/GoDataTypes.x.h>
1569
1570 #endif
GoStamp
Represents an acquisition stamp.
Definition: GoDataTypes.h:40
k32u
GoStampMsg::GoStampMsg_At
GoStamp * GoStampMsg_At(GoStampMsg msg, kSize index)
Gets the stamp at the specified index.
GoRangeMsg::GoRangeMsg_ZOffset
k32s GoRangeMsg_ZOffset(GoRangeMsg msg)
Gets the Range z-offset, in micrometers.
GoProfileIntensityMsg::GoProfileIntensityMsg_Count
kSize GoProfileIntensityMsg_Count(GoProfileIntensityMsg msg)
Gets the count of profile intensity arrays in this message.
GoMeasurementData::decision
GoDecision decision
Measurement decision value.
Definition: GoDataTypes.h:1199
GoVideoMsg::GoVideoMsg_Width
kSize GoVideoMsg_Width(GoVideoMsg msg)
Gets the image width, in pixels.
GoVideoMsg::GoVideoMsg_IsFlippedX
kBool GoVideoMsg_IsFlippedX(GoVideoMsg msg)
Indicates whether the video message data requires horizontal flipping to match up with profile data...
GoVideoMsg::GoVideoMsg_Cfa
kCfa GoVideoMsg_Cfa(GoVideoMsg msg)
Gets the image color filter array.
GoResampledProfileMsg::GoResampledProfileMsg_ZOffset
k32s GoResampledProfileMsg_ZOffset(GoResampledProfileMsg msg)
Gets the profile z-offset, in micrometers.
GoBoundingBoxMatchMsg::GoBoundingBoxMatchMsg_YOffset
k64f GoBoundingBoxMatchMsg_YOffset(GoBoundingBoxMatchMsg msg)
Gets the bounding box match Y offset.
GoResampledProfileMsg::GoResampledProfileMsg_XResolution
k32u GoResampledProfileMsg_XResolution(GoResampledProfileMsg msg)
Gets the x-resolution, in nanometers.
kPoint16s
GoProfileMsg::GoProfileMsg_CameraIndex
k8u GoProfileMsg_CameraIndex(GoProfileMsg msg)
Gets the source camera index.
GoEllipseMatchMsg::GoEllipseMatchMsg_MajorDecision
k8u GoEllipseMatchMsg_MajorDecision(GoEllipseMatchMsg msg)
Gets the ellipse match major decision.
k64u
GoBoundingBoxMatchMsg::GoBoundingBoxMatchMsg_ZAngle
k64f GoBoundingBoxMatchMsg_ZAngle(GoBoundingBoxMatchMsg msg)
Gets the bounding box match Z angle.
GoProfileMsg::GoProfileIntensityMsg_CameraIndex
k8u GoProfileIntensityMsg_CameraIndex(GoProfileMsg msg)
Gets the source camera index.
GoProfileIntensityMsg::GoProfileIntensityMsg_XOffset
k32s GoProfileIntensityMsg_XOffset(GoProfileIntensityMsg msg)
Gets the profile x-offset, in micrometers.
GoBoundingBoxMatchMsg::GoBoundingBoxMatchMsg_WidthDecision
k8u GoBoundingBoxMatchMsg_WidthDecision(GoBoundingBoxMatchMsg msg)
Gets the bounding box match width decision.
GoProfileMsg::GoProfileMsg_ZOffset
k32s GoProfileMsg_ZOffset(GoProfileMsg msg)
Gets the profile z-offset, in micrometers.
GoProfileMsg::GoProfileMsg_Exposure
k32u GoProfileMsg_Exposure(GoProfileMsg msg)
Gets the exposure.
GoVideoMsg
Represents a data message containing a video image.
GoResampledProfileMsg::GoResampledProfileMsg_Exposure
k32u GoResampledProfileMsg_Exposure(GoResampledProfileMsg msg)
Gets the exposure.
GoProfileMsg::GoProfileMsg_At
kPoint16s * GoProfileMsg_At(GoProfileMsg msg, kSize index)
Gets a pointer to a profile array.
GoEdgeMatchMsg
Represents a message containing edge based part matching results.
GoDecisionCode
Represents the possible measurement decision codes.
GoEllipseMatchMsg::GoEllipseMatchMsg_Decision
k8u GoEllipseMatchMsg_Decision(GoEllipseMatchMsg msg)
Gets the ellipse match decision.
GoProfileIntensityMsg::GoProfileIntensityMsg_Exposure
k32u GoProfileIntensityMsg_Exposure(GoProfileIntensityMsg msg)
Gets the exposure.
k16u
GoResampledProfileMsg
Represents a data message containing a set of re-sampled profile arrays.
kSize
GoBoundingBoxMatchMsg::GoBoundingBoxMatchMsg_Decision
k8u GoBoundingBoxMatchMsg_Decision(GoBoundingBoxMatchMsg msg)
Gets the bounding box match major value.
GoProfileMsg::GoProfileMsg_Width
kSize GoProfileMsg_Width(GoProfileMsg msg)
Gets the count of ranges in each profile array.
GoDataSource
Represents a data source.
k8u
GoVideoMsg::GoVideoMsg_Source
GoDataSource GoVideoMsg_Source(GoVideoMsg msg)
Gets the video source.
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.
GoRangeMsg
Represents a data message containing a set of range data.
GoProfileIntensityMsg::GoProfileIntensityMsg_XResolution
k32u GoProfileIntensityMsg_XResolution(GoProfileIntensityMsg msg)
Gets the x-resolution, in nanometers.
GoResampledProfileMsg::GoResampledProfileMsg_Count
kSize GoResampledProfileMsg_Count(GoResampledProfileMsg msg)
Gets the count of re-sampled profile arrays in this message.
GoEllipseMatchMsg::GoEllipseMatchMsg_XOffset
k64f GoEllipseMatchMsg_XOffset(GoEllipseMatchMsg msg)
Gets the ellipse match X offset.
GoVideoMsg::GoVideoMsg_CameraIndex
kSize GoVideoMsg_CameraIndex(GoVideoMsg msg)
Gets the camera index that the video data originates from.
GoMeasurementData::GoMeasurementData_Decision
GoDecision GoMeasurementData_Decision(GoMeasurementData data)
Gets the measurement data decision.
GoRangeMsg::GoRangeMsg_Count
kSize GoRangeMsg_Count(GoRangeMsg msg)
Gets the count of Range data in this message.
GoRangeIntensityMsg::GoRangeIntensityMsg_Count
kSize GoRangeIntensityMsg_Count(GoRangeIntensityMsg msg)
Gets the count of range intensity data in this message.
GoProfileMsg::GoProfileMsg_ZResolution
k32u GoProfileMsg_ZResolution(GoProfileMsg msg)
Gets the profile z-resolution, in nanometers.
GoExposureCalMsg::GoExposureCalMsg_Exposure
k64f GoExposureCalMsg_Exposure(GoExposureCalMsg msg)
Gets the calibrated exposure.
GoStamp::timestamp
k64u timestamp
Timestamp in internal units approximating nanoseconds where the true time in ns = timestamp value / 1...
Definition: GoDataTypes.h:43
GoVideoMsg::GoVideoMsg_RowAt
void * GoVideoMsg_RowAt(GoVideoMsg msg, kSize rowIndex)
Gets a pointer to a row within the image.
GoVideoMsg::GoVideoMsg_PixelSize
kSize GoVideoMsg_PixelSize(GoVideoMsg msg)
Gets the image pixel size, in bytes.
GoBoundingBoxMatchMsg::GoBoundingBoxMatchMsg_LengthDecision
k8u GoBoundingBoxMatchMsg_LengthDecision(GoBoundingBoxMatchMsg msg)
Gets the bounding box match length decision.
GoStampMsg
Represents a message containing a set of acquisition stamps.
GoBoundingBoxMatchMsg
Represents a message containing bounding box based part matching results.
GoStampMsg::GoStampMsg_Count
kSize GoStampMsg_Count(GoStampMsg msg)
Returns the number of stamps contained in this message.
GoVideoMsg::GoVideoMsg_Exposure
k32u GoVideoMsg_Exposure(GoVideoMsg msg)
Gets the exposure.
GoVideoMsg::GoVideoMsg_Height
kSize GoVideoMsg_Height(GoVideoMsg msg)
Gets the image height, in pixels.
GoVideoMsg::GoVideoMsg_PixelFormat
kPixelFormat GoVideoMsg_PixelFormat(GoVideoMsg msg)
Gets the pixel format descriptor.
GoProfileMsg::GoProfileMsg_XResolution
k32u GoProfileMsg_XResolution(GoProfileMsg msg)
Gets the profile x-resolution, in nanometers.
kPixelFormat
GoEllipseMatchMsg::GoEllipseMatchMsg_MajorValue
k64f GoEllipseMatchMsg_MajorValue(GoEllipseMatchMsg msg)
Gets the ellipse match major value.
GoStamp::encoderAtZ
k64s encoderAtZ
Encoder value latched at z-index mark (encoder ticks).
Definition: GoDataTypes.h:45
GoStamp::status
k64u status
Bit mask containing frame information:
Definition: GoDataTypes.h:46
GoSdkDef.h
Essential SDK declarations.
GoProfileIntensityMsg::GoProfileIntensityMsg_Width
kSize GoProfileIntensityMsg_Width(GoProfileIntensityMsg msg)
Gets the count of intensity values in each profile intensity array.
GoProfileMsg::GoProfileMsg_Count
kSize GoProfileMsg_Count(GoProfileMsg msg)
Gets the count of profile arrays in this message.
GoMeasurementMsg::GoMeasurementMsg_Id
k16u GoMeasurementMsg_Id(GoMeasurementMsg msg)
Gets the measurement identifier.
GoProfileIntensityMsg::GoProfileIntensityMsg_Source
GoDataSource GoProfileIntensityMsg_Source(GoProfileIntensityMsg msg)
Gets the profile source.
GoStampMsg::GoStampMsg_Source
GoDataSource GoStampMsg_Source(GoStampMsg msg)
Gets the stamp source.
GoExposureCalMsg
Represents a message containing exposure calibration results.
GoVideoMsg::GoVideoMsg_IsFlippedY
kBool GoVideoMsg_IsFlippedY(GoVideoMsg msg)
Indicates whether the video message data requires vertical flipping to match up with profile data...
GoPixelType
Represents a video message pixel type.
GoRangeMsg::GoRangeMsg_Exposure
k32u GoRangeMsg_Exposure(GoRangeMsg msg)
Gets the exposure.
GoRangeMsg::GoRangeMsg_Source
GoDataSource GoRangeMsg_Source(GoRangeMsg msg)
Gets the Range source.
GoProfileIntensityMsg
Represents a data message containing a set of profile intensity arrays.
GoStamp::id
k32u id
Source device ID.
Definition: GoDataTypes.h:57
GoDataMsg::GoDataMsg_Type
GoDataMessageType GoDataMsg_Type(GoDataMsg message)
Returns the message type for a data channel message given in a GoDataSet.
GoMeasurementData::GoMeasurementData_Value
k64f GoMeasurementData_Value(GoMeasurementData data)
Gets the measurement data value.
k32s
GoEllipseMatchMsg::GoEllipseMatchMsg_ZAngle
k64f GoEllipseMatchMsg_ZAngle(GoEllipseMatchMsg msg)
Gets the ellipse match Z angle.
GoMeasurementMsg::GoMeasurementMsg_At
GoMeasurementData * GoMeasurementMsg_At(GoMeasurementMsg msg, kSize index)
Gets the measurement at the specified index.
GoRangeIntensityMsg
Represents a data message containing a set of range intensity data.
GoEdgeMatchMsg::GoEdgeMatchMsg_QualityDecision
k8u GoEdgeMatchMsg_QualityDecision(GoEdgeMatchMsg msg)
Gets the edge match quality decision.
GoDataMessageType
Lists all data message types.
GoMeasurementMsg::GoMeasurementMsg_Count
kSize GoMeasurementMsg_Count(GoMeasurementMsg msg)
Count of measurements in this message.
GoResampledProfileMsg::GoResampledProfileMsg_ZResolution
k32u GoResampledProfileMsg_ZResolution(GoResampledProfileMsg msg)
Gets the profile z-resolution, in nanometers.
GoBoundingBoxMatchMsg::GoBoundingBoxMatchMsg_LengthValue
k64f GoBoundingBoxMatchMsg_LengthValue(GoBoundingBoxMatchMsg msg)
Gets the bounding box match length value.
k64s
GoProfileMsg::GoProfileMsg_XOffset
k32s GoProfileMsg_XOffset(GoProfileMsg msg)
Gets the profile x-offset, in micrometers.
GoMeasurementData::GoMeasurementData_DecisionCode
GoDecisionCode GoMeasurementData_DecisionCode(GoMeasurementData data)
Gets the measurement decision code.
GoMeasurementData::decisionCode
GoDecisionCode decisionCode
Measurement decision code - relevant only when the value represents a failure.
Definition: GoDataTypes.h:1200
GoEllipseMatchMsg::GoEllipseMatchMsg_MinorValue
k64f GoEllipseMatchMsg_MinorValue(GoEllipseMatchMsg msg)
Gets the ellipse match minor value.
GoProfileMsg
Represents a data message containing a set of profile arrays.
GoRangeIntensityMsg::GoRangeIntensityMsg_Source
GoDataSource GoRangeIntensityMsg_Source(GoRangeIntensityMsg msg)
Gets the range intensity source.
GoAlignMsg
Represents a message containing an alignment result.
GoMeasurementData::value
k64f value
Measurement value.
Definition: GoDataTypes.h:1198
GoStamp::reserved32u
k32u reserved32u
Reserved.
Definition: GoDataTypes.h:58
GoMeasurementMsg
Represents a message containing a set of GoMeasurementData.
GoEdgeMatchMsg::GoEdgeMatchMsg_QualityValue
k64f GoEdgeMatchMsg_QualityValue(GoEdgeMatchMsg msg)
Gets the edge match quality value.
GoDataMsg
Represents a base message sourced from the data channel.
GoAlignMsg::GoAlignMsg_Status
kStatus GoAlignMsg_Status(GoAlignMsg msg)
Gets the alignment result.
GoProfileIntensityMsg::GoProfileIntensityMsg_At
k8u * GoProfileIntensityMsg_At(GoProfileIntensityMsg msg, kSize index)
Gets a pointer to a profile intensity array.
k16s
GoEllipseMatchMsg
Represents a message containing ellipse based part matching results.
GoEdgeMatchMsg::GoEdgeMatchMsg_ZAngle
k64f GoEdgeMatchMsg_ZAngle(GoEdgeMatchMsg msg)
Gets the edge match Z angle.
kObject
GoRangeIntensityMsg::GoRangeIntensityMsg_Exposure
k32u GoRangeIntensityMsg_Exposure(GoRangeIntensityMsg msg)
Gets the exposure.
kStatus
GoRangeMsg::GoRangeMsg_At
k16s * GoRangeMsg_At(GoRangeMsg msg, kSize index)
Gets a pointer to Range data.
GoBoundingBoxMatchMsg::GoBoundingBoxMatchMsg_XOffset
k64f GoBoundingBoxMatchMsg_XOffset(GoBoundingBoxMatchMsg msg)
Gets the bounding box match X offset.
GoVideoMsg::GoVideoMsg_PixelType
GoPixelType GoVideoMsg_PixelType(GoVideoMsg msg)
Gets the data type used to represent an image pixel.
GoResampledProfileMsg::GoResampledProfileMsg_At
k16s * GoResampledProfileMsg_At(GoResampledProfileMsg msg, kSize index)
Gets a pointer to a re-sampled profile array.
kCfa
GoProfileIntensityMsg::GoProfileIntensityMsg_IsResampled
kBool GoProfileIntensityMsg_IsResampled(GoProfileIntensityMsg msg)
Gets the associated profile type (points or ranges).
k64f
GoResampledProfileMsg::GoResampledProfileMsg_Source
GoDataSource GoResampledProfileMsg_Source(GoResampledProfileMsg msg)
Gets the profile source.
GoStamp::encoder
k64s encoder
Position (encoder ticks).
Definition: GoDataTypes.h:44
GoEllipseMatchMsg::GoEllipseMatchMsg_YOffset
k64f GoEllipseMatchMsg_YOffset(GoEllipseMatchMsg msg)
Gets the ellipse match Y offset.
GoStamp::frameIndex
k64u frameIndex
Frame index (counts up from zero).
Definition: GoDataTypes.h:42
GoRangeMsg::GoRangeMsg_ZResolution
k32u GoRangeMsg_ZResolution(GoRangeMsg msg)
Gets the Range z-resolution, in nanometers.
GoEdgeMatchMsg::GoEdgeMatchMsg_YOffset
k64f GoEdgeMatchMsg_YOffset(GoEdgeMatchMsg msg)
Gets the edge match Y offset.
kBool
GoEdgeMatchMsg::GoEdgeMatchMsg_XOffset
k64f GoEdgeMatchMsg_XOffset(GoEdgeMatchMsg msg)
Gets the edge match X offset.
GoResampledProfileMsg::GoResampledProfileMsg_Width
kSize GoResampledProfileMsg_Width(GoResampledProfileMsg msg)
Gets the count of points in each re-sampled profile array.
GoVideoMsg::GoVideoMsg_ExposureIndex
kSize GoVideoMsg_ExposureIndex(GoVideoMsg msg)
Gets the exposure index.
GoEdgeMatchMsg::GoEdgeMatchMsg_Decision
k8u GoEdgeMatchMsg_Decision(GoEdgeMatchMsg msg)
Gets the edge match decision.
GoEllipseMatchMsg::GoEllipseMatchMsg_MinorDecision
k8u GoEllipseMatchMsg_MinorDecision(GoEllipseMatchMsg msg)
Gets the ellipse match minor decision.
GoExposureCalMsg::GoExposureCalMsg_Status
kStatus GoExposureCalMsg_Status(GoExposureCalMsg msg)
Gets the exposure calibration result.
GoBoundingBoxMatchMsg::GoBoundingBoxMatchMsg_WidthValue
k64f GoBoundingBoxMatchMsg_WidthValue(GoBoundingBoxMatchMsg msg)
Gets the bounding box match width value.
GoResampledProfileMsg::GoResampledProfileMsg_XOffset
k32s GoResampledProfileMsg_XOffset(GoResampledProfileMsg msg)
Gets the profile x-offset, in micrometers.
GoStamp::reserved64u
k64u reserved64u
Reserved.
Definition: GoDataTypes.h:59
GoMeasurementData
Represents a measurement result.
Definition: GoDataTypes.h:1196
GoProfileMsg::GoProfileMsg_Source
GoDataSource GoProfileMsg_Source(GoProfileMsg msg)
Gets the profile source.
GoRangeIntensityMsg::GoRangeIntensityMsg_At
k8u * GoRangeIntensityMsg_At(GoRangeIntensityMsg msg, kSize index)
Gets a pointer to range intensity data.