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_poseThe pose of the gesturevalue_Gesture-strength scalar in [0, 1], defaults to 0ready_Whether the gesture is activatable, defaults to falsep_timeThe 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:
locationThe location of the gesturevalGesture-strength scalar in [0, 1], defaults to 0rdyWhether the gesture is activatable, defaults to falsep_timeThe 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