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.
Definition: DeviceInterface.h:93
Definition: FusionParams.h:37
VideoIMUFusionDevice(OSVR_PluginRegContext ctx, std::string const &name, std::string const &imuPath, std::string const &videoPath, VideoIMUFusionParams const ¶ms=VideoIMUFusionParams())
Definition: VideoIMUFusionDevice.cpp:48
The core of the fusion code - doesn't deal with getting data in or reporting it out, for easier use in testing.
Definition: VideoIMUFusion.h:43
Definition: TrackerInterfaceC.cpp:42
~VideoIMUFusionDevice()
Definition: VideoIMUFusionDevice.cpp:86
Report type for an orientation callback on a tracker interface.
Definition: ClientReportTypesC.h:145
Header including the full PluginKit C++ interface.
Definition: ClientContext.h:50
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...
Definition: PluginRegContextC.h:47
Report type for an angular velocity callback on a tracker interface.
Definition: ClientReportTypesC.h:187
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition: TimeValueC.h:81
Definition: ClientInterface.h:49
Wrapper for VideoIMUFusion that handles the specifics of being an analysis plugin.
Definition: VideoIMUFusionDevice.h:44
Report type for a pose (position and orientation) callback on a tracker interface.
Definition: ClientReportTypesC.h:155