void Output() { // Optional: we can overwrite the previous console to more // easily see changes in values HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO bufferInfo; GetConsoleScreenBufferInfo(h, &bufferInfo);
if (ts.StatusFlags & (ovrStatus_OrientationTracked | ovrStatus_PositionTracked)) { // The cpp compatibility layer is used to convert ovrPosef to Posef (see OVR_Math.h) Posef pose = ts.HeadPose.ThePose; float yaw, pitch, roll; pose.Rotation.GetEulerAngles<Axis_Y, Axis_X, Axis_Z>(&yaw, &pitch, &roll);
// Optional: move cursor back to starting position and print values SetConsoleCursorPosition(h, bufferInfo.dwCursorPosition); cout << "yaw: " << RadToDegree(yaw) << endl; cout << "pitch: " << RadToDegree(pitch) << endl; cout << "roll: " << RadToDegree(roll) << endl;