OSVR-Core
DirectionInterfaceC.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_DirectionInterfaceC_h_GUID_5F33787D_F830_4C8F_D066_B649857F3395
27 #define INCLUDED_DirectionInterfaceC_h_GUID_5F33787D_F830_4C8F_D066_B649857F3395
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 osvrDeviceDirectionConfigure(
67  OSVR_OUT_PTR OSVR_DirectionDeviceInterface *iface,
68  OSVR_IN OSVR_ChannelCount numSensors OSVR_CPP_ONLY(= 1))
69  OSVR_FUNC_NONNULL((1, 2));
70 
78 OSVR_PLUGINKIT_EXPORT
79 OSVR_ReturnCode osvrDeviceDirectionReportData(
80  OSVR_IN_PTR OSVR_DirectionDeviceInterface iface,
82  OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1, 4)); /* end of group */
84 
85 OSVR_EXTERN_C_END
86 
87 #endif // INCLUDED_DirectionInterfaceC_h_GUID_5F33787D_F830_4C8F_D066_B649857F3395
#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
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceDirectionConfigure(OSVR_INOUT_PTR OSVR_DeviceInitOptions opts, OSVR_OUT_PTR OSVR_DirectionDeviceInterface *iface, OSVR_IN OSVR_ChannelCount numSensors OSVR_CPP_ONLY(=1)) OSVR_FUNC_NONNULL((1
Specify that your device will implement the Direction interface.
A structure defining a 3D vector, often a position/translation.
Definition: Vec3C.h:48
#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
Definition: DirectionInterfaceC.cpp:42
#define OSVR_INOUT_PTR
Indicates a required pointer (non-null) function parameter that is both read and written to...
Definition: AnnotationMacrosC.h:178
#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
struct OSVR_DirectionDeviceInterfaceObject * OSVR_DirectionDeviceInterface
Opaque type used in conjunction with a device token to send data on 3D Direction interface.
Definition: DirectionInterfaceC.h:51
OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode OSVR_PLUGINKIT_EXPORT OSVR_ReturnCode osvrDeviceDirectionReportData(OSVR_IN_PTR OSVR_DirectionDeviceInterface iface, OSVR_IN OSVR_DirectionState directionData, OSVR_IN OSVR_ChannelCount sensor, OSVR_IN_PTR OSVR_TimeValue const *timestamp) OSVR_FUNC_NONNULL((1
Report data for a specific sensor.