LibOVRCamera::LibOVRCamera(const LibOVRSystem &d, const GL::Camera &c):
HeadTrackingCamera(c),
- device(d)
+ system(d)
{
unsigned supported = ovrTrackingCap_Orientation|ovrTrackingCap_MagYawCorrection|ovrTrackingCap_Position;
- ovrHmd_ConfigureTracking(device.get_private().ovr_hmd, supported, 0);
+ ovrHmd_ConfigureTracking(system.get_private().ovr_hmd, supported, 0);
}
void LibOVRCamera::reset_tracking()
{
- ovrHmd_RecenterPose(device.get_private().ovr_hmd);
+ ovrHmd_RecenterPose(system.get_private().ovr_hmd);
}
void LibOVRCamera::update()
{
double time;
- if(device.is_timing_active())
- time = device.get_tracking_time();
+ if(system.is_timing_active())
+ time = system.get_tracking_time();
else
- time = device.get_current_time();
+ time = system.get_current_time();
- ovrTrackingState state = ovrHmd_GetTrackingState(device.get_private().ovr_hmd, time);
+ ovrTrackingState state = ovrHmd_GetTrackingState(system.get_private().ovr_hmd, time);
OVR::Posef head_pose = state.HeadPose.ThePose;
OVR::Matrix4f tracking_matrix(head_pose);
update_from_matrix(transpose(GL::Matrix(&tracking_matrix.M[0][0])));