diff options
Diffstat (limited to 'src/core/aspects/qabstractaspect_p.h')
-rw-r--r-- | src/core/aspects/qabstractaspect_p.h | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/core/aspects/qabstractaspect_p.h b/src/core/aspects/qabstractaspect_p.h index ea2712fe5..8bd26cf00 100644 --- a/src/core/aspects/qabstractaspect_p.h +++ b/src/core/aspects/qabstractaspect_p.h @@ -56,8 +56,6 @@ #include <Qt3DCore/private/qaspectjobproviderinterface_p.h> #include <Qt3DCore/private/qbackendnode_p.h> -#include <Qt3DCore/private/qbackendnodefactory_p.h> -#include <Qt3DCore/private/qsceneobserverinterface_p.h> #include <Qt3DCore/private/qt3dcore_global_p.h> #include <QtCore/private/qobject_p.h> @@ -102,33 +100,39 @@ private: } // Debug +struct NodeTreeChange +{ + enum NodeTreeChangeType { + Added = 0, + Removed = 1 + }; + Qt3DCore::QNodeId id; + const QMetaObject *metaObj; + NodeTreeChangeType type; + Qt3DCore::QNode *node; +}; + class Q_3DCORE_PRIVATE_EXPORT QAbstractAspectPrivate : public QObjectPrivate - , public QBackendNodeFactory - , public QSceneObserverInterface , public QAspectJobProviderInterface { public: QAbstractAspectPrivate(); ~QAbstractAspectPrivate(); - void setRootAndCreateNodes(QEntity *rootObject, const QVector<QNode *> &nodes); - void createNodes(const QVector<QNode *> &nodes); + void setRootAndCreateNodes(QEntity *rootObject, const QVector<NodeTreeChange> &nodesTreeChanges); QServiceLocator *services() const; QAbstractAspectJobManager *jobManager() const; QVector<QAspectJobPtr> jobsToExecute(qint64 time) override; - QBackendNode *createBackendNode(const QNodeCreatedChangeBasePtr &change) const override; - QBackendNode *createBackendNode(QNode *node) const; - void clearBackendNode(const QNodeDestroyedChangePtr &change) const; + QBackendNode *createBackendNode(const NodeTreeChange &change) const; + void clearBackendNode(const NodeTreeChange &change) const; void syncDirtyFrontEndNodes(const QVector<QNode *> &nodes); virtual void syncDirtyFrontEndNode(QNode *node, QBackendNode *backend, bool firstTime) const; void sendPropertyMessages(QNode *node, QBackendNode *backend) const; - void sceneNodeRemoved(Qt3DCore::QSceneChangePtr &e) override; - virtual void onEngineAboutToShutdown(); // TODO: Make these public in 5.8 @@ -143,7 +147,7 @@ public: SupportsSyncing = 1 << 0 }; using BackendNodeMapperAndInfo = QPair<QBackendNodeMapperPtr, NodeMapperInfo>; - BackendNodeMapperAndInfo mapperForNode(QNode *n) const; + BackendNodeMapperAndInfo mapperForNode(const QMetaObject *metaObj) const; QEntity *m_root; QNodeId m_rootId; |