diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-11-28 08:19:37 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-11-29 09:53:48 +0200 |
commit | 527113321ff103835b89543c5d6f670f55b5b0d5 (patch) | |
tree | 01b242ef7b1f30a414b718f99f155f19235951bd /src/datavisualization/engine/abstract3drenderer.cpp | |
parent | 85dda87df2d420dc53959e549d24c4b09ce93d57 (diff) |
Move series specific visual elements to series, part 1
Meshes moved to series.
Task-number: QTRD-2557
Change-Id: I80050e413faf3bc942eb5a5627a66747de5805d8
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/abstract3drenderer.cpp')
-rw-r--r-- | src/datavisualization/engine/abstract3drenderer.cpp | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 50e56ce5..7e17baff 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -25,6 +25,7 @@ #include "q3dlight_p.h" #include "qabstract3dseries_p.h" #include "q3dtheme_p.h" +#include "objecthelper_p.h" Q_DECLARE_METATYPE(QtDataVisualization::QDataVis::ShadowQuality) @@ -71,6 +72,8 @@ Abstract3DRenderer::~Abstract3DRenderer() delete m_drawer; delete m_textureHelper; delete m_cachedScene; + for (int i = 0; i < m_visibleSeriesList.size(); i++) + delete m_visibleSeriesList.at(i).object(); } void Abstract3DRenderer::initializeOpenGL() @@ -250,14 +253,6 @@ void Abstract3DRenderer::handleShadowQualityChange() #endif } -void Abstract3DRenderer::updateMeshFileName(const QString &objFileName) -{ - if (objFileName != m_cachedObjFile) { - m_cachedObjFile = objFileName; - loadMeshFile(); - } -} - void Abstract3DRenderer::updateSelectionMode(QDataVis::SelectionFlags mode) { m_cachedSelectionMode = mode; @@ -365,21 +360,31 @@ void Abstract3DRenderer::updateMultiHighlightGradient(const QLinearGradient &gra fixGradient(&m_cachedMultiHighlightGradient, &m_multiHighlightGradientTexture); } -void Abstract3DRenderer::updateSeries(const QList<QAbstract3DSeries *> &seriesList) +void Abstract3DRenderer::fixMeshFileName(QString &fileName, QAbstract3DSeries::Mesh mesh) +{ + // Default implementation does nothing. + Q_UNUSED(fileName) + Q_UNUSED(mesh) +} + +void Abstract3DRenderer::updateSeries(const QList<QAbstract3DSeries *> &seriesList, + bool updateVisibility) { int visibleCount = 0; - foreach (QAbstract3DSeries *current, seriesList) { - if (current->isVisible()) - visibleCount++; - } + if (updateVisibility) { + foreach (QAbstract3DSeries *current, seriesList) { + if (current->isVisible()) + visibleCount++; + } - if (visibleCount != m_visibleSeriesList.size()) - m_visibleSeriesList.resize(visibleCount); + if (visibleCount != m_visibleSeriesList.size()) + m_visibleSeriesList.resize(visibleCount); - visibleCount = 0; + visibleCount = 0; + } foreach (QAbstract3DSeries *current, seriesList) { if (current->isVisible()) - m_visibleSeriesList[visibleCount++].populate(current); + m_visibleSeriesList[visibleCount++].populate(current, this); } } |