|
EyeLogic SDK
1.1.9
|
The file contains the C prototype declaration for all functions which are neccessary to control the EyeLogic software from an API client.
More...
#include "ELCGazeSample.h"
#include "ELCEyeImage.h"
|
struct | ELCServerInfo |
| connection information for an EyeLogic server More...
|
|
struct | ELCScreenConfig |
| Screen configuration. More...
|
|
struct | ELCDeviceGeometry |
| Geometric position of the device related to the active monitor. More...
|
|
struct | ELCDeviceConfig |
| Device configuration. More...
|
|
struct | ELCValidationPointResult |
| ValidationPointResult holds the results of the validation ( total deviation between true point position and calculated POR of the left and right eye POR in [px] and [deg] ) of the validation point at position ( validationPointPxX, validationPointPxY ) [px]. More...
|
|
struct | ELCValidationResult |
| ValidationResult contains one ValidationPointResult struct per validation stimulus point of the performed valdation. More...
|
|
|
enum | ELCEvent {
EVENT_SCREEN_CHANGED,
EVENT_CONNECTION_CLOSED,
EVENT_DEVICE_CONNECTED,
EVENT_DEVICE_DISCONNECTED,
EVENT_TRACKING_STOPPED
} |
| EyeLogic events. More...
|
|
enum | ELCReturnInit { INIT_SUCCESS,
INIT_ALREADY_INITED
} |
| return values of elInitApi( ) More...
|
|
enum | ELCReturnConnect { CONNECT_SUCCESS,
CONNECT_NOT_INITED,
CONNECT_VERSION_MISMATCH,
CONNECT_FAILURE
} |
| return values of elConnect( ) More...
|
|
enum | ELCReturnActiveScreen { ACTIVESCREEN_SUCCESS,
ACTIVESCREEN_NOT_INITED,
ACTIVESCREEN_NOT_FOUND,
ACTIVESCREEN_FAILURE
} |
| return values of setActiveScreen( ) More...
|
|
enum | ELCReturnStreamEyeImages { EYEIMAGES_SUCCESS,
EYEIMAGES_NOT_CONNECTED,
EYEIMAGES_REMOTE_CONNECTION,
EYEIMAGES_FAILURE
} |
| Return values of the elStreamEyeImages() function. More...
|
|
enum | ELCReturnNextData {
NEXTDATA_SUCCESS,
NEXTDATA_PTR_IS_NULL,
NEXTDATA_NOT_INITED,
NEXTDATA_TIMEOUT,
NEXTDATA_CONNECTION_CLOSED
} |
| Return values of the getNextEvent/getNextGazeSample functions. More...
|
|
enum | ELCReturnStart {
START_SUCCESS,
START_NOT_CONNECTED,
START_DEVICE_MISSING,
START_INVALID_FRAMERATE_MODE,
START_ALREADY_RUNNING_DIFFERENT_FRAMERATE,
START_FAILURE
} |
| return values of elRequestTracking( ) More...
|
|
enum | ELCReturnCalibrate {
CALIB_SUCCESS,
CALIB_NOT_CONNECTED,
CALIB_NOT_TRACKING,
CALIB_INVALID_CALIBRATION_MODE,
CALIB_ALREADY_BUSY,
CALIB_FAILURE
} |
| return values of elCalibrate( ) More...
|
|
enum | ELCReturnValidate {
VALID_SUCCESS,
VALID_NOT_CONNECTED,
VALID_NOT_TRACKING,
VALID_NOT_CALIBRATED,
VALID_ALREADY_BUSY,
VALID_PTR_IS_NULL,
VALID_FAILURE
} |
| return values of elValidate( ) More...
|
|
|
typedef | void (STDCALL *GazeSampleCallback)(const struct ELCGazeSample *sample) |
| callback function type, new gaze sample More...
|
|
EXTERNC ELC_EXPORT enum ELCReturnInit STDCALL | elInitApi (const char *clientName) |
| initialize the ELCApi. More...
|
|
EXTERNC ELC_EXPORT void STDCALL | elDestroyApi () |
| destroys the ELCApi. Call this once before shutting down. Be sure to unregister all callbacks before calling this method. More...
|
|
EXTERNC ELC_EXPORT void STDCALL | elRegisterEventCallback (EventCallback eventCallback) |
| registers the callback receiver for events. Ensure that all callbacksare unregistered before destruction. More...
|
|
EXTERNC ELC_EXPORT void STDCALL | elRegisterGazeSampleCallback (GazeSampleCallback sampleCallback) |
| registers the callback receiver for gaze samples. Ensure that all callbacksare unregistered before destruction. More...
|
|
EXTERNC ELC_EXPORT void STDCALL | elRegisterEyeImageCallback (EyeImageCallback eyeImageCallback) |
| registers the callback receiver for eye images. Ensure that all callbacksare unregistered before destruction. More...
|
|
EXTERNC ELC_EXPORT enum ELCReturnConnect STDCALL | elConnect () |
| return values of elConnect( ) More...
|
|
EXTERNC ELC_EXPORT enum ELCReturnConnect STDCALL | elConnectRemote (struct ELCServerInfo server) |
| initialize connection to a remote server (method is blocking until connection established) More...
|
|
EXTERNC ELC_EXPORT int32_t STDCALL | elRequestServerList (int32_t blockingDurationMS, struct ELCServerInfo *serverList, int32_t serverListLength) |
| Ping all running EyeLogic servers in the local network and wait some time for their response. More...
|
|
EXTERNC ELC_EXPORT void STDCALL | elDisconnect () |
| closes connection to the server
|
|
EXTERNC ELC_EXPORT bool STDCALL | elIsConnected () |
| whether a connection to the server is established
|
|
EXTERNC ELC_EXPORT bool STDCALL | elGetActiveScreen (struct ELCScreenConfig *screenConfig) |
| obtain configuration of active screen More...
|
|
EXTERNC ELC_EXPORT int32_t STDCALL | elGetAvailableScreens (struct ELCScreenConfig *screenConfig, int32_t numScreenConfigs) |
| Get a list of screens connected to the local machine. If there are more screens than 'numScreenConfigs' found, then only the first 'numScreenConfigs' ones are filled. More...
|
|
EXTERNC ELC_EXPORT enum ELCReturnActiveScreen STDCALL | elSetActiveScreen (char *screenID, struct ELCDeviceGeometry deviceGeometry) |
| Make a screen connected to this machine to the active screen. More...
|
|
EXTERNC ELC_EXPORT bool STDCALL | elGetDeviceConfig (struct ELCDeviceConfig *deviceConfig) |
| obtain configuration of active device More...
|
|
EXTERNC ELC_EXPORT enum ELCReturnStreamEyeImages STDCALL | elStreamEyeImages (bool enable) |
| Enabled/disables eye image stream. If enabled, eye images are received from eye image listeners,. More...
|
|
EXTERNC ELC_EXPORT enum ELCReturnNextData STDCALL | elGetNextEvent (enum ELCEvent *event, int32_t timeoutMillis) |
| Obtains the next unread event or blocks until a new event occurs or the given timeout is reached. More...
|
|
EXTERNC ELC_EXPORT enum ELCReturnNextData STDCALL | elGetNextGazeSample (struct ELCGazeSample *gazeSample, int32_t timeoutMillis) |
| Obtains the next unread gazeSample or blocks until a new GazeSample is received or the given timeout is reached. More...
|
|
EXTERNC ELC_EXPORT enum ELCReturnNextData STDCALL | elGetNextEyeImage (struct ELCEyeImage *eyeImage, int32_t timeoutMillis) |
| Obtains the next unread eye image or blocks until a new eye image is received or the given timeout is reached. More...
|
|
EXTERNC ELC_EXPORT enum ELCReturnStart STDCALL | elRequestTracking (int32_t frameRateModeInd) |
| request tracking More...
|
|
EXTERNC ELC_EXPORT void STDCALL | elUnrequestTracking () |
| unrequest tracking More...
|
|
EXTERNC ELC_EXPORT enum ELCReturnCalibrate STDCALL | elCalibrate (int32_t calibrationModeInd) |
| perform calibration (method is blocking until calibration finished) More...
|
|
EXTERNC ELC_EXPORT enum ELCReturnValidate STDCALL | elValidate (struct ELCValidationResult *validationResult) |
| perform validation (method is blocking until validation finished) - calibration must be performed prior More...
|
|
The file contains the C prototype declaration for all functions which are neccessary to control the EyeLogic software from an API client.
◆ ELCEvent
EyeLogic events.
Enumerator |
---|
EVENT_SCREEN_CHANGED | a new screen has been set as active
|
EVENT_CONNECTION_CLOSED | connection to EyeLogic Server has closed
|
EVENT_DEVICE_CONNECTED | a new device has connected
|
EVENT_DEVICE_DISCONNECTED | device disconnected
|
EVENT_TRACKING_STOPPED | tracking has stopped
|
◆ ELCReturnActiveScreen
return values of setActiveScreen( )
Enumerator |
---|
ACTIVESCREEN_SUCCESS | active screen was set
|
ACTIVESCREEN_NOT_INITED | library needs to be initialized first,
- See also
- elInitApi
|
ACTIVESCREEN_NOT_FOUND | specified screen name was not found as a name of an available monitor
|
ACTIVESCREEN_FAILURE | active screen could not be changed
|
◆ ELCReturnCalibrate
return values of elCalibrate( )
Enumerator |
---|
CALIB_SUCCESS | calibration successful
|
CALIB_NOT_CONNECTED | cannot calibrate: not connected to the server
|
CALIB_NOT_TRACKING | cannot calibrate: no device found or tracking not started
|
CALIB_INVALID_CALIBRATION_MODE | cannot start calibration: calibration mode is invalid or not supported
|
CALIB_ALREADY_BUSY | cannot start calibration: calibration or validation is already in progress
|
CALIB_FAILURE | calibration was not successful or aborted
|
◆ ELCReturnConnect
return values of elConnect( )
Enumerator |
---|
CONNECT_SUCCESS | connection successfully established
|
CONNECT_NOT_INITED | connection failed: library needs to be initialized first,
- See also
- elInitApi
|
CONNECT_VERSION_MISMATCH | connection failed: API is build on a newer version than the server. Update the EyeLogicServer to the newest version.
|
CONNECT_FAILURE | connection failed: the server can not be found or is not responding
|
◆ ELCReturnInit
return values of elInitApi( )
Enumerator |
---|
INIT_SUCCESS | initializeation was successful
|
INIT_ALREADY_INITED | initialization was not successfull: was already initialized before
|
◆ ELCReturnNextData
Return values of the getNextEvent/getNextGazeSample functions.
Enumerator |
---|
NEXTDATA_SUCCESS | new event or new GazeSample received
|
NEXTDATA_PTR_IS_NULL | input ptr is nullptr
|
NEXTDATA_NOT_INITED | library needs to be initialized first,
- See also
- elInitApi
|
NEXTDATA_TIMEOUT | timeout reached, no new event/GazeSample received
|
NEXTDATA_CONNECTION_CLOSED | connection to server closed, no new event/GazeSample received
|
◆ ELCReturnStart
return values of elRequestTracking( )
Enumerator |
---|
START_SUCCESS | start tracking successful
|
START_NOT_CONNECTED | not connected to the server
|
START_DEVICE_MISSING | cannot start tracking: no device found
|
START_INVALID_FRAMERATE_MODE | cannot start tracking: framerate mode is invalid or not supported
|
START_ALREADY_RUNNING_DIFFERENT_FRAMERATE | tracking already ongoing, but frame rate mode is different
|
START_FAILURE | some general failure occurred
|
◆ ELCReturnStreamEyeImages
Return values of the elStreamEyeImages() function.
Enumerator |
---|
EYEIMAGES_SUCCESS | setting streaming of eye images was successful
|
EYEIMAGES_NOT_CONNECTED | failed, not connected to the server
|
EYEIMAGES_REMOTE_CONNECTION | cannot stream eye images when connection to the server is a remote connection
|
EYEIMAGES_FAILURE | failure when trying to set eye image stream
|
◆ ELCReturnValidate
return values of elValidate( )
Enumerator |
---|
VALID_SUCCESS | start validation successful
|
VALID_NOT_CONNECTED | cannot validate: not connected to the server
|
VALID_NOT_TRACKING | cannot validate: no device found or tracking not started
|
VALID_NOT_CALIBRATED | cannot start validation: validation mode is invalid or not supported
|
VALID_ALREADY_BUSY | cannot start validation: calibration or validation is already in progress
|
VALID_PTR_IS_NULL | input is nullptr
|
VALID_FAILURE | validation failure
|
◆ elCalibrate()
EXTERNC ELC_EXPORT enum ELCReturnCalibrate STDCALL elCalibrate |
( |
int32_t |
calibrationModeInd | ) |
|
perform calibration (method is blocking until calibration finished)
- Returns
- success state
◆ elConnect()
return values of elConnect( )
initialize connection to the server (method is blocking until connection established). The connection is only established for a local server (running on this machine). For connections to a remote server,
- Returns
- success state
- See also
- elConnectRemote( ).
- Returns
- success state
◆ elConnectRemote()
initialize connection to a remote server (method is blocking until connection established)
- Parameters
-
server | Server to connect to |
- Returns
- success state
- See also
- elAcquireServerList( ) to obtain IP address and port of a remote server
◆ elDestroyApi()
EXTERNC ELC_EXPORT void STDCALL elDestroyApi |
( |
| ) |
|
◆ elGetActiveScreen()
EXTERNC ELC_EXPORT bool STDCALL elGetActiveScreen |
( |
struct ELCScreenConfig * |
screenConfig | ) |
|
obtain configuration of active screen
- Parameters
-
screenConfig | is set to the config state upon success, set to 0-initialized struct if library is not initialized |
- Returns
- true upon successfull config recovery, false upon unitialized library or screenConfig == nullptr
◆ elGetAvailableScreens()
EXTERNC ELC_EXPORT int32_t STDCALL elGetAvailableScreens |
( |
struct ELCScreenConfig * |
screenConfig, |
|
|
int32_t |
numScreenConfigs |
|
) |
| |
Get a list of screens connected to the local machine. If there are more screens than 'numScreenConfigs' found, then only the first 'numScreenConfigs' ones are filled.
- Parameters
-
screenConfig | pre-allocated array, will be filled with screen configurations |
numScreenConfigs | number of entries of screenConfig |
- Returns
- number of filled screen configurations. will be <= numScreenConfigs
◆ elGetDeviceConfig()
EXTERNC ELC_EXPORT bool STDCALL elGetDeviceConfig |
( |
struct ELCDeviceConfig * |
deviceConfig | ) |
|
obtain configuration of active device
- Parameters
-
deviceConfig | is set to the config state upon success, set to 0-initialized struct if library is not initialized |
- Returns
- true upon successfull config recovery, false upon unitialized library or screenConfig == nullptr
◆ elGetNextEvent()
Obtains the next unread event or blocks until a new event occurs or the given timeout is reached.
The last incoming event is buffered internally and can be obtained by calling this method in a consecutive order. If there is no new event, the method blocks until an event occurs or the given timeout is reached. The method returns SUCCESS if and only if a new event is provided which was not returned before. Therefore, by checking the return value, you can assure to not handle any event twice.
If you want to catch events in a loop, be careful to not wait too long between the calls to this method. Otherwise, you may miss events. If you want to be 100% sure to not miss any event, consider to use the ELEventCallback mechanism.
- See also
- registerEventListener
- Parameters
-
event | If this method returns SUCCESS, this data structure is filled with the new (yet unhandled) event. In all other cases, this data structure is filled with the event which was returned last. |
timeoutMillis | duration in milliseconds, method returns at the latest after this time. May be 0 if the method should return immediatly. |
- Returns
- whether an event was received (SUCCESS) or the method terminated without a new event
◆ elGetNextEyeImage()
Obtains the next unread eye image or blocks until a new eye image is received or the given timeout is reached.
The last incoming eye image is buffered internally and can be obtained by calling this method in a consecutive order. If there is no new eye image, the method blocks until an eye image is received or the given timeout is reached. The method returns SUCCESS if and only if a new eye image is provided which was not returned before. Therefore, by checking the return value, you can assure to not handle any eye image twice.
- Parameters
-
eyeImage | If this method returns SUCCESS, this data structure is filled with the new (yet unhandled) eye image. In all other cases, this data structure is filled with the eye image which was returned last. |
timeoutMillis | duration in milliseconds, method returns at the latest after this time. May be 0 if the method should return immediatly. |
- Returns
- whether an eye iage was received (SUCCESS)
◆ elGetNextGazeSample()
Obtains the next unread gazeSample or blocks until a new GazeSample is received or the given timeout is reached.
The last incoming GazeSample is buffered internally and can be obtained by calling this method in a consecutive order. If there is no new GazeSample, the method blocks until a GazeSample arrives or the given timeout is reached. The method returns SUCCESS if and only if a new GazeSample is provided which was not returned before. Therefore, by checking the return value, you can assure to not handle any GazeSample twice.
If you want to catch GazeSamples in a loop, be careful to not wait too long between the calls to this method (at least once per frame). Otherwise, you may miss GazeSamples. If you want to be 100% sure to not miss any GazeSample, consider to use the ELGazeSampleCallback mechanism.
- See also
- registerGazeSampleListener
- Parameters
-
gazeSample | If this method returns SUCCESS, this data structure is filled with the new (yet unhandled) GazeSample. In all other cases, this data structure is filled with the GazeSample which was returned last. |
timeoutMillis | duration in milliseconds, method returns at the latest after this time. May be 0 if the method should return immediatly. |
- Returns
- whether a GazeSample was received (SUCCESS) or the method terminated without a new GazeSample
◆ elInitApi()
EXTERNC ELC_EXPORT enum ELCReturnInit STDCALL elInitApi |
( |
const char * |
clientName | ) |
|
initialize the ELCApi.
Call this once before calling any other function from this library.
- Parameters
-
clientName | string identifier of the client (shown in the server tool window) |
◆ elRegisterEventCallback()
EXTERNC ELC_EXPORT void STDCALL elRegisterEventCallback |
( |
EventCallback |
eventCallback | ) |
|
registers the callback receiver for events. Ensure that all callbacksare unregistered before destruction.
- Parameters
-
eventCallback | this callback function is called on new events, may be null to unregister |
◆ elRegisterEyeImageCallback()
EXTERNC ELC_EXPORT void STDCALL elRegisterEyeImageCallback |
( |
EyeImageCallback |
eyeImageCallback | ) |
|
registers the callback receiver for eye images. Ensure that all callbacksare unregistered before destruction.
- Parameters
-
eyeImageCallback | this callback function is called on new eye images, may be null to unregister |
◆ elRegisterGazeSampleCallback()
EXTERNC ELC_EXPORT void STDCALL elRegisterGazeSampleCallback |
( |
GazeSampleCallback |
sampleCallback | ) |
|
registers the callback receiver for gaze samples. Ensure that all callbacksare unregistered before destruction.
- Parameters
-
sampleCallback | this callback function is called on new gaze samples, may be null to unregister |
◆ elRequestServerList()
EXTERNC ELC_EXPORT int32_t STDCALL elRequestServerList |
( |
int32_t |
blockingDurationMS, |
|
|
struct ELCServerInfo * |
serverList, |
|
|
int32_t |
serverListLength |
|
) |
| |
Ping all running EyeLogic servers in the local network and wait some time for their response.
- Parameters
-
blockingDurationMS | waiting duration in milliseconds. Method returns after this time, or if 'serverListLength' many servers responded. |
serverList | pre-allocated array of length 'serverListLength'. Will be filled with responding EyeLogic servers. |
serverListLength | Lenght of pre-allocated serverList array |
- Returns
- number of entries, written to the server list
◆ elRequestTracking()
EXTERNC ELC_EXPORT enum ELCReturnStart STDCALL elRequestTracking |
( |
int32_t |
frameRateModeInd | ) |
|
request tracking
If tracking is not yet ongoing, tracking is started in the device. If tracking is already running (e.g. started from another client) with the same frame-rate as requested, all gaze samples are reported to this client as well.
- Parameters
-
frameRateModeInd | index of the requested frame rate mode (0 .. #frameRateModes-1) |
- Returns
- success state
◆ elSetActiveScreen()
Make a screen connected to this machine to the active screen.
Recording is from now on performed on the new active screen. Remember to perform a calibration on the new screen, otherwise it remains in an uncalibrated state.
- Parameters
-
screenID | ID of the new active screen on this machine (even works if the connection to the server is remote). If null, the primary screen of this machine is set as active. |
deviceGeometry | Geometry of the device which is mounted to the screen. |
- Returns
- success/error code
◆ elStreamEyeImages()
Enabled/disables eye image stream. If enabled, eye images are received from eye image listeners,.
- See also
- registerEyeImageListener() and
-
getNextEyeImage(). Note, that enabling eye images can lead to noticable CPU load and a loss of gaze samples. Always disable it before running your experiment. Eye images can not be received via remote connections.
◆ elUnrequestTracking()
EXTERNC ELC_EXPORT void STDCALL elUnrequestTracking |
( |
| ) |
|
unrequest tracking
Note that the tracking device may continue if other processes still request tracking. Check the EyeLogic server window to observe the actual state.
◆ elValidate()
perform validation (method is blocking until validation finished) - calibration must be performed prior
- Parameters
-
validationResult | upon ReturnValidate::SUCCESS this struct will be filled with the validation results - may contain ELCInvalidValues. Contains all ELCInvalidValue for all other return values - unless return value is VALID_NOT_CONNECTED, in that case validationResult will be set to all-zeros. |
- Returns
- success state
◆ void()
typedef void |
( |
STDCALL * |
GazeSampleCallback | ) |
const |
callback function type, new gaze sample
callback function type, connection closed by server
callback function type, new eye image
EXTERNC ELC_EXPORT bool STDCALL elIsConnected()
whether a connection to the server is established
EXTERNC ELC_EXPORT const double ELCInvalidValue
marker for an invalid double value
Definition: ELCGazeSample.h:47
EXTERNC ELC_EXPORT void STDCALL elDestroyApi()
destroys the ELCApi. Call this once before shutting down. Be sure to unregister all callbacks before ...
EXTERNC ELC_EXPORT bool STDCALL elGetActiveScreen(struct ELCScreenConfig *screenConfig)
obtain configuration of active screen
uint8_t calibrationMethods[16]
array of available calibration methods [number of calibration points], use only the entries calibrati...
Definition: ELCApi.h:271
double physicalSizeX_mm
horizontal physical dimension of the screen [mm]
Definition: ELCApi.h:190
EXTERNC ELC_EXPORT enum ELCReturnStreamEyeImages STDCALL elStreamEyeImages(bool enable)
Enabled/disables eye image stream. If enabled, eye images are received from eye image listeners,...
double validationPointPxY
ELCInvalidValue or y-coordinate of stimulus point position.
Definition: ELCApi.h:484
@ EVENT_DEVICE_CONNECTED
a new device has connected
Definition: ELCApi.h:40
double eyePositionLeftY
position of the left eye in device coordinates, unit is mm
Definition: ELCGazeSample.h:112
@ CONNECT_FAILURE
connection failed: the server can not be found or is not responding
Definition: ELCApi.h:118
The file specifies the C container for a gaze sample.
int64_t timestampMicroSec
timepoint when data was acquired in microseconds after EPOCH
Definition: ELCGazeSample.h:54
ValidationResult contains one ValidationPointResult struct per validation stimulus point of the perfo...
Definition: ELCApi.h:501
double validationPointPxX
ELCInvalidValue or x-coordinate of stimulus point position.
Definition: ELCApi.h:482
uint8_t frameRates[16]
array of available framerates [Hz], use only the entries frameRates[0] ... frameRates[numFrameRates-1...
Definition: ELCApi.h:265
@ START_INVALID_FRAMERATE_MODE
cannot start tracking: framerate mode is invalid or not supported
Definition: ELCApi.h:397
EXTERNC ELC_EXPORT enum ELCReturnInit STDCALL elInitApi(const char *clientName)
initialize the ELCApi.
EXTERNC ELC_EXPORT int32_t STDCALL elRequestServerList(int32_t blockingDurationMS, struct ELCServerInfo *serverList, int32_t serverListLength)
Ping all running EyeLogic servers in the local network and wait some time for their response.
double porRightX
X coordinate of monocular point of regard of the right eye, check porRightX != InvalidValue before us...
Definition: ELCGazeSample.h:129
int32_t resolutionX
screen X resolution [px]
Definition: ELCApi.h:186
@ START_ALREADY_RUNNING_DIFFERENT_FRAMERATE
tracking already ongoing, but frame rate mode is different
Definition: ELCApi.h:399
EXTERNC ELC_EXPORT void STDCALL elRegisterEyeImageCallback(EyeImageCallback eyeImageCallback)
registers the callback receiver for eye images. Ensure that all callbacksare unregistered before dest...
ELCReturnCalibrate
return values of elCalibrate( )
Definition: ELCApi.h:425
ELCReturnConnect
return values of elConnect( )
Definition: ELCApi.h:109
EXTERNC ELC_EXPORT void STDCALL elUnrequestTracking()
unrequest tracking
double mmBelowScreen
vertical distance between the lowest pixel on the display and the upper edge of the eye tracker
Definition: ELCApi.h:221
double eyePositionRightX
position of the right eye in device coordinates, unit is mm:
Definition: ELCGazeSample.h:144
double porFilteredX
X coordinate of filtered binocular point of regard on the stimulus plane, check porFilteredX !...
Definition: ELCGazeSample.h:75
ELCReturnStart
return values of elRequestTracking( )
Definition: ELCApi.h:389
double porLeftX
X coordinate of monocular point of regard of the left eye, check porLeftX != InvalidValue before usin...
Definition: ELCGazeSample.h:87
EXTERNC ELC_EXPORT enum ELCReturnNextData STDCALL elGetNextGazeSample(struct ELCGazeSample *gazeSample, int32_t timeoutMillis)
Obtains the next unread gazeSample or blocks until a new GazeSample is received or the given timeout ...
ELCReturnNextData
Return values of the getNextEvent/getNextGazeSample functions.
Definition: ELCApi.h:305
EXTERNC ELC_EXPORT void STDCALL elRegisterEventCallback(EventCallback eventCallback)
registers the callback receiver for events. Ensure that all callbacksare unregistered before destruct...
@ INIT_ALREADY_INITED
initialization was not successfull: was already initialized before
Definition: ELCApi.h:59
char ip[16]
IP address of server as 0-terminated string.
Definition: ELCApi.h:138
int32_t numCalibrationMethods
number of available calibration methods
Definition: ELCApi.h:267
@ EYEIMAGES_SUCCESS
setting streaming of eye images was successful
Definition: ELCApi.h:287
@ CALIB_ALREADY_BUSY
cannot start calibration: calibration or validation is already in progress
Definition: ELCApi.h:435
double porRawY
Y coordinate of binocular point of regard on the stimulus plane, also check porRawX !...
Definition: ELCGazeSample.h:69
uint64_t deviceSerial
serial number of the device as unsigned 64-bit int for a verbose format, print it as 8-digit hex numb...
Definition: ELCApi.h:260
int32_t numFrameRates
number of available framerates
Definition: ELCApi.h:262
double porLeftY
Y coordinate of monocular point of regard of the left eye, also check porLeftX != InvalidValue before...
Definition: ELCGazeSample.h:93
int32_t index
increasing GazeSample index
Definition: ELCGazeSample.h:57
Geometric position of the device related to the active monitor.
Definition: ELCApi.h:216
double porFilteredY
Y coordinate of filtered binocular point of regard on the stimulus plane, also check porFilteredX !...
Definition: ELCGazeSample.h:81
@ EYEIMAGES_FAILURE
failure when trying to set eye image stream
Definition: ELCApi.h:293
@ CONNECT_SUCCESS
connection successfully established
Definition: ELCApi.h:111
EXTERNC ELC_EXPORT bool STDCALL elGetDeviceConfig(struct ELCDeviceConfig *deviceConfig)
obtain configuration of active device
@ INIT_SUCCESS
initializeation was successful
Definition: ELCApi.h:57
@ VALID_SUCCESS
start validation successful
Definition: ELCApi.h:450
double eyePositionLeftZ
position of the left eye in device coordinates, unit is mm
Definition: ELCGazeSample.h:120
@ ACTIVESCREEN_NOT_INITED
library needs to be initialized first,
Definition: ELCApi.h:234
ELCReturnStreamEyeImages
Return values of the elStreamEyeImages() function.
Definition: ELCApi.h:285
contains an image of the eyes captured by the device
Definition: ELCEyeImage.h:53
@ CONNECT_NOT_INITED
connection failed: library needs to be initialized first,
Definition: ELCApi.h:113
@ VALID_ALREADY_BUSY
cannot start validation: calibration or validation is already in progress
Definition: ELCApi.h:458
@ NEXTDATA_NOT_INITED
library needs to be initialized first,
Definition: ELCApi.h:311
@ NEXTDATA_TIMEOUT
timeout reached, no new event/GazeSample received
Definition: ELCApi.h:313
@ CALIB_SUCCESS
calibration successful
Definition: ELCApi.h:427
@ VALID_PTR_IS_NULL
input is nullptr
Definition: ELCApi.h:460
double porRightY
Y coordinate of monocular point of regard of the right eye, check porRightX != InvalidValue before us...
Definition: ELCGazeSample.h:135
EXTERNC ELC_EXPORT void STDCALL elRegisterGazeSampleCallback(GazeSampleCallback sampleCallback)
registers the callback receiver for gaze samples. Ensure that all callbacksare unregistered before de...
double mmTrackerInFrontOfScreen
horizontal distance between the front of the screen and the front edge of the eye tracker
Definition: ELCApi.h:226
@ NEXTDATA_SUCCESS
new event or new GazeSample received
Definition: ELCApi.h:307
contains all information about the state of the eyes at a specific time
Definition: ELCGazeSample.h:52
@ START_NOT_CONNECTED
not connected to the server
Definition: ELCApi.h:393
@ EYEIMAGES_REMOTE_CONNECTION
cannot stream eye images when connection to the server is a remote connection
Definition: ELCApi.h:291
ValidationPointResult holds the results of the validation ( total deviation between true point positi...
Definition: ELCApi.h:480
@ EVENT_CONNECTION_CLOSED
connection to EyeLogic Server has closed
Definition: ELCApi.h:38
double meanDeviationRightDeg
ELCInvalidValue or mean deviation of right eye gaze direction in [deg] in the 3-D world system.
Definition: ELCApi.h:496
EXTERNC ELC_EXPORT enum ELCReturnNextData STDCALL elGetNextEyeImage(struct ELCEyeImage *eyeImage, int32_t timeoutMillis)
Obtains the next unread eye image or blocks until a new eye image is received or the given timeout is...
@ CALIB_NOT_TRACKING
cannot calibrate: no device found or tracking not started
Definition: ELCApi.h:431
int32_t resolutionY
screen Y resolution [px]
Definition: ELCApi.h:188
@ VALID_NOT_CALIBRATED
cannot start validation: validation mode is invalid or not supported
Definition: ELCApi.h:456
@ EVENT_TRACKING_STOPPED
tracking has stopped
Definition: ELCApi.h:44
@ VALID_NOT_TRACKING
cannot validate: no device found or tracking not started
Definition: ELCApi.h:454
Screen configuration.
Definition: ELCApi.h:178
double pupilRadiusLeft
radius of the left pupil in mm or InvalidValue if eye was not found
Definition: ELCGazeSample.h:123
EXTERNC ELC_EXPORT enum ELCReturnStart STDCALL elRequestTracking(int32_t frameRateModeInd)
request tracking
char name[32]
descriptive name of the screen (0-terminated string)
Definition: ELCApi.h:184
connection information for an EyeLogic server
Definition: ELCApi.h:136
@ CONNECT_VERSION_MISMATCH
connection failed: API is build on a newer version than the server. Update the EyeLogicServer to the ...
Definition: ELCApi.h:116
uint8_t data[300 *90 *3]
image buffer, stores all pixels as RGB value (3 bytes per pixel)
Definition: ELCEyeImage.h:55
@ CALIB_FAILURE
calibration was not successful or aborted
Definition: ELCApi.h:437
@ VALID_FAILURE
validation failure
Definition: ELCApi.h:462
@ EYEIMAGES_NOT_CONNECTED
failed, not connected to the server
Definition: ELCApi.h:289
double eyePositionLeftX
position of the left eye in device coordinates, unit is mm
Definition: ELCGazeSample.h:103
EXTERNC ELC_EXPORT enum ELCReturnNextData STDCALL elGetNextEvent(enum ELCEvent *event, int32_t timeoutMillis)
Obtains the next unread event or blocks until a new event occurs or the given timeout is reached.
bool localMachine
whether the screen is connected to the this machine
Definition: ELCApi.h:180
@ EVENT_DEVICE_DISCONNECTED
device disconnected
Definition: ELCApi.h:42
EXTERNC ELC_EXPORT enum ELCReturnCalibrate STDCALL elCalibrate(int32_t calibrationModeInd)
perform calibration (method is blocking until calibration finished)
@ START_DEVICE_MISSING
cannot start tracking: no device found
Definition: ELCApi.h:395
@ VALID_NOT_CONNECTED
cannot validate: not connected to the server
Definition: ELCApi.h:452
double eyePositionRightY
position of the right eye in device coordinates, unit is mm:
Definition: ELCGazeSample.h:153
EXTERNC ELC_EXPORT enum ELCReturnValidate STDCALL elValidate(struct ELCValidationResult *validationResult)
perform validation (method is blocking until validation finished) - calibration must be performed pri...
ELCEvent
EyeLogic events.
Definition: ELCApi.h:34
double meanDeviationRightPx
ELCInvalidValue or mean deviation between right eye POR and stimulus position in [px] in the stimulus...
Definition: ELCApi.h:493
double meanDeviationLeftDeg
ELCInvalidValue or mean deviation of left eye gaze direction in [deg] in the 3-D world system.
Definition: ELCApi.h:490
@ NEXTDATA_CONNECTION_CLOSED
connection to server closed, no new event/GazeSample received
Definition: ELCApi.h:315
double eyePositionRightZ
position of the right eye in device coordinates, unit is mm:
Definition: ELCGazeSample.h:162
ELCReturnInit
return values of elInitApi( )
Definition: ELCApi.h:55
EXTERNC ELC_EXPORT enum ELCReturnConnect STDCALL elConnect()
return values of elConnect( )
double physicalSizeY_mm
vertical physical dimension of the screen [mm]
Definition: ELCApi.h:192
@ ACTIVESCREEN_NOT_FOUND
Definition: ELCApi.h:236
EXTERNC ELC_EXPORT enum ELCReturnConnect STDCALL elConnectRemote(struct ELCServerInfo server)
initialize connection to a remote server (method is blocking until connection established)
@ ACTIVESCREEN_SUCCESS
Definition: ELCApi.h:232
ELCReturnActiveScreen
return values of setActiveScreen( )
Definition: ELCApi.h:230
uint16_t port
port of server
Definition: ELCApi.h:140
@ START_FAILURE
some general failure occurred
Definition: ELCApi.h:401
@ NEXTDATA_PTR_IS_NULL
input ptr is nullptr
Definition: ELCApi.h:309
double pupilRadiusRight
radius of the right pupil in mm or InvalidValue if eye was not found
Definition: ELCGazeSample.h:165
EXTERNC ELC_EXPORT void STDCALL elDisconnect()
closes connection to the server
@ CALIB_INVALID_CALIBRATION_MODE
cannot start calibration: calibration mode is invalid or not supported
Definition: ELCApi.h:433
typedef void(STDCALL *GazeSampleCallback)(const struct ELCGazeSample *sample)
callback function type, new gaze sample
double meanDeviationLeftPx
ELCInvalidValue or mean deviation between left eye POR and stimulus position in [px] in the stimulus ...
Definition: ELCApi.h:487
double porRawX
X coordinate of binocular point of regard on the stimulus plane, check porRawX != InvalidValue before...
Definition: ELCGazeSample.h:63
@ ACTIVESCREEN_FAILURE
Definition: ELCApi.h:238
@ EVENT_SCREEN_CHANGED
a new screen has been set as active
Definition: ELCApi.h:36
@ START_SUCCESS
start tracking successful
Definition: ELCApi.h:391
ELCReturnValidate
return values of elValidate( )
Definition: ELCApi.h:448
EXTERNC ELC_EXPORT int32_t STDCALL elGetAvailableScreens(struct ELCScreenConfig *screenConfig, int32_t numScreenConfigs)
Get a list of screens connected to the local machine. If there are more screens than 'numScreenConfig...
EXTERNC ELC_EXPORT enum ELCReturnActiveScreen STDCALL elSetActiveScreen(char *screenID, struct ELCDeviceGeometry deviceGeometry)
Make a screen connected to this machine to the active screen.
Device configuration.
Definition: ELCApi.h:257
@ CALIB_NOT_CONNECTED
cannot calibrate: not connected to the server
Definition: ELCApi.h:429