summaryrefslogtreecommitdiffstats
path: root/src/core/transforms
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-07-28 13:13:36 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-08-13 20:18:57 +0200
commitdcc931c6147653db6794930948e617dee49a2dd1 (patch)
tree2ec1cbcf3ab841e62937696d986da111ae398c41 /src/core/transforms
parent3c0fa219bea4f928ce2ee178e8d228f36adf1e3e (diff)
QScaleTransform implements doClone and copy methods
Change-Id: Ia07e0f75e5c9dad8dda3672524b3df3bb211687b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/core/transforms')
-rw-r--r--src/core/transforms/qscaletransform.cpp14
-rw-r--r--src/core/transforms/qscaletransform.h3
2 files changed, 17 insertions, 0 deletions
diff --git a/src/core/transforms/qscaletransform.cpp b/src/core/transforms/qscaletransform.cpp
index 8fd2718e6..b87e9d62f 100644
--- a/src/core/transforms/qscaletransform.cpp
+++ b/src/core/transforms/qscaletransform.cpp
@@ -58,12 +58,26 @@ QScaleTransform::QScaleTransform(QNode *parent) :
{
}
+void QScaleTransform::copy(const QNode *ref)
+{
+ Q_D(QScaleTransform);
+ QAbstractTransform::copy(ref);
+ const QScaleTransform *transform = qobject_cast<const QScaleTransform *>(ref);
+ if (ref != Q_NULLPTR) {
+ d->m_scale3D = transform->scale3D();
+ }
+}
QScaleTransform::QScaleTransform(QScaleTransformPrivate &dd, QNode *parent)
: QAbstractTransform(dd, parent)
{
}
+QScaleTransform *QScaleTransform::doClone(QNode *clonedParent) const
+{
+ return new QScaleTransform(clonedParent);
+}
+
QVector3D QScaleTransform::scale3D() const
{
Q_D(const QScaleTransform);
diff --git a/src/core/transforms/qscaletransform.h b/src/core/transforms/qscaletransform.h
index fe51e9489..b52ed338c 100644
--- a/src/core/transforms/qscaletransform.h
+++ b/src/core/transforms/qscaletransform.h
@@ -59,6 +59,8 @@ class QT3DCORESHARED_EXPORT QScaleTransform : public QAbstractTransform
public:
explicit QScaleTransform(QNode *parent = 0);
+ void copy(const QNode *ref) Q_DECL_OVERRIDE;
+
QVector3D scale3D() const;
void setScale3D(const QVector3D &scale3D);
@@ -74,6 +76,7 @@ Q_SIGNALS:
protected:
Q_DECLARE_PRIVATE(QScaleTransform)
QScaleTransform(QScaleTransformPrivate &dd, QNode *parent = 0);
+ QScaleTransform *doClone(QNode *clonedParent) const Q_DECL_OVERRIDE;
};
} // Qt3D