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/data/qscatterdataitem.h | |
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/data/qscatterdataitem.h')
-rw-r--r-- | src/datavisualization/data/qscatterdataitem.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/datavisualization/data/qscatterdataitem.h b/src/datavisualization/data/qscatterdataitem.h index d2ef3bcc..64337631 100644 --- a/src/datavisualization/data/qscatterdataitem.h +++ b/src/datavisualization/data/qscatterdataitem.h @@ -22,7 +22,6 @@ #include <QtDataVisualization/qdatavisualizationglobal.h> #include <QVector3D> -#include <QQuaternion> QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -33,6 +32,7 @@ class QT_DATAVISUALIZATION_EXPORT QScatterDataItem public: QScatterDataItem(); QScatterDataItem(const QVector3D &position); + QScatterDataItem(const QVector3D &position, const QVector3D &rotationAxis, float rotationAngle); QScatterDataItem(const QScatterDataItem &other); ~QScatterDataItem(); @@ -40,8 +40,10 @@ public: inline void setPosition(const QVector3D &position) { m_position = position; } inline QVector3D position() const { return m_position; } - inline void setRotation(const QQuaternion &rotation) { m_rotation = rotation; } - inline QQuaternion rotation() const { return m_rotation; } + inline void setRotationAxis(const QVector3D &axis) { m_rotationAxis = axis; } + inline QVector3D rotationAxis() const { return m_rotationAxis; } + inline void setRotationAngle(float angle) { m_rotationAngle = angle; } + inline float rotationAngle() const { return m_rotationAngle; } inline void setX(float value) { m_position.setX(value); } inline void setY(float value) { m_position.setY(value); } inline void setZ(float value) { m_position.setZ(value); } @@ -56,7 +58,8 @@ protected: private: QVector3D m_position; - QQuaternion m_rotation; + QVector3D m_rotationAxis; + float m_rotationAngle; }; QT_END_NAMESPACE_DATAVISUALIZATION |