Gocator API
 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 microseconds where the true time in us = timestamp value / 1.024.
44  k64s encoder; ///< Position (encoder ticks).
45  k64s encoderAtZ; ///< Encoder value latched at z-index mark (encoder ticks).
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  */
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  */
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  */
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  */
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.
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  */
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  */
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  */
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  */
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  */
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
Represents an acquisition stamp.
Definition: GoDataTypes.h:40
GoStamp * GoStampMsg_At(GoStampMsg msg, kSize index)
Gets the stamp at the specified index.
kSize GoSectionIntensityMsg_Count(GoSectionIntensityMsg msg)
Gets the count of section arrays in this message.
k32u GoSurfaceIntensityMsg_Exposure(GoSurfaceIntensityMsg msg)
Gets the exposure.
k32s GoSectionMsg_ZOffset(GoSectionMsg msg)
Gets the z-offset, in micrometers.
k32s GoSurfaceMsg_ZOffset(GoSurfaceMsg msg)
Gets the surface z-offset, in micrometers.
GoDecision decision
Measurement decision value.
Definition: GoDataTypes.h:1199
kSize GoVideoMsg_Width(GoVideoMsg msg)
Gets the image width, in pixels.
kBool GoVideoMsg_IsFlippedX(GoVideoMsg msg)
Indicates whether the video message data requires horizontal flipping to match up with profile data...
kSize GoSurfaceMsg_Length(GoSurfaceMsg msg)
Gets the length of the surface (row count).
kCfa GoVideoMsg_Cfa(GoVideoMsg msg)
Gets the image color filter array.
k64f GoBoundingBoxMatchMsg_YOffset(GoBoundingBoxMatchMsg msg)
Gets the bounding box match Y offset.
k8u GoEllipseMatchMsg_MajorDecision(GoEllipseMatchMsg msg)
Gets the ellipse match major decision.
k64f GoBoundingBoxMatchMsg_ZAngle(GoBoundingBoxMatchMsg msg)
Gets the bounding box match Z angle.
k8u GoBoundingBoxMatchMsg_WidthDecision(GoBoundingBoxMatchMsg msg)
Gets the bounding box match width decision.
kSize GoSectionIntensityMsg_Width(GoSectionIntensityMsg msg)
Gets the count of points in each section array.
k32s GoSectionIntensityMsg_YPose(GoSectionIntensityMsg msg)
Gets the Y-Pose, in micrometers.
Represents a data message containing a video image.
Represents a message containing edge based part matching results.
k32s GoSurfaceIntensityMsg_YOffset(GoSurfaceIntensityMsg msg)
Gets the surface y-offset, in micrometers.
k32u GoSectionMsg_ZResolution(GoSectionMsg msg)
Gets the z-resolution, in nanometers.
Represents a data message containing a set of profile intensity arrays.
Represents the possible measurement decision codes.
k32s GoSurfaceIntensityMsg_SurfaceId(GoSurfaceIntensityMsg msg)
Gets the surface ID.
k8u GoEllipseMatchMsg_Decision(GoEllipseMatchMsg msg)
Gets the ellipse match decision.
k32s GoSectionMsg_YPose(GoSectionMsg msg)
Gets the Y-Pose, in micrometers.
kSize GoSectionMsg_Count(GoSectionMsg msg)
Gets the count of section arrays in this message.
kSize GoSurfaceIntensityMsg_Width(GoSurfaceIntensityMsg msg)
Gets the width of the surface (column count).
kSize GoSurfaceIntensityMsg_Length(GoSurfaceIntensityMsg msg)
Gets the length of the surface (row count).
k32u GoSurfaceMsg_ZResolution(GoSurfaceMsg msg)
Gets the surface z-resolution, in nanometers.
k8u GoBoundingBoxMatchMsg_Decision(GoBoundingBoxMatchMsg msg)
Gets the bounding box match major value.
Represents a data source.
kSize GoSectionMsg_Width(GoSectionMsg msg)
Gets the count of points in each section array.
GoDataSource GoVideoMsg_Source(GoVideoMsg msg)
Gets the video source.
k32s GoSectionMsg_XPose(GoSectionMsg msg)
Gets the X-Pose, in micrometers.
Represents the measurement output decision values. Bit 0 represents the decision value, while bits 1 through 7 represent the decision code, outlined by GoDecisionCode.
k64f GoEllipseMatchMsg_XOffset(GoEllipseMatchMsg msg)
Gets the ellipse match X offset.
kSize GoVideoMsg_CameraIndex(GoVideoMsg msg)
Gets the camera index that the video data originates from.
GoDecision GoMeasurementData_Decision(GoMeasurementData data)
Gets the measurement data decision.
GoDataSource GoSectionMsg_Source(GoSectionMsg msg)
Gets the section source.
k64f GoExposureCalMsg_Exposure(GoExposureCalMsg msg)
Gets the calibrated exposure.
k64u timestamp
Timestamp in internal units approximating microseconds where the true time in us = timestamp value / ...
Definition: GoDataTypes.h:43
void * GoVideoMsg_RowAt(GoVideoMsg msg, kSize rowIndex)
Gets a pointer to a row within the image.
kSize GoVideoMsg_PixelSize(GoVideoMsg msg)
Gets the image pixel size, in bytes.
k8u GoBoundingBoxMatchMsg_LengthDecision(GoBoundingBoxMatchMsg msg)
Gets the bounding box match length decision.
Represents a message containing a set of acquisition stamps.
k32s GoSectionIntensityMsg_AnglePose(GoSectionIntensityMsg msg)
Gets the Pose Angle, in microdegrees.
Represents a message containing bounding box based part matching results.
kSize GoStampMsg_Count(GoStampMsg msg)
Returns the number of stamps contained in this message.
Represents a data message containing a surface array.
k32u GoSurfaceMsg_XResolution(GoSurfaceMsg msg)
Gets the surface x-resolution, in nanometers.
k32u GoVideoMsg_Exposure(GoVideoMsg msg)
Gets the exposure.
kSize GoVideoMsg_Height(GoVideoMsg msg)
Gets the image height, in pixels.
kPixelFormat GoVideoMsg_PixelFormat(GoVideoMsg msg)
Gets the pixel format descriptor.
k32u GoSurfaceMsg_SurfaceId(GoSurfaceMsg msg)
Gets the surface ID.
k64f GoEllipseMatchMsg_MajorValue(GoEllipseMatchMsg msg)
Gets the ellipse match major value.
k32u GoSectionIntensityMsg_Id(GoSectionIntensityMsg msg)
Gets the section ID.
k64s encoderAtZ
Encoder value latched at z-index mark (encoder ticks).
Definition: GoDataTypes.h:45
k32u GoSurfaceMsg_Exposure(GoSurfaceMsg msg)
Gets the exposure.
k64u status
Bit mask containing frame information:
Definition: GoDataTypes.h:46
Essential SDK declarations.
kSize GoSurfaceMsg_Width(GoSurfaceMsg msg)
Gets the width of the surface (column count).
k8u * GoSurfaceIntensityMsg_RowAt(GoSurfaceIntensityMsg msg, kSize index)
Gets a pointer to a surface intensity row.
k16u GoMeasurementMsg_Id(GoMeasurementMsg msg)
Gets the measurement identifier.
GoDataSource GoSectionIntensityMsg_Source(GoSectionIntensityMsg msg)
Gets the section source.
GoDataSource GoStampMsg_Source(GoStampMsg msg)
Gets the stamp source.
k32s GoSurfaceMsg_YOffset(GoSurfaceMsg msg)
Gets the surface y-offset, in micrometers.
Represents a message containing exposure calibration results.
Represents a data message containing a set of section arrays.
kBool GoVideoMsg_IsFlippedY(GoVideoMsg msg)
Indicates whether the video message data requires vertical flipping to match up with profile data...
Represents a video message pixel type.
k32u GoSectionIntensityMsg_Exposure(GoSectionIntensityMsg msg)
Gets the exposure.
k32u GoSurfaceIntensityMsg_YResolution(GoSurfaceIntensityMsg msg)
Gets the surface y-resolution, in nanometers.
k32u id
Source device ID.
Definition: GoDataTypes.h:57
GoDataMessageType GoDataMsg_Type(GoDataMsg message)
Returns the message type for a data channel message given in a GoDataSet.
k64f GoMeasurementData_Value(GoMeasurementData data)
Gets the measurement data value.
k64f GoEllipseMatchMsg_ZAngle(GoEllipseMatchMsg msg)
Gets the ellipse match Z angle.
GoMeasurementData * GoMeasurementMsg_At(GoMeasurementMsg msg, kSize index)
Gets the measurement at the specified index.
k8u GoEdgeMatchMsg_QualityDecision(GoEdgeMatchMsg msg)
Gets the edge match quality decision.
Lists all data message types.
kSize GoMeasurementMsg_Count(GoMeasurementMsg msg)
Count of measurements in this message.
k32s GoSectionMsg_AnglePose(GoSectionMsg msg)
Gets the Pose Angle, in microdegrees.
k32s GoSectionIntensityMsg_XOffset(GoSectionIntensityMsg msg)
Gets the x-offset, in micrometers.
GoDataSource GoSurfaceMsg_Source(GoSurfaceMsg msg)
Gets the profile source.
k64f GoBoundingBoxMatchMsg_LengthValue(GoBoundingBoxMatchMsg msg)
Gets the bounding box match length value.
GoDecisionCode GoMeasurementData_DecisionCode(GoMeasurementData data)
Gets the measurement decision code.
k32s GoSurfaceMsg_XOffset(GoSurfaceMsg msg)
Gets the surface x-offset, in micrometers.
k16s * GoSurfaceMsg_RowAt(GoSurfaceMsg msg, kSize index)
Gets a pointer to a surface row.
GoDecisionCode decisionCode
Measurement decision code - relevant only when the value represents a failure.
Definition: GoDataTypes.h:1200
k64f GoEllipseMatchMsg_MinorValue(GoEllipseMatchMsg msg)
Gets the ellipse match minor value.
Represents a message containing an alignment result.
k64f value
Measurement value.
Definition: GoDataTypes.h:1198
k32u reserved32u
Reserved.
Definition: GoDataTypes.h:58
Represents a message containing a set of GoMeasurementData.
k64f GoEdgeMatchMsg_QualityValue(GoEdgeMatchMsg msg)
Gets the edge match quality value.
Represents a base message sourced from the data channel.
k32s GoSectionMsg_XOffset(GoSectionMsg msg)
Gets the x-offset, in micrometers.
kStatus GoAlignMsg_Status(GoAlignMsg msg)
Gets the alignment result.
Represents a message containing ellipse based part matching results.
k32u GoSectionMsg_Exposure(GoSectionMsg msg)
Gets the exposure.
k64f GoEdgeMatchMsg_ZAngle(GoEdgeMatchMsg msg)
Gets the edge match Z angle.
k32u GoSurfaceMsg_YResolution(GoSurfaceMsg msg)
Gets the surface y-resolution, in nanometers.
k64f GoBoundingBoxMatchMsg_XOffset(GoBoundingBoxMatchMsg msg)
Gets the bounding box match X offset.
GoPixelType GoVideoMsg_PixelType(GoVideoMsg msg)
Gets the data type used to represent an image pixel.
k8u * GoSectionIntensityMsg_At(GoSectionIntensityMsg msg, kSize index)
Gets a pointer to a Section intensity array.
k64s encoder
Position (encoder ticks).
Definition: GoDataTypes.h:44
k64f GoEllipseMatchMsg_YOffset(GoEllipseMatchMsg msg)
Gets the ellipse match Y offset.
k64u frameIndex
Frame index (counts up from zero).
Definition: GoDataTypes.h:42
k32u GoSectionMsg_Id(GoSectionMsg msg)
Gets the section ID.
k32u GoSectionIntensityMsg_XResolution(GoSectionIntensityMsg msg)
Gets the x-resolution, in nanometers.
k64f GoEdgeMatchMsg_YOffset(GoEdgeMatchMsg msg)
Gets the edge match Y offset.
k64f GoEdgeMatchMsg_XOffset(GoEdgeMatchMsg msg)
Gets the edge match X offset.
GoDataSource GoSurfaceIntensityMsg_Source(GoSurfaceIntensityMsg msg)
Gets the profile source.
k32u GoSectionMsg_XResolution(GoSectionMsg msg)
Gets the x-resolution, in nanometers.
kSize GoVideoMsg_ExposureIndex(GoVideoMsg msg)
Gets the exposure index.
k32s GoSectionIntensityMsg_XPose(GoSectionIntensityMsg msg)
Gets the X-Pose, in micrometers.
k32u GoSurfaceIntensityMsg_XResolution(GoSurfaceIntensityMsg msg)
Gets the surface x-resolution, in nanometers.
k8u GoEdgeMatchMsg_Decision(GoEdgeMatchMsg msg)
Gets the edge match decision.
Represents a data message containing a surface intensity array.
k8u GoEllipseMatchMsg_MinorDecision(GoEllipseMatchMsg msg)
Gets the ellipse match minor decision.
kStatus GoExposureCalMsg_Status(GoExposureCalMsg msg)
Gets the exposure calibration result.
k32s GoSurfaceIntensityMsg_XOffset(GoSurfaceIntensityMsg msg)
Gets the surface x-offset, in micrometers.
k64f GoBoundingBoxMatchMsg_WidthValue(GoBoundingBoxMatchMsg msg)
Gets the bounding box match width value.
k64u reserved64u
Reserved.
Definition: GoDataTypes.h:59
k16s * GoSectionMsg_At(GoSectionMsg msg, kSize index)
Gets a pointer to a section array.
Represents a measurement result.
Definition: GoDataTypes.h:1196
k32s GoSurfaceMsg_ZAngle(GoSurfaceMsg msg)
Gets the surface z-angle, in microdegrees.