Tobii Pro SDK C API
user_position_guide.c
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
#if _WIN32 || _WIN64
#include <windows.h>
static void sleep_ms(int time) {
Sleep(time);
}
#else
#include <unistd.h>
static void sleep_ms(int time) {
usleep(time * 1000);
}
#endif
void user_position_guide_callback(TobiiResearchUserPositionGuide* user_position_guide, void* user_data) {
memcpy(user_data, user_position_guide, sizeof(*user_position_guide));
}
void user_position_guide_example(TobiiResearchEyeTracker* eyetracker) {
TobiiResearchUserPositionGuide user_position_guide;
char* serial_number = NULL;
tobii_research_get_serial_number(eyetracker, &serial_number);
printf("Subscribing to user position guide for eye tracker with serial number %s.\n", serial_number);
user_position_guide_callback, &user_position_guide);
if (status != TOBII_RESEARCH_STATUS_OK)
return;
/* Wait while some user position guide is collected. */
sleep_ms(2000);
status = tobii_research_unsubscribe_from_user_position_guide(eyetracker, user_position_guide_callback);
printf("Unsubscribed from user position guide with status %i.\n", status);
printf("Last received gaze package:\n");
printf("Left eye 3D gaze point user position: (%f, %f, %F)\n",
user_position_guide.left_eye.user_position.x,
user_position_guide.left_eye.user_position.y,
user_position_guide.left_eye.user_position.z);
printf("Right eye 3D gaze point user position: (%f, %f, %f)\n",
user_position_guide.right_eye.user_position.x,
user_position_guide.right_eye.user_position.y,
user_position_guide.right_eye.user_position.z);
/* Wait while some data is collected. */
sleep_ms(2000);
}
tobii_research_unsubscribe_from_user_position_guide
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_user_position_guide(TobiiResearchEyeTracker *eyetracker, tobii_research_user_position_guide_callback callback)
Unsubscribes from user position guide for the eye tracker.
TobiiResearchPoint3D::y
float y
Definition: tobii_research.h:402
TobiiResearchUserPositionGuide
Definition: tobii_research_streams.h:159
TobiiResearchEyeUserPositionGuide::user_position
TobiiResearchNormalizedPoint3D user_position
Definition: tobii_research_streams.h:147
tobii_research_get_serial_number
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_get_serial_number(TobiiResearchEyeTracker *eyetracker, char **serial_number)
Gets the serial number of the eye tracker. All physical eye trackers have a unique serial number.
TobiiResearchUserPositionGuide::left_eye
TobiiResearchEyeUserPositionGuide left_eye
Definition: tobii_research_streams.h:163
tobii_research_eyetracker.h
Functionality for an eye tracker.
TobiiResearchPoint3D::x
float x
Definition: tobii_research.h:398
tobii_research_free_string
TOBII_RESEARCH_API void TOBII_RESEARCH_CALL tobii_research_free_string(char *str)
Free memory allocation for a string allocated by the SDK.
tobii_research_streams.h
Functionality for eye tracker streams.
TobiiResearchEyeTracker
struct TobiiResearchEyeTracker TobiiResearchEyeTracker
Definition: tobii_research.h:310
TobiiResearchUserPositionGuide::right_eye
TobiiResearchEyeUserPositionGuide right_eye
Definition: tobii_research_streams.h:168
TobiiResearchPoint3D::z
float z
Definition: tobii_research.h:406
TOBII_RESEARCH_STATUS_OK
@ TOBII_RESEARCH_STATUS_OK
Definition: tobii_research.h:49
tobii_research_subscribe_to_user_position_guide
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_user_position_guide(TobiiResearchEyeTracker *eyetracker, tobii_research_user_position_guide_callback callback, void *user_data)
Subscribes to user position guide for the eye tracker.
TobiiResearchStatus
TobiiResearchStatus
Definition: tobii_research.h:45