diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-02-07 15:30:53 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-02-10 08:25:28 +0200 |
commit | 61c84e2d9c46de40d22f6fafbdd23d4015025516 (patch) | |
tree | 13c04fa5a90e75d5730babd6ab1cefef54b54417 /src/datavisualization/data/qscatterdataitem.h | |
parent | ffc2e2039f58de256a98da395b5d0e87d5a176fc (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 'src/datavisualization/data/qscatterdataitem.h')
-rw-r--r-- | src/datavisualization/data/qscatterdataitem.h | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/datavisualization/data/qscatterdataitem.h b/src/datavisualization/data/qscatterdataitem.h index 64337631..62ebac56 100644 --- a/src/datavisualization/data/qscatterdataitem.h +++ b/src/datavisualization/data/qscatterdataitem.h @@ -21,7 +21,7 @@ #include <QtDataVisualization/qdatavisualizationglobal.h> -#include <QVector3D> +#include <QQuaternion> QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -32,7 +32,7 @@ class QT_DATAVISUALIZATION_EXPORT QScatterDataItem public: QScatterDataItem(); QScatterDataItem(const QVector3D &position); - QScatterDataItem(const QVector3D &position, const QVector3D &rotationAxis, float rotationAngle); + QScatterDataItem(const QVector3D &position, const QQuaternion &rotation); QScatterDataItem(const QScatterDataItem &other); ~QScatterDataItem(); @@ -40,10 +40,8 @@ public: inline void setPosition(const QVector3D &position) { m_position = position; } inline QVector3D position() const { return m_position; } - 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 setRotation(const QQuaternion &rotation) { m_rotation = rotation; } + inline QQuaternion rotation() const { return m_rotation; } 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); } @@ -58,8 +56,7 @@ protected: private: QVector3D m_position; - QVector3D m_rotationAxis; - float m_rotationAngle; + QQuaternion m_rotation; }; QT_END_NAMESPACE_DATAVISUALIZATION |