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#ifndef QT3DCORE_QGEOMETRYFACTORY_P_H
4#define QT3DCORE_QGEOMETRYFACTORY_P_H
5
6//
7// W A R N I N G
8// -------------
9//
10// This file is not part of the Qt API. It exists for the convenience
11// of other Qt classes. This header file may change from version to
12// version without notice, or even be removed.
13//
14// We mean it.
15//
16
17#include <Qt3DCore/qt3dcore_global.h>
18#include <Qt3DCore/qabstractfunctor.h>
19#include <QtCore/QSharedPointer>
20#include <private/qglobal_p.h>
21
22QT_BEGIN_NAMESPACE
23
24namespace Qt3DCore {
25
26class QGeometry;
27
28class Q_3DCORESHARED_EXPORT QGeometryFactory : public QAbstractFunctor
29{
30public:
31 virtual ~QGeometryFactory();
32 virtual QGeometry *operator()() = 0;
33 virtual bool equals(const QGeometryFactory &other) const = 0;
34 friend bool operator==(const QGeometryFactory &lhs, const QGeometryFactory &rhs)
35 { return lhs.equals(other: rhs); }
36};
37
38typedef QSharedPointer<QGeometryFactory> QGeometryFactoryPtr;
39
40} // namespace Qt3DRender
41
42QT_END_NAMESPACE
43
44Q_DECLARE_METATYPE(Qt3DCore::QGeometryFactoryPtr) // LCOV_EXCL_LINE
45
46#endif // QT3DCORE_QGEOMETRYFACTORY_P_H
47

source code of qt3d/src/core/geometry/qgeometryfactory_p.h