summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-09-09 10:34:08 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-09-09 11:01:35 +0300
commit0153f9889ee757b0a215e5c36c14a9561cc9b098 (patch)
tree16c7b51ad2380e78badd6f8033b050f045b14f5d
parent23f72f348defe10a37c95c39fdd48c90ea88b96d (diff)
Scatter data outside area -issue fix
Task-number: QTRD-2251 + Fixed z-axis grid line and label drawing bug Change-Id: I027701264c946e3c284c5a46985f5e98d6154aa6 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
-rw-r--r--src/datavis3d/engine/scatter3drenderer.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/datavis3d/engine/scatter3drenderer.cpp b/src/datavis3d/engine/scatter3drenderer.cpp
index ad78c3a0..151d1d2f 100644
--- a/src/datavis3d/engine/scatter3drenderer.cpp
+++ b/src/datavis3d/engine/scatter3drenderer.cpp
@@ -657,7 +657,7 @@ void Scatter3DRenderer::drawScene(CameraHelper *camera,
// Floor lines
#ifndef USE_UNIFORM_SCALING
GLfloat lineStep = aspectRatio * m_axisCacheZ.subSegmentStep();
- GLfloat linePos = aspectRatio * m_axisCacheZ.min(); // Start line
+ GLfloat linePos = -aspectRatio * m_axisCacheZ.min(); // Start line
int lastSegment = m_axisCacheZ.subSegmentCount() * m_axisCacheZ.segmentCount();
#else
GLfloat lineStep = aspectRatio * axisCacheMax->subSegmentStep();
@@ -724,14 +724,14 @@ void Scatter3DRenderer::drawScene(CameraHelper *camera,
// Draw the object
m_drawer->drawObject(lineShader, m_gridLineObj);
}
- linePos += lineStep;
+ linePos -= lineStep;
}
// Side wall lines
#ifndef USE_UNIFORM_SCALING
GLfloat lineXTrans = (aspectRatio * backgroundMargin * m_areaSize.width())
/ m_scaleFactor;
- linePos = aspectRatio * m_axisCacheZ.min(); // Start line
+ linePos = -aspectRatio * m_axisCacheZ.min(); // Start line
#else
GLfloat lineXTrans = aspectRatio * backgroundMargin;
linePos = -aspectRatio * m_scaleFactor; // Start line
@@ -778,7 +778,7 @@ void Scatter3DRenderer::drawScene(CameraHelper *camera,
// Draw the object
m_drawer->drawObject(lineShader, m_gridLineObj);
}
- linePos += lineStep;
+ linePos -= lineStep;
}
}
@@ -1070,7 +1070,7 @@ void Scatter3DRenderer::drawScene(CameraHelper *camera,
if (m_axisCacheZ.segmentCount() > 0) {
#ifndef USE_UNIFORM_SCALING
GLfloat posStep = aspectRatio * m_axisCacheZ.segmentStep();
- GLfloat labelPos = aspectRatio * m_axisCacheZ.max();
+ GLfloat labelPos = -aspectRatio * m_axisCacheZ.min();
int lastSegment = m_axisCacheZ.segmentCount();
#else
GLfloat posStep = aspectRatio * axisCacheMax->segmentStep();
@@ -1468,9 +1468,8 @@ void Scatter3DRenderer::calculateTranslation(ScatterRenderItem &item)
void Scatter3DRenderer::calculateSceneScalingFactors()
{
m_heightNormalizer = (GLfloat)qMax(qAbs(m_axisCacheY.max()), qAbs(m_axisCacheY.min()));
- // TODO: Get rid of m_areaSize and use m_axisCaches directly?
- m_areaSize.setHeight(m_axisCacheZ.max());
- m_areaSize.setWidth(m_axisCacheX.max());
+ m_areaSize.setHeight(qMax(qAbs(m_axisCacheZ.max()), qAbs(m_axisCacheZ.min())));
+ m_areaSize.setWidth(qMax(qAbs(m_axisCacheX.max()), qAbs(m_axisCacheX.min())));
m_scaleFactor = qMax(m_areaSize.width(), m_areaSize.height());
//qDebug() << m_heightNormalizer << m_areaSize << m_scaleFactor << m_axisCacheY.max() << m_axisCacheX.max() << m_axisCacheZ.max();
}