Monado OpenXR Runtime
u_device_ni.h
Go to the documentation of this file.
1// Copyright 2019-2025, Collabora, Ltd.
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Not implemented function helpers for device drivers.
6 * @author Jakob Bornecrantz <jakob@collabora.com>
7 * @author Rylie Pavlik <rylie.pavlik@collabora.com>
8 * @author Moshi Turner <moshiturner@protonmail.com>
9 * @author Simon Zeni <simon.zeni@collabora.com>
10 * @ingroup aux_util
11 */
12
13#pragma once
14
15#include "xrt/xrt_compiler.h"
16#include "xrt/xrt_device.h"
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22
23/*
24 *
25 * Not implemented function helpers.
26 *
27 */
28
29/*!
30 * Not implemented function for @ref xrt_device::get_hand_tracking.
31 *
32 * @ingroup aux_util
33 */
36 enum xrt_input_name name,
37 int64_t desired_timestamp_ns,
38 struct xrt_hand_joint_set *out_value,
39 int64_t *out_timestamp_ns);
40
41/*!
42 * Not implemented function for @ref xrt_device::get_face_tracking.
43 *
44 * @ingroup aux_util
45 */
48 enum xrt_input_name facial_expression_type,
49 int64_t at_timestamp_ns,
50 struct xrt_facial_expression_set *out_value);
51
52/*!
53 * Not implemented function for @ref xrt_device::get_face_tracking.
54 *
55 * @ingroup aux_util
56 */
58u_device_ni_get_face_calibration_state_android(struct xrt_device *xdev, bool *out_face_is_calibrated);
59
60/*!
61 * Not implemented function for @ref xrt_device::get_body_skeleton.
62 *
63 * @ingroup aux_util
64 */
67 enum xrt_input_name body_tracking_type,
68 struct xrt_body_skeleton *out_value);
69
70/*!
71 * Not implemented function for @ref xrt_device::get_body_joints.
72 *
73 * @ingroup aux_util
74 */
77 enum xrt_input_name body_tracking_type,
78 int64_t desired_timestamp_ns,
79 struct xrt_body_joint_set *out_value);
80
81/*!
82 * Not implemented function for @ref xrt_device::reset_body_tracking_calibration_meta.
83 *
84 * @ingroup aux_util
85 */
88
89/*!
90 * Not implemented function for @ref xrt_device::set_body_tracking_calibration_override_meta.
91 *
92 * @ingroup aux_util
93 */
96
97/*!
98 * Not implemented function for @ref xrt_device::set_output.
99 *
100 * @ingroup aux_util
101 */
103u_device_ni_set_output(struct xrt_device *xdev, enum xrt_output_name name, const struct xrt_output_value *value);
104
105/*!
106 * Not implemented function for @ref xrt_device::get_output_limits.
107 *
108 * @ingroup aux_util
109 */
112
113/*!
114 * Not implemented function for @ref xrt_device::get_presence.
115 *
116 * @ingroup aux_util
117 */
119u_device_ni_get_presence(struct xrt_device *xdev, bool *presence);
120
121/*!
122 * Not implemented function for @ref xrt_device::begin_plane_detection_ext.
123 *
124 * @ingroup aux_util
125 */
128 const struct xrt_plane_detector_begin_info_ext *begin_info,
129 uint64_t plane_detection_id,
130 uint64_t *out_plane_detection_id);
131
132/*!
133 * Not implemented function for @ref xrt_device::destroy_plane_detection_ext.
134 *
135 * @ingroup aux_util
136 */
138u_device_ni_destroy_plane_detection_ext(struct xrt_device *xdev, uint64_t plane_detection_id);
139
140/*!
141 * Not implemented function for @ref xrt_device::get_plane_detection_state_ext.
142 *
143 * @ingroup aux_util
144 */
147 uint64_t plane_detection_id,
148 enum xrt_plane_detector_state_ext *out_state);
149
150/*!
151 * Not implemented function for @ref xrt_device::get_plane_detections_ext.
152 *
153 * @ingroup aux_util
154 */
157 uint64_t plane_detection_id,
158 struct xrt_plane_detections_ext *out_detections);
159
160/*!
161 * Not implemented function for @ref xrt_device::get_view_poses.
162 *
163 * @ingroup aux_util
164 */
167 const struct xrt_vec3 *default_eye_relation,
168 int64_t at_timestamp_ns,
169 enum xrt_view_type view_type,
170 uint32_t view_count,
171 struct xrt_space_relation *out_head_relation,
172 struct xrt_fov *out_fovs,
173 struct xrt_pose *out_poses);
174
175/*!
176 * Not implemented function for @ref xrt_device::compute_distortion.
177 *
178 * @ingroup aux_util
179 */
182 struct xrt_device *xdev, uint32_t view, float u, float v, struct xrt_uv_triplet *out_result);
183
184/*!
185 * Not implemented function for @ref xrt_device::get_visibility_mask.
186 *
187 * @ingroup aux_util
188 */
191 enum xrt_visibility_mask_type type,
192 uint32_t view_index,
193 struct xrt_visibility_mask **out_mask);
194
195/*!
196 * Not implemented function for @ref xrt_device::ref_space_usage.
197 *
198 * @ingroup aux_util
199 */
202 enum xrt_reference_space_type type,
203 enum xrt_input_name name,
204 bool used);
205
206/*!
207 * Not implemented function for @ref xrt_device::is_form_factor_available.
208 *
209 * @ingroup aux_util
210 */
211bool
213
214/*!
215 * Not implemented function for @ref xrt_device::get_battery_status.
216 *
217 * @ingroup aux_util
218 */
220u_device_ni_get_battery_status(struct xrt_device *xdev, bool *out_present, bool *out_charging, float *out_charge);
221
222/*!
223 * Not implemented function for @ref xrt_device::get_brightness.
224 *
225 * @ingroup aux_util
226 */
228u_device_ni_get_brightness(struct xrt_device *xdev, float *out_brightness);
229
230/*!
231 * Not implemented function for @ref xrt_device::set_brightness.
232 *
233 * @ingroup aux_util
234 */
236u_device_ni_set_brightness(struct xrt_device *xdev, float brightness, bool relative);
237
238/*!
239 * Not implemented function for @ref xrt_device::get_compositor_info.
240 *
241 * @ingroup aux_util
242 */
245 const struct xrt_device_compositor_mode *mode,
246 struct xrt_device_compositor_info *out_info);
247
248/*!
249 * Not implemented function for @ref xrt_device::begin_feature.
250 *
251 * @ingroup aux_util
252 */
255
256/*!
257 * Not implemented function for @ref xrt_device::end_feature.
258 *
259 * @ingroup aux_util
260 */
263
264
265#ifdef __cplusplus
266}
267#endif
xrt_result_t u_device_ni_get_body_joints(struct xrt_device *xdev, enum xrt_input_name body_tracking_type, int64_t desired_timestamp_ns, struct xrt_body_joint_set *out_value)
Not implemented function for xrt_device::get_body_joints.
Definition: u_device_ni.c:63
xrt_result_t u_device_ni_get_output_limits(struct xrt_device *xdev, struct xrt_output_limits *limits)
Not implemented function for xrt_device::get_output_limits.
Definition: u_device_ni.c:94
xrt_result_t u_device_ni_reset_body_tracking_calibration_meta(struct xrt_device *xdev)
Not implemented function for xrt_device::reset_body_tracking_calibration_meta.
Definition: u_device_ni.c:73
xrt_result_t u_device_ni_get_view_poses(struct xrt_device *xdev, const struct xrt_vec3 *default_eye_relation, int64_t at_timestamp_ns, enum xrt_view_type view_type, uint32_t view_count, struct xrt_space_relation *out_head_relation, struct xrt_fov *out_fovs, struct xrt_pose *out_poses)
Not implemented function for xrt_device::get_view_poses.
Definition: u_device_ni.c:143
xrt_result_t u_device_ni_set_body_tracking_calibration_override_meta(struct xrt_device *xdev, float new_body_height)
Not implemented function for xrt_device::set_body_tracking_calibration_override_meta.
Definition: u_device_ni.c:80
xrt_result_t u_device_ni_get_battery_status(struct xrt_device *xdev, bool *out_present, bool *out_charging, float *out_charge)
Not implemented function for xrt_device::get_battery_status.
Definition: u_device_ni.c:192
xrt_result_t u_device_ni_get_body_skeleton(struct xrt_device *xdev, enum xrt_input_name body_tracking_type, struct xrt_body_skeleton *out_value)
Not implemented function for xrt_device::get_body_skeleton.
Definition: u_device_ni.c:54
xrt_result_t u_device_ni_get_compositor_info(struct xrt_device *xdev, const struct xrt_device_compositor_mode *mode, struct xrt_device_compositor_info *out_info)
Not implemented function for xrt_device::get_compositor_info.
Definition: u_device_ni.c:213
xrt_result_t u_device_ni_get_plane_detections_ext(struct xrt_device *xdev, uint64_t plane_detection_id, struct xrt_plane_detections_ext *out_detections)
Not implemented function for xrt_device::get_plane_detections_ext.
Definition: u_device_ni.c:134
xrt_result_t u_device_ni_compute_distortion(struct xrt_device *xdev, uint32_t view, float u, float v, struct xrt_uv_triplet *out_result)
Not implemented function for xrt_device::compute_distortion.
Definition: u_device_ni.c:157
xrt_result_t u_device_ni_ref_space_usage(struct xrt_device *xdev, enum xrt_reference_space_type type, enum xrt_input_name name, bool used)
Not implemented function for xrt_device::ref_space_usage.
Definition: u_device_ni.c:175
xrt_result_t u_device_ni_get_plane_detection_state_ext(struct xrt_device *xdev, uint64_t plane_detection_id, enum xrt_plane_detector_state_ext *out_state)
Not implemented function for xrt_device::get_plane_detection_state_ext.
Definition: u_device_ni.c:125
xrt_result_t u_device_ni_end_feature(struct xrt_device *xdev, enum xrt_device_feature_type type)
Not implemented function for xrt_device::end_feature.
Definition: u_device_ni.c:229
xrt_result_t u_device_ni_get_visibility_mask(struct xrt_device *xdev, enum xrt_visibility_mask_type type, uint32_t view_index, struct xrt_visibility_mask **out_mask)
Not implemented function for xrt_device::get_visibility_mask.
Definition: u_device_ni.c:165
xrt_result_t u_device_ni_get_hand_tracking(struct xrt_device *xdev, enum xrt_input_name name, int64_t desired_timestamp_ns, struct xrt_hand_joint_set *out_value, int64_t *out_timestamp_ns)
Not implemented function for xrt_device::get_hand_tracking.
Definition: u_device_ni.c:26
xrt_result_t u_device_ni_get_presence(struct xrt_device *xdev, bool *presence)
Not implemented function for xrt_device::get_presence.
Definition: u_device_ni.c:101
xrt_result_t u_device_ni_set_output(struct xrt_device *xdev, enum xrt_output_name name, const struct xrt_output_value *value)
Not implemented function for xrt_device::set_output.
Definition: u_device_ni.c:87
xrt_result_t u_device_ni_get_brightness(struct xrt_device *xdev, float *out_brightness)
Not implemented function for xrt_device::get_brightness.
Definition: u_device_ni.c:199
xrt_result_t u_device_ni_get_face_calibration_state_android(struct xrt_device *xdev, bool *out_face_is_calibrated)
Not implemented function for xrt_device::get_face_tracking.
Definition: u_device_ni.c:47
xrt_result_t u_device_ni_set_brightness(struct xrt_device *xdev, float brightness, bool relative)
Not implemented function for xrt_device::set_brightness.
Definition: u_device_ni.c:206
xrt_result_t u_device_ni_begin_plane_detection_ext(struct xrt_device *xdev, const struct xrt_plane_detector_begin_info_ext *begin_info, uint64_t plane_detection_id, uint64_t *out_plane_detection_id)
Not implemented function for xrt_device::begin_plane_detection_ext.
Definition: u_device_ni.c:108
xrt_result_t u_device_ni_begin_feature(struct xrt_device *xdev, enum xrt_device_feature_type type)
Not implemented function for xrt_device::begin_feature.
Definition: u_device_ni.c:222
bool u_device_ni_is_form_factor_available(struct xrt_device *xdev, enum xrt_form_factor form_factor)
Not implemented function for xrt_device::is_form_factor_available.
Definition: u_device_ni.c:185
xrt_result_t u_device_ni_destroy_plane_detection_ext(struct xrt_device *xdev, uint64_t plane_detection_id)
Not implemented function for xrt_device::destroy_plane_detection_ext.
Definition: u_device_ni.c:118
xrt_result_t u_device_ni_get_face_tracking(struct xrt_device *xdev, enum xrt_input_name facial_expression_type, int64_t at_timestamp_ns, struct xrt_facial_expression_set *out_value)
Not implemented function for xrt_device::get_face_tracking.
Definition: u_device_ni.c:37
xrt_visibility_mask_type
Visibility mask, mirror of XrVisibilityMaskKHR.
Definition: xrt_defines.h:2355
xrt_form_factor
What form factor is this device, mostly maps onto OpenXR's XrFormFactor.
Definition: xrt_defines.h:2296
xrt_input_name
Every internal input source known to monado with a baked in type.
Definition: xrt_defines.h:1380
enum xrt_result xrt_result_t
Result type used across Monado.
xrt_reference_space_type
Type of a OpenXR mapped reference space, maps to the semantic spaces on the xrt_space_overseer struct...
Definition: xrt_defines.h:612
xrt_output_name
Name of a output with a baked in type.
Definition: xrt_defines.h:1617
xrt_plane_detector_state_ext
State of a plane detector, see xrt_device.
Definition: xrt_plane_detector.h:83
Definition: xrt_defines.h:2190
Definition: xrt_defines.h:2147
Compositor information for a device.
Definition: xrt_device.h:88
Compositor mode information for a device.
Definition: xrt_device.h:104
A single HMD or input device.
Definition: xrt_device.h:310
Definition: xrt_defines.h:1923
Describes a projection matrix fov.
Definition: xrt_defines.h:499
Joint set type used for hand tracking.
Definition: xrt_defines.h:1479
Output limits of a particular device.
Definition: xrt_device.h:266
A union of all output types.
Definition: xrt_defines.h:2274
Each plane has n polygons; ultimately plane metadata from xrt_plane_detections_ext::locations and xrt...
Definition: xrt_plane_detector.h:172
A query for a plane.
Definition: xrt_plane_detector.h:97
A pose composed of a position and orientation.
Definition: xrt_defines.h:479
A relation with two spaces, includes velocity and acceleration.
Definition: xrt_defines.h:670
Represents a uv triplet for distortion, basically just three xrt_vec2.
Definition: xrt_defines.h:279
A 3 element vector with single floats.
Definition: xrt_defines.h:289
Visibility mask helper, the indices and vertices are tightly packed after this struct.
Definition: xrt_visibility_mask.h:26
Header holding common defines.
xrt_view_type
View type to be rendered to by the compositor.
Definition: xrt_defines.h:2305
Header defining an xrt display or controller device.
xrt_device_feature_type
Higher level features for devices.
Definition: xrt_device.h:254