Browse Source

Add method for retrying all failed tiles

Jeff Pamer 3 years ago
parent
commit
05932ace01
2 changed files with 25 additions and 0 deletions
  1. 1 0
      src/base/TilesRendererBase.d.ts
  2. 24 0
      src/base/TilesRendererBase.js

+ 1 - 0
src/base/TilesRendererBase.d.ts

@@ -28,5 +28,6 @@ export class TilesRendererBase {
 		afterCb : ( ( tile : Object, parent : Object, depth : Number ) => Boolean ) | null
 	) : void;
 	dispose() : void;
+	resetFailedTiles() : void;
 
 }

+ 24 - 0
src/base/TilesRendererBase.js

@@ -290,6 +290,30 @@ export class TilesRendererBase {
 
 	}
 
+
+	resetFailedTiles() {
+
+		const stats = this.stats;
+		if ( !stats.failed ) {
+
+			return;
+
+		}
+
+		this.traverse( tile => {
+
+			if ( tile.__loadingState === FAILED ) {
+
+				tile.__loadingState = UNLOADED;
+
+			}
+
+		} );
+
+		stats.failed = 0;
+
+	}
+
 	// Private Functions
 	fetchTileSet( url, fetchOptions, parent = null ) {