diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2014-07-28 13:11:28 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-08-13 20:18:55 +0200 |
commit | b7d622c3b2fbd9ddfe7effe192bd369ef1e6d7b3 (patch) | |
tree | fd050ec104608754e8fd108cb32deef3b058e49c /src/core/transforms | |
parent | ee12b1159023795fc9329cd896e1221e22b164b8 (diff) |
QLookAtTransform implements doClone and copy methods
Change-Id: Ib4be77629ce0a6bc3dbd7ecbed60f7838a1ca16d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/core/transforms')
-rw-r--r-- | src/core/transforms/qlookattransform.cpp | 19 | ||||
-rw-r--r-- | src/core/transforms/qlookattransform.h | 2 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/core/transforms/qlookattransform.cpp b/src/core/transforms/qlookattransform.cpp index 24f518208..3159da0d5 100644 --- a/src/core/transforms/qlookattransform.cpp +++ b/src/core/transforms/qlookattransform.cpp @@ -57,11 +57,30 @@ QLookAtTransform::QLookAtTransform(QNode *parent) { } +void QLookAtTransform::copy(const QNode *ref) +{ + Q_D(QLookAtTransform); + QAbstractTransform::copy(ref); + const QLookAtTransform *transform = qobject_cast<const QLookAtTransform *>(ref); + if (transform != Q_NULLPTR) { + d->m_matrix = matrix(); + d->m_position = position(); + d->m_upVector = upVector(); + d->m_viewCenter = viewCenter(); + d->m_viewVector = viewVector(); + } +} + QLookAtTransform::QLookAtTransform(QLookAtTransformPrivate &dd, QNode *parent) : QAbstractTransform(dd, parent) { } +QLookAtTransform *QLookAtTransform::doClone(QNode *clonedParent) const +{ + return new QLookAtTransform(clonedParent); +} + QMatrix4x4 QLookAtTransform::matrix() const { Q_D(const QLookAtTransform); diff --git a/src/core/transforms/qlookattransform.h b/src/core/transforms/qlookattransform.h index cf8e5234c..2f07fbb51 100644 --- a/src/core/transforms/qlookattransform.h +++ b/src/core/transforms/qlookattransform.h @@ -64,6 +64,7 @@ class QT3DCORESHARED_EXPORT QLookAtTransform : public Qt3D::QAbstractTransform public: explicit QLookAtTransform(QNode *parent = 0); + void copy(const QNode *ref) Q_DECL_OVERRIDE; QMatrix4x4 matrix() const Q_DECL_OVERRIDE; void setPosition(const QVector3D &position); @@ -87,6 +88,7 @@ Q_SIGNALS: protected: Q_DECLARE_PRIVATE(QLookAtTransform) QLookAtTransform(QLookAtTransformPrivate &dd, QNode *parent = 0); + QLookAtTransform *doClone(QNode *clonedParent) const Q_DECL_OVERRIDE; }; } // namespace Qt3D |