Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVRRenderModels_001.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 IVRRenderModels interface version 001.
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
20
21
22namespace xrt::state_trackers::openvr {
23
24using namespace vr;
25
26class XRTVRRenderModels_001 : public XRTVRRenderModels_002, public vr::IVRRenderModels_001
27{
28public:
29 // @todo Remove when clang-format is updated in CI
30 // clang-format off
32 // clang-format on
33
34 void *
35 getFnTable()
36 {
37 // No FnTable available for IVRRenderModels_001.
38 return nullptr;
39 }
40
41 ForwardDeclareBase_IVRRenderModels(XRTVRRenderModels_002);
42
43 bool
44 LoadRenderModel(const char *pchRenderModelName, RenderModel_t *pRenderModel) override
45 {
46 openvr_logger logger;
47 OPENVR_LOGGER_INIT(logger);
48
49 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "LoadRenderModel(pchRenderModelName=%s, pRenderModel=%p) -> false",
50 false, pchRenderModelName, static_cast<const void *>(pRenderModel));
51 }
52
53 Forward_IVRRenderModels_FreeRenderModel();
54 Forward_IVRRenderModels_GetRenderModelName();
55 Forward_IVRRenderModels_GetRenderModelCount();
56 Forward_IVRRenderModels_GetComponentCount();
57 Forward_IVRRenderModels_GetComponentName();
58 Forward_IVRRenderModels_GetComponentButtonMask();
59 Forward_IVRRenderModels_GetComponentRenderModelName();
60
61 bool
62 GetComponentState(const char *pchRenderModelName,
63 const char *pchComponentName,
64 vr::VRControllerState_t controllerState,
65 ComponentState_t *pComponentState) override
66 {
67 openvr_logger logger;
68 OPENVR_LOGGER_INIT(logger);
69
71 "GetComponentState(pchRenderModelName=%s, pchComponentName=%s, "
72 "controllerState=?, pComponentState=%p) -> false",
73 false, pchRenderModelName, pchComponentName,
74 static_cast<const void *>(pComponentState));
75 }
76};
77
78}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVRRenderModels interface version.
Implementation of the IVRRenderModels interface version 002.
Definition XRTVRClientCore.hpp:152
Definition XRTVRRenderModels_001.hpp:27
Definition XRTVRRenderModels_002.hpp:26
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