evan 2026.1.4
Evan
Loading...
Searching...
No Matches
XrManageThumbStickActions.hpp
1/*
2 ** ETIB PROJECT, 2026
3 ** evan
4 ** File description:
5 ** XrManageThumbStickActions
6 */
7
8#pragma once
9
10#include "evan/EvanPlatform.hpp"
11
12#include "evan/openxr/actions/AXrAction.hpp"
13#include "evan/openxr/InteractionProfile.hpp"
14
15#include <utility/event/hand_thumb_stick_event.hpp>
16#include <utility/event/hand_motion_event.hpp>
17
18#include <utility/logging/loggable.hpp>
19#include <utility/logging/default_logger.hpp>
20
21namespace evan
22{
23
24 class XrDeviceBackend;
25
36 {
37 public:
49 XrHandThumbStickAction(utility::event::HandEvent::HandType handType);
50
60
78 std::vector<std::shared_ptr<utility::event::Event>>
80 std::shared_ptr<utility::event::HandMotionEvent>
81 handMotionEvent) override;
82
83 private:
94 utility::event::HandEvent::HandType _handType;
95 };
96
110 protected utility::logging::Loggable<XrManageThumbStickActions,
111 utility::logging::DefaultLogger>
112 {
113 public:
129
139
154 std::vector<std::shared_ptr<utility::event::Event>>
156
165 std::unique_ptr<XrHandThumbStickAction> _leftHandThumbStickActions;
166
175 std::unique_ptr<XrHandThumbStickAction> _rightHandThumbStickActions;
176
177 private:
178 };
179} // namespace evan
Represents an OpenXR action and its associated properties.
Definition AXrAction.hpp:39
The XrDeviceBackend class is responsible for managing the OpenXR device backend, including instance c...
Represents an OpenXR action for thumb stick input from hand tracking devices.
std::vector< std::shared_ptr< utility::event::Event > > getEvent(evan::XrDeviceBackend &deviceBackend, std::shared_ptr< utility::event::HandMotionEvent > handMotionEvent) override
Retrieves the current thumb stick events from the device backend.
~XrHandThumbStickAction()
Destructor for the XrHandThumbStickAction class.
The XrManageThumbStickActions class is responsible for managing thumb stick input from hand tracking ...
std::unique_ptr< XrHandThumbStickAction > _rightHandThumbStickActions
Unique pointer to the action associated with the right hand thumb stick.
~XrManageThumbStickActions()
Destructor for the XrManageThumbStickActions class.
std::unique_ptr< XrHandThumbStickAction > _leftHandThumbStickActions
Unique pointer to the action associated with the left hand thumb stick.
std::vector< std::shared_ptr< utility::event::Event > > getEvents(evan::XrDeviceBackend &deviceBackend)
Retrieves the current thumb stick events from the device backend.
Small result wrapper used by helpers that must return both a status and a value (e....
Definition Error.hpp:89