summaryrefslogtreecommitdiffstats
path: root/tests/auto/render
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2022-06-13 10:40:40 +0200
committerPaul Lemire <paul.lemire@kdab.com>2022-06-13 13:53:26 +0200
commitdbe025fb6834be267adf75dfb871df9ae0f8970d (patch)
tree0c428806fef6cd453d4edd10d4db48c1ecc6fa56 /tests/auto/render
parent701dee095808ec2aad919dd1cbc5bbde7fe11ed0 (diff)
CalcBoundingVolumeJob: don't rely on QChangeArbiter for extent changes
Relying on sync messages is deprecated, CalcBoundingVolumeJob appears to have slipped through when we updated all the other classes. CalcBoundingVolumeJob has therefore been updated to use the postFrame and directly update the frontend Geometry nodes. Note: Qt 3D on Qt6 is correct. Change-Id: I2257bc157474efac8190d763ea7dc331a1d69a86 Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'tests/auto/render')
-rw-r--r--tests/auto/render/geometry/tst_geometry.cpp10
-rw-r--r--tests/auto/render/qgeometry/tst_qgeometry.cpp25
2 files changed, 13 insertions, 22 deletions
diff --git a/tests/auto/render/geometry/tst_geometry.cpp b/tests/auto/render/geometry/tst_geometry.cpp
index a13f6fa40..4e7a94c42 100644
--- a/tests/auto/render/geometry/tst_geometry.cpp
+++ b/tests/auto/render/geometry/tst_geometry.cpp
@@ -204,16 +204,12 @@ private Q_SLOTS:
// WHEN
renderGeometry.updateExtent(QVector3D(-1.0f, -1.0f, -1.0f), QVector3D(1.0f, 1.0f, 1.0f));
- renderGeometry.notifyExtentChanged();
// THEN
- QCOMPARE(arbiter.events.count(), 1);
+ QCOMPARE(arbiter.dirtyNodes.count(), 0);
- Qt3DCore::QPropertyUpdatedChangePtr change = arbiter.events.first().staticCast<Qt3DCore::QPropertyUpdatedChange>();
- QCOMPARE(change->propertyName(), "extent");
- const QPair<QVector3D, QVector3D> v = change->value().value<QPair<QVector3D, QVector3D>>();
- QCOMPARE(v.first, QVector3D(-1.0f, -1.0f, -1.0f));
- QCOMPARE(v.second, QVector3D(1.0f, 1.0f, 1.0f));
+ QCOMPARE(renderGeometry.min(), QVector3D(-1.0f, -1.0f, -1.0f));
+ QCOMPARE(renderGeometry.max(), QVector3D(1.0f, 1.0f, 1.0f));
arbiter.events.clear();
}
diff --git a/tests/auto/render/qgeometry/tst_qgeometry.cpp b/tests/auto/render/qgeometry/tst_qgeometry.cpp
index e790ba9cc..b2c66ae72 100644
--- a/tests/auto/render/qgeometry/tst_qgeometry.cpp
+++ b/tests/auto/render/qgeometry/tst_qgeometry.cpp
@@ -208,31 +208,26 @@ private Q_SLOTS:
QCOMPARE(geometry->maxExtent(), QVector3D());
// WHEN
- Qt3DCore::QPropertyUpdatedChangePtr valueChange(new Qt3DCore::QPropertyUpdatedChange(Qt3DCore::QNodeId()));
- valueChange->setPropertyName("extent");
- valueChange->setValue(QVariant::fromValue(QPair<QVector3D, QVector3D>(QVector3D(10.0f, 10.f, 10.0f),
- QVector3D())));
- geometry->sceneChangeEvent(valueChange);
+ auto dNode = static_cast<Qt3DRender::QGeometryPrivate *>(Qt3DCore::QNodePrivate::get(geometry.data()));
+ const QVector3D minExt(-1.0f, -1.0f, -1.0f);
+ const QVector3D maxExt(1.0f, 1.0f, 1.0f);
+ dNode->setExtent(minExt, maxExt);
// THEN
QCOMPARE(spyMinExtent.count(), 1);
- QCOMPARE(spyMaxExtent.count(), 0);
- QCOMPARE(geometry->minExtent(), QVector3D(10.0f, 10.0f, 10.0f));
+ QCOMPARE(spyMaxExtent.count(), 1);
+ QCOMPARE(geometry->minExtent(), minExt);
+ QCOMPARE(geometry->maxExtent(), maxExt);
+ spyMaxExtent.clear();
spyMinExtent.clear();
// WHEN
- valueChange->setPropertyName("extent");
- valueChange->setValue(QVariant::fromValue(QPair<QVector3D, QVector3D>(QVector3D(10.0f, 10.f, 10.0f),
- QVector3D(11.0f, 11.f, 11.0f))));
- geometry->sceneChangeEvent(valueChange);
+ dNode->setExtent(minExt, maxExt);
// THEN
QCOMPARE(spyMinExtent.count(), 0);
- QCOMPARE(spyMaxExtent.count(), 1);
- QCOMPARE(geometry->maxExtent(), QVector3D(11.0f, 11.0f, 11.0f));
-
- spyMaxExtent.clear();
+ QCOMPARE(spyMaxExtent.count(), 0);
}
};