summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/selectionpointer.cpp
diff options
context:
space:
mode:
authorMika Salmela <mika.salmela@digia.com>2013-10-08 15:41:45 +0300
committerMika Salmela <mika.salmela@digia.com>2013-10-09 13:22:02 +0300
commitd6a5baf471f054c0d2711bd6a24f5a309ed32e2a (patch)
treedde0aa2e32ab5ed8f3d0369a9dbc14bdd65c3961 /src/datavisualization/engine/selectionpointer.cpp
parent45bdd538baae5d41ab772a0430917080503ad89b (diff)
Aspect ratio preservation for surface slice view
Task-number: QTRD-2387 Change-Id: I51e9900d419931e75d5df2f5962590ee5f3cdbc7 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/selectionpointer.cpp')
-rw-r--r--src/datavisualization/engine/selectionpointer.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp
index d1a4c42a..6c3e0c8b 100644
--- a/src/datavisualization/engine/selectionpointer.cpp
+++ b/src/datavisualization/engine/selectionpointer.cpp
@@ -34,6 +34,8 @@
QT_DATAVISUALIZATION_BEGIN_NAMESPACE
+const GLfloat sliceUnits = 2.5;
+
SelectionPointer::SelectionPointer(Drawer *drawer)
: QObject(0),
m_labelShader(0),
@@ -102,11 +104,12 @@ void SelectionPointer::render(GLuint defaultFboHandle)
QMatrix4x4 viewMatrix;
QMatrix4x4 projectionMatrix;
if (m_cachedIsSlicingActivated) {
- GLfloat camZPosSliced = 5.0f / m_autoScaleAdjustment + zComp;
- viewMatrix.lookAt(QVector3D(0.0f, 0.0f, camZPosSliced),
+ GLfloat aspect = (GLfloat)m_mainViewPort.width() / (GLfloat)m_mainViewPort.height();
+ viewMatrix.lookAt(QVector3D(0.0f, 0.0f, zComp + 1.0),
QVector3D(0.0f, 0.0f, zComp),
QVector3D(0.0f, 1.0f, 0.0f));
- projectionMatrix.ortho(-3.0f, 3.0, -3.0, 3.0, 0.1f, 100.0f);
+ projectionMatrix.ortho(-sliceUnits * aspect, sliceUnits * aspect,
+ -sliceUnits, sliceUnits, -1.0f, 14.0f);
} else {
viewMatrix = camera->viewMatrix();
projectionMatrix.perspective(45.0f, (GLfloat)m_mainViewPort.width()
@@ -117,11 +120,6 @@ void SelectionPointer::render(GLuint defaultFboHandle)
GLfloat scaledFontSize = 0.05f + m_drawer->font().pointSizeF() / 500.0f;
GLfloat scaleFactor = scaledFontSize / (GLfloat)textureSize.height();
- // Set up projection matrix
-// QMatrix4x4 projectionMatrix;
-// projectionMatrix.perspective(45.0f, (GLfloat)m_mainViewPort.width()
-// / (GLfloat)m_mainViewPort.height(), 0.1f, 100.0f);
-
QMatrix4x4 modelMatrix;
QMatrix4x4 MVPMatrix;