Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVRSystem_012.hpp
Go to the documentation of this file.
1// Copyright 2026, Beyley Cardellio
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Implementation of the IVRSystem interface version 012.
6 *
7 * @author Beyley Cardellio <ep1cm1n10n123@gmail.com>
8 * @ingroup openvr_interfaces
9 */
10
11#pragma once
12
14
15#include "openvr_interfaces_unified.h"
16#include "openvr_forward_macros.h"
17
19#include "XRTVRSystem_014.hpp"
20
21
22namespace xrt::state_trackers::openvr {
23
24using namespace vr;
25
26class XRTVRSystem_012 : public XRTVRSystem_014, public vr::IVRSystem_012
27{
28public:
29 // @todo Remove when clang-format is updated in CI
30 // clang-format off
32 // clang-format on
33
34 FnTable_IVRSystem_012();
35
36 ForwardDeclareBase_IVRSystem(XRTVRSystem_014);
37
38 Forward_IVRSystem_GetRecommendedRenderTargetSize();
39 Forward_IVRSystem_GetProjectionMatrix_014();
40 Forward_IVRSystem_GetProjectionRaw_026();
41
42 DistortionCoordinates_t
43 ComputeDistortion(EVREye eEye, float fU, float fV) override
44 {
45 openvr_logger logger;
46 OPENVR_LOGGER_INIT(logger);
47
48 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "ComputeDistortion(eEye=%d, fU=%f, fV=%f)", {},
49 static_cast<int>(eEye), fU, fV);
50 }
51
52 Forward_IVRSystem_GetEyeToHeadTransform_026();
53 Forward_IVRSystem_GetTimeSinceLastVsync();
54 Forward_IVRSystem_GetD3D9AdapterIndex();
55 Forward_IVRSystem_GetDXGIOutputInfo_026();
56 Forward_IVRSystem_IsDisplayOnDesktop();
57 Forward_IVRSystem_SetDisplayVisibility();
58 Forward_IVRSystem_GetDeviceToAbsoluteTrackingPose_026();
59 Forward_IVRSystem_ResetSeatedZeroPose();
60 Forward_IVRSystem_GetSeatedZeroPoseToStandingAbsoluteTrackingPose();
61 Forward_IVRSystem_GetRawZeroPoseToStandingAbsoluteTrackingPose();
62 Forward_IVRSystem_GetSortedTrackedDeviceIndicesOfClass_026();
63 Forward_IVRSystem_GetTrackedDeviceActivityLevel();
64 Forward_IVRSystem_ApplyTransform_026();
65 Forward_IVRSystem_GetTrackedDeviceIndexForControllerRole();
66 Forward_IVRSystem_GetControllerRoleForTrackedDeviceIndex();
67 Forward_IVRSystem_GetTrackedDeviceClass_026();
68 Forward_IVRSystem_IsTrackedDeviceConnected();
69 Forward_IVRSystem_GetBoolTrackedDeviceProperty_026();
70 Forward_IVRSystem_GetFloatTrackedDeviceProperty_026();
71 Forward_IVRSystem_GetInt32TrackedDeviceProperty_026();
72 Forward_IVRSystem_GetUint64TrackedDeviceProperty_026();
73 Forward_IVRSystem_GetMatrix34TrackedDeviceProperty_026();
74 Forward_IVRSystem_GetStringTrackedDeviceProperty_026();
75 Forward_IVRSystem_GetPropErrorNameFromEnum_026();
76 Forward_IVRSystem_PollNextEvent_026();
77 Forward_IVRSystem_PollNextEventWithPose_026();
78 Forward_IVRSystem_GetEventTypeNameFromEnum();
79
80 HiddenAreaMesh_t
81 GetHiddenAreaMesh(EVREye eEye) override
82 {
83 openvr_logger logger;
84 OPENVR_LOGGER_INIT(logger);
85
86 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "GetHiddenAreaMesh(eEye=%d) -> {0, 0}", (HiddenAreaMesh_t{0, 0}),
87 static_cast<int>(eEye));
88 }
89
90 bool
91 GetControllerState(vr::TrackedDeviceIndex_t unControllerDeviceIndex,
92 vr::VRControllerState_t *pControllerState) override
93 {
94 openvr_logger logger;
95 OPENVR_LOGGER_INIT(logger);
96
98 logger, "GetControllerState(unControllerDeviceIndex=%llu, pControllerState=%p) -> false", false,
99 static_cast<unsigned long long>(unControllerDeviceIndex),
100 static_cast<const void *>(pControllerState));
101 }
102
103 bool
104 GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin,
105 vr::TrackedDeviceIndex_t unControllerDeviceIndex,
106 vr::VRControllerState_t *pControllerState,
107 TrackedDevicePose_t *pTrackedDevicePose) override
108 {
109 openvr_logger logger;
110 OPENVR_LOGGER_INIT(logger);
111
113 logger,
114 "GetControllerStateWithPose(eOrigin=%d, unControllerDeviceIndex=%llu, "
115 "pControllerState=%p, pTrackedDevicePose=%p) -> false",
116 false, static_cast<int>(eOrigin), static_cast<unsigned long long>(unControllerDeviceIndex),
117 static_cast<const void *>(pControllerState), static_cast<const void *>(pTrackedDevicePose));
118 }
119
120 Forward_IVRSystem_TriggerHapticPulse();
121 Forward_IVRSystem_GetButtonIdNameFromEnum();
122 Forward_IVRSystem_GetControllerAxisTypeNameFromEnum();
123 Forward_IVRSystem_CaptureInputFocus();
124 Forward_IVRSystem_ReleaseInputFocus();
125 Forward_IVRSystem_IsInputFocusCapturedByAnotherProcess();
126 Forward_IVRSystem_DriverDebugRequest_017();
127 Forward_IVRSystem_PerformFirmwareUpdate_026();
128 Forward_IVRSystem_AcknowledgeQuit_Exiting();
129 Forward_IVRSystem_AcknowledgeQuit_UserPrompt();
130};
131
132}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVRSystem interface version.
Implementation of the IVRSystem interface version 014.
Definition XRTVRClientCore.hpp:152
Definition XRTVRSystem_012.hpp:27
Definition XRTVRSystem_014.hpp:27
Definitions missing from C++ header, present in C.
Definition blockqueue.hpp:15
Logging functions.
#define OPENVR_LOG_UNIMPLEMENTED_RET(logger, fmt, ret,...)
Specialized macro for logging an unimplemented function and returning a value.
Definition openvr_logger.hpp:57
Definition openvr_logger.hpp:30