summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/scatter3drenderer.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-06 14:00:25 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-06 14:23:31 +0200
commit811be6f81b2e8c4d9d23cff5b4287c8a5dc86fc3 (patch)
tree549f2a46531c853893e31083a12d3729d07c4a86 /src/datavisualization/engine/scatter3drenderer.cpp
parente91237b54c2f58eaa8a2ce36bf016e2d8e8588f2 (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.cpp9
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);