summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/aspects/qabstractaspect.cpp8
-rw-r--r--src/core/aspects/qabstractaspect.h2
-rw-r--r--src/core/aspects/qabstractaspect_p.h2
-rw-r--r--src/core/aspects/qaspectmanager.cpp2
-rw-r--r--src/render/frontend/qrenderaspect.cpp7
-rw-r--r--src/render/frontend/qrenderaspect.h2
-rw-r--r--tests/auto/core/qaspectengine/tst_qaspectengine.cpp16
-rw-r--r--tests/auto/core/qaspectfactory/tst_qaspectfactory.cpp1
-rw-r--r--tests/benchmarks/render/jobs/tst_bench_jobs.cpp10
9 files changed, 19 insertions, 31 deletions
diff --git a/src/core/aspects/qabstractaspect.cpp b/src/core/aspects/qabstractaspect.cpp
index 09d418509..edef2c19b 100644
--- a/src/core/aspects/qabstractaspect.cpp
+++ b/src/core/aspects/qabstractaspect.cpp
@@ -198,10 +198,9 @@ void QAbstractAspectPrivate::clearBackendNode(QNode *frontend) const
}
}
-void QAbstractAspectPrivate::registerAspect(QEntity *rootObject)
+void QAbstractAspectPrivate::setRootAndCreateNodes(QEntity *rootObject)
{
qCDebug(Aspects) << Q_FUNC_INFO << "rootObject =" << rootObject;
- Q_Q(QAbstractAspect);
if (rootObject == m_root)
return;
@@ -210,7 +209,6 @@ void QAbstractAspectPrivate::registerAspect(QEntity *rootObject)
QNodeVisitor visitor;
visitor.traverse(rootObject, this, &QAbstractAspectPrivate::createBackendNode);
- q->onRootEntityChanged(rootObject);
}
QServiceLocator *QAbstractAspectPrivate::services() const
@@ -269,10 +267,6 @@ void QAbstractAspect::onEngineShutdown()
{
}
-void QAbstractAspect::onRootEntityChanged(QEntity *rootEntity)
-{
- Q_UNUSED(rootEntity);
-}
} // of namespace Qt3DCore
diff --git a/src/core/aspects/qabstractaspect.h b/src/core/aspects/qabstractaspect.h
index e4f8b8453..079c1bbd8 100644
--- a/src/core/aspects/qabstractaspect.h
+++ b/src/core/aspects/qabstractaspect.h
@@ -89,8 +89,6 @@ private:
virtual void onEngineStartup();
virtual void onEngineShutdown();
- virtual void onRootEntityChanged(QEntity *rootEntity);
-
Q_DECLARE_PRIVATE(QAbstractAspect)
friend class QAspectEngine;
friend class QAspectManager;
diff --git a/src/core/aspects/qabstractaspect_p.h b/src/core/aspects/qabstractaspect_p.h
index bf7b035c3..5ce480288 100644
--- a/src/core/aspects/qabstractaspect_p.h
+++ b/src/core/aspects/qabstractaspect_p.h
@@ -80,7 +80,7 @@ class QT3DCORE_PRIVATE_EXPORT QAbstractAspectPrivate
public:
QAbstractAspectPrivate();
- void registerAspect(QEntity *rootObject);
+ void setRootAndCreateNodes(QEntity *rootObject);
QServiceLocator *services() const;
QAbstractAspectJobManager *jobManager() const;
diff --git a/src/core/aspects/qaspectmanager.cpp b/src/core/aspects/qaspectmanager.cpp
index 7ea94e63d..aacf753e4 100644
--- a/src/core/aspects/qaspectmanager.cpp
+++ b/src/core/aspects/qaspectmanager.cpp
@@ -154,7 +154,7 @@ void QAspectManager::setRootEntity(Qt3DCore::QEntity *root)
if (m_root) {
for (QAbstractAspect *aspect : qAsConst(m_aspects))
- aspect->d_func()->registerAspect(m_root);
+ aspect->d_func()->setRootAndCreateNodes(m_root);
}
}
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp
index 0b8aca1c7..dab0e856e 100644
--- a/src/render/frontend/qrenderaspect.cpp
+++ b/src/render/frontend/qrenderaspect.cpp
@@ -366,10 +366,13 @@ QVector<Qt3DCore::QAspectJobPtr> QRenderAspect::jobsToExecute(qint64 time)
return jobs;
}
-void QRenderAspect::onRootEntityChanged(Qt3DCore::QEntity *rootEntity)
+void QRenderAspect::onEngineStartup()
{
Q_D(QRenderAspect);
- d->m_renderer->setSceneRoot(d, d->m_renderer->nodeManagers()->lookupResource<Render::Entity, Render::EntityManager>(rootEntity->id()));
+ Render::NodeManagers *managers = d->m_renderer->nodeManagers();
+ Render::Entity *rootEntity = managers->lookupResource<Render::Entity, Render::EntityManager>(rootEntityId());
+ Q_ASSERT(rootEntity);
+ d->m_renderer->setSceneRoot(d, rootEntity);
}
void QRenderAspect::onRegistered()
diff --git a/src/render/frontend/qrenderaspect.h b/src/render/frontend/qrenderaspect.h
index ffc8c53d9..52df56574 100644
--- a/src/render/frontend/qrenderaspect.h
+++ b/src/render/frontend/qrenderaspect.h
@@ -73,9 +73,9 @@ protected:
QRenderAspect(QRenderAspectPrivate &dd, QObject *parent);
Q_DECLARE_PRIVATE(QRenderAspect)
- void onRootEntityChanged(Qt3DCore::QEntity *rootObject) Q_DECL_OVERRIDE;
void onRegistered() Q_DECL_OVERRIDE;
void onCleanup() Q_DECL_OVERRIDE;
+ void onEngineStartup() Q_DECL_OVERRIDE;
private:
friend class Render::Renderer;
diff --git a/tests/auto/core/qaspectengine/tst_qaspectengine.cpp b/tests/auto/core/qaspectengine/tst_qaspectengine.cpp
index efc1749e2..1edcf9b0f 100644
--- a/tests/auto/core/qaspectengine/tst_qaspectengine.cpp
+++ b/tests/auto/core/qaspectengine/tst_qaspectengine.cpp
@@ -40,18 +40,12 @@ class PrintRootAspect : public QAbstractAspect
public:
explicit PrintRootAspect(QObject *parent = 0)
: QAbstractAspect(parent)
- , m_rootEntity(nullptr)
+ , m_rootEntityId()
{
qDebug() << Q_FUNC_INFO;
}
private:
- void onRootEntityChanged(QEntity *rootEntity) Q_DECL_OVERRIDE
- {
- qDebug() << Q_FUNC_INFO;
- m_rootEntity = rootEntity;
- }
-
void onRegistered() Q_DECL_OVERRIDE
{
qDebug() << Q_FUNC_INFO;
@@ -60,6 +54,7 @@ private:
void onEngineStartup() Q_DECL_OVERRIDE
{
qDebug() << Q_FUNC_INFO;
+ m_rootEntityId = rootEntityId();
}
void onEngineShutdown() Q_DECL_OVERRIDE
@@ -74,12 +69,12 @@ private:
QVector<QAspectJobPtr> jobsToExecute(qint64) Q_DECL_OVERRIDE \
{
- if (m_rootEntity)
- qDebug() << Q_FUNC_INFO << m_rootEntity->objectName();
+ if (m_rootEntityId)
+ qDebug() << Q_FUNC_INFO << m_rootEntityId;
return QVector<QAspectJobPtr>();
}
- QEntity *m_rootEntity;
+ QNodeId m_rootEntityId;
};
#define FAKE_ASPECT(ClassName) \
@@ -91,7 +86,6 @@ public: \
: QAbstractAspect(parent) {} \
\
private: \
- void onRootEntityChanged(QEntity *) Q_DECL_OVERRIDE {} \
void onRegistered() Q_DECL_OVERRIDE {} \
void onEngineStartup() Q_DECL_OVERRIDE {} \
void onEngineShutdown() Q_DECL_OVERRIDE {} \
diff --git a/tests/auto/core/qaspectfactory/tst_qaspectfactory.cpp b/tests/auto/core/qaspectfactory/tst_qaspectfactory.cpp
index 513a5ffc8..f902bbf80 100644
--- a/tests/auto/core/qaspectfactory/tst_qaspectfactory.cpp
+++ b/tests/auto/core/qaspectfactory/tst_qaspectfactory.cpp
@@ -41,7 +41,6 @@ public: \
: QAbstractAspect(parent) {} \
\
private: \
- void onRootEntityChanged(QEntity *) Q_DECL_OVERRIDE {} \
void onRegistered() Q_DECL_OVERRIDE {} \
void onEngineStartup() Q_DECL_OVERRIDE {} \
void onEngineShutdown() Q_DECL_OVERRIDE {} \
diff --git a/tests/benchmarks/render/jobs/tst_bench_jobs.cpp b/tests/benchmarks/render/jobs/tst_bench_jobs.cpp
index 3c530c42f..608c9ff16 100644
--- a/tests/benchmarks/render/jobs/tst_bench_jobs.cpp
+++ b/tests/benchmarks/render/jobs/tst_bench_jobs.cpp
@@ -233,7 +233,7 @@ private Q_SLOTS:
QFETCH(Qt3DCore::QEntity*, rootEntity);
TestAspect aspect;
- Qt3DCore::QAbstractAspectPrivate::get(&aspect)->registerAspect(qobject_cast<Qt3DCore::QEntity *>(rootEntity));
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->setRootAndCreateNodes(qobject_cast<Qt3DCore::QEntity *>(rootEntity));
// WHEN
QVector<Qt3DCore::QAspectJobPtr> jobs = aspect.worldTransformJob();
@@ -256,7 +256,7 @@ private Q_SLOTS:
QFETCH(Qt3DCore::QEntity*, rootEntity);
TestAspect aspect;
- Qt3DCore::QAbstractAspectPrivate::get(&aspect)->registerAspect(qobject_cast<Qt3DCore::QEntity *>(rootEntity));
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->setRootAndCreateNodes(qobject_cast<Qt3DCore::QEntity *>(rootEntity));
// WHEN
QVector<Qt3DCore::QAspectJobPtr> jobs = aspect.updateBoundingJob();
@@ -279,7 +279,7 @@ private Q_SLOTS:
QFETCH(Qt3DCore::QEntity*, rootEntity);
TestAspect aspect;
- Qt3DCore::QAbstractAspectPrivate::get(&aspect)->registerAspect(qobject_cast<Qt3DCore::QEntity *>(rootEntity));
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->setRootAndCreateNodes(qobject_cast<Qt3DCore::QEntity *>(rootEntity));
// WHEN
QVector<Qt3DCore::QAspectJobPtr> jobs = aspect.calculateBoundingVolumeJob();
@@ -302,7 +302,7 @@ private Q_SLOTS:
QFETCH(Qt3DCore::QEntity*, rootEntity);
TestAspect aspect;
- Qt3DCore::QAbstractAspectPrivate::get(&aspect)->registerAspect(qobject_cast<Qt3DCore::QEntity *>(rootEntity));
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->setRootAndCreateNodes(qobject_cast<Qt3DCore::QEntity *>(rootEntity));
// WHEN
QVector<Qt3DCore::QAspectJobPtr> jobs = aspect.framePreparationJob();
@@ -325,7 +325,7 @@ private Q_SLOTS:
QFETCH(Qt3DCore::QEntity*, rootEntity);
TestAspect aspect;
- Qt3DCore::QAbstractAspectPrivate::get(&aspect)->registerAspect(qobject_cast<Qt3DCore::QEntity *>(rootEntity));
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->setRootAndCreateNodes(qobject_cast<Qt3DCore::QEntity *>(rootEntity));
// WHEN
QVector<Qt3DCore::QAspectJobPtr> jobs = aspect.frameCleanupJob();