UNPKG

soonspacejs

Version:
2 lines (1 loc) 799 B
import{BufferGeometry as e,BufferAttribute as o}from"three";import{MeshBVH as s}from"three-mesh-bvh";onmessage=function({data:r}){let n=performance.now();try{if(!r)return void postMessage(r);const{index:t,position:i,options:l}=r,a=new e;if(a.setAttribute("position",new o(i,3,!1)),t&&a.setIndex(new o(t,1,!1)),l.includedProgressCallback&&(l.onProgress=function(e){const o=performance.now();(o-n>=10||1===e)&&(postMessage({error:null,serialized:null,position:null,progress:e}),n=o)}),l.groups){const e=l.groups;for(const o in e){const s=e[o];a.addGroup(s.start,s.count,s.materialIndex)}}const p=new s(a,l),u=s.serialize(p,{cloneBuffers:!1});postMessage({error:null,serialized:u,position:i,progress:1},[i.buffer,...u.roots])}catch(e){postMessage({error:e,serialized:null,position:null,progress:1})}};