summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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