Showing the changes to interface/src/devices/OculusManager.cpp (1 of 1 file). Show all
Unified · Split
| @@ -186,6 +186,8 @@ void OculusManager::disconnect() { · 185 unmodified lines | |||
| 186 | 186 | ||
| 187 | void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) { | 187 | void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) { |
| 188 | #ifdef HAVE_LIBOVR | 188 | #ifdef HAVE_LIBOVR |
| 189 | static QString progressMessage; | ||
| 190 | |||
| 189 | switch (_calibrationState) { | 191 | switch (_calibrationState) { |
| 190 | 192 | ||
| 191 | case UNCALIBRATED: | 193 | case UNCALIBRATED: |
| @@ -210,6 +212,8 @@ void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) { · 18 unmodified lines | |||
| 210 | && glm::angle(orientation * glm::inverse(_calibrationOrientation)) < CALIBRATION_ZERO_MAXIMUM_ANGLE) { | 212 | && glm::angle(orientation * glm::inverse(_calibrationOrientation)) < CALIBRATION_ZERO_MAXIMUM_ANGLE) { |
| 211 | _calibrationStartTime = usecTimestampNow(); | 213 | _calibrationStartTime = usecTimestampNow(); |
| 212 | _calibrationState = WAITING_FOR_ZERO_HELD; | 214 | _calibrationState = WAITING_FOR_ZERO_HELD; |
| 215 | qDebug() << "Progress box: Hold still to calibrate"; | ||
| 216 | progressMessage = ""; | ||
| 213 | } else { | 217 | } else { |
| 214 | _calibrationPosition = position; | 218 | _calibrationPosition = position; |
| 215 | _calibrationOrientation = orientation; | 219 | _calibrationOrientation = orientation; |
| @@ -221,7 +225,19 @@ void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) { · 5 unmodified lines | |||
| 221 | && glm::angle(orientation * glm::inverse(_calibrationOrientation)) < CALIBRATION_ZERO_MAXIMUM_ANGLE) { | 225 | && glm::angle(orientation * glm::inverse(_calibrationOrientation)) < CALIBRATION_ZERO_MAXIMUM_ANGLE) { |
| 222 | if ((usecTimestampNow() - _calibrationStartTime) > CALIBRATION_ZERO_HOLD_TIME) { | 226 | if ((usecTimestampNow() - _calibrationStartTime) > CALIBRATION_ZERO_HOLD_TIME) { |
| 223 | _calibrationState = CALIBRATED; | 227 | _calibrationState = CALIBRATED; |
| 228 | qDebug() << "Delete progress box"; | ||
| 224 | Application::getInstance()->resetSensors(); | 229 | Application::getInstance()->resetSensors(); |
| 230 | } else { | ||
| 231 | // 3...2...1... | ||
| 232 | quint64 quarterSeconds = (usecTimestampNow() - _calibrationStartTime) / 250000; | ||
| 233 | if (quarterSeconds + 1 > progressMessage.length()) { | ||
| 234 | if (quarterSeconds == 4 * (quarterSeconds / 4)) { | ||
| 235 | progressMessage += QString::number(CALIBRATION_ZERO_HOLD_TIME / 1000000 - quarterSeconds / 4); | ||
| 236 | } else { | ||
| 237 | progressMessage += "."; | ||
| 238 | } | ||
| 239 | qDebug() << progressMessage; | ||
| 240 | } | ||
| 225 | } | 241 | } |
| 226 | } else { | 242 | } else { |
| 227 | _calibrationPosition = position; | 243 | _calibrationPosition = position; |