summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3drenderer.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-11-28 08:19:37 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-11-29 09:53:48 +0200
commit527113321ff103835b89543c5d6f670f55b5b0d5 (patch)
tree01b242ef7b1f30a414b718f99f155f19235951bd /src/datavisualization/engine/abstract3drenderer.cpp
parent85dda87df2d420dc53959e549d24c4b09ce93d57 (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.cpp39
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);
}
}