diff options
Diffstat (limited to 'tests/auto/render/boundingsphere/tst_boundingsphere.cpp')
-rw-r--r-- | tests/auto/render/boundingsphere/tst_boundingsphere.cpp | 57 |
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()); |