OSVR-Core
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 
53 
64 OSVR_PLUGINKIT_EXPORT
65 OSVR_ReturnCode osvrDeviceLocomotionConfigure(
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,
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,
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
#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
#define OSVR_IN_PTR
Indicates a required pointer (non-null) function parameter that serves only as input.
Definition: AnnotationMacrosC.h:108
#define OSVR_FUNC_NONNULL(X)
Indicates the parameter(s) that must be non-null.
Definition: AnnotationMacrosC.h:202
struct OSVR_LocomotionDeviceInterfaceObject * OSVR_LocomotionDeviceInterface
Opaque type used in conjunction with a device token to send data on Locomotion Interface.
Definition: LocomotionInterfaceC.h:51
Structure used internally to construct the desired type of device.
Definition: DeviceInitObject.h:59
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceLocomotionConfigure(OSVR_INOUT_PTR OSVR_DeviceInitOptions opts, OSVR_OUT_PTR OSVR_LocomotionDeviceInterface *iface) OSVR_FUNC_NONNULL((1
Specify that your device will implement the Locomotion interface.
#define OSVR_INOUT_PTR
Indicates a required pointer (non-null) function parameter that is both read and written to...
Definition: AnnotationMacrosC.h:178
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceLocomotionReportNaviPosition(OSVR_IN_PTR OSVR_LocomotionDeviceInterface iface, OSVR_IN OSVR_NaviPositionState naviPosition, OSVR_IN OSVR_ChannelCount sensor, OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1
Report position data for a specific sensor.
A structure defining a 2D vector, which represents position.
Definition: Vec2C.h:48
Definition: LocomotionInterfaceC.cpp:43
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceLocomotionReportNaviVelocity(OSVR_IN_PTR OSVR_LocomotionDeviceInterface iface, OSVR_IN OSVR_NaviVelocityState naviVelocity, OSVR_IN OSVR_ChannelCount sensor, OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1
Report velocity data for a specific sensor.
#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
Definition: ProjectionMatrix.h:77