|
| HmdDevice (const DeviceBuilder &builder) |
|
xrt_result_t | get_tracked_pose (xrt_input_name name, uint64_t at_timestamp_ns, xrt_space_relation *out_relation) override |
| Maps to xrt_device::get_tracked_pose. More...
|
|
void | SetDisplayEyeToHead (uint32_t unWhichDevice, const vr::HmdMatrix34_t &eyeToHeadLeft, const vr::HmdMatrix34_t &eyeToHeadRight) |
|
void | get_view_poses (const xrt_vec3 *default_eye_relation, uint64_t at_timestamp_ns, uint32_t view_count, xrt_space_relation *out_head_relation, xrt_fov *out_fovs, xrt_pose *out_poses) |
|
bool | compute_distortion (uint32_t view, float u, float v, xrt_uv_triplet *out_result) |
|
void | set_hmd_parts (std::unique_ptr< Parts > parts) |
|
float | get_ipd () const |
|
xrt_input * | get_input_from_name (std::string_view name) |
|
xrt_result_t | update_inputs () |
| Update any attached inputs. More...
|
|
void | update_pose (const vr::DriverPose_t &newPose) const |
|
void | get_pose (uint64_t at_timestamp_ns, xrt_space_relation *out_relation) |
| Helper to use the m_relation_history member. More...
|
|
void | handle_properties (const vr::PropertyWrite_t *batch, uint32_t count) |
|
virtual xrt_result_t | get_tracked_pose (xrt_input_name name, uint64_t at_timestamp_ns, xrt_space_relation *out_relation)=0 |
| Maps to xrt_device::get_tracked_pose. More...
|
|
xrt_result_t | get_battery_status (bool *out_present, bool *out_charging, float *out_charge) |
|
|
xrt_pose | eye [2] |
|
float | ipd {0.063} |
|
m_relation_history * | relation_hist |
|
enum xrt_device_name | name |
| Enum identifier of the device. More...
|
|
enum xrt_device_type | device_type |
|
char | str [256] |
| A string describing the device. More...
|
|
char | serial [256] |
| A unique identifier. Persistent across configurations, if possible. More...
|
|
struct xrt_hmd_parts * | hmd |
| Null if this device does not interface with the users head. More...
|
|
struct xrt_tracking_origin * | tracking_origin |
| Always set, pointing to the tracking system for this device. More...
|
|
size_t | binding_profile_count |
| Number of bindings in xrt_device::binding_profiles. More...
|
|
struct xrt_binding_profile * | binding_profiles |
|
size_t | input_count |
| Number of inputs. More...
|
|
struct xrt_input * | inputs |
| Array of input structs. More...
|
|
size_t | output_count |
| Number of outputs. More...
|
|
struct xrt_output * | outputs |
| Array of output structs. More...
|
|
bool | orientation_tracking_supported |
|
bool | position_tracking_supported |
|
bool | hand_tracking_supported |
|
bool | eye_gaze_supported |
|
bool | force_feedback_supported |
|
bool | ref_space_usage_supported |
|
bool | form_factor_check_supported |
|
bool | stage_supported |
|
bool | face_tracking_supported |
|
bool | body_tracking_supported |
|
bool | battery_status_supported |
|
xrt_result_t(* | update_inputs )(struct xrt_device *xdev) |
| Update any attached inputs. More...
|
|
xrt_result_t(* | get_tracked_pose )(struct xrt_device *xdev, enum xrt_input_name name, int64_t at_timestamp_ns, struct xrt_space_relation *out_relation) |
| Get relationship of a tracked device to the tracking origin space as the base space. More...
|
|
void(* | get_hand_tracking )(struct xrt_device *xdev, enum xrt_input_name name, int64_t desired_timestamp_ns, struct xrt_hand_joint_set *out_value, int64_t *out_timestamp_ns) |
| Get relationship of hand joints to the tracking origin space as the base space. More...
|
|
xrt_result_t(* | 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) |
| Get the requested blend shape properties & weights for a face tracker. More...
|
|
xrt_result_t(* | get_body_skeleton )(struct xrt_device *xdev, enum xrt_input_name body_tracking_type, struct xrt_body_skeleton *out_value) |
| Get the body skeleton in T-pose, used to query the skeleton hierarchy, scale, proportions etc. More...
|
|
xrt_result_t(* | 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) |
| Get the joint locations for a body tracker. More...
|
|
void(* | set_output )(struct xrt_device *xdev, enum xrt_output_name name, const union xrt_output_value *value) |
| Set a output value. More...
|
|
void(* | 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) |
| Get the per-view pose in relation to the view space. More...
|
|
bool(* | compute_distortion )(struct xrt_device *xdev, uint32_t view, float u, float v, struct xrt_uv_triplet *out_result) |
| Compute the distortion at a single point. More...
|
|
xrt_result_t(* | get_visibility_mask )(struct xrt_device *xdev, enum xrt_visibility_mask_type type, uint32_t view_index, struct xrt_visibility_mask **out_mask) |
| Get the visibility mask for this device. More...
|
|
xrt_result_t(* | ref_space_usage )(struct xrt_device *xdev, enum xrt_reference_space_type type, enum xrt_input_name name, bool used) |
| Called by the xrt_space_overseer when a reference space that is implemented by this device is first used, or when the last usage of the reference space stops. More...
|
|
bool(* | is_form_factor_available )(struct xrt_device *xdev, enum xrt_form_factor form_factor) |
| Check if given form factor is available or not. More...
|
|
xrt_result_t(* | get_battery_status )(struct xrt_device *xdev, bool *out_present, bool *out_charging, float *out_charge) |
| Get battery status information. More...
|
|
xrt_result_t(* | begin_feature )(struct xrt_device *xdev, enum xrt_device_feature_type type) |
| Enable the feature for this device. More...
|
|
xrt_result_t(* | end_feature )(struct xrt_device *xdev, enum xrt_device_feature_type type) |
| Disable the feature for this device. More...
|
|
void(* | destroy )(struct xrt_device *xdev) |
| Destroy device. More...
|
|
|
static xrt_result_t | xrt_device_update_inputs (struct xrt_device *xdev) |
| Helper function for xrt_device::update_inputs. More...
|
|
static xrt_result_t | xrt_device_get_tracked_pose (struct xrt_device *xdev, enum xrt_input_name name, int64_t at_timestamp_ns, struct xrt_space_relation *out_relation) |
| Helper function for xrt_device::get_tracked_pose. More...
|
|
static void | xrt_device_get_hand_tracking (struct xrt_device *xdev, enum xrt_input_name name, int64_t desired_timestamp_ns, struct xrt_hand_joint_set *out_value, int64_t *out_timestamp_ns) |
| Helper function for xrt_device::get_hand_tracking. More...
|
|
static xrt_result_t | xrt_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) |
| Helper function for xrt_device::get_face_tracking. More...
|
|
static xrt_result_t | xrt_device_get_body_skeleton (struct xrt_device *xdev, enum xrt_input_name body_tracking_type, struct xrt_body_skeleton *out_value) |
| Helper function for xrt_device::get_body_skeleton. More...
|
|
static xrt_result_t | xrt_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) |
| Helper function for xrt_device::get_body_joints. More...
|
|
static void | xrt_device_set_output (struct xrt_device *xdev, enum xrt_output_name name, const union xrt_output_value *value) |
| Helper function for xrt_device::set_output. More...
|
|
static void | xrt_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) |
| Helper function for xrt_device::get_view_poses. More...
|
|
static bool | xrt_device_compute_distortion (struct xrt_device *xdev, uint32_t view, float u, float v, struct xrt_uv_triplet *out_result) |
| Helper function for xrt_device::compute_distortion. More...
|
|
static xrt_result_t | xrt_device_get_visibility_mask (struct xrt_device *xdev, enum xrt_visibility_mask_type type, uint32_t view_index, struct xrt_visibility_mask **out_mask) |
| Helper function for xrt_device::get_visibility_mask. More...
|
|
static xrt_result_t | xrt_device_ref_space_usage (struct xrt_device *xdev, enum xrt_reference_space_type type, enum xrt_input_name name, bool used) |
| Helper function for xrt_device::ref_space_usage. More...
|
|
static bool | xrt_device_is_form_factor_available (struct xrt_device *xdev, enum xrt_form_factor form_factor) |
| Helper function for xrt_device::is_form_factor_available. More...
|
|
static xrt_result_t | xrt_device_get_battery_status (struct xrt_device *xdev, bool *out_present, bool *out_charging, float *out_charge) |
| Helper function for xrt_device::get_battery_status. More...
|
|
static xrt_result_t | xrt_device_begin_feature (struct xrt_device *xdev, enum xrt_device_feature_type type) |
| Helper function for xrt_device::begin_feature. More...
|
|
static xrt_result_t | xrt_device_end_feature (struct xrt_device *xdev, enum xrt_device_feature_type type) |
| Helper function for xrt_device::end_feature. More...
|
|
static void | xrt_device_destroy (struct xrt_device **xdev_ptr) |
| Helper function for xrt_device::destroy. More...
|
|
| Device (const DeviceBuilder &builder) |
|
virtual void | handle_property_write (const vr::PropertyWrite_t &prop) |
|
std::shared_ptr< Context > | ctx |
|
vr::PropertyContainerHandle_t | container_handle {0} |
|
std::unordered_map< std::string_view, xrt_input * > | inputs_map |
|
std::vector< xrt_input > | inputs_vec |
|
const InputClass * | input_class |
|
std::string | manufacturer |
|
std::string | model |
|
float | vsync_to_photon_ns {0.f} |
|
bool | provides_battery_status {false} |
|
bool | charging {false} |
|
float | charge {1.0F} |
|
static xrt_pose | chaperone = XRT_POSE_IDENTITY |
|
void | u_distortion_mesh_fill_in_compute (struct xrt_device *xdev) |
| Given a xrt_device generates meshes by calling xdev->compute_distortion(), populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models . More...
|
|
void | u_distortion_mesh_fill_in_none (struct xrt_device *xdev) |
| Given a xrt_device generates a no distortion mesh, populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models . More...
|
|
void | u_distortion_mesh_set_none (struct xrt_device *xdev) |
| Given a xrt_device generates a no distortion mesh, also sets xdev->compute_distortion() and populates xdev->hmd_parts.distortion.mesh & xdev->hmd_parts.distortion.models . More...
|
|