summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-07-28 13:13:10 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-08-13 20:18:56 +0200
commit3c0fa219bea4f928ce2ee178e8d228f36adf1e3e (patch)
treee839b5ac52994d41c38b7a93a3b90b4d1fe20994
parent5cd58e1f72ad7fc9260cb20c37b748d5cba96081 (diff)
QRotateTransform implements doClone and copy methods
Change-Id: I38e33099df1759bfe959023fcc95ac4fd7f639e8 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r--src/core/transforms/qrotatetransform.cpp15
-rw-r--r--src/core/transforms/qrotatetransform.h4
2 files changed, 18 insertions, 1 deletions
diff --git a/src/core/transforms/qrotatetransform.cpp b/src/core/transforms/qrotatetransform.cpp
index 918ca0c58..439e47297 100644
--- a/src/core/transforms/qrotatetransform.cpp
+++ b/src/core/transforms/qrotatetransform.cpp
@@ -61,12 +61,27 @@ QRotateTransform::QRotateTransform(QNode *parent)
{
}
+void QRotateTransform::copy(const QNode *ref)
+{
+ Q_D(QRotateTransform);
+ QAbstractTransform::copy(ref);
+ const QRotateTransform *transform = qobject_cast<const QRotateTransform *>(ref);
+ if (ref != Q_NULLPTR) {
+ d->m_axis = transform->axis();
+ d->m_angleDeg = transform->angleDeg();
+ }
+}
QRotateTransform::QRotateTransform(QRotateTransformPrivate &dd, QNode *parent)
: QAbstractTransform(dd, parent)
{
}
+QRotateTransform *QRotateTransform::doClone(QNode *clonedParent) const
+{
+ return new QRotateTransform(clonedParent);
+}
+
float QRotateTransform::angleDeg() const
{
Q_D(const QRotateTransform);
diff --git a/src/core/transforms/qrotatetransform.h b/src/core/transforms/qrotatetransform.h
index 466d010a6..6e849494f 100644
--- a/src/core/transforms/qrotatetransform.h
+++ b/src/core/transforms/qrotatetransform.h
@@ -63,6 +63,8 @@ class QT3DCORESHARED_EXPORT QRotateTransform : public QAbstractTransform
public:
explicit QRotateTransform(QNode *parent = 0);
+ void copy(const QNode *ref) Q_DECL_OVERRIDE;
+
float angleDeg() const;
float angleRad() const;
QVector3D axis() const;
@@ -80,7 +82,7 @@ Q_SIGNALS:
protected:
Q_DECLARE_PRIVATE(QRotateTransform)
QRotateTransform(QRotateTransformPrivate &dd, QNode *parent = 0);
-
+ QRotateTransform *doClone(QNode *clonedParent) const Q_DECL_OVERRIDE;
};
} // namespace Qt3D