diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-10-30 11:24:24 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-30 11:41:47 +0200 |
commit | 1eefb471180746dda5882344deecd750305fea21 (patch) | |
tree | 29eb520aa36fdcb38930bb7bdc037f2481e5dda1 /src/datavisualization/engine/drawer.cpp | |
parent | 897922a711bacea0aceef657e5f62821784eccd8 (diff) |
Support for non-zero centered data in bars
Task-number: QTRD-2198
Change-Id: Ief48895d93ac9a8ab70743f3da0fdaf7ccd6ea27
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/drawer.cpp')
-rw-r--r-- | src/datavisualization/engine/drawer.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index 61454bd8..39fd57cb 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -282,15 +282,11 @@ void Drawer::drawLabel(const AbstractRenderItem &item, const LabelItem &labelIte modelMatrix.translate(xPosition + xAlignment, yPosition + yAlignment, zPosition + zAlignment); // Rotate - // TODO: We should convert rotations to use quaternions to avoid rotation order problems - //QQuaternion rotQuatX = QQuaternion::fromAxisAndAngle(1.0f, 0.0f, 0.0f, rotation.x()); - //QQuaternion rotQuatY = QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, rotation.y()); - //QQuaternion rotQuatZ = QQuaternion::fromAxisAndAngle(0.0f, 0.0f, 1.0f, rotation.z()); - //QQuaternion rotQuaternion = rotQuatX + rotQuatY + rotQuatZ; - //modelMatrix.rotate(rotQuaternion); - modelMatrix.rotate(rotation.y(), 0.0f, 1.0f, 0.0f); - modelMatrix.rotate(rotation.z(), 0.0f, 0.0f, 1.0f); - modelMatrix.rotate(rotation.x(), 1.0f, 0.0f, 0.0f); + QQuaternion rotQuatX = QQuaternion::fromAxisAndAngle(1.0f, 0.0f, 0.0f, rotation.x()); + QQuaternion rotQuatY = QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, rotation.y()); + QQuaternion rotQuatZ = QQuaternion::fromAxisAndAngle(0.0f, 0.0f, 1.0f, rotation.z()); + QQuaternion rotQuaternion = rotQuatY * rotQuatZ * rotQuatX; + modelMatrix.rotate(rotQuaternion); if (useDepth && !rotateAlong) { qreal yComp = qreal(qRadiansToDegrees(qTan(positionComp.y() / cameraDistance))); |