summaryrefslogtreecommitdiffstats
path: root/src/core/transforms
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-07-28 13:11:28 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-08-13 20:18:55 +0200
commitb7d622c3b2fbd9ddfe7effe192bd369ef1e6d7b3 (patch)
treefd050ec104608754e8fd108cb32deef3b058e49c /src/core/transforms
parentee12b1159023795fc9329cd896e1221e22b164b8 (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.cpp19
-rw-r--r--src/core/transforms/qlookattransform.h2
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