mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 11:07:52 +02:00
Merge pull request #11886 from druiz17/fix-vive-head-pose
Register the Vive inputDevice if no controllers are available
This commit is contained in:
commit
ce68b720c2
1 changed files with 5 additions and 5 deletions
|
@ -337,6 +337,7 @@ void ViveControllerManager::InputDevice::update(float deltaTime, const controlle
|
||||||
_poseStateMap.clear();
|
_poseStateMap.clear();
|
||||||
_buttonPressedMap.clear();
|
_buttonPressedMap.clear();
|
||||||
_validTrackedObjects.clear();
|
_validTrackedObjects.clear();
|
||||||
|
_trackedControllers = 0;
|
||||||
|
|
||||||
// While the keyboard is open, we defer strictly to the keyboard values
|
// While the keyboard is open, we defer strictly to the keyboard values
|
||||||
if (isOpenVrKeyboardShown()) {
|
if (isOpenVrKeyboardShown()) {
|
||||||
|
@ -369,14 +370,12 @@ void ViveControllerManager::InputDevice::update(float deltaTime, const controlle
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int numTrackedControllers = 0;
|
|
||||||
if (leftHandDeviceIndex != vr::k_unTrackedDeviceIndexInvalid) {
|
if (leftHandDeviceIndex != vr::k_unTrackedDeviceIndexInvalid) {
|
||||||
numTrackedControllers++;
|
_trackedControllers++;
|
||||||
}
|
}
|
||||||
if (rightHandDeviceIndex != vr::k_unTrackedDeviceIndexInvalid) {
|
if (rightHandDeviceIndex != vr::k_unTrackedDeviceIndexInvalid) {
|
||||||
numTrackedControllers++;
|
_trackedControllers++;
|
||||||
}
|
}
|
||||||
_trackedControllers = numTrackedControllers;
|
|
||||||
|
|
||||||
calibrateFromHandController(inputCalibrationData);
|
calibrateFromHandController(inputCalibrationData);
|
||||||
calibrateFromUI(inputCalibrationData);
|
calibrateFromUI(inputCalibrationData);
|
||||||
|
@ -527,6 +526,7 @@ void ViveControllerManager::InputDevice::handleTrackedObject(uint32_t deviceInde
|
||||||
|
|
||||||
// but _validTrackedObjects remain in sensor frame
|
// but _validTrackedObjects remain in sensor frame
|
||||||
_validTrackedObjects.push_back(std::make_pair(poseIndex, pose));
|
_validTrackedObjects.push_back(std::make_pair(poseIndex, pose));
|
||||||
|
_trackedControllers++;
|
||||||
} else {
|
} else {
|
||||||
controller::Pose invalidPose;
|
controller::Pose invalidPose;
|
||||||
_poseStateMap[poseIndex] = invalidPose;
|
_poseStateMap[poseIndex] = invalidPose;
|
||||||
|
@ -758,9 +758,9 @@ void ViveControllerManager::InputDevice::handleHmd(uint32_t deviceIndex, const c
|
||||||
} else {
|
} else {
|
||||||
const mat4& mat = mat4();
|
const mat4& mat = mat4();
|
||||||
const vec3 zero = vec3();
|
const vec3 zero = vec3();
|
||||||
|
|
||||||
handleHeadPoseEvent(inputCalibrationData, mat, zero, zero);
|
handleHeadPoseEvent(inputCalibrationData, mat, zero, zero);
|
||||||
}
|
}
|
||||||
|
_trackedControllers++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue