diff options
author | Mike Krus <mike.krus@kdab.com> | 2018-01-16 22:02:23 +0000 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2018-02-01 21:26:06 +0000 |
commit | 13791f59f8fe9863fbacb7985d06f29522046bad (patch) | |
tree | 790f9c7c178e6b302da440f60a8d7d1f78eed779 /src/render/frontend | |
parent | 89ec1b820a3be3ab5d3abb408bea4408954e82ac (diff) |
Introduce QScreenRayCaster
Split common functionality into abstract base class. Both frontend
classes use the same backend implementation.
Split common pick functionality for the object picking and ray
casting jobs into abstract base class.
Change-Id: Ieb8bdcf65d81db12234841d72c6cb0160e145bf6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/frontend')
-rw-r--r-- | src/render/frontend/qrenderaspect.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp index bbbb08a09..3b63f43eb 100644 --- a/src/render/frontend/qrenderaspect.cpp +++ b/src/render/frontend/qrenderaspect.cpp @@ -74,6 +74,7 @@ #include <Qt3DRender/qgeometryrenderer.h> #include <Qt3DRender/qobjectpicker.h> #include <Qt3DRender/qraycaster.h> +#include <Qt3DRender/qscreenraycaster.h> #include <Qt3DRender/qfrustumculling.h> #include <Qt3DRender/qabstractlight.h> #include <Qt3DRender/qenvironmentlight.h> @@ -292,6 +293,7 @@ void QRenderAspectPrivate::registerBackendTypes() // Picking q->registerBackendType<QObjectPicker>(QSharedPointer<Render::NodeFunctor<Render::ObjectPicker, Render::ObjectPickerManager> >::create(m_renderer)); q->registerBackendType<QRayCaster>(QSharedPointer<Render::NodeFunctor<Render::RayCaster, Render::RayCasterManager> >::create(m_renderer)); + q->registerBackendType<QScreenRayCaster>(QSharedPointer<Render::NodeFunctor<Render::RayCaster, Render::RayCasterManager> >::create(m_renderer)); // Plugins for (const QString &plugin : qAsConst(m_pluginConfig)) @@ -358,6 +360,7 @@ void QRenderAspectPrivate::unregisterBackendTypes() // Picking unregisterBackendType<QObjectPicker>(); unregisterBackendType<QRayCaster>(); + unregisterBackendType<QScreenRayCaster>(); // Plugins for (Render::QRenderPlugin *plugin : qAsConst(m_renderPlugins)) |