forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			661 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			661 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import FeatureSource, { Tiled } from "../FeatureSource"
 | |
| import { BBox } from "../../BBox"
 | |
| 
 | |
| export default interface TileHierarchy<T extends FeatureSource & Tiled> {
 | |
|     /**
 | |
|      * A mapping from 'tile_index' to the actual tile featrues
 | |
|      */
 | |
|     loadedTiles: Map<number, T>
 | |
| }
 | |
| 
 | |
| export class TileHierarchyTools {
 | |
|     public static getTiles<T extends FeatureSource & Tiled>(
 | |
|         hierarchy: TileHierarchy<T>,
 | |
|         bbox: BBox
 | |
|     ): T[] {
 | |
|         const result: T[] = []
 | |
|         hierarchy.loadedTiles.forEach((tile) => {
 | |
|             if (tile.bbox.overlapsWith(bbox)) {
 | |
|                 result.push(tile)
 | |
|             }
 | |
|         })
 | |
|         return result
 | |
|     }
 | |
| }
 |