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/qbar3dseries.cpp | |
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/qbar3dseries.cpp')
-rw-r--r-- | src/datavisualization/data/qbar3dseries.cpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/datavisualization/data/qbar3dseries.cpp b/src/datavisualization/data/qbar3dseries.cpp index 0616d4e4..124f996b 100644 --- a/src/datavisualization/data/qbar3dseries.cpp +++ b/src/datavisualization/data/qbar3dseries.cpp @@ -115,17 +115,6 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION */ /*! - * \qmlproperty real Bar3DSeries::meshAngle - * - * A convenience property for defining the series rotation \a angle in degrees. - * - * \note: When reading this property, it is calculated from Abstract3DSeries::meshRotation value and - * always returns a value from zero to 360 degrees. It may also have small rounding errors. - * - * \sa Abstract3DSeries::meshRotation - */ - -/*! * Constructs QBar3DSeries with the given \a parent. */ QBar3DSeries::QBar3DSeries(QObject *parent) : @@ -133,7 +122,6 @@ QBar3DSeries::QBar3DSeries(QObject *parent) : { // Default proxy dptr()->setDataProxy(new QBarDataProxy); - dptr()->connectSignals(); } /*! @@ -143,7 +131,6 @@ QBar3DSeries::QBar3DSeries(QBarDataProxy *dataProxy, QObject *parent) : QAbstract3DSeries(new QBar3DSeriesPrivate(this), parent) { dptr()->setDataProxy(dataProxy); - dptr()->connectSignals(); } /*! @@ -152,7 +139,6 @@ QBar3DSeries::QBar3DSeries(QBarDataProxy *dataProxy, QObject *parent) : QBar3DSeries::QBar3DSeries(QBar3DSeriesPrivate *d, QObject *parent) : QAbstract3DSeries(d, parent) { - dptr()->connectSignals(); } /*! @@ -219,38 +205,6 @@ QPoint QBar3DSeries::invalidSelectionPosition() return Bars3DController::invalidSelectionPosition(); } -static inline float quaternionAngle(const QQuaternion &rotation) -{ - return qAcos(rotation.scalar()) * 360.0f / M_PI; -} - -/*! - * \property QBar3DSeries::meshAngle - * - * A convenience property for defining the series rotation \a angle in degrees. - * Setting this property is equivalent to the following call: - * \code setMeshRotation(QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, angle)) \endcode - * - * \note: When reading this property, it is calculated from QAbstract3DSeries::meshRotation value - * and always returns a value from zero to 360 degrees. It may also have small rounding errors. - * - * \sa QAbstract3DSeries::meshRotation - */ -void QBar3DSeries::setMeshAngle(float angle) -{ - setMeshRotation(QQuaternion::fromAxisAndAngle(upVector, angle)); -} - -float QBar3DSeries::meshAngle() const -{ - QQuaternion rotation = meshRotation(); - - if (rotation.isIdentity() || rotation.x() != 0.0f || rotation.z() != 0.0f) - return 0.0f; - else - return quaternionAngle(rotation); -} - /*! * \internal */ @@ -326,11 +280,6 @@ void QBar3DSeriesPrivate::connectControllerAndProxy(Abstract3DController *newCon } } -void QBar3DSeriesPrivate::handleMeshRotationChanged(const QQuaternion &rotation) -{ - emit qptr()->meshAngleChanged(quaternionAngle(rotation)); -} - void QBar3DSeriesPrivate::setSelectedBar(const QPoint &position) { if (position != m_selectedBar) { @@ -339,10 +288,4 @@ void QBar3DSeriesPrivate::setSelectedBar(const QPoint &position) } } -void QBar3DSeriesPrivate::connectSignals() -{ - QObject::connect(q_ptr, &QAbstract3DSeries::meshRotationChanged, this, - &QBar3DSeriesPrivate::handleMeshRotationChanged); -} - QT_END_NAMESPACE_DATAVISUALIZATION |