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:868
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)
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:786
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:759
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:881
xrt_input_name
Every internal input source known to monado with a baked in type.
Definition: xrt_defines.h:1134
enum xrt_result xrt_result_t
Result type used across Monado.
Default implementation of the xrt_space_overseer object.
Definition: u_space_overseer.c:82
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:108
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:91
struct xrt_session_event_sink * broadcast
Event sink to broadcast events to all sessions.
Definition: u_space_overseer.c:95
A single HMD or input device.
Definition: xrt_device.h:230
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 mutliplex even...
Definition: xrt_session.h:193
Object that oversees and manages spaces, one created for each XR system.
Definition: xrt_space.h:95
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:232
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:248
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:30
Header defining xrt space and space overseer.