Monado OpenXR Runtime
ipc_client_device.c File Reference

IPC Client device. More...

#include "xrt/xrt_device.h"
#include "os/os_time.h"
#include "math/m_api.h"
#include "util/u_var.h"
#include "util/u_misc.h"
#include "util/u_debug.h"
#include "util/u_device.h"
#include "client/ipc_client.h"
#include "ipc_client_generated.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
Include dependency graph for ipc_client_device.c:

Typedefs

typedef struct ipc_client_xdev ipc_client_device_t
 An IPC client proxy for an controller or other non-MHD xrt_device and ipc_client_xdev. More...
 

Functions

static ipc_client_device_tipc_client_device (struct xrt_device *xdev)
 
static void ipc_client_device_destroy (struct xrt_device *xdev)
 
static xrt_result_t ipc_client_device_update_inputs (struct xrt_device *xdev)
 
static xrt_result_t ipc_client_device_get_tracked_pose (struct xrt_device *xdev, enum xrt_input_name name, int64_t at_timestamp_ns, struct xrt_space_relation *out_relation)
 
static void ipc_client_device_get_hand_tracking (struct xrt_device *xdev, enum xrt_input_name name, int64_t at_timestamp_ns, struct xrt_hand_joint_set *out_value, int64_t *out_timestamp_ns)
 
static xrt_result_t ipc_client_device_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)
 
static xrt_result_t ipc_client_device_get_body_skeleton (struct xrt_device *xdev, enum xrt_input_name body_tracking_type, struct xrt_body_skeleton *out_value)
 
static xrt_result_t ipc_client_device_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)
 
static void ipc_client_device_get_view_poses (struct xrt_device *xdev, const struct xrt_vec3 *default_eye_relation, int64_t at_timestamp_ns, uint32_t view_count, struct xrt_space_relation *out_head_relation, struct xrt_fov *out_fovs, struct xrt_pose *out_poses)
 
static void ipc_client_device_set_output (struct xrt_device *xdev, enum xrt_output_name name, const union xrt_output_value *value)
 
static xrt_result_t ipc_client_device_get_visibility_mask (struct xrt_device *xdev, enum xrt_visibility_mask_type type, uint32_t view_index, struct xrt_visibility_mask **out_mask)
 

Detailed Description