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
qquick3dxrinputmanager.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
5
6#if defined(Q_OS_VISIONOS)
7# include "visionos/qquick3dxrinputmanager_visionos_p.h"
8#else
9# include "openxr/qopenxrinputmanager_p.h"
10#endif
11
13
15
17{
18 static QQuick3DXrInputManager instance;
19 return &instance;
20}
21
23{
24 Q_D(const QQuick3DXrInputManager);
25 return d->leftHandInput();
26}
27
29{
30 Q_D(const QQuick3DXrInputManager);
31 return d->rightHandInput();
32}
33
34void QQuick3DXrInputManager::registerController(QQuick3DXrController *controller)
35{
36 Q_D(QQuick3DXrInputManager);
37
38 connect(controller, &QObject::destroyed, this, [this](QObject *obj) { unregisterController(static_cast<QQuick3DXrController *>(obj)); });
39
40 d->registerController(controller);
41}
42
43void QQuick3DXrInputManager::unregisterController(QQuick3DXrController *controller)
44{
45 Q_D(QQuick3DXrInputManager);
46 d->unregisterController(controller);
47}
48
50{
51 Q_D(const QQuick3DXrInputManager);
52 return d->isValid();
53}
54
55QQuick3DXrInputManager::QQuick3DXrInputManager(QObject *parent)
56 : QObject(parent)
57 , d_ptr(new QQuick3DXrInputManagerPrivate(*this))
58{
59
60}
61
66
67QT_END_NAMESPACE
void registerController(QQuick3DXrController *controller)
void unregisterController(QQuick3DXrController *controller)
QQuick3DXrHandInput * leftHandInput() const
QQuick3DXrHandInput * rightHandInput() const
static QQuick3DXrInputManager * instance()