summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2016-03-16 21:09:04 +0000
committerMike Krus <mike.krus@kdab.com>2016-03-17 21:21:39 +0000
commit7b04eec1ceb5de8c9f74ed0fa319287035480754 (patch)
tree5988deb15432bd859094ef0bc849a3815aa71824 /src
parent7aa715798b7771586e1109ebd61eb492c8a8f613 (diff)
Merge QAbstractSceneLoader down into QSceneLoader
Task-number: QTBUG-51484 Change-Id: I8eebe105331cb94306d27739996e34862fbd1a0a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/quick3d/imports/render/qt3dquick3drenderplugin.cpp2
-rw-r--r--src/quick3d/quick3drender/items/quick3dscene_p.h4
-rw-r--r--src/render/frontend/qrenderaspect.cpp4
-rw-r--r--src/render/io/io.pri4
-rw-r--r--src/render/io/qabstractsceneloader.cpp111
-rw-r--r--src/render/io/qabstractsceneloader.h95
-rw-r--r--src/render/io/qsceneloader.cpp57
-rw-r--r--src/render/io/qsceneloader.h35
-rw-r--r--src/render/io/qsceneloader_p.h (renamed from src/render/io/qabstractsceneloader_p.h)16
-rw-r--r--src/render/io/scene.cpp6
10 files changed, 102 insertions, 232 deletions
diff --git a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
index bb2e8e947..64fad93e4 100644
--- a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
+++ b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
@@ -39,7 +39,6 @@
****************************************************************************/
#include "qt3dquick3drenderplugin.h"
-#include <Qt3DRender/qabstractsceneloader.h>
#include <Qt3DRender/qsceneloader.h>
#include <Qt3DRender/qmesh.h>
#include <Qt3DRender/qrenderpass.h>
@@ -185,7 +184,6 @@ void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri)
qmlRegisterType<Qt3DRender::QPickingSettings>(uri, 2, 0, "PickingSettings");
// @uri Qt3D.Render
- qmlRegisterUncreatableType<Qt3DRender::QAbstractSceneLoader>(uri, 2, 0, "QAbstractSceneLoader", "QAbstractScene is abstract");
Qt3DRender::Quick::registerExtendedType<Qt3DRender::QSceneLoader, Qt3DRender::Render::Quick::Quick3DScene>("QSceneLoader", "Qt3D.Render/SceneLoader", uri, 2, 0, "SceneLoader");
Qt3DRender::Quick::registerExtendedType<Qt3DRender::QEffect, Qt3DRender::Render::Quick::Quick3DEffect>("QEffect", "Qt3D.Render/Effect", uri, 2, 0, "Effect");
Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTechnique, Qt3DRender::Render::Quick::Quick3DTechnique>("QTechnique", "Qt3D.Render/Technique", uri, 2, 0, "Technique");
diff --git a/src/quick3d/quick3drender/items/quick3dscene_p.h b/src/quick3d/quick3drender/items/quick3dscene_p.h
index 30674651b..60c2d2ab5 100644
--- a/src/quick3d/quick3drender/items/quick3dscene_p.h
+++ b/src/quick3d/quick3drender/items/quick3dscene_p.h
@@ -53,7 +53,7 @@
#include <Qt3DQuickRender/private/qt3dquickrender_global_p.h>
#include <Qt3DQuick/private/quick3dentity_p.h>
-#include <Qt3DRender/qabstractsceneloader.h>
+#include <Qt3DRender/qsceneloader.h>
QT_BEGIN_NAMESPACE
@@ -67,7 +67,7 @@ class QT3DQUICKRENDERSHARED_PRIVATE_EXPORT Quick3DScene : public QObject
public:
explicit Quick3DScene(QObject *parent = 0);
- inline QAbstractSceneLoader *parentScene() const { return qobject_cast<QAbstractSceneLoader *>(parent()); }
+ inline QSceneLoader *parentScene() const { return qobject_cast<QSceneLoader *>(parent()); }
};
} // namespace Quick
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp
index 8de5a0e03..edfe8c8cf 100644
--- a/src/render/frontend/qrenderaspect.cpp
+++ b/src/render/frontend/qrenderaspect.cpp
@@ -46,7 +46,7 @@
#include <Qt3DRender/private/scenemanager_p.h>
#include <Qt3DRender/private/geometryrenderermanager_p.h>
-#include <Qt3DRender/qabstractsceneloader.h>
+#include <Qt3DRender/qsceneloader.h>
#include <Qt3DRender/qcameraselector.h>
#include <Qt3DRender/qlayer.h>
#include <Qt3DRender/qlayerfilter.h>
@@ -193,7 +193,7 @@ void QRenderAspectPrivate::registerBackendTypes()
q->registerBackendType<Qt3DRender::QCameraLens>(QBackendNodeMapperPtr(new Render::NodeFunctor<Render::CameraLens, Render::CameraManager>(m_renderer, m_nodeManagers->cameraManager())));
q->registerBackendType<QLayer>(QBackendNodeMapperPtr(new Render::NodeFunctor<Render::Layer, Render::LayerManager>(m_renderer, m_nodeManagers->layerManager())));
q->registerBackendType<QRenderPass>(QBackendNodeMapperPtr(new Render::NodeFunctor<Render::RenderPass, Render::RenderPassManager>(m_renderer, m_nodeManagers->renderPassManager())));
- q->registerBackendType<QAbstractSceneLoader>(QBackendNodeMapperPtr(new Render::RenderSceneFunctor(m_renderer, m_nodeManagers->sceneManager())));
+ q->registerBackendType<QSceneLoader>(QBackendNodeMapperPtr(new Render::RenderSceneFunctor(m_renderer, m_nodeManagers->sceneManager())));
q->registerBackendType<QRenderTarget>(QBackendNodeMapperPtr(new Render::NodeFunctor<Render::RenderTarget, Render::RenderTargetManager>(m_renderer, m_nodeManagers->renderTargetManager())));
q->registerBackendType<QRenderTargetOutput>(QBackendNodeMapperPtr(new Render::NodeFunctor<Render::RenderTargetOutput, Render::AttachmentManager>(m_renderer, m_nodeManagers->attachmentManager())));
q->registerBackendType<QSortCriterion>(QBackendNodeMapperPtr(new Render::NodeFunctor<Render::SortCriterion, Render::SortCriterionManager>(m_renderer, m_nodeManagers->sortCriterionManager())));
diff --git a/src/render/io/io.pri b/src/render/io/io.pri
index e35ad2ffe..512b42cfd 100644
--- a/src/render/io/io.pri
+++ b/src/render/io/io.pri
@@ -2,10 +2,9 @@ INCLUDEPATH += $$PWD
HEADERS += \
$$PWD/objloader_p.h \
- $$PWD/qabstractsceneloader.h \
- $$PWD/qabstractsceneloader_p.h \
$$PWD/qaxisalignedboundingbox_p.h \
$$PWD/qsceneloader.h \
+ $$PWD/qsceneloader_p.h \
$$PWD/qurlhelper_p.h \
$$PWD/scene_p.h \
$$PWD/scenemanager_p.h \
@@ -16,7 +15,6 @@ HEADERS += \
SOURCES += \
$$PWD/objloader.cpp \
- $$PWD/qabstractsceneloader.cpp \
$$PWD/qaxisalignedboundingbox.cpp \
$$PWD/qsceneloader.cpp \
$$PWD/qurlhelper.cpp \
diff --git a/src/render/io/qabstractsceneloader.cpp b/src/render/io/qabstractsceneloader.cpp
deleted file mode 100644
index ddb88cc08..000000000
--- a/src/render/io/qabstractsceneloader.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qabstractsceneloader.h"
-#include "qabstractsceneloader_p.h"
-#include "qsceneiohandler_p.h"
-#include <Qt3DRender/private/renderlogging_p.h>
-#include <Qt3DCore/qscenepropertychange.h>
-
-QT_BEGIN_NAMESPACE
-
-namespace Qt3DRender {
-
-QAbstractSceneLoaderPrivate::QAbstractSceneLoaderPrivate()
- : QComponentPrivate()
- , m_status(QAbstractSceneLoader::Loading)
-{
- m_shareable = false;
-}
-
-/*! \internal */
-QAbstractSceneLoader::QAbstractSceneLoader(QAbstractSceneLoaderPrivate &dd, QNode *parent)
- : QComponent(dd, parent)
-{
-}
-
-QAbstractSceneLoader::QAbstractSceneLoader(QNode *parent)
- : QComponent(*new QAbstractSceneLoaderPrivate, parent)
-{
-}
-
-QAbstractSceneLoader::~QAbstractSceneLoader()
-{
- Q_ASSERT_X(Qt3DCore::QNodePrivate::get(this)->m_wasCleanedUp, Q_FUNC_INFO, "QNode::cleanup should have been called by now. A Qt3DRender::QAbstractSceneLoader subclass didn't call QNode::cleanup in its destructor");
-}
-
-void QAbstractSceneLoader::copy(const QNode *ref)
-{
- const QAbstractSceneLoader *s = static_cast<const QAbstractSceneLoader*>(ref);
- d_func()->m_source = s->d_func()->m_source;
-}
-
-QUrl QAbstractSceneLoader::source() const
-{
- Q_D(const QAbstractSceneLoader);
- return d->m_source;
-}
-
-void QAbstractSceneLoader::setSource(const QUrl &arg)
-{
- Q_D(QAbstractSceneLoader);
- if (d->m_source != arg) {
- d->m_source = arg;
- emit sourceChanged(arg);
- }
-}
-
-QAbstractSceneLoader::Status QAbstractSceneLoader::status() const
-{
- Q_D(const QAbstractSceneLoader);
- return d->m_status;
-}
-
-void QAbstractSceneLoader::setStatus(QAbstractSceneLoader::Status status)
-{
- Q_D(QAbstractSceneLoader);
- if (d->m_status != status) {
- d->m_status = status;
- emit statusChanged(status);
- }
-}
-
-} // namespace Qt3DRender
-
-QT_END_NAMESPACE
diff --git a/src/render/io/qabstractsceneloader.h b/src/render/io/qabstractsceneloader.h
deleted file mode 100644
index 747405c12..000000000
--- a/src/render/io/qabstractsceneloader.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT3DRENDER_QABSTRACTSCENELOADER_H
-#define QT3DRENDER_QABSTRACTSCENELOADER_H
-
-#include <Qt3DCore/qcomponent.h>
-#include <Qt3DCore/qscenechange.h>
-#include <Qt3DRender/qt3drender_global.h>
-#include <QUrl>
-
-QT_BEGIN_NAMESPACE
-
-namespace Qt3DRender {
-
-class QAbstractSceneLoader;
-class QAbstractSceneLoaderPrivate;
-
-class QT3DRENDERSHARED_EXPORT QAbstractSceneLoader : public Qt3DCore::QComponent
-{
- Q_OBJECT
- Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
- Q_PROPERTY(Status status READ status NOTIFY statusChanged)
-public:
- explicit QAbstractSceneLoader(Qt3DCore::QNode *parent = 0);
- ~QAbstractSceneLoader();
-
- enum Status {
- None = 0,
- Loading,
- Ready,
- Error
- };
- Q_ENUM(Status)
-
- QUrl source() const;
- Status status() const;
-
-public Q_SLOTS:
- void setSource(const QUrl &arg);
- void setStatus(Status status);
-
-Q_SIGNALS:
- void sourceChanged(const QUrl &source);
- void statusChanged(Status status);
-
-protected:
- QAbstractSceneLoader(QAbstractSceneLoaderPrivate &dd, Qt3DCore::QNode *parent = 0);
- void copy(const Qt3DCore::QNode *ref) Q_DECL_OVERRIDE;
-
-private:
- Q_DECLARE_PRIVATE(QAbstractSceneLoader)
-};
-
-} // namespace Qt3DRender
-
-QT_END_NAMESPACE
-
-#endif // QT3DRENDER_QABSTRACTSCENELOADER_H
diff --git a/src/render/io/qsceneloader.cpp b/src/render/io/qsceneloader.cpp
index e5262d7d8..e43a2cb1f 100644
--- a/src/render/io/qsceneloader.cpp
+++ b/src/render/io/qsceneloader.cpp
@@ -38,7 +38,7 @@
****************************************************************************/
#include "qsceneloader.h"
-#include "qabstractsceneloader_p.h"
+#include "qsceneloader_p.h"
#include <Qt3DCore/private/qscene_p.h>
#include <Qt3DCore/qscenepropertychange.h>
#include <Qt3DCore/qentity.h>
@@ -51,8 +51,21 @@ using namespace Qt3DCore;
namespace Qt3DRender {
+QSceneLoaderPrivate::QSceneLoaderPrivate()
+ : QComponentPrivate()
+ , m_status(QSceneLoader::Loading)
+{
+ m_shareable = false;
+}
+
+
QSceneLoader::QSceneLoader(QNode *parent)
- : QAbstractSceneLoader(parent)
+ : Qt3DCore::QComponent(*new QSceneLoaderPrivate, parent)
+{
+}
+
+QSceneLoader::QSceneLoader(QSceneLoaderPrivate &dd, QNode *parent)
+ : Qt3DCore::QComponent(dd, parent)
{
}
@@ -64,7 +77,7 @@ QSceneLoader::~QSceneLoader()
// Called in main thread
void QSceneLoader::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change)
{
- QAbstractSceneLoaderPrivate *d = static_cast<QAbstractSceneLoaderPrivate*>(QNodePrivate::get(this));
+ Q_D(QSceneLoader);
QScenePropertyChangePtr e = qSharedPointerCast<QScenePropertyChange>(change);
if (e->type() == NodeUpdated) {
if (e->propertyName() == QByteArrayLiteral("scene")) {
@@ -85,11 +98,47 @@ void QSceneLoader::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change)
}
}
else if (e->propertyName() == QByteArrayLiteral("status")) {
- QAbstractSceneLoader::setStatus(static_cast<QAbstractSceneLoader::Status>(e->value().toInt()));
+ setStatus(static_cast<QSceneLoader::Status>(e->value().toInt()));
}
}
}
+void QSceneLoader::copy(const QNode *ref)
+{
+ const QSceneLoader *s = static_cast<const QSceneLoader*>(ref);
+ d_func()->m_source = s->d_func()->m_source;
+}
+
+QUrl QSceneLoader::source() const
+{
+ Q_D(const QSceneLoader);
+ return d->m_source;
+}
+
+void QSceneLoader::setSource(const QUrl &arg)
+{
+ Q_D(QSceneLoader);
+ if (d->m_source != arg) {
+ d->m_source = arg;
+ emit sourceChanged(arg);
+ }
+}
+
+QSceneLoader::Status QSceneLoader::status() const
+{
+ Q_D(const QSceneLoader);
+ return d->m_status;
+}
+
+void QSceneLoader::setStatus(QSceneLoader::Status status)
+{
+ Q_D(QSceneLoader);
+ if (d->m_status != status) {
+ d->m_status = status;
+ emit statusChanged(status);
+ }
+}
+
} // namespace Qt3DRender
QT_END_NAMESPACE
diff --git a/src/render/io/qsceneloader.h b/src/render/io/qsceneloader.h
index 0a42970f6..451848fff 100644
--- a/src/render/io/qsceneloader.h
+++ b/src/render/io/qsceneloader.h
@@ -40,22 +40,53 @@
#ifndef QT3DRENDER_QSCENELOADER_H
#define QT3DRENDER_QSCENELOADER_H
-#include <Qt3DRender/qabstractsceneloader.h>
+#include <Qt3DCore/qcomponent.h>
+#include <Qt3DCore/qscenechange.h>
+#include <Qt3DRender/qt3drender_global.h>
+#include <QUrl>
QT_BEGIN_NAMESPACE
namespace Qt3DRender {
-class QT3DRENDERSHARED_EXPORT QSceneLoader : public QAbstractSceneLoader
+class QSceneLoaderPrivate;
+
+class QT3DRENDERSHARED_EXPORT QSceneLoader : public Qt3DCore::QComponent
{
Q_OBJECT
+ Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
+ Q_PROPERTY(Status status READ status NOTIFY statusChanged)
public:
explicit QSceneLoader(Qt3DCore::QNode *parent = 0);
~QSceneLoader();
+
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change) Q_DECL_OVERRIDE;
+ enum Status {
+ None = 0,
+ Loading,
+ Ready,
+ Error
+ };
+ Q_ENUM(Status)
+
+ QUrl source() const;
+ Status status() const;
+
+public Q_SLOTS:
+ void setSource(const QUrl &arg);
+ void setStatus(Status status);
+
+Q_SIGNALS:
+ void sourceChanged(const QUrl &source);
+ void statusChanged(Status status);
protected:
QT3D_CLONEABLE(QSceneLoader)
+ QSceneLoader(QSceneLoaderPrivate &dd, Qt3DCore::QNode *parent = 0);
+ void copy(const Qt3DCore::QNode *ref) Q_DECL_OVERRIDE;
+
+private:
+ Q_DECLARE_PRIVATE(QSceneLoader)
};
} // namespace Qt3DRender
diff --git a/src/render/io/qabstractsceneloader_p.h b/src/render/io/qsceneloader_p.h
index ac0e4decf..f884feb75 100644
--- a/src/render/io/qabstractsceneloader_p.h
+++ b/src/render/io/qsceneloader_p.h
@@ -37,8 +37,8 @@
**
****************************************************************************/
-#ifndef QT3DRENDER_QABSTRACTSCENELOADER_P_H
-#define QT3DRENDER_QABSTRACTSCENELOADER_P_H
+#ifndef QT3DRENDER_QSCENELOADER_P_H
+#define QT3DRENDER_QSCENELOADER_P_H
//
// W A R N I N G
@@ -52,7 +52,7 @@
//
#include <private/qcomponent_p.h>
-#include <Qt3DRender/qabstractsceneloader.h>
+#include <Qt3DRender/qsceneloader.h>
QT_BEGIN_NAMESPACE
@@ -60,19 +60,19 @@ namespace Qt3DRender {
class QSceneIOHandler;
-class QAbstractSceneLoaderPrivate : public Qt3DCore::QComponentPrivate
+class QSceneLoaderPrivate : public Qt3DCore::QComponentPrivate
{
public:
- QAbstractSceneLoaderPrivate();
+ QSceneLoaderPrivate();
- Q_DECLARE_PUBLIC(QAbstractSceneLoader)
+ Q_DECLARE_PUBLIC(QSceneLoader)
QUrl m_source;
- QAbstractSceneLoader::Status m_status;
+ QSceneLoader::Status m_status;
};
} // namespace Qt3DRender
QT_END_NAMESPACE
-#endif // QT3DRENDER_QABSTRACTSCENE_P_H
+#endif // QT3DRENDER_QSCENELOADER_P_H
diff --git a/src/render/io/scene.cpp b/src/render/io/scene.cpp
index ccc425c01..1545fc4ff 100644
--- a/src/render/io/scene.cpp
+++ b/src/render/io/scene.cpp
@@ -43,7 +43,7 @@
#include <Qt3DCore/private/qnode_p.h>
#include <Qt3DCore/private/qscene_p.h>
#include <Qt3DCore/qbackendscenepropertychange.h>
-#include <Qt3DRender/qabstractsceneloader.h>
+#include <Qt3DRender/qsceneloader.h>
#include <Qt3DRender/private/scenemanager_p.h>
QT_BEGIN_NAMESPACE
@@ -61,7 +61,7 @@ Scene::Scene()
void Scene::updateFromPeer(Qt3DCore::QNode *peer)
{
- QAbstractSceneLoader *loader = static_cast<QAbstractSceneLoader *>(peer);
+ QSceneLoader *loader = static_cast<QSceneLoader *>(peer);
m_source = loader->source();
m_sceneManager->addSceneData(m_source, peerId());
@@ -93,7 +93,7 @@ void Scene::setSceneSubtree(Qt3DCore::QEntity *subTree)
notifyObservers(e);
QBackendScenePropertyChangePtr e2(new QBackendScenePropertyChange(NodeUpdated, peerId()));
e2->setPropertyName("status");
- e2->setValue(subTree != Q_NULLPTR ? QAbstractSceneLoader::Ready : QAbstractSceneLoader::Error);
+ e2->setValue(subTree != Q_NULLPTR ? QSceneLoader::Ready : QSceneLoader::Error);
e2->setTargetNode(peerId());
notifyObservers(e2);
}