Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qquick3dxrspatialanchorlistmodel_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
// Qt-Security score:significant reason:default
4
5
6
#
ifndef
QQUICK3DXRSPATIALANCHORLISTMODEL_P_H
7
#
define
QQUICK3DXRSPATIALANCHORLISTMODEL_P_H
8
9
//
10
// W A R N I N G
11
// -------------
12
//
13
// This file is not part of the Qt API. It exists purely as an
14
// implementation detail. This header file may change from version to
15
// version without notice, or even be removed.
16
//
17
// We mean it.
18
//
19
20
#
include
<
QAbstractListModel
>
21
#
include
<
QtQmlIntegration
/
qqmlintegration
.
h
>
22
#
include
<
QtCore
/
qpointer
.
h
>
23
#
include
<
QtCore
/
qstringlist
.
h
>
24
#
include
<
QUuid
>
25
26
QT_BEGIN_NAMESPACE
27
28
class
QQuick3DXrAnchorManager;
29
class
QQuick3DXrSpatialAnchor
;
30
31
class
QQuick3DXrSpatialAnchorListModel
:
public
QAbstractListModel
32
{
33
Q_OBJECT
34
Q_PROPERTY(FilterMode filterMode READ filterMode WRITE setFilterMode NOTIFY filterModeChanged FINAL)
35
Q_PROPERTY
(
ClassificationFlags
classificationFilter
READ
classificationFilter
WRITE
setClassificationFilter
NOTIFY
classificationFilterChanged
FINAL
)
36
Q_PROPERTY
(
QStringList
classificationStringFilter
READ
classificationStringFilter
WRITE
setClassificationStringFilter
NOTIFY
classificationStringFilterChanged
FINAL
)
37
Q_PROPERTY
(
QStringList
identifierFilter
READ
identifierFilter
WRITE
setIdentifierFilter
NOTIFY
identifierFilterChanged
FINAL
)
38
39
QML_NAMED_ELEMENT
(
XrSpatialAnchorListModel
)
40
QML_ADDED_IN_VERSION
(6, 8)
41
public
:
42
enum
class
FilterMode
{
43
All
,
44
Classification
,
45
Identifier
46
};
47
Q_ENUM(FilterMode)
48
49
enum
ClassificationFlag
:
quint32
{
50
Wall
= 0x1,
51
Ceiling
= 0x2,
52
Floor
= 0x4,
53
Table
= 0x8,
54
Seat
= 0x10,
55
Window
= 0x20,
56
Door
= 0x40,
57
Other
= 0x80,
58
};
59
Q_ENUM
(
ClassificationFlag
)
60
Q_DECLARE_FLAGS
(
ClassificationFlags
,
ClassificationFlag
)
61
Q_FLAG
(
ClassificationFlags
)
62
63
enum
SpatialAnchorRoles
{
64
Anchor
=
Qt
::
UserRole
+ 21
65
};
66
67
explicit
QQuick3DXrSpatialAnchorListModel
(QObject *parent =
nullptr
);
68
69
int
rowCount
(
const
QModelIndex &parent)
const
override
;
70
QVariant
data
(
const
QModelIndex &index,
int
role)
const
override
;
71
QHash
<
int
,
QByteArray
>
roleNames
()
const
override
;
72
73
Q_INVOKABLE
void
requestSceneCapture
();
74
Q_INVOKABLE
void
queryAnchors
();
75
76
FilterMode
filterMode
()
const
;
77
void
setFilterMode
(FilterMode newFilterMode);
78
79
QStringList
identifierFilter
()
const
;
80
void
setIdentifierFilter
(
const
QStringList &filter);
81
82
ClassificationFlags
classificationFilter
()
const
;
83
void
setClassificationFilter
(ClassificationFlags newClassFilter);
84
85
QStringList
classificationStringFilter
()
const
;
86
void
setClassificationStringFilter
(
const
QStringList &newClassStringFilter);
87
88
signals
:
89
void
filterModeChanged
();
90
void
identifierFilterChanged
();
91
void
classificationFilterChanged
();
92
void
classificationStringFilterChanged
();
93
94
private
Q_SLOTS
:
95
void
handleAnchorAdded
(
QQuick3DXrSpatialAnchor
*
anchor
);
96
void
handleAnchorRemoved(QUuid uuid);
97
void
handleAnchorUpdated(
QQuick3DXrSpatialAnchor
* anchor);
98
99
private
:
100
bool
matchesAnchorFilter(
QQuick3DXrSpatialAnchor
*anchor)
const
;
101
QList<QQuick3DXrSpatialAnchor *> anchorsFiltered()
const
;
102
103
QPointer<QQuick3DXrAnchorManager> m_anchorManager;
104
FilterMode m_filterMode =
FilterMode
::
All
;
105
QSet<QString> m_uuids;
106
ClassificationFlags m_classFilter;
107
QSet<QString> m_classStringFilter;
108
};
109
110
QT_END_NAMESPACE
111
112
#
endif
// QQUICK3DXRSPATIALANCHORLISTMODEL_P_H
QQuick3DXrAnchorManager::instance
static QQuick3DXrAnchorManager * instance()
QQuick3DXrAnchorManager::sceneCaptureCompleted
void sceneCaptureCompleted()
QQuick3DXrSpatialAnchorListModel
Definition
qquick3dxrspatialanchorlistmodel_p.h:32
QQuick3DXrSpatialAnchorListModel::classificationStringFilter
QStringList classificationStringFilter() const
\qmlproperty list<string> XrSpatialAnchorListModel::classificationStringFilter
Definition
qquick3dxrspatialanchorlistmodel.cpp:312
QQuick3DXrSpatialAnchorListModel::rowCount
int rowCount(const QModelIndex &parent) const override
Returns the number of rows under the given parent.
Definition
qquick3dxrspatialanchorlistmodel.cpp:109
QQuick3DXrSpatialAnchorListModel::classificationFilter
ClassificationFlags classificationFilter() const
\qmlproperty enumeration XrSpatialAnchorListModel::classificationFilter
Definition
qquick3dxrspatialanchorlistmodel.cpp:272
QQuick3DXrSpatialAnchorListModel::queryAnchors
Q_INVOKABLE void queryAnchors()
Definition
qquick3dxrspatialanchorlistmodel.cpp:167
QQuick3DXrSpatialAnchorListModel::classificationStringFilterChanged
void classificationStringFilterChanged()
QQuick3DXrSpatialAnchorListModel::requestSceneCapture
Q_INVOKABLE void requestSceneCapture()
\qmlmethod void XrSpatialAnchorListModel::requestSceneCapture()
Definition
qquick3dxrspatialanchorlistmodel.cpp:158
QQuick3DXrSpatialAnchorListModel::identifierFilter
QStringList identifierFilter() const
\qmlproperty list<string> XrSpatialAnchorListModel::identifierFilter
Definition
qquick3dxrspatialanchorlistmodel.cpp:236
QQuick3DXrSpatialAnchorListModel::ClassificationFlag
ClassificationFlag
Definition
qquick3dxrspatialanchorlistmodel_p.h:49
QQuick3DXrSpatialAnchorListModel::Wall
@ Wall
Definition
qquick3dxrspatialanchorlistmodel_p.h:50
QQuick3DXrSpatialAnchorListModel::Door
@ Door
Definition
qquick3dxrspatialanchorlistmodel_p.h:56
QQuick3DXrSpatialAnchorListModel::Seat
@ Seat
Definition
qquick3dxrspatialanchorlistmodel_p.h:54
QQuick3DXrSpatialAnchorListModel::Table
@ Table
Definition
qquick3dxrspatialanchorlistmodel_p.h:53
QQuick3DXrSpatialAnchorListModel::Floor
@ Floor
Definition
qquick3dxrspatialanchorlistmodel_p.h:52
QQuick3DXrSpatialAnchorListModel::Ceiling
@ Ceiling
Definition
qquick3dxrspatialanchorlistmodel_p.h:51
QQuick3DXrSpatialAnchorListModel::Window
@ Window
Definition
qquick3dxrspatialanchorlistmodel_p.h:55
QQuick3DXrSpatialAnchorListModel::Other
@ Other
Definition
qquick3dxrspatialanchorlistmodel_p.h:57
QQuick3DXrSpatialAnchorListModel::identifierFilterChanged
void identifierFilterChanged()
QQuick3DXrSpatialAnchorListModel::classificationFilterChanged
void classificationFilterChanged()
QQuick3DXrSpatialAnchorListModel::data
QVariant data(const QModelIndex &index, int role) const override
Returns the data stored under the given role for the item referred to by the index.
Definition
qquick3dxrspatialanchorlistmodel.cpp:119
QQuick3DXrSpatialAnchorListModel::filterMode
FilterMode filterMode() const
\qmlproperty enumeration XrSpatialAnchorListModel::filterMode
Definition
qquick3dxrspatialanchorlistmodel.cpp:214
QQuick3DXrSpatialAnchorListModel::setFilterMode
void setFilterMode(FilterMode newFilterMode)
Definition
qquick3dxrspatialanchorlistmodel.cpp:219
QQuick3DXrSpatialAnchorListModel::setClassificationFilter
void setClassificationFilter(ClassificationFlags newClassFilter)
Definition
qquick3dxrspatialanchorlistmodel.cpp:277
QQuick3DXrSpatialAnchorListModel::setIdentifierFilter
void setIdentifierFilter(const QStringList &filter)
Definition
qquick3dxrspatialanchorlistmodel.cpp:241
QQuick3DXrSpatialAnchorListModel::QQuick3DXrSpatialAnchorListModel
QQuick3DXrSpatialAnchorListModel(QObject *parent=nullptr)
Definition
qquick3dxrspatialanchorlistmodel.cpp:94
QQuick3DXrSpatialAnchorListModel::setClassificationStringFilter
void setClassificationStringFilter(const QStringList &newClassStringFilter)
Definition
qquick3dxrspatialanchorlistmodel.cpp:317
QQuick3DXrSpatialAnchorListModel::roleNames
QHash< int, QByteArray > roleNames() const override
Definition
qquick3dxrspatialanchorlistmodel.cpp:139
QQuick3DXrSpatialAnchor
Definition
qquick3dxrspatialanchor_p.h:35
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
getClassificationString
static QT_BEGIN_NAMESPACE QString getClassificationString(QQuick3DXrSpatialAnchorListModel::ClassificationFlag classification)
Definition
qquick3dxrspatialanchorlistmodel.cpp:44
getClassificationFlagType
static QQuick3DXrSpatialAnchorListModel::ClassificationFlag getClassificationFlagType(QQuick3DXrSpatialAnchor::Classification classification)
Definition
qquick3dxrspatialanchorlistmodel.cpp:68
qtquick3d
src
xr
quick3dxr
qquick3dxrspatialanchorlistmodel_p.h
Generated on
for Qt by
1.18.0