import{C as e,K as t,l as n,p as r,u as i,w as a,wt as o}from"./three.module-BFsVh7r1.js";import{n as s}from"./fflate.module-BIQmJeC9.js";var c=class extends t{constructor(e){super(e),console.warn(`THREE.VTKLoader: The loader has been deprecated and will be removed with r194. Export your VTK files to glTF before using them on the web.`)}load(t,n,r,i){let a=this,o=new e(a.manager);o.setPath(a.path),o.setResponseType(`arraybuffer`),o.setRequestHeader(a.requestHeader),o.setWithCredentials(a.withCredentials),o.load(t,function(e){try{n(a.parse(e))}catch(e){i?i(e):console.error(e),a.manager.itemError(t)}},r,i)}parse(e){function t(e){let t=[],n=[],s=[],c=[],l,u=/^[^\d.\s-]+/;function d(e){let t=[],n=e.split(/\s+/);for(let e=0;e=3){let r=parseInt(n[0]),i=1;for(let a=0;a=3)for(let r=0;r=t.byteLength)break}let f=new i;return f.setIndex(new n(s,1)),f.setAttribute(`position`,new n(a,3)),o.length===a.length&&f.setAttribute(`normal`,new n(o,3)),f}function l(e,t){let n=e.length,r=new Float32Array(n+t.length);return r.set(e),r.set(t,n),r}function u(e,t){let n=e.length,r=new Int32Array(n+t.length);return r.set(e),r.set(t,n),r}function d(e){function t(e){let n={};if(e.nodeType===1){if(e.attributes&&e.attributes.length>0){n.attributes={};for(let t=0;t0)throw Error(`Invalid string. Length must be a multiple of 4`);let i=e[r-2]===`=`?2:+(e[r-1]===`=`),a=new t(r*3/4-i),o=i>0?r-4:r,s=0,c,l;for(c=0,l=0;c>16,a[s++]=(t&65280)>>8,a[s++]=t&255}if(i===2){let t=n[e.charCodeAt(c)]<<2|n[e.charCodeAt(c+1)]>>4;a[s++]=t&255}else if(i===1){let t=n[e.charCodeAt(c)]<<10|n[e.charCodeAt(c+1)]<<4|n[e.charCodeAt(c+2)]>>2;a[s++]=t>>8&255,a[s++]=t&255}return a}function a(e,t){let n=0;c.attributes.header_type===`UInt64`?n=8:c.attributes.header_type===`UInt32`&&(n=4);let i,a;if(e.attributes.format===`binary`&&t){e.attributes.type===`Float32`?i=new Float32Array:(e.attributes.type===`Int32`||e.attributes.type===`Int64`)&&(i=new Int32Array);let t=e[`#text`],o=r(Array.isArray(t)?t[0]:t),c=o[0];for(let e=1;e0?3-d%3:0;d+=f;let p=[],m=d;p.push(m);let h=3*n;for(let e=0;e{let n=t[e];return n&&n.DataArray?(Array.isArray(n.DataArray)?n.DataArray:[n.DataArray]).map(e=>e.attributes.offset):[]}).flat();for(let a of n){let n=t[a];if(n&&n.DataArray)if(Array.isArray(n.DataArray))for(let t of n.DataArray)t[`#text`]=e.slice(i[r],i[r+1]),t.attributes.format=`binary`,r++;else n.DataArray[`#text`]=e.slice(i[r],i[r+1]),n.DataArray.attributes.format=`binary`,r++}}if(c.PolyData){let e=c.PolyData.Piece,t=c.attributes.hasOwnProperty(`compressor`),r=[`PointData`,`Points`,`Strips`,`Polys`],o=0,s=r.length;for(;o0&&(i[s].text=a(i[s],t)),s++;switch(r[o]){case`PointData`:{let t=parseInt(e.attributes.NumberOfPoints),r=n.attributes.Normals;if(t>0){for(let e=0,n=i.length;e0){let e=n.DataArray.attributes.NumberOfComponents;d=new Float32Array(t*e),d.set(n.DataArray.text,0)}}break;case`Strips`:{let t=parseInt(e.attributes.NumberOfStrips);if(t>0){let e=new Int32Array(n.DataArray[0].text.length),r=new Int32Array(n.DataArray[1].text.length);e.set(n.DataArray[0].text,0),r.set(n.DataArray[1].text,0);let i=t+e.length;p=new Uint32Array(3*i-9*t);let a=0;for(let n=0,i=t;n0&&(o=r[n-1]);for(let e=0,i=r[n],o=0;e0&&(o=r[n-1])}}}break;case`Polys`:{let t=parseInt(e.attributes.NumberOfPolys);if(t>0){let e=new Int32Array(n.DataArray[0].text.length),r=new Int32Array(n.DataArray[1].text.length);e.set(n.DataArray[0].text,0),r.set(n.DataArray[1].text,0);let i=t+e.length;p=new Uint32Array(3*i-9*t);let a=0,o=0,s=0,c=0,l=t;for(;s