From 61c84e2d9c46de40d22f6fafbdd23d4015025516 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 7 Feb 2014 15:30:53 +0200 Subject: Mostly revert the rotations refactor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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ää --- src/datavisualization/data/qabstract3dseries.h | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'src/datavisualization/data/qabstract3dseries.h') diff --git a/src/datavisualization/data/qabstract3dseries.h b/src/datavisualization/data/qabstract3dseries.h index b0396126..a8cee7c9 100644 --- a/src/datavisualization/data/qabstract3dseries.h +++ b/src/datavisualization/data/qabstract3dseries.h @@ -23,7 +23,7 @@ #include #include #include -#include +#include QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -39,8 +39,7 @@ class QT_DATAVISUALIZATION_EXPORT QAbstract3DSeries : public QObject Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibilityChanged) Q_PROPERTY(Mesh mesh READ mesh WRITE setMesh NOTIFY meshChanged) Q_PROPERTY(bool meshSmooth READ isMeshSmooth WRITE setMeshSmooth NOTIFY meshSmoothChanged) - Q_PROPERTY(QVector3D meshRotationAxis READ meshRotationAxis WRITE setMeshRotationAxis NOTIFY meshRotationAxisChanged) - Q_PROPERTY(float meshRotationAngle READ meshRotationAngle WRITE setMeshRotationAngle NOTIFY meshRotationAngleChanged) + Q_PROPERTY(QQuaternion meshRotation READ meshRotation WRITE setMeshRotation NOTIFY meshRotationChanged) Q_PROPERTY(QString userDefinedMesh READ userDefinedMesh WRITE setUserDefinedMesh NOTIFY userDefinedMeshChanged) Q_PROPERTY(QtDataVisualization::Q3DTheme::ColorStyle colorStyle READ colorStyle WRITE setColorStyle NOTIFY colorStyleChanged) Q_PROPERTY(QColor baseColor READ baseColor WRITE setBaseColor NOTIFY baseColorChanged) @@ -94,10 +93,9 @@ public: void setMeshSmooth(bool enable); bool isMeshSmooth() const; - void setMeshRotationAxis(const QVector3D &axis); - QVector3D meshRotationAxis() const; - void setMeshRotationAngle(float angle); - float meshRotationAngle() const; + void setMeshRotation(const QQuaternion &rotation); + QQuaternion meshRotation() const; + Q_INVOKABLE void setMeshAxisAndAngle(const QVector3D &axis, float angle); void setUserDefinedMesh(const QString &fileName); QString userDefinedMesh() const; @@ -125,8 +123,7 @@ signals: void visibilityChanged(bool visible); void meshChanged(Mesh mesh); void meshSmoothChanged(bool enabled); - void meshRotationAxisChanged(QVector3D axis); - void meshRotationAngleChanged(float angle); + void meshRotationChanged(QQuaternion rotation); void userDefinedMeshChanged(QString fileName); void colorStyleChanged(Q3DTheme::ColorStyle style); void baseColorChanged(QColor color); -- cgit v1.2.3