52 bool root_is_unbounded,
void u_space_overseer_create_null_space(struct u_space_overseer *uso, struct xrt_space *parent, struct xrt_space **out_space)
Creates a space without any offset, this is just for optimisation over a regular offset space.
Definition: u_space_overseer.c:1188
void u_space_overseer_legacy_setup(struct u_space_overseer *uso, struct xrt_device **xdevs, uint32_t xdev_count, struct xrt_device *head, const struct xrt_pose *local_offset, bool root_is_unbounded, bool per_app_local_spaces)
Sets up the space overseer and all semantic spaces in a way that works with the old xrt_tracking_orig...
Definition: u_space_overseer.c:1112
struct u_space_overseer * u_space_overseer_create(struct xrt_session_event_sink *broadcast)
Create a default implementation of a space overseer.
Definition: u_space_overseer.c:1076
void u_space_overseer_link_space_to_device(struct u_space_overseer *uso, struct xrt_space *xs, struct xrt_device *xdev)
The space overseer internally keeps track the space that xrt_device is in, and then uses that mapping...
Definition: u_space_overseer.c:1201
xrt_input_name
Every internal input source known to monado with a baked in type.
Definition: xrt_defines.h:1301
enum xrt_result xrt_result_t
Result type used across Monado.
Default implementation of the xrt_space_overseer object.
Definition: u_space_overseer.c:83
bool per_app_local_spaces
Create independent local and local_floor per application.
Definition: u_space_overseer.c:120
static xrt_result_t u_space_overseer_create_pose_space(struct u_space_overseer *uso, struct xrt_device *xdev, enum xrt_input_name name, struct xrt_space **out_space)
Create a space that wraps the xdev input pose described by input name, implicitly make the device's t...
Definition: u_space_overseer.h:109
static xrt_result_t u_space_overseer_create_offset_space(struct u_space_overseer *uso, struct xrt_space *parent, const struct xrt_pose *offset, struct xrt_space **out_space)
Create a space with a fixed offset to the parent space.
Definition: u_space_overseer.h:92
struct xrt_session_event_sink * broadcast
Event sink to broadcast events to all sessions.
Definition: u_space_overseer.c:99
A single HMD or input device.
Definition: xrt_device.h:241
A pose composed of a position and orientation.
Definition: xrt_defines.h:465
Used internally from producers of events to push events into session, some sinks might multiplex even...
Definition: xrt_session.h:206
Object that oversees and manages spaces, one created for each XR system.
Definition: xrt_space.h:96
static xrt_result_t xrt_space_overseer_create_offset_space(struct xrt_space_overseer *xso, struct xrt_space *parent, const struct xrt_pose *offset, struct xrt_space **out_space)
Create a space with a fixed offset to the parent space.
Definition: xrt_space.h:322
static xrt_result_t xrt_space_overseer_create_pose_space(struct xrt_space_overseer *xso, struct xrt_device *xdev, enum xrt_input_name name, struct xrt_space **out_space)
Create a space that wraps the xdev input pose described by input name, implicitly make the device's t...
Definition: xrt_space.h:338
A space very similar to a OpenXR XrSpace but not a full one-to-one mapping, but used to power XrSpace...
Definition: xrt_space.h:31
Header defining xrt space and space overseer.