PageSourceSearch

https://auramrcomp-b3pjowqc.manus.space/assets/iesTextureLoader-DyFJfGfD.js

js auramrcomp-b3pjowqc.manus.space collected 2026-10-03 05:00:06 UTC 2,699 bytes, 2 lines download raw bytes

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