diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2014-07-28 13:12:00 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-08-13 20:18:56 +0200 |
commit | 5cd58e1f72ad7fc9260cb20c37b748d5cba96081 (patch) | |
tree | a88f39dd17c3423acc991e1d8a43fdf3d83bd4a1 | |
parent | b7d622c3b2fbd9ddfe7effe192bd369ef1e6d7b3 (diff) |
QMatrixTransform implements doClone and copy methods
Change-Id: I180ed2ab199390b1b2b12c558a41d617e9a3a20f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r-- | src/core/transforms/qmatrixtransform.cpp | 15 | ||||
-rw-r--r-- | src/core/transforms/qmatrixtransform.h | 3 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/core/transforms/qmatrixtransform.cpp b/src/core/transforms/qmatrixtransform.cpp index fbe110756..88778d00e 100644 --- a/src/core/transforms/qmatrixtransform.cpp +++ b/src/core/transforms/qmatrixtransform.cpp @@ -56,6 +56,11 @@ QMatrixTransform::QMatrixTransform(QMatrixTransformPrivate &dd, QNode *parent) { } +QMatrixTransform *QMatrixTransform::doClone(QNode *clonedParent) const +{ + return new QMatrixTransform(clonedParent); +} + QMatrixTransform::QMatrixTransform(QNode *parent) : QAbstractTransform(*new QMatrixTransformPrivate(this), parent) { @@ -84,6 +89,16 @@ void QMatrixTransform::setMatrix(const QMatrix4x4 &matrix) } } +void QMatrixTransform::copy(const QNode *ref) +{ + Q_D(QMatrixTransform); + QAbstractTransform::copy(ref); + const QMatrixTransform *matrix = qobject_cast<const QMatrixTransform *>(ref); + if (ref != Q_NULLPTR) { + d->m_matrix = matrix->matrix(); + } +} + } // namespace Qt3D QT_END_NAMESPACE diff --git a/src/core/transforms/qmatrixtransform.h b/src/core/transforms/qmatrixtransform.h index 78cca7aae..dc152a928 100644 --- a/src/core/transforms/qmatrixtransform.h +++ b/src/core/transforms/qmatrixtransform.h @@ -61,6 +61,8 @@ public: explicit QMatrixTransform(QNode *parent = 0); QMatrixTransform(const QMatrix4x4& m, QNode *parent = 0); + void copy(const QNode *ref) Q_DECL_OVERRIDE; + QMatrix4x4 matrix() const Q_DECL_OVERRIDE; void setMatrix(const QMatrix4x4 &matrix); @@ -70,6 +72,7 @@ Q_SIGNALS: protected: Q_DECLARE_PRIVATE(QMatrixTransform) QMatrixTransform(QMatrixTransformPrivate &dd, QNode *parent = 0); + QMatrixTransform *doClone(QNode *clonedParent) const Q_DECL_OVERRIDE; }; } // namespace Qt3D |