summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/aspects/qabstractaspect.cpp10
-rw-r--r--src/core/aspects/qabstractaspect.h5
-rw-r--r--src/core/aspects/qabstractaspect_p.h4
-rw-r--r--src/input/frontend/qinputaspect.cpp2
-rw-r--r--src/render/backend/renderer.cpp3
-rw-r--r--src/render/frontend/qrenderaspect.cpp8
-rw-r--r--src/render/jobs/pickboundingvolumejob.cpp7
-rw-r--r--tests/benchmarks/render/jobs/tst_bench_jobs.cpp24
8 files changed, 32 insertions, 31 deletions
diff --git a/src/core/aspects/qabstractaspect.cpp b/src/core/aspects/qabstractaspect.cpp
index 13aaa8b7b..f63067119 100644
--- a/src/core/aspects/qabstractaspect.cpp
+++ b/src/core/aspects/qabstractaspect.cpp
@@ -184,16 +184,14 @@ void QAbstractAspectPrivate::registerAspect(QEntity *rootObject)
q->onRootEntityChanged(rootObject);
}
-QServiceLocator *QAbstractAspect::services() const
+QServiceLocator *QAbstractAspectPrivate::services() const
{
- Q_D(const QAbstractAspect);
- return d->m_aspectManager->serviceLocator();
+ return m_aspectManager->serviceLocator();
}
-QAbstractAspectJobManager *QAbstractAspect::jobManager() const
+QAbstractAspectJobManager *QAbstractAspectPrivate::jobManager() const
{
- Q_D(const QAbstractAspect);
- return d->m_jobManager;
+ return m_jobManager;
}
bool QAbstractAspect::isShuttingDown() const
diff --git a/src/core/aspects/qabstractaspect.h b/src/core/aspects/qabstractaspect.h
index 5ed682ca4..057473305 100644
--- a/src/core/aspects/qabstractaspect.h
+++ b/src/core/aspects/qabstractaspect.h
@@ -53,9 +53,7 @@ class QNode;
class QBackendNode;
class QEntity;
class QAbstractAspectPrivate;
-class QAbstractAspectJobManager;
class QBackendNodeFunctor;
-class QServiceLocator;
typedef QSharedPointer<QBackendNodeFunctor> QBackendNodeFunctorPtr;
@@ -70,9 +68,6 @@ class QT3DCORESHARED_EXPORT QAbstractAspect
public:
explicit QAbstractAspect(QObject *parent = 0);
- QServiceLocator *services() const;
- QAbstractAspectJobManager *jobManager() const;
-
bool isShuttingDown() const;
virtual QVariant executeCommand(const QStringList &args);
diff --git a/src/core/aspects/qabstractaspect_p.h b/src/core/aspects/qabstractaspect_p.h
index e0c9c1aa8..f757ac927 100644
--- a/src/core/aspects/qabstractaspect_p.h
+++ b/src/core/aspects/qabstractaspect_p.h
@@ -62,6 +62,7 @@ class QEntity;
class QAspectManager;
class QAbstractAspectJobManager;
class QChangeArbiter;
+class QServiceLocator;
class QT3DCORE_PRIVATE_EXPORT QAbstractAspectPrivate : public QObjectPrivate
{
@@ -70,6 +71,9 @@ public:
void registerAspect(QEntity *rootObject);
+ QServiceLocator *services() const;
+ QAbstractAspectJobManager *jobManager() const;
+
Q_DECLARE_PUBLIC(QAbstractAspect)
QEntity *m_root;
diff --git a/src/input/frontend/qinputaspect.cpp b/src/input/frontend/qinputaspect.cpp
index aa64d5e0d..46e6615e7 100644
--- a/src/input/frontend/qinputaspect.cpp
+++ b/src/input/frontend/qinputaspect.cpp
@@ -209,7 +209,7 @@ QVector<QAspectJobPtr> QInputAspect::jobsToExecute(qint64 time)
void QInputAspect::onInitialize(const QVariantMap &)
{
Q_D(QInputAspect);
- Qt3DCore::QEventFilterService *eventService = services()->eventFilterService();
+ Qt3DCore::QEventFilterService *eventService = d->services()->eventFilterService();
eventService->registerEventFilter(d->m_cameraController.data(), 128);
d->m_inputHandler->registerEventFilters(eventService);
}
diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp
index 5fdd6e136..42a4e2b1d 100644
--- a/src/render/backend/renderer.cpp
+++ b/src/render/backend/renderer.cpp
@@ -80,6 +80,7 @@
#include <Qt3DCore/qcameralens.h>
#include <Qt3DCore/private/qeventfilterservice_p.h>
#include <Qt3DCore/private/qabstractaspectjobmanager_p.h>
+#include <Qt3DCore/private/qabstractaspect_p.h>
#include <QStack>
#include <QSurface>
@@ -154,7 +155,7 @@ Renderer::Renderer(QRenderAspect::RenderType type)
Renderer::~Renderer()
{
// Clean up the TLS allocators
- destroyAllocators(m_rendererAspect->jobManager());
+ destroyAllocators(QAbstractAspectPrivate::get(m_rendererAspect)->jobManager());
}
NodeManagers *Renderer::nodeManagers() const
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp
index 01f31e566..892728e9a 100644
--- a/src/render/frontend/qrenderaspect.cpp
+++ b/src/render/frontend/qrenderaspect.cpp
@@ -419,12 +419,12 @@ void QRenderAspect::onInitialize(const QVariantMap &data)
if (d->m_aspectManager) {
QAbstractFrameAdvanceService *advanceService = d->m_renderer->frameAdvanceService();
if (advanceService)
- services()->registerServiceProvider(Qt3DCore::QServiceLocator::FrameAdvanceService,
- advanceService);
+ d->services()->registerServiceProvider(Qt3DCore::QServiceLocator::FrameAdvanceService,
+ advanceService);
}
d->m_renderer->setQRenderAspect(this);
- d->m_renderer->createAllocators(jobManager());
+ d->m_renderer->createAllocators(d->jobManager());
d->m_initialized = true;
}
@@ -437,7 +437,7 @@ void QRenderAspect::onInitialize(const QVariantMap &data)
d->setSurface(surface);
if (d->m_aspectManager)
- d->m_renderer->registerEventFilter(services()->eventFilterService());
+ d->m_renderer->registerEventFilter(d->services()->eventFilterService());
}
void QRenderAspect::onCleanup()
diff --git a/src/render/jobs/pickboundingvolumejob.cpp b/src/render/jobs/pickboundingvolumejob.cpp
index d58141022..1191464ff 100644
--- a/src/render/jobs/pickboundingvolumejob.cpp
+++ b/src/render/jobs/pickboundingvolumejob.cpp
@@ -50,6 +50,7 @@
#include <Qt3DRender/private/triangleboundingvolume_p.h>
#include <Qt3DRender/private/qraycastingservice_p.h>
#include <Qt3DRender/qgeometryrenderer.h>
+#include <Qt3DCore/private/qabstractaspect_p.h>
#include <Qt3DCore/private/qservicelocator_p.h>
#include <Qt3DCore/qray3d.h>
#include <QSurface>
@@ -239,12 +240,14 @@ void PickBoundingVolumeJob::run()
if (m_mouseEvents.empty())
return;
- QAbstractCollisionQueryService *rayCasting = m_renderer->renderAspect()->services()->service<QAbstractCollisionQueryService>
+ Qt3DCore::QServiceLocator *services
+ = Qt3DCore::QAbstractAspectPrivate::get(m_renderer->renderAspect())->services();
+ QAbstractCollisionQueryService *rayCasting = services->service<QAbstractCollisionQueryService>
(Qt3DCore::QServiceLocator::CollisionService);
if (rayCasting == Q_NULLPTR) {
Qt3DRender::QRayCastingService *rayCastingService = new QRayCastingService();
- m_renderer->renderAspect()->services()->registerServiceProvider(Qt3DCore::QServiceLocator::CollisionService, rayCastingService);
+ services->registerServiceProvider(Qt3DCore::QServiceLocator::CollisionService, rayCastingService);
rayCasting = rayCastingService;
}
diff --git a/tests/benchmarks/render/jobs/tst_bench_jobs.cpp b/tests/benchmarks/render/jobs/tst_bench_jobs.cpp
index 0dc8acb31..c3c2bcc8d 100644
--- a/tests/benchmarks/render/jobs/tst_bench_jobs.cpp
+++ b/tests/benchmarks/render/jobs/tst_bench_jobs.cpp
@@ -251,8 +251,8 @@ private Q_SLOTS:
QVector<Qt3DCore::QAspectJobPtr> jobs = aspect.worldTransformJob();
QBENCHMARK {
- aspect.jobManager()->enqueueJobs(jobs);
- aspect.jobManager()->waitForAllJobs();
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->enqueueJobs(jobs);
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->waitForAllJobs();
}
}
@@ -274,8 +274,8 @@ private Q_SLOTS:
QVector<Qt3DCore::QAspectJobPtr> jobs = aspect.updateBoundingJob();
QBENCHMARK {
- aspect.jobManager()->enqueueJobs(jobs);
- aspect.jobManager()->waitForAllJobs();
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->enqueueJobs(jobs);
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->waitForAllJobs();
}
}
@@ -297,8 +297,8 @@ private Q_SLOTS:
QVector<Qt3DCore::QAspectJobPtr> jobs = aspect.calculateBoundingVolumeJob();
QBENCHMARK {
- aspect.jobManager()->enqueueJobs(jobs);
- aspect.jobManager()->waitForAllJobs();
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->enqueueJobs(jobs);
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->waitForAllJobs();
}
}
@@ -320,8 +320,8 @@ private Q_SLOTS:
QVector<Qt3DCore::QAspectJobPtr> jobs = aspect.framePreparationJob();
QBENCHMARK {
- aspect.jobManager()->enqueueJobs(jobs);
- aspect.jobManager()->waitForAllJobs();
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->enqueueJobs(jobs);
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->waitForAllJobs();
}
}
@@ -342,8 +342,8 @@ private Q_SLOTS:
// WHEN
QVector<Qt3DCore::QAspectJobPtr> jobs = aspect.frameCleanupJob();
QBENCHMARK {
- aspect.jobManager()->enqueueJobs(jobs);
- aspect.jobManager()->waitForAllJobs();
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->enqueueJobs(jobs);
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->waitForAllJobs();
}
}
@@ -373,8 +373,8 @@ private Q_SLOTS:
qDebug() << 3;
QBENCHMARK {
qDebug() << 4;
- aspect.jobManager()->enqueueJobs(jobs);
- aspect.jobManager()->waitForAllJobs();
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->enqueueJobs(jobs);
+ Qt3DCore::QAbstractAspectPrivate::get(&aspect)->jobManager()->waitForAllJobs();
}
}
*/