瀏覽代碼

Add model callbacks

Garrett Johnson 5 年之前
父節點
當前提交
43fabd18b9
共有 1 個文件被更改,包括 23 次插入0 次删除
  1. 23 0
      src/three/TilesRenderer.js

+ 23 - 0
src/three/TilesRenderer.js

@@ -42,6 +42,8 @@ export class TilesRenderer extends TilesRendererBase {
 		this.activeTiles = new Set();
 		this.visibleTiles = new Set();
 
+		this.onLoadModel = null;
+
 	}
 
 	/* Public API */
@@ -72,6 +74,21 @@ export class TilesRenderer extends TilesRendererBase {
 
 	}
 
+	forEachLoadedModel( callback ) {
+
+		this.traverse( tile => {
+
+			const scene = tile.cached.scene;
+			if ( scene ) {
+
+				callback( scene, tile );
+
+			}
+
+		} );
+
+	}
+
 	raycast( raycaster, intersects ) {
 
 		if ( ! this.root ) {
@@ -506,6 +523,12 @@ export class TilesRenderer extends TilesRendererBase {
 			cached.geometry = geometry;
 			cached.textures = textures;
 
+			if ( this.onLoadModel ) {
+
+				this.onLoadModel( scene, tile );
+
+			}
+
 		} );
 
 	}