@takram/three-geospatial 0.0.1-alpha.7 → 0.0.1-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"shared.cjs","sources":["../src/helpers/projectOnEllipsoidSurface.ts","../src/Ellipsoid.ts","../src/EllipsoidGeometry.ts","../src/Geodetic.ts"],"sourcesContent":null,"names":["vectorScratch","Vector3","projectOnEllipsoidSurface","position","reciprocalRadiiSquared","result","options","x","y","z","rx","ry","rz","x2","y2","z2","normSquared","ratio","intersection","gradient","lambda","correction","sx","sy","sz","error","sx2","sy2","sz2","sx3","sy3","sz3","vectorScratch1","vectorScratch2","vectorScratch3","_Ellipsoid","__publicField","east","north","up","Matrix4","ray","reciprocalRadii","p","d","p2","d2","pd","discriminant","Q","t1","t2","t","surfacePosition","radius","xySquared","normal","Ellipsoid","EllipsoidGeometry","BufferGeometry","radii","longitudeSegments","latitudeSegments","elementCount","vertex","vertices","normals","uvs","grid","indices","vertexIndex","uvIndex","rowIndex","rowIndices","v","phi","uOffset","u","theta","a","b","c","BufferAttribute","source","_Geodetic","longitude","latitude","height","other","value","projection","ellipsoid","radiiSquared","cosLatitude","array","offset","Geodetic"],"mappings":"0MAEMA,MAAkCC,EAAAA,QASjC,SAASC,EACdC,EACAC,EACAC,EAAS,IAAIJ,EAAAA,QACbK,EACqB,CACrB,KAAM,CAAE,EAAAC,EAAG,EAAAC,EAAG,EAAAC,CAAM,EAAAN,EACdO,EAAKN,EAAuB,EAC5BO,EAAKP,EAAuB,EAC5BQ,EAAKR,EAAuB,EAC5BS,EAAKN,EAAIA,EAAIG,EACbI,EAAKN,EAAIA,EAAIG,EACbI,EAAKN,EAAIA,EAAIG,EAGbI,EAAcH,EAAKC,EAAKC,EACxBE,EAAQ,KAAK,KAAK,EAAID,CAAW,EAGvC,GAAI,CAAC,OAAO,SAASC,CAAK,EACjB,OAKT,MAAMC,EAAelB,EAAc,KAAKG,CAAQ,EAAE,eAAec,CAAK,EAClE,GAAAD,IAAeV,GAAA,YAAAA,EAAS,kBAAmB,IACtC,OAAAD,EAAO,KAAKa,CAAY,EAKjC,MAAMC,EAAWD,EACd,SAASd,CAAsB,EAC/B,eAAe,CAAC,EAGf,IAAAgB,GAAW,EAAIH,GAASd,EAAS,UAAagB,EAAS,OAAW,EAAA,GAElEE,EAAa,EACbC,EACAC,EACAC,EACAC,EACD,EAAA,CACSL,GAAAC,EACLC,EAAA,GAAK,EAAIF,EAASV,GAClBa,EAAA,GAAK,EAAIH,EAAST,GAClBa,EAAA,GAAK,EAAIJ,EAASR,GACvB,MAAMc,EAAMJ,EAAKA,EACXK,EAAMJ,EAAKA,EACXK,EAAMJ,EAAKA,EACXK,EAAMH,EAAMJ,EACZQ,EAAMH,EAAMJ,EACZQ,EAAMH,EAAMJ,EAClBC,EAAQZ,EAAKa,EAAMZ,EAAKa,EAAMZ,EAAKa,EAAM,EAC5BP,EAAAI,IAAUZ,EAAKgB,EAAMnB,EAAKI,EAAKgB,EAAMnB,EAAKI,EAAKgB,EAAMnB,GAAM,GACjE,OAAA,KAAK,IAAIa,CAAK,EAAI,OAE3B,OAAOpB,EAAO,IAAIE,EAAIe,EAAId,EAAIe,EAAId,EAAIe,CAAE,CAC1C,CChEA,MAAMQ,MAAmC/B,EAAAA,QACnCgC,MAAmChC,EAAAA,QACnCiC,MAAmCjC,EAAAA,QAE5BkC,EAAN,MAAMA,CAAU,CASrB,YAAY5B,EAAWC,EAAWC,EAAW,CAFpC2B,EAAA,cAGP,KAAK,MAAQ,IAAInC,EAAAA,QAAQM,EAAGC,EAAGC,CAAC,CAAA,CAGlC,IAAI,eAAwB,CACnB,OAAA,KAAK,IAAI,KAAK,MAAM,EAAG,KAAK,MAAM,EAAG,KAAK,MAAM,CAAC,CAAA,CAG1D,IAAI,eAAwB,CACnB,OAAA,KAAK,IAAI,KAAK,MAAM,EAAG,KAAK,MAAM,EAAG,KAAK,MAAM,CAAC,CAAA,CAG1D,gBAAgBJ,EAAS,IAAIJ,EAAAA,QAAoB,CAC/C,KAAM,CAAE,EAAAM,EAAG,EAAAC,EAAG,EAAAC,GAAM,KAAK,MACzB,OAAOJ,EAAO,IAAI,EAAIE,EAAG,EAAIC,EAAG,EAAIC,CAAC,CAAA,CAGvC,uBAAuBJ,EAAS,IAAIJ,EAAAA,QAAoB,CACtD,KAAM,CAAE,EAAAM,EAAG,EAAAC,EAAG,EAAAC,GAAM,KAAK,MAClB,OAAAJ,EAAO,IAAI,EAAIE,GAAK,EAAG,EAAIC,GAAK,EAAG,EAAIC,GAAK,CAAC,CAAA,CAGtD,iBACEN,EACAE,EAAS,IAAIJ,EAAA,QACbK,EACqB,CACd,OAAAJ,EACLC,EACA,KAAK,uBAAuB,EAC5BE,EACAC,CACF,CAAA,CAGF,iBAAiBH,EAAmBE,EAAS,IAAIJ,UAAoB,CAC5D,OAAAI,EACJ,gBAAgB,KAAK,uBAAuB2B,CAAc,EAAG7B,CAAQ,EACrE,UAAU,CAAA,CAGf,sBACEA,EACAkC,EAAO,IAAIpC,UACXqC,EAAQ,IAAIrC,UACZsC,EAAK,IAAItC,UACH,CACD,KAAA,iBAAiBE,EAAUoC,CAAE,EAC7BF,EAAA,IAAI,CAAClC,EAAS,EAAGA,EAAS,EAAG,CAAC,EAAE,UAAU,EAC/CmC,EAAM,aAAaC,EAAIF,CAAI,EAAE,UAAU,CAAA,CAGzC,oBAAoBlC,EAAmBE,EAAS,IAAImC,UAAoB,CACtE,MAAMH,EAAOL,EACPM,EAAQL,EACRM,EAAKL,EACX,YAAK,sBAAsB/B,EAAUkC,EAAMC,EAAOC,CAAE,EAC7ClC,EAAO,UAAUgC,EAAMC,EAAOC,CAAE,EAAE,YAAYpC,CAAQ,CAAA,CAG/D,gBAAgBsC,EAAUpC,EAAS,IAAIJ,UAAgC,CAC/D,MAAAyC,EAAkB,KAAK,gBAAgBV,CAAc,EACrDW,EAAIV,EAAe,KAAKS,CAAe,EAAE,SAASD,EAAI,MAAM,EAC5DG,EAAIV,EAAe,KAAKQ,CAAe,EAAE,SAASD,EAAI,SAAS,EAC/DI,EAAKF,EAAE,SAAS,EAChBG,EAAKF,EAAE,SAAS,EAChBG,EAAKJ,EAAE,IAAIC,CAAC,EACZI,EAAeD,GAAM,EAAID,GAAMD,EAAK,GAC1C,GAAIA,IAAO,EACF,OAAAxC,EAAO,KAAKoC,EAAI,MAAM,EAE/B,GAAII,EAAK,EAAG,CACN,GAAAE,GAAM,GAAKC,EAAe,EAC5B,OAEI,MAAAC,EAAI,KAAK,KAAKD,CAAY,EAC1BE,GAAM,CAACH,EAAKE,GAAKH,EACjBK,GAAM,CAACJ,EAAKE,GAAKH,EACvB,OAAOL,EAAI,GAAG,KAAK,IAAIS,EAAIC,CAAE,EAAG9C,CAAM,CAAA,CAExC,GAAIwC,EAAK,EAAG,CACV,MAAMG,EAAeD,GAAM,EAAID,GAAMD,EAAK,GACpCI,EAAI,KAAK,KAAKD,CAAY,EAC1BI,GAAK,CAACL,EAAKE,GAAKH,EACf,OAAAL,EAAI,GAAGW,EAAG/C,CAAM,CAAA,CAEzB,GAAI0C,EAAK,EACP,OAAON,EAAI,GAAG,CAACM,EAAKD,EAAIzC,CAAM,CAChC,CAIF,0BACEgD,EACAC,EACAjD,EAAS,IAAIJ,UACJ,CACH,MAAAsD,EAAY,KAAK,MAAM,GAAK,EAC5BC,EAASxB,EACZ,IACCqB,EAAgB,EAAIE,EACpBF,EAAgB,EAAIE,EACpBF,EAAgB,EAAI,KAAK,MAAM,GAAK,GAErC,UAAU,EACN,OAAAhD,EAAO,KAAKmD,EAAO,eAAe,CAACF,CAAM,EAAE,IAAID,CAAe,CAAC,CAAA,CAE1E,EAnHEjB,EADWD,EACK,QAA0B,IAAAA,EACxC,QACA,QACA,mBACF,GALK,IAAMsB,EAANtB,ECHA,MAAMuB,UAA0BC,EAAAA,cAAe,CAKpD,YACEC,EAAQ,IAAI3D,EAAQ,QAAA,EAAG,EAAG,CAAC,EAC3B4D,EAAoB,GACpBC,EAAmB,GACnB,CACM,MAAA,EATC1B,EAAA,YAAO,qBAEhBA,EAAA,mBAQE,KAAK,WAAa,CAChB,MAAAwB,EACA,kBAAAC,EACA,iBAAAC,CACF,EAEAD,EAAoB,KAAK,IAAI,EAAG,KAAK,MAAMA,CAAiB,CAAC,EAC7DC,EAAmB,KAAK,IAAI,EAAG,KAAK,MAAMA,CAAgB,CAAC,EAErD,MAAAC,GAAgBF,EAAoB,IAAMC,EAAmB,GAC7DE,EAAS,IAAI/D,UACbuD,EAAS,IAAIvD,UACbgE,EAAW,IAAI,aAAaF,EAAe,CAAC,EAC5CG,EAAU,IAAI,aAAaH,EAAe,CAAC,EAC3CI,EAAM,IAAI,aAAaJ,EAAe,CAAC,EACvCK,EAAmB,CAAC,EACpBC,EAAoB,CAAC,EAIrB,QAAA7D,EAAI,EAAG8D,EAAc,EAAGC,EAAU,EAAGC,EAAW,EACpDhE,GAAKsD,EACL,EAAEtD,EACF,CACA,MAAMiE,EAAa,CAAC,EACdC,EAAIlE,EAAIsD,EACRa,EAAMD,EAAI,KAAK,GAGrB,IAAIE,EAAU,EACVpE,IAAM,EACRoE,EAAU,GAAMf,EACPrD,IAAMsD,IACfc,EAAU,IAAOf,GAIb,QAAAtD,EAAI,EACRA,GAAKsD,EACL,EAAEtD,EAAG+D,GAAe,EAAGC,GAAW,EAAG,EAAEC,EACvC,CACA,MAAMK,EAAItE,EAAIsD,EACRiB,EAAQD,EAAI,KAAK,GAAK,EACrBb,EAAA,EAAIJ,EAAM,EAAI,KAAK,IAAIkB,CAAK,EAAI,KAAK,IAAIH,CAAG,EAC5CX,EAAA,EAAIJ,EAAM,EAAI,KAAK,IAAIkB,CAAK,EAAI,KAAK,IAAIH,CAAG,EACnDX,EAAO,EAAIJ,EAAM,EAAI,KAAK,IAAIe,CAAG,EACxBV,EAAAK,CAAW,EAAIN,EAAO,EACtBC,EAAAK,EAAc,CAAC,EAAIN,EAAO,EAC1BC,EAAAK,EAAc,CAAC,EAAIN,EAAO,EAC5BR,EAAA,KAAKQ,CAAM,EAAE,UAAU,EACtBE,EAAAI,CAAW,EAAId,EAAO,EACtBU,EAAAI,EAAc,CAAC,EAAId,EAAO,EAC1BU,EAAAI,EAAc,CAAC,EAAId,EAAO,EAC9BW,EAAAI,CAAO,EAAIM,EAAID,EACfT,EAAAI,EAAU,CAAC,EAAI,EAAIG,EACvBD,EAAW,KAAKD,CAAQ,CAAA,CAE1BJ,EAAK,KAAKK,CAAU,CAAA,CAItB,QAASjE,EAAI,EAAGA,EAAIsD,EAAkB,EAAEtD,EACtC,QAASD,EAAI,EAAGA,EAAIsD,EAAmB,EAAEtD,EAAG,CAC1C,MAAMwE,EAAIX,EAAK5D,CAAC,EAAED,EAAI,CAAC,EACjByE,EAAIZ,EAAK5D,CAAC,EAAED,CAAC,EACb0E,EAAIb,EAAK5D,EAAI,CAAC,EAAED,CAAC,EACjBqC,EAAIwB,EAAK5D,EAAI,CAAC,EAAED,EAAI,CAAC,EACvBC,IAAM,GACA6D,EAAA,KAAKU,EAAGC,EAAGpC,CAAC,EAElBpC,IAAMsD,EAAmB,GACnBO,EAAA,KAAKW,EAAGC,EAAGrC,CAAC,CACtB,CAIJ,KAAK,SAASyB,CAAO,EACrB,KAAK,aAAa,WAAY,IAAIa,EAAAA,gBAAgBjB,EAAU,CAAC,CAAC,EAC9D,KAAK,aAAa,SAAU,IAAIiB,EAAAA,gBAAgBhB,EAAS,CAAC,CAAC,EAC3D,KAAK,aAAa,KAAM,IAAIgB,EAAAA,gBAAgBf,EAAK,CAAC,CAAC,CAAA,CAGrD,KAAKgB,EAAiC,CACpC,aAAM,KAAKA,CAAM,EACjB,KAAK,WAAa,CAAE,GAAGA,EAAO,UAAW,EAClC,IAAA,CAEX,CC1FA,MAAMnD,MAAmC/B,EAAAA,QACnCgC,MAAmChC,EAAAA,QAE5BmF,EAAN,MAAMA,CAAS,CAMpB,YACSC,EAAY,EACZC,EAAW,EACXC,EAAS,EAChB,CAHO,KAAA,UAAAF,EACA,KAAA,SAAAC,EACA,KAAA,OAAAC,CAAA,CAGT,IAAIF,EAAmBC,EAAkBC,EAAuB,CAC9D,YAAK,UAAYF,EACjB,KAAK,SAAWC,EACZC,GAAU,OACZ,KAAK,OAASA,GAET,IAAA,CAGT,OAAkB,CAChB,OAAO,IAAIH,EAAS,KAAK,UAAW,KAAK,SAAU,KAAK,MAAM,CAAA,CAGhE,KAAKI,EAA2B,CAC9B,YAAK,UAAYA,EAAM,UACvB,KAAK,SAAWA,EAAM,SACtB,KAAK,OAASA,EAAM,OACb,IAAA,CAGT,OAAOA,EAA8B,CAEjC,OAAAA,EAAM,YAAc,KAAK,WACzBA,EAAM,WAAa,KAAK,UACxBA,EAAM,SAAW,KAAK,MAAA,CAI1B,aAAaC,EAAqB,CAChC,YAAK,UAAYA,EACV,IAAA,CAGT,YAAYA,EAAqB,CAC/B,YAAK,SAAWA,EACT,IAAA,CAGT,UAAUA,EAAqB,CAC7B,YAAK,OAASA,EACP,IAAA,CAGT,WAAkB,CACZ,OAAA,KAAK,UAAYL,EAAS,gBACvB,KAAA,WAAa,KAAK,GAAK,GAEvB,IAAA,CAKT,YACEjF,EACAG,EAGM,CAEA,MAAAF,IADYE,GAAA,YAAAA,EAAS,YAAamD,EAAU,OAEtC,uBAAuBzB,CAAc,EAC3C0D,EAAaxF,EACjBC,EACAC,EACA6B,EACA3B,CACF,EACA,GAAIoF,GAAc,KAChB,MAAM,IAAI,MACR,oDAAoDvF,EAAS,SAAS,EACxE,EAEF,MAAMqD,EAASxB,EACZ,gBAAgB0D,EAAYtF,CAAsB,EAClD,UAAU,EACb,KAAK,UAAY,KAAK,MAAMoD,EAAO,EAAGA,EAAO,CAAC,EAC9C,KAAK,SAAW,KAAK,KAAKA,EAAO,CAAC,EAClC,MAAM+B,EAASvD,EAAe,WAAW7B,EAAUuF,CAAU,EACxD,YAAA,OAAS,KAAK,KAAKH,EAAO,IAAIpF,CAAQ,CAAC,EAAIoF,EAAO,OAAO,EACvD,IAAA,CAKT,OACElF,EAAS,IAAIJ,EAAA,QACbK,EAGS,CACH,MAAAqF,GAAYrF,GAAA,YAAAA,EAAS,YAAamD,EAAU,MAC5CmC,EAAe5D,EAAe,gBAClC2D,EAAU,MACVA,EAAU,KACZ,EACME,EAAc,KAAK,IAAI,KAAK,QAAQ,EACpCrC,EAASvB,EACZ,IACC4D,EAAc,KAAK,IAAI,KAAK,SAAS,EACrCA,EAAc,KAAK,IAAI,KAAK,SAAS,EACrC,KAAK,IAAI,KAAK,QAAQ,GAEvB,UAAU,EACN,OAAAxF,EAAA,gBAAgBuF,EAAcpC,CAAM,EACpCnD,EACJ,aAAa,KAAK,KAAKmD,EAAO,IAAInD,CAAM,CAAC,CAAC,EAC1C,IAAImD,EAAO,eAAe,KAAK,MAAM,CAAC,CAAA,CAG3C,UAAUsC,EAA0BC,EAAS,EAAS,CAC/C,YAAA,UAAYD,EAAMC,CAAM,EACxB,KAAA,SAAWD,EAAMC,EAAS,CAAC,EAC3B,KAAA,OAASD,EAAMC,EAAS,CAAC,EACvB,IAAA,CAGT,QAAQD,EAAkB,GAAIC,EAAS,EAAa,CAC5C,OAAAD,EAAAC,CAAM,EAAI,KAAK,UACfD,EAAAC,EAAS,CAAC,EAAI,KAAK,SACnBD,EAAAC,EAAS,CAAC,EAAI,KAAK,OAClBD,CAAA,CAGT,EAAE,OAAO,QAAQ,GAAuB,CACtC,MAAM,KAAK,UACX,MAAM,KAAK,SACX,MAAM,KAAK,MAAA,CAEf,EA3IE1D,EADWgD,EACK,gBAAgB,CAAC,KAAK,IACtChD,EAFWgD,EAEK,gBAAgB,KAAK,IACrChD,EAHWgD,EAGK,eAAe,CAAC,KAAK,GAAK,GAC1ChD,EAJWgD,EAIK,eAAe,KAAK,GAAK,GAJpC,IAAMY,EAANZ"}
1
+ {"version":3,"file":"shared.cjs","sources":["../src/helpers/projectOnEllipsoidSurface.ts","../src/Ellipsoid.ts","../src/EllipsoidGeometry.ts","../src/Geodetic.ts"],"sourcesContent":null,"names":["vectorScratch","Vector3","projectOnEllipsoidSurface","position","reciprocalRadiiSquared","result","options","x","y","z","rx","ry","rz","x2","y2","z2","normSquared","ratio","intersection","gradient","lambda","correction","sx","sy","sz","error","sx2","sy2","sz2","sx3","sy3","sz3","vectorScratch1","vectorScratch2","vectorScratch3","_Ellipsoid","east","north","up","Matrix4","ray","reciprocalRadii","p","d","p2","d2","pd","discriminant","Q","t1","t2","t","surfacePosition","radius","xySquared","normal","Ellipsoid","EllipsoidGeometry","BufferGeometry","radii","longitudeSegments","latitudeSegments","elementCount","vertex","vertices","normals","uvs","grid","indices","vertexIndex","uvIndex","rowIndex","rowIndices","v","phi","uOffset","u","theta","a","b","c","BufferAttribute","source","_Geodetic","longitude","latitude","height","other","value","projection","ellipsoid","radiiSquared","cosLatitude","array","offset","Geodetic"],"mappings":"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"}
package/build/shared.js CHANGED
@@ -1,28 +1,24 @@
1
- var B = Object.defineProperty;
2
- var W = (p, t, i) => t in p ? B(p, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : p[t] = i;
3
- var z = (p, t, i) => W(p, typeof t != "symbol" ? t + "" : t, i);
4
- import { Vector3 as c, Matrix4 as $, BufferGeometry as Q, BufferAttribute as F } from "three";
5
- const X = /* @__PURE__ */ new c();
6
- function D(p, t, i = new c(), r) {
7
- const { x: s, y: n, z: e } = p, a = t.x, o = t.y, y = t.z, d = s * s * a, u = n * n * o, m = e * e * y, l = d + u + m, h = Math.sqrt(1 / l);
8
- if (!Number.isFinite(h))
1
+ import { Vector3 as h, Matrix4 as j, BufferGeometry as B, BufferAttribute as b } from "three";
2
+ const W = /* @__PURE__ */ new h();
3
+ function C(E, t, i = new h(), s) {
4
+ const { x: r, y: e, z: n } = E, o = t.x, a = t.y, y = t.z, u = r * r * o, d = e * e * a, c = n * n * y, l = u + d + c, p = Math.sqrt(1 / l);
5
+ if (!Number.isFinite(p))
9
6
  return;
10
- const f = X.copy(p).multiplyScalar(h);
11
- if (l < ((r == null ? void 0 : r.centerTolerance) ?? 0.1))
12
- return i.copy(f);
13
- const E = f.multiply(t).multiplyScalar(2);
14
- let M = (1 - h) * p.length() / (E.length() / 2), I = 0, w, x, g, A;
7
+ const x = W.copy(E).multiplyScalar(p);
8
+ if (l < ((s == null ? void 0 : s.centerTolerance) ?? 0.1))
9
+ return i.copy(x);
10
+ const f = x.multiply(t).multiplyScalar(2);
11
+ let m = (1 - p) * E.length() / (f.length() / 2), I = 0, M, w, g, v;
15
12
  do {
16
- M -= I, w = 1 / (1 + M * a), x = 1 / (1 + M * o), g = 1 / (1 + M * y);
17
- const q = w * w, L = x * x, T = g * g, G = q * w, P = L * x, j = T * g;
18
- A = d * q + u * L + m * T - 1, I = A / ((d * G * a + u * P * o + m * j * y) * -2);
19
- } while (Math.abs(A) > 1e-12);
20
- return i.set(s * w, n * x, e * g);
13
+ m -= I, M = 1 / (1 + m * o), w = 1 / (1 + m * a), g = 1 / (1 + m * y);
14
+ const V = M * M, F = w * w, L = g * g, D = V * M, G = F * w, P = L * g;
15
+ v = u * V + d * F + c * L - 1, I = v / ((u * D * o + d * G * a + c * P * y) * -2);
16
+ } while (Math.abs(v) > 1e-12);
17
+ return i.set(r * M, e * w, n * g);
21
18
  }
22
- const N = /* @__PURE__ */ new c(), U = /* @__PURE__ */ new c(), O = /* @__PURE__ */ new c(), V = class V {
23
- constructor(t, i, r) {
24
- z(this, "radii");
25
- this.radii = new c(t, i, r);
19
+ const A = /* @__PURE__ */ new h(), T = /* @__PURE__ */ new h(), U = /* @__PURE__ */ new h(), S = class S {
20
+ constructor(t, i, s) {
21
+ this.radii = new h(t, i, s);
26
22
  }
27
23
  get minimumRadius() {
28
24
  return Math.min(this.radii.x, this.radii.y, this.radii.z);
@@ -30,105 +26,102 @@ const N = /* @__PURE__ */ new c(), U = /* @__PURE__ */ new c(), O = /* @__PURE__
30
26
  get maximumRadius() {
31
27
  return Math.max(this.radii.x, this.radii.y, this.radii.z);
32
28
  }
33
- reciprocalRadii(t = new c()) {
34
- const { x: i, y: r, z: s } = this.radii;
35
- return t.set(1 / i, 1 / r, 1 / s);
29
+ reciprocalRadii(t = new h()) {
30
+ const { x: i, y: s, z: r } = this.radii;
31
+ return t.set(1 / i, 1 / s, 1 / r);
36
32
  }
37
- reciprocalRadiiSquared(t = new c()) {
38
- const { x: i, y: r, z: s } = this.radii;
39
- return t.set(1 / i ** 2, 1 / r ** 2, 1 / s ** 2);
33
+ reciprocalRadiiSquared(t = new h()) {
34
+ const { x: i, y: s, z: r } = this.radii;
35
+ return t.set(1 / i ** 2, 1 / s ** 2, 1 / r ** 2);
40
36
  }
41
- projectOnSurface(t, i = new c(), r) {
42
- return D(
37
+ projectOnSurface(t, i = new h(), s) {
38
+ return C(
43
39
  t,
44
40
  this.reciprocalRadiiSquared(),
45
41
  i,
46
- r
42
+ s
47
43
  );
48
44
  }
49
- getSurfaceNormal(t, i = new c()) {
50
- return i.multiplyVectors(this.reciprocalRadiiSquared(N), t).normalize();
45
+ getSurfaceNormal(t, i = new h()) {
46
+ return i.multiplyVectors(this.reciprocalRadiiSquared(A), t).normalize();
51
47
  }
52
- getEastNorthUpVectors(t, i = new c(), r = new c(), s = new c()) {
53
- this.getSurfaceNormal(t, s), i.set(-t.y, t.x, 0).normalize(), r.crossVectors(s, i).normalize();
48
+ getEastNorthUpVectors(t, i = new h(), s = new h(), r = new h()) {
49
+ this.getSurfaceNormal(t, r), i.set(-t.y, t.x, 0).normalize(), s.crossVectors(r, i).normalize();
54
50
  }
55
- getEastNorthUpFrame(t, i = new $()) {
56
- const r = N, s = U, n = O;
57
- return this.getEastNorthUpVectors(t, r, s, n), i.makeBasis(r, s, n).setPosition(t);
51
+ getEastNorthUpFrame(t, i = new j()) {
52
+ const s = A, r = T, e = U;
53
+ return this.getEastNorthUpVectors(t, s, r, e), i.makeBasis(s, r, e).setPosition(t);
58
54
  }
59
- getIntersection(t, i = new c()) {
60
- const r = this.reciprocalRadii(N), s = U.copy(r).multiply(t.origin), n = O.copy(r).multiply(t.direction), e = s.lengthSq(), a = n.lengthSq(), o = s.dot(n), y = o ** 2 - a * (e - 1);
61
- if (e === 1)
55
+ getIntersection(t, i = new h()) {
56
+ const s = this.reciprocalRadii(A), r = T.copy(s).multiply(t.origin), e = U.copy(s).multiply(t.direction), n = r.lengthSq(), o = e.lengthSq(), a = r.dot(e), y = a ** 2 - o * (n - 1);
57
+ if (n === 1)
62
58
  return i.copy(t.origin);
63
- if (e > 1) {
64
- if (o >= 0 || y < 0)
59
+ if (n > 1) {
60
+ if (a >= 0 || y < 0)
65
61
  return;
66
- const d = Math.sqrt(y), u = (-o - d) / a, m = (-o + d) / a;
67
- return t.at(Math.min(u, m), i);
62
+ const u = Math.sqrt(y), d = (-a - u) / o, c = (-a + u) / o;
63
+ return t.at(Math.min(d, c), i);
68
64
  }
69
- if (e < 1) {
70
- const d = o ** 2 - a * (e - 1), u = Math.sqrt(d), m = (-o + u) / a;
71
- return t.at(m, i);
65
+ if (n < 1) {
66
+ const u = a ** 2 - o * (n - 1), d = Math.sqrt(u), c = (-a + d) / o;
67
+ return t.at(c, i);
72
68
  }
73
- if (o < 0)
74
- return t.at(-o / a, i);
69
+ if (a < 0)
70
+ return t.at(-a / o, i);
75
71
  }
76
- getOsculatingSphereCenter(t, i, r = new c()) {
77
- const s = this.radii.x ** 2, n = N.set(
78
- t.x / s,
79
- t.y / s,
72
+ getOsculatingSphereCenter(t, i, s = new h()) {
73
+ const r = this.radii.x ** 2, e = A.set(
74
+ t.x / r,
75
+ t.y / r,
80
76
  t.z / this.radii.z ** 2
81
77
  ).normalize();
82
- return r.copy(n.multiplyScalar(-i).add(t));
78
+ return s.copy(e.multiplyScalar(-i).add(t));
83
79
  }
84
80
  };
85
- z(V, "WGS84", /* @__PURE__ */ new V(
81
+ S.WGS84 = /* @__PURE__ */ new S(
86
82
  6378137,
87
83
  6378137,
88
84
  6356752314245179e-9
89
- ));
90
- let b = V;
91
- class J extends Q {
92
- constructor(i = new c(1, 1, 1), r = 32, s = 16) {
93
- super();
94
- z(this, "type", "EllipsoidGeometry");
95
- z(this, "parameters");
96
- this.parameters = {
97
- radii: i,
98
- longitudeSegments: r,
85
+ );
86
+ let N = S;
87
+ class Q extends B {
88
+ constructor(t = new h(1, 1, 1), i = 32, s = 16) {
89
+ super(), this.type = "EllipsoidGeometry", this.parameters = {
90
+ radii: t,
91
+ longitudeSegments: i,
99
92
  latitudeSegments: s
100
- }, r = Math.max(3, Math.floor(r)), s = Math.max(2, Math.floor(s));
101
- const n = (r + 1) * (s + 1), e = new c(), a = new c(), o = new Float32Array(n * 3), y = new Float32Array(n * 3), d = new Float32Array(n * 2), u = [], m = [];
102
- for (let l = 0, h = 0, f = 0, E = 0; l <= s; ++l) {
103
- const M = [], I = l / s, w = I * Math.PI;
104
- let x = 0;
105
- l === 0 ? x = 0.5 / r : l === s && (x = -0.5 / r);
106
- for (let g = 0; g <= r; ++g, h += 3, f += 2, ++E) {
107
- const A = g / r, q = A * Math.PI * 2;
108
- e.x = i.x * Math.cos(q) * Math.sin(w), e.y = i.y * Math.sin(q) * Math.sin(w), e.z = i.z * Math.cos(w), o[h] = e.x, o[h + 1] = e.y, o[h + 2] = e.z, a.copy(e).normalize(), y[h] = a.x, y[h + 1] = a.y, y[h + 2] = a.z, d[f] = A + x, d[f + 1] = 1 - I, M.push(E);
93
+ }, i = Math.max(3, Math.floor(i)), s = Math.max(2, Math.floor(s));
94
+ const r = (i + 1) * (s + 1), e = new h(), n = new h(), o = new Float32Array(r * 3), a = new Float32Array(r * 3), y = new Float32Array(r * 2), u = [], d = [];
95
+ for (let c = 0, l = 0, p = 0, x = 0; c <= s; ++c) {
96
+ const f = [], m = c / s, I = m * Math.PI;
97
+ let M = 0;
98
+ c === 0 ? M = 0.5 / i : c === s && (M = -0.5 / i);
99
+ for (let w = 0; w <= i; ++w, l += 3, p += 2, ++x) {
100
+ const g = w / i, v = g * Math.PI * 2;
101
+ e.x = t.x * Math.cos(v) * Math.sin(I), e.y = t.y * Math.sin(v) * Math.sin(I), e.z = t.z * Math.cos(I), o[l] = e.x, o[l + 1] = e.y, o[l + 2] = e.z, n.copy(e).normalize(), a[l] = n.x, a[l + 1] = n.y, a[l + 2] = n.z, y[p] = g + M, y[p + 1] = 1 - m, f.push(x);
109
102
  }
110
- u.push(M);
103
+ u.push(f);
111
104
  }
112
- for (let l = 0; l < s; ++l)
113
- for (let h = 0; h < r; ++h) {
114
- const f = u[l][h + 1], E = u[l][h], M = u[l + 1][h], I = u[l + 1][h + 1];
115
- l !== 0 && m.push(f, E, I), l !== s - 1 && m.push(E, M, I);
105
+ for (let c = 0; c < s; ++c)
106
+ for (let l = 0; l < i; ++l) {
107
+ const p = u[c][l + 1], x = u[c][l], f = u[c + 1][l], m = u[c + 1][l + 1];
108
+ c !== 0 && d.push(p, x, m), c !== s - 1 && d.push(x, f, m);
116
109
  }
117
- this.setIndex(m), this.setAttribute("position", new F(o, 3)), this.setAttribute("normal", new F(y, 3)), this.setAttribute("uv", new F(d, 2));
110
+ this.setIndex(d), this.setAttribute("position", new b(o, 3)), this.setAttribute("normal", new b(a, 3)), this.setAttribute("uv", new b(y, 2));
118
111
  }
119
- copy(i) {
120
- return super.copy(i), this.parameters = { ...i.parameters }, this;
112
+ copy(t) {
113
+ return super.copy(t), this.parameters = { ...t.parameters }, this;
121
114
  }
122
115
  }
123
- const S = /* @__PURE__ */ new c(), R = /* @__PURE__ */ new c(), v = class v {
124
- constructor(t = 0, i = 0, r = 0) {
125
- this.longitude = t, this.latitude = i, this.height = r;
116
+ const q = /* @__PURE__ */ new h(), O = /* @__PURE__ */ new h(), z = class z {
117
+ constructor(t = 0, i = 0, s = 0) {
118
+ this.longitude = t, this.latitude = i, this.height = s;
126
119
  }
127
- set(t, i, r) {
128
- return this.longitude = t, this.latitude = i, r != null && (this.height = r), this;
120
+ set(t, i, s) {
121
+ return this.longitude = t, this.latitude = i, s != null && (this.height = s), this;
129
122
  }
130
123
  clone() {
131
- return new v(this.longitude, this.latitude, this.height);
124
+ return new z(this.longitude, this.latitude, this.height);
132
125
  }
133
126
  copy(t) {
134
127
  return this.longitude = t.longitude, this.latitude = t.latitude, this.height = t.height, this;
@@ -146,38 +139,38 @@ const S = /* @__PURE__ */ new c(), R = /* @__PURE__ */ new c(), v = class v {
146
139
  return this.height = t, this;
147
140
  }
148
141
  normalize() {
149
- return this.longitude < v.MIN_LONGITUDE && (this.longitude += Math.PI * 2), this;
142
+ return this.longitude < z.MIN_LONGITUDE && (this.longitude += Math.PI * 2), this;
150
143
  }
151
144
  // See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
152
145
  // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Geodetic.js#L119
153
146
  setFromECEF(t, i) {
154
- const s = ((i == null ? void 0 : i.ellipsoid) ?? b.WGS84).reciprocalRadiiSquared(S), n = D(
147
+ const r = ((i == null ? void 0 : i.ellipsoid) ?? N.WGS84).reciprocalRadiiSquared(q), e = C(
155
148
  t,
156
- s,
157
- R,
149
+ r,
150
+ O,
158
151
  i
159
152
  );
160
- if (n == null)
153
+ if (e == null)
161
154
  throw new Error(
162
155
  `Could not project position to ellipsoid surface: ${t.toArray()}`
163
156
  );
164
- const e = S.multiplyVectors(n, s).normalize();
165
- this.longitude = Math.atan2(e.y, e.x), this.latitude = Math.asin(e.z);
166
- const a = S.subVectors(t, n);
167
- return this.height = Math.sign(a.dot(t)) * a.length(), this;
157
+ const n = q.multiplyVectors(e, r).normalize();
158
+ this.longitude = Math.atan2(n.y, n.x), this.latitude = Math.asin(n.z);
159
+ const o = q.subVectors(t, e);
160
+ return this.height = Math.sign(o.dot(t)) * o.length(), this;
168
161
  }
169
162
  // See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
170
163
  // Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Cartesian3.js#L916
171
- toECEF(t = new c(), i) {
172
- const r = (i == null ? void 0 : i.ellipsoid) ?? b.WGS84, s = S.multiplyVectors(
173
- r.radii,
174
- r.radii
175
- ), n = Math.cos(this.latitude), e = R.set(
176
- n * Math.cos(this.longitude),
177
- n * Math.sin(this.longitude),
164
+ toECEF(t = new h(), i) {
165
+ const s = (i == null ? void 0 : i.ellipsoid) ?? N.WGS84, r = q.multiplyVectors(
166
+ s.radii,
167
+ s.radii
168
+ ), e = Math.cos(this.latitude), n = O.set(
169
+ e * Math.cos(this.longitude),
170
+ e * Math.sin(this.longitude),
178
171
  Math.sin(this.latitude)
179
172
  ).normalize();
180
- return t.multiplyVectors(s, e), t.divideScalar(Math.sqrt(e.dot(t))).add(e.multiplyScalar(this.height));
173
+ return t.multiplyVectors(r, n), t.divideScalar(Math.sqrt(n.dot(t))).add(n.multiplyScalar(this.height));
181
174
  }
182
175
  fromArray(t, i = 0) {
183
176
  return this.longitude = t[i], this.latitude = t[i + 1], this.height = t[i + 2], this;
@@ -189,11 +182,11 @@ const S = /* @__PURE__ */ new c(), R = /* @__PURE__ */ new c(), v = class v {
189
182
  yield this.longitude, yield this.latitude, yield this.height;
190
183
  }
191
184
  };
192
- z(v, "MIN_LONGITUDE", -Math.PI), z(v, "MAX_LONGITUDE", Math.PI), z(v, "MIN_LATITUDE", -Math.PI / 2), z(v, "MAX_LATITUDE", Math.PI / 2);
193
- let C = v;
185
+ z.MIN_LONGITUDE = -Math.PI, z.MAX_LONGITUDE = Math.PI, z.MIN_LATITUDE = -Math.PI / 2, z.MAX_LATITUDE = Math.PI / 2;
186
+ let R = z;
194
187
  export {
195
- b as E,
196
- C as G,
197
- J as a
188
+ N as E,
189
+ R as G,
190
+ Q as a
198
191
  };
199
192
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sources":["../src/helpers/projectOnEllipsoidSurface.ts","../src/Ellipsoid.ts","../src/EllipsoidGeometry.ts","../src/Geodetic.ts"],"sourcesContent":null,"names":["vectorScratch","Vector3","projectOnEllipsoidSurface","position","reciprocalRadiiSquared","result","options","x","y","z","rx","ry","rz","x2","y2","z2","normSquared","ratio","intersection","gradient","lambda","correction","sx","sy","sz","error","sx2","sy2","sz2","sx3","sy3","sz3","vectorScratch1","vectorScratch2","vectorScratch3","_Ellipsoid","__publicField","east","north","up","Matrix4","ray","reciprocalRadii","p","d","p2","d2","pd","discriminant","Q","t1","t2","t","surfacePosition","radius","xySquared","normal","Ellipsoid","EllipsoidGeometry","BufferGeometry","radii","longitudeSegments","latitudeSegments","elementCount","vertex","vertices","normals","uvs","grid","indices","vertexIndex","uvIndex","rowIndex","rowIndices","v","phi","uOffset","u","theta","a","b","c","BufferAttribute","source","_Geodetic","longitude","latitude","height","other","value","projection","ellipsoid","radiiSquared","cosLatitude","array","offset","Geodetic"],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sources":["../src/helpers/projectOnEllipsoidSurface.ts","../src/Ellipsoid.ts","../src/EllipsoidGeometry.ts","../src/Geodetic.ts"],"sourcesContent":null,"names":["vectorScratch","Vector3","projectOnEllipsoidSurface","position","reciprocalRadiiSquared","result","options","x","y","z","rx","ry","rz","x2","y2","z2","normSquared","ratio","intersection","gradient","lambda","correction","sx","sy","sz","error","sx2","sy2","sz2","sx3","sy3","sz3","vectorScratch1","vectorScratch2","vectorScratch3","_Ellipsoid","east","north","up","Matrix4","ray","reciprocalRadii","p","d","p2","d2","pd","discriminant","Q","t1","t2","t","surfacePosition","radius","xySquared","normal","Ellipsoid","EllipsoidGeometry","BufferGeometry","radii","longitudeSegments","latitudeSegments","elementCount","vertex","vertices","normals","uvs","grid","indices","vertexIndex","uvIndex","rowIndex","rowIndices","v","phi","uOffset","u","theta","a","b","c","BufferAttribute","source","_Geodetic","longitude","latitude","height","other","value","projection","ellipsoid","radiiSquared","cosLatitude","array","offset","Geodetic"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,22 @@
1
1
  {
2
2
  "name": "@takram/three-geospatial",
3
- "version": "0.0.1-alpha.7",
3
+ "version": "0.0.1-alpha.9",
4
+ "description": "Provides fundamental functions for rendering GIS data in Three.js and R3F",
5
+ "keywords": [
6
+ "three",
7
+ "three.js",
8
+ "geospatial"
9
+ ],
10
+ "homepage": "https://github.com/takram-design-engineering/three-geospatial/tree/main/packages/core",
11
+ "bugs": {
12
+ "url": "https://github.com/takram-design-engineering/three-geospatial/issues"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/takram-design-engineering/three-geospatial.git"
17
+ },
4
18
  "license": "MIT",
19
+ "author": "Shota Matsuda <shota@takram.com>",
5
20
  "type": "module",
6
21
  "exports": {
7
22
  ".": {
@@ -24,6 +39,7 @@
24
39
  "module": "./build/index.js",
25
40
  "types": "./types/index.d.ts",
26
41
  "files": [
42
+ "assets",
27
43
  "build",
28
44
  "src",
29
45
  "types",
@@ -31,7 +47,9 @@
31
47
  "README.md"
32
48
  ],
33
49
  "dependencies": {
50
+ "@petamoriken/float16": "^3.9.1",
34
51
  "react-merge-refs": "^2.1.1",
52
+ "three-stdlib": "2.35.14",
35
53
  "tiny-invariant": "^1.3.3",
36
54
  "type-fest": "^4.33.0"
37
55
  },
package/src/DataLoader.ts CHANGED
@@ -1,28 +1,28 @@
1
1
  import {
2
2
  ByteType,
3
- ClampToEdgeWrapping,
4
3
  Data3DTexture,
5
4
  DataTexture,
6
5
  FloatType,
6
+ HalfFloatType,
7
+ IntType,
7
8
  LinearFilter,
8
9
  Loader,
9
10
  RGBAFormat,
11
+ ShortType,
10
12
  UnsignedByteType,
11
- type TypedArray
13
+ UnsignedIntType,
14
+ UnsignedShortType,
15
+ type TextureDataType
12
16
  } from 'three'
17
+ import invariant from 'tiny-invariant'
13
18
  import { type Class, type WritableKeysOf } from 'type-fest'
14
19
 
15
- import { getTypedArrayElementType } from './typedArray'
20
+ import { Float16Array, type TypedArray } from './typedArray'
16
21
  import {
17
22
  createTypedArrayLoaderClass,
18
23
  type TypedArrayLoader
19
24
  } from './TypedArrayLoader'
20
- import {
21
- parseFloat32Array,
22
- parseInt16Array,
23
- parseUint16Array,
24
- type TypedArrayParser
25
- } from './typedArrayParsers'
25
+ import { type TypedArrayParser } from './typedArrayParsers'
26
26
  import { type Callable } from './types'
27
27
 
28
28
  // TODO: Move to types
@@ -30,18 +30,33 @@ type ParameterProperties<T> = {
30
30
  [K in WritableKeysOf<T> as T[K] extends Callable ? never : K]: T[K]
31
31
  }
32
32
 
33
- export type DataTextureParameters = Omit<
34
- Partial<ParameterProperties<DataTexture>>,
35
- 'image'
36
- > & {
33
+ function getTextureDataType(array: TypedArray): TextureDataType {
34
+ // prettier-ignore
35
+ const type = (
36
+ array instanceof Int8Array ? ByteType :
37
+ array instanceof Uint8Array ? UnsignedByteType :
38
+ array instanceof Uint8ClampedArray ? UnsignedByteType :
39
+ array instanceof Int16Array ? ShortType :
40
+ array instanceof Uint16Array ? UnsignedShortType :
41
+ array instanceof Int32Array ? IntType :
42
+ array instanceof Uint32Array ? UnsignedIntType :
43
+ array instanceof Float16Array ? HalfFloatType :
44
+ array instanceof Float32Array ? FloatType :
45
+ array instanceof Float64Array ? FloatType :
46
+ null
47
+ )
48
+ invariant(type != null)
49
+ return type
50
+ }
51
+
52
+ export interface DataTextureParameters
53
+ extends Omit<Partial<ParameterProperties<DataTexture>>, 'image'> {
37
54
  width?: number
38
55
  height?: number
39
56
  }
40
57
 
41
- export type Data3DTextureParameters = Omit<
42
- Partial<ParameterProperties<Data3DTexture>>,
43
- 'image'
44
- > & {
58
+ export interface Data3DTextureParameters
59
+ extends Omit<Partial<ParameterProperties<Data3DTexture>>, 'image'> {
45
60
  width?: number
46
61
  height?: number
47
62
  depth?: number
@@ -49,8 +64,6 @@ export type Data3DTextureParameters = Omit<
49
64
 
50
65
  const defaultDataTextureParameter = {
51
66
  format: RGBAFormat,
52
- wrapS: ClampToEdgeWrapping,
53
- wrapT: ClampToEdgeWrapping,
54
67
  minFilter: LinearFilter,
55
68
  magFilter: LinearFilter
56
69
  } satisfies DataTextureParameters & Data3DTextureParameters
@@ -78,7 +91,8 @@ export abstract class DataLoader<
78
91
  loader.load(
79
92
  url,
80
93
  array => {
81
- texture.image.data = array as typeof texture.image.data
94
+ texture.image.data =
95
+ array instanceof Float16Array ? new Uint16Array(array.buffer) : array
82
96
  const { width, height, depth, ...params } = this.parameters
83
97
  if (width != null) {
84
98
  texture.image.width = width
@@ -91,13 +105,7 @@ export abstract class DataLoader<
91
105
  }
92
106
 
93
107
  // Populate the default texture type for the array type.
94
- const type = getTypedArrayElementType(array)
95
- texture.type =
96
- type === 'uint8'
97
- ? UnsignedByteType
98
- : type === 'int8'
99
- ? ByteType
100
- : FloatType
108
+ texture.type = getTextureDataType(array)
101
109
 
102
110
  Object.assign(texture, params)
103
111
  texture.needsUpdate = true
@@ -154,19 +162,3 @@ export function createDataTextureLoader<T extends TypedArray>(
154
162
  ): DataLoader<DataTexture, T> {
155
163
  return new (createDataTextureLoaderClass(parser, parameters))()
156
164
  }
157
-
158
- /** @deprecated Use createDataTextureLoaderClass instead. */
159
- export const Int16Data2DLoader =
160
- /*#__PURE__*/ createDataTextureLoaderClass(parseInt16Array)
161
-
162
- /** @deprecated Use createDataTextureLoaderClass instead. */
163
- export const Uint16Data2DLoader =
164
- /*#__PURE__*/ createDataTextureLoaderClass(parseUint16Array)
165
-
166
- /** @deprecated Use createDataTextureLoaderClass instead. */
167
- export const Float32Data2DLoader =
168
- /*#__PURE__*/ createDataTextureLoaderClass(parseFloat32Array)
169
-
170
- /** @deprecated Use createData3DTextureLoaderClass instead. */
171
- export const Float32Data3DLoader =
172
- /*#__PURE__*/ createData3DTextureLoaderClass(parseFloat32Array)
@@ -0,0 +1,48 @@
1
+ import { Data3DTexture, Loader } from 'three'
2
+ import { EXRLoader } from 'three-stdlib'
3
+
4
+ export class EXR3DLoader extends Loader<Data3DTexture> {
5
+ depth?: number
6
+
7
+ setDepth(value: number): this {
8
+ this.depth = value
9
+ return this
10
+ }
11
+
12
+ override load(
13
+ url: string,
14
+ onLoad: (data: Data3DTexture) => void,
15
+ onProgress?: (event: ProgressEvent) => void,
16
+ onError?: (error: unknown) => void
17
+ ): void {
18
+ const loader = new EXRLoader(this.manager)
19
+ loader.setRequestHeader(this.requestHeader)
20
+ loader.setPath(this.path)
21
+ loader.setWithCredentials(this.withCredentials)
22
+ loader.load(
23
+ url,
24
+ exr => {
25
+ const { data, width, height } = exr.image
26
+ const depth = this.depth ?? Math.sqrt(height)
27
+ const texture = new Data3DTexture(data, width, height / depth, depth)
28
+ texture.type = exr.type
29
+ texture.format = exr.format
30
+ texture.colorSpace = exr.colorSpace
31
+ texture.needsUpdate = true
32
+
33
+ try {
34
+ onLoad(texture)
35
+ } catch (error) {
36
+ if (onError != null) {
37
+ onError(error)
38
+ } else {
39
+ console.error(error)
40
+ }
41
+ this.manager.itemError(url)
42
+ }
43
+ },
44
+ onProgress,
45
+ onError
46
+ )
47
+ }
48
+ }
@@ -59,8 +59,8 @@ export class Texture3DLoader extends Loader<Data3DTexture> {
59
59
  texture.minFilter = LinearFilter
60
60
  texture.magFilter = LinearFilter
61
61
  texture.wrapS = RepeatWrapping
62
- texture.wrapR = RepeatWrapping
63
62
  texture.wrapT = RepeatWrapping
63
+ texture.wrapR = RepeatWrapping
64
64
  texture.needsUpdate = true
65
65
 
66
66
  try {