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
6
7#if defined(Q_OS_VISIONOS)
8#include "visionos/qquick3dxrinputmanager_visionos_p.h"
9#else
10#include "openxr/qopenxrinputmanager_p.h"
11#endif
12
14
20
22{
23 return m_isActive;
24}
25
26void QQuick3DXrHandInput::setIsActive(bool isActive)
27{
28 if (m_isActive == isActive)
29 return;
30
31 m_isActive = isActive;
32 emit isActiveChanged();
33}
34
35void QQuick3DXrHandInput::setJointPositionsAndRotations(const QList<QVector3D> &newJointPositions, const QList<QQuaternion> &newJointRotations)
36{
37 m_jointPositions = newJointPositions;
38 emit jointPositionsChanged();
39 m_jointRotations = newJointRotations;
40 emit jointRotationsChanged();
41 emit jointDataUpdated();
42
44 const auto pokeIndex = QQuick3DXrInputManagerPrivate::get(inputMan)->getPokeJointIndex();
45
46 if (pokeIndex >= 0 && pokeIndex < m_jointPositions.size())
47 setPokePosition(m_jointPositions[pokeIndex]);
48}
49
51{
52 return m_jointPositions;
53}
54
56{
57 return m_jointRotations;
58}
59
61{
62 return m_pokePosition;
63}
64
65void QQuick3DXrHandInput::setPokePosition(const QVector3D &newPokePosition)
66{
67 if (m_pokePosition == newPokePosition)
68 return;
69 m_pokePosition = newPokePosition;
70 emit pokePositionChanged();
71}
72
74{
75 return m_isHandTracking;
76}
77
78void QQuick3DXrHandInput::setIsHandTrackingActive(bool newIsHandTracking)
79{
80 if (m_isHandTracking == newIsHandTracking)
81 return;
82 m_isHandTracking = newIsHandTracking;
83 emit isHandTrackingChanged();
84}
85
86QT_END_NAMESPACE
QObject * parent
Definition qobject.h:73
\inmodule QtCore
Definition qobject.h:103
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.