25 #ifndef INCLUDED_VideoIMUFusionDevice_h_GUID_477141AB_39F3_489A_8C15_BF558BECB7E0
26 #define INCLUDED_VideoIMUFusionDevice_h_GUID_477141AB_39F3_489A_8C15_BF558BECB7E0
48 std::string
const &imuPath, std::string
const &videoPath,
51 OSVR_ReturnCode update();
52 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
54 static void s_handleIMUData(
void *userdata,
const OSVR_TimeValue *timestamp,
56 static void s_handleIMUVelocity(
void *userdata,
59 static void s_handleVideoTrackerData(
void *userdata,
70 void sendMainPoseReport();
71 void sendVelocityReport();
81 bool m_shouldReportCamera()
const;
84 using our_clock = std::chrono::system_clock;
85 bool m_reportedCamera =
false;
86 our_clock::time_point m_nextCameraReport;
89 #endif // INCLUDED_VideoIMUFusionDevice_h_GUID_477141AB_39F3_489A_8C15_BF558BECB7E0
Wrapper class for OSVR_DeviceToken.
VideoIMUFusionDevice(OSVR_PluginRegContext ctx, std::string const &name, std::string const &imuPath, std::string const &videoPath, VideoIMUFusionParams const ¶ms=VideoIMUFusionParams())
Report type for an orientation callback on a tracker interface.
Header including the full PluginKit C++ interface.
OSVR_EXTERN_C_BEGIN typedef void * OSVR_PluginRegContext
A context pointer passed in to your plugin's entry point and other locations of control flow transfer...
Report type for an angular velocity callback on a tracker interface.
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Report type for a pose (position and orientation) callback on a tracker interface.