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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
57 if (
auto *skin = QQuick3DModel::skin()) {
58 auto jointListProp = skin->joints();
59 int count = jointListProp.count(&jointListProp);
60 const auto positions = m_handTracker->jointPositions();
61 const auto rotations = m_handTracker->jointRotations();
62 for (
int i = 0; i < count; ++i) {
63 auto *joint = jointListProp.at(&jointListProp, i);
64 joint->setPosition(positions.at(i));
65 joint->setRotation(rotations.at(i));
68 static bool warned =
false;
70 qWarning() <<
"No skin available for hand model";
79 qWarning() <<
"XrHandModel does not support changing hand";
83 if (m_hand == RightHand)
85 else if (m_hand == LeftHand)
103 QQuick3DModel::componentComplete();
107
108
109
110
111
112
113
114
115
116
117
118
119
120
129 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.