evan 2026.1.4
Evan
Loading...
Searching...
No Matches
XrHandsMotionActions.hpp
1/*
2** ETIB PROJECT, 2026
3** evan
4** File description:
5** XrHandsMotionActions
6*/
7
8#pragma once
9
10#include "evan/EvanPlatform.hpp"
11
12#include "evan/openxr/InteractionProfile.hpp"
13
14#include <utility/event/hand_motion_event.hpp>
15
16#include <utility/logging/loggable.hpp>
17#include <utility/logging/default_logger.hpp>
18
19#include <openxr/openxr.h>
20
21namespace evan
22{
23
24 class XrDeviceBackend;
25
40 protected utility::logging::Loggable<XrHandsMotionActions,
41 utility::logging::DefaultLogger>
42 {
43 public:
59
69
85 std::vector<std::shared_ptr<utility::event::Event>>
87
104
114
124
137
146 std::shared_ptr<utility::event::HandMotionEvent> _leftHandEvent;
147
157 std::shared_ptr<utility::event::HandMotionEvent> _rightHandEvent;
158
159 private:
173 void createHandsMotionActions(XrActionSet actionSet,
175
192 std::shared_ptr<utility::event::HandMotionEvent>
193 createHandMotionEvent(XrDeviceBackend &deviceBackend,
194 int handIndex);
195 };
196} // namespace evan
The XrDeviceBackend class is responsible for managing the OpenXR device backend, including instance c...
The XrHandsMotionActions class is responsible for managing hand tracking actions in an OpenXR applica...
void createHandsMotionSpaces(XrDeviceBackend &deviceBackend)
Creates the hand motion actions and their corresponding spaces.
~XrHandsMotionActions()
Destructor for the XrHandsMotionActions class.
std::vector< std::shared_ptr< utility::event::Event > > getEvents(XrDeviceBackend &deviceBackend)
Retrieves the current state of the hand motion actions and generates corresponding events.
XrAction _handAimAction
The XrAction handle for hand aim tracking.
XrSpace _handAimSpace[2]
Action spaces for hand aim and grip tracking.
std::shared_ptr< utility::event::HandMotionEvent > _leftHandEvent
Shared pointer to the left hand motion event.
XrSpace _handGripSpace[2]
Action spaces for hand aim and grip tracking.
std::shared_ptr< utility::event::HandMotionEvent > _rightHandEvent
Shared pointer to the right hand motion event.
XrAction _handGripAction
The XrAction handle for hand grip tracking.
Small result wrapper used by helpers that must return both a status and a value (e....
Definition Error.hpp:89