diff options
Diffstat (limited to 'src/core/aspects')
-rw-r--r-- | src/core/aspects/qabstractaspect.cpp | 6 | ||||
-rw-r--r-- | src/core/aspects/qabstractaspect.h | 9 | ||||
-rw-r--r-- | src/core/aspects/qaspectengine.cpp | 6 |
3 files changed, 17 insertions, 4 deletions
diff --git a/src/core/aspects/qabstractaspect.cpp b/src/core/aspects/qabstractaspect.cpp index d24a74485..710522356 100644 --- a/src/core/aspects/qabstractaspect.cpp +++ b/src/core/aspects/qabstractaspect.cpp @@ -159,6 +159,12 @@ void QAbstractAspect::registerBackendType(const QMetaObject &obj, const QBackend d->m_backendCreatorFunctors.insert(&obj, functor); } +void QAbstractAspect::unregisterBackendType(const QMetaObject &obj) +{ + Q_D(QAbstractAspect); + d->m_backendCreatorFunctors.remove(&obj); +} + void QAbstractAspectPrivate::sceneNodeAdded(QSceneChangePtr &change) { QNodeCreatedChangeBasePtr creationChange = qSharedPointerCast<QNodeCreatedChangeBase>(change); diff --git a/src/core/aspects/qabstractaspect.h b/src/core/aspects/qabstractaspect.h index 962006708..66f0bdc24 100644 --- a/src/core/aspects/qabstractaspect.h +++ b/src/core/aspects/qabstractaspect.h @@ -76,6 +76,9 @@ protected: template<class Frontend> void registerBackendType(const QBackendNodeMapperPtr &functor); void registerBackendType(const QMetaObject &, const QBackendNodeMapperPtr &functor); + template<class Frontend> + void unregisterBackendType(); + void unregisterBackendType(const QMetaObject &); private: virtual QVariant executeCommand(const QStringList &args); @@ -99,6 +102,12 @@ void QAbstractAspect::registerBackendType(const QBackendNodeMapperPtr &functor) registerBackendType(Frontend::staticMetaObject, functor); } +template<class Frontend> +void QAbstractAspect::unregisterBackendType() +{ + unregisterBackendType(Frontend::staticMetaObject); +} + } // namespace Qt3DCore QT_END_NAMESPACE diff --git a/src/core/aspects/qaspectengine.cpp b/src/core/aspects/qaspectengine.cpp index d33fe76f9..deb6245fd 100644 --- a/src/core/aspects/qaspectengine.cpp +++ b/src/core/aspects/qaspectengine.cpp @@ -176,10 +176,6 @@ void QAspectEnginePrivate::generateCreationChanges(QNode *root) QAspectEngine::QAspectEngine(QObject *parent) : QObject(*new QAspectEnginePrivate, parent) { - // Don't show any debug output from Qt3D. If you need to enable additional logging - // for debugging use a rules file as explained in the QLoggingCategory documentation. - QLoggingCategory::setFilterRules(QString::fromUtf8("Qt3D.*.debug=false\n")); - qCDebug(Aspects) << Q_FUNC_INFO; Q_D(QAspectEngine); d->m_scene = new QScene(this); @@ -217,6 +213,8 @@ QAspectEngine::~QAspectEngine() void QAspectEnginePrivate::initNodeTree(QNode *node) { + // Set the root entity on the scene + m_scene->setRootNode(node); QNodeVisitor visitor; visitor.traverse(node, this, &QAspectEnginePrivate::initNode, &QAspectEnginePrivate::initEntity); } |