From a89a2b8bc32c440ee5515911a4a120fe232111a9 Mon Sep 17 00:00:00 2001 From: Mike Krus Date: Tue, 11 Apr 2017 11:26:32 +0100 Subject: Add download service and use for remote meshes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a new QDownloadHelpService. Can be provided with QDownloadRequests which will trigger downloads and return the data in a QByteArray. Downloads are triggered in a separate thread and requests have the opportunity to do long running operations there (it will block other requests though). Implemented for downloading meshes. When the functor is triggered, it checks the url and submits a request for download. When that completes, it’ll save the data in the functor and mark the component as dirty that that a job will run again to complete the parsing. LATER (5.10): - status property, progress maybe Task-number: QTBUG-57614 Change-Id: I05abe9610e12670a368d480b2fb3115987201e6b Reviewed-by: Sean Harmer --- tests/auto/render/qmesh/tst_qmesh.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tests/auto/render/qmesh/tst_qmesh.cpp') diff --git a/tests/auto/render/qmesh/tst_qmesh.cpp b/tests/auto/render/qmesh/tst_qmesh.cpp index 2122d7eb5..a0278f4e4 100644 --- a/tests/auto/render/qmesh/tst_qmesh.cpp +++ b/tests/auto/render/qmesh/tst_qmesh.cpp @@ -121,7 +121,7 @@ private Q_SLOTS: const auto creationChangeData = qSharedPointerCast>(creationChanges.first()); const Qt3DRender::QGeometryRendererData cloneData = creationChangeData->data; - Qt3DRender::MeshFunctor meshFunctor(mesh.source(), mesh.meshName()); + Qt3DRender::MeshLoaderFunctor meshFunctor(&mesh, nullptr); QVERIFY(meshFunctor == *cloneData.geometryFactory); QCOMPARE(mesh.id(), creationChangeData->subjectId()); @@ -169,7 +169,7 @@ private Q_SLOTS: QCOMPARE(change->propertyName(), "geometryFactory"); QCOMPARE(change->type(), Qt3DCore::PropertyUpdated); - Qt3DRender::MeshFunctor meshFunctor(mesh.source()); + Qt3DRender::MeshLoaderFunctor meshFunctor(&mesh, nullptr); Qt3DRender::QGeometryFactoryPtr factory = change->value().value(); QVERIFY(meshFunctor == *factory); @@ -205,7 +205,7 @@ private Q_SLOTS: QCOMPARE(change->propertyName(), "geometryFactory"); QCOMPARE(change->type(), Qt3DCore::PropertyUpdated); - Qt3DRender::MeshFunctor meshFunctor(QUrl(), mesh.meshName()); + Qt3DRender::MeshLoaderFunctor meshFunctor(&mesh, nullptr); Qt3DRender::QGeometryFactoryPtr factory = change->value().value(); QVERIFY(meshFunctor == *factory); -- cgit v1.2.3