diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-02-06 14:00:25 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-02-06 14:23:31 +0200 |
commit | 811be6f81b2e8c4d9d23cff5b4287c8a5dc86fc3 (patch) | |
tree | 549f2a46531c853893e31083a12d3729d07c4a86 /src/datavisualization/engine/scatter3drenderer.cpp | |
parent | e91237b54c2f58eaa8a2ce36bf016e2d8e8588f2 (diff) |
Change rotations to use angle and vector in APIs
Quaternions are pain in the behind to use, especially
in QML, so change them to angle + vector combinations.
Change-Id: I25eb5ea92deaf3a079e2e193cce2e8de89f3c3c4
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/scatter3drenderer.cpp')
-rw-r--r-- | src/datavisualization/engine/scatter3drenderer.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 92c5a619..0c835c77 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -210,7 +210,14 @@ void Scatter3DRenderer::updateData() && (dotPos.z() >= minZ && dotPos.z() <= maxZ)) { renderItem.setPosition(dotPos); renderItem.setVisible(true); - renderItem.setRotation(dataArray.at(i).rotation()); + float angle = dataArray.at(i).rotationAngle(); + if (angle) { + renderItem.setRotation(QQuaternion::fromAxisAndAngle( + dataArray.at(i).rotationAxis(), + dataArray.at(i).rotationAngle())); + } else { + renderItem.setRotation(identityQuaternion); + } calculateTranslation(renderItem); } else { renderItem.setVisible(false); |