Gocator API

- Home
- Categories
- Types
- Files

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