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_body_skeleton.
54 *
55 * @ingroup aux_util
56 */
59 enum xrt_input_name body_tracking_type,
60 struct xrt_body_skeleton *out_value);
61
62/*!
63 * Not implemented function for @ref xrt_device::get_body_joints.
64 *
65 * @ingroup aux_util
66 */
69 enum xrt_input_name body_tracking_type,
70 int64_t desired_timestamp_ns,
71 struct xrt_body_joint_set *out_value);
72
73/*!
74 * Not implemented function for @ref xrt_device::reset_body_tracking_calibration_meta.
75 *
76 * @ingroup aux_util
77 */
80
81/*!
82 * Not implemented function for @ref xrt_device::set_body_tracking_calibration_override_meta.
83 *
84 * @ingroup aux_util
85 */
88
89/*!
90 * Not implemented function for @ref xrt_device::set_output.
91 *
92 * @ingroup aux_util
93 */
95u_device_ni_set_output(struct xrt_device *xdev, enum xrt_output_name name, const struct xrt_output_value *value);
96
97/*!
98 * Not implemented function for @ref xrt_device::get_output_limits.
99 *
100 * @ingroup aux_util
101 */
104
105/*!
106 * Not implemented function for @ref xrt_device::get_presence.
107 *
108 * @ingroup aux_util
109 */
111u_device_ni_get_presence(struct xrt_device *xdev, bool *presence);
112
113/*!
114 * Not implemented function for @ref xrt_device::begin_plane_detection_ext.
115 *
116 * @ingroup aux_util
117 */
120 const struct xrt_plane_detector_begin_info_ext *begin_info,
121 uint64_t plane_detection_id,
122 uint64_t *out_plane_detection_id);
123
124/*!
125 * Not implemented function for @ref xrt_device::destroy_plane_detection_ext.
126 *
127 * @ingroup aux_util
128 */
130u_device_ni_destroy_plane_detection_ext(struct xrt_device *xdev, uint64_t plane_detection_id);
131
132/*!
133 * Not implemented function for @ref xrt_device::get_plane_detection_state_ext.
134 *
135 * @ingroup aux_util
136 */
139 uint64_t plane_detection_id,
140 enum xrt_plane_detector_state_ext *out_state);
141
142/*!
143 * Not implemented function for @ref xrt_device::get_plane_detections_ext.
144 *
145 * @ingroup aux_util
146 */
149 uint64_t plane_detection_id,
150 struct xrt_plane_detections_ext *out_detections);
151
152/*!
153 * Not implemented function for @ref xrt_device::get_view_poses.
154 *
155 * @ingroup aux_util
156 */
159 const struct xrt_vec3 *default_eye_relation,
160 int64_t at_timestamp_ns,
161 enum xrt_view_type view_type,
162 uint32_t view_count,
163 struct xrt_space_relation *out_head_relation,
164 struct xrt_fov *out_fovs,
165 struct xrt_pose *out_poses);
166
167/*!
168 * Not implemented function for @ref xrt_device::compute_distortion.
169 *
170 * @ingroup aux_util
171 */
174 struct xrt_device *xdev, uint32_t view, float u, float v, struct xrt_uv_triplet *out_result);
175
176/*!
177 * Not implemented function for @ref xrt_device::get_visibility_mask.
178 *
179 * @ingroup aux_util
180 */
183 enum xrt_visibility_mask_type type,
184 uint32_t view_index,
185 struct xrt_visibility_mask **out_mask);
186
187/*!
188 * Not implemented function for @ref xrt_device::ref_space_usage.
189 *
190 * @ingroup aux_util
191 */
194 enum xrt_reference_space_type type,
195 enum xrt_input_name name,
196 bool used);
197
198/*!
199 * Not implemented function for @ref xrt_device::is_form_factor_available.
200 *
201 * @ingroup aux_util
202 */
203bool
205
206/*!
207 * Not implemented function for @ref xrt_device::get_battery_status.
208 *
209 * @ingroup aux_util
210 */
212u_device_ni_get_battery_status(struct xrt_device *xdev, bool *out_present, bool *out_charging, float *out_charge);
213
214/*!
215 * Not implemented function for @ref xrt_device::get_brightness.
216 *
217 * @ingroup aux_util
218 */
220u_device_ni_get_brightness(struct xrt_device *xdev, float *out_brightness);
221
222/*!
223 * Not implemented function for @ref xrt_device::set_brightness.
224 *
225 * @ingroup aux_util
226 */
228u_device_ni_set_brightness(struct xrt_device *xdev, float brightness, bool relative);
229
230/*!
231 * Not implemented function for @ref xrt_device::begin_feature.
232 *
233 * @ingroup aux_util
234 */
237
238/*!
239 * Not implemented function for @ref xrt_device::end_feature.
240 *
241 * @ingroup aux_util
242 */
245
246
247#ifdef __cplusplus
248}
249#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:56
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:87
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:66
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:136
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:73
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:185
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:47
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:127
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:150
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:168
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:118
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:213
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:158
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:94
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:80
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:192
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:199
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:101
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:206
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:178
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:111
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:2224
xrt_form_factor
What form factor is this device, mostly maps onto OpenXR's XrFormFactor.
Definition: xrt_defines.h:2165
xrt_input_name
Every internal input source known to monado with a baked in type.
Definition: xrt_defines.h:1355
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:1590
xrt_plane_detector_state_ext
State of a plane detector, see xrt_device.
Definition: xrt_plane_detector.h:83
Definition: xrt_defines.h:2059
Definition: xrt_defines.h:2016
A single HMD or input device.
Definition: xrt_device.h:284
Definition: xrt_defines.h:1794
Describes a projection matrix fov.
Definition: xrt_defines.h:499
Joint set type used for hand tracking.
Definition: xrt_defines.h:1454
Output limits of a particular device.
Definition: xrt_device.h:242
A union of all output types.
Definition: xrt_defines.h:2143
Each plane has n polygons; ultimately plane metadata from locations and vetices is reconstructed.
Definition: xrt_plane_detector.h:171
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:25
Header holding common defines.
xrt_view_type
View type to be rendered to by the compositor.
Definition: xrt_defines.h:2174
Header defining an xrt display or controller device.
xrt_device_feature_type
Higher level features for devices.
Definition: xrt_device.h:231