@@ -93,9 +93,11 @@ static void initializeTileset(Tileset& tileset) {
9393 horizontalFieldOfView,
9494 verticalFieldOfView,
9595 Ellipsoid::WGS84);
96-
96+ tileset. getExternals (). asyncSystem . dispatchMainThreadTasks ();
9797 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {viewState});
98+ tileset.getExternals ().asyncSystem .dispatchMainThreadTasks ();
9899 tileset.loadTiles ();
100+
99101}
100102
101103static ViewState zoomToTile (const Tile& tile) {
@@ -222,7 +224,9 @@ TEST_CASE("Test replace refinement for render") {
222224 ViewUpdateResult result = tileset.updateViewGroup (
223225 tileset.getDefaultViewGroup (),
224226 {zoomOutViewState});
227+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
225228 tileset.loadTiles ();
229+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
226230
227231 // Check tile state. Ensure root meet sse
228232 REQUIRE (root->getState () == TileLoadState::Done);
@@ -284,6 +288,7 @@ TEST_CASE("Test replace refinement for render") {
284288 ViewUpdateResult result =
285289 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {viewState});
286290 tileset.loadTiles ();
291+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
287292
288293 // Check tile state. Ensure root doesn't meet sse, but children does.
289294 // Children begin loading as well
@@ -312,7 +317,7 @@ TEST_CASE("Test replace refinement for render") {
312317 ViewUpdateResult result =
313318 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {viewState});
314319 tileset.loadTiles ();
315-
320+ tilesetExternals. asyncSystem . dispatchMainThreadTasks ();
316321 // Check tile state. Ensure root doesn't meet sse, but children does
317322 REQUIRE (root->getState () == TileLoadState::Done);
318323 REQUIRE (!doesTileMeetSSE (viewState, *root, tileset));
@@ -358,6 +363,7 @@ TEST_CASE("Test replace refinement for render") {
358363 tileset.getDefaultViewGroup (),
359364 {zoomInViewState});
360365 tileset.loadTiles ();
366+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
361367
362368 // check tiles status. All the children should have loading status
363369 REQUIRE (root->getState () == TileLoadState::Done);
@@ -392,6 +398,7 @@ TEST_CASE("Test replace refinement for render") {
392398 tileset.getDefaultViewGroup (),
393399 {zoomInViewState});
394400 tileset.loadTiles ();
401+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
395402
396403 // check tiles status. All the children should have loading status
397404 REQUIRE (root->getState () == TileLoadState::Done);
@@ -449,6 +456,7 @@ TEST_CASE("Test replace refinement for render") {
449456 tileset.getDefaultViewGroup (),
450457 {zoomOutViewState});
451458 tileset.loadTiles ();
459+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
452460
453461 // check tiles status. All the children should have loading status
454462 REQUIRE (root->getState () == TileLoadState::Done);
@@ -498,6 +506,7 @@ TEST_CASE("Test replace refinement for render") {
498506 ViewUpdateResult result =
499507 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {viewState});
500508 tileset.loadTiles ();
509+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
501510
502511 // Check tile state. Ensure root doesn't meet sse, but children does
503512 REQUIRE (root->getState () == TileLoadState::Done);
@@ -525,6 +534,7 @@ TEST_CASE("Test replace refinement for render") {
525534 ViewUpdateResult result =
526535 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {viewState});
527536 tileset.loadTiles ();
537+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
528538
529539 // check tile states
530540 REQUIRE (root->getState () == TileLoadState::Done);
@@ -623,6 +633,7 @@ TEST_CASE("Test additive refinement") {
623633 ViewUpdateResult result =
624634 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {viewState});
625635 tileset.loadTiles ();
636+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
626637
627638 const std::vector<Tile::ConstPointer>& ttr =
628639 result.tilesToRenderThisFrame ;
@@ -659,6 +670,7 @@ TEST_CASE("Test additive refinement") {
659670 ViewUpdateResult result =
660671 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {viewState});
661672 tileset.loadTiles ();
673+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
662674
663675 const std::vector<Tile::ConstPointer>& ttr =
664676 result.tilesToRenderThisFrame ;
@@ -716,6 +728,7 @@ TEST_CASE("Test additive refinement") {
716728 ViewUpdateResult result =
717729 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {viewState});
718730 tileset.loadTiles ();
731+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
719732
720733 REQUIRE (result.tilesToRenderThisFrame .size () == 8 );
721734
@@ -789,6 +802,7 @@ TEST_CASE("Render any tiles even when one of children can't be rendered for "
789802 ViewUpdateResult result =
790803 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {viewState});
791804 tileset.loadTiles ();
805+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
792806
793807 for (const Tile& child : root->getChildren ()) {
794808 CHECK (child.getState () == TileLoadState::ContentLoading);
@@ -808,6 +822,7 @@ TEST_CASE("Render any tiles even when one of children can't be rendered for "
808822 ViewUpdateResult result =
809823 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {viewState});
810824 tileset.loadTiles ();
825+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
811826
812827 REQUIRE (root->isRenderable ());
813828
@@ -908,6 +923,7 @@ TEST_CASE("Test multiple frustums") {
908923 tileset.getDefaultViewGroup (),
909924 {viewState, zoomOutViewState});
910925 tileset.loadTiles ();
926+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
911927
912928 // Check tile state. Ensure root meets sse for only the zoomed out
913929 // ViewState
@@ -997,7 +1013,7 @@ TEST_CASE("Test multiple frustums") {
9971013 tileset.getDefaultViewGroup (),
9981014 {zoomInViewState1, zoomInViewState2});
9991015 tileset.loadTiles ();
1000-
1016+ tilesetExternals. asyncSystem . dispatchMainThreadTasks ();
10011017 // check result
10021018 // The grand child and the second child are the only ones rendered.
10031019 // The third and fourth children of the root are culled.
@@ -1289,6 +1305,8 @@ TEST_CASE("Makes metadata available on external tilesets") {
12891305 tileset.getDefaultViewGroup (),
12901306 {zoomToTileViewState});
12911307 tileset.loadTiles ();
1308+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
1309+
12921310 pExternalContent = pExternal->getContent ().getExternalContent ();
12931311 }
12941312
@@ -1746,6 +1764,8 @@ TEST_CASE("Additive-refined tiles are added to the tilesFadingOut array") {
17461764 updateResult =
17471765 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {viewState});
17481766 tileset.loadTiles ();
1767+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
1768+
17491769 }
17501770
17511771 // All three tiles (plus the tileset.json) should be rendered.
@@ -1766,6 +1786,8 @@ TEST_CASE("Additive-refined tiles are added to the tilesFadingOut array") {
17661786 updateResult =
17671787 tileset.updateViewGroup (tileset.getDefaultViewGroup (), {zoomedOut});
17681788 tileset.loadTiles ();
1789+ tilesetExternals.asyncSystem .dispatchMainThreadTasks ();
1790+
17691791
17701792 // Only the root tile (plus the tileset.json) is visible now, and the other
17711793 // two are fading out.
0 commit comments