summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/data/qscatterdataitem.h
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 /src/datavisualization/data/qscatterdataitem.h
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 'src/datavisualization/data/qscatterdataitem.h')
-rw-r--r--src/datavisualization/data/qscatterdataitem.h13
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