diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-04-02 13:20:50 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-04-10 21:09:14 +0000 |
commit | 44d04b601e09fe9916686b641b117a1d89c3c9b1 (patch) | |
tree | 1a52778adb129a7cb170b8fe90c1ec4c62fa2b50 /src | |
parent | 66ff055ea6f3f9d6875b90e2219b71c6313b28b4 (diff) |
Render::Transform handles creation
Change-Id: Ib6a7ec403342fc67b9055383ba5d07d47a4d7ea7
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/render/backend/transform.cpp | 12 | ||||
-rw-r--r-- | src/render/backend/transform_p.h | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/render/backend/transform.cpp b/src/render/backend/transform.cpp index 42514493e..abf656b8e 100644 --- a/src/render/backend/transform.cpp +++ b/src/render/backend/transform.cpp @@ -42,6 +42,7 @@ #include <Qt3DCore/qscenepropertychange.h> #include <Qt3DCore/private/qchangearbiter_p.h> #include <Qt3DCore/qtransform.h> +#include <Qt3DCore/private/qtransform_p.h> QT_BEGIN_NAMESPACE @@ -69,6 +70,17 @@ void Transform::updateFromPeer(Qt3DCore::QNode *peer) m_enabled = transform->isEnabled(); } +void Transform::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) +{ + const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QTransformData>>(change); + const auto &data = typedChange->data; + m_rotation = data.rotation; + m_scale = data.scale; + m_translation = data.translation; + updateMatrix(); + m_enabled = change->isNodeEnabled(); +} + QMatrix4x4 Transform::transformMatrix() const { return m_transformMatrix; diff --git a/src/render/backend/transform_p.h b/src/render/backend/transform_p.h index 969fc46e9..87d009acc 100644 --- a/src/render/backend/transform_p.h +++ b/src/render/backend/transform_p.h @@ -78,6 +78,8 @@ public: void updateMatrix(); private: + void initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) Q_DECL_FINAL; + QMatrix4x4 m_transformMatrix; QQuaternion m_rotation; QVector3D m_scale; |