summaryrefslogtreecommitdiffstats
path: root/tests/auto/render/boundingsphere/tst_boundingsphere.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/render/boundingsphere/tst_boundingsphere.cpp')
-rw-r--r--tests/auto/render/boundingsphere/tst_boundingsphere.cpp57
1 files changed, 35 insertions, 22 deletions
diff --git a/tests/auto/render/boundingsphere/tst_boundingsphere.cpp b/tests/auto/render/boundingsphere/tst_boundingsphere.cpp
index 5f4f26d50..80298780a 100644
--- a/tests/auto/render/boundingsphere/tst_boundingsphere.cpp
+++ b/tests/auto/render/boundingsphere/tst_boundingsphere.cpp
@@ -55,7 +55,6 @@
#include <Qt3DRender/private/calcboundingvolumejob_p.h>
#include <Qt3DRender/private/calcgeometrytrianglevolumes_p.h>
#include <Qt3DRender/private/loadbufferjob_p.h>
-#include <Qt3DRender/private/updateentityhierarchyjob_p.h>
#include <Qt3DRender/private/buffermanager_p.h>
#include <Qt3DRender/private/geometryrenderermanager_p.h>
#include <Qt3DRender/private/sphere_p.h>
@@ -96,6 +95,23 @@ QVector<Qt3DCore::QNode *> getNodesForCreation(Qt3DCore::QNode *root)
return nodes;
}
+QVector<Qt3DCore::NodeTreeChange> nodeTreeChangesForNodes(const QVector<Qt3DCore::QNode *> nodes)
+{
+ QVector<Qt3DCore::NodeTreeChange> nodeTreeChanges;
+ nodeTreeChanges.reserve(nodes.size());
+
+ for (Qt3DCore::QNode *n : nodes) {
+ nodeTreeChanges.push_back({
+ n->id(),
+ Qt3DCore::QNodePrivate::get(n)->m_typeInfo,
+ Qt3DCore::NodeTreeChange::Added,
+ n
+ });
+ }
+
+ return nodeTreeChanges;
+}
+
class TestAspect : public Qt3DRender::QRenderAspect
{
public:
@@ -106,7 +122,8 @@ public:
QRenderAspect::onRegistered();
const QVector<Qt3DCore::QNode *> nodes = getNodesForCreation(root);
- d_func()->setRootAndCreateNodes(qobject_cast<Qt3DCore::QEntity *>(root), nodes);
+ const QVector<Qt3DCore::NodeTreeChange> nodeTreeChanges = nodeTreeChangesForNodes(nodes);
+ d_func()->setRootAndCreateNodes(qobject_cast<Qt3DCore::QEntity *>(root), nodeTreeChanges);
Render::Entity *rootEntity = nodeManagers()->lookupResource<Render::Entity, Render::EntityManager>(rootEntityId());
Q_ASSERT(rootEntity);
@@ -139,10 +156,6 @@ namespace {
void runRequiredJobs(Qt3DRender::TestAspect *test)
{
- Qt3DRender::Render::UpdateEntityHierarchyJob updateEntitiesJob;
- updateEntitiesJob.setManager(test->nodeManagers());
- updateEntitiesJob.run();
-
Qt3DRender::Render::UpdateWorldTransformJob updateWorldTransform;
updateWorldTransform.setRoot(test->sceneRoot());
updateWorldTransform.setManagers(test->nodeManagers());
@@ -296,13 +309,13 @@ private Q_SLOTS:
Qt3DRender::Render::Buffer *vbufferBackend = test->nodeManagers()->bufferManager()->getOrCreateResource(vbuffer->id());
vbufferBackend->setRenderer(test->renderer());
vbufferBackend->setManager(test->nodeManagers()->bufferManager());
- simulateInitialization(vbuffer, vbufferBackend);
+ simulateInitializationSync(vbuffer, vbufferBackend);
ibuffer->setData(idata);
Qt3DRender::Render::Buffer *ibufferBackend = test->nodeManagers()->bufferManager()->getOrCreateResource(ibuffer->id());
ibufferBackend->setRenderer(test->renderer());
ibufferBackend->setManager(test->nodeManagers()->bufferManager());
- simulateInitialization(ibuffer, ibufferBackend);
+ simulateInitializationSync(ibuffer, ibufferBackend);
Qt3DRender::QGeometry *g = new Qt3DRender::QGeometry;
for (int i = 0; i < 2; ++i)
@@ -336,23 +349,23 @@ private Q_SLOTS:
Qt3DRender::Render::Attribute *attr0Backend = test->nodeManagers()->attributeManager()->getOrCreateResource(attrs[0]->id());
attr0Backend->setRenderer(test->renderer());
- simulateInitialization(attrs[0], attr0Backend);
+ simulateInitializationSync(attrs[0], attr0Backend);
Qt3DRender::Render::Attribute *attr1Backend = test->nodeManagers()->attributeManager()->getOrCreateResource(attrs[1]->id());
attr1Backend->setRenderer(test->renderer());
- simulateInitialization(attrs[1], attr1Backend);
+ simulateInitializationSync(attrs[1], attr1Backend);
Qt3DRender::Render::Geometry *gBackend = test->nodeManagers()->geometryManager()->getOrCreateResource(g->id());
gBackend->setRenderer(test->renderer());
- simulateInitialization(g, gBackend);
+ simulateInitializationSync(g, gBackend);
Qt3DRender::Render::GeometryRenderer *grBackend = test->nodeManagers()->geometryRendererManager()->getOrCreateResource(gr->id());
grBackend->setRenderer(test->renderer());
grBackend->setManager(test->nodeManagers()->geometryRendererManager());
- simulateInitialization(gr, grBackend);
+ simulateInitializationSync(gr, grBackend);
Qt3DRender::Render::Entity *entityBackend = test->nodeManagers()->renderNodesManager()->getOrCreateResource(entity->id());
entityBackend->setRenderer(test->renderer());
- simulateInitialization(entity.data(), entityBackend);
+ simulateInitializationSync(entity.data(), entityBackend);
Qt3DRender::Render::CalculateBoundingVolumeJob calcBVolume;
calcBVolume.setManagers(test->nodeManagers());
@@ -364,10 +377,10 @@ private Q_SLOTS:
qDebug() << radius << center;
// truncate and compare integers only
- QVERIFY(int(radius) == int(expectedRadius));
- QVERIFY(int(center.x()) == int(expectedCenter.x()));
- QVERIFY(int(center.y()) == int(expectedCenter.y()));
- QVERIFY(int(center.z()) == int(expectedCenter.z()));
+ QCOMPARE(int(radius), int(expectedRadius));
+ QCOMPARE(int(center.x()), int(expectedCenter.x()));
+ QCOMPARE(int(center.y()), int(expectedCenter.y()));
+ QCOMPARE(int(center.z()), int(expectedCenter.z()));
}
void checkCustomPackedGeometry()
@@ -408,7 +421,7 @@ private Q_SLOTS:
Qt3DRender::Render::Buffer *vbufferBackend = test->nodeManagers()->bufferManager()->getOrCreateResource(vbuffer->id());
vbufferBackend->setRenderer(test->renderer());
vbufferBackend->setManager(test->nodeManagers()->bufferManager());
- simulateInitialization(vbuffer, vbufferBackend);
+ simulateInitializationSync(vbuffer, vbufferBackend);
Qt3DRender::QGeometry *g = new Qt3DRender::QGeometry;
g->addAttribute(new Qt3DRender::QAttribute);
@@ -430,20 +443,20 @@ private Q_SLOTS:
Qt3DRender::Render::Attribute *attr0Backend = test->nodeManagers()->attributeManager()->getOrCreateResource(attrs[0]->id());
attr0Backend->setRenderer(test->renderer());
- simulateInitialization(attrs[0], attr0Backend);
+ simulateInitializationSync(attrs[0], attr0Backend);
Qt3DRender::Render::Geometry *gBackend = test->nodeManagers()->geometryManager()->getOrCreateResource(g->id());
gBackend->setRenderer(test->renderer());
- simulateInitialization(g, gBackend);
+ simulateInitializationSync(g, gBackend);
Qt3DRender::Render::GeometryRenderer *grBackend = test->nodeManagers()->geometryRendererManager()->getOrCreateResource(gr->id());
grBackend->setRenderer(test->renderer());
grBackend->setManager(test->nodeManagers()->geometryRendererManager());
- simulateInitialization(gr, grBackend);
+ simulateInitializationSync(gr, grBackend);
Qt3DRender::Render::Entity *entityBackend = test->nodeManagers()->renderNodesManager()->getOrCreateResource(entity->id());
entityBackend->setRenderer(test->renderer());
- simulateInitialization(entity.data(), entityBackend);
+ simulateInitializationSync(entity.data(), entityBackend);
Qt3DRender::Render::CalculateBoundingVolumeJob calcBVolume;
calcBVolume.setManagers(test->nodeManagers());