GoWebScan API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
GoWebScanSyncTask.h
Go to the documentation of this file.
1 /**
2 * @file GoWebScanSyncTask.h
3 * @brief Declares a GoWebScanSyncTask 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_SYNC_TASK_H
12 #define GO_WEB_SCAN_SYNC_TASK_H
13 
18 
19 /**
20 * @class GoWebScanSyncTask
21 * @extends kObject
22 * @ingroup GoWebScanSdk-Control
23 * @brief Represents a task to match profile, vision, and tracheid tiles by Y-position and
24 * monitor for time and distance coherency violations.
25 *
26 * A GoWebScanSyncTask object receives tiles corresponding to the profile, presence,
27 * vision, and tracheid data from all individual cameras. Tiles are matched by
28 * Y-position, and then emitted in lists corresponding to the profile, presence,
29 * vision, and tracheid data in the top and/or bottom groups. The task receives
30 * GoWebScanProfileTileMsg, GoWebScanVisionTileMsg, and GoWebScanTracheidTileMsg
31 * objects and outputs GoWebScanTileListMsg objects for each data type. A GoWebScanSyncTask
32 * instance delegates most of its work to the GoWebScanTileCombiner algorithm.
33 * Incoming messages are passed directly to the GoWebScanTileCombiner instance, and
34 * outputs from the GoWebScanTileCombiner are immediately emitted as outputs from the
35 * GoWebScanSyncTask.
36 */
38 
39 // Forward declaration
41 
42 /**
43  * Constructs a GoWebScanSyncTask object.
44  *
45  * @public @memberof GoWebScanSyncTask
46  * @param task Receives the constructed GoWebScanSyncTask object.
47  * @param process Associated GoWebScanProcess object.
48  * @param config System configuration.
49  * @param allocator Memory allocator (or kNULL for default).
50  * @return Operation status.
51  */
52 GoWebScanFx(kStatus) GoWebScanSyncTask_Construct(GoWebScanSyncTask* task, GoWebScanProcess process, GoWebScanConfig config, kAlloc allocator);
53 
54 /**
55  * Sets the handler for receiving synced tile sets for each data type and plane.
56  *
57  * @public @memberof GoWebScanSyncTask
58  * @param task GoWebScanSyncTask object.
59  * @param id Message type ID.
60  * @param plane System plane.
61  * @param send Callback function.
62  * @param context Receiver argument for callback.
63  * @return Operation status.
64  */
66 
67 /**
68 * Adds a message to the processing queue. Dequeues a message at the end of the queue to submit
69 * to the pipe for scheduling if no other job is currently pending.
70 *
71 * @public @memberof GoWebScanSyncTask
72 * @param task GoWebScanSyncTask object.
73 * @param msg Profile input message to enqueue.
74 * @return Operation status.
75 */
77 
78 /**
79 * Clears the tile combiner algorithm and resets internal variables.
80 *
81 * @public @memberof GoWebScanSyncTask
82 * @param task GoWebScanSyncTask object.
83 * @return Operation status.
84 */
86 
87 #include <GoWebScanSdk/GoWebScanSyncTask.x.h>
88 
89 #endif
Declares the GoWebScanPipeTask class.
Represents a task for processing raw sensor data to produce system web tiles (Web mode) or detected o...
Declares a GoWebScanPipe object.
kStatus(kCall * GoWebScanPipeSendFx)(kPointer context, GoWebScanPipeMsg msg)
Defines the signature of the handler used by tasks to receive a message from the pipe.
Definition: GoWebScanPipe.h:33
Represents an ID for types of sync list messages.
kStatus GoWebScanSyncTask_Construct(GoWebScanSyncTask *task, GoWebScanProcess process, GoWebScanConfig config, kAlloc allocator)
Constructs a GoWebScanSyncTask object.
Essential GoWebScan declarations.
Represents a task to match profile, vision, and tracheid tiles by Y-position and monitor for time and...
kStatus GoWebScanSyncTask_SetReceiver(GoWebScanSyncTask task, GoWebScanSyncId id, GoWebScanSystemPlane plane, GoWebScanPipeSendFx send, kPointer context)
Sets the handler for receiving synced tile sets for each data type and plane.
kStatus GoWebScanSyncTask_Clear(GoWebScanSyncTask task)
Clears the tile combiner algorithm and resets internal variables.
Represents the top or bottom plane of the system.
kStatus GoWebScanSyncTask_Send(GoWebScanSyncTask task, GoWebScanPipeMsg msg)
Adds a message to the processing queue.
Base class for a msg that can be processed with a GoWebScanPipeTask and submitted to the GoWebScanPip...
Represents a container for system-level parameters which are translated from user parameters set in G...
Declares a GoWebScanConfig object.