UNPKG

@letsnova/potree

Version:

WebGL point cloud viewer

30 lines (22 loc) 601 B
export class WorkerPool{ constructor(){ this.workers = {}; } getWorker(url){ if (!this.workers[url]){ this.workers[url] = []; } if (this.workers[url].length === 0){ // let worker = new Worker(url); var u = window.URL || window.webkitURL; let worker = new Worker(u.createObjectURL(new Blob([`importScripts('${url}');`], { type: 'text/javascript' }))); this.workers[url].push(worker); } let worker = this.workers[url].pop(); return worker; } returnWorker(url, worker){ this.workers[url].push(worker); } }; //Potree.workerPool = new Potree.WorkerPool();