Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qquick3dxrhandinput.cpp
Go to the documentation of this file.
1// Copyright (C) 2024 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5
8
9#if defined(Q_OS_VISIONOS)
10#include "visionos/qquick3dxrinputmanager_visionos_p.h"
11#else
12#include "openxr/qopenxrinputmanager_p.h"
13#endif
14
16
22
24{
25 return m_isActive;
26}
27
28void QQuick3DXrHandInput::setIsActive(bool isActive)
29{
30 if (m_isActive == isActive)
31 return;
32
33 m_isActive = isActive;
34 emit isActiveChanged();
35}
36
37void QQuick3DXrHandInput::setJointPositionsAndRotations(const QList<QVector3D> &newJointPositions, const QList<QQuaternion> &newJointRotations)
38{
39 m_jointPositions = newJointPositions;
40 emit jointPositionsChanged();
41 m_jointRotations = newJointRotations;
42 emit jointRotationsChanged();
43 emit jointDataUpdated();
44
46 const auto pokeIndex = QQuick3DXrInputManagerPrivate::get(inputMan)->getPokeJointIndex();
47
48 if (pokeIndex >= 0 && pokeIndex < m_jointPositions.size())
49 setPokePosition(m_jointPositions[pokeIndex]);
50}
51
53{
54 return m_jointPositions;
55}
56
58{
59 return m_jointRotations;
60}
61
63{
64 return m_pokePosition;
65}
66
67void QQuick3DXrHandInput::setPokePosition(const QVector3D &newPokePosition)
68{
69 if (m_pokePosition == newPokePosition)
70 return;
71 m_pokePosition = newPokePosition;
72 emit pokePositionChanged();
73}
74
76{
77 return m_isHandTracking;
78}
79
80void QQuick3DXrHandInput::setIsHandTrackingActive(bool newIsHandTracking)
81{
82 if (m_isHandTracking == newIsHandTracking)
83 return;
84 m_isHandTracking = newIsHandTracking;
85 emit isHandTrackingChanged();
86}
87
88QT_END_NAMESPACE
QObject * parent
Definition qobject.h:73
\inmodule QtCore
Definition qobject.h:105
void setIsHandTrackingActive(bool newIsHandTracking)
void setIsActive(bool isActive)
void setJointPositionsAndRotations(const QList< QVector3D > &newJointPositions, const QList< QQuaternion > &newJointRotations)
QVector3D pokePosition() const
QList< QQuaternion > jointRotations() const
QList< QVector3D > jointPositions() const
void setPokePosition(const QVector3D &newPokePosition)
static QQuick3DXrInputManagerPrivate * get(QQuick3DXrInputManager *inputManager)
static QQuick3DXrInputManager * instance()
Combined button and popup list for selecting options.