summaryrefslogtreecommitdiffstats
path: root/tests/directional/scatterdatamodifier.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-07 15:30:53 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-10 08:25:28 +0200
commit61c84e2d9c46de40d22f6fafbdd23d4015025516 (patch)
tree13c04fa5a90e75d5730babd6ab1cefef54b54417 /tests/directional/scatterdatamodifier.cpp
parentffc2e2039f58de256a98da395b5d0e87d5a176fc (diff)
Mostly revert the rotations refactor
Quaternions are actually easier to use in most use cases. Added some convenience functionality for QML to enable using axis/angle combinations, too. Change-Id: I61c76e0967b4808aa9adaf43dfe6f4596c9ce353 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'tests/directional/scatterdatamodifier.cpp')
-rw-r--r--tests/directional/scatterdatamodifier.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/tests/directional/scatterdatamodifier.cpp b/tests/directional/scatterdatamodifier.cpp
index 3735e14c..1422cebb 100644
--- a/tests/directional/scatterdatamodifier.cpp
+++ b/tests/directional/scatterdatamodifier.cpp
@@ -111,8 +111,7 @@ void ScatterDataModifier::addData()
#endif
ptrToDataArray->setPosition(QVector3D(x, y, z));
- ptrToDataArray->setRotationAxis(rotation.vector());
- ptrToDataArray->setRotationAngle(qAcos(rotation.scalar()) * 360.0f / M_PI);
+ ptrToDataArray->setRotation(rotation);
ptrToDataArray++;
}
}
@@ -173,13 +172,15 @@ void ScatterDataModifier::triggerRotation()
if (m_graph->seriesList().size()) {
int selectedIndex = m_graph->seriesList().at(0)->selectedItem();
if (selectedIndex != QScatter3DSeries::invalidSelectionIndex()) {
+ static float itemAngle = 0.0f;
QScatterDataItem item(*(m_graph->seriesList().at(0)->dataProxy()->itemAt(selectedIndex)));
- item.setRotationAngle(item.rotationAngle() + 1);
+ QQuaternion itemRotation = QQuaternion::fromAxisAndAngle(0.0f, 0.0f, 1.0f, itemAngle++);
+ item.setRotation(itemRotation);
m_graph->seriesList().at(0)->dataProxy()->setItem(selectedIndex, item);
} else {
static float seriesAngle = 0.0f;
- m_graph->seriesList().at(0)->setMeshRotationAxis(QVector3D(1.0f, 1.0f, 1.0f));
- m_graph->seriesList().at(0)->setMeshRotationAngle(seriesAngle++);
+ QQuaternion rotation = QQuaternion::fromAxisAndAngle(1.0f, 1.0f, 1.0f, seriesAngle++);
+ m_graph->seriesList().at(0)->setMeshRotation(rotation);
}
}
}