diff options
-rw-r--r-- | src/core/transforms/qrotatetransform.cpp | 15 | ||||
-rw-r--r-- | src/core/transforms/qrotatetransform.h | 4 |
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 |