Monado OpenXR Runtime
Loading...
Searching...
No Matches

Data associated with an Action that has been attached to a Session. More...

#include <oxr/oxr_objects.h>

Collaboration diagram for oxr_action_attachment:

Static Public Member Functions

static void oxr_action_attachment_teardown (struct oxr_action_attachment *act_attached)
 Tear down an action attachment struct.
 
static XrResult oxr_action_attachment_init (struct oxr_logger *log, struct oxr_action_set_attachment *act_set_attached, struct oxr_action_attachment *act_attached, struct oxr_action *act)
 Set up an action attachment struct.
 
static XrResult oxr_action_attachment_bind (struct oxr_logger *log, struct oxr_action_attachment *act_attached, const struct oxr_roles *roles, const struct oxr_profiles_per_subaction *profiles)
 

Data Fields

struct oxr_action_set_attachmentact_set_attached
 The owning action set attachment.
 
struct oxr_action_refact_ref
 This action's refcounted data.
 
struct oxr_sessionsess
 The corresponding session.
 
uint32_t act_key
 Unique key for the session hashmap.
 
struct oxr_subaction_paths any_pose_subaction_path
 For pose actions any subaction paths are special treated, at bind time we pick one subaction path and stick to it as long as the action lives.
 
struct oxr_action_state any_state
 
struct oxr_action_cache left
 
struct oxr_action_cache right
 
struct oxr_action_cache head
 
struct oxr_action_cache gamepad
 
struct oxr_action_cache eyes
 
struct oxr_action_cache user
 

Detailed Description

Data associated with an Action that has been attached to a Session.

More information on the action vs action attachment and action set vs action set attachment parallel is in the docs for OpenXR input

See also
oxr_action

Member Function Documentation

◆ oxr_action_attachment_bind()

static XrResult oxr_action_attachment_bind ( struct oxr_logger log,
struct oxr_action_attachment act_attached,
const struct oxr_roles roles,
const struct oxr_profiles_per_subaction profiles 
)
static

◆ oxr_action_attachment_init()

static XrResult oxr_action_attachment_init ( struct oxr_logger log,
struct oxr_action_set_attachment act_set_attached,
struct oxr_action_attachment act_attached,
struct oxr_action act 
)
static

◆ oxr_action_attachment_teardown()

static void oxr_action_attachment_teardown ( struct oxr_action_attachment act_attached)
static

Tear down an action attachment struct.

Does not deallocate the struct itself.

References oxr_session::act_attachments_by_key, act_key, act_ref, OXR_FOR_EACH_SUBACTION_PATH, oxr_refcounted_unref(), and sess.

Field Documentation

◆ act_key

uint32_t oxr_action_attachment::act_key

◆ act_ref

struct oxr_action_ref* oxr_action_attachment::act_ref

◆ act_set_attached

struct oxr_action_set_attachment* oxr_action_attachment::act_set_attached

◆ any_pose_subaction_path

struct oxr_subaction_paths oxr_action_attachment::any_pose_subaction_path

For pose actions any subaction paths are special treated, at bind time we pick one subaction path and stick to it as long as the action lives.

Referenced by oxr_session::oxr_action_get_pose_input().

◆ sess

struct oxr_session* oxr_action_attachment::sess

The corresponding session.

This will always be valid: the session outlives this object because it owns act_set_attached.

Referenced by oxr_action_attachment_bind(), oxr_action_attachment_init(), oxr_action_attachment_teardown(), oxr_session::oxr_action_get_pose_input(), oxr_action_sync_data(), and oxr_session::oxr_session_attach_action_sets().


The documentation for this struct was generated from the following files: