diff options
author | Paul Lemire <paul.lemire.ecortex@kdab.com> | 2014-11-10 09:12:25 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-11-14 17:45:22 +0100 |
commit | 78717e7038f179b9af25d933474346326dfe6032 (patch) | |
tree | 2e1417dac1a39f667c1c38390fc0937b73ad9141 /src/input | |
parent | b9c619fbe23c0b2e4cbc9576968e5ca8dc6d30db (diff) |
QInputAspect: some preliminary work on building backend tree
Change-Id: Iaa2f4aeacb776e04d4da8f47dcd1ebbf61ef44d7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/input')
-rw-r--r-- | src/input/qinputaspect.cpp | 23 | ||||
-rw-r--r-- | src/input/qinputaspect.h | 2 |
2 files changed, 20 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 diff --git a/src/input/qinputaspect.h b/src/input/qinputaspect.h index dbf443b1f..7d5f1c715 100644 --- a/src/input/qinputaspect.h +++ b/src/input/qinputaspect.h @@ -67,6 +67,8 @@ private: void onInitialize(const QVariantMap &data) Q_DECL_OVERRIDE; void onCleanup() Q_DECL_OVERRIDE; + void visitNode(QNode *node); + Q_DECLARE_PRIVATE(QInputAspect) }; |