OSVR-Core  0.6-1962-g59773924
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
LocomotionInterfaceC.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_LocomotionInterfaceC_h_GUID_2458F99D_C36A_4F92_93A4_ABFD224F74AB
27 #define INCLUDED_LocomotionInterfaceC_h_GUID_2458F99D_C36A_4F92_93A4_ABFD224F74AB
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 
51 typedef struct OSVR_LocomotionDeviceInterfaceObject
53 
64 OSVR_PLUGINKIT_EXPORT
65 OSVR_ReturnCode osvrDeviceLocomotionConfigure(
66  OSVR_INOUT_PTR OSVR_DeviceInitOptions opts,
67  OSVR_OUT_PTR OSVR_LocomotionDeviceInterface *iface)
68  OSVR_FUNC_NONNULL((1, 2));
69 
77 OSVR_PLUGINKIT_EXPORT
79  OSVR_IN_PTR OSVR_LocomotionDeviceInterface iface,
80  OSVR_IN OSVR_NaviVelocityState naviVelocity,
81  OSVR_IN OSVR_ChannelCount sensor,
82  OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1, 4));
83 
91 OSVR_PLUGINKIT_EXPORT
93  OSVR_IN_PTR OSVR_LocomotionDeviceInterface iface,
94  OSVR_IN OSVR_NaviPositionState naviPosition,
95  OSVR_IN OSVR_ChannelCount sensor,
96  OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1, 4));
97  /* end of group */
99 
100 OSVR_EXTERN_C_END
101 
102 #endif // INCLUDED_LocomotionInterfaceC_h_GUID_2458F99D_C36A_4F92_93A4_ABFD224F74AB
uint32_t OSVR_ChannelCount
The integer type specifying a number of channels/sensors or a channel/sensor index.
Definition: ChannelCountC.h:51
struct OSVR_LocomotionDeviceInterfaceObject * OSVR_LocomotionDeviceInterface
Opaque type used in conjunction with a device token to send data on Locomotion Interface.
OSVR_ReturnCode osvrDeviceLocomotionReportNaviVelocity(OSVR_LocomotionDeviceInterface iface, OSVR_NaviVelocityState naviVelocity, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report velocity data for a specific sensor.
A structure defining a 2D vector, which represents position.
Definition: Vec2C.h:48
struct OSVR_DeviceInitObject * OSVR_DeviceInitOptions
Opaque type of a device initialization object.
OSVR_ReturnCode osvrDeviceLocomotionConfigure(OSVR_DeviceInitOptions opts, OSVR_LocomotionDeviceInterface *iface)
Specify that your device will implement the Locomotion interface.
OSVR_ReturnCode osvrDeviceLocomotionReportNaviPosition(OSVR_LocomotionDeviceInterface iface, OSVR_NaviPositionState naviPosition, OSVR_ChannelCount sensor, OSVR_TimeValue const *timestamp)
Report position data for a specific sensor.
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition: TimeValueC.h:81