Gocator API
 All Classes Files Functions Variables Typedefs Macros Groups 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) 2011-2012 by LMI Technologies Inc.
7  * Licensed under the MIT License.
8  * Redistributed files must retain the above copyright notice.
9  */
10 #ifndef GO_API_DATA_TYPES_H
11 #define GO_API_DATA_TYPES_H
12 
13 #include <GoSdk/GoSdkDef.h>
14 kBeginHeader()
15 
16 typedef kObject GoDataMsg;
17 
18 GoFx(GoDataMessageType) GoDataMsg_Type(GoDataMsg message);
19 
20 /**
21  * @struct GoStamp
22  * @extends kObject
23  * @ingroup GoSdk-Data
24  * @brief Represents an acquisition stamp.
25  */
26 typedef struct GoStamp
27 {
28  k64u frameIndex; ///< Frame index (counts up from zero).
29  k64u timestamp; ///< Timestamp (approximate us).
30  k64s encoder; ///< Position (encoder ticks).
31  k64s encoderAtZ; ///< Encoder value latched at z/index mark (encoder ticks).
32  k64u reserved; ///< Reserved x 2.
33 } GoStamp;
34 
35 /**
36  * @class GoStampMsg
37  * @extends kObject
38  * @ingroup GoSdk-Data
39  * @brief Represents a message containing a set of acquisition stamps.
40  */
41 typedef GoDataMsg GoStampMsg;
42 
43 /**
44  * Gets the stamp source.
45  *
46  * @public @memberof GoStampMsg
47  * @param msg Message object.
48  * @return Stamp source.
49  */
51 
52 /**
53  * Count of stamps in this message.
54  *
55  * @public @memberof GoStampMsg
56  * @param msg Message object.
57  * @return Count of stamps.
58  */
59 GoFx(kSize) GoStampMsg_Count(GoStampMsg msg);
60 
61 /**
62  * Gets the stamp at the specified index.
63  *
64  * @public @memberof GoStampMsg
65  * @param msg Message object.
66  * @param index Stamp index.
67  * @return Stamp pointer.
68  */
69 GoFx(GoStamp*) GoStampMsg_At(GoStampMsg msg, kSize index);
70 
71 /**
72  * @class GoVideoMsg
73  * @extends kObject
74  * @ingroup GoSdk-Data
75  * @brief Represents a data message containing a video image.
76  */
77 typedef GoDataMsg GoVideoMsg;
78 
79 /**
80  * Gets the video source.
81  *
82  * @public @memberof GoVideoMsg
83  * @param msg Message object.
84  * @return Video source.
85  */
86 GoFx(GoDataSource) GoVideoMsg_Source(GoVideoMsg msg);
87 
88 
89 /**
90  * Gets the camera index that the video data originates from.
91  *
92  * @public @memberof GoVideoMsg
93  * @param msg Message object.
94  * @return Camera index.
95  */
96 GoFx(kSize) GoVideoMsg_CameraIndex(GoVideoMsg msg);
97 
98 
99 /**
100  * Gets the image width, in pixels.
101  *
102  * @public @memberof GoVideoMsg
103  * @param msg Message object.
104  * @return Image width, in pixels.
105  */
106 GoFx(kSize) GoVideoMsg_Width(GoVideoMsg msg);
107 
108 /**
109  * Gets the image height, in pixels.
110  *
111  * @public @memberof GoVideoMsg
112  * @param msg Message object.
113  * @return Image height, in pixels.
114  */
115 GoFx(kSize) GoVideoMsg_Height(GoVideoMsg msg);
116 
117 /**
118  * Gets the data type used to represent an image pixel.
119  *
120  * @public @memberof GoVideoMsg
121  * @param msg Message object.
122  * @return Pixel size, in bytes.
123  */
124 GoFx(kType) GoVideoMsg_PixelType(GoVideoMsg msg);
125 
126 /**
127  * Gets the image pixel size, in bytes.
128  *
129  * @public @memberof GoVideoMsg
130  * @param msg Message object.
131  * @return Pixel size, in bytes.
132  */
133 GoFx(kSize) GoVideoMsg_PixelSize(GoVideoMsg msg);
134 
135 /**
136  * Gets the pixel format descriptor.
137  *
138  * @public @memberof GoVideoMsg
139  * @param msg Message object.
140  * @return Pixel format.
141  */
142 GoFx(kPixelFormat) GoVideoMsg_PixelFormat(GoVideoMsg msg);
143 
144 /**
145  * Gets the image color filter array.
146  *
147  * @public @memberof GoVideoMsg
148  * @param msg Message object.
149  * @return Color filter array.
150  */
151 GoFx(kCfa) GoVideoMsg_Cfa(GoVideoMsg msg);
152 
153 /**
154  * Gets a pointer to a row within the image.
155  *
156  * @public @memberof GoVideoMsg
157  * @param msg Message object.
158  * @param rowIndex Row index.
159  * @return Row pointer.
160  */
161 GoFx(void*) GoVideoMsg_RowAt(GoVideoMsg msg, kSize rowIndex);
162 
163 /**
164  * Gets the exposure index.
165  *
166  * @public @memberof GoVideoMsg
167  * @param msg Message object.
168  * @return Exposure index.
169  */
170 GoFx(kSize) GoVideoMsg_ExposureIndex(GoVideoMsg msg);
171 
172 /**
173  * Gets the exposure.
174  *
175  * @public @memberof GoVideoMsg
176  * @param msg Message object.
177  * @return Exposure in uS.
178  */
179 GoFx(k32u) GoVideoMsg_Exposure(GoVideoMsg msg);
180 
181 /**
182  * @class GoRangeMsg
183  * @extends kObject
184  * @ingroup GoSdk-Data
185  * @brief Represents a data message containing a set of range data.
186  */
187 typedef GoDataMsg GoRangeMsg;
188 
189 /**
190  * Gets the Range source.
191  *
192  * @public @memberof GoRangeMsg
193  * @param msg Message object.
194  * @return Range source.
195  */
196 GoFx(GoDataSource) GoRangeMsg_Source(GoRangeMsg msg);
197 
198 /**
199  * Gets the count of Range data in this message.
200  *
201  * @public @memberof GoRangeMsg
202  * @param msg Message object.
203  * @return Count of Range data.
204  */
205 GoFx(kSize) GoRangeMsg_Count(GoRangeMsg msg);
206 
207 
208 /**
209  * Gets the Range z-resolution, in nanometers.
210  *
211  * @public @memberof GoRangeMsg
212  * @param msg Message object.
213  * @return Z resolution (nm).
214  */
215 GoFx(k32u) GoRangeMsg_ZResolution(GoRangeMsg msg);
216 
217 /**
218  * Gets the Range z-offset, in micrometers.
219  *
220  * @public @memberof GoRangeMsg
221  * @param msg Message object.
222  * @return Z offset (um).
223  */
224 GoFx(k32s) GoRangeMsg_ZOffset(GoRangeMsg msg);
225 
226 /**
227  * Gets a pointer to Range data.
228  *
229  * @public @memberof GoRangeMsg
230  * @param msg Message object.
231  * @param index Range array index.
232  * @return Range pointer.
233  */
234 GoFx(k16s*) GoRangeMsg_At(GoRangeMsg msg, kSize index);
235 
236 /**
237  * Gets the exposure.
238  *
239  * @public @memberof GoRangeMsg
240  * @param msg Message object.
241  * @return Exposure in uS.
242  */
243 GoFx(k32u) GoRangeMsg_Exposure(GoRangeMsg msg);
244 
245 
246 /**
247  * @class GoRangeIntensityMsg
248  * @extends kObject
249  * @ingroup GoSdk-Data
250  * @brief Represents a data message containing a set of RangeIntensity data.
251  */
252 typedef GoDataMsg GoRangeIntensityMsg;
253 
254 /**
255  * Gets the RangeIntensity source.
256  *
257  * @public @memberof GoRangeIntensityMsg
258  * @param msg Message object.
259  * @return RangeIntensity source.
260  */
261 GoFx(GoDataSource) GoRangeIntensityMsg_Source(GoRangeIntensityMsg msg);
262 
263 /**
264  * Gets the count of RangeIntensity data in this message.
265  *
266  * @public @memberof GoRangeIntensityMsg
267  * @param msg Message object.
268  * @return Count of RangeIntensity data.
269  */
270 GoFx(kSize) GoRangeIntensityMsg_Count(GoRangeIntensityMsg msg);
271 
272 /**
273  * Gets a pointer to RangeIntensity data.
274  *
275  * @public @memberof GoRangeIntensityMsg
276  * @param msg Message object.
277  * @param index RangeIntensity array index.
278  * @return RangeIntensity pointer.
279  */
280 GoFx(k8u*) GoRangeIntensityMsg_At(GoRangeIntensityMsg msg, kSize index);
281 
282 /**
283  * Gets the exposure.
284  *
285  * @public @memberof GoRangeIntensityMsg
286  * @param msg Message object.
287  * @return Exposure in uS.
288  */
289 GoFx(k32u) GoRangeIntensityMsg_Exposure(GoRangeIntensityMsg msg);
290 
291 
292 /**
293  * @class GoProfileMsg
294  * @extends kObject
295  * @ingroup GoSdk-Data
296  * @brief Represents a data message containing a set of profile arrays.
297  */
298 typedef GoDataMsg GoProfileMsg;
299 
300 /**
301  * Gets the profile source.
302  *
303  * @public @memberof GoProfileMsg
304  * @param msg Message object.
305  * @return Profile source.
306  */
307 GoFx(GoDataSource) GoProfileMsg_Source(GoProfileMsg msg);
308 
309 /**
310  * Gets the count of profile arrays in this message.
311  *
312  * @public @memberof GoProfileMsg
313  * @param msg Message object.
314  * @return Count of profile arrays.
315  */
316 GoFx(kSize) GoProfileMsg_Count(GoProfileMsg msg);
317 
318 /**
319  * Gets the count of ranges in each profile array.
320  *
321  * @public @memberof GoProfileMsg
322  * @param msg Message object.
323  * @return Range count.
324  */
325 GoFx(kSize) GoProfileMsg_Width(GoProfileMsg msg);
326 
327 /**
328  * Gets the profile x-resolution, in nanometers.
329  *
330  * @public @memberof GoProfileMsg
331  * @param msg Message object.
332  * @return X resolution (nm).
333  */
334 GoFx(k32u) GoProfileMsg_XResolution(GoProfileMsg msg);
335 
336 /**
337  * Gets the profile z-resolution, in nanometers.
338  *
339  * @public @memberof GoProfileMsg
340  * @param msg Message object.
341  * @return Z resolution (nm).
342  */
343 GoFx(k32u) GoProfileMsg_ZResolution(GoProfileMsg msg);
344 
345 /**
346  * Gets the profile x-offset, in micrometers.
347  *
348  * @public @memberof GoProfileMsg
349  * @param msg Message object.
350  * @return X offset (um).
351  */
352 GoFx(k32s) GoProfileMsg_XOffset(GoProfileMsg msg);
353 
354 /**
355  * Gets the profile z-offset, in micrometers.
356  *
357  * @public @memberof GoProfileMsg
358  * @param msg Message object.
359  * @return Z offset (um).
360  */
361 GoFx(k32s) GoProfileMsg_ZOffset(GoProfileMsg msg);
362 
363 /**
364  * Gets a pointer to a profile array.
365  *
366  * @public @memberof GoProfileMsg
367  * @param msg Message object.
368  * @param index Profile array index.
369  * @return Profile pointer.
370  */
371 GoFx(kPoint16s*) GoProfileMsg_At(GoProfileMsg msg, kSize index);
372 
373 /**
374  * Gets the exposure.
375  *
376  * @public @memberof GoProfileMsg
377  * @param msg Message object.
378  * @return Exposure in uS.
379  */
380 GoFx(k32u) GoProfileMsg_Exposure(GoProfileMsg msg);
381 
382 /**
383  * @class GoResampledProfileMsg
384  * @extends kObject
385  * @ingroup GoSdk-Data
386  * @brief Represents a data message containing a set of resampled profile arrays.
387  */
388 typedef GoDataMsg GoResampledProfileMsg;
389 
390 /**
391  * Gets the profile source.
392  *
393  * @public @memberof GoResampledProfileMsg
394  * @param msg Message object.
395  * @return Profile source.
396  */
397 GoFx(GoDataSource) GoResampledProfileMsg_Source(GoResampledProfileMsg msg);
398 
399 /**
400  * Gets the count of resampled profile arrays in this message.
401  *
402  * @public @memberof GoResampledProfileMsg
403  * @param msg Message object.
404  * @return Count of profile arrays.
405  */
406 GoFx(kSize) GoResampledProfileMsg_Count(GoResampledProfileMsg msg);
407 
408 /**
409  * Gets the count of points in each resampled profile array.
410  *
411  * @public @memberof GoResampledProfileMsg
412  * @param msg Message object.
413  * @return Point count.
414  */
415 GoFx(kSize) GoResampledProfileMsg_Width(GoResampledProfileMsg msg);
416 
417 /**
418  * Gets the x-resolution, in nanometers.
419  *
420  * @public @memberof GoResampledProfileMsg
421  * @param msg Message object.
422  * @return X resolution (nm).
423  */
424 GoFx(k32u) GoResampledProfileMsg_XResolution(GoResampledProfileMsg msg);
425 
426 /**
427  * Gets the profile z-resolution, in nanometers.
428  *
429  * @public @memberof GoResampledProfileMsg
430  * @param msg Message object.
431  * @return Z resolution (nm).
432  */
433 GoFx(k32u) GoResampledProfileMsg_ZResolution(GoResampledProfileMsg msg);
434 
435 /**
436  * Gets the profile x-offset, in micrometers.
437  *
438  * @public @memberof GoResampledProfileMsg
439  * @param msg Message object.
440  * @return X offset (um).
441  */
442 GoFx(k32s) GoResampledProfileMsg_XOffset(GoResampledProfileMsg msg);
443 
444 /**
445  * Gets the profile z-offset, in micrometers.
446  *
447  * @public @memberof GoResampledProfileMsg
448  * @param msg Message object.
449  * @return Z offset (um).
450  */
451 GoFx(k32s) GoResampledProfileMsg_ZOffset(GoResampledProfileMsg msg);
452 
453 /**
454  * Gets a pointer to a resampled profile array.
455  *
456  * @public @memberof GoResampledProfileMsg
457  * @param msg Message object.
458  * @param index Profile array index.
459  * @return Data pointer.
460  */
461 GoFx(k16s*) GoResampledProfileMsg_At(GoResampledProfileMsg msg, kSize index);
462 
463 /**
464  * Gets the exposure.
465  *
466  * @public @memberof GoResampledProfileMsg
467  * @param msg Message object.
468  * @return Exposure in uS.
469  */
470 GoFx(k32u) GoResampledProfileMsg_Exposure(GoResampledProfileMsg msg);
471 
472 
473 /**
474  * @class GoProfileIntensityMsg
475  * @extends kObject
476  * @ingroup GoSdk-Data
477  * @brief Represents a data message containing a set of profile intensity arrays.
478  */
479 typedef GoDataMsg GoProfileIntensityMsg;
480 
481 /**
482  * Gets the profile source.
483  *
484  * @public @memberof GoProfileIntensityMsg
485  * @param msg Message object.
486  * @return Profile source.
487  */
488 GoFx(GoDataSource) GoProfileIntensityMsg_Source(GoProfileIntensityMsg msg);
489 
490 /**
491  * Gets the count of profile intensity arrays in this message.
492  *
493  * @public @memberof GoProfileIntensityMsg
494  * @param msg Message object.
495  * @return Count of profile arrays.
496  */
497 GoFx(kSize) GoProfileIntensityMsg_Count(GoProfileIntensityMsg msg);
498 
499 /**
500  * Gets the count of intensity values in each profile intensity array.
501  *
502  * @public @memberof GoProfileIntensityMsg
503  * @param msg Message object.
504  * @return Intensity count.
505  */
506 GoFx(kSize) GoProfileIntensityMsg_Width(GoProfileIntensityMsg msg);
507 
508 /**
509  * Gets the x-resolution, in nanometers.
510  *
511  * @public @memberof GoProfileIntensityMsg
512  * @param msg Message object.
513  * @return X resolution (nm).
514  */
515 GoFx(k32u) GoProfileIntensityMsg_XResolution(GoProfileIntensityMsg msg);
516 
517 /**
518  * Gets the profile z-resolution, in nanometers.
519  *
520  * @public @memberof GoProfileIntensityMsg
521  * @param msg Message object.
522  * @return Z resolution (nm).
523  */
524 GoFx(k32u) GoProfileIntensityMsg_ZResolution(GoProfileIntensityMsg msg);
525 
526 /**
527  * Gets the profile x-offset, in micrometers.
528  *
529  * @public @memberof GoProfileIntensityMsg
530  * @param msg Message object.
531  * @return X offset (um).
532  */
533 GoFx(k32s) GoProfileIntensityMsg_XOffset(GoProfileIntensityMsg msg);
534 
535 /**
536  * Gets the profile z-offset, in micrometers.
537  *
538  * @public @memberof GoProfileIntensityMsg
539  * @param msg Message object.
540  * @return Z offset (um).
541  */
542 GoFx(k32s) GoProfileIntensityMsg_ZOffset(GoProfileIntensityMsg msg);
543 
544 /**
545  * Gets the associated profile type (points or ranges).
546  *
547  * @public @memberof GoProfileIntensityMsg
548  * @param msg Message object.
549  * @return kTRUE for ranges; kFALSE for points.
550  */
551 GoFx(kBool) GoProfileIntensityMsg_IsResampled(GoProfileIntensityMsg msg);
552 
553 /**
554  * Gets a pointer to a profile intensity array.
555  *
556  * @public @memberof GoProfileIntensityMsg
557  * @param msg Message object.
558  * @param index Profile intensity array index.
559  * @return Data pointer.
560  */
561 GoFx(k8u*) GoProfileIntensityMsg_At(GoProfileIntensityMsg msg, kSize index);
562 
563 /**
564  * Gets the exposure.
565  *
566  * @public @memberof GoProfileIntensityMsg
567  * @param msg Message object.
568  * @return Exposure in uS.
569  */
570 GoFx(k32u) GoProfileIntensityMsg_Exposure(GoProfileIntensityMsg msg);
571 
572 /**
573  * @class GoSurfaceMsg
574  * @extends kObject
575  * @ingroup GoSdk-Data
576  * @brief Represents a data message containing a surface array.
577  */
578 typedef GoDataMsg GoSurfaceMsg;
579 
580 /**
581  * Gets the profile source.
582  *
583  * @public @memberof GoSurfaceMsg
584  * @param msg Message object.
585  * @return Profile source.
586  */
587 GoFx(GoDataSource) GoSurfaceMsg_Source(GoSurfaceMsg msg);
588 
589 /**
590  * Gets the height of the surface (row count).
591  *
592  * @public @memberof GoSurfaceMsg
593  * @param msg Message object.
594  * @return Surface height.
595  */
596 GoFx(kSize) GoSurfaceMsg_Height(GoSurfaceMsg msg);
597 
598 /**
599  * Gets the width of the surface (column count).
600  *
601  * @public @memberof GoSurfaceMsg
602  * @param msg Message object.
603  * @return Surface width;
604  */
605 GoFx(kSize) GoSurfaceMsg_Width(GoSurfaceMsg msg);
606 
607 /**
608  * Gets the surface x-resolution, in nanometers.
609  *
610  * @public @memberof GoSurfaceMsg
611  * @param msg Message object.
612  * @return X resolution (nm).
613  */
614 GoFx(k32u) GoSurfaceMsg_XResolution(GoSurfaceMsg msg);
615 
616 /**
617  * Gets the surface y-resolution, in nanometers.
618  *
619  * @public @memberof GoSurfaceMsg
620  * @param msg Message object.
621  * @return Y resolution (nm).
622  */
623 GoFx(k32u) GoSurfaceMsg_YResolution(GoSurfaceMsg msg);
624 
625 /**
626  * Gets the surface z-resolution, in nanometers.
627  *
628  * @public @memberof GoSurfaceMsg
629  * @param msg Message object.
630  * @return Z resolution (nm).
631  */
632 GoFx(k32u) GoSurfaceMsg_ZResolution(GoSurfaceMsg msg);
633 
634 /**
635  * Gets the surface x-offset, in micrometers.
636  *
637  * @public @memberof GoSurfaceMsg
638  * @param msg Message object.
639  * @return X offset (um).
640  */
641 GoFx(k32s) GoSurfaceMsg_XOffset(GoSurfaceMsg msg);
642 
643 /**
644  * Gets the surface y-offset, in micrometers.
645  *
646  * @public @memberof GoSurfaceMsg
647  * @param msg Message object.
648  * @return Y offset (um).
649  */
650 GoFx(k32s) GoSurfaceMsg_YOffset(GoSurfaceMsg msg);
651 
652 /**
653  * Gets the surface z-offset, in micrometers.
654  *
655  * @public @memberof GoSurfaceMsg
656  * @param msg Message object.
657  * @return Z offset (um).
658  */
659 GoFx(k32s) GoSurfaceMsg_ZOffset(GoSurfaceMsg msg);
660 
661 /**
662 * Gets the surface ID.
663 *
664 * @public @memberof GoSurfaceMsg
665 * @param msg Message object.
666 * @return Surface ID.
667 */
668 GoFx(k32u) GoSurfaceMsg_SurfaceId(GoSurfaceMsg msg);
669 
670 /**
671  * Gets a pointer to a surface row.
672  *
673  * @public @memberof GoSurfaceMsg
674  * @param msg Message object.
675  * @param index Surface row index.
676  * @return Row pointer.
677  */
678 GoFx(k16s*) GoSurfaceMsg_RowAt(GoSurfaceMsg msg, kSize index);
679 
680 /**
681  * Gets the exposure.
682  *
683  * @public @memberof GoSurfaceMsg
684  * @param msg Message object.
685  * @return Exposure in uS.
686  */
687 GoFx(k32u) GoSurfaceMsg_Exposure(GoSurfaceMsg msg);
688 
689 /**
690  * @class GoSurfaceIntensityMsg
691  * @extends kObject
692  * @ingroup GoSdk-Data
693  * @brief Represents a data message containing a surface intensity array.
694  */
695 typedef GoDataMsg GoSurfaceIntensityMsg;
696 
697 /**
698  * Gets the profile source.
699  *
700  * @public @memberof GoSurfaceIntensityMsg
701  * @param msg Message object.
702  * @return Profile source.
703  */
704 GoFx(GoDataSource) GoSurfaceIntensityMsg_Source(GoSurfaceIntensityMsg msg);
705 
706 /**
707  * Gets the height of the surface (row count).
708  *
709  * @public @memberof GoSurfaceIntensityMsg
710  * @param msg Message object.
711  * @return Surface height.
712  */
713 GoFx(kSize) GoSurfaceIntensityMsg_Height(GoSurfaceIntensityMsg msg);
714 
715 /**
716  * Gets the width of the surface (column count).
717  *
718  * @public @memberof GoSurfaceIntensityMsg
719  * @param msg Message object.
720  * @return Surface width;
721  */
722 GoFx(kSize) GoSurfaceIntensityMsg_Width(GoSurfaceIntensityMsg msg);
723 
724 /**
725  * Gets the surface x-resolution, in nanometers.
726  *
727  * @public @memberof GoSurfaceIntensityMsg
728  * @param msg Message object.
729  * @return X resolution (nm).
730  */
731 GoFx(k32u) GoSurfaceIntensityMsg_XResolution(GoSurfaceIntensityMsg msg);
732 
733 /**
734  * Gets the surface y-resolution, in nanometers.
735  *
736  * @public @memberof GoSurfaceIntensityMsg
737  * @param msg Message object.
738  * @return Y resolution (nm).
739  */
740 GoFx(k32u) GoSurfaceIntensityMsg_YResolution(GoSurfaceIntensityMsg msg);
741 
742 /**
743  * Gets the surface x-offset, in micrometers.
744  *
745  * @public @memberof GoSurfaceIntensityMsg
746  * @param msg Message object.
747  * @return X offset (um).
748  */
749 GoFx(k32s) GoSurfaceIntensityMsg_XOffset(GoSurfaceIntensityMsg msg);
750 
751 /**
752  * Gets the surface y-offset, in micrometers.
753  *
754  * @public @memberof GoSurfaceIntensityMsg
755  * @param msg Message object.
756  * @return Y offset (um).
757  */
758 GoFx(k32s) GoSurfaceIntensityMsg_YOffset(GoSurfaceIntensityMsg msg);
759 
760 /**
761  * Gets the surface ID.
762  *
763  * @public @memberof GoSurfaceIntensityMsg
764  * @param msg Message object.
765  * @return Surface ID.
766  */
767 GoFx(k32s) GoSurfaceIntensityMsg_SurfaceId(GoSurfaceIntensityMsg msg);
768 
769 /**
770  * Gets a pointer to a surface intensity row.
771  *
772  * @public @memberof GoSurfaceIntensityMsg
773  * @param msg Message object.
774  * @param index Surface intensity row index.
775  * @return Data pointer.
776  */
777 GoFx(k8u*) GoSurfaceIntensityMsg_RowAt(GoSurfaceIntensityMsg msg, kSize index);
778 
779 /**
780  * Gets the exposure.
781  *
782  * @public @memberof GoSurfaceIntensityMsg
783  * @param msg Message object.
784  * @return Exposure in uS.
785  */
786 GoFx(k32u) GoSurfaceIntensityMsg_Exposure(GoSurfaceIntensityMsg msg);
787 
788 /**
789  * @struct GoMeasurementData
790  * @extends kObject
791  * @ingroup GoSdk-Data
792  * @brief Represents a measurement result.
793  */
794 typedef struct GoMeasurementData
795 {
796  k64f value; ///< Measurement value.
797  GoDecision decision; ///< Measurement decision.
799 
800 /**
801  * @class GoMeasurementMsg
802  * @extends kObject
803  * @ingroup GoSdk-Data
804  * @brief Represents a message containing a set of measurements.
805  */
806 typedef GoDataMsg GoMeasurementMsg;
807 
808 /**
809  * Gets the measurement identifier.
810  *
811  * @public @memberof GoMeasurementMsg
812  * @param msg Message object.
813  * @return Measurement identifier.
814  */
815 GoFx(k16u) GoMeasurementMsg_Id(GoMeasurementMsg msg);
816 
817 /**
818  * Count of measurements in this message.
819  *
820  * @public @memberof GoMeasurementMsg
821  * @param msg Message object.
822  * @return Count of measurements.
823  */
825 
826 /**
827  * Gets the measurement at the specified index.
828  *
829  * @public @memberof GoMeasurementMsg
830  * @param msg Message object.
831  * @param index Measurement index.
832  * @return Measurement pointer.
833  */
835 
836 
837 /**
838  * @class GoAlignMsg
839  * @extends kObject
840  * @ingroup GoSdk-Data
841  * @brief Represents a message containing an alignment result.
842  */
843 typedef GoDataMsg GoAlignMsg;
844 
845 /**
846  * Gets the alignment result.
847  *
848  * @public @memberof GoCalMsg
849  * @param msg Message object.
850  * @return Alignment result.
851  */
852 GoFx(kStatus) GoAlignMsg_Status(GoAlignMsg msg);
853 
854 /**
855  * @class GoExposureCalMsg
856  * @extends kObject
857  * @ingroup GoSdk-Data
858  * @brief Represents a message containing exposure calibration results.
859  */
860 typedef GoDataMsg GoExposureCalMsg;
861 
862 /**
863  * Gets the exposure calibration result.
864  *
865  * @public @memberof GoExposureCalMsg
866  * @param msg Message object.
867  * @return Calibration result.
868  */
869 GoFx(kStatus) GoExposureCalMsg_Status(GoExposureCalMsg msg);
870 
871 /**
872  * Gets the exposure.
873  *
874  * @public @memberof GoExposureCalMsg
875  * @param msg Message object.
876  * @return Exposure in uS.
877  */
878 GoFx(k32u) GoExposureCalMsg_Exposure(GoExposureCalMsg msg);
879 
880 kEndHeader()
881 #include <GoSdk/GoDataTypes.x.h>
882 
883 #endif
kSize GoResampledProfileMsg_Width(GoResampledProfileMsg msg)
Gets the count of points in each resampled profile array.
Represents an acquisition stamp.
Definition: GoDataTypes.h:26
k32s GoSurfaceMsg_ZOffset(GoSurfaceMsg msg)
Gets the surface z-offset, in micrometers.
GoDataSource GoSurfaceMsg_Source(GoSurfaceMsg msg)
Gets the profile source.
k32u GoProfileIntensityMsg_ZResolution(GoProfileIntensityMsg msg)
Gets the profile z-resolution, in nanometers.
GoDecision decision
Measurement decision.
Definition: GoDataTypes.h:797
k32s GoProfileIntensityMsg_XOffset(GoProfileIntensityMsg msg)
Gets the profile x-offset, in micrometers.
k32u GoResampledProfileMsg_Exposure(GoResampledProfileMsg msg)
Gets the exposure.
k32s GoProfileMsg_ZOffset(GoProfileMsg msg)
Gets the profile z-offset, in micrometers.
GoDataSource GoProfileIntensityMsg_Source(GoProfileIntensityMsg msg)
Gets the profile source.
kSize GoRangeIntensityMsg_Count(GoRangeIntensityMsg msg)
Gets the count of RangeIntensity data in this message.
Represents a data message containing a video image.
kSize GoSurfaceMsg_Height(GoSurfaceMsg msg)
Gets the height of the surface (row count).
GoDataSource GoStampMsg_Source(GoStampMsg msg)
Gets the stamp source.
kSize GoSurfaceIntensityMsg_Width(GoSurfaceIntensityMsg msg)
Gets the width of the surface (column count).
k8u * GoProfileIntensityMsg_At(GoProfileIntensityMsg msg, kSize index)
Gets a pointer to a profile intensity array.
kSize GoMeasurementMsg_Count(GoMeasurementMsg msg)
Count of measurements in this message.
kSize GoSurfaceIntensityMsg_Height(GoSurfaceIntensityMsg msg)
Gets the height of the surface (row count).
kSize GoProfileMsg_Count(GoProfileMsg msg)
Gets the count of profile arrays in this message.
k64u reserved
Reserved x 2.
Definition: GoDataTypes.h:32
GoMeasurementData * GoMeasurementMsg_At(GoMeasurementMsg msg, kSize index)
Gets the measurement at the specified index.
Represents a data message containing a set of resampled profile arrays.
kSize GoProfileMsg_Width(GoProfileMsg msg)
Gets the count of ranges in each profile array.
k32u GoSurfaceMsg_SurfaceId(GoSurfaceMsg msg)
Gets the surface ID.
kCfa GoVideoMsg_Cfa(GoVideoMsg msg)
Gets the image color filter array.
Represents a data source.
k32u GoProfileMsg_Exposure(GoProfileMsg msg)
Gets the exposure.
kSize GoVideoMsg_CameraIndex(GoVideoMsg msg)
Gets the camera index that the video data originates from.
Represents a data message containing a set of range data.
k32u GoSurfaceIntensityMsg_Exposure(GoSurfaceIntensityMsg msg)
Gets the exposure.
k64u timestamp
Timestamp (approximate us).
Definition: GoDataTypes.h:29
Represents a message containing a set of acquisition stamps.
k32u GoSurfaceIntensityMsg_YResolution(GoSurfaceIntensityMsg msg)
Gets the surface y-resolution, in nanometers.
Represents a data message containing a surface array.
GoDataSource GoRangeIntensityMsg_Source(GoRangeIntensityMsg msg)
Gets the RangeIntensity source.
k32u GoSurfaceMsg_ZResolution(GoSurfaceMsg msg)
Gets the surface z-resolution, in nanometers.
kSize GoVideoMsg_Height(GoVideoMsg msg)
Gets the image height, in pixels.
k64s encoderAtZ
Encoder value latched at z/index mark (encoder ticks).
Definition: GoDataTypes.h:31
GoDataSource GoSurfaceIntensityMsg_Source(GoSurfaceIntensityMsg msg)
Gets the profile source.
k32s GoResampledProfileMsg_XOffset(GoResampledProfileMsg msg)
Gets the profile x-offset, in micrometers.
kSize GoVideoMsg_ExposureIndex(GoVideoMsg msg)
Gets the exposure index.
Essential API declarations.
kStatus GoExposureCalMsg_Status(GoExposureCalMsg msg)
Gets the exposure calibration result.
k16s * GoResampledProfileMsg_At(GoResampledProfileMsg msg, kSize index)
Gets a pointer to a resampled profile array.
k32s GoProfileMsg_XOffset(GoProfileMsg msg)
Gets the profile x-offset, in micrometers.
kPoint16s * GoProfileMsg_At(GoProfileMsg msg, kSize index)
Gets a pointer to a profile array.
k8u * GoSurfaceIntensityMsg_RowAt(GoSurfaceIntensityMsg msg, kSize index)
Gets a pointer to a surface intensity row.
Represents a message containing exposure calibration results.
GoDataSource GoResampledProfileMsg_Source(GoResampledProfileMsg msg)
Gets the profile source.
k32u GoSurfaceMsg_YResolution(GoSurfaceMsg msg)
Gets the surface y-resolution, in nanometers.
k16s * GoRangeMsg_At(GoRangeMsg msg, kSize index)
Gets a pointer to Range data.
kPixelFormat GoVideoMsg_PixelFormat(GoVideoMsg msg)
Gets the pixel format descriptor.
k32u GoSurfaceMsg_XResolution(GoSurfaceMsg msg)
Gets the surface x-resolution, in nanometers.
k32u GoRangeMsg_ZResolution(GoRangeMsg msg)
Gets the Range z-resolution, in nanometers.
k16u GoMeasurementMsg_Id(GoMeasurementMsg msg)
Gets the measurement identifier.
k32u GoVideoMsg_Exposure(GoVideoMsg msg)
Gets the exposure.
k32u GoSurfaceMsg_Exposure(GoSurfaceMsg msg)
Gets the exposure.
Represents a data message containing a set of profile intensity arrays.
Represents a data message containing a set of RangeIntensity data.
GoDataSource GoRangeMsg_Source(GoRangeMsg msg)
Gets the Range source.
k32s GoRangeMsg_ZOffset(GoRangeMsg msg)
Gets the Range z-offset, in micrometers.
kSize GoVideoMsg_Width(GoVideoMsg msg)
Gets the image width, in pixels.
k32s GoSurfaceIntensityMsg_XOffset(GoSurfaceIntensityMsg msg)
Gets the surface x-offset, in micrometers.
kType GoVideoMsg_PixelType(GoVideoMsg msg)
Gets the data type used to represent an image pixel.
kSize GoSurfaceMsg_Width(GoSurfaceMsg msg)
Gets the width of the surface (column count).
k32u GoProfileIntensityMsg_XResolution(GoProfileIntensityMsg msg)
Gets the x-resolution, in nanometers.
kSize GoStampMsg_Count(GoStampMsg msg)
Count of stamps in this message.
Represents a data message containing a set of profile arrays.
Represents a message containing an alignment result.
GoDataSource GoVideoMsg_Source(GoVideoMsg msg)
Gets the video source.
k64f value
Measurement value.
Definition: GoDataTypes.h:796
k32s GoResampledProfileMsg_ZOffset(GoResampledProfileMsg msg)
Gets the profile z-offset, in micrometers.
kSize GoVideoMsg_PixelSize(GoVideoMsg msg)
Gets the image pixel size, in bytes.
Represents a message containing a set of measurements.
k32u GoResampledProfileMsg_ZResolution(GoResampledProfileMsg msg)
Gets the profile z-resolution, in nanometers.
k32u GoProfileIntensityMsg_Exposure(GoProfileIntensityMsg msg)
Gets the exposure.
k32s GoProfileIntensityMsg_ZOffset(GoProfileIntensityMsg msg)
Gets the profile z-offset, in micrometers.
void * GoVideoMsg_RowAt(GoVideoMsg msg, kSize rowIndex)
Gets a pointer to a row within the image.
k32u GoResampledProfileMsg_XResolution(GoResampledProfileMsg msg)
Gets the x-resolution, in nanometers.
kBool GoProfileIntensityMsg_IsResampled(GoProfileIntensityMsg msg)
Gets the associated profile type (points or ranges).
k32u GoProfileMsg_XResolution(GoProfileMsg msg)
Gets the profile x-resolution, in nanometers.
kSize GoProfileIntensityMsg_Count(GoProfileIntensityMsg msg)
Gets the count of profile intensity arrays in this message.
k32u GoSurfaceIntensityMsg_XResolution(GoSurfaceIntensityMsg msg)
Gets the surface x-resolution, in nanometers.
k64s encoder
Position (encoder ticks).
Definition: GoDataTypes.h:30
k32s GoSurfaceMsg_XOffset(GoSurfaceMsg msg)
Gets the surface x-offset, in micrometers.
GoStamp * GoStampMsg_At(GoStampMsg msg, kSize index)
Gets the stamp at the specified index.
kSize GoRangeMsg_Count(GoRangeMsg msg)
Gets the count of Range data in this message.
k64u frameIndex
Frame index (counts up from zero).
Definition: GoDataTypes.h:28
k32s GoSurfaceIntensityMsg_YOffset(GoSurfaceIntensityMsg msg)
Gets the surface y-offset, in micrometers.
k16s * GoSurfaceMsg_RowAt(GoSurfaceMsg msg, kSize index)
Gets a pointer to a surface row.
k32u GoExposureCalMsg_Exposure(GoExposureCalMsg msg)
Gets the exposure.
k32s GoSurfaceIntensityMsg_SurfaceId(GoSurfaceIntensityMsg msg)
Gets the surface ID.
kSize GoProfileIntensityMsg_Width(GoProfileIntensityMsg msg)
Gets the count of intensity values in each profile intensity array.
Represents a data message containing a surface intensity array.
k32u GoRangeMsg_Exposure(GoRangeMsg msg)
Gets the exposure.
k32u GoProfileMsg_ZResolution(GoProfileMsg msg)
Gets the profile z-resolution, in nanometers.
GoDataSource GoProfileMsg_Source(GoProfileMsg msg)
Gets the profile source.
kSize GoResampledProfileMsg_Count(GoResampledProfileMsg msg)
Gets the count of resampled profile arrays in this message.
k32s GoSurfaceMsg_YOffset(GoSurfaceMsg msg)
Gets the surface y-offset, in micrometers.
k32u GoRangeIntensityMsg_Exposure(GoRangeIntensityMsg msg)
Gets the exposure.
Represents a measurement result.
Definition: GoDataTypes.h:794
k8u * GoRangeIntensityMsg_At(GoRangeIntensityMsg msg, kSize index)
Gets a pointer to RangeIntensity data.