1// Copyright (C) 2020 Klaralvdalens Datakonsult AB (KDAB).
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QT3DCORE_QABSTRACTFRONTENDNODEMANAGER_P_H
5#define QT3DCORE_QABSTRACTFRONTENDNODEMANAGER_P_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 for the convenience
12// of other Qt classes. 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 <Qt3DCore/qt3dcore_global.h>
19#include <Qt3DCore/qnodeid.h>
20#include <private/qglobal_p.h>
21
22#include <QtCore/qlist.h>
23
24QT_BEGIN_NAMESPACE
25
26namespace Qt3DCore {
27
28class QNode;
29
30class Q_3DCORESHARED_EXPORT QAbstractFrontEndNodeManager
31{
32public:
33 // Changes made to backend nodes are reported to the Renderer
34 enum DirtyNodeFlag {
35 TransformDirty = 1 << 0,
36 GeometryDirty = 1 << 1,
37 EntityEnabledDirty = 1 << 2,
38 BuffersDirty = 1 << 3,
39 AllDirty = 0xffffff
40 };
41 Q_DECLARE_FLAGS(DirtyNodeSet, DirtyNodeFlag)
42
43 virtual ~QAbstractFrontEndNodeManager();
44
45 virtual QNode *lookupNode(QNodeId id) const = 0;
46 virtual QList<QNode *> lookupNodes(const QList<QNodeId> &ids) const = 0;
47
48protected:
49 QAbstractFrontEndNodeManager();
50};
51
52} // Qt3DCore
53
54QT_END_NAMESPACE
55
56#endif // QT3DCORE_QABSTRACTFRONTENDNODEMANAGER_P_H
57

source code of qt3d/src/core/qabstractfrontendnodemanager_p.h