Monado OpenXR Runtime
xrt_imu_sink Interface Reference

An object to send IMU samples to. More...

#include <xrt/xrt_tracking.h>

Inheritance diagram for xrt_imu_sink:
Collaboration diagram for xrt_imu_sink:

Public Member Functions

void u_imu_sink_split_create (struct xrt_frame_context *xfctx, struct xrt_imu_sink *downstream_one, struct xrt_imu_sink *downstream_two, struct xrt_imu_sink **out_imu_sink)
 
void u_imu_sink_force_monotonic_create (struct xrt_frame_context *xfctx, struct xrt_imu_sink *downstream, struct xrt_imu_sink **out_imu_sink)
 

Static Public Member Functions

static void xrt_sink_push_imu (struct xrt_imu_sink *sink, struct xrt_imu_sample *sample)
 

Data Fields

void(* push_imu )(struct xrt_imu_sink *, struct xrt_imu_sample *sample)
 Push an IMU sample into the sink. More...
 

Detailed Description

An object to send IMU samples to.

Similar to xrt_frame_sink but the interface implementation must manage its own resources, not through a context graph.

Todo:
Make xrt_tracked_psmv and xrt_tracked_psvr implement this

Member Function Documentation

◆ u_imu_sink_force_monotonic_create()

void u_imu_sink_force_monotonic_create ( struct xrt_frame_context xfctx,
struct xrt_imu_sink downstream,
struct xrt_imu_sink **  out_imu_sink 
)
See also
xrt_frame_context Takes an IMU sample and only pushes it if its timestamp has monotonically increased. Useful for handling hardware inconsistencies.

References push_imu, and U_TYPED_CALLOC.

◆ u_imu_sink_split_create()

void u_imu_sink_split_create ( struct xrt_frame_context xfctx,
struct xrt_imu_sink downstream_one,
struct xrt_imu_sink downstream_two,
struct xrt_imu_sink **  out_imu_sink 
)
See also
xrt_frame_context Takes an IMU sample and pushes it to two sinks

References push_imu, and U_TYPED_CALLOC.

Field Documentation

◆ push_imu

void(* xrt_imu_sink::push_imu) (struct xrt_imu_sink *, struct xrt_imu_sample *sample)

Push an IMU sample into the sink.

Referenced by u_imu_sink_force_monotonic_create(), and u_imu_sink_split_create().


The documentation for this interface was generated from the following files: