summaryrefslogtreecommitdiffstats
path: root/src/input/qinputaspect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/input/qinputaspect.cpp')
-rw-r--r--src/input/qinputaspect.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/input/qinputaspect.cpp b/src/input/qinputaspect.cpp
index e8ac79068..5d2231b6d 100644
--- a/src/input/qinputaspect.cpp
+++ b/src/input/qinputaspect.cpp
@@ -44,7 +44,8 @@
#include "inputhandler_p.h"
#include "keyboardcontroller_p.h"
#include "keyboardinput_p.h"
-
+#include <Qt3DCore/qnodevisitor.h>
+#include <Qt3DCore/qscenepropertychange.h>
#include <Qt3DInput/qkeyboardcontroller.h>
#include <Qt3DInput/qkeyboardinput.h>
@@ -75,22 +76,29 @@ QVector<QAspectJobPtr> QInputAspect::jobsToExecute()
void QInputAspect::sceneNodeAdded(QSceneChangePtr &e)
{
-
+ QScenePropertyChangePtr propertyChange = e.staticCast<QScenePropertyChange>();
+ QNodePtr nodePtr = propertyChange->value().value<QNodePtr>();
+ QNode *n = nodePtr.data();
+ QNodeVisitor visitor;
+ visitor.traverse(n, this, &QInputAspect::visitNode, &QInputAspect::visitNode);
}
void QInputAspect::sceneNodeRemoved(QSceneChangePtr &e)
{
-
+ QScenePropertyChangePtr propertyChange = e.staticCast<QScenePropertyChange>();
+ QNodePtr nodePtr = propertyChange->value().value<QNodePtr>();
+ QNode *n = nodePtr.data();
+ QAbstractAspect::clearBackendNode(n);
}
void QInputAspect::setRootEntity(QEntity *rootObject)
{
-
+ Q_UNUSED(rootObject);
}
void QInputAspect::onInitialize(const QVariantMap &data)
{
-
+ Q_UNUSED(data);
}
void QInputAspect::onCleanup()
@@ -98,6 +106,11 @@ void QInputAspect::onCleanup()
}
+void QInputAspect::visitNode(QNode *node)
+{
+ Q_UNUSED(node);
+}
+
} // Qt3D
QT_END_NAMESPACE