Skip to content

Struct ILLIXR::data_format::pose::hand_interaction_pose

ClassList > ILLIXR > data_format > pose > hand_interaction_pose

Pose, gesture-strength value, and readiness flag for a single hand interaction action space. More...

  • #include <hand_interaction_pose.hpp>

Inherits the following classes: ILLIXR::data_format::pose::xrt_space_relation

Public Attributes

Type Name
int64_t predicted_time
bool ready
Whether the runtime considers the gesture activatable; see struct documentation.
float value
Gesture-strength scalar in [0, 1]; see struct documentation for per-type semantics.

Public Attributes inherited from ILLIXR::data_format::pose::xrt_space_relation

See ILLIXR::data_format::pose::xrt_space_relation

Type Name
struct XrVector3f angular_velocity
instantaneous angular velocity of the pose
struct XrVector3f linear_velocity
instantaneous linear velocity of the pose
struct XrPosef pose
current pose
uint32_t relation_flags = {XRT\_SPACE\_RELATION\_BITMASK\_NONE}
validity flags

Public Functions

Type Name
hand_interaction_pose ()
Default constructor. Pose is invalid; value is 0; ready is false.
hand_interaction_pose (XrPosef & in_pose, float val=0.f, bool rdy=false, int64_t p_time=0)
Construct from explicit components.
hand_interaction_pose (XrSpaceLocation & location, float val=0.f, bool rdy=false, XrTime p_time=0)
Construct from Monado based components.
void update (XrSpaceLocation location, float val, bool rdy, XrTime p_time)
virtual bool valid () const

Public Functions inherited from ILLIXR::data_format::pose::xrt_space_relation

See ILLIXR::data_format::pose::xrt_space_relation

Type Name
void set_flags (const XrSpaceLocationFlags location_flags)
void set_flags (const XrSpaceLocationFlags location_flags, const XrSpaceVelocityFlags velocity_flags)
virtual bool valid () const
xrt_space_relation ()
xrt_space_relation (XrSpaceLocation location, XrSpaceVelocity velocity)

Detailed Description

Extends pose_base with the two scalar bindings that accompany each interaction pose in XR_EXT_hand_interaction. The meaning of value and ready depends on which interaction_pose_type this struct represents:

Type value semantics ready semantics
AIM /input/aim_activate_ext/value /input/aim_activate_ext/ready_ext
GRIP /input/grasp_ext/value /input/grasp_ext/ready_ext
PINCH /input/pinch_ext/value /input/pinch_ext/ready_ext
POKE unused — always 0 unused — always false

value is in [0, 1], where 0 means the gesture is not performed and 1 means it is fully activated.

ready indicates that the runtime considers the hand to be in a position where the gesture could be meaningfully performed (e.g. the index finger is extended and the hand is visible). An interaction should only be triggered when ready is true and value crosses the application's chosen threshold.

Public Attributes Documentation

variable predicted_time

int64_t ILLIXR::data_format::pose::hand_interaction_pose::predicted_time;

variable ready

Whether the runtime considers the gesture activatable; see struct documentation.

bool ILLIXR::data_format::pose::hand_interaction_pose::ready;


variable value

Gesture-strength scalar in [0, 1]; see struct documentation for per-type semantics.

float ILLIXR::data_format::pose::hand_interaction_pose::value;


Public Functions Documentation

function hand_interaction_pose [1/3]

Default constructor. Pose is invalid; value is 0; ready is false.

inline ILLIXR::data_format::pose::hand_interaction_pose::hand_interaction_pose () 


function hand_interaction_pose [2/3]

Construct from explicit components.

inline explicit ILLIXR::data_format::pose::hand_interaction_pose::hand_interaction_pose (
    XrPosef & in_pose,
    float val=0.f,
    bool rdy=false,
    int64_t p_time=0
) 

Parameters:

  • in_pose The pose of the gesture
  • value_ Gesture-strength scalar in [0, 1], defaults to 0
  • ready_ Whether the gesture is activatable, defaults to false
  • p_time The time the gesture was detected

function hand_interaction_pose [3/3]

Construct from Monado based components.

inline explicit ILLIXR::data_format::pose::hand_interaction_pose::hand_interaction_pose (
    XrSpaceLocation & location,
    float val=0.f,
    bool rdy=false,
    XrTime p_time=0
) 

Parameters:

  • location The location of the gesture
  • val Gesture-strength scalar in [0, 1], defaults to 0
  • rdy Whether the gesture is activatable, defaults to false
  • p_time The time the gesture was detected

function update

inline void ILLIXR::data_format::pose::hand_interaction_pose::update (
    XrSpaceLocation location,
    float val,
    bool rdy,
    XrTime p_time
) 

function valid

inline virtual bool ILLIXR::data_format::pose::hand_interaction_pose::valid () const

Returns whether the location is considered valid

Returns:

True if both position and orientation are valid, False otherwise.

Implements ILLIXR::data_format::pose::xrt_space_relation::valid



The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR/illixr_release/ILLIXR/include/illixr/data_format/poses/hand_interaction_pose.hpp