diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2017-01-24 10:43:32 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2017-01-25 14:56:43 +0000 |
commit | 393ab950be4a622dc2616c061eeb4f2194991093 (patch) | |
tree | a8e83bb510c9cc58c1461eb2345f122925e09c34 /src/render/io | |
parent | 4f6bf6d53c50221977d3f6e2c04ced70d815e6ac (diff) |
Allow to filter change events based on a track property
* QNode now has a PropertyTrackMode property
* QScene contains a table of PropertyTrakcMode data
* QPostman checks if a QNode is supposed to receive a change based on the
information available in the QScene property track mode table
* Unit tests updated and added for QPostman
Change-Id: I3b88037a949020a917c81817f1451ef532065982
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/io')
-rw-r--r-- | src/render/io/scene.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/render/io/scene.cpp b/src/render/io/scene.cpp index cf1ca4736..2057ffd3d 100644 --- a/src/render/io/scene.cpp +++ b/src/render/io/scene.cpp @@ -46,6 +46,7 @@ #include <Qt3DRender/private/qsceneloader_p.h> #include <Qt3DRender/private/scenemanager_p.h> #include <QtCore/qcoreapplication.h> +#include <Qt3DCore/private/qpropertyupdatedchangebase_p.h> QT_BEGIN_NAMESPACE @@ -72,6 +73,7 @@ void Scene::setStatus(QSceneLoader::Status status) e->setDeliveryFlags(Qt3DCore::QSceneChange::DeliverToAll); e->setPropertyName("status"); e->setValue(QVariant::fromValue(status)); + Qt3DCore::QPropertyUpdatedChangeBasePrivate::get(e.data())->m_isFinal = true; notifyObservers(e); } @@ -114,6 +116,7 @@ void Scene::setSceneSubtree(Qt3DCore::QEntity *subTree) e->setDeliveryFlags(Qt3DCore::QSceneChange::DeliverToAll); e->setPropertyName("scene"); e->setValue(QVariant::fromValue(subTree)); + Qt3DCore::QPropertyUpdatedChangeBasePrivate::get(e.data())->m_isFinal = true; notifyObservers(e); } |