diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2015-03-15 22:25:25 +0400 |
---|---|---|
committer | Konstantin Ritt <ritt.ks@gmail.com> | 2015-03-16 14:22:20 +0000 |
commit | 8139a719293d12ca492ccb2b376da818856c189c (patch) | |
tree | f7f4507b520402020113feea797b18a5e9dd07b7 /src/core/transforms/qtransform.cpp | |
parent | c9428e47d5d9300fe8daac03f27f813d7825d8b0 (diff) |
[QTransform] Get rid of dead code and bogus includes
Also move some code around to simplify forthcoming patches.
Change-Id: I300955af323baf97ab0f9a9e3a890013ad31814d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/core/transforms/qtransform.cpp')
-rw-r--r-- | src/core/transforms/qtransform.cpp | 82 |
1 files changed, 30 insertions, 52 deletions
diff --git a/src/core/transforms/qtransform.cpp b/src/core/transforms/qtransform.cpp index d594998c7..6ac1403b9 100644 --- a/src/core/transforms/qtransform.cpp +++ b/src/core/transforms/qtransform.cpp @@ -39,30 +39,36 @@ #include "qabstracttransform_p.h" #include <Qt3DCore/qscenepropertychange.h> -#include <qmatrixtransform.h> QT_BEGIN_NAMESPACE namespace Qt3D { QTransformPrivate::QTransformPrivate(QTransform *qq) - : QComponentPrivate(qq) - , m_transformsDirty(false) - , m_transforms() - , m_matrix() - , m_sceneMatrix() + : QComponentPrivate(qq), + m_transformsDirty(false) { } -void QTransform::copy(const QNode *ref) +void QTransformPrivate::_q_update() { - QComponent::copy(ref); - const QTransform *transform = static_cast<const QTransform*>(ref); - d_func()->m_matrix = transform->d_func()->m_matrix; - Q_FOREACH (QAbstractTransform *t, transform->d_func()->m_transforms) - addTransform(qobject_cast<QAbstractTransform *>(QNode::clone(t))); + if (!m_transformsDirty) + m_transformsDirty = true; + emit q_func()->matrixChanged(); +} + +QMatrix4x4 QTransformPrivate::applyTransforms() const +{ + if (!m_transforms.isEmpty()) { + QMatrix4x4 matrix; + Q_FOREACH (const QAbstractTransform *t, m_transforms) + matrix = t->transformMatrix() * matrix; + return matrix; + } + return QMatrix4x4(); } + QTransform::QTransform(QNode *parent) : Qt3D::QComponent(*new QTransformPrivate(this), parent) { @@ -86,37 +92,13 @@ QTransform::QTransform(QTransformPrivate &dd, QNode *parent) { } -void QTransformPrivate::_q_update() -{ - if (!m_transformsDirty) - m_transformsDirty = true; - emit static_cast<QTransform *>(q_ptr)->matrixChanged(); -} - -QMatrix4x4 QTransformPrivate::applyTransforms() const -{ - QMatrix4x4 m; - Q_FOREACH (const QAbstractTransform *t, m_transforms) - m = t->transformMatrix() * m; - return m; -} - -QMatrix4x4 QTransform::matrix() const -{ - Q_D(const QTransform); - if (d->m_transformsDirty) { - d->m_matrix = d->applyTransforms(); - d->m_transformsDirty = false; - } - return d->m_matrix; -} - -/*! - The center of rotation for the entity. Defaults to the local origin. -*/ -QVector3D QTransform::rotationCenter() const +void QTransform::copy(const QNode *ref) { - return QVector3D(); + QComponent::copy(ref); + const QTransform *transform = static_cast<const QTransform *>(ref); + d_func()->m_matrix = transform->d_func()->m_matrix; + Q_FOREACH (QAbstractTransform *t, transform->d_func()->m_transforms) + addTransform(qobject_cast<QAbstractTransform *>(QNode::clone(t))); } QList<QAbstractTransform *> QTransform::transforms() const @@ -125,14 +107,6 @@ QList<QAbstractTransform *> QTransform::transforms() const return d->m_transforms; } -/*! - * The center of rotation for the entity. Defaults to the local origin. - */ -void QTransform::setRotationCenter(const QVector3D &rc) -{ - Q_UNUSED(rc); -} - void QTransform::addTransform(QAbstractTransform *transform) { Q_D(QTransform); @@ -149,10 +123,14 @@ void QTransform::removeTransform(QAbstractTransform *transform) d->_q_update(); } -QList<QAbstractTransform *> QTransform::transformList() const +QMatrix4x4 QTransform::matrix() const { Q_D(const QTransform); - return d->m_transforms; + if (d->m_transformsDirty) { + d->m_matrix = d->applyTransforms(); + d->m_transformsDirty = false; + } + return d->m_matrix; } } // namespace Qt3D |