diff options
author | Kevin Ottens <kevin.ottens@kdab.com> | 2014-10-15 13:38:32 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-10-16 10:18:14 +0200 |
commit | cd1d21fdad54315c4a8ade860ce6b31aa5a6f4b9 (patch) | |
tree | c1c042dfdb6c7fd8644c2e45a1cdad18b0703e57 /src/core/transforms | |
parent | 0f1d0ff5b3adb16afcda091e4ff4657f53581f79 (diff) |
Have copy() only on QNode
It was previously both on QNode and QNodePrivate. The one on
QNodePrivate didn't give us much as it didn't eliminate the virtual of
QNode.
Change-Id: Ia1ea9dd831674109c84bd7005abe7fde3b1223fa
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/core/transforms')
-rw-r--r-- | src/core/transforms/qlookattransform.cpp | 16 | ||||
-rw-r--r-- | src/core/transforms/qlookattransform.h | 5 | ||||
-rw-r--r-- | src/core/transforms/qlookattransform_p.h | 2 | ||||
-rw-r--r-- | src/core/transforms/qmatrixtransform.cpp | 8 | ||||
-rw-r--r-- | src/core/transforms/qmatrixtransform.h | 5 | ||||
-rw-r--r-- | src/core/transforms/qmatrixtransform_p.h | 2 | ||||
-rw-r--r-- | src/core/transforms/qrotatetransform.cpp | 10 | ||||
-rw-r--r-- | src/core/transforms/qrotatetransform.h | 1 | ||||
-rw-r--r-- | src/core/transforms/qrotatetransform_p.h | 2 | ||||
-rw-r--r-- | src/core/transforms/qscaletransform.cpp | 8 | ||||
-rw-r--r-- | src/core/transforms/qscaletransform.h | 1 | ||||
-rw-r--r-- | src/core/transforms/qscaletransform_p.h | 2 | ||||
-rw-r--r-- | src/core/transforms/qtransform.cpp | 12 | ||||
-rw-r--r-- | src/core/transforms/qtransform.h | 2 | ||||
-rw-r--r-- | src/core/transforms/qtransform_p.h | 2 | ||||
-rw-r--r-- | src/core/transforms/qtranslatetransform.cpp | 8 | ||||
-rw-r--r-- | src/core/transforms/qtranslatetransform.h | 1 | ||||
-rw-r--r-- | src/core/transforms/qtranslatetransform_p.h | 2 |
18 files changed, 44 insertions, 45 deletions
diff --git a/src/core/transforms/qlookattransform.cpp b/src/core/transforms/qlookattransform.cpp index ff99d129d..e9f3cfc23 100644 --- a/src/core/transforms/qlookattransform.cpp +++ b/src/core/transforms/qlookattransform.cpp @@ -57,15 +57,15 @@ QLookAtTransform::QLookAtTransform(QNode *parent) { } -void QLookAtTransformPrivate::copy(const QNodePrivate *ref) +void QLookAtTransform::copy(const QNode *ref) { - QAbstractTransformPrivate::copy(ref); - const QLookAtTransformPrivate *transform = static_cast<const QLookAtTransformPrivate *>(ref); - m_matrix = transform->m_matrix; - m_position = transform->m_position; - m_upVector = transform->m_upVector; - m_viewCenter = transform->m_viewCenter; - m_viewVector = transform->m_viewVector; + QAbstractTransform::copy(ref); + const QLookAtTransform *transform = static_cast<const QLookAtTransform*>(ref); + d_func()->m_matrix = transform->d_func()->m_matrix; + d_func()->m_position = transform->d_func()->m_position; + d_func()->m_upVector = transform->d_func()->m_upVector; + d_func()->m_viewCenter = transform->d_func()->m_viewCenter; + d_func()->m_viewVector = transform->d_func()->m_viewVector; } QLookAtTransform::QLookAtTransform(QLookAtTransformPrivate &dd, QNode *parent) diff --git a/src/core/transforms/qlookattransform.h b/src/core/transforms/qlookattransform.h index 6246bd764..d0fb785d4 100644 --- a/src/core/transforms/qlookattransform.h +++ b/src/core/transforms/qlookattransform.h @@ -85,9 +85,12 @@ Q_SIGNALS: void viewVectorChanged(); protected: - Q_DECLARE_PRIVATE(QLookAtTransform) QLookAtTransform(QLookAtTransformPrivate &dd, QNode *parent = 0); + void copy(const QNode *ref) Q_DECL_OVERRIDE; + +private: QT3D_CLONEABLE(QLookAtTransform) + Q_DECLARE_PRIVATE(QLookAtTransform) }; } // namespace Qt3D diff --git a/src/core/transforms/qlookattransform_p.h b/src/core/transforms/qlookattransform_p.h index f377afabc..2a6e71d51 100644 --- a/src/core/transforms/qlookattransform_p.h +++ b/src/core/transforms/qlookattransform_p.h @@ -55,8 +55,6 @@ public : Q_DECLARE_PUBLIC(QLookAtTransform) - void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE; - mutable QMatrix4x4 m_matrix; QVector3D m_position; QVector3D m_upVector; diff --git a/src/core/transforms/qmatrixtransform.cpp b/src/core/transforms/qmatrixtransform.cpp index c7240ff32..8e1aa648d 100644 --- a/src/core/transforms/qmatrixtransform.cpp +++ b/src/core/transforms/qmatrixtransform.cpp @@ -56,11 +56,11 @@ QMatrixTransform::QMatrixTransform(QMatrixTransformPrivate &dd, QNode *parent) { } -void QMatrixTransformPrivate::copy(const QNodePrivate *ref) +void QMatrixTransform::copy(const QNode *ref) { - QAbstractTransformPrivate::copy(ref); - const QMatrixTransformPrivate *matrix = static_cast<const QMatrixTransformPrivate *>(ref); - m_matrix = matrix->m_matrix; + QAbstractTransform::copy(ref); + const QMatrixTransform *matrix = static_cast<const QMatrixTransform*>(ref); + d_func()->m_matrix = matrix->d_func()->m_matrix; } QMatrixTransform::QMatrixTransform(QNode *parent) diff --git a/src/core/transforms/qmatrixtransform.h b/src/core/transforms/qmatrixtransform.h index d1320d995..f278dddcd 100644 --- a/src/core/transforms/qmatrixtransform.h +++ b/src/core/transforms/qmatrixtransform.h @@ -70,9 +70,12 @@ Q_SIGNALS: void matrixChanged(); protected: - Q_DECLARE_PRIVATE(QMatrixTransform) QMatrixTransform(QMatrixTransformPrivate &dd, QNode *parent = 0); + void copy(const QNode *ref) Q_DECL_OVERRIDE; + +private: QT3D_CLONEABLE(QMatrixTransform) + Q_DECLARE_PRIVATE(QMatrixTransform) }; } // namespace Qt3D diff --git a/src/core/transforms/qmatrixtransform_p.h b/src/core/transforms/qmatrixtransform_p.h index fc0ad3a96..7be1e972a 100644 --- a/src/core/transforms/qmatrixtransform_p.h +++ b/src/core/transforms/qmatrixtransform_p.h @@ -55,8 +55,6 @@ class QMatrixTransformPrivate : public QAbstractTransformPrivate public: QMatrixTransformPrivate(QMatrixTransform *qq); - void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE; - Q_DECLARE_PUBLIC(QMatrixTransform) QMatrix4x4 m_matrix; }; diff --git a/src/core/transforms/qrotatetransform.cpp b/src/core/transforms/qrotatetransform.cpp index 701153902..31927545b 100644 --- a/src/core/transforms/qrotatetransform.cpp +++ b/src/core/transforms/qrotatetransform.cpp @@ -60,12 +60,12 @@ QRotateTransformPrivate::QRotateTransformPrivate(QRotateTransform *qq) { } -void QRotateTransformPrivate::copy(const QNodePrivate *ref) +void QRotateTransform::copy(const QNode *ref) { - QAbstractTransformPrivate::copy(ref); - const QRotateTransformPrivate *transform = static_cast<const QRotateTransformPrivate *>(ref); - m_axis = transform->m_axis; - m_angleDeg = transform->m_angleDeg; + QAbstractTransform::copy(ref); + const QRotateTransform *transform = static_cast<const QRotateTransform*>(ref); + d_func()->m_axis = transform->d_func()->m_axis; + d_func()->m_angleDeg = transform->d_func()->m_angleDeg; } QRotateTransform::QRotateTransform(QNode *parent) diff --git a/src/core/transforms/qrotatetransform.h b/src/core/transforms/qrotatetransform.h index 9a5e7e7bb..3c1240529 100644 --- a/src/core/transforms/qrotatetransform.h +++ b/src/core/transforms/qrotatetransform.h @@ -79,6 +79,7 @@ Q_SIGNALS: protected: QRotateTransform(QRotateTransformPrivate &dd, QNode *parent = 0); + void copy(const QNode *ref) Q_DECL_OVERRIDE; private: Q_DECLARE_PRIVATE(QRotateTransform) diff --git a/src/core/transforms/qrotatetransform_p.h b/src/core/transforms/qrotatetransform_p.h index 765fb5ba0..e4e2cf9df 100644 --- a/src/core/transforms/qrotatetransform_p.h +++ b/src/core/transforms/qrotatetransform_p.h @@ -57,8 +57,6 @@ public: Q_DECLARE_PUBLIC(QRotateTransform) - void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE; - float m_angleDeg; QVector3D m_axis; }; diff --git a/src/core/transforms/qscaletransform.cpp b/src/core/transforms/qscaletransform.cpp index 94a7298bf..626179d7a 100644 --- a/src/core/transforms/qscaletransform.cpp +++ b/src/core/transforms/qscaletransform.cpp @@ -53,11 +53,11 @@ QScaleTransformPrivate::QScaleTransformPrivate(QScaleTransform *qq) { } -void QScaleTransformPrivate::copy(const QNodePrivate *ref) +void QScaleTransform::copy(const QNode *ref) { - QAbstractTransformPrivate::copy(ref); - const QScaleTransformPrivate *transform = static_cast<const QScaleTransformPrivate *>(ref); - m_scale3D = transform->m_scale3D; + QAbstractTransform::copy(ref); + const QScaleTransform *transform = static_cast<const QScaleTransform*>(ref); + d_func()->m_scale3D = transform->d_func()->m_scale3D; } QScaleTransform::QScaleTransform(QNode *parent) : diff --git a/src/core/transforms/qscaletransform.h b/src/core/transforms/qscaletransform.h index fde2fc6e2..d82cacac9 100644 --- a/src/core/transforms/qscaletransform.h +++ b/src/core/transforms/qscaletransform.h @@ -73,6 +73,7 @@ Q_SIGNALS: protected: QScaleTransform(QScaleTransformPrivate &dd, QNode *parent = 0); + void copy(const QNode *ref) Q_DECL_OVERRIDE; private: Q_DECLARE_PRIVATE(QScaleTransform) diff --git a/src/core/transforms/qscaletransform_p.h b/src/core/transforms/qscaletransform_p.h index 63f6afa62..c631b6b54 100644 --- a/src/core/transforms/qscaletransform_p.h +++ b/src/core/transforms/qscaletransform_p.h @@ -54,8 +54,6 @@ class QScaleTransformPrivate : public QAbstractTransformPrivate public: QScaleTransformPrivate(QScaleTransform *qq); - void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE; - Q_DECLARE_PUBLIC(QScaleTransform) QVector3D m_scale3D; }; diff --git a/src/core/transforms/qtransform.cpp b/src/core/transforms/qtransform.cpp index 17fea861a..96226c08e 100644 --- a/src/core/transforms/qtransform.cpp +++ b/src/core/transforms/qtransform.cpp @@ -58,13 +58,13 @@ QTransformPrivate::QTransformPrivate(QTransform *qq) { } -void QTransformPrivate::copy(const QNodePrivate *ref) +void QTransform::copy(const QNode *ref) { - QComponentPrivate::copy(ref); - const QTransformPrivate *transform = static_cast<const QTransformPrivate *>(ref); - m_matrix = transform->m_matrix; - Q_FOREACH (QAbstractTransform *t, transform->m_transforms) - q_func()->appendTransform(qobject_cast<QAbstractTransform *>(QNodePrivate::get(t)->clone())); + QComponent::copy(ref); + const QTransform *transform = static_cast<const QTransform*>(ref); + d_func()->m_matrix = transform->d_func()->m_matrix; + Q_FOREACH (QAbstractTransform *t, transform->d_func()->m_transforms) + appendTransform(qobject_cast<QAbstractTransform *>(QNodePrivate::get(t)->clone())); } QTransform::QTransform(QNode *parent) diff --git a/src/core/transforms/qtransform.h b/src/core/transforms/qtransform.h index e9342e955..0c330c522 100644 --- a/src/core/transforms/qtransform.h +++ b/src/core/transforms/qtransform.h @@ -94,7 +94,9 @@ Q_SIGNALS: protected: QMatrix4x4 applyTransforms() const; QList<QAbstractTransform *> transformList() const; + QTransform(QTransformPrivate &dd, QNode *parent = 0); + void copy(const QNode *ref) Q_DECL_OVERRIDE; private: Q_DECLARE_PRIVATE(QTransform) diff --git a/src/core/transforms/qtransform_p.h b/src/core/transforms/qtransform_p.h index f8b03dfb1..ebd490fe0 100644 --- a/src/core/transforms/qtransform_p.h +++ b/src/core/transforms/qtransform_p.h @@ -56,8 +56,6 @@ class QTransformPrivate : public QComponentPrivate public: QTransformPrivate(QTransform *qq); - void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE; - Q_DECLARE_PUBLIC(QTransform) mutable QAtomicInt m_transformsDirty; diff --git a/src/core/transforms/qtranslatetransform.cpp b/src/core/transforms/qtranslatetransform.cpp index e809efa57..c7b271e4c 100644 --- a/src/core/transforms/qtranslatetransform.cpp +++ b/src/core/transforms/qtranslatetransform.cpp @@ -57,11 +57,11 @@ QTranslateTransform::QTranslateTransform(QNode *parent) { } -void QTranslateTransformPrivate::copy(const QNodePrivate *ref) +void QTranslateTransform::copy(const QNode *ref) { - QAbstractTransformPrivate::copy(ref); - const QTranslateTransformPrivate *transform = static_cast<const QTranslateTransformPrivate *>(ref); - m_translation = transform->m_translation; + QAbstractTransform::copy(ref); + const QTranslateTransform *transform = static_cast<const QTranslateTransform*>(ref); + d_func()->m_translation = transform->d_func()->m_translation; } diff --git a/src/core/transforms/qtranslatetransform.h b/src/core/transforms/qtranslatetransform.h index ad3ab397a..01e55e926 100644 --- a/src/core/transforms/qtranslatetransform.h +++ b/src/core/transforms/qtranslatetransform.h @@ -85,6 +85,7 @@ Q_SIGNALS: protected: QTranslateTransform(QTranslateTransformPrivate &dd, QNode *parent = 0); + void copy(const QNode *ref) Q_DECL_OVERRIDE; private: Q_DECLARE_PRIVATE(QTranslateTransform) diff --git a/src/core/transforms/qtranslatetransform_p.h b/src/core/transforms/qtranslatetransform_p.h index 18a8d3d7e..4c942c644 100644 --- a/src/core/transforms/qtranslatetransform_p.h +++ b/src/core/transforms/qtranslatetransform_p.h @@ -55,8 +55,6 @@ public: QTranslateTransformPrivate(QTranslateTransform *qq); Q_DECLARE_PUBLIC(QTranslateTransform) - void copy(const QNodePrivate *ref) Q_DECL_OVERRIDE; - QVector3D m_translation; }; |