summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-07-28 13:12:00 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-08-13 20:18:56 +0200
commit5cd58e1f72ad7fc9260cb20c37b748d5cba96081 (patch)
treea88f39dd17c3423acc991e1d8a43fdf3d83bd4a1
parentb7d622c3b2fbd9ddfe7effe192bd369ef1e6d7b3 (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.cpp15
-rw-r--r--src/core/transforms/qmatrixtransform.h3
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