29 #ifndef INCLUDED_TrackerInterfaceC_h_GUID_FA1B5B80_FEB5_469D_8F1E_7ED54A27A7AD
30 #define INCLUDED_TrackerInterfaceC_h_GUID_FA1B5B80_FEB5_469D_8F1E_7ED54A27A7AD
67 OSVR_OUT_PTR OSVR_TrackerDeviceInterface *iface)
68 OSVR_FUNC_NONNULL((1, 2));
76 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
79 OSVR_FUNC_NONNULL((1, 2, 3));
87 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
90 OSVR_FUNC_NONNULL((1, 2, 3, 5));
98 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
101 OSVR_FUNC_NONNULL((1, 2, 3));
106 OSVR_PLUGINKIT_EXPORT
109 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
112 OSVR_FUNC_NONNULL((1, 2, 3, 5));
117 OSVR_PLUGINKIT_EXPORT
120 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
123 OSVR_FUNC_NONNULL((1, 2, 3));
128 OSVR_PLUGINKIT_EXPORT
131 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
135 OSVR_FUNC_NONNULL((1, 2, 3, 5));
140 OSVR_PLUGINKIT_EXPORT
143 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
146 OSVR_FUNC_NONNULL((1, 2, 3, 5));
151 OSVR_PLUGINKIT_EXPORT
154 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
158 OSVR_FUNC_NONNULL((1, 2, 3, 5));
163 OSVR_PLUGINKIT_EXPORT
166 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
170 OSVR_FUNC_NONNULL((1, 2, 3, 5));
175 OSVR_PLUGINKIT_EXPORT
178 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
182 OSVR_FUNC_NONNULL((1, 2, 3, 5));
187 OSVR_PLUGINKIT_EXPORT
190 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
194 OSVR_FUNC_NONNULL((1, 2, 3, 5));
199 OSVR_PLUGINKIT_EXPORT
202 OSVR_IN_PTR OSVR_TrackerDeviceInterface iface,
206 OSVR_FUNC_NONNULL((1, 2, 3, 5));
OSVR_ReturnCode osvrDeviceTrackerSendOrientationTimestamped(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_OrientationState const *val, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report the orientation of a sensor that doesn't report position, using the supplied timestamp...
Struct for combined acceleration state.
uint32_t OSVR_ChannelCount
The integer type specifying a number of channels/sensors or a channel/sensor index.
A DeviceToken connects the generic device interaction code in PluginKit's C API with the workings of ...
A structure defining a 3D vector, often a position/translation.
struct OSVR_TrackerDeviceInterfaceObject * OSVR_TrackerDeviceInterface
Opaque type used in conjunction with a device token to send data on a tracker interface.
A structure defining a quaternion, often a unit quaternion representing 3D rotation.
OSVR_ReturnCode osvrDeviceTrackerSendPose(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_PoseState const *val, OSVR_ChannelCount sensor)
Report the full rigid body pose of a sensor, automatically generating a timestamp.
The quaternion represents the incremental rotation taking place over a period of dt seconds...
Structure used internally to construct the desired type of device.
OSVR_ReturnCode osvrDeviceTrackerSendAngularAccelerationTimestamped(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_AngularAccelerationState const *val, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report the angular acceleration of a sensor that doesn't report linear acceleration, using the supplied timestamp.
OSVR_ReturnCode osvrDeviceTrackerSendLinearAccelerationTimestamped(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_LinearAccelerationState const *val, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report the linear acceleration of a sensor that doesn't report angular acceleration, using the supplied timestamp.
OSVR_ReturnCode osvrDeviceTrackerSendOrientation(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_OrientationState const *val, OSVR_ChannelCount sensor)
Report the orientation of a sensor that doesn't report position, automatically generating a timestamp...
OSVR_ReturnCode osvrDeviceTrackerSendPosition(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_PositionState const *val, OSVR_ChannelCount sensor)
Report the position of a sensor that doesn't report orientation, automatically generating a timestamp...
OSVR_ReturnCode osvrDeviceTrackerSendPositionTimestamped(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_PositionState const *val, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report the position of a sensor that doesn't report orientation, using the supplied timestamp...
OSVR_ReturnCode osvrDeviceTrackerSendAccelerationTimestamped(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_AccelerationState const *val, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report the linear and angular Acceleration of a sensor, using the supplied timestamp.
A structure defining a 3D (6DOF) rigid body pose: translation and rotation.
OSVR_ReturnCode osvrDeviceTrackerSendPoseTimestamped(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_PoseState const *val, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report the full rigid body pose of a sensor, using the supplied timestamp.
OSVR_ReturnCode osvrDeviceTrackerConfigure(OSVR_DeviceInitOptions opts, OSVR_TrackerDeviceInterface *iface)
Specify that your device will implement the Tracker interface.
Struct for combined velocity state.
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
OSVR_ReturnCode osvrDeviceTrackerSendAngularVelocityTimestamped(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_AngularVelocityState const *val, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report the angular velocity of a sensor that doesn't report linear velocity, using the supplied times...
OSVR_ReturnCode osvrDeviceTrackerSendLinearVelocityTimestamped(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_LinearVelocityState const *val, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report the linear velocity of a sensor that doesn't report angular velocity, using the supplied times...
OSVR_ReturnCode osvrDeviceTrackerSendVelocityTimestamped(OSVR_DeviceToken dev, OSVR_TrackerDeviceInterface iface, OSVR_VelocityState const *val, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report the linear and angular velocity of a sensor, using the supplied timestamp. ...