PageSourceSearch

https://gjpreserve-cwrisw2m.manus.space/assets/iesTextureLoader-MehpFuol.js

js gjpreserve-cwrisw2m.manus.space collected 2026-10-03 05:02:00 UTC 2,489 bytes, 2 lines download raw bytes

vendor: 2,489 bytes, lines 1-2
1import{L as b}from"./index-DR5k8JrA.js";function p(t){return t.split(" ").filter(i=>i!=="").map(i=>parseFloat(i))}function x(t,i,a){for(;a.length!==i;){const n=p(t.lines[t.index++]);a.push(...n)}}function O(t,i,a){let n=0,e=0,s=0,c=0,u=0,f=0;for(let o=0;o<t.numberOfHorizontalAngles-1;o++)if(a<t.horizontalAngles[o+1]||o===t.numberOfHorizontalAngles-2){e=o,s=t.horizontalAngles[o],c=t.horizontalAngles[o+1];break}for(let o=0;o<t.numberOfVerticalAngles-1;o++)if(i<t.verticalAngles[o+1]||o===t.numberOfVerticalAngles-2){n=o,u=t.verticalAngles[o],f=t.verticalAngles[o+1];break}const h=c-s,g=f-u;if(g===0)return 0;const A=h===0?0:(a-s)/h,d=(i-u)/g,l=h===0?e:e+1,r=b(t.candelaValues[e][n],t.candelaValues[l][n],A),m=b(t.candelaValues[e][n+1],t.candelaValues[l][n+1],A);return b(r,m,d)}function z(t){const n={lines:new TextDecoder("utf-8").decode(t).split(`
2`),index:0},e={version:n.lines[0],candelaValues:[],horizontalAngles:[],verticalAngles:[],numberOfHorizontalAngles:0,numberOfVerticalAngles:0};for(n.index=1;n.lines.length>0&&!n.lines[n.index].includes("TILT=");)n.index++;n.lines[n.index].includes("INCLUDE"),n.index++;const s=p(n.lines[n.index++]);e.numberOfLights=s[0],e.lumensPerLamp=s[1],e.numberOfVerticalAngles=s[3],e.numberOfHorizontalAngles=s[4],e.photometricType=s[5],e.unitsType=s[6],e.width=s[7],e.length=s[8],e.height=s[9],n.index++;for(let l=0;l<e.numberOfHorizontalAngles;l++)e.candelaValues[l]=[];x(n,e.numberOfVerticalAngles,e.verticalAngles),x(n,e.numberOfHorizontalAngles,e.horizontalAngles);for(let l=0;l<e.numberOfHorizontalAngles;l++)x(n,e.numberOfVerticalAngles,e.candelaValues[l]);let c=-1;for(let l=0;l<e.numberOfHorizontalAngles;l++)for(let r=0;r<e.numberOfVerticalAngles;r++)c=Math.max(c,e.candelaValues[l][r]);if(c>0)for(let l=0;l<e.numberOfHorizontalAngles;l++)for(let r=0;r<e.numberOfVerticalAngles;r++)e.candelaValues[l][r]/=c;const u=180,f=u*2,h=f*u,g=new Float32Array(f*u),A=e.horizontalAngles[0],d=e.horizontalAngles[e.numberOfHorizontalAngles-1];for(let l=0;l<h;l++){let r=l%f;const m=Math.floor(l/f);d-A!==0&&(r<A||r>=d)&&(r%=d*2,r>d&&(r=d*2-r)),g[m+r*u]=O(e,m,r)}return{width:f/2,height:1,data:g}}class y{constructor(){this.supportCascades=!1}loadCubeData(){throw".ies not supported in Cube."}loadData(i,a,n){const e=new Uint8Array(i.buffer,i.byteOffset,i.byteLength),s=z(e);n(s.width,s.height,!!a.useMipMaps,!1,()=>{const c=a.getEngine();a.type=1,a.format=6,a._gammaSpace=!1,c._uploadDataToTextureDirectly(a,s.data)})}}export{y as _IESTextureLoader};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.