소스 검색

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 );
+
+			}
+
 		} );
 
 	}