Monado OpenXR Runtime

Handles transformation/filtering of input data. More...

#include "math/m_mathinclude.h"
#include "oxr_input_transform.h"
#include "oxr_logger.h"
#include "oxr_objects.h"
#include "oxr_conversions.h"
#include "util/u_misc.h"
#include "openxr/openxr_reflection.h"
#include <string.h>
#include <assert.h>
Include dependency graph for oxr_input_transform.c:

Macros

#define PRINT(name, value)    case name: return #name;
 
#define OXR_MAX_INPUT_TRANSFORMS   5
 Arbitrary but larger than required. More...
 

Functions

static const char * xr_action_type_to_str (XrActionType type)
 
void oxr_input_transform_destroy (struct oxr_input_transform **transform_ptr)
 
bool oxr_input_transform_init_root (struct oxr_input_transform *transform, enum xrt_input_type input_type)
 
bool oxr_input_transform_init_vec2_get_x (struct oxr_input_transform *transform, const struct oxr_input_transform *parent)
 
bool oxr_input_transform_init_vec2_get_y (struct oxr_input_transform *transform, const struct oxr_input_transform *parent)
 
bool oxr_input_transform_init_vec2_dpad (struct oxr_input_transform *transform, const struct oxr_input_transform *parent, struct oxr_dpad_settings dpad_settings, enum oxr_dpad_region dpad_region, enum xrt_input_type activation_input_type, struct xrt_input *activation_input)
 
bool oxr_input_transform_init_threshold (struct oxr_input_transform *transform, const struct oxr_input_transform *parent, float threshold, bool invert)
 
bool oxr_input_transform_init_bool_to_vec1 (struct oxr_input_transform *transform, const struct oxr_input_transform *parent, enum xrt_input_type result_type, float true_val, float false_val)
 
bool oxr_input_transform_process (struct oxr_input_transform *transform, size_t transform_count, const struct oxr_input_value_tagged *input, struct oxr_input_value_tagged *out)
 
static bool ends_with (const char *str, const char *suffix)
 
static bool input_is_float (enum xrt_input_type input_type)
 
static uint8_t input_dim (enum xrt_input_type input_type)
 
static bool oxr_type_matches_xrt (enum xrt_input_type input_type, XrActionType result_type)
 
static bool extend_transform_array (struct oxr_logger *log, struct oxr_sink_logger *slog, struct oxr_input_transform *transform, const struct oxr_input_transform *parent, XrActionType result_type, const char *bound_path_string)
 
struct oxr_input_transformoxr_input_transform_clone_chain (struct oxr_input_transform *transforms, size_t transform_count)
 
bool oxr_input_transform_create_chain (struct oxr_logger *log, struct oxr_sink_logger *slog, enum xrt_input_type input_type, XrActionType result_type, const char *action_name, const char *bound_path_string, struct oxr_input_transform **out_transforms, size_t *out_transform_count)
 
bool oxr_input_transform_create_chain_dpad (struct oxr_logger *log, struct oxr_sink_logger *slog, enum xrt_input_type input_type, XrActionType result_type, const char *bound_path_string, struct oxr_dpad_binding_modification *dpad_binding_modification, enum oxr_dpad_region dpad_region, enum xrt_input_type activation_input_type, struct xrt_input *activation_input, struct oxr_input_transform **out_transforms, size_t *out_transform_count)
 

Detailed Description

Handles transformation/filtering of input data.

Author
Rylie Pavlik rylie.nosp@m..pav.nosp@m.lik@c.nosp@m.olla.nosp@m.bora..nosp@m.com
Jakob Bornecrantz jakob.nosp@m.@col.nosp@m.labor.nosp@m.a.co.nosp@m.m

Macro Definition Documentation

◆ OXR_MAX_INPUT_TRANSFORMS

#define OXR_MAX_INPUT_TRANSFORMS   5

Arbitrary but larger than required.