forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			No EOL
		
	
	
		
			636 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			No EOL
		
	
	
		
			636 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 = []
 | 
						|
        hierarchy.loadedTiles.forEach((tile) => {
 | 
						|
            if (tile.bbox.overlapsWith(bbox)) {
 | 
						|
                result.push(tile)
 | 
						|
            }
 | 
						|
        })
 | 
						|
        return result;
 | 
						|
    }
 | 
						|
 | 
						|
} |