Skip to content

Commit c7714a0

Browse files
committed
Make IVRDriver::MakeDefaultPose constexpr, default to unconnected&untracked
1 parent c60bf75 commit c7714a0

1 file changed

Lines changed: 18 additions & 12 deletions

File tree

src/IVRDevice.hpp

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#include "ProtobufMessages.pb.h"
44
#include <DeviceType.hpp>
55
#include <openvr_driver.h>
6-
#include <variant>
76

87
namespace SlimeVRDriver {
98

@@ -42,17 +41,24 @@ class IVRDevice : public vr::ITrackedDeviceServerDriver {
4241
*
4342
* @returns Default initialised pose.
4443
*/
45-
static inline vr::DriverPose_t MakeDefaultPose(bool connected = true, bool tracking = true) {
46-
vr::DriverPose_t out_pose = { 0 };
47-
48-
out_pose.deviceIsConnected = connected;
49-
out_pose.poseIsValid = tracking;
50-
out_pose.result = tracking ? vr::ETrackingResult::TrackingResult_Running_OK : vr::ETrackingResult::TrackingResult_Running_OutOfRange;
51-
out_pose.willDriftInYaw = false;
52-
out_pose.shouldApplyHeadModel = false;
53-
out_pose.qDriverFromHeadRotation.w = out_pose.qWorldFromDriverRotation.w = out_pose.qRotation.w = 1.0;
54-
55-
return out_pose;
44+
static constexpr vr::DriverPose_t MakeDefaultPose(bool connected = false, bool tracking = false) {
45+
return {
46+
.poseTimeOffset = 0,
47+
.qWorldFromDriverRotation = {
48+
.w = 1.0,
49+
},
50+
.qDriverFromHeadRotation = {
51+
.w = 1.0,
52+
},
53+
.qRotation = {
54+
.w = 1.0,
55+
},
56+
.result = tracking ? vr::ETrackingResult::TrackingResult_Running_OK : vr::ETrackingResult::TrackingResult_Running_OutOfRange,
57+
.poseIsValid = tracking,
58+
.willDriftInYaw = true,
59+
.shouldApplyHeadModel = false,
60+
.deviceIsConnected = connected,
61+
};
5662
}
5763

5864
/**

0 commit comments

Comments
 (0)