s3m-three 0.4.22 → 0.4.24

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 (93) hide show
  1. package/dist/analysis/clipping.d.ts +63 -0
  2. package/dist/analysis/clipping.d.ts.map +1 -0
  3. package/dist/analysis/clipping.js +69 -0
  4. package/dist/analysis/clipping.js.map +1 -0
  5. package/dist/analysis/depth.d.ts +55 -0
  6. package/dist/analysis/depth.d.ts.map +1 -0
  7. package/dist/analysis/depth.js +99 -0
  8. package/dist/analysis/depth.js.map +1 -0
  9. package/dist/analysis/index.d.ts +21 -0
  10. package/dist/analysis/index.d.ts.map +1 -0
  11. package/dist/analysis/index.js +17 -0
  12. package/dist/analysis/index.js.map +1 -0
  13. package/dist/analysis/lineOfSight.d.ts +60 -0
  14. package/dist/analysis/lineOfSight.d.ts.map +1 -0
  15. package/dist/analysis/lineOfSight.js +56 -0
  16. package/dist/analysis/lineOfSight.js.map +1 -0
  17. package/dist/analysis/measure.d.ts +56 -0
  18. package/dist/analysis/measure.d.ts.map +1 -0
  19. package/dist/analysis/measure.js +95 -0
  20. package/dist/analysis/measure.js.map +1 -0
  21. package/dist/analysis/skyline.d.ts +55 -0
  22. package/dist/analysis/skyline.d.ts.map +1 -0
  23. package/dist/analysis/skyline.js +78 -0
  24. package/dist/analysis/skyline.js.map +1 -0
  25. package/dist/analysis/viewshed.d.ts +48 -0
  26. package/dist/analysis/viewshed.d.ts.map +1 -0
  27. package/dist/analysis/viewshed.js +115 -0
  28. package/dist/analysis/viewshed.js.map +1 -0
  29. package/dist/browser/s3m-three.iife.ext-three.js +52 -35
  30. package/dist/browser/s3m-three.iife.js +47 -30
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +3 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/render/DatasetManager.d.ts +13 -0
  36. package/dist/render/DatasetManager.d.ts.map +1 -1
  37. package/dist/render/DatasetManager.js +20 -0
  38. package/dist/render/DatasetManager.js.map +1 -1
  39. package/dist/render/GeometryBuilder.d.ts +11 -0
  40. package/dist/render/GeometryBuilder.d.ts.map +1 -1
  41. package/dist/render/GeometryBuilder.js +2 -1
  42. package/dist/render/GeometryBuilder.js.map +1 -1
  43. package/dist/render/S3MViewer.d.ts +159 -5
  44. package/dist/render/S3MViewer.d.ts.map +1 -1
  45. package/dist/render/S3MViewer.js +331 -13
  46. package/dist/render/S3MViewer.js.map +1 -1
  47. package/dist/render/StyleMaterial.d.ts +10 -1
  48. package/dist/render/StyleMaterial.d.ts.map +1 -1
  49. package/dist/render/StyleMaterial.js +9 -1
  50. package/dist/render/StyleMaterial.js.map +1 -1
  51. package/dist/render/TextureFactory.d.ts +23 -1
  52. package/dist/render/TextureFactory.d.ts.map +1 -1
  53. package/dist/render/TextureFactory.js +32 -8
  54. package/dist/render/TextureFactory.js.map +1 -1
  55. package/dist/render/analysis/DepthPass.d.ts +78 -0
  56. package/dist/render/analysis/DepthPass.d.ts.map +1 -0
  57. package/dist/render/analysis/DepthPass.js +209 -0
  58. package/dist/render/analysis/DepthPass.js.map +1 -0
  59. package/dist/render/viewer/LightRig.d.ts +21 -7
  60. package/dist/render/viewer/LightRig.d.ts.map +1 -1
  61. package/dist/render/viewer/LightRig.js +11 -13
  62. package/dist/render/viewer/LightRig.js.map +1 -1
  63. package/dist/render/viewer/PickService.d.ts +15 -0
  64. package/dist/render/viewer/PickService.d.ts.map +1 -1
  65. package/dist/render/viewer/PickService.js +41 -0
  66. package/dist/render/viewer/PickService.js.map +1 -1
  67. package/dist/render/viewer/types.d.ts +12 -0
  68. package/dist/render/viewer/types.d.ts.map +1 -1
  69. package/dist/render/viewer/types.js.map +1 -1
  70. package/dist/tileset/S3MTileset.d.ts +19 -0
  71. package/dist/tileset/S3MTileset.d.ts.map +1 -1
  72. package/dist/tileset/S3MTileset.js +16 -0
  73. package/dist/tileset/S3MTileset.js.map +1 -1
  74. package/docs/API.md +124 -3
  75. package/package.json +1 -1
  76. package/src/analysis/clipping.ts +135 -0
  77. package/src/analysis/depth.ts +126 -0
  78. package/src/analysis/index.ts +47 -0
  79. package/src/analysis/lineOfSight.ts +110 -0
  80. package/src/analysis/measure.ts +119 -0
  81. package/src/analysis/skyline.ts +125 -0
  82. package/src/analysis/viewshed.ts +160 -0
  83. package/src/index.ts +5 -0
  84. package/src/render/DatasetManager.ts +21 -0
  85. package/src/render/GeometryBuilder.ts +13 -1
  86. package/src/render/S3MViewer.ts +401 -14
  87. package/src/render/StyleMaterial.ts +16 -2
  88. package/src/render/TextureFactory.ts +50 -8
  89. package/src/render/analysis/DepthPass.ts +278 -0
  90. package/src/render/viewer/LightRig.ts +23 -13
  91. package/src/render/viewer/PickService.ts +47 -0
  92. package/src/render/viewer/types.ts +12 -0
  93. package/src/tileset/S3MTileset.ts +24 -0
