summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/surface3drenderer.cpp
diff options
context:
space:
mode:
authorMika Salmela <mika.salmela@digia.com>2013-12-12 15:02:07 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-12-13 08:18:01 +0200
commit132502c16e8ccb6d6fc627e2b5f6f89838d88c8e (patch)
tree03ffd9e3721f435f99ec30cb90b4b77523076aea /src/datavisualization/engine/surface3drenderer.cpp
parentbe2532151087d48802836bea0cb5a5658cf3492a (diff)
Control for surface visibility features
Task-number: QTRD-2628 Change-Id: Ic03e2a71231665c478a918044ebd3e5b2d22b445 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/surface3drenderer.cpp')
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp
index 47e3bf08..43815d39 100644
--- a/src/datavisualization/engine/surface3drenderer.cpp
+++ b/src/datavisualization/engine/surface3drenderer.cpp
@@ -206,12 +206,9 @@ void Surface3DRenderer::updateData()
const QSurfaceDataArray *array = 0;
if (m_visibleSeriesList.size()) {
QSurface3DSeries *firstSeries = static_cast<QSurface3DSeries *>(m_visibleSeriesList.at(0).series());
- m_cachedSurfaceVisible = firstSeries->isVisible(); // TODO: To series visuals update?
- if (m_cachedSurfaceGridOn || m_cachedSurfaceVisible) {
- QSurfaceDataProxy *dataProxy = firstSeries->dataProxy();
- if (dataProxy)
- array = dataProxy->array();
- }
+ QSurfaceDataProxy *dataProxy = firstSeries->dataProxy();
+ if (dataProxy)
+ array = dataProxy->array();
}
calculateSceneScalingFactors();
@@ -264,6 +261,9 @@ void Surface3DRenderer::updateData()
delete m_dataArray.at(i);
m_dataArray.clear();
m_sampleSpace = QRect();
+
+ delete m_surfaceObj;
+ m_surfaceObj = 0;
}
for (int i = 0; i < m_sliceDataArray.size(); i++)
@@ -282,7 +282,11 @@ void Surface3DRenderer::updateSeries(const QList<QAbstract3DSeries *> &seriesLis
if (m_visibleSeriesList.size()) {
QSurface3DSeries *series = static_cast<QSurface3DSeries *>(m_visibleSeriesList.at(0).series());
updateFlatStatus(series->isFlatShadingEnabled());
- updateSurfaceGridStatus(series->isSurfaceGridEnabled());
+
+ QSurface3DSeries::DrawFlags drawMode = series->drawMode();
+ m_cachedSurfaceVisible = drawMode.testFlag(QSurface3DSeries::DrawSurface);
+ m_cachedSurfaceGridOn = drawMode.testFlag(QSurface3DSeries::DrawWireframe);
+
QVector3D seriesColor = Utils::vectorFromColor(series->baseColor());
if (m_uniformGradientTextureColor != seriesColor)
generateUniformGradient(seriesColor);