s3m-three 0.4.23 → 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.
- package/dist/analysis/clipping.d.ts +63 -0
- package/dist/analysis/clipping.d.ts.map +1 -0
- package/dist/analysis/clipping.js +69 -0
- package/dist/analysis/clipping.js.map +1 -0
- package/dist/analysis/depth.d.ts +55 -0
- package/dist/analysis/depth.d.ts.map +1 -0
- package/dist/analysis/depth.js +99 -0
- package/dist/analysis/depth.js.map +1 -0
- package/dist/analysis/index.d.ts +21 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +17 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/lineOfSight.d.ts +60 -0
- package/dist/analysis/lineOfSight.d.ts.map +1 -0
- package/dist/analysis/lineOfSight.js +56 -0
- package/dist/analysis/lineOfSight.js.map +1 -0
- package/dist/analysis/measure.d.ts +56 -0
- package/dist/analysis/measure.d.ts.map +1 -0
- package/dist/analysis/measure.js +95 -0
- package/dist/analysis/measure.js.map +1 -0
- package/dist/analysis/skyline.d.ts +55 -0
- package/dist/analysis/skyline.d.ts.map +1 -0
- package/dist/analysis/skyline.js +78 -0
- package/dist/analysis/skyline.js.map +1 -0
- package/dist/analysis/viewshed.d.ts +48 -0
- package/dist/analysis/viewshed.d.ts.map +1 -0
- package/dist/analysis/viewshed.js +115 -0
- package/dist/analysis/viewshed.js.map +1 -0
- package/dist/browser/s3m-three.iife.ext-three.js +20 -3
- package/dist/browser/s3m-three.iife.js +20 -3
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/render/S3MViewer.d.ts +106 -0
- package/dist/render/S3MViewer.d.ts.map +1 -1
- package/dist/render/S3MViewer.js +174 -1
- package/dist/render/S3MViewer.js.map +1 -1
- package/dist/render/analysis/DepthPass.d.ts +78 -0
- package/dist/render/analysis/DepthPass.d.ts.map +1 -0
- package/dist/render/analysis/DepthPass.js +209 -0
- package/dist/render/analysis/DepthPass.js.map +1 -0
- package/dist/render/viewer/PickService.d.ts +15 -0
- package/dist/render/viewer/PickService.d.ts.map +1 -1
- package/dist/render/viewer/PickService.js +41 -0
- package/dist/render/viewer/PickService.js.map +1 -1
- package/docs/API.md +100 -0
- package/package.json +1 -1
- package/src/analysis/clipping.ts +135 -0
- package/src/analysis/depth.ts +126 -0
- package/src/analysis/index.ts +47 -0
- package/src/analysis/lineOfSight.ts +110 -0
- package/src/analysis/measure.ts +119 -0
- package/src/analysis/skyline.ts +125 -0
- package/src/analysis/viewshed.ts +160 -0
- package/src/index.ts +5 -0
- package/src/render/S3MViewer.ts +233 -2
- package/src/render/analysis/DepthPass.ts +278 -0
- package/src/render/viewer/PickService.ts +47 -0
|
@@ -28,6 +28,7 @@ import type { OutlineMaterial, StyleMode, S3MStyle, EdgeModes, EdgesOption, Mate
|
|
|
28
28
|
import { Picker } from './Picker.js';
|
|
29
29
|
import { GpuEdgePass } from './GpuEdgePass.js';
|
|
30
30
|
import { Animator } from '../anim/Animator.js';
|
|
31
|
+
import type { ClipOptions, LineOfSightOptions, LineOfSightResult, LngLatAlt, MeasureResult, SkylineResult, Vec3, ViewshedResult } from '../analysis/index.js';
|
|
31
32
|
import type { TransitionOptions } from '../anim/Animator.js';
|
|
32
33
|
import { Path } from '../anim/Path.js';
|
|
33
34
|
import type { LineSharedUniforms, ThickLineMaterial } from './EdgeLines.js';
|
|
@@ -99,6 +100,8 @@ export declare class S3MViewer {
|
|
|
99
100
|
private _colorPipeline;
|
|
100
101
|
/** fade-through 编排的代次:中途再切一次,旧编排作废(与 setMode 同一套) */
|
|
101
102
|
private _pipelineGen;
|
|
103
|
+
/** 当前裁剪配置;renderer 就绪前后都要能设,所以单独存一份(见 `_applyClipping`) */
|
|
104
|
+
private _clip;
|
|
102
105
|
/** 单体样式、专题着色与状态纹理管理器 */
|
|
103
106
|
private readonly _featureStyleManager;
|
|
104
107
|
/** GPU 路径动画管理器 */
|
|
@@ -622,6 +625,109 @@ export declare class S3MViewer {
|
|
|
622
625
|
drillPick(x: number, y: number, limit?: number): PickResult[];
|
|
623
626
|
/** 单体的经纬度包围盒 */
|
|
624
627
|
getFeatureBounds(smid: number): [[number, number], [number, number]] | null;
|
|
628
|
+
/**
|
|
629
|
+
* 经纬度 + 高程 → 场景 ENU 米制坐标。
|
|
630
|
+
*
|
|
631
|
+
* 场景锚点可能还没就绪(没加数据集),此时按世界原点处理 —— 量算 API 会因此
|
|
632
|
+
* 给出「以原点为基准」的结果,但不会抛错。真实使用里锚点在 addDataset 之后必然存在。
|
|
633
|
+
*/
|
|
634
|
+
private _sceneFromLngLat;
|
|
635
|
+
/**
|
|
636
|
+
* 经纬度 + 绝对高程 → 场景 ENU 米制坐标。
|
|
637
|
+
*
|
|
638
|
+
* 外围要做「分析代理几何」(底图建筑挤出)、或者在 three 里画自定义标注时,
|
|
639
|
+
* 都得先把经纬度落到这个坐标系里 —— 场景的 ENU 原点在 `sceneAnchor`,
|
|
640
|
+
* 不是经纬度,所以必须走这个换算。
|
|
641
|
+
*/
|
|
642
|
+
lngLatToPoint(p: LngLatAlt): Vec3;
|
|
643
|
+
/** 场景 ENU 米制坐标 → 经纬度 + 绝对高程(`pointToLngLat` 的逆) */
|
|
644
|
+
pointToLngLat(v: Vec3): LngLatAlt;
|
|
645
|
+
/** 场景 ENU 米制坐标 → 经纬度 + 绝对高程 */
|
|
646
|
+
private _lngLatFromScene;
|
|
647
|
+
/**
|
|
648
|
+
* 两点量算:三维距离 / 水平距离 / 高差。
|
|
649
|
+
*
|
|
650
|
+
* 输入是经纬度 + 绝对高程(`pickPosition` 的返回值直接能用),
|
|
651
|
+
* 内部换算到 ENU 米再算,所以不会受投影单位影响。
|
|
652
|
+
*/
|
|
653
|
+
measureDistance(a: LngLatAlt, b: LngLatAlt): MeasureResult;
|
|
654
|
+
/** 折线长度(三维 + 水平投影两套口径) */
|
|
655
|
+
measurePolyline(points: readonly LngLatAlt[]): {
|
|
656
|
+
length3D: number;
|
|
657
|
+
lengthHorizontal: number;
|
|
658
|
+
};
|
|
659
|
+
/**
|
|
660
|
+
* 多边形量算:坡面真实面积 / 水平投影面积 / 周长。
|
|
661
|
+
*
|
|
662
|
+
* 建筑面积、用地面积按 `areaHorizontal` 算;坡面覆盖面积按 `area3D`。
|
|
663
|
+
*/
|
|
664
|
+
measurePolygon(points: readonly LngLatAlt[]): {
|
|
665
|
+
area3D: number;
|
|
666
|
+
areaHorizontal: number;
|
|
667
|
+
perimeter: number;
|
|
668
|
+
};
|
|
669
|
+
/**
|
|
670
|
+
* 通视分析:两点之间是否被已加载的 S3M 几何挡住。
|
|
671
|
+
*
|
|
672
|
+
* 走 CPU 射线求交(`Raycaster` 打全部 pickable mesh),几十万面量级是几十毫秒,
|
|
673
|
+
* 适合点击式查询;要拖拽时逐帧刷新,得等深度图版本的批量采样。
|
|
674
|
+
*
|
|
675
|
+
* 注意范围:**只认 S3M 场景里的几何**。MapLibre 底图地形与 MVT 建筑不在这个场景里,
|
|
676
|
+
* 它们不参与遮挡(见 `docs/API.md` 的「分析范围」)。
|
|
677
|
+
*/
|
|
678
|
+
lineOfSight(a: LngLatAlt, b: LngLatAlt, opts?: LineOfSightOptions): LineOfSightResult;
|
|
679
|
+
/**
|
|
680
|
+
* 裁剪 / 剖切(平面、Box、十字)。
|
|
681
|
+
*
|
|
682
|
+
* 平面列表挂在**本图层的 renderer** 上(每个 `S3MLayer` 一个 `WebGLRenderer`),
|
|
683
|
+
* 所以天然是图层级:同页别的图层不受影响。传 `null` 取消裁剪。
|
|
684
|
+
*
|
|
685
|
+
* 已知边界:只做「切掉」,不做**封口**——剖开后看到的是空壳/背面;
|
|
686
|
+
* 凹多边形裁剪需要多组半空间并集,three 的 `clippingPlanes` 表达不了(只能凸)。
|
|
687
|
+
*/
|
|
688
|
+
setClipping(opt: ClipOptions | null): void;
|
|
689
|
+
/** 当前裁剪配置(`null` = 未裁剪) */
|
|
690
|
+
get clipping(): ClipOptions | null;
|
|
691
|
+
private _applyClipping;
|
|
692
|
+
/** 分析用的离屏采集上下文(renderer / scene / camera 都可能在 mount 前为空) */
|
|
693
|
+
private _depthCtx;
|
|
694
|
+
/**
|
|
695
|
+
* 天际线分析:用当前视角渲染一张深度图,按列抽出「方位角 → 仰角」曲线。
|
|
696
|
+
*
|
|
697
|
+
* 一次调用 = 一趟额外渲染 + 一次全图回读,**不要每帧调**。
|
|
698
|
+
* 典型用法是相机停下来(`moveend`)后算一次。
|
|
699
|
+
*
|
|
700
|
+
* @param opts.width 采集分辨率(默认 640)。精度由它决定:
|
|
701
|
+
* 640 宽 ≈ 0.56°/列,1280 宽 ≈ 0.28°/列。
|
|
702
|
+
*/
|
|
703
|
+
skyline(opts?: {
|
|
704
|
+
width?: number;
|
|
705
|
+
height?: number;
|
|
706
|
+
step?: number;
|
|
707
|
+
/** 额外参与遮挡的代理几何(底图建筑 / 地形网格),只在这一趟深度渲染里存在 */
|
|
708
|
+
include?: readonly THREE.Object3D[];
|
|
709
|
+
}): SkylineResult | null;
|
|
710
|
+
/**
|
|
711
|
+
* 360° 可视域(地面栅格版):从观察点朝 6 个方向各渲染一次深度,
|
|
712
|
+
* 再在 CPU 上对地面网格逐格判定可见性。
|
|
713
|
+
*
|
|
714
|
+
* 一次调用 = 6 趟额外渲染 + 6 次回读,成本明显高于天际线,
|
|
715
|
+
* 只在点击/松手时算。返回的 `raster` 可以直接当贴图画在地面上。
|
|
716
|
+
*/
|
|
717
|
+
viewshed(opts: {
|
|
718
|
+
/** 观察点(经纬度 + 地面高程;眼高由 `eyeHeight` 另加) */
|
|
719
|
+
origin: LngLatAlt;
|
|
720
|
+
/** 分析半径(米) */
|
|
721
|
+
radius: number;
|
|
722
|
+
/** 栅格边长(默认 96) */
|
|
723
|
+
grid?: number;
|
|
724
|
+
/** 眼高(米,默认 1.7) */
|
|
725
|
+
eyeHeight?: number;
|
|
726
|
+
/** 立方体深度图分辨率(默认 128;越大边缘越准,回读越慢) */
|
|
727
|
+
size?: number;
|
|
728
|
+
/** 额外参与遮挡的代理几何(底图建筑 / 地形网格),只在这一趟深度渲染里存在 */
|
|
729
|
+
include?: readonly THREE.Object3D[];
|
|
730
|
+
}): ViewshedResult | null;
|
|
625
731
|
/** @internal 见 viewer/PickService.ts */
|
|
626
732
|
_intersectMeshAtRay(mesh: THREE.Mesh, ray: THREE.Ray, instanceIndex?: number): THREE.Vector3 | null;
|
|
627
733
|
/** @internal 见 viewer/PickService.ts */
|
|
@@ -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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"}
|
package/dist/render/S3MViewer.js
CHANGED
|
@@ -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';
|
|
@@ -159,6 +163,8 @@ export class S3MViewer {
|
|
|
159
163
|
_colorPipeline;
|
|
160
164
|
/** fade-through 编排的代次:中途再切一次,旧编排作废(与 setMode 同一套) */
|
|
161
165
|
_pipelineGen = 0;
|
|
166
|
+
/** 当前裁剪配置;renderer 就绪前后都要能设,所以单独存一份(见 `_applyClipping`) */
|
|
167
|
+
_clip = null;
|
|
162
168
|
/** 单体样式、专题着色与状态纹理管理器 */
|
|
163
169
|
_featureStyleManager;
|
|
164
170
|
/** GPU 路径动画管理器 */
|
|
@@ -415,6 +421,8 @@ export class S3MViewer {
|
|
|
415
421
|
this.renderer = this._createRenderer(canvas, gl);
|
|
416
422
|
setMaxAnisotropy(this.renderer.capabilities.getMaxAnisotropy(), this.options.anisotropyCap ?? Infinity);
|
|
417
423
|
this._syncTextureCapabilities(gl);
|
|
424
|
+
// 裁剪是构造期就能设的(还没 mount 时 `_applyClipping` 会先跳过),这里补挂一次
|
|
425
|
+
this._applyClipping();
|
|
418
426
|
this.scene = new THREE.Scene();
|
|
419
427
|
this.scene.add(this.groundManager.group);
|
|
420
428
|
this._addLights();
|
|
@@ -453,6 +461,8 @@ export class S3MViewer {
|
|
|
453
461
|
this.renderer = this._createRenderer(this.canvas, gl);
|
|
454
462
|
setMaxAnisotropy(this.renderer.capabilities.getMaxAnisotropy(), this.options.anisotropyCap ?? Infinity);
|
|
455
463
|
this._syncTextureCapabilities(gl);
|
|
464
|
+
// 新 renderer 的 clippingPlanes 是空的,裁剪状态要重新挂上去
|
|
465
|
+
this._applyClipping();
|
|
456
466
|
this.picker?.dispose();
|
|
457
467
|
this.picker = new Picker(this.renderer);
|
|
458
468
|
// GPU 描边的 RT / 材质绑定在旧上下文上,整体丢弃,下一帧按需重建
|
|
@@ -2133,6 +2143,169 @@ export class S3MViewer {
|
|
|
2133
2143
|
getFeatureBounds(smid) {
|
|
2134
2144
|
return this._picks.getFeatureBounds(smid);
|
|
2135
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
|
+
}
|
|
2136
2309
|
/** @internal 见 viewer/PickService.ts */
|
|
2137
2310
|
_intersectMeshAtRay(mesh, ray, instanceIndex) {
|
|
2138
2311
|
return this._picks.intersectMeshAtRay(mesh, ray, instanceIndex);
|