diff options
Diffstat (limited to 'src')
4 files changed, 10 insertions, 8 deletions
diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index abd09b55..f9cdfd8f 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -25,7 +25,6 @@ #include "qbardataproxy_p.h" #include <QMatrix4x4> -#include <QMouseEvent> #include <qmath.h> QT_DATAVISUALIZATION_BEGIN_NAMESPACE diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index e27c8b2b..94d3fd90 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -24,7 +24,6 @@ #include "qscatterdataproxy_p.h" #include <QMatrix4x4> -#include <QMouseEvent> #include <qmath.h> QT_DATAVISUALIZATION_BEGIN_NAMESPACE diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 514c5d07..a7c84a87 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -25,7 +25,6 @@ #include "qsurfacedataproxy_p.h" #include <QMatrix4x4> -#include <QMouseEvent> #include <QDebug> diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 9f40e410..28a81e0d 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -413,7 +413,6 @@ void Surface3DRenderer::updateScene(Q3DScene *scene) // TODO: Move these to more suitable place e.g. controller should be controlling the viewports. scene->setSecondarySubViewport(m_sliceViewPort); scene->setPrimarySubViewport(m_mainViewPort); - scene->setUnderSideCameraEnabled(false); // Set initial camera position // X must be 0 for rotation to work - we can use "setCameraRotation" for setting it later @@ -442,16 +441,22 @@ void Surface3DRenderer::render(GLuint defaultFboHandle) // Handle GL state setup for FBO buffers and clearing of the render surface Abstract3DRenderer::render(defaultFboHandle); - // If slice selection is on, draw the sliced scene - if (m_cachedIsSlicingActivated) + // In slice mode; draw slice and render selection ball + if (m_cachedIsSlicingActivated && m_selectionPointer && m_selectionActive) { drawSlicedScene(); + m_selectionPointer->render(defaultFboHandle); + } // Draw the surface scene drawScene(defaultFboHandle); - // If selection pointer is active, pass the render request for it also - if (m_selectionPointer && m_selectionActive) + // Render selection ball if not in slice mode + if (!m_cachedIsSlicingActivated && m_selectionPointer && m_selectionActive) m_selectionPointer->render(defaultFboHandle); + + // If slicing has been activated by this render pass, we need another render + if (slicingActivated != m_cachedScene->isSlicingActive()) + emit needRender(); } void Surface3DRenderer::drawSlicedScene() |