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