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-2021 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 
15 /**
16  * @class GoDataMsg
17  * @extends kObject
18  * @ingroup GoSdk-DataChannel
19  * @brief Represents a base message sourced from the data channel.
20  */
21 typedef kObject GoDataMsg;
22 
23 /**
24  * Returns the message type for a data channel message given in a GoDataSet.
25  *
26  * @public @memberof GoDataMsg
27  * @version Introduced in firmware 4.0.10.27
28  * @param message A data channel message.
29  * @return A GoDataMessageType value.
30  */
32 
33 /**
34 * Gets the source of the data stream.
35 *
36 * @public @memberof GoDataMsg
37 * @version Introduced in firmware 5.2
38 * @param message Message object.
39 * @return A GoDataStep value.
40 */
42 
43 /**
44 * Gets the identifier of the data stream from the source.
45 *
46 * @public @memberof GoDataMsg
47 * @version Introduced in firmware 5.2
48 * @param message Message object.
49 * @return Stream step identifier number.
50 */
52 
53 /**
54 * Sets the source of the data stream.
55 *
56 * @public @memberof GoDataMsg
57 * @version Introduced in firmware 5.2
58 * @param message Message object.
59 * @param streamStep streamStep value
60 * @return Result status.
61 */
62 GoFx(kStatus) GoDataMsg_SetStreamStep(GoDataMsg message, GoDataStep streamStep);
63 
64 /**
65 * Sets the identifier of the data stream from the source.
66 *
67 * @public @memberof GoDataMsg
68 * @version Introduced in firmware 5.2
69 * @param message Message object.
70 * @param streamStepId streamStepId value
71 * @return Result status.
72 */
73 GoFx(kStatus) GoDataMsg_SetStreamStepId(GoDataMsg message, k32s streamStepId);
74 
75 /**
76  * Gets the count of the data messages (in an arrayed context).
77  *
78  * @public @memberof GoDataMsg
79  * @version Introduced in firmware 6.0
80  * @param message Message object.
81  * @return The number of arrayed messages.
82  */
84 
85 /**
86  * Gets the index of the data message (in an arrayed context).
87  *
88  * @public @memberof GoDataMsg
89  * @version Introduced in firmware 6.0
90  * @param message Message object.
91  * @return The index of the arrayed message.
92  */
94 
95 /**
96  * Sets the count of the data messages (in an arrayed context).
97  *
98  * @public @memberof GoDataMsg
99  * @version Introduced in firmware 6.0
100  * @param message Message object.
101  * @param arrayedCount arrayedCount value to set.
102  * @return Result status.
103  */
104 GoFx(kStatus) GoDataMsg_SetArrayedCount(GoDataMsg message, k32s arrayedCount);
105 
106 /**
107  * Sets the index of the data message (in an arrayed context).
108  *
109  * @public @memberof GoDataMsg
110  * @version Introduced in firmware 6.0
111  * @param message Message object.
112  * @param arrayedIndex arrayedIndex value to set.
113  * @return Result status.
114  */
115 GoFx(kStatus) GoDataMsg_SetArrayedIndex(GoDataMsg message, k32s arrayedIndex);
116 
117 /**
118  * @struct GoStamp
119  * @extends kValue
120  * @ingroup GoSdk-DataChannel
121  * @brief Represents an acquisition stamp.
122  */
123 typedef struct GoStamp
124 {
125  k64u frameIndex; ///< Frame index (counts up from zero).
126  k64u timestamp; ///< Timestamp in internal units approximating microseconds where the true time in us = timestamp value / 1.024.
127  k64s encoder; ///< Position (encoder ticks).
128  k64s encoderAtZ; ///< Encoder value latched at z-index mark (encoder ticks).
130  /**<
131  * Bit mask containing frame information:
132  *
133  * - Bit 0: Represents sensor digital input state.
134  * - Bit 4: Represents Master digital input state.
135  * - Bits 8 and 9: Represents inter-frame digital pulse trigger
136  (Master digital input if a Master is connected, otherwise
137  sensor digital input. Value is cleared after each frame
138  and clamped at 3 if more than 3 pulses are received).
139  */
140  k32u id; ///< Source device ID.
141  k32u reserved32u; ///< Reserved.
142  k64u reserved64u; ///< Reserved.
143  k64u ptpTime; ///< PTP time of the stamp. us since the PTP epoch (usually TAI)
144 } GoStamp;
145 
146 /**
147  * @class GoStampMsg
148  * @extends GoDataMsg
149  * @ingroup GoSdk-DataChannel
150  * @brief Represents a message containing a set of acquisition stamps.
151  */
152 typedef GoDataMsg GoStampMsg;
153 
154 /**
155  * Gets the stamp source.
156  *
157  * @public @memberof GoStampMsg
158  * @version Introduced in firmware 4.0.10.27
159  * @param msg Message object.
160  * @return Stamp source.
161  */
163 
164 /**
165  * Returns the number of stamps contained in this message.
166  *
167  * @public @memberof GoStampMsg
168  * @version Introduced in firmware 4.0.10.27
169  * @param msg Message object.
170  * @return Count of stamps.
171  */
173 
174 /**
175  * Gets the stamp at the specified index.
176  *
177  * @public @memberof GoStampMsg
178  * @version Introduced in firmware 4.0.10.27
179  * @param msg Message object.
180  * @param index Stamp index.
181  * @return Stamp pointer.
182  */
183 GoFx(GoStamp*) GoStampMsg_At(GoStampMsg msg, kSize index);
184 
185 /**
186  * @class GoVideoMsg
187  * @extends GoDataMsg
188  * @ingroup GoSdk-DataChannel
189  * @brief Represents a data message containing a video image.
190  */
191 typedef GoDataMsg GoVideoMsg;
192 
193 /**
194  * Gets the video source.
195  *
196  * @public @memberof GoVideoMsg
197  * @version Introduced in firmware 4.0.10.27
198  * @param msg Message object.
199  * @return Video source.
200  */
201 GoFx(GoDataSource) GoVideoMsg_Source(GoVideoMsg msg);
202 
203 
204 /**
205  * Gets the camera index that the video data originates from.
206  *
207  * @public @memberof GoVideoMsg
208  * @version Introduced in firmware 4.0.10.27
209  * @param msg Message object.
210  * @return Camera index.
211  */
212 GoFx(kSize) GoVideoMsg_CameraIndex(GoVideoMsg msg);
213 
214 
215 /**
216  * Gets the image width, in pixels.
217  *
218  * @public @memberof GoVideoMsg
219  * @version Introduced in firmware 4.0.10.27
220  * @param msg Message object.
221  * @return Image width, in pixels.
222  */
223 GoFx(kSize) GoVideoMsg_Width(GoVideoMsg msg);
224 
225 /**
226  * Gets the image height, in pixels.
227  *
228  * @public @memberof GoVideoMsg
229  * @version Introduced in firmware 4.0.10.27
230  * @param msg Message object.
231  * @return Image height, in pixels.
232  */
233 GoFx(kSize) GoVideoMsg_Height(GoVideoMsg msg);
234 
235 /**
236  * Gets the data type used to represent an image pixel.
237  *
238  * @public @memberof GoVideoMsg
239  * @version Introduced in firmware 4.0.10.27
240  * @param msg Message object.
241  * @return Pixel type.
242  */
243 GoFx(GoPixelType) GoVideoMsg_PixelType(GoVideoMsg msg);
244 
245 /**
246  * Gets the image pixel size, in bytes.
247  *
248  * @public @memberof GoVideoMsg
249  * @version Introduced in firmware 4.0.10.27
250  * @param msg Message object.
251  * @return Pixel size, in bytes.
252  */
253 GoFx(kSize) GoVideoMsg_PixelSize(GoVideoMsg msg);
254 
255 /**
256  * Gets the pixel format descriptor.
257  *
258  * @public @memberof GoVideoMsg
259  * @version Introduced in firmware 4.0.10.27
260  * @param msg Message object.
261  * @return Pixel format.
262  */
263 GoFx(kPixelFormat) GoVideoMsg_PixelFormat(GoVideoMsg msg);
264 
265 /**
266  * Gets the image color filter array.
267  *
268  * @public @memberof GoVideoMsg
269  * @version Introduced in firmware 4.0.10.27
270  * @param msg Message object.
271  * @return Color filter array.
272  */
273 GoFx(kCfa) GoVideoMsg_Cfa(GoVideoMsg msg);
274 
275 /**
276  * Gets a pointer to a row within the image.
277  *
278  * @public @memberof GoVideoMsg
279  * @version Introduced in firmware 4.0.10.27
280  * @param msg Message object.
281  * @param rowIndex Row index.
282  * @return Row pointer.
283  */
284 GoFx(void*) GoVideoMsg_RowAt(GoVideoMsg msg, kSize rowIndex);
285 
286 /**
287  * Gets the exposure index.
288  *
289  * @public @memberof GoVideoMsg
290  * @version Introduced in firmware 4.0.10.27
291  * @param msg Message object.
292  * @return Exposure index.
293  */
294 GoFx(kSize) GoVideoMsg_ExposureIndex(GoVideoMsg msg);
295 
296 /**
297  * Gets the exposure.
298  *
299  * @public @memberof GoVideoMsg
300  * @version Introduced in firmware 4.0.10.27
301  * @param msg Message object.
302  * @return Exposure in uS.
303  */
304 GoFx(k32u) GoVideoMsg_Exposure(GoVideoMsg msg);
305 
306 /**
307  * Indicates whether the video message data requires horizontal flipping to match up with profile data.
308  *
309  * @public @memberof GoVideoMsg
310  * @version Introduced in firmware 4.4.4.14
311  * @param msg Message object.
312  * @return kTRUE if rotation is required, kFALSE otherwise.
313  */
314 GoFx(kBool) GoVideoMsg_IsFlippedX(GoVideoMsg msg);
315 
316 /**
317  * Indicates whether the video message data requires vertical flipping to match up with profile data.
318  *
319  * @public @memberof GoVideoMsg
320  * @version Introduced in firmware 4.4.4.14
321  * @param msg Message object.
322  * @return kTRUE if rotation is required, kFALSE otherwise.
323  */
324 GoFx(kBool) GoVideoMsg_IsFlippedY(GoVideoMsg msg);
325 
326 /**
327  * Indicates whether the video message data requires transpose to match up with profile data.
328  *
329  * @public @memberof GoVideoMsg
330  * @version Introduced in firmware 6.0.18.7
331  * @param msg Message object.
332  * @return kTRUE if transpose is required, kFALSE otherwise.
333  */
334 GoFx(kBool) GoVideoMsg_IsTransposed(GoVideoMsg msg);
335 
336 /**
337  * @class GoRangeMsg
338  * @extends GoDataMsg
339  * @note Supported with G1
340  * @ingroup GoSdk-DataChannel
341  * @brief Represents a data message containing a set of range data.
342  */
343 typedef GoDataMsg GoRangeMsg;
344 
345 /**
346  * Gets the Range source.
347  *
348  * @public @memberof GoRangeMsg
349  * @note Supported with G1
350  * @version Introduced in firmware 4.0.10.27
351  * @param msg Message object.
352  * @return Range source.
353  */
354 GoFx(GoDataSource) GoRangeMsg_Source(GoRangeMsg msg);
355 
356 /**
357  * Gets the count of Range data in this message.
358  *
359  * @public @memberof GoRangeMsg
360  * @note Supported with G1
361  * @version Introduced in firmware 4.0.10.27
362  * @param msg Message object.
363  * @return Count of Range data.
364  */
365 GoFx(kSize) GoRangeMsg_Count(GoRangeMsg msg);
366 
367 
368 /**
369  * Gets the Range z-resolution, in nanometers.
370  *
371  * @public @memberof GoRangeMsg
372  * @note Supported with G1
373  * @version Introduced in firmware 4.0.10.27
374  * @param msg Message object.
375  * @return Z resolution (nm).
376  */
377 GoFx(k32u) GoRangeMsg_ZResolution(GoRangeMsg msg);
378 
379 /**
380  * Gets the Range z-offset, in micrometers.
381  *
382  * @public @memberof GoRangeMsg
383  * @note Supported with G1
384  * @version Introduced in firmware 4.0.10.27
385  * @param msg Message object.
386  * @return Z offset (um).
387  */
388 GoFx(k32s) GoRangeMsg_ZOffset(GoRangeMsg msg);
389 
390 /**
391  * Gets a pointer to Range data.
392  *
393  * @public @memberof GoRangeMsg
394  * @note Supported with G1
395  * @version Introduced in firmware 4.0.10.27
396  * @param msg Message object.
397  * @param index Range array index.
398  * @return Range pointer.
399  */
400 GoFx(k16s*) GoRangeMsg_At(GoRangeMsg msg, kSize index);
401 
402 /**
403  * Gets the exposure.
404  *
405  * @public @memberof GoRangeMsg
406  * @note Supported with G1
407  * @version Introduced in firmware 4.0.10.27
408  * @param msg Message object.
409  * @return Exposure in uS.
410  */
411 GoFx(k32u) GoRangeMsg_Exposure(GoRangeMsg msg);
412 
413 
414 /**
415  * @class GoRangeIntensityMsg
416  * @extends GoDataMsg
417  * @note Supported with G1
418  * @ingroup GoSdk-DataChannel
419  * @brief Represents a data message containing a set of range intensity data.
420  */
422 
423 /**
424  * Gets the range intensity source.
425  *
426  * @public @memberof GoRangeIntensityMsg
427  * @note Supported with G1
428  * @version Introduced in firmware 4.0.10.27
429  * @param msg Message object.
430  * @return Range intensity source.
431  */
432 GoFx(GoDataSource) GoRangeIntensityMsg_Source(GoRangeIntensityMsg msg);
433 
434 /**
435  * Gets the count of range intensity data in this message.
436  *
437  * @public @memberof GoRangeIntensityMsg
438  * @note Supported with G1
439  * @version Introduced in firmware 4.0.10.27
440  * @param msg Message object.
441  * @return Count of range intensity data.
442  */
443 GoFx(kSize) GoRangeIntensityMsg_Count(GoRangeIntensityMsg msg);
444 
445 /**
446  * Gets a pointer to range intensity data.
447  *
448  * @public @memberof GoRangeIntensityMsg
449  * @note Supported with G1
450  * @version Introduced in firmware 4.0.10.27
451  * @param msg Message object.
452  * @param index Range intensity array index.
453  * @return Range intensity data pointer.
454  */
455 GoFx(k8u*) GoRangeIntensityMsg_At(GoRangeIntensityMsg msg, kSize index);
456 
457 /**
458  * Gets the exposure.
459  *
460  * @public @memberof GoRangeIntensityMsg
461  * @note Supported with G1
462  * @version Introduced in firmware 4.0.10.27
463  * @param msg Message object.
464  * @return Exposure in uS.
465  */
466 GoFx(k32u) GoRangeIntensityMsg_Exposure(GoRangeIntensityMsg msg);
467 
468 /**
469  * @class GoProfilePointCloudMsg
470  * @extends GoDataMsg
471  * @note Supported with G1, G2
472  * @ingroup GoSdk-DataChannel
473  * @brief Represents a data message containing a set of profile arrays.
474  */
476 
477 /**
478  * Gets the profile source.
479  *
480  * @public @memberof GoProfilePointCloudMsg
481  * @note Supported with G1, G2
482  * @version Introduced in firmware 4.8.1.70
483  * @param msg Message object.
484  * @return Profile source.
485  */
486 GoFx(GoDataSource) GoProfilePointCloudMsg_Source(GoProfilePointCloudMsg msg);
487 
488 /**
489  * Gets the count of profile arrays in this message.
490  *
491  * @public @memberof GoProfilePointCloudMsg
492  * @note Supported with G1, G2
493  * @version Introduced in firmware 4.8.1.70
494  * @param msg Message object.
495  * @return Count of profile arrays.
496  */
497 GoFx(kSize) GoProfilePointCloudMsg_Count(GoProfilePointCloudMsg msg);
498 
499 /**
500  * Gets the count of ranges in each profile array.
501  *
502  * @public @memberof GoProfilePointCloudMsg
503  * @note Supported with G1, G2
504  * @version Introduced in firmware 4.8.1.70
505  * @param msg Message object.
506  * @return Range count.
507  */
508 GoFx(kSize) GoProfilePointCloudMsg_Width(GoProfilePointCloudMsg msg);
509 
510 /**
511  * Gets the profile x-resolution, in nanometers.
512  *
513  * @public @memberof GoProfilePointCloudMsg
514  * @note Supported with G1, G2
515  * @version Introduced in firmware 4.8.1.70
516  * @param msg Message object.
517  * @return X resolution (nm).
518  */
519 GoFx(k32u) GoProfilePointCloudMsg_XResolution(GoProfilePointCloudMsg msg);
520 
521 /**
522  * Gets the profile z-resolution, in nanometers.
523  *
524  * @public @memberof GoProfilePointCloudMsg
525  * @note Supported with G1, G2
526  * @version Introduced in firmware 4.8.1.70
527  * @param msg Message object.
528  * @return Z resolution (nm).
529  */
530 GoFx(k32u) GoProfilePointCloudMsg_ZResolution(GoProfilePointCloudMsg msg);
531 
532 /**
533  * Gets the profile x-offset, in micrometers.
534  *
535  * @public @memberof GoProfilePointCloudMsg
536  * @note Supported with G1, G2
537  * @version Introduced in firmware 4.8.1.70
538  * @param msg Message object.
539  * @return X offset (um).
540  */
541 GoFx(k32s) GoProfilePointCloudMsg_XOffset(GoProfilePointCloudMsg msg);
542 
543 /**
544  * Gets the profile z-offset, in micrometers.
545  *
546  * @public @memberof GoProfilePointCloudMsg
547  * @note Supported with G1, G2
548  * @version Introduced in firmware 4.8.1.70
549  * @param msg Message object.
550  * @return Z offset (um).
551  */
552 GoFx(k32s) GoProfilePointCloudMsg_ZOffset(GoProfilePointCloudMsg msg);
553 
554 /**
555  * Gets a pointer to a profile array.
556  *
557  * @public @memberof GoProfilePointCloudMsg
558  * @note Supported with G1, G2
559  * @version Introduced in firmware 4.8.1.70
560  * @param msg Message object.
561  * @param index Profile array index.
562  * @return Profile pointer.
563  */
564 GoFx(kPoint16s*) GoProfilePointCloudMsg_At(GoProfilePointCloudMsg msg, kSize index);
565 
566 /**
567  * Gets the exposure.
568  *
569  * @public @memberof GoProfilePointCloudMsg
570  * @note Supported with G1, G2
571  * @version Introduced in firmware 4.8.1.70
572  * @param msg Message object.
573  * @return Exposure in uS.
574  */
575 GoFx(k32u) GoProfilePointCloudMsg_Exposure(GoProfilePointCloudMsg msg);
576 
577 
578 /**
579  * Gets the source camera index.
580  *
581  * @public @memberof GoProfilePointCloudMsg
582  * @note Supported with G1, G2
583  * @version Introduced in firmware 4.8.1.70
584  * @param msg Message object.
585  * @return Camera index (0 - Front camera, 1 - Back camera).
586  */
587 GoFx(k8u) GoProfilePointCloudMsg_CameraIndex(GoProfilePointCloudMsg msg);
588 
589 
590 /**
591  * @class GoUniformProfileMsg
592  * @extends GoDataMsg
593  * @note Supported with G1, G2
594  * @ingroup GoSdk-DataChannel
595  * @brief Represents a data message containing a set of re-sampled profile arrays.
596  */
598 
599 /**
600  * Gets the profile source.
601  *
602  * @public @memberof GoUniformProfileMsg
603  * @note Supported with G1, G2
604  * @version Introduced in firmware 4.8.1.70
605  * @param msg Message object.
606  * @return Profile source.
607  */
608 GoFx(GoDataSource) GoUniformProfileMsg_Source(GoUniformProfileMsg msg);
609 
610 /**
611  * Gets the count of re-sampled profile arrays in this message.
612  *
613  * @public @memberof GoUniformProfileMsg
614  * @note Supported with G1, G2
615  * @version Introduced in firmware 4.8.1.70
616  * @param msg Message object.
617  * @return Count of profile arrays.
618  */
619 GoFx(kSize) GoUniformProfileMsg_Count(GoUniformProfileMsg msg);
620 
621 /**
622  * Gets the count of points in each re-sampled profile array.
623  *
624  * @public @memberof GoUniformProfileMsg
625  * @note Supported with G1, G2
626  * @version Introduced in firmware 4.8.1.70
627  * @param msg Message object.
628  * @return Point count.
629  */
630 GoFx(kSize) GoUniformProfileMsg_Width(GoUniformProfileMsg msg);
631 
632 /**
633  * Gets the x-resolution, in nanometers.
634  *
635  * @public @memberof GoUniformProfileMsg
636  * @note Supported with G1, G2
637  * @version Introduced in firmware 4.8.1.70
638  * @param msg Message object.
639  * @return X resolution (nm).
640  */
641 GoFx(k32u) GoUniformProfileMsg_XResolution(GoUniformProfileMsg msg);
642 
643 /**
644  * Gets the profile z-resolution, in nanometers.
645  *
646  * @public @memberof GoUniformProfileMsg
647  * @note Supported with G1, G2
648  * @version Introduced in firmware 4.8.1.70
649  * @param msg Message object.
650  * @return Z resolution (nm).
651  */
652 GoFx(k32u) GoUniformProfileMsg_ZResolution(GoUniformProfileMsg msg);
653 
654 /**
655  * Gets the profile x-offset, in micrometers.
656  *
657  * @public @memberof GoUniformProfileMsg
658  * @note Supported with G1, G2
659  * @version Introduced in firmware 4.8.1.70
660  * @param msg Message object.
661  * @return X offset (um).
662  */
663 GoFx(k32s) GoUniformProfileMsg_XOffset(GoUniformProfileMsg msg);
664 
665 /**
666  * Gets the profile z-offset, in micrometers.
667  *
668  * @public @memberof GoUniformProfileMsg
669  * @note Supported with G1, G2
670  * @version Introduced in firmware 4.8.1.70
671  * @param msg Message object.
672  * @return Z offset (um).
673  */
674 GoFx(k32s) GoUniformProfileMsg_ZOffset(GoUniformProfileMsg msg);
675 
676 /**
677  * Gets a pointer to a re-sampled profile array.
678  *
679  * @public @memberof GoUniformProfileMsg
680  * @note Supported with G1, G2
681  * @version Introduced in firmware 4.8.1.70
682  * @param msg Message object.
683  * @param index Profile array index.
684  * @return Data pointer.
685  */
686 GoFx(k16s*) GoUniformProfileMsg_At(GoUniformProfileMsg msg, kSize index);
687 
688 /**
689  * Gets the exposure.
690  *
691  * @public @memberof GoUniformProfileMsg
692  * @note Supported with G1, G2
693  * @version Introduced in firmware 4.8.1.70
694  * @param msg Message object.
695  * @return Exposure in uS.
696  */
697 GoFx(k32u) GoUniformProfileMsg_Exposure(GoUniformProfileMsg msg);
698 
699 /**
700  * @class GoProfileIntensityMsg
701  * @extends GoDataMsg
702  * @note Supported with G1, G2
703  * @ingroup GoSdk-DataChannel
704  * @brief Represents a data message containing a set of profile intensity arrays.
705  */
707 
708 /**
709  * Gets the profile source.
710  *
711  * @public @memberof GoProfileIntensityMsg
712  * @note Supported with G1, G2
713  * @version Introduced in firmware 4.0.10.27
714  * @param msg Message object.
715  * @return Profile source.
716  */
717 GoFx(GoDataSource) GoProfileIntensityMsg_Source(GoProfileIntensityMsg msg);
718 
719 /**
720  * Gets the count of profile intensity arrays in this message.
721  *
722  * @public @memberof GoProfileIntensityMsg
723  * @note Supported with G1, G2
724  * @version Introduced in firmware 4.0.10.27
725  * @param msg Message object.
726  * @return Count of profile arrays.
727  */
728 GoFx(kSize) GoProfileIntensityMsg_Count(GoProfileIntensityMsg msg);
729 
730 /**
731  * Gets the count of intensity values in each profile intensity array.
732  *
733  * @public @memberof GoProfileIntensityMsg
734  * @note Supported with G1, G2
735  * @version Introduced in firmware 4.0.10.27
736  * @param msg Message object.
737  * @return Intensity count.
738  */
739 GoFx(kSize) GoProfileIntensityMsg_Width(GoProfileIntensityMsg msg);
740 
741 /**
742  * Gets the x-resolution, in nanometers.
743  *
744  * @public @memberof GoProfileIntensityMsg
745  * @note Supported with G1, G2
746  * @version Introduced in firmware 4.0.10.27
747  * @param msg Message object.
748  * @return X resolution (nm).
749  */
750 GoFx(k32u) GoProfileIntensityMsg_XResolution(GoProfileIntensityMsg msg);
751 
752 /**
753  * Gets the profile x-offset, in micrometers.
754  *
755  * @public @memberof GoProfileIntensityMsg
756  * @note Supported with G1, G2
757  * @version Introduced in firmware 4.0.10.27
758  * @param msg Message object.
759  * @return X offset (um).
760  */
761 GoFx(k32s) GoProfileIntensityMsg_XOffset(GoProfileIntensityMsg msg);
762 
763 /**
764  * Gets a pointer to a profile intensity array.
765  *
766  * @public @memberof GoProfileIntensityMsg
767  * @note Supported with G1, G2
768  * @version Introduced in firmware 4.0.10.27
769  * @param msg Message object.
770  * @param index Profile intensity array index.
771  * @return Data pointer.
772  */
773 GoFx(k8u*) GoProfileIntensityMsg_At(GoProfileIntensityMsg msg, kSize index);
774 
775 /**
776  * Gets the exposure.
777  *
778  * @public @memberof GoProfileIntensityMsg
779  * @note Supported with G1, G2
780  * @version Introduced in firmware 4.0.10.27
781  * @param msg Message object.
782  * @return Exposure in uS.
783  */
784 GoFx(k32u) GoProfileIntensityMsg_Exposure(GoProfileIntensityMsg msg);
785 
786 /**
787  * Gets the source camera index.
788  *
789  * @public @memberof GoProfileIntensityMsg
790  * @note Supported with G1, G2
791  * @version Introduced in firmware 4.1.3.106
792  * @param msg Message object.
793  * @return Camera index (0 - Front camera, 1 - Back camera).
794  */
795 GoFx(k8u) GoProfileIntensityMsg_CameraIndex(GoProfileIntensityMsg msg);
796 
797 /**
798  * @class GoUniformSurfaceMsg
799  * @extends GoDataMsg
800  * @note Supported with G2, G3
801  * @ingroup GoSdk-DataChannel
802  * @brief Represents a data message containing a surface array.
803  */
805 
806 /**
807  * Gets the profile source.
808  *
809  * @public @memberof GoUniformSurfaceMsg
810  * @note Supported with G2, G3
811  * @version Introduced in firmware 4.8.1.70
812  * @param msg Message object.
813  * @return Profile source.
814  */
815 GoFx(GoDataSource) GoUniformSurfaceMsg_Source(GoUniformSurfaceMsg msg);
816 
817 /**
818  * Gets the length of the surface (row count).
819  *
820  * @public @memberof GoUniformSurfaceMsg
821  * @note Supported with G2, G3
822  * @version Introduced in firmware 4.8.1.70
823  * @param msg Message object.
824  * @return Surface length.
825  */
826 GoFx(kSize) GoUniformSurfaceMsg_Length(GoUniformSurfaceMsg msg);
827 
828 /**
829  * Gets the width of the surface (column count).
830  *
831  * @public @memberof GoUniformSurfaceMsg
832  * @note Supported with G2, G3
833  * @version Introduced in firmware 4.8.1.70
834  * @param msg Message object.
835  * @return Surface width;
836  */
837 GoFx(kSize) GoUniformSurfaceMsg_Width(GoUniformSurfaceMsg msg);
838 
839 /**
840  * Gets the surface x-resolution, in nanometers.
841  *
842  * @public @memberof GoUniformSurfaceMsg
843  * @note Supported with G2, G3
844  * @version Introduced in firmware 4.8.1.70
845  * @param msg Message object.
846  * @return X resolution (nm).
847  */
848 GoFx(k32u) GoUniformSurfaceMsg_XResolution(GoUniformSurfaceMsg msg);
849 
850 /**
851  * Gets the surface y-resolution, in nanometers.
852  *
853  * @public @memberof GoUniformSurfaceMsg
854  * @note Supported with G2, G3
855  * @version Introduced in firmware 4.8.1.70
856  * @param msg Message object.
857  * @return Y resolution (nm).
858  */
859 GoFx(k32u) GoUniformSurfaceMsg_YResolution(GoUniformSurfaceMsg msg);
860 
861 /**
862  * Gets the surface z-resolution, in nanometers.
863  *
864  * @public @memberof GoUniformSurfaceMsg
865  * @note Supported with G2, G3
866  * @version Introduced in firmware 4.8.1.70
867  * @param msg Message object.
868  * @return Z resolution (nm).
869  */
870 GoFx(k32u) GoUniformSurfaceMsg_ZResolution(GoUniformSurfaceMsg msg);
871 
872 /**
873  * Gets the surface x-offset, in micrometers.
874  *
875  * @public @memberof GoUniformSurfaceMsg
876  * @note Supported with G2, G3
877  * @version Introduced in firmware 4.8.1.70
878  * @param msg Message object.
879  * @return X offset (um).
880  */
881 GoFx(k32s) GoUniformSurfaceMsg_XOffset(GoUniformSurfaceMsg msg);
882 
883 /**
884  * Gets the surface y-offset, in micrometers.
885  *
886  * @public @memberof GoUniformSurfaceMsg
887  * @note Supported with G2, G3
888  * @version Introduced in firmware 4.8.1.70
889  * @param msg Message object.
890  * @return Y offset (um).
891  */
892 GoFx(k32s) GoUniformSurfaceMsg_YOffset(GoUniformSurfaceMsg msg);
893 
894 /**
895  * Gets the surface z-offset, in micrometers.
896  *
897  * @public @memberof GoUniformSurfaceMsg
898  * @note Supported with G2, G3
899  * @version Introduced in firmware 4.8.1.70
900  * @param msg Message object.
901  * @return Z offset (um).
902  */
903 GoFx(k32s) GoUniformSurfaceMsg_ZOffset(GoUniformSurfaceMsg msg);
904 
905 /**
906  * Gets a pointer to a surface row.
907  *
908  * @public @memberof GoUniformSurfaceMsg
909  * @note Supported with G2, G3
910  * @version Introduced in firmware 4.8.1.70
911  * @param msg Message object.
912  * @param index Surface row index.
913  * @return Row pointer.
914  */
915 GoFx(k16s*) GoUniformSurfaceMsg_RowAt(GoUniformSurfaceMsg msg, kSize index);
916 
917 /**
918  * Gets the exposure.
919  *
920  * @public @memberof GoUniformSurfaceMsg
921  * @note Supported with G2, G3
922  * @version Introduced in firmware 4.8.1.70
923  * @param msg Message object.
924  * @return Exposure in uS.
925  */
926 GoFx(k32u) GoUniformSurfaceMsg_Exposure(GoUniformSurfaceMsg msg);
927 
928 /**
929 * @class GoSurfacePointCloudMsg
930 * @extends GoDataMsg
931 * @note Supported with G3
932 * @ingroup GoSdk-DataChannel
933 * @brief Represents a data message containing a surface array.
934 */
936 
937 /**
938 * Gets the profile source.
939 *
940 * @public @memberof GoSurfacePointCloudMsg
941 * @note Supported with G3
942 * @version Introduced in firmware 4.8.1.66
943 * @param msg Message object.
944 * @return Profile source.
945 */
946 GoFx(GoDataSource) GoSurfacePointCloudMsg_Source(GoSurfacePointCloudMsg msg);
947 
948 /**
949 * Gets the length of the surface (row count).
950 *
951 * @public @memberof GoSurfacePointCloudMsg
952 * @note Supported with G3
953 * @version Introduced in firmware 4.8.1.66
954 * @param msg Message object.
955 * @return Surface length.
956 */
957 GoFx(kSize) GoSurfacePointCloudMsg_Length(GoSurfacePointCloudMsg msg);
958 
959 /**
960 * Gets the width of the surface (column count).
961 *
962 * @public @memberof GoSurfacePointCloudMsg
963 * @note Supported with G3
964 * @version Introduced in firmware 4.8.1.66
965 * @param msg Message object.
966 * @return Surface width;
967 */
968 GoFx(kSize) GoSurfacePointCloudMsg_Width(GoSurfacePointCloudMsg msg);
969 
970 /**
971 * Gets the surface x-resolution, in nanometers.
972 *
973 * @public @memberof GoSurfacePointCloudMsg
974 * @note Supported with G3
975 * @version Introduced in firmware 4.8.1.66
976 * @param msg Message object.
977 * @return X resolution (nm).
978 */
979 GoFx(k32u) GoSurfacePointCloudMsg_XResolution(GoSurfacePointCloudMsg msg);
980 
981 /**
982 * Gets the surface y-resolution, in nanometers.
983 *
984 * @public @memberof GoSurfacePointCloudMsg
985 * @note Supported with G3
986 * @version Introduced in firmware 4.8.1.66
987 * @param msg Message object.
988 * @return Y resolution (nm).
989 */
990 GoFx(k32u) GoSurfacePointCloudMsg_YResolution(GoSurfacePointCloudMsg msg);
991 
992 /**
993 * Gets the surface z-resolution, in nanometers.
994 *
995 * @public @memberof GoSurfacePointCloudMsg
996 * @note Supported with G3
997 * @version Introduced in firmware 4.8.1.66
998 * @param msg Message object.
999 * @return Z resolution (nm).
1000 */
1001 GoFx(k32u) GoSurfacePointCloudMsg_ZResolution(GoSurfacePointCloudMsg msg);
1002 
1003 /**
1004 * Gets the surface x-offset, in micrometers.
1005 *
1006 * @public @memberof GoSurfacePointCloudMsg
1007 * @note Supported with G3
1008 * @version Introduced in firmware 4.8.1.66
1009 * @param msg Message object.
1010 * @return X offset (um).
1011 */
1012 GoFx(k32s) GoSurfacePointCloudMsg_XOffset(GoSurfacePointCloudMsg msg);
1013 
1014 /**
1015 * Gets the surface y-offset, in micrometers.
1016 *
1017 * @public @memberof GoSurfacePointCloudMsg
1018 * @note Supported with G3
1019 * @version Introduced in firmware 4.8.1.66
1020 * @param msg Message object.
1021 * @return Y offset (um).
1022 */
1023 GoFx(k32s) GoSurfacePointCloudMsg_YOffset(GoSurfacePointCloudMsg msg);
1024 
1025 /**
1026 * Gets the surface z-offset, in micrometers.
1027 *
1028 * @public @memberof GoSurfacePointCloudMsg
1029 * @note Supported with G3
1030 * @version Introduced in firmware 4.8.1.66
1031 * @param msg Message object.
1032 * @return Z offset (um).
1033 */
1034 GoFx(k32s) GoSurfacePointCloudMsg_ZOffset(GoSurfacePointCloudMsg msg);
1035 
1036 /**
1037 * Gets a pointer to a surface row.
1038 *
1039 * @public @memberof GoSurfacePointCloudMsg
1040 * @note Supported with G3
1041 * @version Introduced in firmware 4.8.1.66
1042 * @param msg Message object.
1043 * @param index Surface row index.
1044 * @return Row pointer.
1045 */
1046 GoFx(kPoint3d16s*) GoSurfacePointCloudMsg_RowAt(GoSurfacePointCloudMsg msg, kSize index);
1047 
1048 /**
1049 * Gets the exposure.
1050 *
1051 * @public @memberof GoSurfacePointCloudMsg
1052 * @note Supported with G3
1053 * @version Introduced in firmware 4.8.1.66
1054 * @param msg Message object.
1055 * @return Exposure in uS.
1056 */
1057 GoFx(k32u) GoSurfacePointCloudMsg_Exposure(GoSurfacePointCloudMsg msg);
1058 
1059 /**
1060 * Is the unresampled surface data adjacent/sorted?
1061 *
1062 * @public @memberof GoSurfacePointCloudMsg
1063 * @note Supported with G3
1064 * @version Introduced in firmware 4.8.0.100
1065 * @param msg Message object.
1066 * @return Is the data adjacent?
1067 */
1068 GoFx(kBool) GoSurfacePointCloudMsg_IsAdjacent(GoSurfacePointCloudMsg msg);
1069 
1070 /**
1071  * @class GoSurfaceIntensityMsg
1072  * @extends GoDataMsg
1073  * @note Supported with G3
1074  * @ingroup GoSdk-DataChannel
1075  * @brief Represents a data message containing a surface intensity array.
1076  */
1078 
1079 /**
1080  * Gets the profile source.
1081  *
1082  * @public @memberof GoSurfaceIntensityMsg
1083  * @note Supported with G3
1084  * @version Introduced in firmware 4.0.10.27
1085  * @param msg Message object.
1086  * @return Profile source.
1087  */
1088 GoFx(GoDataSource) GoSurfaceIntensityMsg_Source(GoSurfaceIntensityMsg msg);
1089 
1090 /**
1091  * Gets the length of the surface (row count).
1092  *
1093  * @public @memberof GoSurfaceIntensityMsg
1094  * @note Supported with G3
1095  * @version Introduced in firmware 4.0.10.27
1096  * @param msg Message object.
1097  * @return Surface length.
1098  */
1099 GoFx(kSize) GoSurfaceIntensityMsg_Length(GoSurfaceIntensityMsg msg);
1100 
1101 /**
1102  * Gets the width of the surface (column count).
1103  *
1104  * @public @memberof GoSurfaceIntensityMsg
1105  * @note Supported with G3
1106  * @version Introduced in firmware 4.0.10.27
1107  * @param msg Message object.
1108  * @return Surface width;
1109  */
1110 GoFx(kSize) GoSurfaceIntensityMsg_Width(GoSurfaceIntensityMsg msg);
1111 
1112 /**
1113  * Gets the surface x-resolution, in nanometers.
1114  *
1115  * @public @memberof GoSurfaceIntensityMsg
1116  * @note Supported with G3
1117  * @version Introduced in firmware 4.0.10.27
1118  * @param msg Message object.
1119  * @return X resolution (nm).
1120  */
1121 GoFx(k32u) GoSurfaceIntensityMsg_XResolution(GoSurfaceIntensityMsg msg);
1122 
1123 /**
1124  * Gets the surface y-resolution, in nanometers.
1125  *
1126  * @public @memberof GoSurfaceIntensityMsg
1127  * @note Supported with G3
1128  * @version Introduced in firmware 4.0.10.27
1129  * @param msg Message object.
1130  * @return Y resolution (nm).
1131  */
1132 GoFx(k32u) GoSurfaceIntensityMsg_YResolution(GoSurfaceIntensityMsg msg);
1133 
1134 /**
1135  * Gets the surface x-offset, in micrometers.
1136  *
1137  * @public @memberof GoSurfaceIntensityMsg
1138  * @note Supported with G3
1139  * @version Introduced in firmware 4.0.10.27
1140  * @param msg Message object.
1141  * @return X offset (um).
1142  */
1143 GoFx(k32s) GoSurfaceIntensityMsg_XOffset(GoSurfaceIntensityMsg msg);
1144 
1145 /**
1146  * Gets the surface y-offset, in micrometers.
1147  *
1148  * @public @memberof GoSurfaceIntensityMsg
1149  * @note Supported with G3
1150  * @version Introduced in firmware 4.0.10.27
1151  * @param msg Message object.
1152  * @return Y offset (um).
1153  */
1154 GoFx(k32s) GoSurfaceIntensityMsg_YOffset(GoSurfaceIntensityMsg msg);
1155 
1156 /**
1157  * Gets a pointer to a surface intensity row.
1158  *
1159  * @public @memberof GoSurfaceIntensityMsg
1160  * @note Supported with G3
1161  * @version Introduced in firmware 4.0.10.27
1162  * @param msg Message object.
1163  * @param index Surface intensity row index.
1164  * @return Data pointer.
1165  */
1166 GoFx(k8u*) GoSurfaceIntensityMsg_RowAt(GoSurfaceIntensityMsg msg, kSize index);
1167 
1168 /**
1169  * Gets the exposure.
1170  *
1171  * @public @memberof GoSurfaceIntensityMsg
1172  * @note Supported with G3
1173  * @version Introduced in firmware 4.0.10.27
1174  * @param msg Message object.
1175  * @return Exposure in uS.
1176  */
1177 GoFx(k32u) GoSurfaceIntensityMsg_Exposure(GoSurfaceIntensityMsg msg);
1178 
1179 
1180 /**
1181  * @class GoSectionMsg
1182  * @extends GoDataMsg
1183  * @note Supported with G3
1184  * @ingroup GoSdk-DataChannel
1185  * @brief Represents a data message containing a set of section arrays.
1186  */
1187 typedef GoDataMsg GoSectionMsg;
1188 
1189 /**
1190  * Gets the section ID.
1191  *
1192  * @public @memberof GoSectionMsg
1193  * @note Supported with G3
1194  * @version Introduced in firmware 4.4.4.14
1195  * @param msg Message object.
1196  * @return Section ID.
1197  */
1198 GoFx(k32u) GoSectionMsg_Id(GoSectionMsg msg);
1199 
1200 /**
1201  * Gets the section source.
1202  *
1203  * @public @memberof GoSectionMsg
1204  * @note Supported with G3
1205  * @version Introduced in firmware 4.4.4.14
1206  * @param msg Message object.
1207  * @return Section source.
1208  */
1209 GoFx(GoDataSource) GoSectionMsg_Source(GoSectionMsg msg);
1210 
1211 /**
1212  * Gets the count of section arrays in this message.
1213  *
1214  * @public @memberof GoSectionMsg
1215  * @note Supported with G3
1216  * @version Introduced in firmware 4.4.4.14
1217  * @param msg Message object.
1218  * @return Count of section arrays.
1219  */
1220 GoFx(kSize) GoSectionMsg_Count(GoSectionMsg msg);
1221 
1222 /**
1223  * Gets the count of points in each section array.
1224  *
1225  * @public @memberof GoSectionMsg
1226  * @note Supported with G3
1227  * @version Introduced in firmware 4.4.4.14
1228  * @param msg Message object.
1229  * @return Point count.
1230  */
1231 GoFx(kSize) GoSectionMsg_Width(GoSectionMsg msg);
1232 
1233 /**
1234  * Gets the x-resolution, in nanometers.
1235  *
1236  * @public @memberof GoSectionMsg
1237  * @note Supported with G3
1238  * @version Introduced in firmware 4.4.4.14
1239  * @param msg Message object.
1240  * @return X resolution (nm).
1241  */
1242 GoFx(k32u) GoSectionMsg_XResolution(GoSectionMsg msg);
1243 
1244 /**
1245  * Gets the z-resolution, in nanometers.
1246  *
1247  * @public @memberof GoSectionMsg
1248  * @note Supported with G3
1249  * @version Introduced in firmware 4.4.4.14
1250  * @param msg Message object.
1251  * @return Z resolution (nm).
1252  */
1253 GoFx(k32u) GoSectionMsg_ZResolution(GoSectionMsg msg);
1254 
1255 /**
1256  * Gets the X-Pose, in micrometers.
1257  *
1258  * @public @memberof GoSectionMsg
1259  * @note Supported with G3
1260  * @version Introduced in firmware 4.4.4.14
1261  * @param msg Message object.
1262  * @return X Pose (um).
1263  */
1264 GoFx(k32s) GoSectionMsg_XPose(GoSectionMsg msg);
1265 
1266 /**
1267  * Gets the Y-Pose, in micrometers.
1268  *
1269  * @public @memberof GoSectionMsg
1270  * @note Supported with G3
1271  * @version Introduced in firmware 4.4.4.14
1272  * @param msg Message object.
1273  * @return Y Pose (um).
1274  */
1275 GoFx(k32s) GoSectionMsg_YPose(GoSectionMsg msg);
1276 
1277 /**
1278  * Gets the Pose Angle, in microdegrees.
1279  *
1280  * @public @memberof GoSectionMsg
1281  * @note Supported with G3
1282  * @version Introduced in firmware 4.4.4.14
1283  * @param msg Message object.
1284  * @return Angle Pose (microdegrees).
1285  */
1286 GoFx(k32s) GoSectionMsg_AnglePose(GoSectionMsg msg);
1287 
1288 /**
1289  * Gets the x-offset, in micrometers.
1290  *
1291  * @public @memberof GoSectionMsg
1292  * @note Supported with G3
1293  * @version Introduced in firmware 4.4.4.14
1294  * @param msg Message object.
1295  * @return X offset (um).
1296  */
1297 GoFx(k32s) GoSectionMsg_XOffset(GoSectionMsg msg);
1298 
1299 /**
1300  * Gets the z-offset, in micrometers.
1301  *
1302  * @public @memberof GoSectionMsg
1303  * @note Supported with G3
1304  * @version Introduced in firmware 4.4.4.14
1305  * @param msg Message object.
1306  * @return Z offset (um).
1307  */
1308 GoFx(k32s) GoSectionMsg_ZOffset(GoSectionMsg msg);
1309 
1310 /**
1311  * Gets a pointer to a section array.
1312  *
1313  * @public @memberof GoSectionMsg
1314  * @note Supported with G3
1315  * @version Introduced in firmware 4.4.4.14
1316  * @param msg Message object.
1317  * @param index Section array index.
1318  * @return Data pointer.
1319  */
1320 GoFx(k16s*) GoSectionMsg_At(GoSectionMsg msg, kSize index);
1321 
1322 /**
1323  * Gets the exposure.
1324  *
1325  * @public @memberof GoSectionMsg
1326  * @note Supported with G3
1327  * @version Introduced in firmware 4.4.4.14
1328  * @param msg Message object.
1329  * @return Exposure in uS.
1330  */
1331 GoFx(k32u) GoSectionMsg_Exposure(GoSectionMsg msg);
1332 
1333 
1334 /**
1335  * @class GoSectionIntensityMsg
1336  * @extends GoDataMsg
1337  * @note Supported with G3
1338  * @ingroup GoSdk-DataChannel
1339  * @brief Represents a data message containing a set of profile intensity arrays.
1340  */
1342 
1343 /**
1344  * Gets the section ID.
1345  *
1346  * @public @memberof GoSectionIntensityMsg
1347  * @note Supported with G3
1348  * @version Introduced in firmware 4.4.4.14
1349  * @param msg Message object.
1350  * @return Section ID.
1351  */
1352 GoFx(k32u) GoSectionIntensityMsg_Id(GoSectionIntensityMsg msg);
1353 
1354 /**
1355  * Gets the section source.
1356  *
1357  * @public @memberof GoSectionIntensityMsg
1358  * @note Supported with G3
1359  * @version Introduced in firmware 4.4.4.14
1360  * @param msg Message object.
1361  * @return Section source.
1362  */
1363 GoFx(GoDataSource) GoSectionIntensityMsg_Source(GoSectionIntensityMsg msg);
1364 
1365 /**
1366  * Gets the count of section arrays in this message.
1367  *
1368  * @public @memberof GoSectionIntensityMsg
1369  * @note Supported with G3
1370  * @version Introduced in firmware 4.4.4.14
1371  * @param msg Message object.
1372  * @return Count of section arrays.
1373  */
1374 GoFx(kSize) GoSectionIntensityMsg_Count(GoSectionIntensityMsg msg);
1375 
1376 /**
1377  * Gets the count of points in each section array.
1378  *
1379  * @public @memberof GoSectionIntensityMsg
1380  * @note Supported with G3
1381  * @version Introduced in firmware 4.4.4.14
1382  * @param msg Message object.
1383  * @return Point count.
1384  */
1385 GoFx(kSize) GoSectionIntensityMsg_Width(GoSectionIntensityMsg msg);
1386 
1387 /**
1388  * Gets the x-resolution, in nanometers.
1389  *
1390  * @public @memberof GoSectionIntensityMsg
1391  * @note Supported with G3
1392  * @version Introduced in firmware 4.4.4.14
1393  * @param msg Message object.
1394  * @return X resolution (nm).
1395  */
1396 GoFx(k32u) GoSectionIntensityMsg_XResolution(GoSectionIntensityMsg msg);
1397 
1398 /**
1399  * Gets the X-Pose, in micrometers.
1400  *
1401  * @public @memberof GoSectionIntensityMsg
1402  * @note Supported with G3
1403  * @version Introduced in firmware 4.4.4.14
1404  * @param msg Message object.
1405  * @return X Pose (um).
1406  */
1407 GoFx(k32s) GoSectionIntensityMsg_XPose(GoSectionIntensityMsg msg);
1408 
1409 /**
1410  * Gets the Y-Pose, in micrometers.
1411  *
1412  * @public @memberof GoSectionIntensityMsg
1413  * @note Supported with G3
1414  * @version Introduced in firmware 4.4.4.14
1415  * @param msg Message object.
1416  * @return Y Pose (um).
1417  */
1418 GoFx(k32s) GoSectionIntensityMsg_YPose(GoSectionIntensityMsg msg);
1419 
1420 /**
1421  * Gets the Pose Angle, in microdegrees.
1422  *
1423  * @public @memberof GoSectionIntensityMsg
1424  * @note Supported with G3
1425  * @version Introduced in firmware 4.4.4.14
1426  * @param msg Message object.
1427  * @return Angle Pose (microdegrees).
1428  */
1429 GoFx(k32s) GoSectionIntensityMsg_AnglePose(GoSectionIntensityMsg msg);
1430 
1431 /**
1432  * Gets the x-offset, in micrometers.
1433  *
1434  * @public @memberof GoSectionIntensityMsg
1435  * @note Supported with G3
1436  * @version Introduced in firmware 4.4.4.14
1437  * @param msg Message object.
1438  * @return X offset (um).
1439  */
1440 GoFx(k32s) GoSectionIntensityMsg_XOffset(GoSectionIntensityMsg msg);
1441 
1442 /**
1443  * Gets a pointer to a Section intensity array.
1444  *
1445  * @public @memberof GoSectionIntensityMsg
1446  * @note Supported with G3
1447  * @version Introduced in firmware 4.4.4.14
1448  * @param msg Message object.
1449  * @param index Section intensity array index.
1450  * @return Data pointer.
1451  */
1452 GoFx(k8u*) GoSectionIntensityMsg_At(GoSectionIntensityMsg msg, kSize index);
1453 
1454 /**
1455  * Gets the exposure.
1456  *
1457  * @public @memberof GoSectionIntensityMsg
1458  * @note Supported with G3
1459  * @version Introduced in firmware 4.4.4.14
1460  * @param msg Message object.
1461  * @return Exposure in uS.
1462  */
1463 GoFx(k32u) GoSectionIntensityMsg_Exposure(GoSectionIntensityMsg msg);
1464 
1465 /**
1466  * @struct GoMeasurementData
1467  * @extends kValue
1468  * @ingroup GoSdk-DataChannel
1469  * @brief Represents a measurement result.
1470  */
1471 typedef struct GoMeasurementData
1472 {
1473  k64f value; ///< Measurement value.
1474  GoDecision decision; ///< Measurement decision value.
1475  GoDecisionCode decisionCode; ///< Measurement decision code - relevant only when the value represents a failure.
1477 
1478 /**
1479  * @class GoMeasurementMsg
1480  * @extends GoDataMsg
1481  * @ingroup GoSdk-DataChannel
1482  * @brief Represents a message containing a set of GoMeasurementData.
1483  */
1484 typedef GoDataMsg GoMeasurementMsg;
1485 
1486 /**
1487  * Gets the measurement identifier.
1488  *
1489  * @public @memberof GoMeasurementMsg
1490  * @version Introduced in firmware 4.0.10.27
1491  * @param msg Message object.
1492  * @return Measurement identifier.
1493  */
1495 
1496 /**
1497  * Count of measurements in this message.
1498  *
1499  * @public @memberof GoMeasurementMsg
1500  * @version Introduced in firmware 4.0.10.27
1501  * @param msg Message object.
1502  * @return Count of measurements.
1503  */
1505 
1506 /**
1507  * Gets the measurement at the specified index.
1508  *
1509  * @public @memberof GoMeasurementMsg
1510  * @version Introduced in firmware 4.0.10.27
1511  * @param msg Message object.
1512  * @param index Measurement index.
1513  * @return Measurement pointer.
1514  */
1516 
1517 
1518 /**
1519  * @class GoAlignMsg
1520  * @extends GoDataMsg
1521  * @ingroup GoSdk-DataChannel
1522  * @brief Represents a message containing an alignment result.
1523  */
1524 typedef GoDataMsg GoAlignMsg;
1525 
1526 /**
1527  * Gets the alignment result.
1528  *
1529  * @public @memberof GoAlignMsg
1530  * @version Introduced in firmware 4.0.10.27
1531  * @param msg Message object.
1532  * @return Alignment result.
1533  */
1534 GoFx(kStatus) GoAlignMsg_Status(GoAlignMsg msg);
1535 
1536 /**
1537  * @class GoExposureCalMsg
1538  * @extends GoDataMsg
1539  * @ingroup GoSdk-DataChannel
1540  * @brief Represents a message containing exposure calibration results.
1541  */
1542 typedef GoDataMsg GoExposureCalMsg;
1543 
1544 /**
1545  * Gets the exposure calibration result.
1546  *
1547  * @public @memberof GoExposureCalMsg
1548  * @version Introduced in firmware 4.0.10.27
1549  * @param msg Message object.
1550  * @return Exposure calibration result.
1551  */
1552 GoFx(kStatus) GoExposureCalMsg_Status(GoExposureCalMsg msg);
1553 
1554 /**
1555  * Gets the calibrated exposure.
1556  *
1557  * @public @memberof GoExposureCalMsg
1558  * @version Introduced in firmware 4.0.10.27
1559  * @param msg Message object.
1560  * @return Calibrated exposure value in uS if the result is kOK.
1561  */
1562 GoFx(k64f) GoExposureCalMsg_Exposure(GoExposureCalMsg msg);
1563 
1564 
1565 /**
1566  * @class GoEdgeMatchMsg
1567  * @extends GoDataMsg
1568  * @ingroup GoSdk-DataChannel
1569  * @brief Represents a message containing edge based part matching results.
1570  */
1571 typedef GoDataMsg GoEdgeMatchMsg;
1572 
1573 /**
1574  * Gets the edge match decision.
1575  *
1576  * @public @memberof GoEdgeMatchMsg
1577  * @version Introduced in firmware 4.2.4.7
1578  * @param msg Message object.
1579  * @return Edge match decision.
1580  */
1581 GoFx(k8u) GoEdgeMatchMsg_Decision(GoEdgeMatchMsg msg);
1582 
1583 /**
1584  * Gets the edge match X offset.
1585  *
1586  * @public @memberof GoEdgeMatchMsg
1587  * @version Introduced in firmware 4.2.4.7
1588  * @param msg Message object.
1589  * @return Edge match X offset.
1590  */
1591 GoFx(k64f) GoEdgeMatchMsg_XOffset(GoEdgeMatchMsg msg);
1592 
1593 /**
1594  * Gets the edge match Y offset.
1595  *
1596  * @public @memberof GoEdgeMatchMsg
1597  * @version Introduced in firmware 4.2.4.7
1598  * @param msg Message object.
1599  * @return Edge match Y offset.
1600  */
1601 GoFx(k64f) GoEdgeMatchMsg_YOffset(GoEdgeMatchMsg msg);
1602 
1603 /**
1604  * Gets the edge match Z angle.
1605  *
1606  * @public @memberof GoEdgeMatchMsg
1607  * @version Introduced in firmware 4.2.4.7
1608  * @param msg Message object.
1609  * @return Edge match Z angle.
1610  */
1611 GoFx(k64f) GoEdgeMatchMsg_ZAngle(GoEdgeMatchMsg msg);
1612 
1613 /**
1614  * Gets the edge match quality value.
1615  *
1616  * @public @memberof GoEdgeMatchMsg
1617  * @version Introduced in firmware 4.2.4.7
1618  * @param msg Message object.
1619  * @return Edge match quality value.
1620  */
1621 GoFx(k64f) GoEdgeMatchMsg_QualityValue(GoEdgeMatchMsg msg);
1622 
1623 /**
1624  * Gets the edge match quality decision.
1625  *
1626  * @public @memberof GoEdgeMatchMsg
1627  * @version Introduced in firmware 4.2.4.7
1628  * @param msg Message object.
1629  * @return Edge match quality decision.
1630  */
1631 GoFx(k8u) GoEdgeMatchMsg_QualityDecision(GoEdgeMatchMsg msg);
1632 
1633 
1634 /**
1635  * @class GoEllipseMatchMsg
1636  * @extends GoDataMsg
1637  * @ingroup GoSdk-DataChannel
1638  * @brief Represents a message containing ellipse based part matching results.
1639  */
1641 
1642 /**
1643  * Gets the ellipse match decision.
1644  *
1645  * @public @memberof GoEllipseMatchMsg
1646  * @version Introduced in firmware 4.2.4.7
1647  * @param msg Message object.
1648  * @return Ellipse match quality decision.
1649  */
1650 GoFx(k8u) GoEllipseMatchMsg_Decision(GoEllipseMatchMsg msg);
1651 
1652 /**
1653  * Gets the ellipse match X offset.
1654  *
1655  * @public @memberof GoEllipseMatchMsg
1656  * @version Introduced in firmware 4.2.4.7
1657  * @param msg Message object.
1658  * @return Ellipse match X offset.
1659  */
1660 GoFx(k64f) GoEllipseMatchMsg_XOffset(GoEllipseMatchMsg msg);
1661 
1662 /**
1663  * Gets the ellipse match Y offset.
1664  *
1665  * @public @memberof GoEllipseMatchMsg
1666  * @version Introduced in firmware 4.2.4.7
1667  * @param msg Message object.
1668  * @return Ellipse match Y offset.
1669  */
1670 GoFx(k64f) GoEllipseMatchMsg_YOffset(GoEllipseMatchMsg msg);
1671 
1672 /**
1673  * Gets the ellipse match Z angle.
1674  *
1675  * @public @memberof GoEllipseMatchMsg
1676  * @version Introduced in firmware 4.2.4.7
1677  * @param msg Message object.
1678  * @return Ellipse match Z angle.
1679  */
1680 GoFx(k64f) GoEllipseMatchMsg_ZAngle(GoEllipseMatchMsg msg);
1681 
1682 /**
1683 * Gets the ellipse match minor value.
1684 *
1685  * @public @memberof GoEllipseMatchMsg
1686  * @version Introduced in firmware 4.2.4.7
1687  * @param msg Message object.
1688  * @return Ellipse match minor value.
1689  */
1690 GoFx(k64f) GoEllipseMatchMsg_MinorValue(GoEllipseMatchMsg msg);
1691 
1692 /**
1693  * Gets the ellipse match minor decision.
1694  *
1695  * @public @memberof GoEllipseMatchMsg
1696  * @version Introduced in firmware 4.2.4.7
1697  * @param msg Message object.
1698  * @return Ellipse match minor decision.
1699  */
1700 GoFx(k8u) GoEllipseMatchMsg_MinorDecision(GoEllipseMatchMsg msg);
1701 
1702 /**
1703  * Gets the ellipse match major value.
1704  *
1705  * @public @memberof GoEllipseMatchMsg
1706  * @version Introduced in firmware 4.2.4.7
1707  * @param msg Message object.
1708  * @return Ellipse match major value.
1709  */
1710 GoFx(k64f) GoEllipseMatchMsg_MajorValue(GoEllipseMatchMsg msg);
1711 
1712 /**
1713  * Gets the ellipse match major decision.
1714  *
1715  * @public @memberof GoEllipseMatchMsg
1716  * @version Introduced in firmware 4.2.4.7
1717  * @param msg Message object.
1718  * @return Ellipse match major decision.
1719  */
1720 GoFx(k8u) GoEllipseMatchMsg_MajorDecision(GoEllipseMatchMsg msg);
1721 
1722 
1723 /**
1724  * @class GoBoundingBoxMatchMsg
1725  * @extends GoDataMsg
1726  * @ingroup GoSdk-DataChannel
1727  * @brief Represents a message containing bounding box based part matching results.
1728  */
1730 
1731 /**
1732  * Gets the bounding box match major value.
1733  *
1734  * @public @memberof GoBoundingBoxMatchMsg
1735  * @version Introduced in firmware 4.2.4.7
1736  * @param msg Message object.
1737  * @return Bounding box match major value.
1738  */
1739 GoFx(k8u) GoBoundingBoxMatchMsg_Decision(GoBoundingBoxMatchMsg msg);
1740 
1741 /**
1742  * Gets the bounding box match X offset.
1743  *
1744  * @public @memberof GoBoundingBoxMatchMsg
1745  * @version Introduced in firmware 4.2.4.7
1746  * @param msg Message object.
1747  * @return Bounding box match X offset.
1748  */
1749 GoFx(k64f) GoBoundingBoxMatchMsg_XOffset(GoBoundingBoxMatchMsg msg);
1750 
1751 /**
1752  * Gets the bounding box match Y offset.
1753  *
1754  * @public @memberof GoBoundingBoxMatchMsg
1755  * @version Introduced in firmware 4.2.4.7
1756  * @param msg Message object.
1757  * @return Bounding box match Y offset.
1758  */
1759 GoFx(k64f) GoBoundingBoxMatchMsg_YOffset(GoBoundingBoxMatchMsg msg);
1760 
1761 /**
1762  * Gets the bounding box match Z angle.
1763  *
1764  * @public @memberof GoBoundingBoxMatchMsg
1765  * @version Introduced in firmware 4.2.4.7
1766  * @param msg Message object.
1767  * @return Bounding box match Z angle.
1768  */
1769 GoFx(k64f) GoBoundingBoxMatchMsg_ZAngle(GoBoundingBoxMatchMsg msg);
1770 
1771 /**
1772  * Gets the bounding box match length value.
1773  *
1774  * @public @memberof GoBoundingBoxMatchMsg
1775  * @version Introduced in firmware 4.2.4.7
1776  * @param msg Message object.
1777  * @return Bounding box match length value.
1778  */
1779 GoFx(k64f) GoBoundingBoxMatchMsg_LengthValue(GoBoundingBoxMatchMsg msg);
1780 
1781 /**
1782  * Gets the bounding box match length decision.
1783  *
1784  * @public @memberof GoBoundingBoxMatchMsg
1785  * @version Introduced in firmware 4.2.4.7
1786  * @param msg Message object.
1787  * @return Bounding box match length decision.
1788  */
1789 GoFx(k8u) GoBoundingBoxMatchMsg_LengthDecision(GoBoundingBoxMatchMsg msg);
1790 
1791 /**
1792  * Gets the bounding box match width value.
1793  *
1794  * @public @memberof GoBoundingBoxMatchMsg
1795  * @version Introduced in firmware 4.2.4.7
1796  * @param msg Message object.
1797  * @return Bounding box match width value.
1798  */
1799 GoFx(k64f) GoBoundingBoxMatchMsg_WidthValue(GoBoundingBoxMatchMsg msg);
1800 
1801 /**
1802  * Gets the bounding box match width decision.
1803  *
1804  * @public @memberof GoBoundingBoxMatchMsg
1805  * @version Introduced in firmware 4.2.4.7
1806  * @param msg Message object.
1807  * @return Bounding box match width decision.
1808  */
1809 GoFx(k8u) GoBoundingBoxMatchMsg_WidthDecision(GoBoundingBoxMatchMsg msg);
1810 
1811 
1812 /**
1813  * @class GoEventMsg
1814  * @extends GoDataMsg
1815  * @ingroup GoSdk-DataChannel
1816  * @brief Represents a message containing an event (See GoEventType).
1817  */
1818 typedef GoDataMsg GoEventMsg;
1819 
1820 /**
1821  * Gets the event type.
1822  *
1823  * @public @memberof GoEventMsg
1824  * @version Introduced in firmware 4.5.3.57
1825  * @param msg Message object.
1826  * @return Event type.
1827  */
1828 GoFx(GoEventType) GoEventMsg_Type(GoEventMsg msg);
1829 
1830 
1831 /**
1832  * @class GoTracheidMsg
1833  * @extends GoDataMsg
1834  * @ingroup GoSdk-DataChannel
1835  * @brief Represents a data message containing a set of tracheid data.
1836  */
1837 typedef GoDataMsg GoTracheidMsg;
1838 
1839 /**
1840 * @struct GoTracheidEllipse
1841 * @extends kValue
1842 * @ingroup GoSdk-DataChannel
1843 * @brief Represents a tracheid ellipse.
1844 */
1845 typedef struct GoTracheidEllipse
1846 {
1847  k64f area; ///< Ellipse area
1848  k64f angle; ///< Ellipse angle
1849  k64f scatter; ///< Ellipse scatter
1850  k64f minor; ///< Ellipse minor
1851  k64f major; ///< Ellipse major
1852 
1854 
1855 /**
1856  * Gets the tracheid source.
1857  *
1858  * @public @memberof GoTracheidMsg
1859  * @version Introduced in firmware 4.5.3.57
1860  * @param msg Message object.
1861  * @return Tracheid source.
1862  */
1864 
1865 /**
1866  * Gets the count of tracheid arrays in this message.
1867  *
1868  * @public @memberof GoTracheidMsg
1869  * @version Introduced in firmware 4.6.4.66
1870  * @param msg Message object.
1871  * @return Count of tracheid arrays.
1872  */
1874 
1875 /**
1876 * Gets the count of ellipses in each tracheid array.
1877 *
1878 * @public @memberof GoTracheidMsg
1879  * @version Introduced in firmware 4.6.4.66
1880 * @param msg Message object.
1881 * @return Ellipse count.
1882 */
1884 
1885 /**
1886  * Gets the tracheid camera index.
1887  *
1888  * @public @memberof GoTracheidMsg
1889  * @version Introduced in firmware 4.5.3.57
1890  * @param msg Message object.
1891  * @return Tracheid camera index.
1892  */
1894 
1895 /**
1896  * Gets a pointer to a tracheid ellipse array.
1897  *
1898  * @public @memberof GoTracheidMsg
1899  * @version Introduced in firmware 4.6.4.66
1900  * @param msg Message object.
1901  * @param index Tracheid ellipse array index.
1902  * @return Tracheid ellipse array.
1903  */
1905 
1906 /**
1907 * @class GoPointFeatureMsg
1908 * @extends GoDataMsg
1909 * @ingroup GoSdk-DataChannel
1910 * @brief Represents a message containing Point Feature data.
1911 */
1913 
1914 /**
1915 * Gets the point feature identifier.
1916 *
1917 * @public @memberof GoPointFeatureMsg
1918 * @version Introduced in firmware 4.6.3.43
1919 * @param msg Message object.
1920 * @return Point Feature identifier.
1921 */
1922 GoFx(k16u) GoPointFeatureMsg_Id(GoPointFeatureMsg msg);
1923 
1924 /**
1925 * The point data in this message.
1926 *
1927 * @public @memberof GoPointFeatureMsg
1928 * @version Introduced in firmware 4.6.3.43
1929 * @param msg Message object.
1930 * @return Corrdinates of point feature in nanometers.
1931 */
1932 GoFx(kPoint3d64f) GoPointFeatureMsg_Position(GoPointFeatureMsg msg);
1933 
1934 /**
1935 * @class GoLineFeatureMsg
1936 * @extends GoDataMsg
1937 * @ingroup GoSdk-DataChannel
1938 * @brief Represents a message containing Linear Feature data.
1939 */
1940 typedef GoDataMsg GoLineFeatureMsg;
1941 
1942 /**
1943 * Gets the linear feature identifier.
1944 *
1945 * @public @memberof GoLineFeatureMsg
1946 * @version Introduced in firmware 4.6.3.43
1947 * @param msg Message object.
1948 * @return Line Feature identifier.
1949 */
1950 GoFx(k16u) GoLineFeatureMsg_Id(GoLineFeatureMsg msg);
1951 
1952 /**
1953 * Gets a point on the linear feature.
1954 *
1955 * @public @memberof GoLineFeatureMsg
1956 * @version Introduced in firmware 4.6.3.43
1957 * @param msg Message object.
1958 * @return Position of the linear feature in nanometers.
1959 */
1960 GoFx(kPoint3d64f) GoLineFeatureMsg_Position(GoLineFeatureMsg msg);
1961 
1962 /**
1963 * The direction vector of the linear feature.
1964 *
1965 * @public @memberof GoLineFeatureMsg
1966 * @version Introduced in firmware 4.6.3.43
1967 * @param msg Message object.
1968 * @return Direction of the linear feature.
1969 */
1970 GoFx(kPoint3d64f) GoLineFeatureMsg_Direction(GoLineFeatureMsg msg);
1971 
1972 /**
1973 * @class GoPlaneFeatureMsg
1974 * @extends GoDataMsg
1975 * @ingroup GoSdk-DataChannel
1976 * @brief Represents a message containing Planear Feature data.
1977 */
1979 
1980 /**
1981 * Gets the planear feature identifier.
1982 *
1983 * @public @memberof GoPlaneFeatureMsg
1984 * @version Introduced in firmware 4.6.3.43
1985 * @param msg Message object.
1986 * @return Plane Feature identifier.
1987 */
1988 GoFx(k16u) GoPlaneFeatureMsg_Id(GoPlaneFeatureMsg msg);
1989 
1990 /**
1991 * Gets the normal vector of the planear feature.
1992 *
1993 * @public @memberof GoPlaneFeatureMsg
1994 * @version Introduced in firmware 4.6.3.43
1995 * @param msg Message object.
1996 * @return The vector normal to the plane.
1997 */
1998 GoFx(kPoint3d64f) GoPlaneFeatureMsg_Normal(GoPlaneFeatureMsg msg);
1999 
2000 /**
2001 * Gets shortest distance from the origin to the plane. Is parallel to the normal vector.
2002 *
2003 * @public @memberof GoPlaneFeatureMsg
2004 * @version Introduced in firmware 4.6.3.43
2005 * @param msg Message object.
2006 * @return Shortest distance to the origin in nanometers.
2007 */
2008 GoFx(k64f) GoPlaneFeatureMsg_DistanceToOrigin(GoPlaneFeatureMsg msg);
2009 
2010 /**
2011 * @class GoCircleFeatureMsg
2012 * @extends GoDataMsg
2013 * @ingroup GoSdk-DataChannel
2014 * @brief Represents a message containing circular feature data.
2015 */
2017 
2018 /**
2019 * Gets the circular feature identifier.
2020 *
2021 * @public @memberof GoCircleFeatureMsg
2022 * @version Introduced in firmware 4.6.3.43
2023 * @param msg Message object.
2024 * @return Circle Feature identifier.
2025 */
2026 GoFx(k16u) GoCircleFeatureMsg_Id(GoCircleFeatureMsg msg);
2027 
2028 /**
2029 * Gets the position of the center of the circular feature.
2030 *
2031 * @public @memberof GoCircleFeatureMsg
2032 * @version Introduced in firmware 4.6.3.43
2033 * @param msg Message object.
2034 * @return Position of the circular feature in nanometers
2035 */
2036 GoFx(kPoint3d64f) GoCircleFeatureMsg_Position(GoCircleFeatureMsg msg);
2037 
2038 /**
2039 * Gets the normal vector of the circular feature.
2040 *
2041 * @public @memberof GoCircleFeatureMsg
2042 * @version Introduced in firmware 4.6.3.43
2043 * @param msg Message object.
2044 * @return The vector normal to the plane.
2045 */
2046 GoFx(kPoint3d64f) GoCircleFeatureMsg_Normal(GoCircleFeatureMsg msg);
2047 
2048 /**
2049 * Gets the radius of the circular feature.
2050 *
2051 * @public @memberof GoCircleFeatureMsg
2052 * @version Introduced in firmware 4.6.3.43
2053 * @param msg Message object.
2054 * @return Radius of the circle in nanometers.
2055 */
2056 GoFx(k64f) GoCircleFeatureMsg_Radius(GoCircleFeatureMsg msg);
2057 
2058 /**
2059  * @class GoGenericMsg
2060  * @extends GoDataMsg
2061  * @ingroup GoSdk-DataChannel
2062  * @brief Represents a data message containing generic data.
2063  *
2064  * A generic message may contain either a raw byte buffer, or a kObject.
2065  * If the content is a kObject, then the buffer contains the byte stream containing
2066  * the serialized object, using the standard serialization schem (kDat6).
2067  */
2068 typedef GoDataMsg GoGenericMsg;
2069 
2070 /**
2071 * Gets the user defined data type.
2072 *
2073 * @public @memberof GoGenericMsg
2074 * @version Introduced in firmware 5.2.18.3
2075 * @param msg Message object.
2076 * @return Type ID.
2077 */
2078 GoFx(k32u) GoGenericMsg_UserType(GoGenericMsg msg);
2079 
2080 /**
2081  * Returns whether or not the content is an kObject. If false,
2082  * the content is a raw byte buffer.
2083  *
2084  * @public @memberof GoGenericMsg
2085  * @version Introduced in firmware 5.2.18.3
2086  * @param msg Message object.
2087  * @return kTRUE if content is kObject. kFALSE if raw buffer.
2088  */
2089 GoFx(kBool) GoGenericMsg_IsObject(GoGenericMsg msg);
2090 
2091 /**
2092  * Returns the size of the raw buffer.
2093  *
2094  * @public @memberof GoGenericMsg
2095  * @version Introduced in firmware 5.2.18.3
2096  * @param msg Message object.
2097  * @return Size of the buffer in bytes.
2098  */
2099 GoFx(kSize) GoGenericMsg_BufferSize(GoGenericMsg msg);
2100 
2101 /**
2102  * Returns a pointer to the raw buffer.
2103  *
2104  * @public @memberof GoGenericMsg
2105  * @version Introduced in firmware 5.2.18.3
2106  * @param msg Message object.
2107  * @return Address of the raw buffer.
2108  */
2109 GoFx(const void*) GoGenericMsg_BufferData(GoGenericMsg msg);
2110 
2111 /**
2112  * Returns the kObject content, if available.
2113  *
2114  * @public @memberof GoGenericMsg
2115  * @version Introduced in firmware 5.2.18.3
2116  * @param msg Message object.
2117  * @return Content object. kNULL if the content is a raw
2118  * buffer or if the data cannot be deserialized.
2119  */
2120 GoFx(kObject) GoGenericMsg_Object(GoGenericMsg msg);
2121 
2122 /**
2123 * Returns the serializer status after deserializing kObject content.
2124 *
2125 * Note that deserialization does not occur until GoGenericMsg_Object is
2126 * called for the first time.
2127 *
2128 * @public @memberof GoGenericMsg
2129 * @version Introduced in firmware 5.2.18.3
2130 * @param msg Message object.
2131 * @return Serializer status. kOK if not applicable.
2132 */
2133 GoFx(kStatus) GoGenericMsg_SerializerStatus(GoGenericMsg msg);
2134 
2135 /* Internal Use Only*/
2136 
2137 /**
2138  * @class GoNullMsg
2139  * @extends GoDataMsg
2140  * @ingroup GoSdk-DataChannel
2141  * @brief Represents a data message containing null data.
2142  *
2143  * This is a reserved class and currently only for internal use.
2144  * A Null message is used to explicitly inform that there is no valid result
2145  * e.g. when a measurement fails to find a feature
2146  */
2147 typedef GoDataMsg GoNullMsg;
2148 
2149 /**
2150 * Gets the error status related to the null message.
2151 *
2152 * @public @memberof GoNullMsg
2153 * @version Introduced in firmware 6.0.0.0 // subject to change
2154 * @param msg Message object.
2155 * @return Error status.
2156 */
2157 GoFx(kStatus) GoNullMsg_Status(GoNullMsg msg);
2158 
2159 /**
2160  * @class GoMeshMsg
2161  * @extends GoDataMsg
2162  * @ingroup GoSdk-DataChannel
2163  * @brief Represents a data message containing mesh data.
2164  */
2165 typedef GoDataMsg GoMeshMsg;
2166 
2167 /**
2168  * Gets the source.
2169  *
2170  * @public @memberof GoStampMsg
2171  * @version Introduced in firmware 6.0.18.7
2172  * @param msg Message object.
2173  * @return A GoDataSource value.
2174  */
2175 GoFx(GoDataSource) GoMeshMsg_Source(GoMeshMsg msg);
2176 
2177 /**
2178 * Gets the source of the mesh data stream.
2179 *
2180 * @public @memberof GoMeshMsg
2181 * @version Introduced in firmware 6.0.18.7
2182 * @param msg Message object.
2183 * @return A GoDataStep value.
2184 */
2185 GoFx(GoDataStep) GoMeshMsg_StreamStep(GoMeshMsg msg);
2186 
2187 /**
2188 * Gets the identifier of the mesh data stream from the source.
2189 *
2190 * @public @memberof GoMeshMsg
2191 * @version Introduced in firmware 6.0.18.7
2192 * @param msg Message object.
2193 * @return Stream step identifier number.
2194 */
2195 GoFx(k32s) GoMeshMsg_StreamStepId(GoMeshMsg msg);
2196 
2197 /**
2198  * Gets hasData.
2199  *
2200  * @public @memberof GoGenericMsg
2201  * @version Introduced in firmware 6.0.18.7
2202  * @param msg Message object.
2203  * @return Whether any buffer has been allocated for any channel.
2204  */
2205 GoFx(kBool) GoMeshMsg_HasData(GoMeshMsg msg);
2206 
2207 /**
2208  * Gets offset.
2209  *
2210  * @public @memberof GoGenericMsg
2211  * @version Introduced in firmware 6.0.18.7
2212  * @param msg Message object.
2213  * @return Offset parameter.
2214  */
2215 GoFx(kPoint3d64f) GoMeshMsg_Offset(GoMeshMsg msg);
2216 
2217 /**
2218  * Gets range.
2219  *
2220  * @public @memberof GoGenericMsg
2221  * @version Introduced in firmware 6.0.18.7
2222  * @param msg Message object.
2223  * @return Range parameter.
2224  */
2225 GoFx(kPoint3d64f) GoMeshMsg_Range(GoMeshMsg msg);
2226 
2227 /**
2228  * Gets transform.
2229  *
2230  * @public @memberof GoGenericMsg
2231  * @version Introduced in firmware 6.0.18.7
2232  * @param msg Message object.
2233  * @return Transform parameter.
2234  */
2235 GoFx(Go3dTransform64f) GoMeshMsg_Transform(GoMeshMsg msg);
2236 
2237 /**
2238  * Gets total channel count.
2239  *
2240  * @public @memberof GoGenericMsg
2241  * @version Introduced in firmware 6.0.18.7
2242  * @param msg Message object.
2243  * @return Number of channels. This include both of all system channels and any additional user channel.
2244  */
2245 GoFx(kSize) GoMeshMsg_ChannelCount(GoMeshMsg msg);
2246 
2247 /**
2248  * Gets maximum user channel count.
2249  *
2250  * @public @memberof GoGenericMsg
2251  * @version Introduced in firmware 6.0.18.7
2252  * @param msg Message object.
2253  * @return Maximum number of user channel that can be used.
2254  */
2255 GoFx(kSize) GoMeshMsg_MaxUserChannelCount(GoMeshMsg msg);
2256 
2257 /**
2258  * Gets user channel count.
2259  *
2260  * @public @memberof GoGenericMsg
2261  * @version Introduced in firmware 6.0.18.7
2262  * @param msg Message object.
2263  * @return Number of user channel used.
2264  */
2265 GoFx(kSize) GoMeshMsg_UserChannelCount(GoMeshMsg msg);
2266 
2267 /**
2268  * Gets channel type.
2269  *
2270  * @public @memberof GoGenericMsg
2271  * @version Introduced in firmware 6.0.18.7
2272  * @param msg Message object.
2273  * @param id Channel ID.
2274  * @return Type of channel.
2275  */
2277 
2278 /**
2279  * Gets channel state.
2280  *
2281  * @public @memberof GoGenericMsg
2282  * @version Introduced in firmware 6.0.18.7
2283  * @param msg Message object.
2284  * @param id Channel ID.
2285  * @return State of channel.
2286  */
2288 
2289 /**
2290  * Gets channel flag.
2291  *
2292  * @public @memberof GoGenericMsg
2293  * @version Introduced in firmware 6.0.18.7
2294  * @param msg Message object.
2295  * @param id Channel ID.
2296  * @return Flag of channel. Flag is typcically an user defined field that allows user to customize its usage.
2297  */
2298 GoFx(k32u) GoMeshMsg_ChannelFlag(GoMeshMsg msg, GoMeshMsgChannelId id);
2299 
2300 /**
2301  * Gets channel allocated data count.
2302  *
2303  * @public @memberof GoGenericMsg
2304  * @version Introduced in firmware 6.0.18.7
2305  * @param msg Message object.
2306  * @param id Channel ID.
2307  * @return Number of allocated elements within channel data buffer.
2308  */
2310 
2311 /**
2312  * Gets channel used data count.
2313  *
2314  * @public @memberof GoGenericMsg
2315  * @version Introduced in firmware 6.0.18.7
2316  * @param msg Message object.
2317  * @param id Channel ID.
2318  * @return Number of actual used elements within channel data buffer.
2319  */
2321 
2322 /**
2323  * Gets channel data type.
2324  *
2325  * @public @memberof GoGenericMsg
2326  * @version Introduced in firmware 6.0.18.7
2327  * @param msg Message object.
2328  * @param id Channel ID.
2329  * @return kType of each of element within channel data. Note that for any user channel, data type is always k8U.
2330  */
2331 GoFx(kType) GoMeshMsg_ChannelDataType(GoMeshMsg msg, GoMeshMsgChannelId id);
2332 
2333 /**
2334  * Gets channel data buffer.
2335  *
2336  * @public @memberof GoGenericMsg
2337  * @version Introduced in firmware 6.0.18.7
2338  * @param msg Message object.
2339  * @param id Channel ID.
2340  * @return Channel data buffer.
2341  */
2342 GoFx(kArray1) GoMeshMsg_ChannelData(GoMeshMsg msg, GoMeshMsgChannelId id);
2343 
2344 #include <GoSdk/Messages/GoDataTypes.x.h>
2345 
2346 #endif
Represents an acquisition stamp.
Definition: GoDataTypes.h:123
k32u GoSurfacePointCloudMsg_ZResolution(GoSurfacePointCloudMsg msg)
Gets the surface z-resolution, in nanometers.
GoDataSource GoUniformProfileMsg_Source(GoUniformProfileMsg msg)
Gets the profile source.
GoStamp * GoStampMsg_At(GoStampMsg msg, kSize index)
Gets the stamp at the specified index.
Represents a data message containing mesh data.
k8u GoProfilePointCloudMsg_CameraIndex(GoProfilePointCloudMsg msg)
Gets the source camera index.
kSize GoGenericMsg_BufferSize(GoGenericMsg msg)
Returns the size of the raw buffer.
k64f scatter
Ellipse scatter.
Definition: GoDataTypes.h:1849
kSize GoSectionIntensityMsg_Count(GoSectionIntensityMsg msg)
Gets the count of section arrays in this message.
k32u GoSurfaceIntensityMsg_Exposure(GoSurfaceIntensityMsg msg)
Gets the exposure.
k8u GoTracheidMsg_CameraIndex(GoTracheidMsg msg)
Gets the tracheid camera index.
k32s GoSectionMsg_ZOffset(GoSectionMsg msg)
Gets the z-offset, in micrometers.
k32s GoRangeMsg_ZOffset(GoRangeMsg msg)
Gets the Range z-offset, in micrometers.
kSize GoProfileIntensityMsg_Count(GoProfileIntensityMsg msg)
Gets the count of profile intensity arrays in this message.
GoDecision decision
Measurement decision value.
Definition: GoDataTypes.h:1474
Represents a data message containing generic data.
GoMeshMsgChannelType GoMeshMsg_ChannelType(GoMeshMsg msg, GoMeshMsgChannelId id)
Gets channel type.
kSize GoVideoMsg_Width(GoVideoMsg msg)
Gets the image width, in pixels.
k32u GoUniformSurfaceMsg_XResolution(GoUniformSurfaceMsg msg)
Gets the surface x-resolution, in nanometers.
kBool GoVideoMsg_IsFlippedX(GoVideoMsg msg)
Indicates whether the video message data requires horizontal flipping to match up with profile data...
kCfa GoVideoMsg_Cfa(GoVideoMsg msg)
Gets the image color filter array.
kSize GoMeshMsg_ChannelCount(GoMeshMsg msg)
Gets total channel count.
k64f GoBoundingBoxMatchMsg_YOffset(GoBoundingBoxMatchMsg msg)
Gets the bounding box match Y offset.
kType GoMeshMsg_ChannelDataType(GoMeshMsg msg, GoMeshMsgChannelId id)
Gets channel data type.
kSize GoSurfacePointCloudMsg_Length(GoSurfacePointCloudMsg msg)
Gets the length of the surface (row count).
k8u GoEllipseMatchMsg_MajorDecision(GoEllipseMatchMsg msg)
Gets the ellipse match major decision.
k32s GoMeshMsg_StreamStepId(GoMeshMsg msg)
Gets the identifier of the mesh data stream from the source.
k64f GoBoundingBoxMatchMsg_ZAngle(GoBoundingBoxMatchMsg msg)
Gets the bounding box match Z angle.
k32u GoUniformSurfaceMsg_YResolution(GoUniformSurfaceMsg msg)
Gets the surface y-resolution, in nanometers.
k32s GoProfileIntensityMsg_XOffset(GoProfileIntensityMsg msg)
Gets the profile x-offset, in micrometers.
k8u GoBoundingBoxMatchMsg_WidthDecision(GoBoundingBoxMatchMsg msg)
Gets the bounding box match width decision.
GoMeshMsgChannelState GoMeshMsg_ChannelState(GoMeshMsg msg, GoMeshMsgChannelId id)
Gets channel state.
kPoint3d64f GoPlaneFeatureMsg_Normal(GoPlaneFeatureMsg msg)
Gets the normal vector of the planear feature.
kSize GoSectionIntensityMsg_Width(GoSectionIntensityMsg msg)
Gets the count of points in each section array.
kPoint3d64f GoLineFeatureMsg_Direction(GoLineFeatureMsg msg)
The direction vector of the linear feature.
k32s GoSectionIntensityMsg_YPose(GoSectionIntensityMsg msg)
Gets the Y-Pose, in micrometers.
Represents a data message containing a video image.
k64f area
Ellipse area.
Definition: GoDataTypes.h:1847
kSize GoProfilePointCloudMsg_Count(GoProfilePointCloudMsg msg)
Gets the count of profile arrays in this message.
k16u GoCircleFeatureMsg_Id(GoCircleFeatureMsg msg)
Gets the circular feature identifier.
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.
kPoint3d64f GoCircleFeatureMsg_Normal(GoCircleFeatureMsg msg)
Gets the normal vector of the circular feature.
GoDataSource GoSurfacePointCloudMsg_Source(GoSurfacePointCloudMsg msg)
Gets the profile source.
Represents the possible measurement decision codes.
kBool GoMeshMsg_HasData(GoMeshMsg msg)
Gets hasData.
k8u GoEllipseMatchMsg_Decision(GoEllipseMatchMsg msg)
Gets the ellipse match decision.
kSize GoMeshMsg_AllocatedChannelDataCount(GoMeshMsg msg, GoMeshMsgChannelId id)
Gets channel allocated data count.
k32u GoProfileIntensityMsg_Exposure(GoProfileIntensityMsg msg)
Gets the exposure.
kArray1 GoMeshMsg_ChannelData(GoMeshMsg msg, GoMeshMsgChannelId id)
Gets channel data buffer.
k32u GoProfilePointCloudMsg_ZResolution(GoProfilePointCloudMsg msg)
Gets the profile z-resolution, in nanometers.
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.
kPoint3d16s * GoSurfacePointCloudMsg_RowAt(GoSurfacePointCloudMsg msg, kSize index)
Gets a pointer to a surface row.
kSize GoSurfaceIntensityMsg_Width(GoSurfaceIntensityMsg msg)
Gets the width of the surface (column count).
GoEventType GoEventMsg_Type(GoEventMsg msg)
Gets the event type.
kSize GoSurfaceIntensityMsg_Length(GoSurfaceIntensityMsg msg)
Gets the length of the surface (row count).
k8u GoBoundingBoxMatchMsg_Decision(GoBoundingBoxMatchMsg msg)
Gets the bounding box match major value.
k64f minor
Ellipse minor.
Definition: GoDataTypes.h:1850
Represents a data source.
kPoint3d64f GoCircleFeatureMsg_Position(GoCircleFeatureMsg msg)
Gets the position of the center of the circular feature.
k32s GoUniformProfileMsg_ZOffset(GoUniformProfileMsg msg)
Gets the profile z-offset, in micrometers.
kSize GoSectionMsg_Width(GoSectionMsg msg)
Gets the count of points in each section array.
k32u GoProfilePointCloudMsg_Exposure(GoProfilePointCloudMsg msg)
Gets the exposure.
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.
Represents a data message containing a set of range data.
k32u GoProfileIntensityMsg_XResolution(GoProfileIntensityMsg msg)
Gets the x-resolution, in nanometers.
k64f GoEllipseMatchMsg_XOffset(GoEllipseMatchMsg msg)
Gets the ellipse match X offset.
Represents a message containing Planear Feature data.
GoTracheidEllipse * GoTracheidMsg_At(GoTracheidMsg msg, kSize index)
Gets a pointer to a tracheid ellipse array.
k8u GoProfileIntensityMsg_CameraIndex(GoProfileIntensityMsg msg)
Gets the source camera index.
kSize GoVideoMsg_CameraIndex(GoVideoMsg msg)
Gets the camera index that the video data originates from.
kBool GoVideoMsg_IsTransposed(GoVideoMsg msg)
Indicates whether the video message data requires transpose to match up with profile data...
Represents a data message containing a set of re-sampled profile arrays.
kSize GoRangeMsg_Count(GoRangeMsg msg)
Gets the count of Range data in this message.
GoDataSource GoSectionMsg_Source(GoSectionMsg msg)
Gets the section source.
kSize GoProfilePointCloudMsg_Width(GoProfilePointCloudMsg msg)
Gets the count of ranges in each profile array.
kSize GoRangeIntensityMsg_Count(GoRangeIntensityMsg msg)
Gets the count of range intensity data in this message.
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:126
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.
kPoint16s * GoProfilePointCloudMsg_At(GoProfilePointCloudMsg msg, kSize index)
Gets a pointer to a profile array.
k64f major
Ellipse major.
Definition: GoDataTypes.h:1851
k32u GoVideoMsg_Exposure(GoVideoMsg msg)
Gets the exposure.
kSize GoUniformProfileMsg_Width(GoUniformProfileMsg msg)
Gets the count of points in each re-sampled profile array.
kSize GoVideoMsg_Height(GoVideoMsg msg)
Gets the image height, in pixels.
kPixelFormat GoVideoMsg_PixelFormat(GoVideoMsg msg)
Gets the pixel format descriptor.
k32u GoUniformProfileMsg_ZResolution(GoUniformProfileMsg msg)
Gets the profile z-resolution, in nanometers.
k64f GoEllipseMatchMsg_MajorValue(GoEllipseMatchMsg msg)
Gets the ellipse match major value.
k32u GoSectionIntensityMsg_Id(GoSectionIntensityMsg msg)
Gets the section ID.
k32u GoUniformProfileMsg_Exposure(GoUniformProfileMsg msg)
Gets the exposure.
k64s encoderAtZ
Encoder value latched at z-index mark (encoder ticks).
Definition: GoDataTypes.h:128
kSize GoTracheidMsg_Count(GoTracheidMsg msg)
Gets the count of tracheid arrays in this message.
k64u status
Bit mask containing frame information:
Definition: GoDataTypes.h:129
kSize GoMeshMsg_MaxUserChannelCount(GoMeshMsg msg)
Gets maximum user channel count.
k16u GoLineFeatureMsg_Id(GoLineFeatureMsg msg)
Gets the linear feature identifier.
k64f GoCircleFeatureMsg_Radius(GoCircleFeatureMsg msg)
Gets the radius of the circular feature.
k32u GoSurfacePointCloudMsg_YResolution(GoSurfacePointCloudMsg msg)
Gets the surface y-resolution, in nanometers.
kPoint3d64f GoMeshMsg_Offset(GoMeshMsg msg)
Gets offset.
Essential SDK declarations.
kSize GoProfileIntensityMsg_Width(GoProfileIntensityMsg msg)
Gets the count of intensity values in each profile intensity array.
k32s GoUniformProfileMsg_XOffset(GoUniformProfileMsg msg)
Gets the profile x-offset, in micrometers.
k64f GoPlaneFeatureMsg_DistanceToOrigin(GoPlaneFeatureMsg msg)
Gets shortest distance from the origin to the plane.
k8u * GoSurfaceIntensityMsg_RowAt(GoSurfaceIntensityMsg msg, kSize index)
Gets a pointer to a surface intensity row.
k32u GoUniformSurfaceMsg_ZResolution(GoUniformSurfaceMsg msg)
Gets the surface z-resolution, in nanometers.
k16u GoMeasurementMsg_Id(GoMeasurementMsg msg)
Gets the measurement identifier.
GoDataSource GoProfileIntensityMsg_Source(GoProfileIntensityMsg msg)
Gets the profile source.
GoDataSource GoSectionIntensityMsg_Source(GoSectionIntensityMsg msg)
Gets the section source.
kSize GoMeshMsg_UserChannelCount(GoMeshMsg msg)
Gets user channel count.
GoDataSource GoStampMsg_Source(GoStampMsg msg)
Gets the stamp source.
Represents a message containing exposure calibration results.
Represents a data message containing a set of section arrays.
k32s GoSurfacePointCloudMsg_YOffset(GoSurfacePointCloudMsg msg)
Gets the surface y-offset, in micrometers.
kBool GoVideoMsg_IsFlippedY(GoVideoMsg msg)
Indicates whether the video message data requires vertical flipping to match up with profile data...
k32u GoSurfacePointCloudMsg_Exposure(GoSurfacePointCloudMsg msg)
Gets the exposure.
kStatus GoDataMsg_SetArrayedCount(GoDataMsg message, k32s arrayedCount)
Sets the count of the data messages (in an arrayed context).
Represents a video message pixel type.
k32s GoSurfacePointCloudMsg_ZOffset(GoSurfacePointCloudMsg msg)
Gets the surface z-offset, in micrometers.
k32u GoSectionIntensityMsg_Exposure(GoSectionIntensityMsg msg)
Gets the exposure.
k32u GoUniformProfileMsg_XResolution(GoUniformProfileMsg msg)
Gets the x-resolution, in nanometers.
k32s GoDataMsg_ArrayedIndex(GoDataMsg message)
Gets the index of the data message (in an arrayed context).
kPoint3d64f GoPointFeatureMsg_Position(GoPointFeatureMsg msg)
The point data in this message.
k32u GoRangeMsg_Exposure(GoRangeMsg msg)
Gets the exposure.
GoDataSource GoRangeMsg_Source(GoRangeMsg msg)
Gets the Range source.
Represents a data message containing a set of profile intensity arrays.
k32u GoProfilePointCloudMsg_XResolution(GoProfilePointCloudMsg msg)
Gets the profile x-resolution, in nanometers.
Represents a data message containing a set of tracheid data.
k32u GoSurfaceIntensityMsg_YResolution(GoSurfaceIntensityMsg msg)
Gets the surface y-resolution, in nanometers.
k32u id
Source device ID.
Definition: GoDataTypes.h:140
GoDataMessageType GoDataMsg_Type(GoDataMsg message)
Returns the message type for a data channel message given in a GoDataSet.
k32u GoMeshMsg_ChannelFlag(GoMeshMsg msg, GoMeshMsgChannelId id)
Gets channel flag.
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.
Represents a data message containing a set of range intensity data.
Represents a data message containing a set of profile arrays.
kSize GoTracheidMsg_Width(GoTracheidMsg msg)
Gets the count of ellipses in each tracheid array.
k8u GoEdgeMatchMsg_QualityDecision(GoEdgeMatchMsg msg)
Gets the edge match quality decision.
Represents a data message containing a surface array.
k64u ptpTime
PTP time of the stamp. us since the PTP epoch (usually TAI)
Definition: GoDataTypes.h:143
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.
Represents a message containing circular feature data.
k16u GoPlaneFeatureMsg_Id(GoPlaneFeatureMsg msg)
Gets the planear feature identifier.
kSize GoUniformProfileMsg_Count(GoUniformProfileMsg msg)
Gets the count of re-sampled profile arrays in this message.
k32s GoSectionIntensityMsg_XOffset(GoSectionIntensityMsg msg)
Gets the x-offset, in micrometers.
kStatus GoNullMsg_Status(GoNullMsg msg)
Gets the error status related to the null message.
k64f GoBoundingBoxMatchMsg_LengthValue(GoBoundingBoxMatchMsg msg)
Gets the bounding box match length value.
Represents a data message containing a surface array.
kBool GoGenericMsg_IsObject(GoGenericMsg msg)
Returns whether or not the content is an kObject.
k64f angle
Ellipse angle.
Definition: GoDataTypes.h:1848
kStatus GoGenericMsg_SerializerStatus(GoGenericMsg msg)
Returns the serializer status after deserializing kObject content.
k32s GoUniformSurfaceMsg_XOffset(GoUniformSurfaceMsg msg)
Gets the surface x-offset, in micrometers.
kStatus GoDataMsg_SetStreamStepId(GoDataMsg message, k32s streamStepId)
Sets the identifier of the data stream from the source.
GoDataSource GoUniformSurfaceMsg_Source(GoUniformSurfaceMsg msg)
Gets the profile source.
GoDecisionCode decisionCode
Measurement decision code - relevant only when the value represents a failure.
Definition: GoDataTypes.h:1475
k64f GoEllipseMatchMsg_MinorValue(GoEllipseMatchMsg msg)
Gets the ellipse match minor value.
GoDataSource GoRangeIntensityMsg_Source(GoRangeIntensityMsg msg)
Gets the range intensity source.
kBool GoSurfacePointCloudMsg_IsAdjacent(GoSurfacePointCloudMsg msg)
Is the unresampled surface data adjacent/sorted?
Represents a message containing an alignment result.
GoDataStep GoMeshMsg_StreamStep(GoMeshMsg msg)
Gets the source of the mesh data stream.
k64f value
Measurement value.
Definition: GoDataTypes.h:1473
kStatus GoDataMsg_SetStreamStep(GoDataMsg message, GoDataStep streamStep)
Sets the source of the data stream.
k32u reserved32u
Reserved.
Definition: GoDataTypes.h:141
GoDataStep GoDataMsg_StreamStep(GoDataMsg message)
Gets the source of the data stream.
Represents a message containing a set of GoMeasurementData.
k64f GoEdgeMatchMsg_QualityValue(GoEdgeMatchMsg msg)
Gets the edge match quality value.
const void * GoGenericMsg_BufferData(GoGenericMsg msg)
Returns a pointer to the raw buffer.
Go3dTransform64f GoMeshMsg_Transform(GoMeshMsg msg)
Gets transform.
Represents a base message sourced from the data channel.
kPoint3d64f GoLineFeatureMsg_Position(GoLineFeatureMsg msg)
Gets a point on the linear feature.
Represents a message containing an event (See GoEventType).
k32s GoSectionMsg_XOffset(GoSectionMsg msg)
Gets the x-offset, in micrometers.
Represents a message containing Point Feature data.
kStatus GoAlignMsg_Status(GoAlignMsg msg)
Gets the alignment result.
k8u * GoProfileIntensityMsg_At(GoProfileIntensityMsg msg, kSize index)
Gets a pointer to a profile intensity array.
k32s GoDataMsg_StreamStepId(GoDataMsg message)
Gets the identifier of the data stream from the source.
k32s GoSurfacePointCloudMsg_XOffset(GoSurfacePointCloudMsg msg)
Gets the surface x-offset, in micrometers.
k32s GoProfilePointCloudMsg_XOffset(GoProfilePointCloudMsg msg)
Gets the profile x-offset, in micrometers.
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 GoRangeIntensityMsg_Exposure(GoRangeIntensityMsg msg)
Gets the exposure.
k32u GoUniformSurfaceMsg_Exposure(GoUniformSurfaceMsg msg)
Gets the exposure.
k16s * GoRangeMsg_At(GoRangeMsg msg, kSize index)
Gets a pointer to Range data.
GoDataSource GoMeshMsg_Source(GoMeshMsg msg)
Gets the source.
k64f GoBoundingBoxMatchMsg_XOffset(GoBoundingBoxMatchMsg msg)
Gets the bounding box match X offset.
kStatus GoDataMsg_SetArrayedIndex(GoDataMsg message, k32s arrayedIndex)
Sets the index of the data message (in an arrayed context).
GoPixelType GoVideoMsg_PixelType(GoVideoMsg msg)
Gets the data type used to represent an image pixel.
kSize GoUniformSurfaceMsg_Width(GoUniformSurfaceMsg msg)
Gets the width of the surface (column count).
Represents the event type represented by an event message.
kSize GoSurfacePointCloudMsg_Width(GoSurfacePointCloudMsg msg)
Gets the width of the surface (column count).
k8u * GoSectionIntensityMsg_At(GoSectionIntensityMsg msg, kSize index)
Gets a pointer to a Section intensity array.
GoDataSource GoTracheidMsg_Source(GoTracheidMsg msg)
Gets the tracheid source.
k16s * GoUniformSurfaceMsg_RowAt(GoUniformSurfaceMsg msg, kSize index)
Gets a pointer to a surface row.
k64s encoder
Position (encoder ticks).
Definition: GoDataTypes.h:127
k64f GoEllipseMatchMsg_YOffset(GoEllipseMatchMsg msg)
Gets the ellipse match Y offset.
k32s GoUniformSurfaceMsg_YOffset(GoUniformSurfaceMsg msg)
Gets the surface y-offset, in micrometers.
k64u frameIndex
Frame index (counts up from zero).
Definition: GoDataTypes.h:125
k32u GoSectionMsg_Id(GoSectionMsg msg)
Gets the section ID.
k32u GoRangeMsg_ZResolution(GoRangeMsg msg)
Gets the Range z-resolution, in nanometers.
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.
k32u GoGenericMsg_UserType(GoGenericMsg msg)
Gets the user defined data type.
kSize GoVideoMsg_ExposureIndex(GoVideoMsg msg)
Gets the exposure index.
k32s GoSectionIntensityMsg_XPose(GoSectionIntensityMsg msg)
Gets the X-Pose, in micrometers.
Represents possible data streams.
k32u GoSurfacePointCloudMsg_XResolution(GoSurfacePointCloudMsg msg)
Gets the surface x-resolution, in nanometers.
Represents a tracheid ellipse.
Definition: GoDataTypes.h:1845
k32u GoSurfaceIntensityMsg_XResolution(GoSurfaceIntensityMsg msg)
Gets the surface x-resolution, in nanometers.
kSize GoUniformSurfaceMsg_Length(GoUniformSurfaceMsg msg)
Gets the length of the surface (row count).
k8u GoEdgeMatchMsg_Decision(GoEdgeMatchMsg msg)
Gets the edge match decision.
k16s * GoUniformProfileMsg_At(GoUniformProfileMsg msg, kSize index)
Gets a pointer to a re-sampled profile array.
k32s GoProfilePointCloudMsg_ZOffset(GoProfilePointCloudMsg msg)
Gets the profile z-offset, in micrometers.
Represents a data message containing a surface intensity array.
k8u GoEllipseMatchMsg_MinorDecision(GoEllipseMatchMsg msg)
Gets the ellipse match minor decision.
Represents a message containing Linear Feature data.
kStatus GoExposureCalMsg_Status(GoExposureCalMsg msg)
Gets the exposure calibration result.
k16u GoPointFeatureMsg_Id(GoPointFeatureMsg msg)
Gets the point feature identifier.
k32s GoSurfaceIntensityMsg_XOffset(GoSurfaceIntensityMsg msg)
Gets the surface x-offset, in micrometers.
kSize GoMeshMsg_UsedChannelDataCount(GoMeshMsg msg, GoMeshMsgChannelId id)
Gets channel used data count.
kPoint3d64f GoMeshMsg_Range(GoMeshMsg msg)
Gets range.
k64f GoBoundingBoxMatchMsg_WidthValue(GoBoundingBoxMatchMsg msg)
Gets the bounding box match width value.
k64u reserved64u
Reserved.
Definition: GoDataTypes.h:142
k16s * GoSectionMsg_At(GoSectionMsg msg, kSize index)
Gets a pointer to a section array.
k32s GoUniformSurfaceMsg_ZOffset(GoUniformSurfaceMsg msg)
Gets the surface z-offset, in micrometers.
kObject GoGenericMsg_Object(GoGenericMsg msg)
Returns the kObject content, if available.
Represents a measurement result.
Definition: GoDataTypes.h:1471
k32s GoDataMsg_ArrayedCount(GoDataMsg message)
Gets the count of the data messages (in an arrayed context).
GoDataSource GoProfilePointCloudMsg_Source(GoProfilePointCloudMsg msg)
Gets the profile source.
Represents a data message containing null data.
k8u * GoRangeIntensityMsg_At(GoRangeIntensityMsg msg, kSize index)
Gets a pointer to range intensity data.