diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2014-09-29 17:19:36 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-10-03 21:18:41 +0200 |
commit | 7b26f6a1746419161a8f875e341b3e31220f4141 (patch) | |
tree | f784e568015e1f7f199abb388b97fefdb158c84e /src/core/aspects | |
parent | c16689bb1ccf31416df7b8c69fe032898cf87dec (diff) |
QNode refactoring
Move almost everything to private classes.
Assimp loading restored.
All examples working.
QNode hierachy is now handled through QObject::setParent, addChild,
removeChild are part of the private api.
Note: commented QChangeArbiter unit tests as they can no longer work with this
patch and will restore them when QChangeArbiter will have been made private.
Task-number: QTBUG-41470
Task-number: QTBUG-41523
Change-Id: I4430974b3aa7f3744c38714b451b122e0cb4d0c9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/core/aspects')
-rw-r--r-- | src/core/aspects/qaspectengine.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core/aspects/qaspectengine.cpp b/src/core/aspects/qaspectengine.cpp index 5b88037ee..f22492e95 100644 --- a/src/core/aspects/qaspectengine.cpp +++ b/src/core/aspects/qaspectengine.cpp @@ -52,6 +52,7 @@ #include <private/qpostman_p.h> #include "qscene.h" #include <private/qaspectengine_p.h> +#include <private/qnode_p.h> #include "qentity.h" #include "qcomponent.h" @@ -92,15 +93,18 @@ QAspectEngine::QAspectEngine(QAspectEnginePrivate &dd, QObject *parent) void QAspectEngine::initNodeTree(QNode *node) const { Q_D(const QAspectEngine); - node->setScene(d->m_scene); + node->d_func()->setScene(d->m_scene); d->m_scene->addObservable(node); QEntity *entity = qobject_cast<QEntity *>(node); if (entity != Q_NULLPTR) Q_FOREACH (QComponent *comp, entity->components()) d->m_scene->addEntityForComponent(comp->uuid(), entity->uuid()); - Q_FOREACH (QNode *c, node->children()) - initNodeTree(c); + Q_FOREACH (QObject *c, node->children()) { + QNode *childNode = qobject_cast<QNode *>(c); + if (childNode != Q_NULLPTR) + initNodeTree(childNode); + } } void QAspectEngine::initialize() |