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