| 172 | } |
| 173 | |
| 174 | OSVR_ReturnCode osvrClientGetViewerPose(OSVR_DisplayConfig disp, |
| 175 | OSVR_ViewerCount viewer, |
| 176 | OSVR_Pose3 *pose) { |
| 177 | OSVR_VALIDATE_DISPLAY_CONFIG; |
| 178 | OSVR_VALIDATE_VIEWER_ID; |
| 179 | OSVR_VALIDATE_OUTPUT_PTR(pose, "viewer pose"); |
| 180 | try { |
| 181 | *pose = disp->cfg->getViewer(viewer).getPose(); |
| 182 | return OSVR_RETURN_SUCCESS; |
| 183 | } catch (osvr::client::NoPoseYet &) { |
| 184 | OSVR_DEV_VERBOSE("Error getting viewer pose: no pose yet available"); |
| 185 | return OSVR_RETURN_FAILURE; |
| 186 | } catch (std::exception &e) { |
| 187 | |
| 188 | OSVR_DEV_VERBOSE("Error getting viewer pose - exception: " << e.what()); |
| 189 | return OSVR_RETURN_FAILURE; |
| 190 | } |
| 191 | return OSVR_RETURN_FAILURE; |
| 192 | } |
| 193 | |
| 194 | OSVR_ReturnCode osvrClientGetNumEyesForViewer(OSVR_DisplayConfig disp, |
| 195 | OSVR_ViewerCount viewer, |