Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVRRenderModels_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 IVRRenderModels 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 XRTVRRenderModels_002 : public XRTVRRenderModels_006, public vr::IVRRenderModels_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 IVRRenderModels_002.
37 return nullptr;
38 }
39
40 ForwardDeclareBase_IVRRenderModels(XRTVRRenderModels_006);
41
42 bool
43 LoadRenderModel(const char *pchRenderModelName, RenderModel_t **ppRenderModel) override
44 {
45 openvr_logger logger;
46 OPENVR_LOGGER_INIT(logger);
47
49 "LoadRenderModel(pchRenderModelName=%s, ppRenderModel=%p) -> false", false,
50 pchRenderModelName, static_cast<const void *>(ppRenderModel));
51 }
52
53 Forward_IVRRenderModels_FreeRenderModel();
54
55 bool
56 LoadTexture(TextureID_t textureId, RenderModel_TextureMap_t **ppTexture) override
57 {
58 openvr_logger logger;
59 OPENVR_LOGGER_INIT(logger);
60
61 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "LoadTexture(textureId=%lld, ppTexture=%p) -> false", false,
62 static_cast<long long>(textureId), static_cast<const void *>(ppTexture));
63 }
64
65 Forward_IVRRenderModels_FreeTexture();
66 Forward_IVRRenderModels_GetRenderModelName();
67 Forward_IVRRenderModels_GetRenderModelCount();
68 Forward_IVRRenderModels_GetComponentCount();
69 Forward_IVRRenderModels_GetComponentName();
70 Forward_IVRRenderModels_GetComponentButtonMask();
71 Forward_IVRRenderModels_GetComponentRenderModelName();
72
73 bool
74 GetComponentState(const char *pchRenderModelName,
75 const char *pchComponentName,
76 const vr::VRControllerState_t *pControllerState,
77 RenderModel_ComponentState_t *pComponentState) override
78 {
79 openvr_logger logger;
80 OPENVR_LOGGER_INIT(logger);
81
83 "GetComponentState(pchRenderModelName=%s, pchComponentName=%s, "
84 "pControllerState=%p, pComponentState=%p) -> false",
85 false, pchRenderModelName, pchComponentName,
86 static_cast<const void *>(pControllerState),
87 static_cast<const void *>(pComponentState));
88 }
89
90 Forward_IVRRenderModels_RenderModelHasComponent();
91};
92
93}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVRRenderModels interface version.
Definition XRTVRClientCore.hpp:152
Definition XRTVRRenderModels_002.hpp:26
Definition XRTVRRenderModels.hpp:24
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