// // OculusManager.cpp // hifi // // Created by Stephen Birarda on 5/9/13. // Copyright (c) 2012 High Fidelity, Inc. All rights reserved. // #include "OculusManager.h" #include bool OculusManager::_isConnected = false; #ifdef __APPLE__ Ptr OculusManager::_deviceManager; Ptr OculusManager::_hmdDevice; Ptr OculusManager::_sensorDevice; SensorFusion OculusManager::_sensorFusion; #endif void OculusManager::connect() { #ifdef __APPLE__ System::Init(); _deviceManager = *DeviceManager::Create(); _hmdDevice = *_deviceManager->EnumerateDevices().CreateDevice(); if (_hmdDevice) { _isConnected = true; _sensorDevice = *_hmdDevice->GetSensor(); _sensorFusion.AttachToSensor(_sensorDevice); // default the yaw to the current orientation _sensorFusion.SetMagReference(); } #endif } void OculusManager::getEulerAngles(float& yaw, float& pitch, float& roll) { #ifdef __APPLE__ _sensorFusion.GetOrientation().GetEulerAngles(&yaw, &pitch, &roll); // convert each angle to degrees yaw = glm::degrees(yaw); pitch = glm::degrees(pitch); roll = glm::degrees(roll); #endif }