s3m-three 0.3.8 → 0.3.10

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 (41) hide show
  1. package/dist/browser/s3m-three.iife.ext-three.js +322 -47
  2. package/dist/browser/s3m-three.iife.js +322 -47
  3. package/dist/core/types.d.ts +20 -0
  4. package/dist/core/types.d.ts.map +1 -1
  5. package/dist/index.d.ts +5 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/render/EdgeLines.d.ts +18 -0
  10. package/dist/render/EdgeLines.d.ts.map +1 -1
  11. package/dist/render/EdgeLines.js +95 -13
  12. package/dist/render/EdgeLines.js.map +1 -1
  13. package/dist/render/FeatureStyleManager.d.ts +78 -0
  14. package/dist/render/FeatureStyleManager.d.ts.map +1 -1
  15. package/dist/render/FeatureStyleManager.js +407 -59
  16. package/dist/render/FeatureStyleManager.js.map +1 -1
  17. package/dist/render/GPUPathManager.d.ts +95 -0
  18. package/dist/render/GPUPathManager.d.ts.map +1 -0
  19. package/dist/render/GPUPathManager.js +265 -0
  20. package/dist/render/GPUPathManager.js.map +1 -0
  21. package/dist/render/OrthoProjection.d.ts +6 -0
  22. package/dist/render/OrthoProjection.d.ts.map +1 -1
  23. package/dist/render/OrthoProjection.js +48 -0
  24. package/dist/render/OrthoProjection.js.map +1 -1
  25. package/dist/render/S3MViewer.d.ts +66 -0
  26. package/dist/render/S3MViewer.d.ts.map +1 -1
  27. package/dist/render/S3MViewer.js +218 -6
  28. package/dist/render/S3MViewer.js.map +1 -1
  29. package/dist/render/StyleMaterial.d.ts +21 -0
  30. package/dist/render/StyleMaterial.d.ts.map +1 -1
  31. package/dist/render/StyleMaterial.js +256 -21
  32. package/dist/render/StyleMaterial.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/core/types.ts +10 -0
  35. package/src/index.ts +8 -0
  36. package/src/render/EdgeLines.ts +101 -13
  37. package/src/render/FeatureStyleManager.ts +524 -64
  38. package/src/render/GPUPathManager.ts +306 -0
  39. package/src/render/OrthoProjection.ts +52 -0
  40. package/src/render/S3MViewer.ts +272 -5
  41. package/src/render/StyleMaterial.ts +264 -21
