OSVR-Core
EyeTrackerInterfaceC.h
Go to the documentation of this file.
1 
12 // Copyright 2015 Sensics, Inc.
13 //
14 // Licensed under the Apache License, Version 2.0 (the "License");
15 // you may not use this file except in compliance with the License.
16 // You may obtain a copy of the License at
17 //
18 // http://www.apache.org/licenses/LICENSE-2.0
19 //
20 // Unless required by applicable law or agreed to in writing, software
21 // distributed under the License is distributed on an "AS IS" BASIS,
22 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 // See the License for the specific language governing permissions and
24 // limitations under the License.
25 
26 #ifndef INCLUDED_EyeTrackerInterfaceC_h_GUID_F6C50F38_5C4F_41AD_B703_DE8A073F77B3
27 #define INCLUDED_EyeTrackerInterfaceC_h_GUID_F6C50F38_5C4F_41AD_B703_DE8A073F77B3
28 
29 /* Internal Includes */
33 
34 /* Library/third-party includes */
35 /* none */
36 
37 /* Standard includes */
38 /* none */
39 
40 OSVR_EXTERN_C_BEGIN
41 
63 
73 OSVR_PLUGINKIT_EXPORT
74 OSVR_ReturnCode osvrDeviceEyeTrackerConfigure(
76  OSVR_OUT_PTR OSVR_EyeTrackerDeviceInterface *iface,
77  OSVR_IN OSVR_ChannelCount numSensors) OSVR_FUNC_NONNULL((1, 2));
78 
88 OSVR_PLUGINKIT_EXPORT
89 OSVR_ReturnCode osvrDeviceEyeTrackerReport2DGaze(
90  OSVR_IN_PTR OSVR_EyeTrackerDeviceInterface iface,
93  OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1, 4));
94 
103 OSVR_PLUGINKIT_EXPORT
104 OSVR_ReturnCode osvrDeviceEyeTrackerReport3DGaze(
105  OSVR_IN_PTR OSVR_EyeTrackerDeviceInterface iface,
106  OSVR_IN OSVR_EyeGazeDirectionState gazeDirection,
108  OSVR_IN OSVR_ChannelCount sensor,
109  OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1, 5));
110 
118 OSVR_PLUGINKIT_EXPORT
120  OSVR_IN_PTR OSVR_EyeTrackerDeviceInterface iface,
121  OSVR_IN OSVR_EyeGazeDirectionState gazeDirection,
122  OSVR_IN OSVR_ChannelCount sensor,
123  OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1, 4));
124 
134 OSVR_PLUGINKIT_EXPORT
135 OSVR_ReturnCode osvrDeviceEyeTrackerReportGaze(
136  OSVR_IN_PTR OSVR_EyeTrackerDeviceInterface iface,
138  OSVR_IN OSVR_EyeGazeDirectionState gazeDirection,
140  OSVR_IN OSVR_ChannelCount sensor,
141  OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1, 6));
142 
150 OSVR_PLUGINKIT_EXPORT
151 OSVR_ReturnCode osvrDeviceEyeTrackerReportBlink(
152  OSVR_IN_PTR OSVR_EyeTrackerDeviceInterface iface,
154  OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1, 4));
155  /* end of group */
157 
158 OSVR_EXTERN_C_END
159 
160 #endif // INCLUDED_EyeTrackerInterfaceC_h_GUID_F6C50F38_5C4F_41AD_B703_DE8A073F77B3
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceEyeTrackerReportGaze(OSVR_IN_PTR OSVR_EyeTrackerDeviceInterface iface, OSVR_IN OSVR_EyeGazePosition2DState gazePosition, OSVR_IN OSVR_EyeGazeDirectionState gazeDirection, OSVR_IN OSVR_EyeGazeBasePoint3DState gazeBasePoint, OSVR_IN OSVR_ChannelCount sensor, OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1
Report both 2D and 3D gaze for an eye.
#define OSVR_OUT_PTR
Indicates a required pointer (non-null) function parameter that serves only as output.
Definition: AnnotationMacrosC.h:151
uint32_t OSVR_ChannelCount
The integer type specifying a number of channels/sensors or a channel/sensor index.
Definition: ChannelCountC.h:51
Definition: EyeTrackerInterfaceC.cpp:49
#define OSVR_IN_PTR
Indicates a required pointer (non-null) function parameter that serves only as input.
Definition: AnnotationMacrosC.h:108
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceEyeTrackerReport2DGaze(OSVR_IN_PTR OSVR_EyeTrackerDeviceInterface iface, OSVR_IN OSVR_EyeGazePosition2DState gazePosition, OSVR_IN OSVR_ChannelCount sensor, OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1
Report gaze position 2D for a sensor (eye) - each component normalized from 0 to 1, lower-left corner of the screen is (0, 0) with the screen extending along the positive axes.
A structure defining a 3D vector, often a position/translation.
Definition: Vec3C.h:48
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceEyeTrackerConfigure(OSVR_INOUT_PTR OSVR_DeviceInitOptions opts, OSVR_OUT_PTR OSVR_EyeTrackerDeviceInterface *iface, OSVR_IN OSVR_ChannelCount numSensors) OSVR_FUNC_NONNULL((1
Specify that your device will implement the Eye Tracker interface.
#define OSVR_FUNC_NONNULL(X)
Indicates the parameter(s) that must be non-null.
Definition: AnnotationMacrosC.h:202
Structure used internally to construct the desired type of device.
Definition: DeviceInitObject.h:59
struct OSVR_EyeTrackerDeviceInterfaceObject * OSVR_EyeTrackerDeviceInterface
Opaque type used to send data on eye tracker interface (which internally is carried over several inte...
Definition: EyeTrackerInterfaceC.h:61
#define OSVR_INOUT_PTR
Indicates a required pointer (non-null) function parameter that is both read and written to...
Definition: AnnotationMacrosC.h:178
A structure defining a 2D vector, which represents position.
Definition: Vec2C.h:48
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceEyeTrackerReportBlink(OSVR_IN_PTR OSVR_EyeTrackerDeviceInterface iface, OSVR_IN OSVR_EyeTrackerBlinkState blink, OSVR_IN OSVR_ChannelCount sensor, OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1
Report the blink state.
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceEyeTrackerReport3DGazeDirection(OSVR_IN_PTR OSVR_EyeTrackerDeviceInterface iface, OSVR_IN OSVR_EyeGazeDirectionState gazeDirection, OSVR_IN OSVR_ChannelCount sensor, OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1
3D gaze direction for an eye
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceEyeTrackerReport3DGaze(OSVR_IN_PTR OSVR_EyeTrackerDeviceInterface iface, OSVR_IN OSVR_EyeGazeDirectionState gazeDirection, OSVR_IN OSVR_EyeGazeBasePoint3DState gazeBasePoint, OSVR_IN OSVR_ChannelCount sensor, OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1
Report 3D gaze ray for an eye.
#define OSVR_IN
Indicates a required function parameter that serves only as input.
Definition: AnnotationMacrosC.h:100
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition: TimeValueC.h:81
OSVR_ButtonState OSVR_EyeTrackerBlinkState
State for a blink event.
Definition: ClientReportTypesC.h:303
Definition: ProjectionMatrix.h:77