summaryrefslogtreecommitdiffstats
path: root/src/render/backend/entity.cpp
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-04-20 11:34:48 +0100
committerSean Harmer <sean.harmer@kdab.com>2016-04-20 14:11:01 +0000
commita124ac52262affa29cc051606b66ee8adaf47506 (patch)
tree41041baf833b894f4cd380ea1810653bcaeb6454 /src/render/backend/entity.cpp
parentdc4af32196c2d6d4bbe7d160d385f09103dca395 (diff)
Use new component added/removed changes
Change-Id: I31d1d60fad2ed85bcb7b9cac956b36b89e6bfb1e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/backend/entity.cpp')
-rw-r--r--src/render/backend/entity.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/render/backend/entity.cpp b/src/render/backend/entity.cpp
index 302186483..8728159c3 100644
--- a/src/render/backend/entity.cpp
+++ b/src/render/backend/entity.cpp
@@ -54,6 +54,8 @@
#include <Qt3DRender/private/geometryrenderermanager_p.h>
#include <Qt3DRender/qcameralens.h>
+#include <Qt3DCore/qcomponentaddedchange.h>
+#include <Qt3DCore/qcomponentremovedchange.h>
#include <Qt3DCore/qentity.h>
#include <Qt3DCore/qscenepropertychange.h>
#include <Qt3DCore/qtransform.h>
@@ -212,21 +214,20 @@ void Entity::initializeFromPeer(const QNodeCreatedChangeBasePtr &change)
void Entity::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
{
- QScenePropertyChangePtr propertyChange = qSharedPointerCast<QScenePropertyChange>(e);
switch (e->type()) {
case ComponentAdded: {
- QNodePtr nodePtr = propertyChange->value().value<QNodePtr>();
- QComponent *component = qobject_cast<QComponent *>(nodePtr.data());
- qCDebug(Render::RenderNodes) << Q_FUNC_INFO << "Component Added" << m_objectName << component->objectName();
- addComponent(component);
+ QComponentAddedChangePtr change = qSharedPointerCast<QComponentAddedChange>(e);
+ const auto componentIdAndType = QNodeIdTypePair(change->componentId(), change->componentMetaObject());
+ addComponent(componentIdAndType);
+ qCDebug(Render::RenderNodes) << Q_FUNC_INFO << "Component Added. Id =" << change->componentId();
break;
}
case ComponentRemoved: {
- QNodeId nodeId = propertyChange->value().value<QNodeId>();
- qCDebug(Render::RenderNodes) << Q_FUNC_INFO << "Component Removed";
- removeComponent(nodeId);
+ QComponentRemovedChangePtr change = qSharedPointerCast<QComponentRemovedChange>(e);
+ removeComponent(change->componentId());
+ qCDebug(Render::RenderNodes) << Q_FUNC_INFO << "Component Removed. Id =" << change->componentId();
break;
}