@letsnova/potree
Version:
WebGL point cloud viewer
30 lines (22 loc) • 601 B
JavaScript
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();