@@ -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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"}
@@ -23,8 +23,8 @@
23
23
  import * as THREE from 'three';
24
24
  import { usableGeoBounds } from '../tileset/S3MTileset.js';
25
25
  import { setSplatViewport } from './GeometryBuilder.js';
26
- import { setMaxAnisotropy, setCompressedTexturesSupported, setTextureOffThreadDecode, setMaxTextureSize as setTextureSizeCap } from './TextureFactory.js';
27
- import { getMaterialQuality, normalizeMaterialQuality } from './StyleMaterial.js';
26
+ import { setMaxAnisotropy, setCompressedTexturesSupported, setTextureOffThreadDecode, setMaxTextureSize as setTextureSizeCap, applyAnisotropyCap } from './TextureFactory.js';
27
+ import { getMaterialQuality, normalizeMaterialQuality, getColorPipeline, normalizeColorPipeline } from './StyleMaterial.js';
28
28
  import { LightRig } from './viewer/LightRig.js';
29
29
  import { HeightIndex } from './viewer/HeightIndex.js';
30
30
  import { SplatLayer } from './viewer/SplatLayer.js';
@@ -36,10 +36,14 @@ import { STYLE, STYLE_LABELS, SELECT_MODE, DEFAULT_STYLE, createSharedUniforms,
36
36
  import { applyPointCloudStyle, isOwnedPointCloudMaterial } from './PointCloudMaterial.js';
37
37
  import { Picker } from './Picker.js';
38
38
  import { Animator } from '../anim/Animator.js';
39
+ import { buildClipPlanes, lineOfSight as computeLineOfSight, measureSegment, polygonArea, polygonAreaHorizontal, polygonPerimeter, polylineLength, polylineLengthHorizontal, } from '../analysis/index.js';
40
+ import { skylineFromDepth } from '../analysis/skyline.js';
41
+ import { computeViewshed, makeCubeDistanceSampler } from '../analysis/viewshed.js';
42
+ import { captureRadialCube, captureSkylineDepth } from './analysis/DepthPass.js';
39
43
  import { Path } from '../anim/Path.js';
40
44
  import { GPUPathManager } from './GPUPathManager.js';
41
45
  import { AttributeQuery } from '../core/AttributeQuery.js';
42
- import { lngLatFromWorld } from './GeoAdapter.js';
46
+ import { lngLatFromWorld, worldFromLngLat } from './GeoAdapter.js';
43
47
  import { DatasetManager, } from './DatasetManager.js';
44
48
  import { FeatureStyleManager, extractEulerAngles, } from './FeatureStyleManager.js';
45
49
  import { GroundManager, } from './GroundManager.js';
@@ -91,6 +95,17 @@ const STYLE_SCALAR_KEYS = [
91
95
  'edgeHullWidth',
92
96
  'outlineWidth',
93
97
  ];
98
+ /**
99
+ * 标量样式键在「用户还没设过」时的动画起点。
100
+ *
101
+ * 只对 `metalness` / `roughness` 有意义:它们的 uniform 默认是 -1(不覆盖,保持数据
102
+ * 自身的值),从 -1 插值没意义 —— 取数据侧常见值当起点,过渡才不会先跳到 0。
103
+ * 其余键缺省仍是 0(与旧行为一致)。
104
+ */
105
+ const SCALAR_ANIM_START = {
106
+ metalness: 0, // S3M 数据的 metalness 恒为 0
107
+ roughness: 0.95, // shininess 映射后的常见值,见 GeometryBuilder 的 roughness
108
+ };
94
109
  /** 能逐帧插值的颜色键(在线性空间插值,与 shader 消费端一致) */
95
110
  const STYLE_COLOR_KEYS = ['colorA', 'colorB', 'colorC', 'selectColor', 'edgeColor'];
96
111
  /** 可动画的单体属性 */
@@ -137,6 +152,19 @@ export class S3MViewer {
137
152
  * 传了值就只认自己,多图层同页各用各的,互不覆盖。
138
153
  */
139
154
  _materialQuality;
155
+ /**
156
+ * 本图层的颜色管线。
157
+ *
158
+ * `undefined` = 没指定,跟随模块级默认(`getColorPipeline()`)。
159
+ * 与 materialQuality 同理:传了值就只认自己,同页多图层互不污染 —— 这条尤其重要,
160
+ * 因为 `lightingPreset: 'supermap'` 会同时改管线、纹理解码方式与各向异性,
161
+ * 以前是三个模块级全局一起被改写。
162
+ */
163
+ _colorPipeline;
164
+ /** fade-through 编排的代次:中途再切一次,旧编排作废(与 setMode 同一套) */
165
+ _pipelineGen = 0;
166
+ /** 当前裁剪配置;renderer 就绪前后都要能设,所以单独存一份(见 `_applyClipping`) */
167
+ _clip = null;
140
168
  /** 单体样式、专题着色与状态纹理管理器 */
141
169
  _featureStyleManager;
142
170
  /** GPU 路径动画管理器 */
@@ -255,7 +283,12 @@ export class S3MViewer {
255
283
  // 图层自身是否半透明:全局透明度改走 uOpacity 后,材质 opacity 不再代表它
256
284
  () => this._opacityTransparent);
257
285
  this.uniforms = createSharedUniforms();
258
- // 光源状态在这里就位:LightRig 构造时会按 lightingPreset 切模块级颜色管线,
286
+ // 图层 profile 先落位(显式传了就只认自己),再把 LightRig 挂上来 ——
287
+ // 它构造时会按 lightingPreset 覆盖一次管线,这一步走的是图层级通道,
288
+ // 不再去改模块级全局(以前三个全局一起被改写,同页多图层互相污染)。
289
+ this._colorPipeline = normalizeColorPipeline(options.colorPipeline);
290
+ this._applyRenderProfile({}, true);
291
+ // 光源状态在这里就位:LightRig 构造时会按 lightingPreset 切图层颜色管线,
259
292
  // 挂进场景要等 scene 建好(构造函数上面已经建了)。
260
293
  this._lights = new LightRig({
261
294
  scene: () => this.scene,
@@ -266,6 +299,8 @@ export class S3MViewer {
266
299
  // 走公共 triggerRepaint 而不是 _requestRepaint:宿主 / 单测会覆盖前者来观察重绘,
267
300
  // 绕过它会让「有没有触发重绘」这件事失去观测点
268
301
  repaint: () => this.triggerRepaint(),
302
+ // 构造期(initial)只记状态:那时还没有材质可重建、没有数据集可同步
303
+ applyRenderProfile: (p, initial) => this._applyRenderProfile(p, initial),
269
304
  });
270
305
  this._lights.addToScene();
271
306
  this._heights = new HeightIndex(this.uniforms);
@@ -386,6 +421,8 @@ export class S3MViewer {
386
421
  this.renderer = this._createRenderer(canvas, gl);
387
422
  setMaxAnisotropy(this.renderer.capabilities.getMaxAnisotropy(), this.options.anisotropyCap ?? Infinity);
388
423
  this._syncTextureCapabilities(gl);
424
+ // 裁剪是构造期就能设的(还没 mount 时 `_applyClipping` 会先跳过),这里补挂一次
425
+ this._applyClipping();
389
426
  this.scene = new THREE.Scene();
390
427
  this.scene.add(this.groundManager.group);
391
428
  this._addLights();
@@ -424,6 +461,8 @@ export class S3MViewer {
424
461
  this.renderer = this._createRenderer(this.canvas, gl);
425
462
  setMaxAnisotropy(this.renderer.capabilities.getMaxAnisotropy(), this.options.anisotropyCap ?? Infinity);
426
463
  this._syncTextureCapabilities(gl);
464
+ // 新 renderer 的 clippingPlanes 是空的,裁剪状态要重新挂上去
465
+ this._applyClipping();
427
466
  this.picker?.dispose();
428
467
  this.picker = new Picker(this.renderer);
429
468
  // GPU 描边的 RT / 材质绑定在旧上下文上,整体丢弃,下一帧按需重建
@@ -1560,7 +1599,11 @@ export class S3MViewer {
1560
1599
  this.animator.register(`style.${key}`, {
1561
1600
  dim: 1,
1562
1601
  read: (out) => {
1563
- out[0] = Number(this.style[key] ?? 0);
1602
+ // 金属度 / 粗糙度没设过时 uniform 是 -1(= 不覆盖,保持数据自身的值),
1603
+ // 动画起点不能取 0:那会让 roughness 从 0.95 先跳到 0 再爬回去。
1604
+ // 这里给的是数据侧的常见值(S3M 的 shininess 映射后 ≈0.95、metalness 恒 0),
1605
+ // 过渡起点因此是连续的。
1606
+ out[0] = Number(this.style[key] ?? SCALAR_ANIM_START[key] ?? 0);
1564
1607
  },
1565
1608
  write: (v) => {
1566
1609
  this.style[key] = v[0];
@@ -1821,6 +1864,106 @@ export class S3MViewer {
1821
1864
  get materialQuality() {
1822
1865
  return this._materialQuality ?? getMaterialQuality();
1823
1866
  }
1867
+ /**
1868
+ * 运行时切换**本图层**的颜色管线(`'linear'` | `'direct'`)。
1869
+ *
1870
+ * `'direct'` = 官方 iClient3D 的 sRGB 直乘管线(配合纹理解码关 sRGB),
1871
+ * 见 `lightingPreset: 'supermap'`。切换牵扯三样东西:材质宏(换 program)、
1872
+ * 纹理 colorSpace(重传,**不重新下载瓦片**)、以及各向异性档位。
1873
+ *
1874
+ * 给 `duration > 0` 时走 fade-through:压暗 → 在同一帧回调里换管线 → 亮回来。
1875
+ * 逐像素混合做不到干净 —— 两条管线的差异有一部分在采样端(硬件 sRGB 解码 vs
1876
+ * 原始字节),要混合就得让贴图恒为原始字节并在片元里手动解码,那会改掉默认路径。
1877
+ */
1878
+ setColorPipeline(q, opts = {}) {
1879
+ const next = normalizeColorPipeline(q) ?? 'linear';
1880
+ if (next === this.colorPipeline)
1881
+ return Promise.resolve();
1882
+ const d = Math.max(0, opts.duration ?? 0);
1883
+ if (d <= 0) {
1884
+ this._applyRenderProfile({ colorPipeline: next });
1885
+ return Promise.resolve();
1886
+ }
1887
+ const dim = Math.min(1, Math.max(0.05, opts.dim ?? 0.35));
1888
+ const gen = ++this._pipelineGen;
1889
+ return new Promise((resolve) => {
1890
+ this.animator.to('style.fade', dim, {
1891
+ duration: d,
1892
+ easing: 'easeInOutQuad',
1893
+ onComplete: () => {
1894
+ // 中途又切了一次:这次编排作废,收尾交给新的那次
1895
+ if (gen !== this._pipelineGen) {
1896
+ resolve();
1897
+ return;
1898
+ }
1899
+ this._applyRenderProfile({ colorPipeline: next });
1900
+ this.animator.to('style.fade', 1, {
1901
+ duration: d,
1902
+ easing: 'easeInOutQuad',
1903
+ onComplete: resolve,
1904
+ });
1905
+ },
1906
+ });
1907
+ });
1908
+ }
1909
+ /** 当前颜色管线(本图层指定了就用本图层的,否则是模块级默认) */
1910
+ get colorPipeline() {
1911
+ return this._colorPipeline ?? getColorPipeline();
1912
+ }
1913
+ /** 本图层此刻该用的纹理创建参数(图层的渲染 profile 就落在这里) */
1914
+ _textureOptions() {
1915
+ return {
1916
+ // direct 管线的前提是贴图字节值不解码,两者必须一起切
1917
+ srgbDecode: this.colorPipeline !== 'direct',
1918
+ maxSize: this.options.maxTextureSize ?? Infinity,
1919
+ anisotropyCap: this.options.anisotropyCap ?? Infinity,
1920
+ };
1921
+ }
1922
+ /**
1923
+ * 应用图层渲染 profile(颜色管线 / 各向异性上限)。
1924
+ *
1925
+ * `initial` = 构造期:只记状态并推给数据集管理器,不重建材质、不重传纹理
1926
+ * (那时还没有瓦片)。
1927
+ */
1928
+ _applyRenderProfile(patch, initial = false) {
1929
+ const prev = this.colorPipeline;
1930
+ if (patch.colorPipeline !== undefined) {
1931
+ this._colorPipeline = normalizeColorPipeline(patch.colorPipeline) ?? 'linear';
1932
+ }
1933
+ if (patch.anisotropyCap !== undefined)
1934
+ this.options.anisotropyCap = patch.anisotropyCap;
1935
+ const textureOptions = this._textureOptions();
1936
+ // 之后加载的瓦片按新参数走(已建好的数据集也要跟着换)
1937
+ this._datasetManager.setRenderProfile({ colorPipeline: this.colorPipeline, textureOptions });
1938
+ if (initial)
1939
+ return;
1940
+ // 管线变了才需要换 program;只改各向异性时重建纯属浪费
1941
+ if (this.colorPipeline !== prev)
1942
+ this._rebuildStyledMaterials();
1943
+ this._syncCachedTextures(textureOptions);
1944
+ this._requestRepaint();
1945
+ }
1946
+ /**
1947
+ * 把纹理解码方式 / 各向异性同步到**已上传**的纹理上。
1948
+ *
1949
+ * 两者都不需要重新解码:`colorSpace` 改了 + `needsUpdate` 让 three 重传一次像素,
1950
+ * `anisotropy` 同理。所以切管线不用重拉瓦片,代价只有一次纹理上传。
1951
+ */
1952
+ _syncCachedTextures(opts) {
1953
+ const want = opts.srgbDecode ? THREE.SRGBColorSpace : THREE.NoColorSpace;
1954
+ for (const entry of this.datasets.values()) {
1955
+ const cache = entry.tileset?.textureCache;
1956
+ if (!cache)
1957
+ continue;
1958
+ for (const tex of cache.values()) {
1959
+ if (tex.colorSpace === want)
1960
+ continue;
1961
+ tex.colorSpace = want;
1962
+ tex.needsUpdate = true;
1963
+ }
1964
+ applyAnisotropyCap(cache.values(), opts.anisotropyCap ?? Infinity);
1965
+ }
1966
+ }
1824
1967
  /** 按创建参数原位重建所有 styled 材质(materialQuality 切换用) */
1825
1968
  _rebuildStyledMaterials() {
1826
1969
  // 逐材质 own uniform 的状态要在重建时搬过去,否则选中高亮 / 瓦片淡入会闪没
@@ -1842,9 +1985,14 @@ export class S3MViewer {
1842
1985
  if (!old?.userData?.isStyled || !old.userData?.s3mOpts)
1843
1986
  continue;
1844
1987
  const opts = old.userData.s3mOpts;
1845
- // 显式传本层档位:s3mOpts 里记的是创建时的参数,可能是 undefined(跟随全局),
1846
- // 重建时必须钉成本层当前档位,否则「别处改了全局」会把这一层带跑。
1847
- const fresh = createStyledMaterial({ ...opts, uniforms: this.uniforms, materialQuality: this.materialQuality });
1988
+ // 显式传本层档位与管线:s3mOpts 里记的是创建时的参数,可能是 undefined(跟随全局),
1989
+ // 重建时必须钉成本层当前值,否则「别处改了全局」会把这一层带跑。
1990
+ const fresh = createStyledMaterial({
1991
+ ...opts,
1992
+ uniforms: this.uniforms,
1993
+ materialQuality: this.materialQuality,
1994
+ colorPipeline: this.colorPipeline,
1995
+ });
1848
1996
  for (const key of PRESERVED) {
1849
1997
  const src = old.userData[key];
1850
1998
  const dst = fresh.userData[key];
@@ -1995,6 +2143,169 @@ export class S3MViewer {
1995
2143
  getFeatureBounds(smid) {
1996
2144
  return this._picks.getFeatureBounds(smid);
1997
2145
  }
2146
+ /* -------------------------------------------------------------- 三维空间分析 */
2147
+ /**
2148
+ * 经纬度 + 高程 → 场景 ENU 米制坐标。
2149
+ *
2150
+ * 场景锚点可能还没就绪(没加数据集),此时按世界原点处理 —— 量算 API 会因此
2151
+ * 给出「以原点为基准」的结果,但不会抛错。真实使用里锚点在 addDataset 之后必然存在。
2152
+ */
2153
+ _sceneFromLngLat(p) {
2154
+ const anchor = this.sceneAnchor;
2155
+ if (!anchor)
2156
+ return [0, 0, 0];
2157
+ const s = anchor.meterInMercator;
2158
+ const w = worldFromLngLat(this.geo, p.lng, p.lat, p.altitude);
2159
+ // 注意 y 取反:three 的 y 向上,墨卡托 y 向下(与 PickService.pickPosition 互逆)
2160
+ return [(w.x - anchor.x) / s, -(w.y - anchor.y) / s, p.altitude - (anchor.altitude ?? 0)];
2161
+ }
2162
+ /**
2163
+ * 经纬度 + 绝对高程 → 场景 ENU 米制坐标。
2164
+ *
2165
+ * 外围要做「分析代理几何」(底图建筑挤出)、或者在 three 里画自定义标注时,
2166
+ * 都得先把经纬度落到这个坐标系里 —— 场景的 ENU 原点在 `sceneAnchor`,
2167
+ * 不是经纬度,所以必须走这个换算。
2168
+ */
2169
+ lngLatToPoint(p) {
2170
+ return this._sceneFromLngLat(p);
2171
+ }
2172
+ /** 场景 ENU 米制坐标 → 经纬度 + 绝对高程(`pointToLngLat` 的逆) */
2173
+ pointToLngLat(v) {
2174
+ return this._lngLatFromScene(v);
2175
+ }
2176
+ /** 场景 ENU 米制坐标 → 经纬度 + 绝对高程 */
2177
+ _lngLatFromScene(v) {
2178
+ const anchor = this.sceneAnchor;
2179
+ if (!anchor)
2180
+ return { lng: 0, lat: 0, altitude: v[2] };
2181
+ const s = anchor.meterInMercator;
2182
+ const [lng, lat] = lngLatFromWorld(this.geo, v[0] * s + anchor.x, -v[1] * s + anchor.y);
2183
+ return { lng, lat, altitude: v[2] + (anchor.altitude ?? 0) };
2184
+ }
2185
+ /**
2186
+ * 两点量算:三维距离 / 水平距离 / 高差。
2187
+ *
2188
+ * 输入是经纬度 + 绝对高程(`pickPosition` 的返回值直接能用),
2189
+ * 内部换算到 ENU 米再算,所以不会受投影单位影响。
2190
+ */
2191
+ measureDistance(a, b) {
2192
+ return measureSegment(this._sceneFromLngLat(a), this._sceneFromLngLat(b));
2193
+ }
2194
+ /** 折线长度(三维 + 水平投影两套口径) */
2195
+ measurePolyline(points) {
2196
+ const scene = points.map((p) => this._sceneFromLngLat(p));
2197
+ return { length3D: polylineLength(scene), lengthHorizontal: polylineLengthHorizontal(scene) };
2198
+ }
2199
+ /**
2200
+ * 多边形量算:坡面真实面积 / 水平投影面积 / 周长。
2201
+ *
2202
+ * 建筑面积、用地面积按 `areaHorizontal` 算;坡面覆盖面积按 `area3D`。
2203
+ */
2204
+ measurePolygon(points) {
2205
+ const scene = points.map((p) => this._sceneFromLngLat(p));
2206
+ return {
2207
+ area3D: polygonArea(scene),
2208
+ areaHorizontal: polygonAreaHorizontal(scene),
2209
+ perimeter: polygonPerimeter(scene),
2210
+ };
2211
+ }
2212
+ /**
2213
+ * 通视分析:两点之间是否被已加载的 S3M 几何挡住。
2214
+ *
2215
+ * 走 CPU 射线求交(`Raycaster` 打全部 pickable mesh),几十万面量级是几十毫秒,
2216
+ * 适合点击式查询;要拖拽时逐帧刷新,得等深度图版本的批量采样。
2217
+ *
2218
+ * 注意范围:**只认 S3M 场景里的几何**。MapLibre 底图地形与 MVT 建筑不在这个场景里,
2219
+ * 它们不参与遮挡(见 `docs/API.md` 的「分析范围」)。
2220
+ */
2221
+ lineOfSight(a, b, opts = {}) {
2222
+ const from = this._sceneFromLngLat(a);
2223
+ const to = this._sceneFromLngLat(b);
2224
+ return computeLineOfSight(from, to, (origin, dir, maxDistance) => {
2225
+ const hit = this._picks.raycastDistance(origin, dir, maxDistance);
2226
+ if (!hit)
2227
+ return null;
2228
+ return { distance: hit.distance, point: hit.point };
2229
+ }, opts);
2230
+ }
2231
+ /**
2232
+ * 裁剪 / 剖切(平面、Box、十字)。
2233
+ *
2234
+ * 平面列表挂在**本图层的 renderer** 上(每个 `S3MLayer` 一个 `WebGLRenderer`),
2235
+ * 所以天然是图层级:同页别的图层不受影响。传 `null` 取消裁剪。
2236
+ *
2237
+ * 已知边界:只做「切掉」,不做**封口**——剖开后看到的是空壳/背面;
2238
+ * 凹多边形裁剪需要多组半空间并集,three 的 `clippingPlanes` 表达不了(只能凸)。
2239
+ */
2240
+ setClipping(opt) {
2241
+ this._clip = opt;
2242
+ this._applyClipping();
2243
+ this._requestRepaint();
2244
+ }
2245
+ /** 当前裁剪配置(`null` = 未裁剪) */
2246
+ get clipping() {
2247
+ return this._clip;
2248
+ }
2249
+ _applyClipping() {
2250
+ const r = this.renderer;
2251
+ if (!r)
2252
+ return; // mount 前先记着,`_createRenderer` 之后会补一次
2253
+ if (!this._clip) {
2254
+ r.clippingPlanes = [];
2255
+ return;
2256
+ }
2257
+ r.clippingPlanes = buildClipPlanes(this._clip).map((p) => new THREE.Plane(new THREE.Vector3(p.normal[0], p.normal[1], p.normal[2]), p.constant));
2258
+ }
2259
+ /** 分析用的离屏采集上下文(renderer / scene / camera 都可能在 mount 前为空) */
2260
+ _depthCtx() {
2261
+ return {
2262
+ renderer: () => this.renderer,
2263
+ scene: () => this.scene,
2264
+ camera: () => this.camera,
2265
+ };
2266
+ }
2267
+ /**
2268
+ * 天际线分析:用当前视角渲染一张深度图,按列抽出「方位角 → 仰角」曲线。
2269
+ *
2270
+ * 一次调用 = 一趟额外渲染 + 一次全图回读,**不要每帧调**。
2271
+ * 典型用法是相机停下来(`moveend`)后算一次。
2272
+ *
2273
+ * @param opts.width 采集分辨率(默认 640)。精度由它决定:
2274
+ * 640 宽 ≈ 0.56°/列,1280 宽 ≈ 0.28°/列。
2275
+ */
2276
+ skyline(opts = {}) {
2277
+ const cap = captureSkylineDepth(this._depthCtx(), opts.width ?? 640, opts.height ?? 360, opts.include);
2278
+ if (!cap)
2279
+ return null;
2280
+ return skylineFromDepth({
2281
+ rgba: cap.rgba,
2282
+ width: cap.width,
2283
+ height: cap.height,
2284
+ inverseViewProj: cap.inverseViewProj,
2285
+ cameraPos: cap.cameraPos,
2286
+ step: opts.step,
2287
+ });
2288
+ }
2289
+ /**
2290
+ * 360° 可视域(地面栅格版):从观察点朝 6 个方向各渲染一次深度,
2291
+ * 再在 CPU 上对地面网格逐格判定可见性。
2292
+ *
2293
+ * 一次调用 = 6 趟额外渲染 + 6 次回读,成本明显高于天际线,
2294
+ * 只在点击/松手时算。返回的 `raster` 可以直接当贴图画在地面上。
2295
+ */
2296
+ viewshed(opts) {
2297
+ const eye = opts.eyeHeight ?? 1.7;
2298
+ const origin = this._sceneFromLngLat({ ...opts.origin, altitude: opts.origin.altitude + eye });
2299
+ const size = opts.size ?? 128;
2300
+ const faces = captureRadialCube(this._depthCtx(), origin, size, opts.radius, opts.include);
2301
+ if (!faces)
2302
+ return null;
2303
+ return computeViewshed(origin, makeCubeDistanceSampler(faces, size, opts.radius), {
2304
+ radius: opts.radius,
2305
+ grid: opts.grid,
2306
+ groundZ: 0,
2307
+ });
2308
+ }
1998
2309
  /** @internal 见 viewer/PickService.ts */
1999
2310
  _intersectMeshAtRay(mesh, ray, instanceIndex) {
2000
2311
  return this._picks.intersectMeshAtRay(mesh, ray, instanceIndex);
@@ -2179,16 +2490,19 @@ export class S3MViewer {
2179
2490
  return this.options.anisotropyCap ?? Infinity;
2180
2491
  }
2181
2492
  /**
2182
- * 调整各向异性过滤上限(默认 Infinity = 取 GPU 最大值)。
2183
- * 只影响**之后创建**的纹理——已上传的纹理需要重新上传才会变,代价远大于收益,
2184
- * 所以切换档位请在建图层前决定,或接受「新瓦片按新档位、旧瓦片保持原样」。
2493
+ * 调整本图层的各向异性过滤上限(默认 Infinity = 取 GPU 最大值)。
2494
+ *
2495
+ * 与 0.4.22 之前不同:已上传的纹理**会立刻跟着变**(改 sampling 参数 + 重传,
2496
+ * 不需要重新解码,也不需要重载瓦片),所以切 `lightingPreset: 'supermap'` 时
2497
+ * 立面清晰度是当场变的,不再等新瓦片。
2185
2498
  */
2186
2499
  setAnisotropyCap(cap) {
2187
2500
  const next = Number.isFinite(cap) && cap > 0 ? Math.max(1, cap) : Infinity;
2188
2501
  this.options.anisotropyCap = next;
2502
+ // 同步模块级默认:直接调 createTexture / buildTileObjects 的老用法仍读它
2189
2503
  const gpuMax = this.renderer?.capabilities.getMaxAnisotropy?.() ?? 1;
2190
2504
  setMaxAnisotropy(gpuMax, next);
2191
- this._requestRepaint();
2505
+ this._applyRenderProfile({ anisotropyCap: next });
2192
2506
  }
2193
2507
  /** 当前纹理长边像素上限。Infinity = 不限制 */
2194
2508
  get maxTextureSize() {
@@ -2197,12 +2511,16 @@ export class S3MViewer {
2197
2511
  /**
2198
2512
  * 调整纹理长边像素上限(默认 Infinity = 不限制)。
2199
2513
  * 只影响之后解码的纹理;非图集的 RGBA / WebP 产物按 2× 减半逼近上限。
2200
- * 注意这是**模块级**设置(图集 / 解码 Worker 共享),多 viewer 实例会互相覆盖。
2514
+ *
2515
+ * 图层级:只改本层,同页其它图层不受影响(同时同步模块级默认,照顾直接调
2516
+ * `createTexture` 的老用法)。已解码的纹理不会重解 —— 那是另一件事。
2201
2517
  */
2202
2518
  setMaxTextureSize(n) {
2203
2519
  const next = Number.isFinite(n) && n >= 1 ? n : Infinity;
2204
2520
  this.options.maxTextureSize = next;
2205
2521
  setTextureSizeCap(next);
2522
+ // 只推给数据集,不动材质也不重传纹理(尺寸上限只影响「之后解码」的纹理)
2523
+ this._datasetManager.setRenderProfile({ textureOptions: this._textureOptions() });
2206
2524
  this._requestRepaint();
2207
2525
  }
2208
2526
  /**