summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-08-06 14:36:42 +0200
committerPaul Lemire <paul.lemire@kdab.com>2015-08-07 19:42:30 +0000
commitac359858c6dc71cd1f09fb4fb6ff11c945190cb5 (patch)
treeec3cb7144b4289ec3601d208c8c4e06e96b39cda
parentff868c5430891d166dc2098641f9d1e48246fced (diff)
RenderMesh removed, replaced by RenderGeometryRenderer
Change-Id: If049768730a0f3aad3ea2b4f5cda2808f4035726 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/render/backend/handle_types_p.h2
-rw-r--r--src/render/backend/jobs/framepreparationjob.cpp24
-rw-r--r--src/render/backend/jobs/loadmeshdatajob.cpp2
-rw-r--r--src/render/backend/managers_p.h13
-rw-r--r--src/render/backend/meshdatamanager_p.h1
-rw-r--r--src/render/backend/qrenderaspect.cpp2
-rw-r--r--src/render/backend/render-backend.pri2
-rw-r--r--src/render/backend/renderentity.cpp15
-rw-r--r--src/render/backend/renderentity_p.h15
-rw-r--r--src/render/backend/renderer.cpp2
-rw-r--r--src/render/backend/renderer_p.h3
-rw-r--r--src/render/backend/rendermesh.cpp170
-rw-r--r--src/render/backend/rendermesh_p.h112
-rw-r--r--tests/auto/render/renderentity/tst_renderentity.cpp7
14 files changed, 20 insertions, 350 deletions
diff --git a/src/render/backend/handle_types_p.h b/src/render/backend/handle_types_p.h
index a7d79a06b..5a53e43b9 100644
--- a/src/render/backend/handle_types_p.h
+++ b/src/render/backend/handle_types_p.h
@@ -65,7 +65,6 @@ class SortCriterion;
class RenderTechnique;
class RenderTexture;
class RenderTransform;
-class RenderMesh;
class RenderTarget;
class RenderRenderPass;
class RenderParameter;
@@ -93,7 +92,6 @@ typedef QHandle<SortCriterion, 8> HSortCriterion;
typedef QHandle<RenderTechnique, 16> HTechnique;
typedef QHandle<RenderTexture, 16> HTexture;
typedef QHandle<RenderTransform, 16> HTransform;
-typedef QHandle<RenderMesh, 16> HMesh;
typedef QHandle<RenderTarget, 8> HTarget;
typedef QHandle<RenderRenderPass, 16> HRenderPass;
typedef QHandle<TexImageData, 16> HTextureData;
diff --git a/src/render/backend/jobs/framepreparationjob.cpp b/src/render/backend/jobs/framepreparationjob.cpp
index 3a77ec67f..5c817f068 100644
--- a/src/render/backend/jobs/framepreparationjob.cpp
+++ b/src/render/backend/jobs/framepreparationjob.cpp
@@ -37,7 +37,6 @@
#include "framepreparationjob_p.h"
#include <Qt3DRenderer/private/renderer_p.h>
#include <Qt3DRenderer/private/renderentity_p.h>
-#include <Qt3DRenderer/private/rendermesh_p.h>
#include <Qt3DRenderer/private/rendershaderdata_p.h>
#include <Qt3DRenderer/qmeshdata.h>
#include <Qt3DRenderer/sphere.h>
@@ -67,18 +66,19 @@ void FramePreparationJob::run()
void FramePreparationJob::parseNodeTree(RenderEntity *node)
{
// Initialize worldBoundingVolume if Mesh associated
- Qt3D::Render::RenderMesh *mesh = Q_NULLPTR;
+ Qt3D::Render::RenderGeometryRenderer *mesh = Q_NULLPTR;
if ((node->localBoundingVolume()->isNull())
- && (mesh = node->renderComponent<RenderMesh>()) != Q_NULLPTR) {
- if (!mesh->meshDataHandle().isNull()) {
- Qt3D::QMeshData *meshData = mesh->meshData();
- if (meshData != Q_NULLPTR) {
- const QAxisAlignedBoundingBox box = meshData->boundingBox();
- node->localBoundingVolume()->setCenter(box.center());
- const QVector3D &radii = box.radii();
- node->localBoundingVolume()->setRadius(qMax(radii.x(), qMax(radii.y(), radii.z())));
- }
- }
+ && (mesh = node->renderComponent<RenderGeometryRenderer>()) != Q_NULLPTR) {
+ // if (!mesh->meshDataHandle().isNull()) {
+ // Qt3D::QMeshData *meshData = mesh->meshData();
+ // if (meshData != Q_NULLPTR) {
+ // const QAxisAlignedBoundingBox box = meshData->boundingBox();
+ // node->localBoundingVolume()->setCenter(box.center());
+ // const QVector3D &radii = box.radii();
+ // node->localBoundingVolume()->setRadius(qMax(radii.x(), qMax(radii.y(), radii.z())));
+ // }
+ // }
+ // TO DO: Make that work with the GeometryRenderer
}
// Update transform properties in RenderShaderData
diff --git a/src/render/backend/jobs/loadmeshdatajob.cpp b/src/render/backend/jobs/loadmeshdatajob.cpp
index 5bc54ee48..93c3aea7d 100644
--- a/src/render/backend/jobs/loadmeshdatajob.cpp
+++ b/src/render/backend/jobs/loadmeshdatajob.cpp
@@ -87,7 +87,7 @@ void LoadMeshDataJob::run()
qCWarning(Jobs) << Q_FUNC_INFO << "unknown attribute: position";
}
lock.relock();
- m_renderer->meshManager()->lookupResource(m_meshUuid)->setMeshData(meshDataHandle);
+// m_renderer->meshManager()->lookupResource(m_meshUuid)->setMeshData(meshDataHandle);
}
} // namespace Render
diff --git a/src/render/backend/managers_p.h b/src/render/backend/managers_p.h
index d212296f2..7dc7405ff 100644
--- a/src/render/backend/managers_p.h
+++ b/src/render/backend/managers_p.h
@@ -45,7 +45,6 @@
#include <Qt3DRenderer/private/renderentity_p.h>
#include <Qt3DRenderer/private/renderlayer_p.h>
#include <Qt3DRenderer/private/rendermaterial_p.h>
-#include <Qt3DRenderer/private/rendermesh_p.h>
#include <Qt3DRenderer/private/rendershader_p.h>
#include <Qt3DRenderer/private/sortcriterion_p.h>
#include <Qt3DRenderer/private/rendertechnique_p.h>
@@ -157,17 +156,6 @@ public:
MatrixManager() {}
};
-class MeshManager : public QResourceManager<
- RenderMesh,
- QNodeId,
- 16,
- Qt3D::ArrayAllocatingPolicy,
- Qt3D::ObjectLevelLockingPolicy>
-{
-public:
- MeshManager() {}
-};
-
class ShaderManager : public QResourceManager<
RenderShader,
QNodeId,
@@ -320,7 +308,6 @@ Q_DECLARE_RESOURCE_INFO(Render::RenderEffect, Q_REQUIRES_CLEANUP);
Q_DECLARE_RESOURCE_INFO(Render::RenderEntity, Q_REQUIRES_CLEANUP);
Q_DECLARE_RESOURCE_INFO(Render::RenderLayer, Q_REQUIRES_CLEANUP);
Q_DECLARE_RESOURCE_INFO(Render::RenderMaterial, Q_REQUIRES_CLEANUP);
-Q_DECLARE_RESOURCE_INFO(Render::RenderMesh, Q_REQUIRES_CLEANUP);
Q_DECLARE_RESOURCE_INFO(Render::RenderShader, Q_REQUIRES_CLEANUP);
Q_DECLARE_RESOURCE_INFO(Render::SortCriterion, Q_REQUIRES_CLEANUP);
Q_DECLARE_RESOURCE_INFO(Render::RenderTarget, Q_REQUIRES_CLEANUP);
diff --git a/src/render/backend/meshdatamanager_p.h b/src/render/backend/meshdatamanager_p.h
index 5a2e75422..4c4e54a9c 100644
--- a/src/render/backend/meshdatamanager_p.h
+++ b/src/render/backend/meshdatamanager_p.h
@@ -39,7 +39,6 @@
#include <Qt3DRenderer/qabstractmesh.h>
#include <Qt3DRenderer/qmeshdata.h>
-#include <Qt3DRenderer/private/rendermesh_p.h>
#include <Qt3DRenderer/private/handle_types_p.h>
#include <Qt3DCore/private/qresourcemanager_p.h>
diff --git a/src/render/backend/qrenderaspect.cpp b/src/render/backend/qrenderaspect.cpp
index 4d59dacc1..af1284b81 100644
--- a/src/render/backend/qrenderaspect.cpp
+++ b/src/render/backend/qrenderaspect.cpp
@@ -37,7 +37,6 @@
#include "qrenderaspect.h"
#include "qrenderaspect_p.h"
-#include <Qt3DRenderer/private/rendermesh_p.h>
#include <Qt3DRenderer/private/meshdatamanager_p.h>
#include <Qt3DRenderer/private/texturedatamanager_p.h>
#include <Qt3DRenderer/private/renderer_p.h>
@@ -213,7 +212,6 @@ void QRenderAspect::registerBackendTypes()
registerBackendType<QAnnotation>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderAnnotation, Render::CriterionManager>(d->m_renderer->criterionManager())));
registerBackendType<QCameraLens>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderCameraLens, Render::CameraManager>(d->m_renderer->cameraManager())));
registerBackendType<QLayer>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderLayer, Render::LayerManager>(d->m_renderer->layerManager())));
- registerBackendType<QAbstractMesh>(QBackendNodeFunctorPtr(new Render::RenderMeshCreatorFunctor(d->m_renderer->meshManager(), d->m_renderer->meshDataManager())));
registerBackendType<QRenderPass>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderRenderPass, Render::RenderPassManager>(d->m_renderer->renderPassManager())));
registerBackendType<Render::QAbstractSceneLoader>(QBackendNodeFunctorPtr(new Render::RenderSceneFunctor(d->m_renderer->sceneManager())));
registerBackendType<QRenderTarget>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderTarget, Render::RenderTargetManager>(d->m_renderer->renderTargetManager())));
diff --git a/src/render/backend/render-backend.pri b/src/render/backend/render-backend.pri
index 8c0d82614..04b4e24c8 100644
--- a/src/render/backend/render-backend.pri
+++ b/src/render/backend/render-backend.pri
@@ -10,7 +10,6 @@ HEADERS += \
$$PWD/renderconfiguration_p.h \
$$PWD/renderer_p.h \
$$PWD/rendermaterial_p.h \
- $$PWD/rendermesh_p.h \
$$PWD/qgraphicscontext_p.h \
$$PWD/rendershader_p.h \
$$PWD/rendertechnique_p.h \
@@ -65,7 +64,6 @@ SOURCES += \
$$PWD/renderconfiguration.cpp \
$$PWD/renderer.cpp \
$$PWD/rendermaterial.cpp \
- $$PWD/rendermesh.cpp \
$$PWD/qgraphicscontext.cpp \
$$PWD/rendershader.cpp \
$$PWD/rendertechnique.cpp \
diff --git a/src/render/backend/renderentity.cpp b/src/render/backend/renderentity.cpp
index 1de9fbc34..3ac0e4692 100644
--- a/src/render/backend/renderentity.cpp
+++ b/src/render/backend/renderentity.cpp
@@ -276,18 +276,6 @@ void RenderEntity::removeComponent(const QNodeId &nodeId)
}
template<>
-HMesh RenderEntity::componentHandle<RenderMesh>() const
-{
- return m_renderer->meshManager()->lookupHandle(m_meshComponent);
-}
-
-template<>
-RenderMesh *RenderEntity::renderComponent<RenderMesh>() const
-{
- return m_renderer->meshManager()->lookupResource(m_meshComponent);
-}
-
-template<>
HMaterial RenderEntity::componentHandle<RenderMaterial>() const
{
return m_renderer->materialManager()->lookupHandle(m_materialComponent);
@@ -345,9 +333,6 @@ template<>
QNodeId RenderEntity::componentUuid<RenderMaterial>() const { return m_materialComponent; }
template<>
-QNodeId RenderEntity::componentUuid<RenderMesh>() const { return m_meshComponent; }
-
-template<>
QList<HLayer> RenderEntity::componentsHandle<RenderLayer>() const
{
QList<HLayer> layerHandles;
diff --git a/src/render/backend/renderentity_p.h b/src/render/backend/renderentity_p.h
index a6e9fd39d..ec0837e02 100644
--- a/src/render/backend/renderentity_p.h
+++ b/src/render/backend/renderentity_p.h
@@ -164,12 +164,6 @@ private:
};
template<>
-HMesh RenderEntity::componentHandle<RenderMesh>() const;
-
-template<>
-RenderMesh *RenderEntity::renderComponent<RenderMesh>() const;
-
-template<>
HMaterial RenderEntity::componentHandle<RenderMaterial>() const;
template<>
@@ -188,10 +182,10 @@ template<>
RenderTransform *RenderEntity::renderComponent<RenderTransform>() const;
template<>
-HGeometryRenderer RenderEntity::componentHandle<RenderGeometryRenderer>() const;
+Q_AUTOTEST_EXPORT HGeometryRenderer RenderEntity::componentHandle<RenderGeometryRenderer>() const;
template<>
-RenderGeometryRenderer *RenderEntity::renderComponent<RenderGeometryRenderer>() const;
+Q_AUTOTEST_EXPORT RenderGeometryRenderer *RenderEntity::renderComponent<RenderGeometryRenderer>() const;
template<>
Q_AUTOTEST_EXPORT QNodeId RenderEntity::componentUuid<RenderTransform>() const;
@@ -203,9 +197,6 @@ template<>
Q_AUTOTEST_EXPORT QNodeId RenderEntity::componentUuid<RenderMaterial>() const;
template<>
-Q_AUTOTEST_EXPORT QNodeId RenderEntity::componentUuid<RenderMesh>() const;
-
-template<>
QList<HLayer> RenderEntity::componentsHandle<RenderLayer>() const;
template<>
@@ -224,7 +215,7 @@ template<>
Q_AUTOTEST_EXPORT QList<QNodeId> RenderEntity::componentsUuid<RenderShaderData>() const;
template<>
-QNodeId RenderEntity::componentUuid<RenderGeometryRenderer>() const;
+Q_AUTOTEST_EXPORT QNodeId RenderEntity::componentUuid<RenderGeometryRenderer>() const;
class RenderEntityFunctor : public QBackendNodeFunctor
{
diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp
index 7df5cbfc4..adf388027 100644
--- a/src/render/backend/renderer.cpp
+++ b/src/render/backend/renderer.cpp
@@ -60,7 +60,6 @@
#include <Qt3DRenderer/private/renderentity_p.h>
#include <Qt3DRenderer/private/renderlogging_p.h>
#include <Qt3DRenderer/private/rendermaterial_p.h>
-#include <Qt3DRenderer/private/rendermesh_p.h>
#include <Qt3DRenderer/private/renderpassfilternode_p.h>
#include <Qt3DRenderer/private/renderqueue_p.h>
#include <Qt3DRenderer/private/rendershader_p.h>
@@ -135,7 +134,6 @@ Renderer::Renderer(QRenderAspect::RenderType type)
, m_graphicsContext(Q_NULLPTR)
, m_surface(Q_NULLPTR)
, m_meshDataManager(new MeshDataManager())
- , m_meshManager(new MeshManager())
, m_cameraManager(new CameraManager())
, m_renderNodesManager(new EntityManager())
, m_materialManager(new MaterialManager())
diff --git a/src/render/backend/renderer_p.h b/src/render/backend/renderer_p.h
index 9e1ba5b63..a5350fac1 100644
--- a/src/render/backend/renderer_p.h
+++ b/src/render/backend/renderer_p.h
@@ -86,7 +86,6 @@ class RenderTechnique;
class RenderShader;
class RenderEntity;
class MeshDataManager;
-class MeshManager;
class RenderCommand;
class CameraManager;
class EntityManager;
@@ -157,7 +156,6 @@ public:
void addAllocator(QFrameAllocator *allocator);
inline MeshDataManager *meshDataManager() const { return m_meshDataManager; }
- inline MeshManager *meshManager() const { return m_meshManager; }
inline CameraManager *cameraManager() const { return m_cameraManager; }
inline EntityManager *renderNodesManager() const { return m_renderNodesManager; }
inline MaterialManager *materialManager() const { return m_materialManager; }
@@ -240,7 +238,6 @@ private:
QScopedPointer<QGraphicsContext> m_graphicsContext;
QSurface *m_surface;
MeshDataManager *m_meshDataManager;
- MeshManager *m_meshManager;
CameraManager *m_cameraManager;
EntityManager *m_renderNodesManager;
MaterialManager *m_materialManager;
diff --git a/src/render/backend/rendermesh.cpp b/src/render/backend/rendermesh.cpp
deleted file mode 100644
index 839de8853..000000000
--- a/src/render/backend/rendermesh.cpp
+++ /dev/null
@@ -1,170 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
-** Copyright (C) 2015 The Qt Company Ltd and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** 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 http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://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.LGPLv3 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.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 later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "rendermesh_p.h"
-#include "meshdatamanager_p.h"
-#include "qmesh.h"
-
-#include <Qt3DRenderer/private/qgraphicscontext_p.h>
-#include <Qt3DRenderer/private/managers_p.h>
-#include <Qt3DRenderer/qmeshdata.h>
-#include <Qt3DCore/qscenepropertychange.h>
-
-#include <QOpenGLContext>
-#include <QOpenGLShaderProgram>
-#include <QReadWriteLock>
-#include <QReadLocker>
-#include <QWriteLocker>
-
-QT_BEGIN_NAMESPACE
-
-namespace Qt3D {
-namespace Render {
-
-/*!
- * \class RenderMesh
- * \internal
- *
- * Monitor a frontend Mesh for source changes. If the source is changed,
- * the QMeshData returned is either a valid QMeshData corresponding to the source
- * or null if the new QMeshData hasn't been loaded. If this is the case the meshDirty
- * flag is set to true.
- *
- * \sa QMeshData
- */
-
-RenderMesh::RenderMesh()
- : QBackendNode()
- , m_meshDirty(true)
- , m_meshDataManager(Q_NULLPTR)
- , m_enabled(true)
-{
-}
-
-RenderMesh::~RenderMesh()
-{
- cleanup();
-}
-
-void RenderMesh::cleanup()
-{
-}
-
-void RenderMesh::updateFromPeer(QNode *peer)
-{
- QAbstractMesh *mesh = static_cast<QAbstractMesh *>(peer);
- m_meshDirty = true;
- m_enabled = mesh->isEnabled();
- setMeshFunctor(mesh->meshFunctor());
-}
-
-void RenderMesh::sceneChangeEvent(const QSceneChangePtr &e)
-{
- switch (e->type()) {
- case NodeUpdated: {
- QScenePropertyChangePtr propertyChange = qSharedPointerCast<QScenePropertyChange>(e);
- if (propertyChange->propertyName() == QByteArrayLiteral("meshFunctor")) // Mesh with source
- setMeshFunctor(propertyChange->value().value<QAbstractMeshFunctorPtr>());
- else if (propertyChange->propertyName() == QByteArrayLiteral("enabled"))
- m_enabled = propertyChange->value().toBool();
- break;
- }
-
- default:
- break;
- }
-}
-
-QMeshData *RenderMesh::meshData() const
-{
- Q_ASSERT(m_meshDataManager);
- return m_meshDataManager->data(m_meshDataHandle);
-}
-
-HMeshData RenderMesh::meshDataHandle() const
-{
- return m_meshDataHandle;
-}
-
-void RenderMesh::setMeshData(HMeshData handle)
-{
- m_meshDataHandle = handle;
-}
-
-void RenderMesh::setMeshDataManager(MeshDataManager *manager)
-{
- if (m_meshDataManager != manager)
- m_meshDataManager = manager;
-}
-
-void RenderMesh::setMeshFunctor(QAbstractMeshFunctorPtr functor)
-{
- if (m_functor != functor) {
- m_functor = functor;
- m_meshDataManager->addMeshData(m_functor, peerUuid());
- }
-}
-
-RenderMeshCreatorFunctor::RenderMeshCreatorFunctor(MeshManager *meshManager, MeshDataManager *meshDataManager)
- : m_meshManager(meshManager)
- , m_meshDataManager(meshDataManager)
-{
-}
-
-QBackendNode *RenderMeshCreatorFunctor::create(QNode *frontend, const QBackendNodeFactory *factory) const
-{
- RenderMesh *mesh = m_meshManager->getOrCreateResource(frontend->id());
- mesh->setFactory(factory);
- mesh->setMeshDataManager(m_meshDataManager);
- mesh->setPeer(frontend);
- return mesh;
-}
-
-QBackendNode *RenderMeshCreatorFunctor::get(const QNodeId &id) const
-{
- return m_meshManager->lookupResource(id);
-}
-
-void RenderMeshCreatorFunctor::destroy(const QNodeId &id) const
-{
- m_meshManager->releaseResource(id);
-}
-
-} // Render
-} // Qt3D
-
-QT_END_NAMESPACE
diff --git a/src/render/backend/rendermesh_p.h b/src/render/backend/rendermesh_p.h
deleted file mode 100644
index 600c141a8..000000000
--- a/src/render/backend/rendermesh_p.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** 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 http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://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.LGPLv3 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.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 later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT3D_RENDER_RENDERMESH_H
-#define QT3D_RENDER_RENDERMESH_H
-
-#include <Qt3DCore/qaxisalignedboundingbox.h>
-#include <Qt3DRenderer/private/handle_types_p.h>
-#include <Qt3DCore/qbackendnode.h>
-
-QT_BEGIN_NAMESPACE
-
-class QReadWriteLock;
-
-namespace Qt3D {
-
-class QAbstractMesh;
-class QAbstractMeshFunctor;
-class QRenderPass;
-class QMeshData;
-
-typedef QSharedPointer<QAbstractMeshFunctor> QAbstractMeshFunctorPtr;
-
-namespace Render {
-
-class MeshManager;
-class MeshDataManager;
-class RenderEntity;
-class RenderMaterial;
-class RenderTechnique;
-
-class Q_AUTOTEST_EXPORT RenderMesh : public QBackendNode
-{
-public:
- RenderMesh();
- ~RenderMesh();
- void cleanup();
-
- void updateFromPeer(QNode *peer) Q_DECL_OVERRIDE;
-
- void sceneChangeEvent(const QSceneChangePtr &e) Q_DECL_OVERRIDE;
- HMeshData meshDataHandle() const;
- QMeshData *meshData() const;
- void setMeshData(HMeshData handle);
- void setMeshDataManager(MeshDataManager *manager);
-
- QAbstractMeshFunctorPtr meshFunctor() const { return m_functor; }
- inline bool isEnabled() const { return m_enabled; }
-
-private:
- QAbstractMeshFunctorPtr m_functor;
-
- bool m_meshDirty;
- HMeshData m_meshDataHandle;
- MeshDataManager *m_meshDataManager;
- bool m_enabled;
-
- void setMeshFunctor(QAbstractMeshFunctorPtr);
-};
-
-class RenderMeshCreatorFunctor : public QBackendNodeFunctor
-{
-public:
- explicit RenderMeshCreatorFunctor(MeshManager *meshManager, MeshDataManager *meshDataManager);
- QBackendNode *create(QNode *frontend, const QBackendNodeFactory *factory) const Q_DECL_OVERRIDE;
- QBackendNode *get(const QNodeId &id) const Q_DECL_OVERRIDE;
- void destroy(const QNodeId &id) const Q_DECL_OVERRIDE;
-
-private:
- MeshManager *m_meshManager;
- MeshDataManager *m_meshDataManager;
-};
-
-} // Render
-} // Qt3D
-
-QT_END_NAMESPACE
-
-#endif // QT3D_RENDER_RENDERMESH_H
diff --git a/tests/auto/render/renderentity/tst_renderentity.cpp b/tests/auto/render/renderentity/tst_renderentity.cpp
index 0a5460b03..f6ba098d6 100644
--- a/tests/auto/render/renderentity/tst_renderentity.cpp
+++ b/tests/auto/render/renderentity/tst_renderentity.cpp
@@ -45,6 +45,7 @@
#include <Qt3DRenderer/QMaterial>
#include <Qt3DRenderer/QLayer>
#include <Qt3DRenderer/QShaderData>
+#include <Qt3DRenderer/QGeometryRenderer>
typedef Qt3D::QNodeId (*UuidMethod)(Qt3D::Render::RenderEntity *);
typedef QList<Qt3D::QNodeId> (*UuidListMethod)(Qt3D::Render::RenderEntity *);
@@ -56,9 +57,9 @@ void noopDeleter(QNode *) {}
QNodeId transformUuid(RenderEntity *entity) { return entity->componentUuid<RenderTransform>(); }
-QNodeId meshUuid(RenderEntity *entity) { return entity->componentUuid<RenderMesh>(); }
QNodeId cameraLensUuid(RenderEntity *entity) { return entity->componentUuid<RenderCameraLens>(); }
QNodeId materialUuid(RenderEntity *entity) { return entity->componentUuid<RenderMaterial>(); }
+QNodeId geometryRendererUuid(RenderEntity *entity) { return entity->componentUuid<RenderGeometryRenderer>(); }
QList<QNodeId> layersUuid(RenderEntity *entity) { return entity->componentsUuid<RenderLayer>(); }
QList<QNodeId> shadersUuid(RenderEntity *entity) { return entity->componentsUuid<RenderShaderData>(); }
@@ -79,8 +80,8 @@ private slots:
QComponent *component = new Qt3D::QTransform;
QTest::newRow("transform") << component << reinterpret_cast<void*>(transformUuid);
- component = new QMesh;
- QTest::newRow("mesh") << component << reinterpret_cast<void*>(meshUuid);
+ component = new QGeometryRenderer;
+ QTest::newRow("mesh") << component << reinterpret_cast<void*>(geometryRendererUuid);
component = new QCameraLens;
QTest::newRow("camera lens") << component << reinterpret_cast<void*>(cameraLensUuid);