GoWebScan API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
GoWebScanSettings.h
Go to the documentation of this file.
1 /**
2 * @file GoWebScanSettings.h
3 * @brief Declares a GoWebScanProcess object.
4 *
5 * @internal
6 * Copyright (C) 2017-2021 by LMI Technologies Inc.
7 * Licensed under the MIT License.
8 * Redistributed files must retain the above copyright notice.
9 */
10 
11 #ifndef GO_WEB_SCAN_SETTINGS_H
12 #define GO_WEB_SCAN_SETTINGS_H
13 
16 #include <kApi/Data/kXml.h>
17 #include <kApi/Data/kArrayList.h>
18 #include <kApi/Data/kString.h>
19 
20 /**
21 * @class GoWebScanSettings
22 * @extends kObject
23 * @ingroup GoWebScanSdk-Config
24 * @brief Represents a container for user-configurable settings of the system. The class
25 * reads and writes the settings from/to an XML. These settings describe the
26 * configuration and orientation of the system, processing parameters, and desired
27 * outputs. The format of the XML is similar to the chroma+scan 3x00 station settings
28 * but is not directly equivalent as additional parameters have been added. However,
29 * for any fields that exist in both formats, the chroma+scan 3x00 values can be reused.
30 * The settings are divided into system-level settings (GoWebScanSettings),
31 * group settings (GoWebScanSettingsGroup), and sensor settings
32 * (GoWebScanSettingsSensor).
33 * @see GoWebScanSettingsGroup, GoWebScanSettingsSensor
34 */
36 
37 /**
38 * @class GoWebScanSettingsGroup
39 * @extends kObject
40 * @ingroup GoWebScanSdk-Config
41 * @brief Represents a container for user-configurable settings of a group within the
42 * system. Groups represent planes (top or bottom).
43 */
45 
46 /**
47 * @class GoWebScanSettingsSensor
48 * @extends kObject
49 * @ingroup GoWebScanSdk-Config
50 * @brief Represents a container for user-configurable settings of a sensor within the
51 * system. For systems with vision, a GoWebScanSettingsSensor object represents
52 * a pair of vision and profile sensors (sensor mounted together).
53 */
55 
56 /*
57 * GoWebScanSettings
58 */
59 
60 /**
61  * Constructs a GoWebScanSettings object.
62  *
63  * @public @memberof GoWebScanSettings
64  * @param settings Receives the constructed GoWebScanSettings object.
65  * @param allocator Memory allocator (or kNULL for default).
66  * @return Operation status.
67  */
68 GoWebScanFx(kStatus) GoWebScanSettings_Construct(GoWebScanSettings* settings, kAlloc allocator);
69 
70 /**
71  * Loads the settings XML from a specified path and constructs and initializes a
72  * GoWebScanSettings object with the values read from the XML.
73  *
74  * @public @memberof GoWebScanSettings
75  * @param settings Receives the loaded GoWebScanSettings object.
76  * @param fileName Path of the settings file.
77  * @param alloc Memory allocator (or kNULL for default).
78  * @return Operation status.
79  */
80 GoWebScanFx(kStatus) GoWebScanSettings_Load(GoWebScanSettings* settings, const kChar* fileName, kAlloc alloc);
81 
82 /**
83  * Stores the settings XML to a specified path.
84  *
85  * @public @memberof GoWebScanSettings
86  * @param settings GoWebScanSettings object.
87  * @param fileName Path of the settings file.
88  * @return Operation status.
89  */
90 GoWebScanFx(kStatus) GoWebScanSettings_Store(GoWebScanSettings settings, const kChar* fileName);
91 
92 /**
93  * Enables vision data in the system. If enabled, and if vision sensors are connected, the
94  * system will output vision system messages if a section is defined.
95  *
96  * @public @memberof GoWebScanSettings
97  * @param settings GoWebScanSettings object.
98  * @param enable Boolean to enable vision.
99  * @return Operation status.
100  */
101 GoWebScanFx(kStatus) GoWebScanSettings_EnableVision(GoWebScanSettings settings, kBool enable);
102 
103 /**
104  * Gets the flag for whether vision data is enabled. Refer to GoWebScanSettings_EnableVision().
105  *
106  * @public @memberof GoWebScanSettings
107  * @param settings GoWebScanSettings object.
108  * @return Boolean for whether vision is enabled.
109  */
111 
112 /**
113  * Enables tracheid data in the system. If enabled, and if tracheid-capable sensors are
114  * connected, the system will output tracheid system messages if a section is defined.
115  *
116  * @public @memberof GoWebScanSettings
117  * @param settings GoWebScanSettings object.
118  * @param enable Boolean to enable tracheid.
119  * @return Operation status.
120  */
121 GoWebScanFx(kStatus) GoWebScanSettings_EnableTracheid(GoWebScanSettings settings, kBool enable);
122 
123 /**
124 * Gets the flag for whether tracheid data is enabled.
125 *
126 * @public @memberof GoWebScanSettings
127 * @param settings GoWebScanSettings object.
128 * @return Boolean for whether tracheid is enabled.
129 */
131 
132 /**
133  * Sets the thread count for processing tasks concurrently. This field is optional; if not set,
134  * the thread count will be maximized to the number of CPU cores by default. Note that system
135  * calibration processing is not concurrent.
136  *
137  * @public @memberof GoWebScanSettings
138  * @param settings GoWebScanSettings object.
139  * @param value Number of threads.
140  * @return Operation status.
141  */
142 GoWebScanFx(kStatus) GoWebScanSettings_SetConcurrency(GoWebScanSettings settings, k32s value);
143 
144 /**
145  * Gets the thread count for processing tasks concurrently.
146  *
147  * @public @memberof GoWebScanSettings
148  * @param settings GoWebScanSettings object.
149  * @return Number of threads.
150  */
152 
153 /**
154  * Sets the encoder resolution in mils/tick. Represents the distance (mils) per encoder pulse.
155  * This value will be positive if the encoder count increases when the board travels in the
156  * forward direction. 4x quadrature decoding is assumed.
157  *
158  * @public @memberof GoWebScanSettings
159  * @param settings GoWebScanSettings object.
160  * @param value Encoder resolution (mils/tick).
161  * @return Operation status.
162  */
164 
165 /**
166  * Gets the encoder resolution in mils/tick. Refer to GoWebScanSettings_SetEncoderResolution().
167  *
168  * @public @memberof GoWebScanSettings
169  * @param settings GoWebScanSettings object.
170  * @return Encoder resolution (mils/tick).
171  */
173 
174 /**
175  * Enables simulating forward motion by overriding encoder values in data messages with
176  * simulated values. The simulated speed is set by GoWebScanSettings_SetSimulatedSpeed.
177  *
178  * @public @memberof GoWebScanSettings
179  * @param settings GoWebScanSettings object.
180  * @param value Enables an internal encoder simulator.
181  * @return Operation status.
182  */
184 
185 /**
186  * Gets the flag for whether the encoder simulator is enabled. Refer to GoWebScanSettings_SetEncoderSimulated().
187  *
188  * @public @memberof GoWebScanSettings
189  * @param settings GoWebScanSettings object.
190  * @return Boolean for whether the encoder simulator is enabled.
191  */
193 
194 /**
195  * Sets the simulated encoder speed. This is an optional field that can be used to simulate
196  * forward motion (mils/second). When this property is present in the settings file, GoWebScan
197  * will override the encoder values in data messages with simulated values that are based on
198  * time.
199  *
200  * @public @memberof GoWebScanSettings
201  * @param settings GoWebScanSettings object.
202  * @param value Simulated encoder speed (mils/second).
203  * @return Operation status.
204  */
206 
207 /**
208 * Gets the simulated encoder speed. Refer to GoWebScanSettings_SetSimulatedSpeed().
209 *
210 * @public @memberof GoWebScanSettings
211 * @param settings GoWebScanSettings object.
212 * @return Simulated encoder speed (mils/second).
213 */
215 
216 /**
217  * Sets the travel orientation which specifies the direction of conveyor movement: Moving Toward
218  * (1) or Moving Away (0). Moving Toward implies that objects on the conveyor are moving toward
219  * the observer when the system is viewed from the front.
220  *
221  * @public @memberof GoWebScanSettings
222  * @param settings GoWebScanSettings object.
223  * @param value Travel orientation.
224  * @return Operation status.
225  */
227 
228 /**
229  * Gets the travel orientation which specifies the direction of conveyor movement: Moving Toward
230  * (1) or Moving Away (0). Moving Toward implies that objects on the conveyor are moving toward
231  * the observer when the system is viewed from the front.
232  *
233  * @public @memberof GoWebScanSettings
234  * @param settings GoWebScanSettings object.
235  * @return Travel orientation.
236  */
238 
239 /**
240  * Sets the sensor Y orientation for a given plane: Facing Toward (1) or Facing Away (0). The
241  * sensor logo and labels are visible when sensors are facing toward.
242  *
243  * @public @memberof GoWebScanSettings
244  * @param settings GoWebScanSettings object.
245  * @param plane System plane (top or bottom).
246  * @param value Sensor Y orientation.
247  * @return Operation status.
248  */
250 
251 /**
252  * Gets the sensor Y orientation for a given plane: Facing Toward (1) or Facing Away (0). The
253  * sensor logo and labels are visible when sensors are facing toward.
254  *
255  * @public @memberof GoWebScanSettings
256  * @param settings GoWebScanSettings object.
257  * @param plane System plane (top or bottom).
258  * @return Sensor Y orientation.
259  */
261 
262 /**
263  * Sets the sensor X orientation which represents whether the X-axis (length) increasing from
264  * left-to-right (1) or right-to-left (0). In a left-to-right system (as viewed from the front),
265  * the zero reference is on the left and sensor indices increase left-to-right. In a right-to-
266  * left system, the zero reference is on the right and sensor indices increase right-to-left.
267  *
268  * @public @memberof GoWebScanSettings
269  * @param settings GoWebScanSettings object.
270  * @param value Sensor X orientation.
271  * @return Operation status.
272  */
274 
275 /**
276  * Gets the sensor X orientation. Refer to GoWebScanSettings_SetXOrientation().
277  *
278  * @public @memberof GoWebScanSettings
279  * @param settings GoWebScanSettings object.
280  * @return Sensor X orientation.
281  * @see GoWebScanSettings_SetXOrientation
282  */
284 
285 /**
286  * Sets whether GoWebScan should use the per-sensor X-center values provided in the settings
287  * file, or calculate them from sensor indices (e.g. 0:12000, 1:36000, 2:60000, ...).
288  *
289  * @public @memberof GoWebScanSettings
290  * @param settings GoWebScanSettings object.
291  * @param value Boolean to use X-centers.
292  * @return Operation status.
293  */
295 
296 /**
297  * Gets the flag for whether GoWebScan uses user-defined X-centers.
298  *
299  * @public @memberof GoWebScanSettings
300  * @param settings GoWebScanSettings object.
301  * @return Boolean to use X-centers.
302  */
304 
305 /**
306  * Sets the frame rate to configure profile sensors to, in Hz. Note that the vision frame
307  * rate will be calculated from the profile frame rate to ensure no gaps in vision coverage
308  * occur and that the vision sensors do not interfere with profile sensors.
309  *
310  * @public @memberof GoWebScanSettings
311  * @param settings GoWebScanSettings object.
312  * @param value Frame rate (Hz).
313  * @return Operation status.
314  */
316 
317 /**
318  * Gets the profile frame rate in Hz.
319  *
320  * @public @memberof GoWebScanSettings
321  * @param settings GoWebScanSettings object.
322  * @return Frame rate (Hz).
323  */
325 
326 /**
327  * Sets the profile exposure in microseconds.
328  *
329  * @public @memberof GoWebScanSettings
330  * @param settings GoWebScanSettings object.
331  * @param value Profile exposure (microseconds).
332  * @return Operation status.
333  */
335 
336 /**
337  * Gets the profile exposure in microseconds.
338  *
339  * @public @memberof GoWebScanSettings
340  * @param settings GoWebScanSettings object.
341  * @return Profile exposure (microseconds).
342  */
344 
345 /**
346 * Sets the vision exposure in microseconds.
347 *
348 * @public @memberof GoWebScanSettings
349 * @param settings GoWebScanSettings object.
350 * @param value Vision exposure (microseconds).
351 * @return Operation status.
352 */
354 
355 /**
356 * Gets the vision exposure in microseconds.
357 *
358 * @public @memberof GoWebScanSettings
359 * @param settings GoWebScanSettings object.
360 * @return Vision exposure (microseconds).
361 */
363 
364 /**
365 * Sets the tracheid exposure in microseconds.
366 *
367 * @public @memberof GoWebScanSettings
368 * @param settings GoWebScanSettings object.
369 * @param value Tracheid exposure (microseconds).
370 * @return Operation status.
371 */
373 
374 /**
375 * Gets the tracheid exposure in microseconds.
376 *
377 * @public @memberof GoWebScanSettings
378 * @param settings GoWebScanSettings object.
379 * @return Tracheid exposure (microseconds).
380 */
382 
383 /**
384 * Sets the profile X resolution (mils per profile pixel, along board length). Output data will be
385 * resampled to this resolution.
386 *
387 * @public @memberof GoWebScanSettings
388 * @param settings GoWebScanSettings object.
389 * @param value Profile X resolution (mils/pixel).
390 * @return Operation status.
391 */
393 
394 /**
395 * Gets the profile X resolution (mils per profile pixel, along board length). Output data will be
396 * resampled to this resolution.
397 *
398 * @public @memberof GoWebScanSettings
399 * @param settings GoWebScanSettings object.
400 * @return Profile X resolution (mils/pixel).
401 */
403 
404 /**
405 * Sets the profile Y resolution (mils per profile pixel, across board width). Output data will be
406 * resampled to this resolution.
407 *
408 * @public @memberof GoWebScanSettings
409 * @param settings GoWebScanSettings object.
410 * @param value Profile Y resolution (mils/pixel).
411 * @return Operation status.
412 */
414 
415 /**
416 * Gets the profile Y resolution (mils per profile pixel, across board width). Output data will be
417 * resampled to this resolution.
418 *
419 * @public @memberof GoWebScanSettings
420 * @param settings GoWebScanSettings object.
421 * @return Profile Y resolution (mils/pixel).
422 */
424 
425 /**
426 * Sets the vision X resolution (mils per vision pixel, along board length).
427 *
428 * @public @memberof GoWebScanSettings
429 * @param settings GoWebScanSettings object.
430 * @param value Vision X resolution (mils/pixel).
431 * @return Operation status.
432 */
434 
435 /**
436 * Gets the vision X resolution (mils per vision pixel, along board length). Output data will be
437 * resampled to this resolution.
438 *
439 * @public @memberof GoWebScanSettings
440 * @param settings GoWebScanSettings object.
441 * @return Vision X resolution (mils/pixel).
442 */
444 
445 /**
446 * Sets the vision Y resolution (mils per vision pixel, across board width). Output data will be
447 * resampled to this resolution.
448 *
449 * @public @memberof GoWebScanSettings
450 * @param settings GoWebScanSettings object.
451 * @param value Vision Y resolution (mils/pixel).
452 * @return Operation status.
453 */
455 
456 /**
457 * Gets the vision Y resolution (mils per vision pixel, across board width). Output data will be
458 * resampled to this resolution.
459 *
460 * @public @memberof GoWebScanSettings
461 * @param settings GoWebScanSettings object.
462 * @return Vision Y resolution (mils/pixel).
463 */
465 
466 /**
467 * Sets the tracheid X resolution (mils per tracheid pixel, along board length). Output data will be
468 * resampled to this resolution.
469 *
470 * @public @memberof GoWebScanSettings
471 * @param settings GoWebScanSettings object.
472 * @param value Tracheid X resolution (mils/pixel).
473 * @return Operation status.
474 */
476 
477 /**
478 * Gets the tracheid X resolution (mils per tracheid pixel, along board length). Output data will be
479 * resampled to this resolution.
480 *
481 * @public @memberof GoWebScanSettings
482 * @param settings GoWebScanSettings object.
483 * @return Tracheid X resolution (mils/pixel).
484 */
486 
487 /**
488 * Sets the tracheid Y resolution (mils per tracheid value, across board width). Output data will be
489 * resampled to this resolution.
490 *
491 * @public @memberof GoWebScanSettings
492 * @param settings GoWebScanSettings object.
493 * @param value Tracheid Y resolution (mils/pixel).
494 * @return Operation status.
495 */
497 
498 /**
499 * Gets the tracheid Y resolution (mils per tracheid value, across board width). Output data will be
500 * resampled to this resolution.
501 *
502 * @public @memberof GoWebScanSettings
503 * @param settings GoWebScanSettings object.
504 * @return Tracheid Y resolution (mils/pixel).
505 */
507 
508 /**
509  * Sets the width of the data (mils) included in each profile, vision, or tracheid output tile.
510  *
511  * @public @memberof GoWebScanSettings
512  * @param settings GoWebScanSettings object.
513  * @param value Tile width (mils).
514  * @return Operation status.
515  */
516 GoWebScanFx(kStatus) GoWebScanSettings_SetTileWidth(GoWebScanSettings settings, k32s value);
517 
518 /**
519  * Gets the width of the data (mils) included in each profile, vision, or tracheid output tile.
520  * @public @memberof GoWebScanSettings
521  * @param settings GoWebScanSettings object.
522  * @return Tile width (mils).
523  */
524 GoWebScanFx(k32s) GoWebScanSettings_TileWidth(GoWebScanSettings settings);
525 
526 /**
527  * Sets the maximum distance to fill gaps in data along the X-axis (mils). For all data types
528  * (profile, tracheid, vision), this value determines the maximum gap between cameras that will
529  * be filled by connecting the data from adjacent cameras. Gaps can occur when target objects
530  * are close to the sensors, or when sensors are mounted with space between each device. For
531  * profile and tracheid cameras, this value also determines the maximum x-distance for
532  * interpolation between two valid laser spots when resampling data within a single camera.
533  *
534  * @public @memberof GoWebScanSettings
535  * @param settings GoWebScanSettings object.
536  * @param value Gap fill distance (mils).
537  * @return Operation status.
538  */
539 GoWebScanFx(kStatus) GoWebScanSettings_SetGapFill(GoWebScanSettings settings, k32s value);
540 
541 /**
542 * Gets the maximum distance to fill gaps in data along the X-axis (mils). Refer to GoWebScanSettings_SetGapFill().
543 *
544 * @public @memberof GoWebScanSettings
545 * @param settings GoWebScanSettings object.
546 * @return Gap fill distance (mils).
547 */
548 GoWebScanFx(k32s) GoWebScanSettings_GapFill(GoWebScanSettings settings);
549 
550 /**
551  * Sets the maximum amount of redundant camera information that can be blended together at the x-
552  * boundary between two cameras (mils). Blending occurs only when the fields-of-view between
553  * adjacent cameras have non-zero overlap.
554  *
555  * @public @memberof GoWebScanSettings
556  * @param settings GoWebScanSettings object.
557  * @param value Blending distance (mils).
558  * @return Operation status.
559  */
561 
562 /**
563 * Gets the overlap blend distance in mils. Refer to GoWebScanSettings_SetOverlapBlend().
564 *
565 * @public @memberof GoWebScanSettings
566 * @param settings GoWebScanSettings object.
567 * @return Blending distance (mils).
568 */
570 
571 /**
572  * Sets the method used to resample profile points along the X-axis: Nearest Neighbor (0), or
573  * Linear Interpolation (1).
574  *
575  * @public @memberof GoWebScanSettings
576  * @param settings GoWebScanSettings object.
577  * @param value Interpolation method.
578  * @return Operation status.
579  */
581 
582 /**
583  * Gets the profile interpolation method: Nearest Neighbor (0), or Linear Interpolation (1).
584  *
585  * @public @memberof GoWebScanSettings
586  * @param settings GoWebScanSettings object.
587  * @return Interpolation method.
588  */
590 
591 /**
592  * Sets whether GoWebScan should remove profile points contained within obstruction regions from
593  * output data (1) or include all profile points output data (0).
594  *
595  * @public @memberof GoWebScanSettings
596  * @param settings GoWebScanSettings object.
597  * @param value Boolean to enable obstruction filter.
598  * @return Operation status.
599  */
601 
602 /**
603  * Gets flag for whether the obstruction filter is enabled.
604  *
605  * @public @memberof GoWebScanSettings
606  * @param settings GoWebScanSettings object.
607  * @return Boolean if obstruction filter is enabled.
608  */
610 
611 /**
612  * Sets whether GoWebScan should remove tracheid and vision data where there is no corresponding
613  * profile data (1) or include all data in detection output (0).
614  *
615  * @public @memberof GoWebScanSettings
616  * @param settings GoWebScanSettings object.
617  * @param value Boolean to enable the background filter.
618  * @return Operation status.
619  */
621 
622 /**
623 * Gets flag for whether the background filter is enabled. Refer to GoWebScanSettings_SetDetectBackgroundFilter().
624 *
625 * @public @memberof GoWebScanSettings
626 * @param settings GoWebScanSettings object.
627 * @return Boolean if background filter is enabled.
628 */
630 
631 /**
632  * Sets whether profile points which are along the board side edge and report an offset range from
633  * neighbouring spots should be corrected. Side edge spots are modified to report the range of the
634  * adjacent spot that is on the board, giving the board edge a 90 degree angle and more accurate
635  * length instead of a curved edge.
636  *
637  * @public @memberof GoWebScanSettings
638  * @param settings GoWebScanSettings object.
639  * @param value Boolean to enable side extension of the board.
640  * @return Operation status.
641  */
643 
644 /**
645  * Gets flag for whether extending the board side edge to correct for distortions is enabled.
646  * Refer to GoWebScanSettings_SetDetectSideExtension().
647  *
648  * @public @memberof GoWebScanSettings
649  * @param settings GoWebScanSettings object.
650  * @return Boolean if side extension is enabled.
651  */
653 
654 /**
655  * Sets the type of object detection trigger: Global (0) or Local (1). An object is
656  * detected when the amount of visible target material (measured along the X-axis) exceeds the
657  * TriggerLength threshold. With a local trigger, the visible target material must be connected
658  * (contiguous). With a global trigger, the total amount of visible target material in the
659  * system field-of-view is considered.
660  *
661  * @public @memberof GoWebScanSettings
662  * @param settings GoWebScanSettings object.
663  * @param value Detection trigger style.
664  * @return Operation status.
665  */
667 
668 /**
669  * Gets the detection trigger style. Refer to GoWebScanSettings_SetDetectTriggerStyle().
670  *
671  * @public @memberof GoWebScanSettings
672  * @param settings GoWebScanSettings object.
673  * @return Detection trigger style.
674  */
676 
677 /**
678  * Sets the length (mils) of material used to trigger object on/off events, not including
679  * material inside obstruction regions.
680  *
681  * @public @memberof GoWebScanSettings
682  * @param settings GoWebScanSettings object.
683  * @param value Detection trigger length (mils).
684  * @return Operation status.
685  */
687 
688 /**
689  * Gets the detection trigger length in mils. Refer to GoWebScanSettings_SetDetectTriggerLength().
690  *
691  * @public @memberof GoWebScanSettings
692  * @param settings GoWebScanSettings object.
693  * @return Detection trigger length (mils).
694  */
696 
697 /**
698  * Sets the size of the margins (mils) that will be added to the leading and trailing edge of
699  * each detected object.
700  *
701  * @public @memberof GoWebScanSettings
702  * @param settings GoWebScanSettings object.
703  * @param value Detection edge margin (mils).
704  * @return Operation status.
705  */
707 
708 /**
709  * Gets the detection edge margin in mils. Refer to GoWebScanSettings_SetDetectEdgeMargin().
710  *
711  * @public @memberof GoWebScanSettings
712  * @param settings GoWebScanSettings object.
713  * @return Detection edge margin (mils).
714  */
716 
717 /**
718  * Sets the maximum width of a detection output (mils), including edge margins. When objects
719  * exceed this width, they will be segmented into multiple output messages.
720  *
721  * @public @memberof GoWebScanSettings
722  * @param settings GoWebScanSettings object.
723  * @param value Detection maximum width (mils).
724  * @return Operation status.
725  */
727 
728 /**
729 * Gets the detection maximum width in mils. Refer to GoWebScanSettings_SetDetectMaxWidth().
730 *
731 * @public @memberof GoWebScanSettings
732 * @param settings GoWebScanSettings object.
733 * @return Detection maximum width (mils).
734 */
736 
737 /**
738  * Sets whether GoWebScan should attempt to remove or correct edge measurement anomalies (1) or
739  * leave them unaltered (0).
740  *
741  * @public @memberof GoWebScanSettings
742  * @param settings GoWebScanSettings object.
743  * @param value Boolean for whether the edge filter is enabled.
744  * @return Operation status.
745  */
747 
748 /**
749 * Gets a flag for whether the detection edge filter is enabled. Refer to GoWebScanSettings_SetDetectEdgeFilter().
750 *
751 * @public @memberof GoWebScanSettings
752 * @param settings GoWebScanSettings object.
753 * @return Boolean for whether the edge filter is enabled.
754 */
756 
757 /**
758  * Sets whether GoWebScan should attempt to detect calibration reference holes (1),
759  * or assume that sensors are mounted at their nominal locations along the X-axis (0). This
760  * setting applies to vision-enabled systems only and is used during system calibration.
761  *
762  * @public @memberof GoWebScanSettings
763  * @param settings GoWebScanSettings object.
764  * @param value Boolean for whether the detection of calibration locators is enabled.
765  * @return Operation status.
766  */
768 
769 /**
770 * Gets a flag for whether the detection of calibration locators is enabled.
771 * Refer to GoWebScanSettings_SetCalDetectLocators().
772 *
773 * @public @memberof GoWebScanSettings
774 * @param settings GoWebScanSettings object.
775 * @return Calibration locator detection enabled.
776 */
778 
779 /**
780 * Sets whether GoWebScan enables (1) or disables (0) the use of target intensities
781 * for each color channel during vision system calibration.
782 *
783 * @public @memberof GoWebScanSettings
784 * @param settings GoWebScanSettings object.
785 * @param value Boolean to enable target vision intensities.
786 * @return Operation status.
787 */
789 
790 /**
791  * Gets a flag for whether the use of target intensities for each color channel during vision
792  * system calibration is enabled.
793  *
794  * @public @memberof GoWebScanSettings
795  * @param settings GoWebScanSettings object.
796  * @return Boolean for whether target vision intensities are enabled.
797  */
799 
800 /**
801 * Sets the desired red intensity level for the calibration target (1 - 255). This is used
802 * during vision system calibration.
803 *
804 * @public @memberof GoWebScanSettings
805 * @param settings GoWebScanSettings object.
806 * @param value Red target intensity level.
807 * @return Operation status.
808 */
810 
811 /**
812 * Gets the target red intensity level for vision system calibration.
813 *
814 * @public @memberof GoWebScanSettings
815 * @param settings GoWebScanSettings object.
816 * @return Red target intensity level.
817 */
819 
820 /**
821 * Sets the desired green intensity level for the calibration target (1 - 255). This is used
822 * during vision system calibration.
823 *
824 * @public @memberof GoWebScanSettings
825 * @param settings GoWebScanSettings object.
826 * @param value Green target intensity level.
827 * @return Operation status.
828 */
830 
831 /**
832 * Gets the target green intensity level for vision system calibration.
833 *
834 * @public @memberof GoWebScanSettings
835 * @param settings GoWebScanSettings object.
836 * @return Green target intensity level.
837 */
839 
840 /**
841 * Sets the desired blue intensity level for the calibration target (1 - 255). This is used
842 * during vision system calibration.
843 *
844 * @public @memberof GoWebScanSettings
845 * @param settings GoWebScanSettings object.
846 * @param value Blue target intensity level.
847 * @return Operation status.
848 */
850 
851 /**
852 * Gets the target blue intensity level for vision system calibration.
853 *
854 * @public @memberof GoWebScanSettings
855 * @param settings GoWebScanSettings object.
856 * @return Blue target intensity level.
857 */
859 
860 /**
861  * Sets the offset applied to the X-coordinates of all data (profile, vision, tracheid) in Web
862  * or Detection mode (mils). This setting is used for X-alignment between multiple servers, and
863  * should be written by the user application at the end of system calibration. The X-reference
864  * for a single server is calculated during system calibration and available through
865  * GoWebScanCal_SystemXRef. The user application should calculate the overall X bias, which is
866  * done by averaging the X-references from all servers, and set the X-adjustment for each server
867  * as the X bias minus the server's own X-reference.
868  *
869  * @public @memberof GoWebScanSettings
870  * @param settings GoWebScanSettings object.
871  * @param value X adjustment offset (mils).
872  * @return Operation status.
873  */
875 
876 /**
877 * Gets the X adjustment offset in mils. Refer to GoWebScanSettings_SetCalXAdjustment() for details.
878 *
879 * @public @memberof GoWebScanSettings
880 * @param settings GoWebScanSettings object.
881 * @return X adjustment offset (mils).
882 */
884 
885 /**
886 * Sets the offset applied to the Y-coordinates of all data (profile, vision, tracheid) in Web
887 * or Detection mode (mils). This setting is used for Y-alignment between multiple servers, and
888 * should be written by the user application at the end of system calibration. The Y-reference
889 * for a single server is calculated during system calibration and available through
890 * GoWebScanCal_SystemYRef. The user application should calculate the overall Y bias, which is
891 * done by averaging the X-references from all servers, and set the Y-adjustment for each server
892 * as the Y bias minus the server's own Y-reference.
893 *
894 * @public @memberof GoWebScanSettings
895 * @param settings GoWebScanSettings object.
896 * @param value Y adjustment offset (mils).
897 * @return Operation status.
898 */
900 
901 /**
902 * Gets the Y adjustment offset in mils. Refer to GoWebScanSettings_SetCalYAdjustment() for details.
903 *
904 * @public @memberof GoWebScanSettings
905 * @param settings GoWebScanSettings object.
906 * @return Y adjustment offset (mils).
907 */
909 
910 /**
911  * Sets the divisor to use when calculating minimum Y-interval for retained data during
912  * calibration data collection
913  *
914  * @public @memberof GoWebScanSettings
915  * @param settings GoWebScanSettings object.
916  * @param value Y internal divisor.
917  * @return Operation status.
918  */
920 
921 /**
922  * Gets the Y interval divisor which is used when calculating minimum Y-interval for retained
923  * data during calibration data collection
924  *
925  * @public @memberof GoWebScanSettings
926  * @param settings GoWebScanSettings object.
927  * @return Y internal divisor.
928  */
930 
931 /**
932  * Sets whether to manually remove regions from the calibration input data via user-defined
933  * obstructions (1) or to automatically detect conveyor hardware regions (0).These regions are
934  * specified via sensor obstructions (GoWebScanSettingsSensor_AddObstruction()) and typically
935  * represent conveyor hardware regions. When this field is disabled, the calibration will
936  * automatically detect conveyor hardware regions to remove from the input data.
937  *
938  * @public @memberof GoWebScanSettings
939  * @param settings GoWebScanSettings object.
940  * @param value Boolean to enable using user-defined obstructions during calibration.
941  * @return Operation status.
942  * @see GoWebScanSettingsSensor_AddObstruction
943  */
945 
946 /**
947 * Gets a flag for whether to manually remove regions from the calibration input data via
948 * user-defined obstructions (1) or to automatically detect conveyor hardware regions (0).
949 *
950 * @public @memberof GoWebScanSettings
951 * @param settings GoWebScanSettings object.
952 * @return Boolean to enable using user-defined obstructions during calibration.
953 */
955 
956 /**
957  * Gets the number of groups (representing planes) in the system.
958  *
959  * @public @memberof GoWebScanSettings
960  * @param settings GoWebScanSettings object.
961  * @return Number of groups.
962  */
964 
965 /**
966  * Gets the GoWebScanSettingsGroup object representing a group at a specified index.
967  *
968  * @public @memberof GoWebScanSettings
969  * @param settings GoWebScanSettings object.
970  * @param index Group index.
971  * @return GoWebScanSettingsGroup object representing group.
972  */
974 
975 /**
976  * Gets the number of sensors in the system.
977  *
978  * @public @memberof GoWebScanSettings
979  * @param settings GoWebScanSettings object.
980  * @return Number of sensors.
981  */
983 
984 /**
985  * Gets the GoWebScanSettingsSensor object representing a sensor at a specified index in the system.
986  *
987  * @public @memberof GoWebScanSettings
988  * @param settings GoWebScanSettings object.
989  * @param index Sensor index.
990  * @return GoWebScanSettingsSensor object representing sensor.
991  */
993 
994 /**
995  * Gets the GoWebScanSettings file schema version.
996  *
997  * @public @memberof GoWebScanSettings
998  * @param settings GoWebScanSettings object.
999  * @return GoWebScanSettings file schema version.
1000  */
1002 
1003 /*
1004 * GoWebScanSettingsGroup
1005 */
1006 
1007 /**
1008  * Constructs a GoWebScanSettingsGroup object.
1009  *
1010  * @public @memberof GoWebScanSettingsGroup
1011  * @param group Receives the constructed GoWebScanSettingsGroup object.
1012  * @param parent Settings for the system the group is part of.
1013  * @param allocator Memory allocator (or kNULL for default).
1014  * @return Operation status.
1015  */
1017 
1018 /**
1019  * Sets the system plane for the group.
1020  *
1021  * @public @memberof GoWebScanSettingsGroup
1022  * @param group GoWebScanSettingsGroup object.
1023  * @param plane System plane
1024  * @return Operation status.
1025  */
1027 
1028 /**
1029  * Sets the number of sensors in the group.
1030  *
1031  * @public @memberof GoWebScanSettingsGroup
1032  * @param group GoWebScanSettingsGroup object.
1033  * @param count Number of sensors.
1034  * @return Operation status.
1035  */
1037 
1038 /**
1039  * Adds a section to the group. Sections are used to outputs of a specified plane and data type
1040  * spanning a specified region in X.
1041  *
1042  * @public @memberof GoWebScanSettingsGroup
1043  * @param group GoWebScanSettingsGroup object.
1044  * @param section Section to add to the group.
1045  * @return Operation status.
1046  */
1048 
1049 /**
1050  * Removes a section from the group. Sections are used to outputs of a specified plane and data type
1051  * spanning a specified region in X.
1052  *
1053  * @public @memberof GoWebScanSettingsGroup
1054  * @param group GoWebScanSettingsGroup object.
1055  * @param index Index of the section to remove.
1056  * @return Operation status.
1057  */
1059 
1060 /**
1061  * Clears all sections from the list.
1062  *
1063  * @public @memberof GoWebScanSettingsGroup
1064  * @param group GoWebScanSettingsGroup object.
1065  * @return Operation status.
1066  */
1068 
1069 /**
1070  * Adds a sensor, as defined by a GoWebScanSettingsSensor object, to the group.
1071  * @public @memberof GoWebScanSettingsGroup
1072  * @param group GoWebScanSettingsGroup object.
1073  * @param sensor Sensor to add to the group.
1074  * @return Operation status.
1075  */
1077 
1078 /**
1079 * Clears and disposes all sensors from the group.
1080 * @public @memberof GoWebScanSettingsGroup
1081 * @param group GoWebScanSettingsGroup object.
1082 * @return Operation status.
1083 */
1085 
1086 /**
1087  * Gets the number of sensors in the group.
1088  *
1089  * @public @memberof GoWebScanSettingsGroup
1090  * @param group GoWebScanSettingsGroup object.
1091  * @return Number of sensors in group.
1092  */
1094 
1095 /**
1096  * Gets the GoWebScanSettingsSensor object representing a sensor at a specified index
1097  * in the group.
1098  *
1099  * @public @memberof GoWebScanSettingsGroup
1100  * @param group GoWebScanSettingsGroup object.
1101  * @param index Zero-based index of the.
1102  * @return Sensor at the specified index.
1103  */
1105 
1106 /**
1107  * Gets the settings of the system the group is in.
1108  *
1109  * @public @memberof GoWebScanSettingsGroup
1110  * @param group GoWebScanSettingsGroup object.
1111  * @return System settings.
1112  */
1114 
1115 /**
1116  * Gets the system plane of a group.
1117  *
1118  * @public @memberof GoWebScanSettingsGroup
1119  * @param group GoWebScanSettingsGroup object.
1120  * @return System plane.
1121  */
1123 
1124 /**
1125  * Gets the number of sections defined for the group.
1126  *
1127  * @public @memberof GoWebScanSettingsGroup
1128  * @param group GoWebScanSettingsGroup object.
1129  * @return Number of sections in group.
1130  */
1132 
1133 /**
1134  * Gets a pointer to the section at a specified index.
1135  *
1136  * @public @memberof GoWebScanSettingsGroup
1137  * @param group GoWebScanSettingsGroup object.
1138  * @param index Section index.
1139  * @return Pointer to the section.
1140  */
1142 
1143 /**
1144  * Sets the section ID.
1145  *
1146  * @public @memberof GoWebScanSettingsGroup
1147  * @param group GoWebScanSettingsGroup object.
1148  * @param index Section index.
1149  * @param value Section ID.
1150  * @return Operation status.
1151  */
1153 
1154 /**
1155 * Gets the section ID.
1156 *
1157 * @public @memberof GoWebScanSettingsGroup
1158 * @param group GoWebScanSettingsGroup object.
1159 * @param index Section index.
1160 * @return Section ID
1161 */
1163 
1164 /**
1165  * Sets the section type. Profile (0), Vision (1), or Tracheid (2).
1166  *
1167  * @public @memberof GoWebScanSettingsGroup
1168  * @param group GoWebScanSettingsGroup object.
1169  * @param index Section index.
1170  * @param value Section type.
1171  * @return Operation status.
1172  */
1174 
1175 /**
1176  * Gets the section type. Profile (0), Vision (1), or Tracheid (2).
1177  *
1178  * @public @memberof GoWebScanSettingsGroup
1179  * @param group GoWebScanSettingsGroup object.
1180  * @param index Section index.
1181  * @return Section type.
1182  */
1184 
1185 /**
1186  * Sets the start of section along the X-axis (length), in system coordinates (mils).
1187  *
1188  * @public @memberof GoWebScanSettingsGroup
1189  * @param group GoWebScanSettingsGroup object.
1190  * @param index Section index.
1191  * @param value Section start along X-axis (mils).
1192  * @return Operation status.
1193  */
1195 
1196 /**
1197 * Gets the start of section along the X-axis (length), in system coordinates (mils).
1198 *
1199 * @public @memberof GoWebScanSettingsGroup
1200 * @param group GoWebScanSettingsGroup object.
1201 * @param index Section index.
1202 * @return Section start along X-axis (mils).
1203 */
1205 
1206 /**
1207 * Sets the end of section along the X-axis (length), in system coordinates (mils). Should be
1208 * greater than X0 set in GoWebScanSettingsGroup_SetSectionX0().
1209 *
1210 * @public @memberof GoWebScanSettingsGroup
1211 * @param group GoWebScanSettingsGroup object.
1212 * @param index Section index.
1213 * @param value Section end along X-axis (mils).
1214 * @return Operation status.
1215 */
1217 
1218 /**
1219 * Gets the end of section along the X-axis (length), in system coordinates (mils).
1220 *
1221 * @public @memberof GoWebScanSettingsGroup
1222 * @param group GoWebScanSettingsGroup object.
1223 * @param index Section index.
1224 * @return Section end along X-axis (mils).
1225 */
1227 
1228 
1229 /*
1230 * GoWebScanSettingsSensor
1231 */
1232 
1233 /**
1234 * Constructs a GoWebScanSettingsSensor object.
1235 *
1236 * @public @memberof GoWebScanSettingsSensor
1237 * @param sensor Receives the constructed GoWebScanSettingsSensor object.
1238 * @param allocator Memory allocator (or kNULL for default).
1239 * @return Operation status.
1240 */
1242 
1243 /**
1244  * Sets the parent group the sensor is in.
1245  *
1246  * @public @memberof GoWebScanSettingsSensor
1247  * @param sensor GoWebScanSettingsSensor object.
1248  * @param parent Parent group settings.
1249  * @return Operation status.
1250  */
1252 
1253 /**
1254  * Sets the index of the sensor within the group.
1255  *
1256  * @public @memberof GoWebScanSettingsSensor
1257  * @param sensor GoWebScanSettingsSensor object.
1258  * @param index Sensor index within group.
1259  * @return Operation status.
1260  */
1262 
1263 /**
1264  * Sets the serial number of the profile sensor in a paired profile-vision
1265  * GoWebScanSettingsSensor object (for systems with vision).
1266  *
1267  * @public @memberof GoWebScanSettingsSensor
1268  * @param sensor GoWebScanSettingsSensor object.
1269  * @param serialNumber Profile serial number.
1270  * @return Operation status.
1271  */
1273 
1274 /**
1275 * Sets the serial number of the vision sensor in a paired profile-vision
1276 * GoWebScanSettingsSensor object (for systems with vision). This field
1277 * does not need to be set if no vision is present in the system.
1278 *
1279 * @public @memberof GoWebScanSettingsSensor
1280 * @param sensor GoWebScanSettingsSensor object.
1281 * @param serialNumber Vision serial number.
1282 * @return Operation status.
1283 */
1285 
1286 /**
1287  * Sets whether the sensor is enabled.
1288  *
1289  * @public @memberof GoWebScanSettingsSensor
1290  * @param sensor GoWebScanSettingsSensor object.
1291  * @param enabled Boolean for whether sensor is enabled.
1292  * @return Operation status.
1293  */
1295 
1296 /**
1297  * Adds an obstruction to the sensor. An obstruction is defined as an ROI in the X-axis and Z-
1298  * axis (in the sensor's coordinate system) that is ignored by the system. If there are any
1299  * objects that regularly appear within the field of view of the sensors, such as chain runners,
1300  * the zones in which those objects appear must be identified before the system will operate
1301  * correctly in Detection mode. Multiple obstructions can be defined for a single sensor.
1302  *
1303  * @public @memberof GoWebScanSettingsSensor
1304  * @param sensor GoWebScanSettingsSensor object.
1305  * @param obstruction Pointer to the obstruction to add.
1306  * @return Operation status.
1307  * @see GoWebScanObstruction
1308  */
1309 GoWebScanFx(kStatus) GoWebScanSettingsSensor_AddObstruction(GoWebScanSettingsSensor sensor, const GoWebScanObstruction* obstruction);
1310 
1311 /**
1312  * Removes an obstruction from the sensor's list of obstructions.
1313  *
1314  * @public @memberof GoWebScanSettingsSensor
1315  * @param sensor GoWebScanSettingsSensor object.
1316  * @param index Index of the obstruction.
1317  * @return Operation status.
1318  */
1320 
1321 /**
1322  * Removes all obstructions defined for a sensor.
1323  *
1324  * @public @memberof GoWebScanSettingsSensor
1325  * @param sensor GoWebScanSettingsSensor object.
1326  * @return Operation status.
1327  */
1329 
1330 /**
1331  * Gets the settings file of the parent group the sensor is part of.
1332  *
1333  * @public @memberof GoWebScanSettingsSensor
1334  * @param sensor GoWebScanSettingsSensor object.
1335  * @return GoWebScanSettingsGroup object representing parent group.
1336  */
1338 
1339 /**
1340  * Gets the system plane the sensor is located in.
1341  *
1342  * @public @memberof GoWebScanSettingsSensor
1343  * @param sensor GoWebScanSettingsSensor object.
1344  * @return System plane of sensor.
1345  */
1347 
1348 /**
1349 * Gets the index of the sensor with respect to the group.
1350 *
1351 * @public @memberof GoWebScanSettingsSensor
1352 * @param sensor GoWebScanSettingsSensor object.
1353 * @return Index of sensor in group.
1354 */
1356 
1357 /**
1358  * Gets the serial number of the sensor. For systems with vision where the
1359  * GoWebScanSettingsSensor object represents a profile-vision pair, this
1360  * returns the profile serial number.
1361  *
1362  * @public @memberof GoWebScanSettingsSensor
1363  * @param sensor GoWebScanSettingsSensor object.
1364  * @return Profile serial number.
1365  */
1367 
1368 /**
1369  * Gets the serial number of the vision sensor in a profile-vision pair (for vision systems
1370  * only). If the system has no vision, this will return GO_WEB_SCAN_UNASSIGNED_SERIAL_NUMBER.
1371  *
1372  * @public @memberof GoWebScanSettingsSensor
1373  * @param sensor GoWebScanSettingsSensor object.
1374  * @return Vision serial number.
1375  */
1377 
1378 /**
1379 * Gets a flag for whether the sensor is enabled.
1380 *
1381 * @public @memberof GoWebScanSettingsSensor
1382 * @param sensor GoWebScanSettingsSensor object.
1383 * @return Boolean for whether sensor is enabled.
1384 */
1386 
1387 /**
1388  * Gets the effective X center of the sensor in system coordinates (mils). If
1389  * GoWebScanSettings_SetUseXCenters has been enabled and an X center has been set via
1390  * GoWebScanSettingsSensor_SetXCenter, this will be returned, otherwise the X center will be
1391  * calculated assuming nominal 24'' spacing between sensor centers (e.g., 12'', 36'', etc..).
1392  *
1393  * @public @memberof GoWebScanSettingsSensor
1394  * @param sensor GoWebScanSettingsSensor object.
1395  * @return Effective X center (mils).
1396  */
1398 
1399 /**
1400  * Gets the number of obstructions defined for a sensor.
1401  *
1402  * @public @memberof GoWebScanSettingsSensor
1403  * @param sensor GoWebScanSettingsSensor object.
1404  * @return Number of obstructions.
1405  */
1407 
1408 /**
1409  * Gets the obstruction at a specified index.
1410  *
1411  * @public @memberof GoWebScanSettingsSensor
1412  * @param sensor GoWebScanSettingsSensor object.
1413  * @param index Obstruction index.
1414  * @return Pointer to the obstruction.
1415  */
1416 GoWebScanFx(GoWebScanObstruction*) GoWebScanSettingsSensor_ObstructionAt(GoWebScanSettingsSensor sensor, kSize index);
1417 
1418 /**
1419  * Gets the array list of obstructions defined for a sensor.
1420  *
1421  * @public @memberof GoWebScanSettingsSensor
1422  * @param sensor GoWebScanSettingsSensor object.
1423  * @return Array list of obstructions. Type GoWebScanObstruction.
1424  */
1426 
1427 /**
1428  * Sets the mounting location of the sensor, in system coordinates (mils). This setting
1429  * has no effect unless GoWebScanSettings_SetUseXCenters() is also enabled.
1430  *
1431  * @public @memberof GoWebScanSettingsSensor
1432  * @param sensor GoWebScanSettingsSensor object.
1433  * @param value X center of sensor (mils).
1434  * @return Operation status.
1435  */
1437 
1438 /**
1439  * Gets the mounting location of the sensor, in system coordinates (mils). This setting
1440  * has no effect unless GoWebScanSettings_SetUseXCenters() is also enabled.
1441  *
1442  * @public @memberof GoWebScanSettingsSensor
1443  * @param sensor GoWebScanSettingsSensor object.
1444  * @return X center of sensor (mils).
1445  */
1447 
1448 /**
1449  * Sets the start of an obstruction zone along the X-axis (length), in sensor coordinates (mils).
1450  *
1451  * @public @memberof GoWebScanSettingsSensor
1452  * @param sensor GoWebScanSettingsSensor object.
1453  * @param index Obstruction index.
1454  * @param value Start of obstruction in X (mils).
1455  * @return Operation status.
1456  */
1458 
1459 /**
1460 * Gets the start of an obstruction zone along the X-axis (length), in sensor coordinates (mils).
1461 *
1462 * @public @memberof GoWebScanSettingsSensor
1463 * @param sensor GoWebScanSettingsSensor object.
1464 * @param index Obstruction index.
1465 * @return Start of obstruction in X (mils).
1466 */
1468 
1469 /**
1470 * Sets the end of an obstruction zone along the X-axis (length), in sensor coordinates (mils).
1471 *
1472 * @public @memberof GoWebScanSettingsSensor
1473 * @param sensor GoWebScanSettingsSensor object.
1474 * @param index Obstruction index.
1475 * @param value End of obstruction in X (mils).
1476 * @return Operation status.
1477 */
1479 
1480 /**
1481 * Gets the end of an obstruction zone along the X-axis (length), in sensor coordinates (mils).
1482 *
1483 * @public @memberof GoWebScanSettingsSensor
1484 * @param sensor GoWebScanSettingsSensor object.
1485 * @param index Obstruction index.
1486 * @return End of obstruction in X (mils).
1487 */
1489 
1490 /**
1491 * Sets the start of an obstruction zone along the Z-axis (height), in sensor coordinates (mils).
1492 *
1493 * @public @memberof GoWebScanSettingsSensor
1494 * @param sensor GoWebScanSettingsSensor object.
1495 * @param index Obstruction index.
1496 * @param value Start of obstruction in Z (mils).
1497 * @return Operation status.
1498 */
1500 
1501 /**
1502 * Gets the start of an obstruction zone along the Z-axis (height), in sensor coordinates (mils).
1503 *
1504 * @public @memberof GoWebScanSettingsSensor
1505 * @param sensor GoWebScanSettingsSensor object.
1506 * @param index Obstruction index.
1507 * @return Start of obstruction in Z (mils).
1508 */
1510 
1511 /**
1512 * Sets the end of an obstruction zone along the Z-axis (height), in sensor coordinates (mils).
1513 *
1514 * @public @memberof GoWebScanSettingsSensor
1515 * @param sensor GoWebScanSettingsSensor object.
1516 * @param index Obstruction index.
1517 * @param value End of obstruction in Z (mils).
1518 * @return Operation status.
1519 */
1521 
1522 /**
1523 * Gets the end of an obstruction zone along the Z-axis (height), in sensor coordinates (mils).
1524 *
1525 * @public @memberof GoWebScanSettingsSensor
1526 * @param sensor GoWebScanSettingsSensor object.
1527 * @param index Obstruction index.
1528 * @return End of obstruction in Z (mils).
1529 */
1531 
1532 #include <GoWebScanSdk/GoWebScanSettings.x.h>
1533 
1534 #endif
kStatus GoWebScanSettings_SetCalUseVisionIntensity(GoWebScanSettings settings, kBool value)
Sets whether GoWebScan enables (1) or disables (0) the use of target intensities for each color chann...
kStatus GoWebScanSettingsSensor_RemoveObstruction(GoWebScanSettingsSensor sensor, kSize index)
Removes an obstruction from the sensor's list of obstructions.
kStatus GoWebScanSettings_SetVisionExposure(GoWebScanSettings settings, k32u value)
Sets the vision exposure in microseconds.
kStatus GoWebScanSettingsSensor_SetEnabled(GoWebScanSettingsSensor sensor, kBool enabled)
Sets whether the sensor is enabled.
kStatus GoWebScanSettings_Store(GoWebScanSettings settings, const kChar *fileName)
Stores the settings XML to a specified path.
k32s GoWebScanSettings_TracheidYResolution(GoWebScanSettings settings)
Gets the tracheid Y resolution (mils per tracheid value, across board width).
kStatus GoWebScanSettingsGroup_SetPlane(GoWebScanSettingsGroup group, GoWebScanSystemPlane plane)
Sets the system plane for the group.
kStatus GoWebScanSettings_SetCalYAdjustment(GoWebScanSettings settings, k32s value)
Sets the offset applied to the Y-coordinates of all data (profile, vision, tracheid) in Web or Detect...
Represents a style of triggering the start of an object when in detection mode. The start of an objec...
kStatus GoWebScanSettings_SetDetectTriggerStyle(GoWebScanSettings settings, GoWebScanDetectionStyle value)
Sets the type of object detection trigger: Global (0) or Local (1).
Represents a style of interpolation used during profile resampling.
kStatus GoWebScanSettingsSensor_ClearObstructions(GoWebScanSettingsSensor sensor)
Removes all obstructions defined for a sensor.
kStatus GoWebScanSettingsSensor_SetProfileSerialNumber(GoWebScanSettingsSensor sensor, k32s serialNumber)
Sets the serial number of the profile sensor in a paired profile-vision GoWebScanSettingsSensor objec...
kStatus GoWebScanSettings_SetCalVisionIntensityB(GoWebScanSettings settings, k8u value)
Sets the desired blue intensity level for the calibration target (1 - 255).
kSize GoWebScanSettings_SensorCount(GoWebScanSettings settings)
Gets the number of sensors in the system.
k32s GoWebScanSettingsSensor_ObstructionZ1(GoWebScanSettingsSensor sensor, kSize index)
Gets the end of an obstruction zone along the Z-axis (height), in sensor coordinates (mils)...
k32s GoWebScanSettingsSensor_ObstructionX1(GoWebScanSettingsSensor sensor, kSize index)
Gets the end of an obstruction zone along the X-axis (length), in sensor coordinates (mils)...
k32s GoWebScanSettingsSensor_ObstructionX0(GoWebScanSettingsSensor sensor, kSize index)
Gets the start of an obstruction zone along the X-axis (length), in sensor coordinates (mils)...
kStatus GoWebScanSettingsGroup_SetSectionX1(GoWebScanSettingsGroup group, kSize index, k32s value)
Sets the end of section along the X-axis (length), in system coordinates (mils).
GoWebScanObstruction * GoWebScanSettingsSensor_ObstructionAt(GoWebScanSettingsSensor sensor, kSize index)
Gets the obstruction at a specified index.
kStatus GoWebScanSettingsSensor_SetParent(GoWebScanSettingsSensor sensor, GoWebScanSettingsGroup parent)
Sets the parent group the sensor is in.
k64f GoWebScanSettings_CalYIntervalDivisor(GoWebScanSettings settings)
Gets the Y interval divisor which is used when calculating minimum Y-interval for retained data durin...
kStatus GoWebScanSettings_SetCalYIntervalDivisor(GoWebScanSettings settings, k64f value)
Sets the divisor to use when calculating minimum Y-interval for retained data during calibration data...
kStatus GoWebScanSettingsSensor_SetVisionSerialNumber(GoWebScanSettingsSensor sensor, k32s serialNumber)
Sets the serial number of the vision sensor in a paired profile-vision GoWebScanSettingsSensor object...
kStatus GoWebScanSettings_SetSimulatedSpeed(GoWebScanSettings settings, k64f value)
Sets the simulated encoder speed.
kStatus GoWebScanSettingsGroup_AddSensor(GoWebScanSettingsGroup group, GoWebScanSettingsSensor sensor)
Adds a sensor, as defined by a GoWebScanSettingsSensor object, to the group.
kBool GoWebScanSettings_DetectEdgeFilter(GoWebScanSettings settings)
Gets a flag for whether the detection edge filter is enabled.
kStatus GoWebScanSettingsSensor_Construct(GoWebScanSettingsSensor *sensor, kAlloc allocator)
Constructs a GoWebScanSettingsSensor object.
kStatus GoWebScanSettingsGroup_ClearSensors(GoWebScanSettingsGroup group)
Clears and disposes all sensors from the group.
k32s GoWebScanSettings_CalXAdjustment(GoWebScanSettings settings)
Gets the X adjustment offset in mils.
GoWebScanSettings GoWebScanSettingsGroup_Parent(GoWebScanSettingsGroup group)
Gets the settings of the system the group is in.
kStatus GoWebScanSettingsGroup_SetSectionType(GoWebScanSettingsGroup group, kSize index, k32s value)
Sets the section type.
kStatus GoWebScanSettings_SetUseObstructions(GoWebScanSettings settings, kBool value)
Sets whether to manually remove regions from the calibration input data via user-defined obstructions...
k32s GoWebScanSettings_TracheidXResolution(GoWebScanSettings settings)
Gets the tracheid X resolution (mils per tracheid pixel, along board length).
k32s GoWebScanSettings_GapFill(GoWebScanSettings settings)
Gets the maximum distance to fill gaps in data along the X-axis (mils).
GoWebScanSettingsSensor GoWebScanSettings_SensorAt(GoWebScanSettings settings, kSSize index)
Gets the GoWebScanSettingsSensor object representing a sensor at a specified index in the system...
Represents a container for user-configurable settings of the system. The class reads and writes the s...
kStatus GoWebScanSettingsSensor_AddObstruction(GoWebScanSettingsSensor sensor, const GoWebScanObstruction *obstruction)
Adds an obstruction to the sensor.
Essential GoWebScan declarations.
GoWebScanSystemPlane GoWebScanSettingsGroup_Plane(GoWebScanSettingsGroup group)
Gets the system plane of a group.
kStatus GoWebScanSettings_SetObstructionFilter(GoWebScanSettings settings, kBool value)
Sets whether GoWebScan should remove profile points contained within obstruction regions from output ...
kStatus GoWebScanSettings_SetGapFill(GoWebScanSettings settings, k32s value)
Sets the maximum distance to fill gaps in data along the X-axis (mils).
kStatus GoWebScanSettings_SetProfileInterpolation(GoWebScanSettings settings, GoWebScanInterpolation value)
Sets the method used to resample profile points along the X-axis: Nearest Neighbor (0)...
kStatus GoWebScanSettingsSensor_SetObstructionZ1(GoWebScanSettingsSensor sensor, kSize index, k32s value)
Sets the end of an obstruction zone along the Z-axis (height), in sensor coordinates (mils)...
kStatus GoWebScanSettings_SetTravelOrientation(GoWebScanSettings settings, k32s value)
Sets the travel orientation which specifies the direction of conveyor movement: Moving Toward (1) or ...
kStatus GoWebScanSettings_SetTracheidExposure(GoWebScanSettings settings, k32u value)
Sets the tracheid exposure in microseconds.
k32s GoWebScanSettings_VisionYResolution(GoWebScanSettings settings)
Gets the vision Y resolution (mils per vision pixel, across board width).
k32s GoWebScanSettingsSensor_ProfileSerialNumber(GoWebScanSettingsSensor sensor)
Gets the serial number of the sensor.
kArrayList GoWebScanSettingsSensor_Obstructions(GoWebScanSettingsSensor sensor)
Gets the array list of obstructions defined for a sensor.
k64f GoWebScanSettings_SimulatedSpeed(GoWebScanSettings settings)
Gets the simulated encoder speed.
kStatus GoWebScanSettings_SetProfileFrameRate(GoWebScanSettings settings, k32u value)
Sets the frame rate to configure profile sensors to, in Hz.
k32s GoWebScanSettings_CalYAdjustment(GoWebScanSettings settings)
Gets the Y adjustment offset in mils.
kStatus GoWebScanSettings_SetDetectMaxWidth(GoWebScanSettings settings, k32s value)
Sets the maximum width of a detection output (mils), including edge margins.
kBool GoWebScanSettingsSensor_Enabled(GoWebScanSettingsSensor sensor)
Gets a flag for whether the sensor is enabled.
k32s GoWebScanSettingsGroup_SectionType(GoWebScanSettingsGroup group, kSize index)
Gets the section type.
k32s GoWebScanSettings_DetectMaxWidth(GoWebScanSettings settings)
Gets the detection maximum width in mils.
kStatus GoWebScanSettingsSensor_SetXCenter(GoWebScanSettingsSensor sensor, k32s value)
Sets the mounting location of the sensor, in system coordinates (mils).
k32s GoWebScanSettingsGroup_SectionId(GoWebScanSettingsGroup group, kSize index)
Gets the section ID.
kStatus GoWebScanSettings_SetCalVisionIntensityR(GoWebScanSettings settings, k8u value)
Sets the desired red intensity level for the calibration target (1 - 255).
kBool GoWebScanSettings_DetectBackgroundFilter(GoWebScanSettings settings)
Gets flag for whether the background filter is enabled.
k32u GoWebScanSettings_ProfileExposure(GoWebScanSettings settings)
Gets the profile exposure in microseconds.
kBool GoWebScanSettings_UseXCenters(GoWebScanSettings settings)
Gets the flag for whether GoWebScan uses user-defined X-centers.
kStatus GoWebScanSettings_SetEncoderSimulated(GoWebScanSettings settings, kBool value)
Enables simulating forward motion by overriding encoder values in data messages with simulated values...
kStatus GoWebScanSettings_SetVisionYResolution(GoWebScanSettings settings, k32s value)
Sets the vision Y resolution (mils per vision pixel, across board width).
kBool GoWebScanSettings_CalUseVisionIntensity(GoWebScanSettings settings)
Gets a flag for whether the use of target intensities for each color channel during vision system cal...
k32u GoWebScanSettings_TracheidExposure(GoWebScanSettings settings)
Gets the tracheid exposure in microseconds.
GoWebScanInterpolation GoWebScanSettings_ProfileInterpolation(GoWebScanSettings settings)
Gets the profile interpolation method: Nearest Neighbor (0), or Linear Interpolation (1)...
GoWebScanSection * GoWebScanSettingsGroup_SectionAt(GoWebScanSettingsGroup group, kSize index)
Gets a pointer to the section at a specified index.
k32s GoWebScanSettings_OverlapBlend(GoWebScanSettings settings)
Gets the overlap blend distance in mils.
kStatus GoWebScanSettings_SetVisionXResolution(GoWebScanSettings settings, k32s value)
Sets the vision X resolution (mils per vision pixel, along board length).
kStatus GoWebScanSettings_SetProfileExposure(GoWebScanSettings settings, k32u value)
Sets the profile exposure in microseconds.
kBool GoWebScanSettings_TracheidEnabled(GoWebScanSettings settings)
Gets the flag for whether tracheid data is enabled.
k32s GoWebScanSettings_DetectEdgeMargin(GoWebScanSettings settings)
Gets the detection edge margin in mils.
kStatus GoWebScanSettingsGroup_Construct(GoWebScanSettingsGroup *group, GoWebScanSettings parent, kAlloc allocator)
Constructs a GoWebScanSettingsGroup object.
kBool GoWebScanSettings_CalUseObstructions(GoWebScanSettings settings)
Gets a flag for whether to manually remove regions from the calibration input data via user-defined o...
GoWebScanSystemPlane GoWebScanSettingsSensor_Plane(GoWebScanSettingsSensor sensor)
Gets the system plane the sensor is located in.
Represents a container for user-configurable settings of a group within the system. Groups represent planes (top or bottom).
kStatus GoWebScanSettings_SetXOrientation(GoWebScanSettings settings, k32s value)
Sets the sensor X orientation which represents whether the X-axis (length) increasing from left-to-ri...
k32s GoWebScanSettings_VisionXResolution(GoWebScanSettings settings)
Gets the vision X resolution (mils per vision pixel, along board length).
kStatus GoWebScanSettings_SetTracheidYResolution(GoWebScanSettings settings, k32s value)
Sets the tracheid Y resolution (mils per tracheid value, across board width).
kStatus GoWebScanSettings_SetDetectEdgeFilter(GoWebScanSettings settings, kBool value)
Sets whether GoWebScan should attempt to remove or correct edge measurement anomalies (1) or leave th...
kStatus GoWebScanSettings_Construct(GoWebScanSettings *settings, kAlloc allocator)
Constructs a GoWebScanSettings object.
kStatus GoWebScanSettingsGroup_SetSensorCount(GoWebScanSettingsGroup group, kSize count)
Sets the number of sensors in the group.
kStatus GoWebScanSettingsGroup_SetSectionX0(GoWebScanSettingsGroup group, kSize index, k32s value)
Sets the start of section along the X-axis (length), in system coordinates (mils).
kStatus GoWebScanSettings_SetTileWidth(GoWebScanSettings settings, k32s value)
Sets the width of the data (mils) included in each profile, vision, or tracheid output tile...
k32s GoWebScanSettings_TileWidth(GoWebScanSettings settings)
Gets the width of the data (mils) included in each profile, vision, or tracheid output tile...
k32s GoWebScanSettings_Concurrency(GoWebScanSettings settings)
Gets the thread count for processing tasks concurrently.
kStatus GoWebScanSettings_SetProfileXResolution(GoWebScanSettings settings, k32s value)
Sets the profile X resolution (mils per profile pixel, along board length).
kBool GoWebScanSettings_ObstructionFilter(GoWebScanSettings settings)
Gets flag for whether the obstruction filter is enabled.
k64f GoWebScanSettings_EncoderResolution(GoWebScanSettings settings)
Gets the encoder resolution in mils/tick.
GoWebScanSettingsSensor GoWebScanSettingsGroup_SensorAt(GoWebScanSettingsGroup group, kSize index)
Gets the GoWebScanSettingsSensor object representing a sensor at a specified index in the group...
k8u GoWebScanSettings_CalVisionIntensityG(GoWebScanSettings settings)
Gets the target green intensity level for vision system calibration.
kStatus GoWebScanSettingsGroup_ClearSections(GoWebScanSettingsGroup group)
Clears all sections from the list.
kStatus GoWebScanSettings_SetProfileYResolution(GoWebScanSettings settings, k32s value)
Sets the profile Y resolution (mils per profile pixel, across board width).
k32s GoWebScanSettings_ProfileXResolution(GoWebScanSettings settings)
Gets the profile X resolution (mils per profile pixel, along board length).
k32s GoWebScanSettings_TravelOrientation(GoWebScanSettings settings)
Gets the travel orientation which specifies the direction of conveyor movement: Moving Toward (1) or ...
kStatus GoWebScanSettings_EnableTracheid(GoWebScanSettings settings, kBool enable)
Enables tracheid data in the system.
kSize GoWebScanSettings_GroupCount(GoWebScanSettings settings)
Gets the number of groups (representing planes) in the system.
kSize GoWebScanSettingsSensor_ObstructionCount(GoWebScanSettingsSensor sensor)
Gets the number of obstructions defined for a sensor.
kStatus GoWebScanSettingsGroup_RemoveSection(GoWebScanSettingsGroup group, kSize index)
Removes a section from the group.
Defines GoWebScan utility functions.
kStatus GoWebScanSettingsSensor_SetObstructionZ0(GoWebScanSettingsSensor sensor, kSize index, k32s value)
Sets the start of an obstruction zone along the Z-axis (height), in sensor coordinates (mils)...
k32s GoWebScanSettings_SensorYOrientation(GoWebScanSettings settings, k32s plane)
Gets the sensor Y orientation for a given plane: Facing Toward (1) or Facing Away (0)...
Represents the top or bottom plane of the system.
k8u GoWebScanSettings_CalVisionIntensityB(GoWebScanSettings settings)
Gets the target blue intensity level for vision system calibration.
k32s GoWebScanSettingsSensor_ObstructionZ0(GoWebScanSettingsSensor sensor, kSize index)
Gets the start of an obstruction zone along the Z-axis (height), in sensor coordinates (mils)...
GoWebScanSettingsGroup GoWebScanSettings_GroupAt(GoWebScanSettings settings, kSize index)
Gets the GoWebScanSettingsGroup object representing a group at a specified index. ...
k32u GoWebScanSettings_SchemaVersion(GoWebScanSettings settings)
Gets the GoWebScanSettings file schema version.
GoWebScanDetectionStyle GoWebScanSettings_DetectTriggerStyle(GoWebScanSettings settings)
Gets the detection trigger style.
kSize GoWebScanSettingsGroup_SensorCount(GoWebScanSettingsGroup group)
Gets the number of sensors in the group.
k32u GoWebScanSettings_VisionExposure(GoWebScanSettings settings)
Gets the vision exposure in microseconds.
kStatus GoWebScanSettings_SetSensorYOrientation(GoWebScanSettings settings, GoWebScanSystemPlane plane, k32s value)
Sets the sensor Y orientation for a given plane: Facing Toward (1) or Facing Away (0)...
kStatus GoWebScanSettings_SetUseXCenters(GoWebScanSettings settings, kBool value)
Sets whether GoWebScan should use the per-sensor X-center values provided in the settings file...
kBool GoWebScanSettings_DetectSideExtension(GoWebScanSettings settings)
Gets flag for whether extending the board side edge to correct for distortions is enabled...
kStatus GoWebScanSettings_SetConcurrency(GoWebScanSettings settings, k32s value)
Sets the thread count for processing tasks concurrently.
k8u GoWebScanSettings_CalVisionIntensityR(GoWebScanSettings settings)
Gets the target red intensity level for vision system calibration.
k32s GoWebScanSettingsGroup_SectionX0(GoWebScanSettingsGroup group, kSize index)
Gets the start of section along the X-axis (length), in system coordinates (mils).
kStatus GoWebScanSettings_SetDetectSideExtension(GoWebScanSettings settings, kBool value)
Sets whether profile points which are along the board side edge and report an offset range from neigh...
kSize GoWebScanSettingsGroup_SectionCount(GoWebScanSettingsGroup group)
Gets the number of sections defined for the group.
kStatus GoWebScanSettingsSensor_SetObstructionX0(GoWebScanSettingsSensor sensor, kSize index, k32s value)
Sets the start of an obstruction zone along the X-axis (length), in sensor coordinates (mils)...
k32s GoWebScanSettingsSensor_XCenter(GoWebScanSettingsSensor sensor)
Gets the mounting location of the sensor, in system coordinates (mils).
kSize GoWebScanSettingsSensor_Index(GoWebScanSettingsSensor sensor)
Gets the index of the sensor with respect to the group.
kStatus GoWebScanSettings_EnableVision(GoWebScanSettings settings, kBool enable)
Enables vision data in the system.
kStatus GoWebScanSettings_SetDetectBackgroundFilter(GoWebScanSettings settings, kBool value)
Sets whether GoWebScan should remove tracheid and vision data where there is no corresponding profile...
kStatus GoWebScanSettings_SetDetectTriggerLength(GoWebScanSettings settings, k32s value)
Sets the length (mils) of material used to trigger object on/off events, not including material insid...
k32s GoWebScanSettingsGroup_SectionX1(GoWebScanSettingsGroup group, kSize index)
Gets the end of section along the X-axis (length), in system coordinates (mils).
k32s GoWebScanSettings_ProfileYResolution(GoWebScanSettings settings)
Gets the profile Y resolution (mils per profile pixel, across board width).
kStatus GoWebScanSettings_SetOverlapBlend(GoWebScanSettings settings, k32s value)
Sets the maximum amount of redundant camera information that can be blended together at the x- bounda...
k32u GoWebScanSettings_ProfileFrameRate(GoWebScanSettings settings)
Gets the profile frame rate in Hz.
kStatus GoWebScanSettings_SetCalXAdjustment(GoWebScanSettings settings, k32s value)
Sets the offset applied to the X-coordinates of all data (profile, vision, tracheid) in Web or Detect...
Represents a section of output system data. This can be defined by the user to allow for routing data...
Definition: GoWebScanSdkDef.h:492
k32s GoWebScanSettings_XOrientation(GoWebScanSettings settings)
Gets the sensor X orientation.
Represents a container for user-configurable settings of a sensor within the system. For systems with vision, a GoWebScanSettingsSensor object represents a pair of vision and profile sensors (sensor mounted together).
k32s GoWebScanSettingsSensor_EffectiveXCenter(GoWebScanSettingsSensor sensor)
Gets the effective X center of the sensor in system coordinates (mils).
kStatus GoWebScanSettingsSensor_SetObstructionX1(GoWebScanSettingsSensor sensor, kSize index, k32s value)
Sets the end of an obstruction zone along the X-axis (length), in sensor coordinates (mils)...
k32s GoWebScanSettingsSensor_VisionSerialNumber(GoWebScanSettingsSensor sensor)
Gets the serial number of the vision sensor in a profile-vision pair (for vision systems only)...
kBool GoWebScanSettings_CalDetectLocators(GoWebScanSettings settings)
Gets a flag for whether the detection of calibration locators is enabled.
GoWebScanSettingsGroup GoWebScanSettingsSensor_Parent(GoWebScanSettingsSensor sensor)
Gets the settings file of the parent group the sensor is part of.
kStatus GoWebScanSettings_Load(GoWebScanSettings *settings, const kChar *fileName, kAlloc alloc)
Loads the settings XML from a specified path and constructs and initializes a GoWebScanSettings objec...
kStatus GoWebScanSettings_SetDetectEdgeMargin(GoWebScanSettings settings, k32s value)
Sets the size of the margins (mils) that will be added to the leading and trailing edge of each detec...
kStatus GoWebScanSettings_SetCalDetectLocators(GoWebScanSettings settings, kBool value)
Sets whether GoWebScan should attempt to detect calibration reference holes (1), or assume that senso...
kStatus GoWebScanSettingsGroup_SetSectionId(GoWebScanSettingsGroup group, kSize index, k32s value)
Sets the section ID.
kStatus GoWebScanSettingsSensor_SetIndex(GoWebScanSettingsSensor sensor, kSize index)
Sets the index of the sensor within the group.
k32s GoWebScanSettings_DetectTriggerLength(GoWebScanSettings settings)
Gets the detection trigger length in mils.
kStatus GoWebScanSettingsGroup_AddSection(GoWebScanSettingsGroup group, const GoWebScanSection *section)
Adds a section to the group.
kStatus GoWebScanSettings_SetCalVisionIntensityG(GoWebScanSettings settings, k8u value)
Sets the desired green intensity level for the calibration target (1 - 255).
kBool GoWebScanSettings_EncoderSimulated(GoWebScanSettings settings)
Gets the flag for whether the encoder simulator is enabled.
kStatus GoWebScanSettings_SetEncoderResolution(GoWebScanSettings settings, k64f value)
Sets the encoder resolution in mils/tick.
kBool GoWebScanSettings_VisionEnabled(GoWebScanSettings settings)
Gets the flag for whether vision data is enabled.
kStatus GoWebScanSettings_SetTracheidXResolution(GoWebScanSettings settings, k32s value)
Sets the tracheid X resolution (mils per tracheid pixel, along board length).