diff options
-rw-r--r-- | src/core/aspects/qabstractaspect.cpp | 10 | ||||
-rw-r--r-- | src/core/aspects/qabstractaspect.h | 5 | ||||
-rw-r--r-- | src/core/aspects/qabstractaspect_p.h | 4 | ||||
-rw-r--r-- | src/input/frontend/qinputaspect.cpp | 2 | ||||
-rw-r--r-- | src/render/backend/renderer.cpp | 3 | ||||
-rw-r--r-- | src/render/frontend/qrenderaspect.cpp | 8 | ||||
-rw-r--r-- | src/render/jobs/pickboundingvolumejob.cpp | 7 | ||||
-rw-r--r-- | tests/benchmarks/render/jobs/tst_bench_jobs.cpp | 24 |
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(); } } */ |