@@ -1 +1 @@
1
- {"version":3,"file":"OrthoProjection.js","sourceRoot":"","sources":["../../src/render/OrthoProjection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrthoProjection.js","sourceRoot":"","sources":["../../src/render/OrthoProjection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgD/B,MAAM,GAAG,GAAG,IAAI,CAAC;AAEjB,SAAS,OAAO,CAAC,CAAgB,EAAE,CAAoB;IACrD,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK;YAAE,OAAO,KAAK,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,QAAQ,CAAC,CAAgB;IAChC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACrB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,KAAK;YAAE,KAAK,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;IACzB,OAAO,CACL,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CACnG,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,CAAgB,EAAE,GAAW;IAC/C,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,CAAC,GAAG,GAGT,CAAC;IACF,OAAO,CAAC,CAAC,qBAAqB,EAAE,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC;AACjF,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,GAAG,GAAG,CAAC,CAAC,qBAA4D,CAAC;IAC3E,MAAM,IAAI,GAAG,CAAC,GAAW,EAAiB,EAAE;QAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AACtD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY,EAAE,QAAwB;IACtE,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,GAAG,GAAI,GAAyB,CAAC,GAAG,CAAC;QAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/F,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,MAAmB;IAClE,MAAM,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACjC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,gCAAgC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjD,iDAAiD;IACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,kCAAkC;IAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,gCAAgC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACzC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhE,MAAM,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAE7B,8CAA8C;IAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC;IACrF,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;QAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IAErC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACpF,KAAK,CAAC,sBAAsB,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,MAAmB,EAAE,CAAS;IAC/E,MAAM,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACjC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACzC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhE,MAAM,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAE7B,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC;IACrF,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;QAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IAErC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACpF,KAAK,CAAC,sBAAsB,EAAE,CAAC;IAE/B,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACzE,CAAC;IAED,sDAAsD;IACtD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;AACjD,CAAC"}
@@ -30,6 +30,8 @@ import type { TransitionOptions } from '../anim/Animator.js';
30
30
  import { Path } from '../anim/Path.js';
31
31
  import type { EasingFn, EasingName } from '../anim/easing.js';
32
32
  import type { LineSharedUniforms, ThickLineMaterial } from './EdgeLines.js';
33
+ import { GPUPathManager } from './GPUPathManager.js';
34
+ import type { GPUPathOptions } from './FeatureStyleManager.js';
33
35
  import { AttributeQuery } from '../core/AttributeQuery.js';
34
36
  import type { AttributeQueryOptions } from '../core/AttributeQuery.js';
35
37
  import type { FeatureAttributes, Stats, StyleUniforms } from '../core/types.js';
@@ -193,6 +195,9 @@ export declare class S3MViewer {
193
195
  private readonly _datasetManager;
194
196
  /** 单体样式、专题着色与状态纹理管理器 */
195
197
  private readonly _featureStyleManager;
198
+ /** GPU 路径动画管理器 */
199
+ readonly gpuPathManager: GPUPathManager;
200
+ private _customPathTime;
196
201
  /** 兼容 datasets 映射表暴露 */
197
202
  get datasets(): Map<string, S3MDatasetEntry>;
198
203
  /** 场景主锚点(ENU 原点对应的世界坐标) */
@@ -376,6 +381,25 @@ export declare class S3MViewer {
376
381
  moveFeature(smid: number, translation: [number, number, number], transition?: TransitionOptions): void;
377
382
  /** 让单体沿某个轴移动的便捷写法(单位米) */
378
383
  moveFeatureBy(smid: number, delta: [number, number, number], transition?: TransitionOptions): void;
384
+ /**
385
+ * 让单体进行刚体姿态旋转(在 GPU 顶点着色器中以 pivot 轴心进行 3x3 矩阵旋转变换)。
386
+ *
387
+ * @param smid 单体 SMID
388
+ * @param rotation 旋转弧度或姿态:数字(绕 Z 轴 yaw 弧度)| [rx, ry, rz] 欧拉角 | [x,y,z,w] 四元数 | Euler/Quaternion/Matrix
389
+ * @param pivot 旋转中心轴心点 [px, py, pz](局部坐标,默认 [0, 0, 0])
390
+ * @param transition 动画过渡参数
391
+ */
392
+ rotateFeature(smid: number, rotation: number | [number, number, number] | [number, number, number, number] | THREE.Euler | THREE.Quaternion | THREE.Matrix3 | THREE.Matrix4, pivot?: [number, number, number], transition?: TransitionOptions): void;
393
+ /** 让单体增量旋转的便捷写法 */
394
+ rotateFeatureBy(smid: number, deltaRotation: number | [number, number, number], pivot?: [number, number, number], transition?: TransitionOptions): void;
395
+ /**
396
+ * 双纹理 GPU 交叉淡化(跨状态 / 专题图平滑过渡)。
397
+ *
398
+ * 采用双纹理 (uBatchTex + uBatchTex2 + uBatchMix) 硬件混合,
399
+ * 即使几千上万栋建筑全量切换配色/高度/显隐/姿态,也无需在 CPU 逐单体创建通道,
400
+ * 由 GPU 顶点与片元着色器以 60FPS 零成本硬件插值完成过渡。
401
+ */
402
+ crossFadeStyles(targetStyles: Map<number, FeatureStyle> | Record<string | number, FeatureStyle>, transition?: TransitionOptions): void;
379
403
  /**
380
404
  * 让单体沿折线运动。
381
405
  *
@@ -390,6 +414,48 @@ export declare class S3MViewer {
390
414
  followPath(smid: number, points: Path | ArrayLike<number> | Array<[number, number, number]>, opts?: PathFollowOptions): void;
391
415
  /** 停下路径运动(停在当前位置,不回弹) */
392
416
  stopPath(smid: number): void;
417
+ /**
418
+ * 注册 GPU 路径到路径库
419
+ * @param points 折线点数组或 Path 实例
420
+ * @param opts 选项(可指定路径 ID 或闭合)
421
+ * @returns 路径 ID
422
+ */
423
+ registerGPUPath(points: Path | ArrayLike<number> | Array<[number, number, number]>, opts?: {
424
+ id?: number;
425
+ name?: string;
426
+ closed?: boolean;
427
+ }): number;
428
+ /**
429
+ * 注销 GPU 路径
430
+ */
431
+ unregisterGPUPath(id: number): boolean;
432
+ /**
433
+ * 获取 GPUPathManager 实例
434
+ */
435
+ getGPUPathManager(): GPUPathManager;
436
+ /**
437
+ * 将单体绑定到 GPU 路径动画(智慧交通车流 / 大批量巡检无人机)
438
+ * @param smid 单体 ID
439
+ * @param path 路径 ID 或新的路径折线
440
+ * @param options 动画配置(速度、相位、循环模式、自动朝向等)
441
+ */
442
+ bindGPUPath(smid: number, path: number | Path | ArrayLike<number> | Array<[number, number, number]>, options?: Omit<GPUPathOptions, 'pathId'>): number;
443
+ /**
444
+ * 解绑单体的 GPU 路径动画
445
+ */
446
+ unbindGPUPath(smid: number): void;
447
+ /**
448
+ * 手动设置单体在 GPU 路径上的归一化进度(0.0 ~ 1.0)
449
+ */
450
+ setGPUPathProgress(smid: number, progress: number): void;
451
+ /**
452
+ * 设置全局 GPU 路径时间(秒)
453
+ */
454
+ setGPUPathTime(time: number, autoAdvance?: boolean): void;
455
+ /**
456
+ * 获取全局 GPU 路径时间(秒)
457
+ */
458
+ getGPUPathTime(): number;
393
459
  /**
394
460
  * 单体样式过渡:颜色 / 抬高 / 透明度 / 平移可以任意组合。
395
461
  *
@@ -1 +1 @@
1
- {"version":3,"file":"S3MViewer.d.ts","sourceRoot":"","sources":["../../src/render/S3MViewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"S3MViewer.d.ts","sourceRoot":"","sources":["../../src/render/S3MViewer.ts"],"names":[],"mappings":"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"}
@@ -29,13 +29,14 @@ import { applyPointCloudStyle, isOwnedPointCloudMaterial } from './PointCloudMat
29
29
  import { Picker } from './Picker.js';
30
30
  import { Animator } from '../anim/Animator.js';
31
31
  import { Path } from '../anim/Path.js';
32
+ import { GPUPathManager } from './GPUPathManager.js';
32
33
  import { buildFeatureEdgeSegments, buildPositionBatchMap, buildThickLineGeometry, createLineSharedUniforms, createThickLineMaterial, positionQuantKey, } from './EdgeLines.js';
33
34
  import { mergeVerticesByPosition } from './MergeVertices.js';
34
35
  import { resolveFeature, measureSegments, buildAttributes, buildInstanceLookup, pickEntryId, } from '../core/FeatureInfo.js';
35
36
  import { AttributeQuery } from '../core/AttributeQuery.js';
36
37
  import { lngLatFromWorld } from './GeoAdapter.js';
37
38
  import { DatasetManager, } from './DatasetManager.js';
38
- import { FeatureStyleManager, } from './FeatureStyleManager.js';
39
+ import { FeatureStyleManager, resolveRotationMatrix, extractEulerAngles, } from './FeatureStyleManager.js';
39
40
  import { GroundManager, } from './GroundManager.js';
40
41
  export { GroundManager, DatasetManager, FeatureStyleManager };
41
42
  const MAX_PICK_ID = 65534;
@@ -72,7 +73,7 @@ const STYLE_SCALAR_KEYS = [
72
73
  /** 能逐帧插值的颜色键(在线性空间插值,与 shader 消费端一致) */
73
74
  const STYLE_COLOR_KEYS = ['colorA', 'colorB', 'colorC', 'selectColor', 'edgeColor'];
74
75
  /** 可动画的单体属性 */
75
- const FEATURE_PROPS = ['translation', 'elevation', 'opacity', 'color'];
76
+ const FEATURE_PROPS = ['translation', 'elevation', 'opacity', 'color', 'rotation'];
76
77
  /* ------------------------------------------------------------------ 图层 */
77
78
  export class S3MViewer {
78
79
  options;
@@ -111,6 +112,9 @@ export class S3MViewer {
111
112
  _datasetManager = new DatasetManager();
112
113
  /** 单体样式、专题着色与状态纹理管理器 */
113
114
  _featureStyleManager;
115
+ /** GPU 路径动画管理器 */
116
+ gpuPathManager = new GPUPathManager();
117
+ _customPathTime = false;
114
118
  /** 兼容 datasets 映射表暴露 */
115
119
  get datasets() {
116
120
  return this._datasetManager.datasets;
@@ -625,6 +629,82 @@ export class S3MViewer {
625
629
  const cur = this._featureStyleManager.getFeatureStyle(smid)?.translation ?? [0, 0, 0];
626
630
  this.moveFeature(smid, [cur[0] + delta[0], cur[1] + delta[1], cur[2] + delta[2]], transition);
627
631
  }
632
+ /**
633
+ * 让单体进行刚体姿态旋转(在 GPU 顶点着色器中以 pivot 轴心进行 3x3 矩阵旋转变换)。
634
+ *
635
+ * @param smid 单体 SMID
636
+ * @param rotation 旋转弧度或姿态:数字(绕 Z 轴 yaw 弧度)| [rx, ry, rz] 欧拉角 | [x,y,z,w] 四元数 | Euler/Quaternion/Matrix
637
+ * @param pivot 旋转中心轴心点 [px, py, pz](局部坐标,默认 [0, 0, 0])
638
+ * @param transition 动画过渡参数
639
+ */
640
+ rotateFeature(smid, rotation, pivot, transition) {
641
+ const cur = this._featureStyleManager.getFeatureStyle(smid) ?? {};
642
+ if (pivot) {
643
+ this._featureStyleManager.setFeatureStyle(smid, { ...cur, pivot }, this._meshesOf([smid]));
644
+ }
645
+ const targetEuler = extractEulerAngles(rotation);
646
+ const key = this._ensureFeatureChannel(smid, 'rotation');
647
+ this.animator.to(key, targetEuler, transition);
648
+ }
649
+ /** 让单体增量旋转的便捷写法 */
650
+ rotateFeatureBy(smid, deltaRotation, pivot, transition) {
651
+ const curEuler = extractEulerAngles(this._featureStyleManager.getFeatureStyle(smid)?.rotation);
652
+ const d = typeof deltaRotation === 'number' ? [0, 0, deltaRotation] : deltaRotation;
653
+ this.rotateFeature(smid, [curEuler[0] + d[0], curEuler[1] + d[1], curEuler[2] + d[2]], pivot, transition);
654
+ }
655
+ /**
656
+ * 双纹理 GPU 交叉淡化(跨状态 / 专题图平滑过渡)。
657
+ *
658
+ * 采用双纹理 (uBatchTex + uBatchTex2 + uBatchMix) 硬件混合,
659
+ * 即使几千上万栋建筑全量切换配色/高度/显隐/姿态,也无需在 CPU 逐单体创建通道,
660
+ * 由 GPU 顶点与片元着色器以 60FPS 零成本硬件插值完成过渡。
661
+ */
662
+ crossFadeStyles(targetStyles, transition) {
663
+ const targetMap = targetStyles instanceof Map
664
+ ? targetStyles
665
+ : new Map(Object.entries(targetStyles).map(([k, v]) => [Number(k), v]));
666
+ const meshes = this.getAllMeshes();
667
+ this._featureStyleManager.prepareCrossFade(targetMap, meshes);
668
+ const key = 'batch.mix';
669
+ if (!this.animator.has(key)) {
670
+ this.animator.register(key, {
671
+ dim: 1,
672
+ read: (out) => {
673
+ out[0] = this.uniforms.uBatchMix?.value ?? 0;
674
+ },
675
+ write: (v) => {
676
+ if (this.uniforms.uBatchMix) {
677
+ this.uniforms.uBatchMix.value = v[0];
678
+ }
679
+ this.triggerRepaint();
680
+ },
681
+ });
682
+ }
683
+ const duration = transition?.duration ?? 0;
684
+ const wantAnim = duration > 0 || !!transition?.spring;
685
+ if (!wantAnim) {
686
+ if (this.animator.has(key))
687
+ this.animator.cancel(key);
688
+ if (this.uniforms.uBatchMix)
689
+ this.uniforms.uBatchMix.value = 0;
690
+ this._featureStyleManager.commitCrossFade(targetMap, meshes);
691
+ this.triggerRepaint();
692
+ transition?.onComplete?.();
693
+ return;
694
+ }
695
+ if (this.uniforms.uBatchMix)
696
+ this.uniforms.uBatchMix.value = 0;
697
+ this.animator.to(key, 1, {
698
+ ...transition,
699
+ onComplete: () => {
700
+ if (this.uniforms.uBatchMix)
701
+ this.uniforms.uBatchMix.value = 0;
702
+ this._featureStyleManager.commitCrossFade(targetMap, meshes);
703
+ this.triggerRepaint();
704
+ transition?.onComplete?.();
705
+ },
706
+ });
707
+ }
628
708
  /**
629
709
  * 让单体沿折线运动。
630
710
  *
@@ -694,6 +774,84 @@ export class S3MViewer {
694
774
  this.animator.unregister(key);
695
775
  this._pathSpecs.delete(key);
696
776
  }
777
+ /**
778
+ * 注册 GPU 路径到路径库
779
+ * @param points 折线点数组或 Path 实例
780
+ * @param opts 选项(可指定路径 ID 或闭合)
781
+ * @returns 路径 ID
782
+ */
783
+ registerGPUPath(points, opts = {}) {
784
+ const id = this.gpuPathManager.registerPath(points, opts);
785
+ this.gpuPathManager.updateUniforms(this.uniforms);
786
+ return id;
787
+ }
788
+ /**
789
+ * 注销 GPU 路径
790
+ */
791
+ unregisterGPUPath(id) {
792
+ const res = this.gpuPathManager.unregisterPath(id);
793
+ this.gpuPathManager.updateUniforms(this.uniforms);
794
+ return res;
795
+ }
796
+ /**
797
+ * 获取 GPUPathManager 实例
798
+ */
799
+ getGPUPathManager() {
800
+ return this.gpuPathManager;
801
+ }
802
+ /**
803
+ * 将单体绑定到 GPU 路径动画(智慧交通车流 / 大批量巡检无人机)
804
+ * @param smid 单体 ID
805
+ * @param path 路径 ID 或新的路径折线
806
+ * @param options 动画配置(速度、相位、循环模式、自动朝向等)
807
+ */
808
+ bindGPUPath(smid, path, options = {}) {
809
+ let pathId;
810
+ if (typeof path === 'number') {
811
+ pathId = path;
812
+ }
813
+ else {
814
+ pathId = this.registerGPUPath(path);
815
+ }
816
+ const meshes = this._meshesOf([smid]);
817
+ this._featureStyleManager.bindGPUPath(smid, pathId, options, meshes);
818
+ for (const mesh of meshes)
819
+ mesh.frustumCulled = false;
820
+ this.gpuPathManager.updateUniforms(this.uniforms);
821
+ return pathId;
822
+ }
823
+ /**
824
+ * 解绑单体的 GPU 路径动画
825
+ */
826
+ unbindGPUPath(smid) {
827
+ const meshes = this._meshesOf([smid]);
828
+ this._featureStyleManager.unbindGPUPath(smid, meshes);
829
+ this.gpuPathManager.updateUniforms(this.uniforms);
830
+ }
831
+ /**
832
+ * 手动设置单体在 GPU 路径上的归一化进度(0.0 ~ 1.0)
833
+ */
834
+ setGPUPathProgress(smid, progress) {
835
+ const meshes = this._meshesOf([smid]);
836
+ this._featureStyleManager.setGPUPathProgress(smid, progress, meshes);
837
+ for (const mesh of meshes)
838
+ mesh.frustumCulled = false;
839
+ }
840
+ /**
841
+ * 设置全局 GPU 路径时间(秒)
842
+ */
843
+ setGPUPathTime(time, autoAdvance = false) {
844
+ if (this.uniforms.uPathTime) {
845
+ this.uniforms.uPathTime.value = time;
846
+ }
847
+ this._customPathTime = !autoAdvance;
848
+ }
849
+ /**
850
+ * 获取全局 GPU 路径时间(秒)
851
+ */
852
+ getGPUPathTime() {
853
+ return this.uniforms.uPathTime?.value ?? 0;
854
+ }
697
855
  /**
698
856
  * 单体样式过渡:颜色 / 抬高 / 透明度 / 平移可以任意组合。
699
857
  *
@@ -704,6 +862,8 @@ export class S3MViewer {
704
862
  animateFeature(smid, style, transition) {
705
863
  if (style.translation)
706
864
  this.moveFeature(smid, style.translation, transition);
865
+ if (style.rotation != null)
866
+ this.rotateFeature(smid, style.rotation, style.pivot, transition);
707
867
  if (style.elevation != null) {
708
868
  this.animator.to(this._ensureFeatureChannel(smid, 'elevation'), style.elevation, transition);
709
869
  }
@@ -787,7 +947,7 @@ export class S3MViewer {
787
947
  const key = `feature.${smid}.${prop}`;
788
948
  if (this.animator.has(key))
789
949
  return key;
790
- const channel = prop === 'translation' || prop === 'color'
950
+ const channel = prop === 'translation' || prop === 'color' || prop === 'rotation'
791
951
  ? {
792
952
  dim: 3,
793
953
  read: (out) => {
@@ -797,6 +957,13 @@ export class S3MViewer {
797
957
  out[1] = t?.[1] ?? 0;
798
958
  out[2] = t?.[2] ?? 0;
799
959
  }
960
+ else if (prop === 'rotation') {
961
+ const r = this._featureStyleManager.getFeatureStyle(smid)?.rotation;
962
+ const euler = extractEulerAngles(r);
963
+ out[0] = euler[0];
964
+ out[1] = euler[1];
965
+ out[2] = euler[2];
966
+ }
800
967
  else {
801
968
  // 没有自定义色时以图层主色为起点,插值才连续
802
969
  const hex = this._featureStyleManager.getFeatureStyle(smid)?.color ?? this.style.colorA;
@@ -811,10 +978,20 @@ export class S3MViewer {
811
978
  const cur = this._featureStyleManager.getFeatureStyle(smid) ?? {};
812
979
  if (prop === 'translation') {
813
980
  this._featureStyleManager.setFeatureStyle(smid, { ...cur, translation: [v[0], v[1], v[2]] }, meshes);
814
- // 有位移就关掉视锥剔除,否则移出原始包围球后整块瓦片会凭空消失
815
- const moving = Math.abs(v[0]) > 1e-6 || Math.abs(v[1]) > 1e-6 || Math.abs(v[2]) > 1e-6;
981
+ // 有位移或旋转就关掉视锥剔除,否则移出原始包围球后整块瓦片会凭空消失
982
+ const transMoving = Math.abs(v[0]) > 1e-6 || Math.abs(v[1]) > 1e-6 || Math.abs(v[2]) > 1e-6;
983
+ const rotEuler = extractEulerAngles(cur.rotation);
984
+ const rotMoving = Math.abs(rotEuler[0]) > 1e-6 || Math.abs(rotEuler[1]) > 1e-6 || Math.abs(rotEuler[2]) > 1e-6;
985
+ for (const mesh of meshes)
986
+ mesh.frustumCulled = !(transMoving || rotMoving);
987
+ }
988
+ else if (prop === 'rotation') {
989
+ this._featureStyleManager.setFeatureStyle(smid, { ...cur, rotation: [v[0], v[1], v[2]] }, meshes);
990
+ const rotMoving = Math.abs(v[0]) > 1e-6 || Math.abs(v[1]) > 1e-6 || Math.abs(v[2]) > 1e-6;
991
+ const t = cur.translation ?? [0, 0, 0];
992
+ const transMoving = Math.abs(t[0]) > 1e-6 || Math.abs(t[1]) > 1e-6 || Math.abs(t[2]) > 1e-6;
816
993
  for (const mesh of meshes)
817
- mesh.frustumCulled = !moving;
994
+ mesh.frustumCulled = !(rotMoving || transMoving);
818
995
  }
819
996
  else {
820
997
  const c = this._colorScratch.setRGB(v[0], v[1], v[2]);
@@ -1953,8 +2130,14 @@ export class S3MViewer {
1953
2130
  const batch = styled?.userData?.uBatchTex
1954
2131
  ? {
1955
2132
  uBatchTex: styled.userData.uBatchTex,
2133
+ uBatchTex2: styled.userData.uBatchTex2,
2134
+ uBatchMix: this.uniforms.uBatchMix,
1956
2135
  uBatchTexWidth: styled.userData.uBatchTexWidth,
1957
2136
  uBatchTexActive: styled.userData.uBatchTexActive,
2137
+ uPathTex: this.uniforms.uPathTex,
2138
+ uPathCount: this.uniforms.uPathCount,
2139
+ uPathTexActive: this.uniforms.uPathTexActive,
2140
+ uPathTime: this.uniforms.uPathTime,
1958
2141
  }
1959
2142
  : undefined;
1960
2143
  return createThickLineMaterial(this.lineShared, {}, this._edgeStyleUniforms, batch);
@@ -1965,8 +2148,14 @@ export class S3MViewer {
1965
2148
  const batch = styled?.userData?.uBatchTex
1966
2149
  ? {
1967
2150
  uBatchTex: styled.userData.uBatchTex,
2151
+ uBatchTex2: styled.userData.uBatchTex2,
2152
+ uBatchMix: this.uniforms.uBatchMix,
1968
2153
  uBatchTexWidth: styled.userData.uBatchTexWidth,
1969
2154
  uBatchTexActive: styled.userData.uBatchTexActive,
2155
+ uPathTex: this.uniforms.uPathTex,
2156
+ uPathCount: this.uniforms.uPathCount,
2157
+ uPathTexActive: this.uniforms.uPathTexActive,
2158
+ uPathTime: this.uniforms.uPathTime,
1970
2159
  }
1971
2160
  : undefined;
1972
2161
  return createThickLineMaterial(this.lineShared, {}, this._selEdgeStyleUniforms, batch);
@@ -2126,6 +2315,14 @@ export class S3MViewer {
2126
2315
  const trans = off.translation;
2127
2316
  const elev = off.elevation;
2128
2317
  const finalPos = hitPoint.clone();
2318
+ if (off.rotation) {
2319
+ const rotMat = resolveRotationMatrix(off.rotation);
2320
+ if (rotMat) {
2321
+ const m3 = new THREE.Matrix3().set(rotMat[0], rotMat[1], rotMat[2], rotMat[3], rotMat[4], rotMat[5], rotMat[6], rotMat[7], rotMat[8]);
2322
+ const piv = off.pivot ? new THREE.Vector3(off.pivot[0], off.pivot[1], off.pivot[2]) : new THREE.Vector3(0, 0, 0);
2323
+ finalPos.sub(piv).applyMatrix3(m3).add(piv);
2324
+ }
2325
+ }
2129
2326
  if (trans)
2130
2327
  finalPos.add(new THREE.Vector3(trans[0], trans[1], trans[2]));
2131
2328
  else if (elev)
@@ -2356,7 +2553,16 @@ export class S3MViewer {
2356
2553
  const off = smid != null ? this._featureStyleManager.getFeatureEffectiveOffset(smid) : {};
2357
2554
  const trans = off.translation;
2358
2555
  const elev = off.elevation;
2556
+ const rotMat = off.rotation ? resolveRotationMatrix(off.rotation) : null;
2557
+ let rotM3 = null;
2558
+ let rotPiv = null;
2559
+ if (rotMat) {
2560
+ rotM3 = new THREE.Matrix3().set(rotMat[0], rotMat[1], rotMat[2], rotMat[3], rotMat[4], rotMat[5], rotMat[6], rotMat[7], rotMat[8]);
2561
+ rotPiv = off.pivot ? new THREE.Vector3(off.pivot[0], off.pivot[1], off.pivot[2]) : new THREE.Vector3(0, 0, 0);
2562
+ }
2359
2563
  for (const c of corners) {
2564
+ if (rotM3 && rotPiv)
2565
+ c.sub(rotPiv).applyMatrix3(rotM3).add(rotPiv);
2360
2566
  if (trans)
2361
2567
  c.add(new THREE.Vector3(trans[0], trans[1], trans[2]));
2362
2568
  else if (elev)
@@ -2728,6 +2934,11 @@ export class S3MViewer {
2728
2934
  if (this.style.mode === STYLE.DYNAMIC) {
2729
2935
  this.uniforms.uTime.value += 0.016 * (this.style.speed ?? 1);
2730
2936
  }
2937
+ this.gpuPathManager.updateUniforms(this.uniforms);
2938
+ const gpuPathActive = (this.uniforms.uPathTexActive?.value ?? 0) > 0;
2939
+ if (gpuPathActive && !this._customPathTime && this.uniforms.uPathTime) {
2940
+ this.uniforms.uPathTime.value += 0.016;
2941
+ }
2731
2942
  this._updateLights();
2732
2943
  // 等宽棱线按设备像素撑开,分辨率每帧同步一次
2733
2944
  this._updateLineResolution(canvas);
@@ -2745,6 +2956,7 @@ export class S3MViewer {
2745
2956
  // 动画结束那一帧必须精确回到 false,否则 MapLibre 会永远重绘(耗电、发热)。
2746
2957
  return (animating ||
2747
2958
  this.style.mode === STYLE.DYNAMIC ||
2959
+ gpuPathActive ||
2748
2960
  this.stats.loading > 0 ||
2749
2961
  tilesetChanged);
2750
2962
  }