C interface to the features exposed by the Interaction Library. More...
Typedefs | |
typedef struct IL_Context_ | IL_Context |
A "handle" type that identifies an actual underlying Interaction Library implementation instance. More... | |
Functions | |
IL_C_API IL_Result | IL_CreateInteractionLib (IL_Context **context, IL_FieldOfUse fieldOfUse) |
Creates an Interaction Library instance with a default adapter, if available. More... | |
IL_C_API IL_Result | IL_CreateInteractionLibWithLogger (IL_Context **context, IL_FieldOfUse fieldOfUse, IL_Logger *logger) |
Creates an Interaction Library instance with a default adapter, if available. More... | |
IL_C_API IL_Result | IL_CreateInteractionLibWithAdapter (IL_Context **context, IL_FieldOfUse fieldOfUse, IL_Logger *logger, IL_AdapterFunctions *adapterFunctions) |
Creates an Interaction Library instance with a custom adapter. More... | |
IL_C_API IL_Result | IL_DestroyInteractionLib (IL_Context *context) |
Destroys an Interaction Library instance. More... | |
IL_C_API IL_Result | IL_SetAdapter (IL_Context *context, IL_AdapterFunctions *adapterFunctions) |
Sets a custom adapter, or resets the current adapter. More... | |
IL_C_API IL_Result | IL_CoordinateTransformAddOrUpdateDisplayArea (IL_Context *context, float widthUserUnits, float heightUserUnits, float widthVirtualUnits, float heightVirtualUnits, float xOriginVirtualUnits, float yOriginVirtualUnits, const char *virtualDisplayAreaId) |
Adds a display area (usually a screen) to the coordinate transform setup. Typically call this method multiple times to add information on dpi scaling and location of all screens in the system (see sample/separate documention for details). More... | |
IL_C_API IL_Result | IL_CoordinateTransformSetOriginOffset (IL_Context *context, float xOriginOffsetVirtualUnits, float yOriginOffsetVirtualUnits) |
Sets your origin position, as it is in the virtual coordinate system. Typically used to set the window position to use window local coordinates for streams and interactors, or one could set the display center to use a centered, left-handed coordinate system. More... | |
IL_C_API IL_Result | IL_CoordinateTransformSetDisplayDensity (IL_Context *context, float xUnitsPerMm, float yUnitsPerMm) |
An alternative to IL_CoordinateTransformAddOrUpdateDisplayArea(), normally only used in special circumstances. More... | |
IL_C_API IL_Result | IL_BeginInteractorUpdates (IL_Context *context) |
Begins an interactor update transaction, in which many add/update/remove/clear calls are batched. More... | |
IL_C_API IL_Result | IL_CommitInteractorUpdates (IL_Context *context) |
Commits all batched interactor add/update/remove/clear calls done since IL_BeginInteractorUpdates() was called. More... | |
IL_C_API IL_Result | IL_AddOrUpdateInteractor (IL_Context *context, IL_InteractorId id, IL_Rectangle bounds, float z) |
Adds an interactor or updates an existing one, specifying its bounds and z value (the value increases towards the user). More... | |
IL_C_API IL_Result | IL_UpdateInteractorBounds (IL_Context *context, IL_InteractorId id, IL_Rectangle bounds) |
Updates the bounds for an existing interactor. More... | |
IL_C_API IL_Result | IL_UpdateInteractorZ (IL_Context *context, IL_InteractorId id, float z) |
Updates the z value for an existing interactor (the value increases towards the user). More... | |
IL_C_API IL_Result | IL_RemoveInteractor (IL_Context *context, IL_InteractorId id) |
Removes an existing interactor and all its related data. More... | |
IL_C_API IL_Result | IL_ClearInteractors (IL_Context *context) |
Removes all existing interactors. More... | |
IL_C_API IL_Result | IL_UpdateInteractorStandardWeightDistributionTypes (IL_Context *context, IL_InteractorId id, IL_WeightDistributionType weightDistributionTypes) |
Sets the built-in standard weight distribution of an interactor, e.g., center weighted or flat. More... | |
IL_C_API IL_Result | IL_AddOrUpdateCustomWeightDistributionBitmap (IL_Context *context, IL_WeightDistributionId weightDistributionId, bool isWeightDistribution, bool isStencilMap, int bitmapColumns, int bitmapRows, const unsigned char *bitmap) |
Adds a new custom weight distribution bitmap or updates an existing one. More... | |
IL_C_API IL_Result | IL_RemoveCustomWeightDistributionBitmap (IL_Context *context, IL_WeightDistributionId weightDistributionId) |
Removes an existing custom weight distribution bitmap. More... | |
IL_C_API IL_Result | IL_AddOrUpdateBindingToCustomWeightDistribution (IL_Context *context, IL_InteractorId id, IL_WeightDistributionId weightDistributionId) |
Adds a new custom weight distribution bitmap and binds it to an existing interactor, or changes an existing binding. More... | |
IL_C_API IL_Result | IL_RemoveBindingToCustomWeightDistribution (IL_Context *context, IL_InteractorId id, IL_WeightDistributionId weightDistributionId) |
Removes an existing binding to a custom weight distribution bitmap for the specified interactor. More... | |
IL_C_API IL_Result | IL_SubscribeGazeFocusEvents (IL_Context *context, IL_GazeFocusEventCallback callback, void *callbackContext) |
Subscribes to interactor gaze focus events. More... | |
IL_C_API IL_Result | IL_UnsubscribeGazeFocusEvents (IL_Context *context) |
Unsubscribes from interactor gaze focus events. More... | |
IL_C_API IL_Result | IL_SubscribeGazePointData (IL_Context *context, IL_GazePointDataCallback callback, void *callbackContext) |
Subscribes to gaze point data. More... | |
IL_C_API IL_Result | IL_SubscribeGazeOriginData (IL_Context *context, IL_GazeOriginDataCallback callback, void *callbackContext) |
Subscribes to gaze origin data. More... | |
IL_C_API IL_Result | IL_SubscribePresenceData (IL_Context *context, IL_PresenceDataCallback callback, void *callbackContext) |
Subscribes to presence data. More... | |
IL_C_API IL_Result | IL_SubscribeHeadPoseData (IL_Context *context, IL_HeadPoseDataCallback callback, void *callbackContext) |
Subscribes to head pose data. More... | |
IL_C_API IL_Result | IL_UnsubscribeGazePointData (IL_Context *context) |
Unsubscribes from gaze point data. More... | |
IL_C_API IL_Result | IL_UnsubscribeGazeOriginData (IL_Context *context) |
Unsubscribes from gaze origin data. More... | |
IL_C_API IL_Result | IL_UnsubscribePresenceData (IL_Context *context) |
Unsubscribes from presence data. More... | |
IL_C_API IL_Result | IL_UnsubscribeHeadPoseData (IL_Context *context) |
Unsubscribes from head pose data. More... | |
IL_C_API IL_Result | IL_GetDataStreamCapability (IL_Context *context, IL_StreamType streamType, IL_Capability *capability) |
Get information on the current system capabilities for a data stream. More... | |
IL_C_API IL_Result | IL_SubscribeDataStreamCapabilitiesChanged (IL_Context *context, IL_DataStreamCapabilitiesChangedCallback callback, void *callbackContext) |
This callback will be triggered on IL_UpdateStreamingDataOutput()/IL_Update()/IL_WaitAndUpdate() if capabilities have changed. Querying capabilites with GetDataStreamCapability(...) on this callback is allowed. More... | |
IL_C_API IL_Result | IL_UnsubscribeDataStreamCapabilitiesChanged (IL_Context *context) |
Unsubscribes from data stream capabilities changed notifications. More... | |
IL_C_API IL_Result | IL_WaitAndUpdate (IL_Context *context, unsigned long connectionIntervalMs) |
Checks/waits for device connection, waits for data, and updates. More... | |
IL_C_API IL_Result | IL_WaitForDeviceConnection (IL_Context *context) |
Waits for a device to be available and a connection to be established. More... | |
IL_C_API IL_Result | IL_Update (IL_Context *context) |
Updates the system and receives event callbacks that are called on the calling thread. More... | |
IL_C_API IL_Result | IL_WaitForDeviceDataAvailable (IL_Context *context) |
Waits for data from the current device. More... | |
IL_C_API IL_Result | IL_UpdateStreamingDataOutput (IL_Context *context) |
Updates stream buffers and process filters only, and publishes results on the calling thread via the registered streaming data callbacks. More... | |
IL_C_API IL_Result | IL_UpdateInteraction (IL_Context *context) |
Updates interaction buffers, performs interactor selection calculations, and publishes results on calling thread via the registered interaction event callbacks. More... | |
C interface to the features exposed by the Interaction Library.
typedef struct IL_Context_ IL_Context |
A "handle" type that identifies an actual underlying Interaction Library implementation instance.
IL_C_API IL_Result IL_CreateInteractionLib | ( | IL_Context ** | context, |
IL_FieldOfUse | fieldOfUse | ||
) |
Creates an Interaction Library instance with a default adapter, if available.
fieldOfUse | This mandatory flag denotes if the Interaction Library is used for interactive or analytical purposes. Please see the EULA and documentation for more information. | |
[out] | context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_CreateInteractionLibWithLogger | ( | IL_Context ** | context, |
IL_FieldOfUse | fieldOfUse, | ||
IL_Logger * | logger | ||
) |
Creates an Interaction Library instance with a default adapter, if available.
fieldOfUse | This mandatory flag denotes if the Interaction Library is used for interactive or analytical purposes. Please see the EULA and documentation for more information. | |
logger | Optional pointer to a structure with information about a callback function that will be called by the Interaction Library for logging purposes. If logger is NULL , the Interaction Library does no logging related processing. The callback function is set in the callback field of the @IL_Logger structure. The level parameter denotes the highest log level at which the callback function will be called. For example, if "info" is specified, then the callback will be called for "error", "warning" and "info", but not for "debug" and "trace". The text parameter passed to the callback function points at a null terminated character array formatted in a format specified by Tobii. The parameter is only valid in the scope of the callback. The context parameter passed to the callback function is set in the context field of the @IL_Logger structure. | |
[out] | context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_CreateInteractionLibWithAdapter | ( | IL_Context ** | context, |
IL_FieldOfUse | fieldOfUse, | ||
IL_Logger * | logger, | ||
IL_AdapterFunctions * | adapterFunctions | ||
) |
Creates an Interaction Library instance with a custom adapter.
fieldOfUse | This mandatory flag denotes if the Interaction Library is used for interactive or analytical purposes. Please see the EULA and documentation for more information. | |
logger | Optional pointer to a structure with information about a callback function that will be called by the Interaction Library for logging purposes. If logger is NULL , the Interaction Library does no logging related processing. The callback function is set in the callback field of the @IL_Logger structure. The level parameter denotes the highest log level at which the callback function will be called. For example, if "info" is specified, then the callback will be called for "error", "warning" and "info", but not for "debug" and "trace". The text parameter passed to the callback function points at a null terminated character array formatted in a format specified by Tobii. The parameter is only valid in the scope of the callback. The context parameter passed to the callback function is set in the context field of the @IL_Logger structure. | |
adapterFunctions | Pointer to an IL_AdapterFunctions structure defining the custom adapter. NULL is a valid parameter value which means the default adapter will not be set. Without a valid adapter the following functions will do nothing and return Result_Warning_NoAdapterSet: will return IL_Result_Error_NoAdapterSet: IL_Update(), IL_UpdateStreamingDataOutput(), IL_UpdateInteraction(), IL_SubscribeGazePointData(), IL_SubscribeGazeOriginData(), IL_SubscribePresenceData(), and IL_SubscribeHeadPoseData(). However, it is still possible to add interactors and subscribe to gaze focus events. | |
[out] | context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_DestroyInteractionLib | ( | IL_Context * | context | ) |
Destroys an Interaction Library instance.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_SetAdapter | ( | IL_Context * | context, |
IL_AdapterFunctions * | adapterFunctions | ||
) |
Sets a custom adapter, or resets the current adapter.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
adapterFunctions | Pointer to an IL_AdapterFunctions structure defining the custom adapter. NULL is a valid parameter value, with will cause the current adapter to be removed. Without a valid adapter the following functions will do nothing and return Result_Warning_NoAdapterSet: will return IL_Result_Error_NoAdapterSet: IL_Update(), IL_UpdateStreamingDataOutput(), IL_UpdateInteraction(), IL_SubscribeGazePointData(), IL_SubscribeGazeOriginData(), IL_SubscribePresenceData(), and IL_SubscribeHeadPoseData(). However, it is still possible to add interactors and subscribe to gaze focus events. |
IL_C_API IL_Result IL_CoordinateTransformAddOrUpdateDisplayArea | ( | IL_Context * | context, |
float | widthUserUnits, | ||
float | heightUserUnits, | ||
float | widthVirtualUnits, | ||
float | heightVirtualUnits, | ||
float | xOriginVirtualUnits, | ||
float | yOriginVirtualUnits, | ||
const char * | virtualDisplayAreaId | ||
) |
Adds a display area (usually a screen) to the coordinate transform setup. Typically call this method multiple times to add information on dpi scaling and location of all screens in the system (see sample/separate documention for details).
If you are in a single screen environment, or a defacto single screen environment (see above), or use other (external) mechanisms to handle multiple displays areas, you may call this only once and then omit (set to zero/null) all parameters except the first two.
If you are unable to determine this information in your environment, please use CoordinateTransformSetDisplayDensity() instead (see below).
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
widthUserUnits | The width in your preferred units (eg. with dpi scaling in your environment, or other preferred units) |
heightUserUnits | The height in your preferred units (eg. with dpi scaling in your environment, or other preferred units) |
widthVirtualUnits | The width in system virtual screen units (or custom units that you use for system display setup) |
heightVirtualUnits | The height in system virtual screen units (or custom units that you use for system display setup) |
xOriginVirtualUnits | The display origin x coordinate in the system virtual screen coordinate system (or your custom space for system display setup) |
yOriginVirtualUnits | The display origin y coordinate in the system virtual screen coordinate system (or your custom space for system display setup) |
virtualDisplayAreaId | The virtual display id as a null terminated string (eg. on Windows this is a number) |
IL_C_API IL_Result IL_CoordinateTransformSetOriginOffset | ( | IL_Context * | context, |
float | xOriginOffsetVirtualUnits, | ||
float | yOriginOffsetVirtualUnits | ||
) |
Sets your origin position, as it is in the virtual coordinate system. Typically used to set the window position to use window local coordinates for streams and interactors, or one could set the display center to use a centered, left-handed coordinate system.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
xOriginOffsetVirtualUnits | The x offset in the system virtual screen coordinate system (or your custom space) |
yOriginOffsetVirtualUnits | The y offset in the system virtual screen coordinate system (or your custom space) |
IL_C_API IL_Result IL_CoordinateTransformSetDisplayDensity | ( | IL_Context * | context, |
float | xUnitsPerMm, | ||
float | yUnitsPerMm | ||
) |
An alternative to IL_CoordinateTransformAddOrUpdateDisplayArea(), normally only used in special circumstances.
This method exists as an alternative or addition to IL_CoordinateTransformAddOrUpdateDisplayArea(). It is mainly intended to be used in edge cases where you are in a sandboxed environment and cannot access information about displays, or if a specialized adapter is used that you cannot access or modify for some reason and IL_CoordinateTransformAddOrUpdateDisplayArea() is insufficient to solve the dpi scaling problem. You can see if you need to use IL_CoordinateTransformSetDisplayDensity() by checking the return value from IL_CoordinateTransformAddOrUpdateDisplayArea(). In almost all situations, using only IL_CoordinateTransformAddOrUpdateDisplayArea() is sufficient.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
xUnitsPerMm | The number of horizontal units per mm. |
yUnitsPerMm | The number of vertical units per mm. |
IL_C_API IL_Result IL_BeginInteractorUpdates | ( | IL_Context * | context | ) |
Begins an interactor update transaction, in which many add/update/remove/clear calls are batched.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_CommitInteractorUpdates | ( | IL_Context * | context | ) |
Commits all batched interactor add/update/remove/clear calls done since IL_BeginInteractorUpdates() was called.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_AddOrUpdateInteractor | ( | IL_Context * | context, |
IL_InteractorId | id, | ||
IL_Rectangle | bounds, | ||
float | z | ||
) |
Adds an interactor or updates an existing one, specifying its bounds
and z
value (the value increases towards the user).
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
id | |
bounds | |
z |
IL_C_API IL_Result IL_UpdateInteractorBounds | ( | IL_Context * | context, |
IL_InteractorId | id, | ||
IL_Rectangle | bounds | ||
) |
Updates the bounds
for an existing interactor.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
id | |
bounds |
IL_C_API IL_Result IL_UpdateInteractorZ | ( | IL_Context * | context, |
IL_InteractorId | id, | ||
float | z | ||
) |
Updates the z
value for an existing interactor (the value increases towards the user).
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
id | |
z |
IL_C_API IL_Result IL_RemoveInteractor | ( | IL_Context * | context, |
IL_InteractorId | id | ||
) |
Removes an existing interactor and all its related data.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
id |
IL_C_API IL_Result IL_ClearInteractors | ( | IL_Context * | context | ) |
Removes all existing interactors.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_UpdateInteractorStandardWeightDistributionTypes | ( | IL_Context * | context, |
IL_InteractorId | id, | ||
IL_WeightDistributionType | weightDistributionTypes | ||
) |
Sets the built-in standard weight distribution of an interactor, e.g., center weighted or flat.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
id | |
weightDistributionTypes |
IL_C_API IL_Result IL_AddOrUpdateCustomWeightDistributionBitmap | ( | IL_Context * | context, |
IL_WeightDistributionId | weightDistributionId, | ||
bool | isWeightDistribution, | ||
bool | isStencilMap, | ||
int | bitmapColumns, | ||
int | bitmapRows, | ||
const unsigned char * | bitmap | ||
) |
Adds a new custom weight distribution bitmap or updates an existing one.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
weightDistributionId | |
isWeightDistribution | |
isStencilMap | |
bitmapColumns | |
bitmapRows | |
bitmap |
IL_C_API IL_Result IL_RemoveCustomWeightDistributionBitmap | ( | IL_Context * | context, |
IL_WeightDistributionId | weightDistributionId | ||
) |
Removes an existing custom weight distribution bitmap.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
weightDistributionId |
IL_C_API IL_Result IL_AddOrUpdateBindingToCustomWeightDistribution | ( | IL_Context * | context, |
IL_InteractorId | id, | ||
IL_WeightDistributionId | weightDistributionId | ||
) |
Adds a new custom weight distribution bitmap and binds it to an existing interactor, or changes an existing binding.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
id | |
weightDistributionId |
IL_C_API IL_Result IL_RemoveBindingToCustomWeightDistribution | ( | IL_Context * | context, |
IL_InteractorId | id, | ||
IL_WeightDistributionId | weightDistributionId | ||
) |
Removes an existing binding to a custom weight distribution bitmap for the specified interactor.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
id | |
weightDistributionId |
IL_C_API IL_Result IL_SubscribeGazeFocusEvents | ( | IL_Context * | context, |
IL_GazeFocusEventCallback | callback, | ||
void * | callbackContext | ||
) |
Subscribes to interactor gaze focus events.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
callback | |
callbackContext | Will be passed to the callback when the callback is invoked. |
IL_C_API IL_Result IL_UnsubscribeGazeFocusEvents | ( | IL_Context * | context | ) |
Unsubscribes from interactor gaze focus events.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_SubscribeGazePointData | ( | IL_Context * | context, |
IL_GazePointDataCallback | callback, | ||
void * | callbackContext | ||
) |
Subscribes to gaze point data.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
callback | |
callbackContext | Will be passed to the callback when the callback is invoked. |
IL_C_API IL_Result IL_SubscribeGazeOriginData | ( | IL_Context * | context, |
IL_GazeOriginDataCallback | callback, | ||
void * | callbackContext | ||
) |
Subscribes to gaze origin data.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
callback | |
callbackContext | Will be passed to the callback when the callback is invoked. |
IL_C_API IL_Result IL_SubscribePresenceData | ( | IL_Context * | context, |
IL_PresenceDataCallback | callback, | ||
void * | callbackContext | ||
) |
Subscribes to presence data.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
callback | |
callbackContext | Will be passed to the callback when the callback is invoked. |
IL_C_API IL_Result IL_SubscribeHeadPoseData | ( | IL_Context * | context, |
IL_HeadPoseDataCallback | callback, | ||
void * | callbackContext | ||
) |
Subscribes to head pose data.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
callback | |
callbackContext | Will be passed to the callback when the callback is invoked. |
IL_C_API IL_Result IL_UnsubscribeGazePointData | ( | IL_Context * | context | ) |
Unsubscribes from gaze point data.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_UnsubscribeGazeOriginData | ( | IL_Context * | context | ) |
Unsubscribes from gaze origin data.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_UnsubscribePresenceData | ( | IL_Context * | context | ) |
Unsubscribes from presence data.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_UnsubscribeHeadPoseData | ( | IL_Context * | context | ) |
Unsubscribes from head pose data.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_GetDataStreamCapability | ( | IL_Context * | context, |
IL_StreamType | streamType, | ||
IL_Capability * | capability | ||
) |
Get information on the current system capabilities for a data stream.
Data stream availability is dependent on if a device is present, what type of device it is and current system state of the device being used. Data streams are typically not enabled unless the they are subscribed to, either internally by the Interaction Library or from this api.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. | |
streamType | The stream type to get capability information on. | |
[out] | capability | Will be set to the system capability for the stream type. |
IL_C_API IL_Result IL_SubscribeDataStreamCapabilitiesChanged | ( | IL_Context * | context, |
IL_DataStreamCapabilitiesChangedCallback | callback, | ||
void * | callbackContext | ||
) |
This callback will be triggered on IL_UpdateStreamingDataOutput()/IL_Update()/IL_WaitAndUpdate() if capabilities have changed. Querying capabilites with GetDataStreamCapability(...) on this callback is allowed.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
callback | |
callbackContext | Will be passed to the callback when the callback is invoked. |
IL_C_API IL_Result IL_UnsubscribeDataStreamCapabilitiesChanged | ( | IL_Context * | context | ) |
Unsubscribes from data stream capabilities changed notifications.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_WaitAndUpdate | ( | IL_Context * | context, |
unsigned long | connectionIntervalMs | ||
) |
Checks/waits for device connection, waits for data, and updates.
This is a convenience method that aggregates all necessary control methods into one, and sleeps the calling thread for the appropriate amount of time between connection attempts when no device is connected. The recommended connection attempt interval is one second, passing 0 means no sleep.
If you need granular control over updates and/or non-blocking calls use a suitable combination of the various other control methods.
IL_C_API IL_Result IL_WaitForDeviceConnection | ( | IL_Context * | context | ) |
Waits for a device to be available and a connection to be established.
IL_C_API IL_Result IL_Update | ( | IL_Context * | context | ) |
Updates the system and receives event callbacks that are called on the calling thread.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_WaitForDeviceDataAvailable | ( | IL_Context * | context | ) |
Waits for data from the current device.
May timeout or hang indefinitely depending on adapter implementation. Waiting is optional but if you do not wait, remember to call Update() or UpdateStreamingDataOutput() at least 10 times per second.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_UpdateStreamingDataOutput | ( | IL_Context * | context | ) |
Updates stream buffers and process filters only, and publishes results on the calling thread via the registered streaming data callbacks.
Use instead of IL_Update() if you need more granular control or use multiple threads.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |
IL_C_API IL_Result IL_UpdateInteraction | ( | IL_Context * | context | ) |
Updates interaction buffers, performs interactor selection calculations, and publishes results on calling thread via the registered interaction event callbacks.
Use instead of IL_Update() if you need more granular control or use multiple threads.
context | Pointer to an IL_Context structure used internally to identify an actual underlying Interaction Library implementation. |