10#include "evan/EvanPlatform.hpp"
12#include "evan/openxr/InteractionProfile.hpp"
14#include <utility/event/hand_button_event.hpp>
15#include <utility/event/hand_motion_event.hpp>
17#include <utility/logging/loggable.hpp>
18#include <utility/logging/default_logger.hpp>
23 class XrDeviceBackend;
37 protected utility::logging::Loggable<AXrAction,
38 utility::logging::DefaultLogger>
114 virtual std::vector<std::shared_ptr<utility::event::Event>>
116 std::shared_ptr<utility::event::HandMotionEvent>
179 XrPath _actionSubactionPath;
183 std::string _actionName;
187 std::string _bindingPath;
Represents an OpenXR action and its associated properties.
const std::string & getActionName() const
Retrieves the name of the action.
void createAction(const PropertiesXrActions &properties)
Creates an OpenXR action based on the provided properties.
virtual ~AXrAction()
Destructor for AXrAction, responsible for cleaning up OpenXR resources.
XrAction getAction() const
Retrieves the XrAction handle associated with this AXrAction.
virtual std::vector< std::shared_ptr< utility::event::Event > > getEvent(XrDeviceBackend &deviceBackend, std::shared_ptr< utility::event::HandMotionEvent > handMotionEvent)=0
Polls the OpenXR runtime and produces events for this action.
const std::string & getBindingPath() const
Retrieves the binding path of the action.
The XrDeviceBackend class is responsible for managing the OpenXR device backend, including instance c...
Encapsulates properties required for creating an OpenXR action.
std::string actionName
The name of the action, used for identification and debugging purposes. It should be unique within th...
XrActionType actionType
The type of the action, indicating how it is used in the application. This can be a boolean input,...
XrActionSet actionSet
The action set to which this action belongs. An action set is a collection of actions that can be act...
std::string bindingPath
The binding path for the action, specifying how the action is bound to input devices....
Small result wrapper used by helpers that must return both a status and a value (e....