import{t as O,a as d,gV as x,aL as A,fK as k,gW as D}from"./index.6c049565.js";import{S as F}from"./quat.4f976512.js";import{g as R,f as U,c as V,I as z,e as B}from"./I3SBinaryReader.e56bed53.js";import{r as J,n as S}from"./vec3f32.1121a836.js";import{a as N,b as T,d as _}from"./PointCloudUniqueValueRenderer.b2b578fe.js";import"./mat3f64.6d32a1d7.js";import"./quatf64.4ae3e6f1.js";import"./VertexAttribute.42396f25.js";function q(f,t,l,o){const{rendererJSON:u,isRGBRenderer:p}=f;let n=null,a=null;if(t&&p)n=t;else if(t&&u.type==="pointCloudUniqueValueRenderer"){a=N.fromJSON(u);const e=a.colorUniqueValueInfos;n=new Uint8Array(3*o);const s=v(a.fieldTransformType);for(let r=0;r=e[i].value)n[3*r]=e[i].color.r,n[3*r+1]=e[i].color.g,n[3*r+2]=e[i].color.b;else for(let b=1;b=e[i].minValue&&c<=e[i].maxValue){n[3*r]=e[i].color.r,n[3*r+1]=e[i].color.g,n[3*r+2]=e[i].color.b;break}}}else{n=new Uint8Array(3*o);for(let e=0;e=s?1:i<=e?r:r+(1-r)*(i-e)/(s-e);n[3*c]=b*n[3*c],n[3*c+1]=b*n[3*c+1],n[3*c+2]=b*n[3*c+2]}}return n}function E(f,t){if(f.encoding==null||f.encoding===""){const l=R(t,f);if(O(l.vertexAttributes.position))return;const o=U(t,l.vertexAttributes.position),u=l.header.fields,p=[u.offsetX,u.offsetY,u.offsetZ],n=[u.scaleX,u.scaleY,u.scaleZ],a=o.length/3,e=new Float64Array(3*a);for(let s=0;s>>4&15,m=b>1,C=i===1,y=i===b;let I=!1;for(const h of r.includedReturns)if(h==="last"&&y||h==="firstOfMany"&&C&&m||h==="lastOfMany"&&y&&m||h==="single"&&!m){I=!0;break}I||(e=!1);break}}}e&&(l[n]=a,f[3*n]=f[3*a],f[3*n+1]=f[3*a+1],f[3*n+2]=f[3*a+2],t[3*n]=t[3*a],t[3*n+1]=t[3*a+1],t[3*n+2]=t[3*a+2],n++)}return n}function v(f){return f==null||f==="none"?null:f==="low-four-bit"?t=>15&t:f==="high-four-bit"?t=>(240&t)>>4:f==="absolute-value"?t=>Math.abs(t):f==="modulo-ten"?t=>t%10:null}function M(f){let t=0;for(const l of f||[])t|=1<0&&d(t.filterAttributesData)){const r=t.filterAttributesData.map(c=>{const i=g(c,l,o),b={attributeInfo:c.attributeInfo,values:i};return p.push(b),b});u=new Uint32Array(o),o=L(l,e,u,t.filterInfo,r)}for(const r of t.userAttributesData){const c=g(r,l,o);p.push({attributeInfo:r.attributeInfo,values:c})}3*o