@realsee/five 6.7.0-alpha.8 → 6.7.0

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.
Files changed (212) hide show
  1. package/docs/assets/hierarchy.js +1 -1
  2. package/docs/assets/navigation.js +1 -1
  3. package/docs/assets/search.js +1 -1
  4. package/docs/classes/five.AdaptiveLuminancePass.html +22 -0
  5. package/docs/classes/five.AnimationFrameLoop.html +4 -4
  6. package/docs/classes/five.BoundingMesh.html +4 -0
  7. package/docs/classes/five.Camera.html +6 -5
  8. package/docs/classes/five.EffectComposer.html +21 -0
  9. package/docs/classes/five.EyeDomeLightingPass.html +21 -0
  10. package/docs/classes/five.Five.html +90 -76
  11. package/docs/classes/five.FivePass.html +18 -0
  12. package/docs/classes/five.FiveRenderer.html +9 -0
  13. package/docs/classes/five.FullScreenQuad.html +6 -0
  14. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  15. package/docs/classes/five.Model.html +32 -31
  16. package/docs/classes/five.ModelScene.html +23 -20
  17. package/docs/classes/five.NetworkSubscribe.html +1 -1
  18. package/docs/classes/five.PBMContainer.html +1 -1
  19. package/docs/classes/five.PBMGroup.html +1 -1
  20. package/docs/classes/five.PBMMesh.html +1 -1
  21. package/docs/classes/five.PBMMeshMaterial.html +6 -7
  22. package/docs/classes/five.PBMPointCloud.html +1 -1
  23. package/docs/classes/five.PBMPointCloudMaterial.html +5 -6
  24. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  25. package/docs/classes/five.PanoCircleMesh.html +3 -3
  26. package/docs/classes/five.PanoCircleMeshCustom.html +4 -4
  27. package/docs/classes/five.PanoCircleMeshSolid.html +5 -5
  28. package/docs/classes/five.Parameter.html +44 -47
  29. package/docs/classes/five.Scene.html +1 -1
  30. package/docs/classes/five.Subscribe.html +1 -1
  31. package/docs/classes/five.TextureLoader.html +2 -2
  32. package/docs/classes/five.Tile3D.html +21 -21
  33. package/docs/classes/five.TileNode.html +4 -3
  34. package/docs/classes/five.Tileset.html +4 -4
  35. package/docs/classes/five.TrajectoryNode.html +1 -1
  36. package/docs/classes/five.Work.html +16 -16
  37. package/docs/classes/five.WorkResolvedObserver.html +20 -21
  38. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  39. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  40. package/docs/classes/gltf-loader.GLTFLoader.html +1 -1
  41. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  42. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  43. package/docs/classes/line.Line.html +1 -1
  44. package/docs/classes/line.LineGeometry.html +1 -1
  45. package/docs/classes/line.LineMaterial.html +1 -1
  46. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  47. package/docs/classes/line.THREE_Line2.html +1 -1
  48. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  49. package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
  50. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  51. package/docs/classes/sticker.Sticker.html +1 -1
  52. package/docs/classes/vfx.Airflow.html +1 -1
  53. package/docs/classes/vfx.Flame.html +1 -1
  54. package/docs/classes/vfx.Particle.html +1 -1
  55. package/docs/classes/vfx.ParticleGPU.html +1 -1
  56. package/docs/classes/vfx.SpotLight.html +1 -1
  57. package/docs/functions/five.loadAt3d.html +1 -1
  58. package/docs/functions/five.parseWork.html +1 -1
  59. package/docs/functions/five.workToJson.html +1 -1
  60. package/docs/functions/plugins.DynamicPathLinePlugin.html +1 -0
  61. package/docs/functions/react.withFive.html +1 -1
  62. package/docs/functions/vue.useFiveWorks.html +2 -2
  63. package/docs/hierarchy.html +1 -1
  64. package/docs/interfaces/five.AddableObject.html +1 -1
  65. package/docs/interfaces/five.AjaxOptions.html +1 -1
  66. package/docs/interfaces/five.AnimationFrame.html +3 -2
  67. package/docs/interfaces/five.AnimationFrameContext.html +2 -2
  68. package/docs/interfaces/five.BaseEvent.html +1 -1
  69. package/docs/interfaces/five.EventCallback.html +1 -1
  70. package/docs/interfaces/five.FiveInitArgs.html +3 -3
  71. package/docs/interfaces/five.FiveLoadOptions.html +8 -10
  72. package/docs/interfaces/five.GestureEvent.html +1 -1
  73. package/docs/interfaces/five.ImageOptions.html +1 -1
  74. package/docs/interfaces/five.IntersectEvent.html +1 -1
  75. package/docs/interfaces/five.IntersectMesh.html +2 -2
  76. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  77. package/docs/interfaces/five.Intersection.html +1 -1
  78. package/docs/interfaces/five.LoosePanoWork.html +2 -2
  79. package/docs/interfaces/five.LooseWork.html +2 -2
  80. package/docs/interfaces/five.LooseWorkInitial.html +2 -2
  81. package/docs/interfaces/five.LooseWorkModel.html +3 -2
  82. package/docs/interfaces/five.LooseWorkObserver.html +3 -2
  83. package/docs/interfaces/five.LooseWorkPanorama.html +8 -8
  84. package/docs/interfaces/five.LooseWorkVideo.html +2 -2
  85. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +7 -7
  86. package/docs/interfaces/five.ModeChangeEvent.html +2 -2
  87. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +5 -3
  88. package/docs/interfaces/five.ModelEvent.html +2 -2
  89. package/docs/interfaces/five.ModelOptions.html +11 -0
  90. package/docs/interfaces/five.ModelSceneEvent.html +2 -2
  91. package/docs/interfaces/five.MovePanoOptions.html +1 -1
  92. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  93. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  94. package/docs/interfaces/five.NetworkOptions.html +1 -1
  95. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  96. package/docs/interfaces/five.NetworkResourceEvent.html +2 -2
  97. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  98. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  99. package/docs/interfaces/five.ObjectEvent.html +2 -2
  100. package/docs/interfaces/five.PBMMaterial.html +1 -1
  101. package/docs/interfaces/five.PBMMeshMaterialParameters.html +2 -3
  102. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -3
  103. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  104. package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +2 -2
  105. package/docs/interfaces/five.PanoEvent.html +1 -1
  106. package/docs/interfaces/five.PanoTextureEvent.html +1 -1
  107. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +12 -10
  108. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +5 -3
  109. package/docs/interfaces/five.ParameterMaterialValue.html +29 -31
  110. package/docs/interfaces/five.ParameterTilesetValue.html +15 -16
  111. package/docs/interfaces/five.ParameterValue.html +43 -46
  112. package/docs/interfaces/five.Pass.html +9 -0
  113. package/docs/interfaces/five.Pose.html +1 -1
  114. package/docs/interfaces/five.RenderEvent.html +2 -2
  115. package/docs/interfaces/five.ResolvedParameterValue.html +43 -46
  116. package/docs/interfaces/five.State.html +1 -1
  117. package/docs/interfaces/five.StateEvent.html +1 -1
  118. package/docs/interfaces/five.TextureOptions.html +1 -1
  119. package/docs/interfaces/five.TilesetOptions.html +2 -2
  120. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -3
  121. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +12 -10
  122. package/docs/interfaces/five.ViewLayer.html +21 -21
  123. package/docs/interfaces/five.WorkCubeImage.html +2 -2
  124. package/docs/interfaces/five.WorkImage.html +5 -3
  125. package/docs/interfaces/five.WorkInitial.html +8 -8
  126. package/docs/interfaces/five.WorkModel.html +9 -7
  127. package/docs/interfaces/five.WorkModelJson.html +3 -2
  128. package/docs/interfaces/five.WorkModelLayer.html +7 -2
  129. package/docs/interfaces/five.WorkModelLayerJson.html +2 -2
  130. package/docs/interfaces/five.WorkObserver.html +21 -22
  131. package/docs/interfaces/five.WorkObserverJson.html +4 -2
  132. package/docs/interfaces/five.WorkPanoramaJson.html +2 -2
  133. package/docs/interfaces/five.WorkPanoramasJson.html +2 -2
  134. package/docs/interfaces/five.WorkTile.html +4 -4
  135. package/docs/interfaces/five.WorkVideo.html +4 -4
  136. package/docs/interfaces/five.WorksEvent.html +2 -3
  137. package/docs/interfaces/five.XRControllerEvent.html +1 -1
  138. package/docs/interfaces/five.XRGestureEvent.html +1 -1
  139. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +12 -10
  140. package/docs/interfaces/five.XRSessionEvent.html +1 -1
  141. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  142. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  143. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  144. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +83 -0
  145. package/docs/interfaces/plugins.DynamicPathLinePluginType.Config.html +36 -0
  146. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +26 -0
  147. package/docs/interfaces/plugins.DynamicPathLinePluginType.Params.html +6 -0
  148. package/docs/interfaces/plugins.DynamicPathLinePluginType.PathConfig.html +28 -0
  149. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +10 -0
  150. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  151. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  152. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  153. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  154. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  155. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  156. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  157. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  158. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  159. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  160. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  161. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  162. package/docs/interfaces/react.FiveInjectionTypes.html +4 -4
  163. package/docs/modules/five.html +1 -1
  164. package/docs/modules/plugins.DynamicPathLinePluginType.html +1 -0
  165. package/docs/modules/plugins.html +1 -1
  166. package/docs/types/five.AnimationFrameLoopType.html +1 -1
  167. package/docs/types/five.Models.html +4 -4
  168. package/docs/types/five.ParseOptions.html +6 -6
  169. package/docs/types/five.PostProcessingType.html +1 -1
  170. package/docs/types/five.RequestAnimationFrameArgs.html +1 -0
  171. package/docs/types/five.TilesetFrameState.html +2 -3
  172. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  173. package/docs/types/plugins.DynamicPathLinePluginType.PluginData.html +3 -0
  174. package/docs/types/plugins.DynamicPathLinePluginType.ServerData.html +3 -0
  175. package/docs/types/vue.FiveProviderComponent.html +1 -1
  176. package/five/index.d.ts +311 -85
  177. package/five/index.js +299 -198
  178. package/five/index.mjs +6822 -6456
  179. package/gltf-loader/index.js +3 -3
  180. package/gltf-loader/index.mjs +146 -146
  181. package/line/index.js +3 -3
  182. package/line/index.mjs +10 -10
  183. package/package.json +1 -1
  184. package/plugins/index.d.ts +314 -0
  185. package/plugins/index.js +296 -15
  186. package/plugins/index.mjs +2615 -1503
  187. package/react/index.d.ts +1 -1
  188. package/react/index.js +2 -2
  189. package/react/index.mjs +2 -2
  190. package/shader-lib/index.d.ts +24 -1
  191. package/shader-lib/index.js +22 -13
  192. package/shader-lib/index.mjs +408 -171
  193. package/sticker/index.js +3 -3
  194. package/sticker/index.mjs +7 -7
  195. package/umd/five-gltf-loader.js +3 -3
  196. package/umd/five-line.js +3 -3
  197. package/umd/five-plugins.js +296 -15
  198. package/umd/five-react.js +2 -2
  199. package/umd/five-shader-lib.js +22 -13
  200. package/umd/five-sticker.js +3 -3
  201. package/umd/five-vfx.js +2 -2
  202. package/umd/five-vue.js +2 -2
  203. package/umd/five.js +299 -198
  204. package/vfx/index.js +2 -2
  205. package/vfx/index.mjs +2 -2
  206. package/vue/index.d.ts +1 -1
  207. package/vue/index.js +2 -2
  208. package/vue/index.mjs +2 -2
  209. package/work-downloader/index.js +3 -3
  210. package/work-downloader/index.mjs +13 -11
  211. package/docs/interfaces/five.ModelLike.html +0 -3
  212. package/docs/types/five.Tile3dOptions.html +0 -1
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 10/23/2025
5
- * Version: 6.7.0-alpha.8
4
+ * Generated: 12/29/2025
5
+ * Version: 6.7.0
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -252,30 +252,117 @@
252
252
  * No amendment to or modification of this Agreement will be binding unless in
