Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVRTrackedCamera_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 IVRTrackedCamera 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 XRTVRTrackedCamera_001 : public XRTVRTrackedCamera_002, public vr::IVRTrackedCamera_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 IVRTrackedCamera_001.
38 return nullptr;
39 }
40
41 ForwardDeclareBase_IVRTrackedCamera(XRTVRTrackedCamera_002);
42
43 bool
44 HasCamera(vr::TrackedDeviceIndex_t nDeviceIndex) override
45 {
46 openvr_logger logger;
47 OPENVR_LOGGER_INIT(logger);
48
49 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "HasCamera(nDeviceIndex=%llu)", false,
50 static_cast<unsigned long long>(nDeviceIndex));
51 }
52
53 bool
54 GetCameraFirmwareDescription(vr::TrackedDeviceIndex_t nDeviceIndex, char *pBuffer, uint32_t nBufferLen) override
55 {
56 openvr_logger logger;
57 OPENVR_LOGGER_INIT(logger);
58
60 logger, "GetCameraFirmwareDescription(nDeviceIndex=%llu, pBuffer=%p, nBufferLen=%llu)", false,
61 static_cast<unsigned long long>(nDeviceIndex), static_cast<const void *>(pBuffer),
62 static_cast<unsigned long long>(nBufferLen));
63 }
64
65 bool
66 GetCameraFrameDimensions(vr::TrackedDeviceIndex_t nDeviceIndex,
67 vr::ECameraVideoStreamFormat nVideoStreamFormat,
68 uint32_t *pWidth,
69 uint32_t *pHeight) override
70 {
71 openvr_logger logger;
72 OPENVR_LOGGER_INIT(logger);
73
75 logger, "GetCameraFrameDimensions(nDeviceIndex=%llu, nVideoStreamFormat=?, pWidth=%p, pHeight=%p)",
76 false, static_cast<unsigned long long>(nDeviceIndex), static_cast<const void *>(pWidth),
77 static_cast<const void *>(pHeight));
78 }
79
80 bool
81 SetCameraVideoStreamFormat(vr::TrackedDeviceIndex_t nDeviceIndex,
82 vr::ECameraVideoStreamFormat nVideoStreamFormat) override
83 {
84 openvr_logger logger;
85 OPENVR_LOGGER_INIT(logger);
86
88 "SetCameraVideoStreamFormat(nDeviceIndex=%llu, nVideoStreamFormat=?)",
89 false, static_cast<unsigned long long>(nDeviceIndex));
90 }
91
92 vr::ECameraVideoStreamFormat
93 GetCameraVideoStreamFormat(vr::TrackedDeviceIndex_t nDeviceIndex) override
94 {
95 openvr_logger logger;
96 OPENVR_LOGGER_INIT(logger);
97
98 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "GetCameraVideoStreamFormat(nDeviceIndex=%llu)", {},
99 static_cast<unsigned long long>(nDeviceIndex));
100 }
101
102 bool
103 EnableCameraForStreaming(vr::TrackedDeviceIndex_t nDeviceIndex, bool bEnable) override
104 {
105 openvr_logger logger;
106 OPENVR_LOGGER_INIT(logger);
107
108 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "EnableCameraForStreaming(nDeviceIndex=%llu, bEnable=%d)", false,
109 static_cast<unsigned long long>(nDeviceIndex), static_cast<int>(bEnable));
110 }
111
112 bool
113 StartVideoStream(vr::TrackedDeviceIndex_t nDeviceIndex) override
114 {
115 openvr_logger logger;
116 OPENVR_LOGGER_INIT(logger);
117
118 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "StartVideoStream(nDeviceIndex=%llu)", false,
119 static_cast<unsigned long long>(nDeviceIndex));
120 }
121
122 bool
123 StopVideoStream(vr::TrackedDeviceIndex_t nDeviceIndex) override
124 {
125 openvr_logger logger;
126 OPENVR_LOGGER_INIT(logger);
127
128 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "StopVideoStream(nDeviceIndex=%llu)", false,
129 static_cast<unsigned long long>(nDeviceIndex));
130 }
131
132 bool
133 IsVideoStreamActive(vr::TrackedDeviceIndex_t nDeviceIndex) override
134 {
135 openvr_logger logger;
136 OPENVR_LOGGER_INIT(logger);
137
138 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "IsVideoStreamActive(nDeviceIndex=%llu)", false,
139 static_cast<unsigned long long>(nDeviceIndex));
140 }
141
142 float
143 GetVideoStreamElapsedTime(vr::TrackedDeviceIndex_t nDeviceIndex) override
144 {
145 openvr_logger logger;
146 OPENVR_LOGGER_INIT(logger);
147
148 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "GetVideoStreamElapsedTime(nDeviceIndex=%llu)", {},
149 static_cast<unsigned long long>(nDeviceIndex));
150 }
151
152 const vr::CameraVideoStreamFrame_t *
153 GetVideoStreamFrame(vr::TrackedDeviceIndex_t nDeviceIndex) override
154 {
155 openvr_logger logger;
156 OPENVR_LOGGER_INIT(logger);
157
158 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "GetVideoStreamFrame(nDeviceIndex=%llu)", {},
159 static_cast<unsigned long long>(nDeviceIndex));
160 }
161
162 bool
163 ReleaseVideoStreamFrame(vr::TrackedDeviceIndex_t nDeviceIndex,
164 const vr::CameraVideoStreamFrame_t *pFrameImage) override
165 {
166 openvr_logger logger;
167 OPENVR_LOGGER_INIT(logger);
168
169 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "ReleaseVideoStreamFrame(nDeviceIndex=%llu, pFrameImage=%p)",
170 false, static_cast<unsigned long long>(nDeviceIndex),
171 static_cast<const void *>(pFrameImage));
172 }
173
174 bool
175 SetAutoExposure(vr::TrackedDeviceIndex_t nDeviceIndex, bool bEnable) override
176 {
177 openvr_logger logger;
178 OPENVR_LOGGER_INIT(logger);
179
180 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "SetAutoExposure(nDeviceIndex=%llu, bEnable=%d)", false,
181 static_cast<unsigned long long>(nDeviceIndex), static_cast<int>(bEnable));
182 }
183
184 bool
185 PauseVideoStream(vr::TrackedDeviceIndex_t nDeviceIndex) override
186 {
187 openvr_logger logger;
188 OPENVR_LOGGER_INIT(logger);
189
190 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "PauseVideoStream(nDeviceIndex=%llu)", false,
191 static_cast<unsigned long long>(nDeviceIndex));
192 }
193
194 bool
195 ResumeVideoStream(vr::TrackedDeviceIndex_t nDeviceIndex) override
196 {
197 openvr_logger logger;
198 OPENVR_LOGGER_INIT(logger);
199
200 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "ResumeVideoStream(nDeviceIndex=%llu)", false,
201 static_cast<unsigned long long>(nDeviceIndex));
202 }
203
204 bool
205 IsVideoStreamPaused(vr::TrackedDeviceIndex_t nDeviceIndex) override
206 {
207 openvr_logger logger;
208 OPENVR_LOGGER_INIT(logger);
209
210 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "IsVideoStreamPaused(nDeviceIndex=%llu)", false,
211 static_cast<unsigned long long>(nDeviceIndex));
212 }
213
214 bool
215 GetCameraDistortion(vr::TrackedDeviceIndex_t nDeviceIndex,
216 float flInputU,
217 float flInputV,
218 float *pflOutputU,
219 float *pflOutputV) override
220 {
221 openvr_logger logger;
222 OPENVR_LOGGER_INIT(logger);
223
225 logger,
226 "GetCameraDistortion(nDeviceIndex=%llu, flInputU=%f, flInputV=%f, pflOutputU=%p, pflOutputV=%p)",
227 false, static_cast<unsigned long long>(nDeviceIndex), flInputU, flInputV,
228 static_cast<const void *>(pflOutputU), static_cast<const void *>(pflOutputV));
229 }
230
231 bool
232 GetCameraProjection(vr::TrackedDeviceIndex_t nDeviceIndex,
233 float flWidthPixels,
234 float flHeightPixels,
235 float flZNear,
236 float flZFar,
237 vr::HmdMatrix44_t *pProjection) override
238 {
239 openvr_logger logger;
240 OPENVR_LOGGER_INIT(logger);
241
243 "GetCameraProjection(nDeviceIndex=%llu, flWidthPixels=%f, "
244 "flHeightPixels=%f, flZNear=%f, flZFar=%f, pProjection=%p)",
245 false, static_cast<unsigned long long>(nDeviceIndex), flWidthPixels,
246 flHeightPixels, flZNear, flZFar, static_cast<const void *>(pProjection));
247 }
248};
249
250}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVRTrackedCamera_006 interface version.
Implementation of the IVRTrackedCamera interface version 002.
Definition XRTVRClientCore.hpp:152
Definition XRTVRTrackedCamera_001.hpp:27
Definition XRTVRTrackedCamera_002.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