From f8a79feee810ca036b4b85db9c41957008474d30 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 27 Jun 2014 13:53:32 +0300 Subject: Fix custom item position in polar graphs Task-number: QTRD-3184 Change-Id: Id2550a143021771341d5bfef7e08cd5868404ca5 Reviewed-by: Mika Salmela --- src/datavisualization/engine/scatter3drenderer.cpp | 12 ++++++++---- src/datavisualization/engine/surface3drenderer.cpp | 8 ++++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 075f252f..852341a4 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -2227,13 +2227,17 @@ QVector3D Scatter3DRenderer::convertPositionToTranslation(const QVector3D &posit float yTrans = 0.0f; float zTrans = 0.0f; if (!isAbsolute) { - xTrans = m_axisCacheX.positionAt(position.x()); + if (m_polarGraph) { + calculatePolarXZ(position, xTrans, zTrans); + } else { + xTrans = m_axisCacheX.positionAt(position.x()); + zTrans = m_axisCacheZ.positionAt(position.z()); + } yTrans = m_axisCacheY.positionAt(position.y()); - zTrans = m_axisCacheZ.positionAt(position.z()); } else { - xTrans = position.x() * m_axisCacheX.scale() / 2.0f; + xTrans = position.x() * m_scaleX; yTrans = position.y(); - zTrans = position.z() * m_axisCacheZ.scale() / 2.0f; + zTrans = position.z() * m_scaleZ; } return QVector3D(xTrans, yTrans, zTrans); } diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 58c0e245..50104a93 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -2830,9 +2830,13 @@ QVector3D Surface3DRenderer::convertPositionToTranslation(const QVector3D &posit float yTrans = 0.0f; float zTrans = 0.0f; if (!isAbsolute) { - xTrans = m_axisCacheX.positionAt(position.x()); + if (m_polarGraph) { + calculatePolarXZ(position, xTrans, zTrans); + } else { + xTrans = m_axisCacheX.positionAt(position.x()); + zTrans = m_axisCacheZ.positionAt(position.z()); + } yTrans = m_axisCacheY.positionAt(position.y()); - zTrans = m_axisCacheZ.positionAt(position.z()); } else { xTrans = position.x() * m_scaleX; yTrans = position.y(); -- cgit v1.2.3