253
253
  * writing and signed by Realsee. You and Realsee hereto confirm that this
254
254
  * Agreement and all related documents shall be drafted in English.
255
- */import { CustomShader as C } from "@realsee/five";
256
- import * as r from "three";
257
- var B = function(i, e) {
258
- return B = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(n, t) {
259
- n.__proto__ = t;
260
- } || function(n, t) {
261
- for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (n[o] = t[o]);
262
- }, B(i, e);
255
+ */import { CustomShader as F } from "@realsee/five";
256
+ import * as l from "three";
257
+ var M = function(i, e) {
258
+ return M = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(n, o) {
259
+ n.__proto__ = o;
260
+ } || function(n, o) {
261
+ for (var t in o) Object.prototype.hasOwnProperty.call(o, t) && (n[t] = o[t]);
262
+ }, M(i, e);
263
263
  };
264
- function S(i, e) {
264
+ function B(i, e) {
265
265
  if (typeof e != "function" && e !== null)
266
266
  throw new TypeError("Class extends value " + String(e) + " is not a constructor or null");
267
- B(i, e);
267
+ M(i, e);
268
268
  function n() {
269
269
  this.constructor = i;
270
270
  }
271
271
  i.prototype = e === null ? Object.create(e) : (n.prototype = e.prototype, new n());
272
272
  }
273
- function U(i, e, n) {
274
- if (n || arguments.length === 2) for (var t = 0, o = e.length, l; t < o; t++)
275
- (l || !(t in e)) && (l || (l = Array.prototype.slice.call(e, 0, t)), l[t] = e[t]);
276
- return i.concat(l || Array.prototype.slice.call(e));
273
+ function A(i, e, n, o) {
274
+ function t(r) {
275
+ return r instanceof n ? r : new n(function(s) {
276
+ s(r);
277
+ });
278
+ }
279
+ return new (n || (n = Promise))(function(r, s) {
280
+ function f(u) {
281
+ try {
282
+ a(o.next(u));
283
+ } catch (v) {
284
+ s(v);
285
+ }
286
+ }
287
+ function c(u) {
288
+ try {
289
+ a(o.throw(u));
290
+ } catch (v) {
291
+ s(v);
292
+ }
293
+ }
294
+ function a(u) {
295
+ u.done ? r(u.value) : t(u.value).then(f, c);
296
+ }
297
+ a((o = o.apply(i, e || [])).next());
298
+ });
277
299
  }
278
- var I = `
300
+ function k(i, e) {
301
+ var n = { label: 0, sent: function() {
302
+ if (r[0] & 1) throw r[1];
303
+ return r[1];
304
+ }, trys: [], ops: [] }, o, t, r, s = Object.create((typeof Iterator == "function" ? Iterator : Object).prototype);
305
+ return s.next = f(0), s.throw = f(1), s.return = f(2), typeof Symbol == "function" && (s[Symbol.iterator] = function() {
306
+ return this;
307
+ }), s;
308
+ function f(a) {
309
+ return function(u) {
310
+ return c([a, u]);
311
+ };
312
+ }
313
+ function c(a) {
314
+ if (o) throw new TypeError("Generator is already executing.");
315
+ for (; s && (s = 0, a[0] && (n = 0)), n; ) try {
316
+ if (o = 1, t && (r = a[0] & 2 ? t.return : a[0] ? t.throw || ((r = t.return) && r.call(t), 0) : t.next) && !(r = r.call(t, a[1])).done) return r;
317
+ switch (t = 0, r && (a = [a[0] & 2, r.value]), a[0]) {
318
+ case 0:
319
+ case 1:
320
+ r = a;
321
+ break;
322
+ case 4:
323
+ return n.label++, { value: a[1], done: !1 };
324
+ case 5:
325
+ n.label++, t = a[1], a = [0];
326
+ continue;
327
+ case 7:
328
+ a = n.ops.pop(), n.trys.pop();
329
+ continue;
330
+ default:
331
+ if (r = n.trys, !(r = r.length > 0 && r[r.length - 1]) && (a[0] === 6 || a[0] === 2)) {
332
+ n = 0;
333
+ continue;
334
+ }
335
+ if (a[0] === 3 && (!r || a[1] > r[0] && a[1] < r[3])) {
336
+ n.label = a[1];
337
+ break;
338
+ }
339
+ if (a[0] === 6 && n.label < r[1]) {
340
+ n.label = r[1], r = a;
341
+ break;
342
+ }
343
+ if (r && n.label < r[2]) {
344
+ n.label = r[2], n.ops.push(a);
345
+ break;
346
+ }
347
+ r[2] && n.ops.pop(), n.trys.pop();
348
+ continue;
349
+ }
350
+ a = e.call(i, n);
351
+ } catch (u) {
352
+ a = [6, u], t = 0;
353
+ } finally {
354
+ o = r = 0;
355
+ }
356
+ if (a[0] & 5) throw a[1];
357
+ return { value: a[0] ? a[1] : void 0, done: !0 };
358
+ }
359
+ }
360
+ function I(i, e, n) {
361
+ if (n || arguments.length === 2) for (var o = 0, t = e.length, r; o < t; o++)
362
+ (r || !(o in e)) && (r || (r = Array.prototype.slice.call(e, 0, o)), r[o] = e[o]);
363
+ return i.concat(r || Array.prototype.slice.call(e));
364
+ }
365
+ var R = `
279
366
  #if defined(USE_PLANE_DISTANCE)
280
367
  struct Plane {
281
368
  vec3 normal;
@@ -286,7 +373,7 @@ var I = `
286
373
  uniform float evennessPlaneConstant;
287
374
  uniform float evennessPlaneDepth;
288
375
  #endif
289
- `, A = `
376
+ `, V = `
290
377
  #if defined(USE_PLANE_DISTANCE)
291
378
 
292
379
  bool inside = true;
@@ -306,28 +393,28 @@ var I = `
306
393
  }
307
394
  }
308
395
  #endif
309
- `, J = "", V = {
396
+ `, W = "", L = {
310
397
  type: ["pointcloud"],
311
398
  fragment: {
312
- mainBefore: I,
313
- mainStart: J,
314
- mainEnd: A
399
+ mainBefore: R,
400
+ mainStart: W,
401
+ mainEnd: V
315
402
  },
316
403
  uniforms: {
317
- evennessPlaneNormal: new r.Uniform(new r.Vector3()),
318
- evennessPlaneConstant: new r.Uniform(0),
319
- evennessPlanes: new r.Uniform([]),
320
- evennessPlaneDepth: new r.Uniform(0)
404
+ evennessPlaneNormal: new l.Uniform(new l.Vector3()),
405
+ evennessPlaneConstant: new l.Uniform(0),
406
+ evennessPlanes: new l.Uniform([]),
407
+ evennessPlaneDepth: new l.Uniform(0)
321
408
  },
322
409
  defines: {
323
410
  USE_PLANE_DISTANCE: !1
324
411
  }
325
- }, Z = (
412
+ }, tn = (
326
413
  /** @class */
327
414
  (function(i) {
328
- S(e, i);
415
+ B(e, i);
329
416
  function e() {
330
- var n = i.call(this, V) || this;
417
+ var n = i.call(this, L) || this;
331
418
  return Object.defineProperties(n, {
332
419
  evennessPlane: {
333
420
  get: function() {
@@ -336,21 +423,21 @@ var I = `
336
423
  points: this.uniforms.evennessPoints.value
337
424
  };
338
425
  },
339
- set: function(t) {
340
- var o = t.points, l = t.depth, m = !1;
341
- if (o.length !== 0 && o.length % 4 === 0) {
342
- m = !0;
343
- var v = o[0], u = o[1], p = o[2], a = o[3], g = new r.Vector3().subVectors(u, v), x = new r.Vector3().subVectors(p, v), c = new r.Vector3().crossVectors(g, x).normalize(), h = -c.dot(v), s = l, d = v.clone().add(c.clone().negate().multiplyScalar(s)), f = v.clone().add(c.clone().multiplyScalar(s)), y = u.clone().add(c.clone().negate().multiplyScalar(s)), E = u.clone().add(c.clone().multiplyScalar(s)), _ = p.clone().add(c.clone().negate().multiplyScalar(s)), P = p.clone().add(c.clone().multiplyScalar(s)), w = a.clone().add(c.clone().negate().multiplyScalar(s)), F = a.clone().add(c.clone().multiplyScalar(s)), z = new r.Plane().setFromCoplanarPoints(f, E, P), N = new r.Plane().setFromCoplanarPoints(_, y, d), M = new r.Plane().setFromCoplanarPoints(E, f, d), O = new r.Plane().setFromCoplanarPoints(w, F, P), T = new r.Plane().setFromCoplanarPoints(P, E, y), D = new r.Plane().setFromCoplanarPoints(d, f, F);
426
+ set: function(o) {
427
+ var t = o.points, r = o.depth, s = !1;
428
+ if (t.length !== 0 && t.length % 4 === 0) {
429
+ s = !0;
430
+ var f = t[0], c = t[1], a = t[2], u = t[3], v = new l.Vector3().subVectors(c, f), h = new l.Vector3().subVectors(a, f), m = new l.Vector3().crossVectors(v, h).normalize(), y = -m.dot(f), p = r, g = f.clone().add(m.clone().negate().multiplyScalar(p)), d = f.clone().add(m.clone().multiplyScalar(p)), x = c.clone().add(m.clone().negate().multiplyScalar(p)), P = c.clone().add(m.clone().multiplyScalar(p)), w = a.clone().add(m.clone().negate().multiplyScalar(p)), E = a.clone().add(m.clone().multiplyScalar(p)), b = u.clone().add(m.clone().negate().multiplyScalar(p)), C = u.clone().add(m.clone().multiplyScalar(p)), S = new l.Plane().setFromCoplanarPoints(d, P, E), _ = new l.Plane().setFromCoplanarPoints(w, x, g), z = new l.Plane().setFromCoplanarPoints(P, d, g), N = new l.Plane().setFromCoplanarPoints(b, C, E), D = new l.Plane().setFromCoplanarPoints(E, P, x), O = new l.Plane().setFromCoplanarPoints(g, d, C);
344
431
  this.uniforms.evennessPlanes.value = [
432
+ { normal: S.normal, constant: S.constant },
433
+ { normal: _.normal, constant: _.constant },
345
434
  { normal: z.normal, constant: z.constant },
346
435
  { normal: N.normal, constant: N.constant },
347
- { normal: M.normal, constant: M.constant },
348
- { normal: O.normal, constant: O.constant },
349
- { normal: T.normal, constant: T.constant },
350
- { normal: D.normal, constant: D.constant }
351
- ], this.uniforms.evennessPlaneDepth.value = l, this.uniforms.evennessPlaneNormal.value = c, this.uniforms.evennessPlaneConstant.value = h;
436
+ { normal: D.normal, constant: D.constant },
437
+ { normal: O.normal, constant: O.constant }
438
+ ], this.uniforms.evennessPlaneDepth.value = r, this.uniforms.evennessPlaneNormal.value = m, this.uniforms.evennessPlaneConstant.value = y;
352
439
  }
353
- this.defines.USE_PLANE_DISTANCE = m, this.needsUpdate = !0;
440
+ this.defines.USE_PLANE_DISTANCE = s, this.needsUpdate = !0;
354
441
  }
355
442
  }
356
443
  }), n.evennessPlane = {
@@ -359,8 +446,8 @@ var I = `
359
446
  }, n;
360
447
  }
361
448
  return e;
362
- })(C)
363
- ), W = `
449
+ })(F)
450
+ ), j = `
364
451
  #if NUM_SWEEP_OBJECTS > 0
365
452
  uniform float sweepProgress;
366
453
  uniform float sweepRange;
@@ -373,7 +460,7 @@ var I = `
373
460
  };
374
461
  uniform SWEEP_OBJECT sweepBoxs[NUM_SWEEP_OBJECTS];
375
462
  #endif
376
- `, H = `
463
+ `, J = `
377
464
 
378
465
  #if NUM_SWEEP_OBJECTS > 0
379
466
  #pragma unroll_loop_start
@@ -406,25 +493,25 @@ var I = `
406
493
  }
407
494
  #pragma unroll_loop_end
408
495
  #endif
409
- `, R = "", X = (
496
+ `, H = "", rn = (
410
497
  /** @class */
411
498
  (function(i) {
412
- S(e, i);
499
+ B(e, i);
413
500
  function e() {
414
501
  var n = i.call(this, {
415
502
  type: ["basic", "phong", "pointcloud"],
416
503
  fragment: {
417
- mainBefore: W,
418
- mainStart: R,
419
- mainEnd: H
504
+ mainBefore: j,
505
+ mainStart: H,
506
+ mainEnd: J
420
507
  },
421
508
  uniforms: {
422
- sweepProgress: new r.Uniform(0),
423
- sweepRange: new r.Uniform(0),
424
- sweepBoxs: new r.Uniform([]),
425
- interval: new r.Uniform(0.04),
509
+ sweepProgress: new l.Uniform(0),
510
+ sweepRange: new l.Uniform(0),
511
+ sweepBoxs: new l.Uniform([]),
512
+ interval: new l.Uniform(0.04),
426
513
  // 线间距
427
- threshold: new r.Uniform(2e-3)
514
+ threshold: new l.Uniform(2e-3)
428
515
  // 线宽
429
516
  },
430
517
  defines: {
@@ -436,19 +523,19 @@ var I = `
436
523
  get: function() {
437
524
  return this.uniforms.sweepBoxs.value;
438
525
  },
439
- set: function(t) {
440
- var o = t.length;
441
- o > 0 && (this.defines.NUM_SWEEP_OBJECTS = o, this.needsUpdate = !0, this.uniforms.sweepBoxs.value = t);
526
+ set: function(o) {
527
+ var t = o.length;
528
+ t > 0 && (this.defines.NUM_SWEEP_OBJECTS = t, this.needsUpdate = !0, this.uniforms.sweepBoxs.value = o);
442
529
  }
443
530
  }
444
531
  }), n.sweepBoxs = [], n;
445
532
  }
446
- return e.prototype.onBeforeCompile = function(n, t) {
447
- var o = String(this.sweepBoxs.length);
448
- n.vertexShader = n.vertexShader.replace(/NUM_SWEEP_OBJECTS/g, o), n.fragmentShader = n.fragmentShader.replace(/NUM_SWEEP_OBJECTS/g, o);
533
+ return e.prototype.onBeforeCompile = function(n, o) {
534
+ var t = String(this.sweepBoxs.length);
535
+ n.vertexShader = n.vertexShader.replace(/NUM_SWEEP_OBJECTS/g, t), n.fragmentShader = n.fragmentShader.replace(/NUM_SWEEP_OBJECTS/g, t);
449
536
  }, e;
450
- })(C)
451
- ), L = `
537
+ })(F)
538
+ ), G = `
452
539
  uniform float pointCloudExpand_progress;
453
540
 
454
541
  vec4 pointCloudExpand_permute(vec4 x) { return mod(((x * 34.0) + 1.0) * x, 289.0); }
@@ -521,7 +608,7 @@ float pointCloudExpand_gln_simplex(vec3 v) {
521
608
  m = m * m;
522
609
  return 42.0 * dot(m * m, vec4(dot(p0, x0), dot(p1, x1), dot(p2, x2), dot(p3, x3)));
523
610
  }
524
- `, G = `
611
+ `, q = `
525
612
  float pointCloudExpand_sizeScale = 1.0;
526
613
  float pointCloudExpand_sizeBasis = 0.0;
527
614
  vec4 pointCloudExpand_basis = vec4((modelBoundingMax + modelBoundingMin) / 2.0, 1.0);
@@ -535,19 +622,19 @@ float pointCloudExpand_progress2 = step(pointCloudExpand_progress, 1.0 - pointCl
535
622
  pointCloudExpand_sizeBasis = mix(0.1 * step(abs(pointCloudExpand_noise), 0.5 / pointCloudExpand_boundingRadius), pointCloudExpand_sizeBasis, pointCloudExpand_progress2);
536
623
  gl_PointSize = gl_PointSize * pointCloudExpand_sizeScale + pointCloudExpand_sizeBasis;
537
624
  vPointSize = gl_PointSize;
538
- `, nn = (
625
+ `, an = (
539
626
  /** @class */
540
627
  (function(i) {
541
- S(e, i);
628
+ B(e, i);
542
629
  function e() {
543
630
  return i.call(this, {
544
631
  type: ["pointcloud"],
545
632
  vertex: {
546
- mainBefore: L,
547
- mainEnd: G
633
+ mainBefore: G,
634
+ mainEnd: q
548
635
  },
549
636
  uniforms: {
550
- pointCloudExpand_progress: new r.Uniform(0)
637
+ pointCloudExpand_progress: new l.Uniform(0)
551
638
  }
552
639
  }) || this;
553
640
  }
@@ -561,8 +648,115 @@ vPointSize = gl_PointSize;
561
648
  enumerable: !1,
562
649
  configurable: !0
563
650
  }), e;
564
- })(C)
565
- ), j = `
651
+ })(F)
652
+ );
653
+ const U = `(function(){"use strict";function P(n){onmessage=function(a){Promise.resolve(a.data).then(function(t){return n(t)}).then(function(t){var v=t.output,r=t.transfer;return postMessage(v,r)}).catch(function(t){return postMessage({$$error:t})})}}function y(n,a,t){var v=new OffscreenCanvas(a,t),r=v.getContext("2d");if(!r)throw new Error("Failed to get canvas context");r.clearRect(0,0,a,t),r.fillStyle="rgba(0,0,0,1.0)",r.beginPath();var o=n[0][0],i=n[0][0],u=n[0][1],m=n[0][1];n.forEach(function(e){var f=e[0],s=e[1];o=Math.min(o,f),i=Math.max(i,f),u=Math.min(u,s),m=Math.max(m,s)});var g=i-o,c=m-u,h=g>=c?a/g:a/c,x=n.map(function(e){var f=e[0]-o,s=e[1]-u;return[f,s]}),l=x.map(function(e){return[e[0]*h,e[1]*h]});return l.forEach(function(e,f){var s=e[0],D=e[1];f===0?r.moveTo(s,D):r.lineTo(s,D)}),r.closePath(),r.fill(),r.getImageData(0,0,a,t)}function M(n,a,t){for(var v=new ImageData(a,t),r=n.map(function(s){return y(s.polygon,s.width,s.height)}),o=0;o<a;o++)for(var i=0;i<t;i++){for(var u=0,m=0,g=0,c=0;c<r.length;c++){var h=r[c].data,x=(o+i*a)*4;if(h[x+3]===255){var l=c%8,e=Math.floor(c/8);e===0?u=u|1<<l:e===1?m=m|1<<l:e===2&&(g=g|1<<l)}}var f=(o+i*a)*4;v.data[f]=u,v.data[f+1]=m,v.data[f+2]=g,v.data[f+3]=255}return v}P(function(n){return Promise.resolve(n).then(function(a){var t=a.canvasDataList,v=a.width,r=a.height,o=M(t,v,r);return{output:{imageData:o},transfer:[o.data.buffer]}})})})();
654
+ `, T = typeof self != "undefined" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", U], { type: "text/javascript;charset=utf-8" });
655
+ function $(i) {
656
+ let e;
657
+ try {
658
+ if (e = T && (self.URL || self.webkitURL).createObjectURL(T), !e) throw "";
659
+ const n = new Worker(e, {
660
+ name: i == null ? void 0 : i.name
661
+ });
662
+ return n.addEventListener("error", () => {
663
+ (self.URL || self.webkitURL).revokeObjectURL(e);
664
+ }), n;
665
+ } catch (n) {
666
+ return new Worker(
667
+ "data:text/javascript;charset=utf-8," + encodeURIComponent(U),
668
+ {
669
+ name: i == null ? void 0 : i.name
670
+ }
671
+ );
672
+ }
673
+ }
674
+ var Y = (
675
+ /** @class */
676
+ (function() {
677
+ function i(e, n) {
678
+ this.disposed = !1, this.pool = n, this.workerCreator = e, this.queue = [], this.workers = [], this.workerResolvers = [], this.workerStatus = 0;
679
+ }
680
+ return i.prototype.setWorkerCreator = function(e) {
681
+ this.workerCreator = e;
682
+ }, i.prototype.initWorker = function(e) {
683
+ if (!this.workerCreator)
684
+ throw new Error("workerCreator is not defined");
685
+ if (!this.workers[e]) {
686
+ var n = this.workerCreator(e);
687
+ n.addEventListener("message", this.onMessage.bind(this, e)), this.workers[e] = n;
688
+ }
689
+ }, i.prototype.getIdleWorker = function() {
690
+ for (var e = 0; e < this.pool; e++)
691
+ if (!(this.workerStatus & 1 << e))
692
+ return e;
693
+ return -1;
694
+ }, i.prototype.onMessage = function(e, n) {
695
+ var o = this.workerResolvers[e];
696
+ if (n.data && "$$error" in n.data ? o == null || o.reject(n.data.$$error) : o == null || o.resolve(n.data), this.workerResolvers[e] = void 0, this.queue.length) {
697
+ var t = this.queue.shift(), r = t.resolve, s = t.reject, f = t.input, c = t.transfer;
698
+ this.workerResolvers[e] = { resolve: r, reject: s }, this.workers[e].postMessage(f, c);
699
+ } else
700
+ this.workerStatus ^= 1 << e;
701
+ }, i.prototype.postMessage = function(e, n) {
702
+ var o = this;
703
+ return n === void 0 && (n = []), new Promise(function(t, r) {
704
+ if (o.disposed) {
705
+ r(new Error("disposed"));
706
+ return;
707
+ }
708
+ var s = o.getIdleWorker();
709
+ s !== -1 ? (o.initWorker(s), o.workerStatus |= 1 << s, o.workerResolvers[s] = { resolve: t, reject: r }, o.workers[s].postMessage(e, n)) : o.queue.push({ resolve: t, reject: r, input: e, transfer: n });
710
+ });
711
+ }, i.prototype.dispose = function() {
712
+ this.disposed = !0, this.workers.forEach(function(e) {
713
+ e.terminate();
714
+ }), this.workers.length = 0, this.workerResolvers.forEach(function(e) {
715
+ e == null || e.reject(new Error("disposed"));
716
+ }), this.workerResolvers.length = 0, this.queue.forEach(function(e) {
717
+ e.reject(new Error("disposed"));
718
+ }), this.queue.length = 0, this.workerStatus = 0;
719
+ }, i;
720
+ })()
721
+ );
722
+ function sn(i) {
723
+ if (i.length < 3)
724
+ throw new Error("At least 3 points are required to compute alignment matrix");
725
+ var e = i[0], n = i[1], o = i[2], t = new l.Vector3().subVectors(n, e), r = new l.Vector3().subVectors(o, e), s = new l.Vector3().crossVectors(t, r);
726
+ if (s.lengthSq() < 1e-4)
727
+ for (var f = 3; f < i.length && (o = i[f], r = new l.Vector3().subVectors(o, e), s = new l.Vector3().crossVectors(t, r), !(s.lengthSq() >= 1e-4)); f++)
728
+ ;
729
+ if (s.lengthSq() < 1e-4)
730
+ throw new Error("All points are collinear, cannot compute normal");
731
+ s.normalize();
732
+ var c = new l.Vector3();
733
+ i.forEach(function(w) {
734
+ return c.add(w);
735
+ }), c.divideScalar(i.length);
736
+ var a = new l.Vector3(0, 1, 0), u = new l.Quaternion(), v = s.dot(a);
737
+ if (!(Math.abs(v - 1) < 1e-4)) if (Math.abs(v + 1) < 1e-4) {
738
+ var h = new l.Vector3(1, 0, 0);
739
+ u.setFromAxisAngle(h, Math.PI);
740
+ } else {
741
+ var h = new l.Vector3().crossVectors(s, a).normalize(), m = Math.acos(v);
742
+ u.setFromAxisAngle(h, m);
743
+ }
744
+ var y = new l.Matrix4().makeTranslation(-c.x, -c.y, -c.z), p = new l.Matrix4().makeRotationFromQuaternion(u), g = new l.Matrix4();
745
+ g.multiplyMatrices(p, y);
746
+ var d = i.map(function(w) {
747
+ var E = w.clone().applyMatrix4(g);
748
+ return [E.x, E.z];
749
+ });
750
+ if (d.length > 0) {
751
+ var x = d[0], P = d[d.length - 1];
752
+ (x[0] !== P[0] || x[1] !== P[1]) && d.push([x[0], x[1]]);
753
+ }
754
+ return {
755
+ transformMatrix: g,
756
+ points2D: d
757
+ };
758
+ }
759
+ var Q = `
566
760
  uniform sampler2D polygonTexture;
567
761
 
568
762
  struct PolygonClipper {
@@ -571,12 +765,13 @@ vPointSize = gl_PointSize;
571
765
  vec2 minPos;
572
766
  float polygonScale;
573
767
  bool cutOutSide;
768
+ float floorIndex;
574
769
  };
575
770
 
576
771
  #if NUM_POLYGON_CLIPPER > 0
577
772
  uniform PolygonClipper polygonClippers[NUM_POLYGON_CLIPPER];
578
773
  #endif
579
- `, $ = `
774
+ `, K = `
580
775
 
581
776
  for(int i = 0; i < NUM_POLYGON_CLIPPER; i++){
582
777
  PolygonClipper polygonClipper = polygonClippers[i];
@@ -585,6 +780,13 @@ vPointSize = gl_PointSize;
585
780
  vec2 minPos = polygonClipper.minPos;
586
781
  float polygonScale = polygonClipper.polygonScale;
587
782
  bool cutOutSide = polygonClipper.cutOutSide;
783
+ float clipperFloorIndex = polygonClipper.floorIndex;
784
+
785
+ // 楼层判断:如果 floorIndex < 0,对所有楼层生效;否则只对特定楼层生效
786
+ bool isFloorMatch = clipperFloorIndex < 0.0 || abs(floorIndex - clipperFloorIndex) < 1.0;
787
+ if (!isFloorMatch) {
788
+ continue;
789
+ }
588
790
 
589
791
  vec4 worldPosition = vFinalPosition;
590
792
  vec4 positionInPolygonSpace = polygonTransformInverse * worldPosition;
@@ -646,11 +848,11 @@ vPointSize = gl_PointSize;
646
848
  }
647
849
  }
648
850
 
649
- `, q = (
851
+ `, Z = (
650
852
  /** @class */
651
853
  (function() {
652
854
  function i() {
653
- this.canvasCache = /* @__PURE__ */ new Map(), this.canvas = document.createElement("canvas"), this.canvas.width = 512, this.canvas.height = 512, this.polygonTexture = new r.CanvasTexture(this.canvas), this.polygonCount = 0;
855
+ this.canvasCache = /* @__PURE__ */ new Map(), this.canvas = document.createElement("canvas"), this.canvas.width = 512, this.canvas.height = 512, this.polygonTexture = new l.CanvasTexture(this.canvas), this.polygonCount = 0;
654
856
  }
655
857
  return i.prototype.setSize = function(e) {
656
858
  this.canvas.width = e, this.canvas.height = e;
@@ -658,120 +860,154 @@ vPointSize = gl_PointSize;
658
860
  var n = JSON.stringify(e);
659
861
  if (this.canvasCache.has(n))
660
862
  return this.canvasCache.get(n);
661
- var t = document.createElement("canvas");
662
- t.width = this.canvas.width, t.height = this.canvas.height;
663
- var o = t.getContext("2d");
664
- if (!o)
863
+ var o = document.createElement("canvas");
864
+ o.width = this.canvas.width, o.height = this.canvas.height;
865
+ var t = o.getContext("2d");
866
+ if (!t)
665
867
  throw new Error("Failed to get canvas context");
666
868
  if (this.polygonCount >= 24)
667
869
  throw new Error("polygon count exceed 24, please clear the canvas");
668
- o.clearRect(0, 0, this.canvas.width, this.canvas.height), o.fillStyle = "rgba(0,0,0,1.0)", o.beginPath();
669
- var l = e[0][0], m = e[0][0], v = e[0][1], u = e[0][1];
670
- e.forEach(function(s) {
671
- var d = s[0], f = s[1];
672
- l = Math.min(l, d), m = Math.max(m, d), v = Math.min(v, f), u = Math.max(u, f);
870
+ t.clearRect(0, 0, this.canvas.width, this.canvas.height), t.fillStyle = "rgba(0,0,0,1.0)", t.beginPath();
871
+ var r = e[0][0], s = e[0][0], f = e[0][1], c = e[0][1];
872
+ e.forEach(function(p) {
873
+ var g = p[0], d = p[1];
874
+ r = Math.min(r, g), s = Math.max(s, g), f = Math.min(f, d), c = Math.max(c, d);
673
875
  });
674
- var p = m - l, a = u - v, g = this.canvas.width, x = p >= a ? g / p : g / a, c = e.map(function(s) {
675
- var d = s[0] - l, f = s[1] - v;
676
- return [d, f];
677
- }), h = c.map(function(s) {
678
- return [s[0] * x, s[1] * x];
876
+ var a = s - r, u = c - f, v = this.canvas.width, h = a >= u ? v / a : v / u, m = e.map(function(p) {
877
+ var g = p[0] - r, d = p[1] - f;
878
+ return [g, d];
879
+ }), y = m.map(function(p) {
880
+ return [p[0] * h, p[1] * h];
679
881
  });
680
- return h.forEach(function(s, d) {
681
- var f = s[0], y = s[1];
682
- d === 0 ? o.moveTo(f, y) : o.lineTo(f, y);
683
- }), o.closePath(), o.fill(), this.polygonCount++, this.canvasCache.set(n, t), t;
882
+ return y.forEach(function(p, g) {
883
+ var d = p[0], x = p[1];
884
+ g === 0 ? t.moveTo(d, x) : t.lineTo(d, x);
885
+ }), t.closePath(), t.fill(), this.polygonCount++, this.canvasCache.set(n, o), o;
684
886
  }, i.generatePolygonGeometry = function(e, n) {
685
- for (var t = new r.BufferGeometry(), o = e.slice(0, -1), l = o.map(function(g) {
686
- return [g[0], 0, g[1]];
687
- }), m = o.map(function(g) {
688
- return [g[0], n, g[1]];
689
- }), v = U(U([], l, !0), m, !0), u = o.length, p = [], a = 1; a < u - 1; a++)
690
- p.push(0, a, a + 1);
691
- for (var a = 1; a < u - 1; a++)
692
- p.push(u, u + a, u + a + 1);
693
- for (var a = 0; a < u - 1; a++)
694
- p.push(a, a + 1, u + a), p.push(a + 1, a + 1 + u, u + a);
695
- return t.setAttribute("position", new r.Float32BufferAttribute(v.flat(), 3)), t.setIndex(p), t.computeVertexNormals(), t;
887
+ for (var o = new l.BufferGeometry(), t = e.slice(0, -1), r = t.map(function(h) {
888
+ return [h[0], 0, h[1]];
889
+ }), s = t.map(function(h) {
890
+ return [h[0], n, h[1]];
891
+ }), f = I(I([], r, !0), s, !0), c = t.length, a = [], u = 1; u < c - 1; u++)
892
+ a.push(0, u, u + 1);
893
+ for (var u = 1; u < c - 1; u++)
894
+ a.push(c, c + u, c + u + 1);
895
+ for (var u = 0; u < c; u++) {
896
+ var v = (u + 1) % c;
897
+ a.push(u, v, c + u), a.push(v, c + v, c + u);
898
+ }
899
+ return o.setAttribute("position", new l.Float32BufferAttribute(f.flat(), 3)), o.setIndex(a), o.computeVertexNormals(), o;
696
900
  }, i.prototype.generatePolygonTexture = function(e) {
697
901
  var n = this.canvas.getContext("2d", {
698
902
  willReadFrequently: !0
699
903
  });
700
904
  if (!n)
701
905
  throw new Error("Failed to get canvas context");
702
- for (var t = n.createImageData(this.canvas.width, this.canvas.height), o = 0; o < this.canvas.width; o++)
703
- for (var l = 0; l < this.canvas.height; l++) {
704
- for (var m = 0, v = 0, u = 0, p = 0; p < e.length; p++) {
705
- var a = e[p].getContext("2d", { willReadFrequently: !0 });
706
- if (!a)
906
+ for (var o = n.createImageData(this.canvas.width, this.canvas.height), t = 0; t < this.canvas.width; t++)
907
+ for (var r = 0; r < this.canvas.height; r++) {
908
+ for (var s = 0, f = 0, c = 0, a = 0; a < e.length; a++) {
909
+ var u = e[a].getContext("2d", { willReadFrequently: !0 });
910
+ if (!u)
707
911
  throw new Error("Failed to get canvas context");
708
- var g = a.getImageData(o, l, 1, 1).data;
709
- if (g[3] === 255) {
710
- var x = p % 8, c = Math.floor(p / 8);
711
- c === 0 ? m = m | 1 << x : c === 1 ? v = v | 1 << x : c === 2 && (u = u | 1 << x);
912
+ var v = u.getImageData(t, r, 1, 1).data;
913
+ if (v[3] === 255) {
914
+ var h = a % 8, m = Math.floor(a / 8);
915
+ m === 0 ? s = s | 1 << h : m === 1 ? f = f | 1 << h : m === 2 && (c = c | 1 << h);
712
916
  }
713
917
  }
714
- var h = (o + l * this.canvas.width) * 4;
715
- t.data[h] = m, t.data[h + 1] = v, t.data[h + 2] = u, t.data[h + 3] = 255;
918
+ var y = (t + r * this.canvas.width) * 4;
919
+ o.data[y] = s, o.data[y + 1] = f, o.data[y + 2] = c, o.data[y + 3] = 255;
716
920
  }
717
- return n.putImageData(t, 0, 0), new r.CanvasTexture(this.canvas);
921
+ return n.putImageData(o, 0, 0), new l.CanvasTexture(this.canvas);
718
922
  }, i;
719
923
  })()
720
- ), b = new q(), en = (
924
+ ), ln = (
721
925
  /** @class */
722
926
  (function(i) {
723
- S(e, i);
724
- function e() {
725
- var n = i.call(this, {
927
+ B(e, i);
928
+ function e(n) {
929
+ n === void 0 && (n = 512);
930
+ var o = i.call(this, {
726
931
  type: ["basic", "phong", "pointcloud"],
727
932
  fragment: {
728
- mainBefore: j,
729
- mainEnd: $
933
+ mainBefore: Q,
934
+ mainEnd: K
730
935
  },
731
936
  uniforms: {
732
- polygonClippers: new r.Uniform([]),
733
- polygonTexture: new r.Uniform(null)
937
+ polygonClippers: new l.Uniform([]),
938
+ polygonTexture: new l.Uniform(null)
734
939
  }
735
940
  }) || this;
736
- return n._polygonClippers = [], n._radio = 512, n;
941
+ return o._polygonClippers = [], o.polygonGenerater = new Z(), o._radio = 512, o.radio = n, o.workerPool = new Y(function() {
942
+ return new $();
943
+ }, 1), o;
737
944
  }
738
- return Object.defineProperty(e.prototype, "polygonClippers", {
945
+ return e.prototype.setPolygonClippersAsync = function(n) {
946
+ return A(this, void 0, void 0, function() {
947
+ var o, t, r, s, f, c, a = this;
948
+ return k(this, function(u) {
949
+ switch (u.label) {
950
+ case 0:
951
+ return this._polygonClippers = n, o = this.uniforms, o.polygonClippers.value = n.map(function(v) {
952
+ var h = new l.Matrix4().getInverse(v.polygonTransform), m = v.polygonHeight, y = v.cutOutSide, p = v.polygon, g = v.floorIndex !== void 0 ? v.floorIndex : -1, d = p[0][0], x = p[0][0], P = p[0][1], w = p[0][1];
953
+ p.forEach(function(C) {
954
+ var S = C[0], _ = C[1];
955
+ d = Math.min(d, S), x = Math.max(x, S), P = Math.min(P, _), w = Math.max(w, _);
956
+ });
957
+ var E = new l.Vector2(d, P), b = x - d >= w - P ? x - d : w - P;
958
+ return {
959
+ polygonTransformInverse: h,
960
+ polygonHeight: m,
961
+ minPos: E,
962
+ polygonScale: b,
963
+ cutOutSide: y,
964
+ floorIndex: g
965
+ };
966
+ }), t = n.map(function(v) {
967
+ return {
968
+ polygon: v.polygon,
969
+ width: a.polygonGenerater.canvas.width,
970
+ height: a.polygonGenerater.canvas.height
971
+ };
972
+ }), [4, this.workerPool.postMessage({
973
+ canvasDataList: t,
974
+ width: this.polygonGenerater.canvas.width,
975
+ height: this.polygonGenerater.canvas.height
976
+ })];
977
+ case 1:
978
+ return r = u.sent(), s = document.createElement("canvas"), s.width = this.polygonGenerater.canvas.width, s.height = this.polygonGenerater.canvas.height, f = s.getContext("2d"), f && (f.putImageData(r.imageData, 0, 0), c = new l.CanvasTexture(s), c.minFilter = l.NearestFilter, c.magFilter = l.NearestFilter, this.uniforms.polygonTexture.value = c, this.needsUpdate = !0), [
979
+ 2
980
+ /*return*/
981
+ ];
982
+ }
983
+ });
984
+ });
985
+ }, Object.defineProperty(e.prototype, "polygonClippers", {
739
986
  get: function() {
740
987
  return this._polygonClippers;
741
988
  },
742
989
  set: function(n) {
743
990
  this._polygonClippers = n;
744
- var t = this.uniforms;
745
- t.polygonClippers.value = n.map(function(p) {
746
- var a = new r.Matrix4().getInverse(p.polygonTransform), g = p.polygonHeight, x = p.cutOutSide, c = p.polygon, h = c[0][0], s = c[0][0], d = c[0][1], f = c[0][1];
747
- c.forEach(function(_) {
748
- var P = _[0], w = _[1];
749
- h = Math.min(h, P), s = Math.max(s, P), d = Math.min(d, w), f = Math.max(f, w);
750
- });
751
- var y = new r.Vector2(h, d), E = s - h >= f - d ? s - h : f - d;
752
- return {
753
- polygonTransformInverse: a,
754
- polygonHeight: g,
755
- minPos: y,
756
- polygonScale: E,
757
- cutOutSide: x
758
- };
759
- });
760
- for (var o = [], l = 0; l < n.length; l++) {
761
- var m = n[l].polygon, v = b.generatePolygonCanvas(m);
762
- o.push(v);
763
- }
764
- var u = b.generatePolygonTexture(o);
765
- this.uniforms.polygonTexture.value = u, this.needsUpdate = !0;
766
991
  },
767
992
  enumerable: !1,
768
993
  configurable: !0
769
- }), e.prototype.onBeforeCompile = function(n, t) {
770
- var o = String(this.polygonClippers.length);
771
- n.vertexShader = n.vertexShader.replace(/NUM_POLYGON_CLIPPER/g, o), n.fragmentShader = n.fragmentShader.replace(/NUM_POLYGON_CLIPPER/g, o);
994
+ }), Object.defineProperty(e.prototype, "radio", {
995
+ get: function() {
996
+ return this._radio;
997
+ },
998
+ set: function(n) {
999
+ this._radio = n, this.polygonGenerater.setSize(n);
1000
+ },
1001
+ enumerable: !1,
1002
+ configurable: !0
1003
+ }), e.prototype.dispose = function() {
1004
+ this.workerPool.dispose();
1005
+ }, e.prototype.onBeforeCompile = function(n, o) {
1006
+ var t = String(this.polygonClippers.length);
1007
+ n.vertexShader = n.vertexShader.replace(/NUM_POLYGON_CLIPPER/g, t), n.fragmentShader = n.fragmentShader.replace(/NUM_POLYGON_CLIPPER/g, t);
772
1008
  }, e;
773
- })(C)
774
- ), k = `
1009
+ })(F)
1010
+ ), X = `
775
1011
  #if NUM_SHINE_OBJECTS > 0
776
1012
  uniform float shineProgress;
777
1013
  struct SHINE_OBJECT {
@@ -780,7 +1016,7 @@ vPointSize = gl_PointSize;
780
1016
  };
781
1017
  uniform SHINE_OBJECT shineBoxes[NUM_SHINE_OBJECTS];
782
1018
  #endif
783
- `, Y = `
1019
+ `, nn = `
784
1020
  #if NUM_SHINE_OBJECTS > 0
785
1021
  #pragma unroll_loop_start
786
1022
  for ( int i = 0; i < NUM_SHINE_OBJECTS; i ++ ) {
@@ -796,21 +1032,21 @@ vPointSize = gl_PointSize;
796
1032
  }
797
1033
  #pragma unroll_loop_end
798
1034
  #endif
799
- `, K = "", on = (
1035
+ `, en = "", un = (
800
1036
  /** @class */
801
1037
  (function(i) {
802
- S(e, i);
1038
+ B(e, i);
803
1039
  function e() {
804
1040
  var n = i.call(this, {
805
1041
  type: ["basic", "phong", "none"],
806
1042
  fragment: {
807
- mainBefore: k,
808
- mainStart: K,
809
- mainEnd: Y
1043
+ mainBefore: X,
1044
+ mainStart: en,
1045
+ mainEnd: nn
810
1046
  },
811
1047
  uniforms: {
812
- shineProgress: new r.Uniform(0),
813
- shineBoxes: new r.Uniform([])
1048
+ shineProgress: new l.Uniform(0),
1049
+ shineBoxes: new l.Uniform([])
814
1050
  },
815
1051
  defines: {
816
1052
  NUM_SHINE_OBJECTS: 0
@@ -821,24 +1057,25 @@ vPointSize = gl_PointSize;
821
1057
  get: function() {
822
1058
  return this.uniforms.shineBoxes.value;
823
1059
  },
824
- set: function(t) {
825
- var o = t.length;
826
- o > 0 && (this.defines.NUM_SHINE_OBJECTS = o, this.uniforms.shineBoxes.value = t);
1060
+ set: function(o) {
1061
+ var t = o.length;
1062
+ t > 0 && (this.defines.NUM_SHINE_OBJECTS = t, this.uniforms.shineBoxes.value = o);
827
1063
  }
828
1064
  }
829
1065
  }), n.shineBoxes = [], n;
830
1066
  }
831
- return e.prototype.onBeforeCompile = function(n, t) {
832
- var o = String(this.shineBoxes.length);
833
- n.vertexShader = n.vertexShader.replace(/NUM_SHINE_OBJECTS/g, o), n.fragmentShader = n.fragmentShader.replace(/NUM_SHINE_OBJECTS/g, o);
1067
+ return e.prototype.onBeforeCompile = function(n, o) {
1068
+ var t = String(this.shineBoxes.length);
1069
+ n.vertexShader = n.vertexShader.replace(/NUM_SHINE_OBJECTS/g, t), n.fragmentShader = n.fragmentShader.replace(/NUM_SHINE_OBJECTS/g, t);
834
1070
  }, e;
835
- })(C)
1071
+ })(F)
836
1072
  );
837
1073
  export {
838
- Z as EvenessPlaneShader,
839
- nn as PointCloudExpandShader,
840
- en as PolygonCuterShader,
841
- q as PolygonGenerater,
842
- on as ShineModelShader,
843
- X as SweepModelShader
1074
+ tn as EvenessPlaneShader,
1075
+ an as PointCloudExpandShader,
1076
+ ln as PolygonCuterShader,
1077
+ Z as PolygonGenerater,
1078
+ un as ShineModelShader,
1079
+ rn as SweepModelShader,
1080
+ sn as computeAlignmentMatrix
844
1081
  };