summaryrefslogtreecommitdiffstats
path: root/src/core/aspects/qaspectengine.h
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2014-11-02 16:10:12 +0000
committerSean Harmer <sean.harmer@kdab.com>2014-11-02 19:17:49 +0100
commita56aaeed5f09bfa5d32fa7b40ec8782414998daa (patch)
treed9658dfe6d9b6ff4c1df5c0c5800d73e90ed5101 /src/core/aspects/qaspectengine.h
parent8bd7ea0ec2f67679d046d35af5785d99b31620a3 (diff)
QAspectEngine owns the root of the scene
The scene root is now also enforced to be a QEntity as that is what we were checking for in the backend anyway as it is impossible to create a plain QNode. This is another step towards solving the shutdown crashing bug. Change-Id: I8508afa80ec9e99954ab867be1ed28bc35405e79 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/core/aspects/qaspectengine.h')
-rw-r--r--src/core/aspects/qaspectengine.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/aspects/qaspectengine.h b/src/core/aspects/qaspectengine.h
index 96332517e..49d984ef1 100644
--- a/src/core/aspects/qaspectengine.h
+++ b/src/core/aspects/qaspectengine.h
@@ -52,10 +52,11 @@ class QSurface;
namespace Qt3D {
-class QNode;
class QAbstractAspect;
class QAspectThread;
class QAspectEnginePrivate;
+class QEntity;
+class QNode;
class QT3DCORESHARED_EXPORT QAspectEngine : public QObject
{
@@ -66,7 +67,9 @@ public:
void initialize();
void shutdown();
- void setRoot(QNode *rootObject);
+ void setRootEntity(QEntity *root);
+ QSharedPointer<QEntity> rootEntity() const;
+
void setSurface(QSurface *surface);
void registerAspect(QAbstractAspect *aspect);