Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVRChaperone_002.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 IVRChaperone interface version 002.
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
20
21namespace xrt::state_trackers::openvr {
22
23using namespace vr;
24
25class XRTVRChaperone_002 : public XRTVRChaperone_004, public vr::IVRChaperone_002
26{
27public:
28 // @todo Remove when clang-format is updated in CI
29 // clang-format off
31 // clang-format on
32
33 void *
34 getFnTable()
35 {
36 // No FnTable available for IVRChaperone_002.
37 return nullptr;
38 }
39
40 ForwardDeclareBase_IVRChaperone(XRTVRChaperone_004);
41
42 Forward_IVRChaperone_GetCalibrationState();
43
44 bool
45 GetSoftBoundsInfo(ChaperoneSoftBoundsInfo_t *pInfo) override
46 {
47 openvr_logger logger;
48 OPENVR_LOGGER_INIT(logger);
49
50 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "GetSoftBoundsInfo(pInfo=%p) -> false", false,
51 static_cast<const void *>(pInfo));
52 }
53
54 bool
55 GetHardBoundsInfo(VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t *punQuadsCount) override
56 {
57 openvr_logger logger;
58 OPENVR_LOGGER_INIT(logger);
59
60 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "GetHardBoundsInfo(pQuadsBuffer=%p, punQuadsCount=%p) -> false",
61 false, static_cast<const void *>(pQuadsBuffer),
62 static_cast<const void *>(punQuadsCount));
63 }
64
65 bool
66 GetSeatedBoundsInfo(ChaperoneSeatedBoundsInfo_t *pInfo) override
67 {
68 openvr_logger logger;
69 OPENVR_LOGGER_INIT(logger);
70
71 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "GetSeatedBoundsInfo(pInfo=%p) -> false", false,
72 static_cast<const void *>(pInfo));
73 }
74
75 Forward_IVRChaperone_ReloadInfo();
76 Forward_IVRChaperone_SetSceneColor();
77
78 void
79 GetBoundsColor(HmdColor_t *pOutputColorArray, int nNumOutputColors) override
80 {
81 openvr_logger logger;
82 OPENVR_LOGGER_INIT(logger);
83
84 OPENVR_LOG_UNIMPLEMENTED(logger, "GetBoundsColor(pOutputColorArray=%p, nNumOutputColors=%lld) -> false",
85 static_cast<const void *>(pOutputColorArray),
86 static_cast<long long>(nNumOutputColors));
87 }
88
89 Forward_IVRChaperone_AreBoundsVisible();
90 Forward_IVRChaperone_ForceBoundsVisible();
91};
92
93}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVRChaperone interface version.
Definition XRTVRChaperone_002.hpp:26
Definition XRTVRChaperone.hpp:24
Definition XRTVRClientCore.hpp:152
Definitions missing from C++ header, present in C.
Definition blockqueue.hpp:15
Logging functions.
#define OPENVR_LOG_UNIMPLEMENTED(logger, fmt,...)
Specialized macro for logging an unimplemented function.
Definition openvr_logger.hpp:51
#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