summaryrefslogtreecommitdiffstats
path: root/src/render/geometry/geometryrenderer.cpp
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-04-24 09:37:45 +0100
committerSean Harmer <sean.harmer@kdab.com>2016-04-27 11:19:52 +0000
commitc620bbc80513fac7f7fcf354c49c1197bde5f1c2 (patch)
tree25fd07348971530f8f36c2db54fa1e5540b9805e /src/render/geometry/geometryrenderer.cpp
parent64fd989313baaa6dc10185af3d298869a0794670 (diff)
GeometryRenderer use new added/removed change types
I think it may be possible to avoid this for single value QNode* properties and just rely upon the automatic notifications done by QNodePrivate. Needs investigating and testing. Change-Id: Id978e8501dc229ba4eb73a5be3b3480b967562b0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/geometry/geometryrenderer.cpp')
-rw-r--r--src/render/geometry/geometryrenderer.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/render/geometry/geometryrenderer.cpp b/src/render/geometry/geometryrenderer.cpp
index 7a07102eb..e396cdf6e 100644
--- a/src/render/geometry/geometryrenderer.cpp
+++ b/src/render/geometry/geometryrenderer.cpp
@@ -38,12 +38,14 @@
****************************************************************************/
#include "geometryrenderer_p.h"
-#include <Qt3DCore/private/qnode_p.h>
-#include <Qt3DCore/qnodepropertychange.h>
#include <Qt3DRender/private/geometryrenderermanager_p.h>
-#include <Qt3DCore/qbackendnodepropertychange.h>
#include <Qt3DRender/private/qboundingvolume_p.h>
#include <Qt3DRender/private/qgeometryrenderer_p.h>
+#include <Qt3DCore/qbackendnodepropertychange.h>
+#include <Qt3DCore/qnodepropertychange.h>
+#include <Qt3DCore/qnodeaddedpropertychange.h>
+#include <Qt3DCore/qnoderemovedpropertychange.h>
+#include <Qt3DCore/private/qnode_p.h>
QT_BEGIN_NAMESPACE
@@ -178,21 +180,17 @@ void GeometryRenderer::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
}
case NodeAdded: {
- QNodePropertyChangePtr propertyChange = qSharedPointerCast<QNodePropertyChange>(e);
- QByteArray propertyName = propertyChange->propertyName();
-
- if (propertyName == QByteArrayLiteral("geometry")) {
- m_geometryId = propertyChange->value().value<QNodeId>();
+ const auto change = qSharedPointerCast<QNodeAddedPropertyChange>(e);
+ if (change->propertyName() == QByteArrayLiteral("geometry")) {
+ m_geometryId = change->addedNodeId();
m_dirty = true;
}
break;
}
case NodeRemoved: {
- QNodePropertyChangePtr propertyChange = qSharedPointerCast<QNodePropertyChange>(e);
- QByteArray propertyName = propertyChange->propertyName();
-
- if (propertyName == QByteArrayLiteral("geometry")) {
+ const auto change = qSharedPointerCast<QNodeAddedPropertyChange>(e);
+ if (change->propertyName() == QByteArrayLiteral("geometry")) {
m_geometryId = QNodeId();
m_dirty = true;
}