Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qquick3dxrcontroller_p.h
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
4
#ifndef QQUICK3DXRCONTROLLER_H
5
#define QQUICK3DXRCONTROLLER_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#include <QtQuick3DXr/qtquick3dxrglobal.h>
19
#include "
qquick3dxrhandinput_p.h
"
20
#include <QtQuick3D/private/qquick3dnode_p.h>
21
#include <QtQml/QQmlEngine>
22
23
QT_BEGIN_NAMESPACE
24
25
class
QQuick3DXrInputManager
;
26
27
class
Q_QUICK3DXR_EXPORT
QQuick3DXrController
:
public
QQuick3DNode
28
{
29
Q_OBJECT
30
Q_PROPERTY
(
Controller
controller READ controller WRITE setController NOTIFY controllerChanged FINAL)
31
Q_PROPERTY
(
bool
isActive
READ
isActive
NOTIFY isActiveChanged FINAL)
32
Q_PROPERTY
(
HandPoseSpace
poseSpace READ poseSpace WRITE setPoseSpace NOTIFY poseSpaceChanged FINAL)
33
34
Q_PROPERTY
(
QVector3D
pokePosition READ pokePosition NOTIFY pokePositionChanged FINAL)
35
Q_PROPERTY
(
QList
<
QVector3D
> jointPositions READ jointPositions NOTIFY jointPositionsChanged FINAL)
36
Q_PROPERTY
(
QList
<
QQuaternion
> jointRotations READ jointRotations NOTIFY jointRotationsChanged FINAL)
37
38
QML_NAMED_ELEMENT
(XrController)
39
QML_ADDED_IN_VERSION
(6, 8)
40
public:
41
enum
Controller
{
42
ControllerNone = 0,
43
ControllerLeft = 1,
44
ControllerRight = 2,
45
};
46
Q_ENUM
(
Controller
)
47
48
enum class
HandPoseSpace
{
49
GripPose,
50
AimPose
51
};
52
Q_ENUM
(HandPoseSpace)
53
54
QQuick3DXrController
();
55
56
QQuick3DXrController::Controller
controller()
const
;
57
void
setController(
QQuick3DXrController::Controller
newController);
58
59
QQuick3DXrHandInput
*handInput()
const
;
60
61
HandPoseSpace poseSpace()
const
;
62
void
setPoseSpace(HandPoseSpace newPoseSpace);
63
64
QVector3D
pokePosition()
const
;
65
66
QList<QVector3D> jointPositions()
const
;
67
QList<QQuaternion> jointRotations()
const
;
68
69
bool
isActive
()
const
;
70
71
Q_SIGNALS
:
72
void
controllerChanged
();
73
void
handInputChanged
();
74
void
actionMapperChanged
();
75
76
void
poseSpaceChanged
();
77
78
void
pokePositionChanged
();
79
80
void
jointPositionsChanged
();
81
void
jointRotationsChanged
();
82
void
jointDataUpdated
();
83
84
void
isActiveChanged
();
85
86
private
:
87
QPointer<QQuick3DXrInputManager> m_inputManager;
88
Controller
m_controller = ControllerNone;
89
QMetaObject::Connection
m_posePositionConnection;
90
QMetaObject::Connection
m_poseRotationConnection;
91
QMetaObject::Connection
m_isActiveConnection;
92
QMetaObject::Connection
m_inputActionConnection;
93
HandPoseSpace
m_poseSpace;
94
QVector3D
m_pokePosition;
95
bool
m_isActive;
96
};
97
98
QT_END_NAMESPACE
99
100
#endif
// QQUICK3DXRCONTROLLER_H
isActive
bool isActive
Definition
btsdpinquiry.mm:194
Controller
Definition
src_corelib_thread_qthread.cpp:47
QList
Definition
qlist.h:76
Connection
\inmodule QtCore Represents a handle to a signal-slot (or signal-functor) connection.
QQuaternion
The QQuaternion class represents a quaternion consisting of a vector and scalar.
QQuick3DNode
Definition
qquick3dnode_p.h:28
QQuick3DXrController
Definition
qquick3dxrcontroller_p.h:28
QQuick3DXrController::controllerChanged
void controllerChanged()
QQuick3DXrController::jointRotationsChanged
void jointRotationsChanged()
QQuick3DXrController::handInputChanged
void handInputChanged()
QQuick3DXrController::Controller
Controller
Definition
qquick3dxrcontroller_p.h:41
QQuick3DXrController::isActiveChanged
void isActiveChanged()
QQuick3DXrController::poseSpaceChanged
void poseSpaceChanged()
QQuick3DXrController::actionMapperChanged
void actionMapperChanged()
QQuick3DXrController::jointPositionsChanged
void jointPositionsChanged()
QQuick3DXrController::HandPoseSpace
HandPoseSpace
Definition
qquick3dxrcontroller_p.h:48
QQuick3DXrController::pokePositionChanged
void pokePositionChanged()
QQuick3DXrController::jointDataUpdated
void jointDataUpdated()
QQuick3DXrHandInput
Definition
qquick3dxrhandinput_p.h:27
QQuick3DXrInputManager
Definition
qquick3dxrinputmanager_p.h:31
QVector3D
The QVector3D class represents a vector or vertex in 3D space.
Definition
qvectornd.h:171
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1590
QML_NAMED_ELEMENT
#define QML_NAMED_ELEMENT(NAME)
Definition
qqmlintegration.h:60
QML_ADDED_IN_VERSION
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
Definition
qqmlintegration.h:100
qquick3dxrhandinput_p.h
Q_ENUM
#define Q_ENUM(x)
Definition
qtmetamacros.h:68
Q_PROPERTY
#define Q_PROPERTY(...)
Definition
qtmetamacros.h:56
Q_OBJECT
#define Q_OBJECT
Definition
qtmetamacros.h:119
Q_SIGNALS
#define Q_SIGNALS
Definition
qtmetamacros.h:45
qtquick3d
src
xr
quick3dxr
qquick3dxrcontroller_p.h
Generated by
1.10.0