summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/surface3drenderer.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-05-21 13:37:11 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-05-22 08:03:06 +0300
commitcb79f11be1c0c379a1eccea62606a58b73442f2f (patch)
tree0e8409d491897b4fc9d1929ea1e13e575c6b7198 /src/datavisualization/engine/surface3drenderer.cpp
parent37a82fbeb7aa59260fe5f31b62228914ee4a44a3 (diff)
Cache ObjectHelper instances
Task-number: QTRD-2792 Change-Id: I90d83bd9b73a0f337fd26f1b92000e72b3ec0607 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/surface3drenderer.cpp')
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp
index 4b5464d5..1f3a6932 100644
--- a/src/datavisualization/engine/surface3drenderer.cpp
+++ b/src/datavisualization/engine/surface3drenderer.cpp
@@ -142,11 +142,11 @@ Surface3DRenderer::~Surface3DRenderer()
delete m_surfaceSliceSmoothShader;
delete m_labelShader;
- delete m_backgroundObj;
+ ObjectHelper::releaseObjectHelper(this, m_backgroundObj);
#if !defined(QT_OPENGL_ES_2)
- delete m_gridLineObj;
+ ObjectHelper::releaseObjectHelper(this, m_gridLineObj);
#endif
- delete m_labelObj;
+ ObjectHelper::releaseObjectHelper(this, m_labelObj);
}
void Surface3DRenderer::initializeOpenGL()
@@ -2311,19 +2311,15 @@ void Surface3DRenderer::resetClickedStatus()
void Surface3DRenderer::loadBackgroundMesh()
{
- if (m_backgroundObj)
- delete m_backgroundObj;
- m_backgroundObj = new ObjectHelper(QStringLiteral(":/defaultMeshes/background"));
- m_backgroundObj->load();
+ ObjectHelper::resetObjectHelper(this, m_backgroundObj,
+ QStringLiteral(":/defaultMeshes/background"));
}
#if !(defined QT_OPENGL_ES_2)
void Surface3DRenderer::loadGridLineMesh()
{
- if (m_gridLineObj)
- delete m_gridLineObj;
- m_gridLineObj = new ObjectHelper(QStringLiteral(":/defaultMeshes/plane"));
- m_gridLineObj->load();
+ ObjectHelper::resetObjectHelper(this, m_gridLineObj,
+ QStringLiteral(":/defaultMeshes/plane"));
}
#endif
@@ -2407,6 +2403,7 @@ void Surface3DRenderer::updateSelectionPoint(SurfaceSeriesRenderCache *cache, co
slicePointer->setPosition((subPosFront + subPosBack) / 2.0f);
slicePointer->setLabel(selectionLabel);
slicePointer->setPointerObject(cache->object());
+ slicePointer->setLabelObject(m_labelObj);
slicePointer->setHighlightColor(cache->singleHighlightColor());
slicePointer->updateScene(m_cachedScene);
slicePointer->setRotation(cache->meshRotation());
@@ -2420,6 +2417,7 @@ void Surface3DRenderer::updateSelectionPoint(SurfaceSeriesRenderCache *cache, co
mainPointer->setPosition(mainPos);
mainPointer->setLabel(selectionLabel);
mainPointer->setPointerObject(cache->object());
+ mainPointer->setLabelObject(m_labelObj);
mainPointer->setHighlightColor(cache->singleHighlightColor());
mainPointer->updateScene(m_cachedScene);
mainPointer->setRotation(cache->meshRotation());
@@ -2548,10 +2546,8 @@ void Surface3DRenderer::updateSlicingActive(bool isSlicing)
void Surface3DRenderer::loadLabelMesh()
{
- if (m_labelObj)
- delete m_labelObj;
- m_labelObj = new ObjectHelper(QStringLiteral(":/defaultMeshes/plane"));
- m_labelObj->load();
+ ObjectHelper::resetObjectHelper(this, m_labelObj,
+ QStringLiteral(":/defaultMeshes/plane"));
}
void Surface3DRenderer::initShaders(const QString &vertexShader, const QString &fragmentShader)