The Worker is a wrapper for an Worker object. The Worker object manages the tracking thread. More...
Inherits IDisposable.
Public Member Functions | |
Worker (bool syncWorker=false) | |
Constructor of Worker. | |
bool | AddCalibratedImageListener (CalibratedImageWrapperCallback listener, IntPtr clientData, VLSDK.ImageFormat format) |
Registers a listener for calibrated image events of a specific format. More... | |
bool | AddCameraCalibrationDB (string uri) |
Adds a custom camera calibration database file. More... | |
bool | AddDebugImageListener (ImageWrapperCallback listener, IntPtr clientData) |
Registers a listener for debug image events. DebugImageListeners are removed automatically, whenever the tracker gets destroyed. More... | |
bool | AddExtrinsicDataListener (ExtrinsicDataWrapperCallback listener, IntPtr clientData) |
Registers a listener for extrinsic data events. More... | |
bool | AddImageListener (ImageWrapperCallback listener, IntPtr clientData) |
Registers a listener for image events. More... | |
bool | AddIntrinsicDataListener (IntrinsicDataWrapperCallback listener, IntPtr clientData) |
Registers a listener for intrinsic data events. More... | |
bool | AddPerformanceInfoListener (StringCallback listener, IntPtr clientData) |
Registers a listener for performance information events. More... | |
bool | AddTrackingStateListener (StringCallback listener, IntPtr clientData) |
Registers a listener for tracking state events. More... | |
bool | AddWorldFromAnchorTransformListener (string anchorName, SimilarityTransformWrapperCallback listener, IntPtr clientData) |
Registers a listener for anchor to world transform events. More... | |
bool | AddWorldFromCameraTransformListener (ExtrinsicDataWrapperCallback listener, IntPtr clientData) |
Registers a listener for world to camera transform events. More... | |
delegate void | BoolCallback (bool data, IntPtr clientData) |
delegate void | CalibratedImageWrapperCallback (IntPtr handle, IntPtr clientData) |
void | Dispose () |
Explicitly releases references to unmanaged resources. More... | |
delegate void | ExtrinsicDataWrapperCallback (IntPtr handle, IntPtr clientData) |
DeviceInfo | GetDeviceInfo () |
Retrieves the device info object from the Worker. More... | |
bool | GetDisposed () |
Image | GetImageSync () |
Returns a pointer to the camera image. More... | |
LicenseInformation | GetLicenseInformation () |
Retrieves the license information object. More... | |
ExtrinsicData | GetNodeExtrinsicDataSync (string node, string key) |
Image | GetNodeImageSync (string node, string key) |
IntrinsicData | GetNodeIntrinsicDataSync (string node, string key) |
SimilarityTransform | GetNodeSimilarityTransformSync (string node, string key) |
TrackingState | GetNodeTrackingStateSync (string node) |
delegate void | ImageWrapperCallback (IntPtr handle, IntPtr clientData) |
delegate void | IntrinsicDataWrapperCallback (IntPtr handle, IntPtr clientData) |
bool | IsRunning () |
Returns whether the thread is currently running or not. More... | |
delegate void | JsonStringAndBinaryCallback ([MarshalAs(UnmanagedType.LPStr)] string error, [MarshalAs(UnmanagedType.LPStr)] string result, IntPtr data, System.UInt32 dataSize, IntPtr clientData) |
delegate void | JsonStringCallback ([MarshalAs(UnmanagedType.LPStr)] string errorJson, [MarshalAs(UnmanagedType.LPStr)] string dataJson, IntPtr clientData) |
bool | LoadPlugin (string pluginName) |
Loads the Plugin with the given name. More... | |
bool | PollEvents () |
Calls the registered listeners for the enqueued events. More... | |
bool | ProcessCallbacks () |
Executes all enqueued callbacks. More... | |
bool | PushCommand (WorkerCommands.CommandBase cmd, JsonStringCallback callback, IntPtr clientData) |
Enqueues a command for the tracking thread. More... | |
bool | PushCommand (WorkerCommands.JsonAndBinaryCommandBase cmd, JsonStringAndBinaryCallback callback, IntPtr clientData) |
Enqueues a command for the tracking thread using a JSON string and binary data - THIS FUNCTION IS CONSIDERED AS BETA AND MAY BE MATTER OF CHANGE. More... | |
bool | RemoveCalibratedImageListener (CalibratedImageWrapperCallback listener, IntPtr clientData, VLSDK.ImageFormat format) |
Unregisters a listener from calibrated image events. More... | |
bool | RemoveDebugImageListener (ImageWrapperCallback listener, IntPtr clientData) |
Unregisters a listener from debug image events. More... | |
bool | RemoveExtrinsicDataListener (ExtrinsicDataWrapperCallback listener, IntPtr clientData) |
Unregisters a listener from extrinsic data events. More... | |
bool | RemoveImageListener (ImageWrapperCallback listener, IntPtr clientData) |
Unregisters a listener from image events. More... | |
bool | RemoveIntrinsicDataListener (IntrinsicDataWrapperCallback listener, IntPtr clientData) |
Unregisters a listener from intrinsic data events. More... | |
bool | RemovePerformanceInfoListener (StringCallback listener, IntPtr clientData) |
Unregisters a listener from performance info events. More... | |
bool | RemoveTrackingStateListener (StringCallback listener, IntPtr clientData) |
Unregisters a listener from tracking state events. More... | |
bool | RemoveWorldFromAnchorTransformListener (string anchorName, SimilarityTransformWrapperCallback listener, IntPtr clientData) |
Unregisters a listener from anchor to world transform events. More... | |
bool | RemoveWorldFromCameraTransformListener (ExtrinsicDataWrapperCallback listener, IntPtr clientData) |
Unregisters a listener from world to camera transform events. More... | |
bool | RunOnceSync () |
Processes the enqueued commands and the tracking once. More... | |
bool | SetLicenseFileData (string licenseFileData) |
Allows to inject the license data from memory More... | |
bool | SetLicenseFilePath (string licenseFilePath) |
Sets the path of the license file in the system. More... | |
bool | SetNodeExtrinsicDataSync (ExtrinsicData extrinsicData, string node, string key) |
bool | SetNodeImageSync (Image image, string node, string key) |
bool | SetNodeIntrinsicDataSync (IntrinsicData intrinsicData, string node, string key) |
bool | SetNodeSimilarityTransformSync (SimilarityTransform similarityTransform, string node, string key) |
delegate void | SimilarityTransformWrapperCallback (IntPtr handle, IntPtr clientData) |
bool | Start () |
Starts the tracking thread. More... | |
bool | Stop () |
Stops the tracking thread. More... | |
delegate void | StringCallback ([MarshalAs(UnmanagedType.LPStr)] string message, IntPtr clientData) |
bool | WaitEvents (uint timeout) |
Waits for enqueued events and calls the registered listeners. More... | |
|
inline |
Registers a listener for calibrated image events of a specific format.
listener | Listener which will be notified during the event processing, if a calibrated image event occurred. |
clientData | The listener function will be called with the given pointer value as argument. |
format | The image format for which the listener is receiving events. |
true
, if the listener was registered successfully; false
otherwise.
|
inline |
Adds a custom camera calibration database file.
The calibration database must be added before loading a tracking configuration.
true
, if the camera calibration database URI was added successfully; false
otherwise. false
will also be returned, if the URI was added already. uri | URI to the camera calibration database file |
|
inline |
Registers a listener for debug image events. DebugImageListeners are removed automatically, whenever the tracker gets destroyed.
listener | Listener which will be notified during the event processing, if an debug image event occurred. |
clientData | The listener function will be called with the given pointer value as parameter. |
true
, if the listener was registered successfully; false
otherwise.
|
inline |
Registers a listener for extrinsic data events.
listener | Listener which will be notified during the event processing, if an extrinsic data event occurred. |
clientData | The listener function will be called with the given pointer value as parameter. |
true
, if the listener was registered successfully; false
otherwise.
|
inline |
Registers a listener for image events.
listener | Listener which will be notified during the event processing, if an image event occurred. |
clientData | The listener function will be called with the given pointer value as parameter. |
true
, if the listener was registered successfully; false
otherwise.
|
inline |
Registers a listener for intrinsic data events.
listener | Listener which will be notified during the event processing, if an intrinsic data event occurred. |
clientData | The listener function will be called with the given pointer value as argument. |
true
, if the listener was registered successfully; false
otherwise.
|
inline |
Registers a listener for performance information events.
listener | Listener which will be notified during the event processing, if a performance info state event occurred. |
clientData | The listener function will be called with the given pointer value as parameter. |
true
, if the listener was registered successfully; false
otherwise.
|
inline |
Registers a listener for tracking state events.
listener | Listener which will be notified during the event processing, if an tracking state event occurred. |
clientData | The listener function will be called with the given pointer value as parameter. |
true
, if the listener was registered successfully; false
otherwise.
|
inline |
Registers a listener for anchor to world transform events.
anchorName | Name of the anchor which the listener should be getting the similarity transform from. |
listener | Listener which will be notified during the event processing, if an similarity transform event occurred. |
clientData | The listener function will be called with the given pointer value as parameter. |
true
, if the listener was registered successfully; false
otherwise.
|
inline |
Registers a listener for world to camera transform events.
listener | Listener which will be notified during the event processing, if an world to camera transform event occurred. |
clientData | The listener function will be called with the given pointer value as parameter. |
true
, if the listener was registered successfully; false
otherwise.
|
inline |
Explicitly releases references to unmanaged resources.
Call Dispose when you are finished using the Worker. The Dispose method leaves the Worker in an unusable state. After calling Dispose, you must release all references to the Worker so the garbage collector can reclaim the memory that the Worker was occupying.
|
inline |
Retrieves the device info object from the Worker.
DeviceInfo
, if the device info was acquired successfully; null
otherwise.
|
inline |
Returns a pointer to the camera image.
This function only works, if the Worker was created as synchronous instance.
NOTICE: This functions is experimental and might get removed in future.
VLImageWrapper
, on success; null
, otherwise.
|
inline |
Retrieves the license information object.
LicenseInformation
, if the license information was acquired successfully; null
otherwise.
|
inline |
Returns whether the thread is currently running or not.
true
, if the thread is running; false
otherwise.
|
inline |
Loads the Plugin with the given name.
pluginName | The name of the plugin to load |
true
, on success; false
otherwise.
|
inline |
Calls the registered listeners for the enqueued events.
Listeners aren't called immediately from the tracking thread in order to avoid synchronization problems. Instead this method should be called regularly from the main thread.
true
, if the events where processed successfully; false
otherwise.
|
inline |
Executes all enqueued callbacks.
Callbacks aren't called immediately from the tracking thread in order to avoid synchronization problems. Instead this method should be called regularly from the main thread.
true
, if the command was enqueue successfully; false
otherwise.
|
inline |
Enqueues a command for the tracking thread.
A callback will called once after the processing has finished.
The different commands are defined inside the WorkerCommands namespace.
cmd | The command object. |
callback | Callback, which will be called inside ProcessCallbacks after the command was processed. |
clientData | The callback function will be called with the given pointer value. |
true
, if the command was enqueue successfully; false
otherwise.
|
inline |
Enqueues a command for the tracking thread using a JSON string and binary data - THIS FUNCTION IS CONSIDERED AS BETA AND MAY BE MATTER OF CHANGE.
The command gets processed asynchronously by the tracking thread and a callback will called once after the processing has finished. Since the memory is pinned until the callback is called in order to prevent multiple copies, the static FreeBinaryMemory() function should be called from the callback, in order to free allocated memory, which has eventually being passed to the function.
cmd | A command containing a JSON string describing the binary data, the binary data itself and the size of the binary data. |
callback | Callback, which will be called inside ProcessCallbacks after the command was processed. |
clientData | The callback function will be called with the given pointer value. |
true
, if the command was enqueue successfully; false
otherwise (usually some JSON syntax error).
|
inline |
Unregisters a listener from calibrated image events.
listener | Listener which should be unregistered. |
clientData | Pointer value used as parameter during the registration of the listener. |
format | The image format for which the listener has been registered. |
true
, if the listener was unregistered successfully; false
otherwise.
|
inline |
Unregisters a listener from debug image events.
listener | Listener which should be unregistered. |
clientData | Pointer value used as parameter during the registration of the listener. |
true
, if the listener was unregistered successfully; false
otherwise.
|
inline |
Unregisters a listener from extrinsic data events.
listener | Listener which should be unregistered. |
clientData | Pointer value used as parameter during the registration of the listener. |
true
, if the listener was unregistered successfully; false
otherwise.
|
inline |
Unregisters a listener from image events.
listener | Listener which should be unregistered. |
clientData | Pointer value used as parameter during the registration of the listener. |
true
, if the listener was unregistered successfully; false
otherwise.
|
inline |
Unregisters a listener from intrinsic data events.
listener | Listener which should be unregistered. |
clientData | Pointer value used as parameter during the registration of the listener. |
true
, if the listener was unregistered successfully; false
otherwise.
|
inline |
Unregisters a listener from performance info events.
listener | Listener which should be unregistered. |
clientData | Pointer value used as parameter during the registration of the listener. |
true
, if the listener was unregistered successfully; false
otherwise.
|
inline |
Unregisters a listener from tracking state events.
listener | Listener which should be unregistered. |
clientData | Pointer value used as parameter during the registration of the listener. |
true
, if the listener was unregistered successfully; false
otherwise.
|
inline |
Unregisters a listener from anchor to world transform events.
anchorName | Name of the anchor from which the listener should be removed. |
listener | Listener which should be unregistered. |
clientData | Pointer value used as parameter during the registration of the listener. |
true
, if the listener was unregistered successfully; false
otherwise.
|
inline |
Unregisters a listener from world to camera transform events.
listener | Listener which should be unregistered. |
clientData | Pointer value used as parameter during the registration of the listener. |
true
, if the listener was unregistered successfully; false
otherwise.
|
inline |
Processes the enqueued commands and the tracking once.
This function only works, if the Worker was created as synchronous instance. The target number of FPS will get ignored. After calling this function you should call Worker.ProcessCallbacks and Worker.PollEvents to invoke callbacks and registered listeners.
true
, on success; false
otherwise.
|
inline |
Allows to inject the license data from memory
data | String with the license data. |
true
, on success; false
otherwise.
|
inline |
Sets the path of the license file in the system.
Calling of this function is mandatory for starting the tracking configuration.
path | The absolute location of the file. |
true
, on success; false
otherwise.
|
inline |
Starts the tracking thread.
true
, if the thread was started successfully; false
otherwise.
|
inline |
Stops the tracking thread.
true
, if the thread was stopped successfully; false
otherwise.
|
inline |
Waits for enqueued events and calls the registered listeners.
Listeners aren't called immediately from the tracking thread in order to avoid synchronization problems. Instead this method should be called regularly from the main thread.
timeout | Number of milliseconds before stopping to wait. Under normal circumstances this shouldn't happen, but in case something went wrong, we don't want to wait indefinitely. |
true
, on success or false
, if there was an error while waiting for events. false
is also returned, if the tracking is enabled, but the timeout elapsed without an event arriving.