96 int64_t at_timestamp_ns,
124 int64_t at_timestamp_ns,
127 return xht->
locate(xht, xso, base_space, base_offset, at_timestamp_ns, out_location);
153XRT_NONNULL_ALL
static inline void
xrt_hand
Enumeration for left and right hand.
Definition xrt_defines.h:1478
xrt_input_name
Every internal input source known to monado with a baked in type.
Definition xrt_defines.h:930
enum xrt_result xrt_result_t
Result type used across Monado.
xrt_output_name
Name of a output with a baked in type.
Definition xrt_defines.h:1612
A single HMD or input device.
Definition xrt_device.h:311
Joint set type used for hand tracking.
Definition xrt_defines.h:1521
Creation parameters for xrt_hand_tracker.
Definition xrt_hand_tracker.h:35
enum xrt_hand hand
Which hand this tracker represents.
Definition xrt_hand_tracker.h:37
struct xrt_device * locked_xdev
Optional device to lock the tracker to.
Definition xrt_hand_tracker.h:46
uint32_t requested_source_count
Number of entries in requested_sources, zero means all sources.
Definition xrt_hand_tracker.h:43
enum xrt_input_name requested_sources[2]
Optional ordered list of requested hand-tracking input names.
Definition xrt_hand_tracker.h:40
Result of locating a hand tracker.
Definition xrt_hand_tracker.h:59
bool is_active
Set if the hand tracker found active hand data.
Definition xrt_hand_tracker.h:67
struct xrt_hand_joint_set hand_joint_set
Located joints in the requested base space.
Definition xrt_hand_tracker.h:61
enum xrt_input_name source
Input source that produced active data.
Definition xrt_hand_tracker.h:64
A hand tracker that owns device/source selection policy.
Definition xrt_hand_tracker.h:76
void(* destroy)(struct xrt_hand_tracker *xht)
Destroy this hand tracker.
Definition xrt_hand_tracker.h:111
static XRT_NONNULL_ALL xrt_result_t xrt_hand_tracker_set_output(struct xrt_hand_tracker *xht, enum xrt_output_name name, const struct xrt_output_value *value)
Apply output to the selected backing source device(s).
Definition xrt_hand_tracker.h:136
xrt_result_t(* set_output)(struct xrt_hand_tracker *xht, enum xrt_output_name name, const struct xrt_output_value *value)
Apply output to the selected backing source device(s).
Definition xrt_hand_tracker.h:102
static XRT_NONNULL_ALL void xrt_hand_tracker_destroy(struct xrt_hand_tracker **xht_ptr)
Destroy an xrt_hand_tracker - helper function.
Definition xrt_hand_tracker.h:154
xrt_result_t(* locate)(struct xrt_hand_tracker *xht, struct xrt_space_overseer *xso, struct xrt_space *base_space, const struct xrt_pose *base_offset, int64_t at_timestamp_ns, struct xrt_hand_tracker_location *out_location)
Locate hand joints in the supplied base space.
Definition xrt_hand_tracker.h:92
static xrt_result_t xrt_hand_tracker_locate(struct xrt_hand_tracker *xht, struct xrt_space_overseer *xso, struct xrt_space *base_space, const struct xrt_pose *base_offset, int64_t at_timestamp_ns, struct xrt_hand_tracker_location *out_location)
Locate hand joints in the supplied base space.
Definition xrt_hand_tracker.h:120
A union of all output types.
Definition xrt_defines.h:2386
A pose composed of a position and orientation.
Definition xrt_defines.h:492
Object that oversees and manages spaces, one created for each XR system.
Definition xrt_space.h:97
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:32
Common defines and enums for XRT.
Internal result type for XRT.