OSVR-Core
TrackerServerInterface.h
Go to the documentation of this file.
1 
11 // Copyright 2015 Sensics, Inc.
12 //
13 // Licensed under the Apache License, Version 2.0 (the "License");
14 // you may not use this file except in compliance with the License.
15 // You may obtain a copy of the License at
16 //
17 // http://www.apache.org/licenses/LICENSE-2.0
18 //
19 // Unless required by applicable law or agreed to in writing, software
20 // distributed under the License is distributed on an "AS IS" BASIS,
21 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 // See the License for the specific language governing permissions and
23 // limitations under the License.
24 
25 #ifndef INCLUDED_TrackerServerInterface_h_GUID_2FECCA11_65B7_41AA_9326_8CD10202FA64
26 #define INCLUDED_TrackerServerInterface_h_GUID_2FECCA11_65B7_41AA_9326_8CD10202FA64
27 
28 // Internal Includes
30 #include <osvr/Util/TimeValue.h>
32 
33 // Library/third-party includes
34 // - none
35 
36 // Standard includes
37 // - none
38 
39 namespace osvr {
40 namespace connection {
41 
47  public:
48  virtual void sendReport(OSVR_PositionState const &val,
49  OSVR_ChannelCount sensor,
50  util::time::TimeValue const &timestamp) = 0;
51 
52  virtual void sendReport(OSVR_OrientationState const &val,
53  OSVR_ChannelCount sensor,
54  util::time::TimeValue const &timestamp) = 0;
55 
56  virtual void sendReport(OSVR_PoseState const &val,
57  OSVR_ChannelCount sensor,
58  util::time::TimeValue const &timestamp) = 0;
59 
60  virtual void sendVelReport(OSVR_VelocityState const &val,
61  OSVR_ChannelCount sensor,
62  util::time::TimeValue const &timestamp) = 0;
63  virtual void sendVelReport(OSVR_LinearVelocityState const &val,
64  OSVR_ChannelCount sensor,
65  util::time::TimeValue const &timestamp) = 0;
66  virtual void sendVelReport(OSVR_AngularVelocityState const &val,
67  OSVR_ChannelCount sensor,
68  util::time::TimeValue const &timestamp) = 0;
69 
70  virtual void
71  sendAccelReport(OSVR_AccelerationState const &val,
72  OSVR_ChannelCount sensor,
73  util::time::TimeValue const &timestamp) = 0;
74  virtual void
75  sendAccelReport(OSVR_LinearAccelerationState const &val,
76  OSVR_ChannelCount sensor,
77  util::time::TimeValue const &timestamp) = 0;
78  virtual void
79  sendAccelReport(OSVR_AngularAccelerationState const &val,
80  OSVR_ChannelCount sensor,
81  util::time::TimeValue const &timestamp) = 0;
82  };
83 
84 } // namespace connection
85 } // namespace osvr
86 
87 #endif // INCLUDED_TrackerServerInterface_h_GUID_2FECCA11_65B7_41AA_9326_8CD10202FA64
Struct for combined acceleration state.
Definition: ClientReportTypesC.h:107
uint32_t OSVR_ChannelCount
The integer type specifying a number of channels/sensors or a channel/sensor index.
Definition: ChannelCountC.h:51
Interface for external access to generating tracker reports.
Definition: TrackerServerInterface.h:46
A structure defining a 3D vector, often a position/translation.
Definition: Vec3C.h:48
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
A structure defining a quaternion, often a unit quaternion representing 3D rotation.
Definition: QuaternionC.h:49
The quaternion represents the incremental rotation taking place over a period of dt seconds...
Definition: ClientReportTypesC.h:75
Header providing a C++ wrapper around TimeValueC.h.
A structure defining a 3D (6DOF) rigid body pose: translation and rotation.
Definition: Pose3C.h:54
Struct for combined velocity state.
Definition: ClientReportTypesC.h:87
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition: TimeValueC.h:81