8#if defined(Q_OS_VISIONOS)
9# include "visionos/qquick3dxrinputmanager_visionos_p.h"
11# include "openxr/qopenxrinputmanager_p.h"
17
18
19
20
21
22
23
24
25
26
27
28
29
30
39 if (
auto *skin = QQuick3DModel::skin()) {
40 auto jointListProp = skin->joints();
41 int count = jointListProp.count(&jointListProp);
42 const auto positions = m_handTracker->jointPositions();
43 const auto rotations = m_handTracker->jointRotations();
44 for (
int i = 0; i < count; ++i) {
45 auto *joint = jointListProp.at(&jointListProp, i);
46 joint->setPosition(positions.at(i));
47 joint->setRotation(rotations.at(i));
50 static bool warned =
false;
52 qWarning() <<
"No skin available for hand model";
61 qWarning() <<
"XrHandModel does not support changing hand";
65 if (m_hand == RightHand)
67 else if (m_hand == LeftHand)
85 QQuick3DModel::componentComplete();
89
90
91
92
93
94
95
96
97
98
99
100
101
102
111 if (m_hand == newHand)
Hand hand() const
\qmlproperty enumeration XrHandModel::hand
void setHand(Hand newHand)
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
Combined button and popup list for selecting options.