iflow-engine-base 3.10.1 → 3.10.2
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/bim-engine-sdk.es.js +5 -5
- package/dist/bim-engine-sdk.umd.js +886 -865
- package/dist/chunks/{engine-2d-qCatzA5S.js → engine-2d-BqSrZIgs.js} +1420 -1361
- package/dist/chunks/{engine-3d-CBpWZYSu.js → engine-3d-CRi8gi4g.js} +8666 -8070
- package/dist/chunks/{engine-720-DN6rGdfz.js → engine-720-SBj4j_-S.js} +33 -26
- package/dist/chunks/{engine-gaussian-D5M125x1.js → engine-gaussian-Dm41ihjY.js} +135 -128
- package/dist/chunks/{engine-gis-CeWujMsu.js → engine-gis-CFrFKNSx.js} +6053 -6046
- package/dist/chunks/sdk-runtime-D7NH6c4x.js +21225 -0
- package/dist/chunks/{three-vendor-BislQYFI.js → three-vendor-DTqpDaJq.js} +65 -63
- package/dist/index.d.ts +193 -50
- package/dist2d/dwg-preview.es.js +15752 -4016
- package/dist2d/dwg-preview.umd.js +53 -32
- package/distGaussian/gaussian.es.js +12080 -365
- package/distGaussian/gaussian.umd.js +22 -1
- package/package.json +3 -2
- package/dist/chunks/sdk-runtime-B5AdSZ7m.js +0 -9887
|
@@ -43353,7 +43353,7 @@ Mi.add.bind(Mi);
|
|
|
43353
43353
|
Mi.remove.bind(Mi);
|
|
43354
43354
|
Mi.update.bind(Mi);
|
|
43355
43355
|
export {
|
|
43356
|
-
|
|
43356
|
+
U1 as $,
|
|
43357
43357
|
yv as A,
|
|
43358
43358
|
Ve as B,
|
|
43359
43359
|
Ae as C,
|
|
@@ -43374,76 +43374,78 @@ export {
|
|
|
43374
43374
|
b0 as R,
|
|
43375
43375
|
li as S,
|
|
43376
43376
|
r0 as T,
|
|
43377
|
-
|
|
43377
|
+
Xt as U,
|
|
43378
43378
|
T as V,
|
|
43379
43379
|
bI as W,
|
|
43380
|
-
|
|
43381
|
-
|
|
43382
|
-
|
|
43383
|
-
|
|
43380
|
+
F1 as X,
|
|
43381
|
+
N1 as Y,
|
|
43382
|
+
Gi as Z,
|
|
43383
|
+
tr as _,
|
|
43384
43384
|
pd as a,
|
|
43385
|
-
|
|
43386
|
-
|
|
43387
|
-
|
|
43388
|
-
|
|
43385
|
+
q1 as a$,
|
|
43386
|
+
O1 as a0,
|
|
43387
|
+
Oh as a1,
|
|
43388
|
+
tc as a2,
|
|
43389
|
+
Q1 as a3,
|
|
43389
43390
|
k1 as a4,
|
|
43390
43391
|
oi as a5,
|
|
43391
43392
|
kd as a6,
|
|
43392
43393
|
o0 as a7,
|
|
43393
|
-
|
|
43394
|
-
|
|
43395
|
-
|
|
43396
|
-
|
|
43397
|
-
|
|
43398
|
-
|
|
43399
|
-
|
|
43400
|
-
|
|
43401
|
-
|
|
43402
|
-
|
|
43403
|
-
|
|
43404
|
-
|
|
43405
|
-
|
|
43406
|
-
|
|
43407
|
-
|
|
43408
|
-
|
|
43409
|
-
|
|
43410
|
-
|
|
43411
|
-
|
|
43412
|
-
|
|
43413
|
-
|
|
43414
|
-
|
|
43415
|
-
|
|
43416
|
-
|
|
43417
|
-
|
|
43418
|
-
|
|
43419
|
-
|
|
43420
|
-
|
|
43421
|
-
|
|
43422
|
-
|
|
43423
|
-
|
|
43424
|
-
|
|
43425
|
-
|
|
43426
|
-
|
|
43427
|
-
|
|
43428
|
-
|
|
43429
|
-
|
|
43430
|
-
|
|
43431
|
-
|
|
43432
|
-
|
|
43433
|
-
|
|
43434
|
-
|
|
43435
|
-
|
|
43394
|
+
on as a8,
|
|
43395
|
+
Wn as a9,
|
|
43396
|
+
Bt as aA,
|
|
43397
|
+
kn as aB,
|
|
43398
|
+
Cn as aC,
|
|
43399
|
+
Eh as aD,
|
|
43400
|
+
Kn as aE,
|
|
43401
|
+
Tt as aF,
|
|
43402
|
+
qe as aG,
|
|
43403
|
+
yt as aH,
|
|
43404
|
+
Yo as aI,
|
|
43405
|
+
I0 as aJ,
|
|
43406
|
+
Es as aK,
|
|
43407
|
+
Si as aL,
|
|
43408
|
+
Fl as aM,
|
|
43409
|
+
Ll as aN,
|
|
43410
|
+
hh as aO,
|
|
43411
|
+
ec as aP,
|
|
43412
|
+
Vb as aQ,
|
|
43413
|
+
h0 as aR,
|
|
43414
|
+
xr as aS,
|
|
43415
|
+
xx as aT,
|
|
43416
|
+
cr as aU,
|
|
43417
|
+
Ht as aV,
|
|
43418
|
+
Ms as aW,
|
|
43419
|
+
Je as aX,
|
|
43420
|
+
ro as aY,
|
|
43421
|
+
vo as aZ,
|
|
43422
|
+
j1 as a_,
|
|
43423
|
+
Tf as aa,
|
|
43424
|
+
G1 as ab,
|
|
43425
|
+
Km as ac,
|
|
43426
|
+
Rt as ad,
|
|
43427
|
+
Im as ae,
|
|
43428
|
+
k_ as af,
|
|
43429
|
+
bd as ag,
|
|
43430
|
+
Rn as ah,
|
|
43431
|
+
V1 as ai,
|
|
43432
|
+
hi as aj,
|
|
43433
|
+
H1 as ak,
|
|
43434
|
+
po as al,
|
|
43435
|
+
zf as am,
|
|
43436
|
+
ph as an,
|
|
43437
|
+
Ra as ao,
|
|
43436
43438
|
Kd as ap,
|
|
43437
|
-
|
|
43438
|
-
|
|
43439
|
-
|
|
43440
|
-
|
|
43441
|
-
|
|
43442
|
-
|
|
43443
|
-
|
|
43444
|
-
|
|
43445
|
-
|
|
43446
|
-
|
|
43439
|
+
mh as aq,
|
|
43440
|
+
at as ar,
|
|
43441
|
+
z1 as as,
|
|
43442
|
+
W1 as at,
|
|
43443
|
+
r1 as au,
|
|
43444
|
+
Mg as av,
|
|
43445
|
+
iv as aw,
|
|
43446
|
+
vd as ax,
|
|
43447
|
+
ws as ay,
|
|
43448
|
+
qt as az,
|
|
43447
43449
|
Y as b,
|
|
43448
43450
|
zh as c,
|
|
43449
43451
|
fr as d,
|
package/dist/index.d.ts
CHANGED
|
@@ -640,9 +640,6 @@ declare class CameraModuleGaussian {
|
|
|
640
640
|
dispose(): void;
|
|
641
641
|
}
|
|
642
642
|
|
|
643
|
-
/**
|
|
644
|
-
* 相机姿态信息
|
|
645
|
-
*/
|
|
646
643
|
declare interface CameraPose {
|
|
647
644
|
theta: number;
|
|
648
645
|
phi: number;
|
|
@@ -1415,6 +1412,7 @@ declare interface DWGMetadata {
|
|
|
1415
1412
|
*/
|
|
1416
1413
|
declare interface Engine2dOptions {
|
|
1417
1414
|
containerId: string;
|
|
1415
|
+
interactionMode?: EngineInteractionMode;
|
|
1418
1416
|
backgroundColor?: number;
|
|
1419
1417
|
gridEnabled?: boolean;
|
|
1420
1418
|
axesEnabled?: boolean;
|
|
@@ -1439,43 +1437,25 @@ declare interface Engine2dOptions {
|
|
|
1439
1437
|
showMouseCoordinates?: boolean;
|
|
1440
1438
|
}
|
|
1441
1439
|
|
|
1442
|
-
/**
|
|
1443
|
-
* 720 全景引擎配置选项
|
|
1444
|
-
*/
|
|
1445
1440
|
declare interface Engine720Options {
|
|
1446
|
-
/** 容器 ID */
|
|
1447
1441
|
containerId: string;
|
|
1448
|
-
|
|
1442
|
+
interactionMode?: EngineInteractionMode;
|
|
1449
1443
|
assetBaseUrl?: string;
|
|
1450
|
-
/** 初始视野角度(默认 75) */
|
|
1451
1444
|
fov?: number;
|
|
1452
|
-
/** 是否启用缩放(默认 true) */
|
|
1453
1445
|
enableZoom?: boolean;
|
|
1454
|
-
/** 是否启用旋转(默认 true) */
|
|
1455
1446
|
enableRotate?: boolean;
|
|
1456
|
-
/** 最小 FOV(默认 30,最大缩放) */
|
|
1457
1447
|
minFov?: number;
|
|
1458
|
-
/** 最大 FOV(默认 90,最小缩放) */
|
|
1459
1448
|
maxFov?: number;
|
|
1460
|
-
/** 球体半径(默认 500) */
|
|
1461
1449
|
sphereRadius?: number;
|
|
1462
|
-
/** 旋转速度(默认 0.5) */
|
|
1463
1450
|
rotateSpeed?: number;
|
|
1464
|
-
/** 缩放速度(默认 1.0) */
|
|
1465
1451
|
zoomSpeed?: number;
|
|
1466
|
-
/** 是否启用阻尼效果(默认 true) */
|
|
1467
1452
|
enableDamping?: boolean;
|
|
1468
|
-
/** 阻尼系数(默认 0.05) */
|
|
1469
1453
|
dampingFactor?: number;
|
|
1470
1454
|
}
|
|
1471
1455
|
|
|
1472
|
-
/**
|
|
1473
|
-
* Gaussian 高斯点云引擎配置项。
|
|
1474
|
-
* 结构参考 core720,由 EngineKernel 统一装配各模块。
|
|
1475
|
-
*/
|
|
1476
1456
|
declare interface EngineGaussianOptions {
|
|
1477
1457
|
containerId: string;
|
|
1478
|
-
|
|
1458
|
+
interactionMode?: EngineInteractionMode;
|
|
1479
1459
|
assetBaseUrl?: string;
|
|
1480
1460
|
cameraUp?: GaussianVector3;
|
|
1481
1461
|
initialCameraPosition?: GaussianVector3;
|
|
@@ -1490,26 +1470,19 @@ declare interface EngineGaussianOptions {
|
|
|
1490
1470
|
viewerOptions?: Record<string, any>;
|
|
1491
1471
|
}
|
|
1492
1472
|
|
|
1493
|
-
/**
|
|
1494
|
-
* GIS 引擎初始化参数。
|
|
1495
|
-
* 默认 provider 为 cesium,后续可在不破坏公开 API 的前提下扩展其他地图内核。
|
|
1496
|
-
*/
|
|
1497
1473
|
export declare interface EngineGISOptions extends GISContainerOptions {
|
|
1498
|
-
|
|
1474
|
+
interactionMode?: EngineInteractionMode;
|
|
1499
1475
|
assetBaseUrl?: string;
|
|
1500
1476
|
provider?: 'cesium';
|
|
1501
1477
|
accessToken?: string;
|
|
1502
1478
|
cesiumBaseUrl?: string;
|
|
1503
1479
|
imageryUrl?: string;
|
|
1504
|
-
/** Maximum imagery tile level. Higher zooms reuse this level so imagery stays visible, though blurred. */
|
|
1505
1480
|
imageryMaximumLevel?: number;
|
|
1506
1481
|
terrainMode?: GISTerrainMode;
|
|
1507
1482
|
terrain?: GISTerrainOptions;
|
|
1508
1483
|
initialView?: GISCameraView;
|
|
1509
1484
|
showCredit?: boolean;
|
|
1510
|
-
/** 是否显示右上角紧凑性能监视器。 */
|
|
1511
1485
|
showStats?: boolean;
|
|
1512
|
-
/** 性能监视器详细配置,优先级高于 showStats。 */
|
|
1513
1486
|
performanceMonitor?: boolean | {
|
|
1514
1487
|
enabled?: boolean;
|
|
1515
1488
|
updateInterval?: number;
|
|
@@ -1537,6 +1510,8 @@ declare class EngineInfo {
|
|
|
1537
1510
|
};
|
|
1538
1511
|
}
|
|
1539
1512
|
|
|
1513
|
+
export declare type EngineInteractionMode = 'standard' | 'browse';
|
|
1514
|
+
|
|
1540
1515
|
declare class EngineKernel2d {
|
|
1541
1516
|
private options;
|
|
1542
1517
|
private container;
|
|
@@ -1577,6 +1552,7 @@ declare class EngineKernel2d {
|
|
|
1577
1552
|
renderer: THREE.WebGLRenderer | null;
|
|
1578
1553
|
dwgData: DWGData | null;
|
|
1579
1554
|
version: string;
|
|
1555
|
+
private interactionMode;
|
|
1580
1556
|
constructor(options: Engine2dOptions);
|
|
1581
1557
|
/**
|
|
1582
1558
|
* 初始化引擎
|
|
@@ -1687,6 +1663,9 @@ declare class EngineKernel2d {
|
|
|
1687
1663
|
getZoom(): number;
|
|
1688
1664
|
/** 刷新右下角版本号展示,便于外部修改 version 后同步 UI。 */
|
|
1689
1665
|
updateVersionDisplay(): void;
|
|
1666
|
+
setInteractionMode(mode?: EngineInteractionMode): void;
|
|
1667
|
+
getInteractionMode(): EngineInteractionMode;
|
|
1668
|
+
isModelInteractionEnabled(): boolean;
|
|
1690
1669
|
/**
|
|
1691
1670
|
* 获取性能统计
|
|
1692
1671
|
* @returns 性能统计信息
|
|
@@ -1763,6 +1742,7 @@ declare class EngineKernel720 {
|
|
|
1763
1742
|
worldToScreen: WorldToScreen;
|
|
1764
1743
|
private isInitialized;
|
|
1765
1744
|
private readonly version;
|
|
1745
|
+
private interactionMode;
|
|
1766
1746
|
constructor(options: Engine720Options);
|
|
1767
1747
|
/**
|
|
1768
1748
|
* 初始化引擎
|
|
@@ -1876,6 +1856,8 @@ declare class EngineKernel720 {
|
|
|
1876
1856
|
* 获取版本
|
|
1877
1857
|
*/
|
|
1878
1858
|
getVersion(): string;
|
|
1859
|
+
setInteractionMode(mode?: EngineInteractionMode): void;
|
|
1860
|
+
getInteractionMode(): EngineInteractionMode;
|
|
1879
1861
|
/**
|
|
1880
1862
|
* 销毁引擎
|
|
1881
1863
|
*/
|
|
@@ -1900,8 +1882,11 @@ declare class EngineKernelGaussian {
|
|
|
1900
1882
|
private isInitialized;
|
|
1901
1883
|
private readonly options;
|
|
1902
1884
|
private readonly version;
|
|
1885
|
+
private interactionMode;
|
|
1903
1886
|
constructor(options: EngineGaussianOptions);
|
|
1904
1887
|
private initialize;
|
|
1888
|
+
setInteractionMode(mode?: EngineInteractionMode): void;
|
|
1889
|
+
getInteractionMode(): EngineInteractionMode;
|
|
1905
1890
|
loadModel(url: string, options?: GaussianSceneOptions): Promise<GaussianSceneInfo>;
|
|
1906
1891
|
/**
|
|
1907
1892
|
* 通过 viewToken 解析 Gaussian 资源地址,再复用现有 URL 加载逻辑。
|
|
@@ -1938,6 +1923,7 @@ export declare class EngineKernelGIS {
|
|
|
1938
1923
|
private isInitialized;
|
|
1939
1924
|
private readonly version;
|
|
1940
1925
|
private cameraChangedHandler?;
|
|
1926
|
+
private interactionMode;
|
|
1941
1927
|
constructor(options: EngineGISOptions);
|
|
1942
1928
|
/**
|
|
1943
1929
|
* 初始化 GIS 引擎。
|
|
@@ -2072,6 +2058,8 @@ export declare class EngineKernelGIS {
|
|
|
2072
2058
|
* 获取 GIS 模块版本。
|
|
2073
2059
|
*/
|
|
2074
2060
|
getVersion(): string;
|
|
2061
|
+
setInteractionMode(mode?: EngineInteractionMode): void;
|
|
2062
|
+
getInteractionMode(): EngineInteractionMode;
|
|
2075
2063
|
/**
|
|
2076
2064
|
* 销毁 GIS 引擎。
|
|
2077
2065
|
*/
|
|
@@ -2168,9 +2156,13 @@ declare class EngineKernelV2 {
|
|
|
2168
2156
|
};
|
|
2169
2157
|
version: string;
|
|
2170
2158
|
private versionEl;
|
|
2159
|
+
private interactionMode;
|
|
2171
2160
|
private container;
|
|
2172
2161
|
constructor(options: any);
|
|
2173
2162
|
updateVersionDisplay(): void;
|
|
2163
|
+
setInteractionMode(mode?: EngineInteractionMode): void;
|
|
2164
|
+
getInteractionMode(): EngineInteractionMode;
|
|
2165
|
+
isModelInteractionEnabled(): boolean;
|
|
2174
2166
|
/**
|
|
2175
2167
|
* 通过 viewToken 解析 3D 模型地址,再复用现有 loaderModule URL 加载逻辑。
|
|
2176
2168
|
*/
|
|
@@ -2366,6 +2358,7 @@ declare class EngineStatus {
|
|
|
2366
2358
|
isFree: boolean;
|
|
2367
2359
|
isForceFree: boolean;
|
|
2368
2360
|
isDisableContextMenu: boolean;
|
|
2361
|
+
modelInteractionEnabled: boolean;
|
|
2369
2362
|
disableModelInteractionHighlight: boolean;
|
|
2370
2363
|
highlightModels: any[];
|
|
2371
2364
|
hideModels: any[];
|
|
@@ -2974,9 +2967,6 @@ export declare interface GISCalibrationOptions {
|
|
|
2974
2967
|
rotationUnit?: 'radians' | 'degrees';
|
|
2975
2968
|
}
|
|
2976
2969
|
|
|
2977
|
-
/**
|
|
2978
|
-
* GIS 视角参数,统一使用 WGS84 经纬度。
|
|
2979
|
-
*/
|
|
2980
2970
|
export declare interface GISCameraView {
|
|
2981
2971
|
longitude: number;
|
|
2982
2972
|
latitude: number;
|
|
@@ -2986,10 +2976,6 @@ export declare interface GISCameraView {
|
|
|
2986
2976
|
roll?: number;
|
|
2987
2977
|
}
|
|
2988
2978
|
|
|
2989
|
-
/**
|
|
2990
|
-
* GIS 引擎容器配置。
|
|
2991
|
-
* 优先支持 HTMLElement,保留 containerId 以贴近 core720 的调用习惯。
|
|
2992
|
-
*/
|
|
2993
2979
|
declare interface GISContainerOptions {
|
|
2994
2980
|
container?: HTMLElement;
|
|
2995
2981
|
containerId?: string;
|
|
@@ -3004,9 +2990,6 @@ export declare interface GISElevationCalibrationOptions {
|
|
|
3004
2990
|
heightOffset: number;
|
|
3005
2991
|
}
|
|
3006
2992
|
|
|
3007
|
-
/**
|
|
3008
|
-
* GIS 事件回调类型。
|
|
3009
|
-
*/
|
|
3010
2993
|
export declare type GISEventCallback<T = unknown> = (data: T) => void;
|
|
3011
2994
|
|
|
3012
2995
|
declare type GISGeographicOffset = {
|
|
@@ -3534,9 +3517,6 @@ declare interface IDrawingPinState {
|
|
|
3534
3517
|
capturePoint?: IDrawingPinCapturePoint | null;
|
|
3535
3518
|
}
|
|
3536
3519
|
|
|
3537
|
-
/**
|
|
3538
|
-
* GIS 事件模块对外契约。
|
|
3539
|
-
*/
|
|
3540
3520
|
export declare interface IGISEventModule {
|
|
3541
3521
|
on<T = unknown>(event: EventTypeGIS_2 | string, callback: GISEventCallback<T>): void;
|
|
3542
3522
|
off<T = unknown>(event: EventTypeGIS_2 | string, callback: GISEventCallback<T>): void;
|
|
@@ -3561,6 +3541,8 @@ declare class InteractionModule {
|
|
|
3561
3541
|
init(): void;
|
|
3562
3542
|
active(): void;
|
|
3563
3543
|
disActive(): void;
|
|
3544
|
+
isModelInteractionEnabled(): boolean;
|
|
3545
|
+
shouldSkipRaycast(): boolean;
|
|
3564
3546
|
dispose(): void;
|
|
3565
3547
|
handelKeyCtrlUp(): void;
|
|
3566
3548
|
handelKeyCtrlDown(): void;
|
|
@@ -3613,6 +3595,7 @@ declare class InteractionModule2d {
|
|
|
3613
3595
|
init(): void;
|
|
3614
3596
|
active(): void;
|
|
3615
3597
|
disActive(): void;
|
|
3598
|
+
shouldSkipRaycast(): boolean;
|
|
3616
3599
|
private oldId;
|
|
3617
3600
|
handleMouseMove(event: any): void;
|
|
3618
3601
|
handelKeyEscDown(_event: any): void;
|
|
@@ -3626,9 +3609,6 @@ declare class InteractionModule2d {
|
|
|
3626
3609
|
dispose(): void;
|
|
3627
3610
|
}
|
|
3628
3611
|
|
|
3629
|
-
/**
|
|
3630
|
-
* 交互灵敏度等动态配置
|
|
3631
|
-
*/
|
|
3632
3612
|
declare interface InteractionOptions720 {
|
|
3633
3613
|
rotateSpeed?: number;
|
|
3634
3614
|
zoomSpeed?: number;
|
|
@@ -4096,6 +4076,10 @@ declare interface LevelLocationResult {
|
|
|
4096
4076
|
isInside: boolean;
|
|
4097
4077
|
}
|
|
4098
4078
|
|
|
4079
|
+
/**
|
|
4080
|
+
* 管理场景基础光照和动态阴影相机范围。
|
|
4081
|
+
* 主要职责是创建环境光、补光、投影灯,并随视图和模型范围更新阴影覆盖区域。
|
|
4082
|
+
*/
|
|
4099
4083
|
declare class LightModule {
|
|
4100
4084
|
private engine;
|
|
4101
4085
|
private lastShadowHalfSize;
|
|
@@ -4103,24 +4087,133 @@ declare class LightModule {
|
|
|
4103
4087
|
private lastShadowFar;
|
|
4104
4088
|
private lastLightPosition;
|
|
4105
4089
|
private lastLightTarget;
|
|
4090
|
+
private lastShadowIntensity;
|
|
4091
|
+
private shadowCasterPolicyChecked;
|
|
4092
|
+
private lastShadowCasterPolicySceneSize;
|
|
4093
|
+
/**
|
|
4094
|
+
* 创建光照模块。
|
|
4095
|
+
* @param engine BIM 引擎实例,内部会从中读取 scene、controls、octreeBox 等对象。
|
|
4096
|
+
*/
|
|
4106
4097
|
constructor(engine: any);
|
|
4107
|
-
/**
|
|
4098
|
+
/**
|
|
4099
|
+
* 初始化场景基础光照,并把投影灯引用挂到 scene 上供后续更新使用。
|
|
4100
|
+
*/
|
|
4108
4101
|
init(): void;
|
|
4109
|
-
/**
|
|
4102
|
+
/**
|
|
4103
|
+
* 兼容旧调用名:更新定向光阴影的有效覆盖范围。
|
|
4104
|
+
* @param camera 当前渲染相机;传 null 时只按场景范围或默认值更新。
|
|
4105
|
+
*/
|
|
4110
4106
|
updateShadowCameraRange(camera: THREE.Camera | null): void;
|
|
4111
|
-
/**
|
|
4107
|
+
/**
|
|
4108
|
+
* 根据当前视图和模型范围移动投影灯、target 与阴影相机。
|
|
4109
|
+
* @param camera 当前渲染相机,用于估算屏幕可视范围;传 null 时退回到场景范围。
|
|
4110
|
+
*/
|
|
4112
4111
|
updateDirectionalShadow(camera: THREE.Camera | null): void;
|
|
4112
|
+
/**
|
|
4113
|
+
* 计算场景范围对阴影相机半边长的贡献。
|
|
4114
|
+
* @param sceneHalfExtent 场景包围盒最大边的一半,单位为世界坐标。
|
|
4115
|
+
* @param cameraHalfExtent 当前相机可视范围最大半边长,单位为世界坐标。
|
|
4116
|
+
* @returns 阴影相机应考虑的场景半边长。
|
|
4117
|
+
*/
|
|
4113
4118
|
private getSceneShadowHalfSize;
|
|
4119
|
+
/**
|
|
4120
|
+
* 根据阴影相机范围动态调整 bias,平衡阴影条纹和阴影悬浮。
|
|
4121
|
+
* @param light 负责投影的定向光。
|
|
4122
|
+
* @param shadowHalfSize 阴影正交相机半边长,单位为世界坐标。
|
|
4123
|
+
* @param shadowDepthRange 阴影相机深度范围。
|
|
4124
|
+
*/
|
|
4114
4125
|
private updateShadowBias;
|
|
4126
|
+
/**
|
|
4127
|
+
* 计算阴影相机沿光照方向的 near/far 范围。
|
|
4128
|
+
* @param sceneBox 当前场景包围盒;为 null 时使用兜底范围。
|
|
4129
|
+
* @param lightPosition 投影灯世界坐标。
|
|
4130
|
+
* @param target 投影灯 target 世界坐标。
|
|
4131
|
+
* @param sceneDepth 场景包围盒对角线长度,用于兜底 far 估算。
|
|
4132
|
+
* @param shadowHalfSize 阴影相机半边长,用于兜底 far 估算。
|
|
4133
|
+
* @returns 阴影相机深度范围。
|
|
4134
|
+
*/
|
|
4115
4135
|
private getShadowDepthRange;
|
|
4136
|
+
/**
|
|
4137
|
+
* 获取包围盒 8 个顶点。
|
|
4138
|
+
* @param box 需要拆分顶点的 three.js 包围盒。
|
|
4139
|
+
* @returns 包围盒所有角点的世界坐标数组。
|
|
4140
|
+
*/
|
|
4116
4141
|
private getBoxCorners;
|
|
4142
|
+
/**
|
|
4143
|
+
* 从场景中找到当前负责投影的定向光。
|
|
4144
|
+
* @returns 可投影的 DirectionalLight;找不到时返回 null。
|
|
4145
|
+
*/
|
|
4117
4146
|
private getShadowDirectionalLight;
|
|
4147
|
+
/**
|
|
4148
|
+
* 获取当前场景的有效包围盒。
|
|
4149
|
+
* @returns 有效模型包围盒;场景为空或范围异常时返回 null。
|
|
4150
|
+
*/
|
|
4118
4151
|
private getSceneBoundingBox;
|
|
4152
|
+
/**
|
|
4153
|
+
* 规范化包围盒最小点和最大点,兼容 min/max 顺序被反转的输入。
|
|
4154
|
+
* @param min 原始最小点。
|
|
4155
|
+
* @param max 原始最大点。
|
|
4156
|
+
* @returns 规范化后的包围盒;坐标非法或范围异常时返回 null。
|
|
4157
|
+
*/
|
|
4119
4158
|
private normalizeBox;
|
|
4159
|
+
/**
|
|
4160
|
+
* 校验包围盒是否可用于阴影计算。
|
|
4161
|
+
* @param box 候选包围盒。
|
|
4162
|
+
* @returns 有效包围盒;过小、过大或异常时返回 null。
|
|
4163
|
+
*/
|
|
4120
4164
|
private validateBox;
|
|
4165
|
+
/**
|
|
4166
|
+
* 估算当前相机视图在目标点附近需要覆盖的半边长。
|
|
4167
|
+
* @param camera 当前渲染相机。
|
|
4168
|
+
* @param fallbackTarget 没有 controls.target 时用于估算距离的目标点。
|
|
4169
|
+
* @returns 相机视图最大半边长;没有有效相机时返回 0。
|
|
4170
|
+
*/
|
|
4121
4171
|
private getCameraHalfExtent;
|
|
4172
|
+
/**
|
|
4173
|
+
* 解析阴影应跟随的目标点。
|
|
4174
|
+
* @param camera 当前渲染相机。
|
|
4175
|
+
* @param fallbackTarget 优先级低于 controls.target 的兜底目标点。
|
|
4176
|
+
* @returns 用于定位投影灯 target 的世界坐标。
|
|
4177
|
+
*/
|
|
4122
4178
|
private resolveShadowTarget;
|
|
4179
|
+
/**
|
|
4180
|
+
* 获取投影灯相对 target 的方向。
|
|
4181
|
+
* @returns 标准化后的世界空间光源偏移方向。
|
|
4182
|
+
*/
|
|
4123
4183
|
private getLightOffsetDirection;
|
|
4184
|
+
/**
|
|
4185
|
+
* 根据当前视角和阴影贴图密度计算最终显示强度。
|
|
4186
|
+
* @param camera 当前渲染相机。
|
|
4187
|
+
* @param lightDirection 投影灯相对 target 的方向。
|
|
4188
|
+
* @param shadowHalfSize 阴影正交相机半边长。
|
|
4189
|
+
* @param mapWidth 阴影贴图宽度。
|
|
4190
|
+
* @returns 本帧应使用的阴影强度。
|
|
4191
|
+
*/
|
|
4192
|
+
private getShadowDisplayIntensity;
|
|
4193
|
+
/**
|
|
4194
|
+
* 把阴影 target 对齐到阴影贴图 texel 网格。
|
|
4195
|
+
* @param target 原始阴影目标点。
|
|
4196
|
+
* @param lightDirection 投影灯相对 target 的方向。
|
|
4197
|
+
* @param shadowHalfSize 阴影正交相机半边长。
|
|
4198
|
+
* @param mapWidth 阴影贴图宽度。
|
|
4199
|
+
* @returns 对齐后的 target,减少相机远距离移动时的阴影采样抖动和规则纹理。
|
|
4200
|
+
*/
|
|
4201
|
+
private snapShadowTargetToTexel;
|
|
4202
|
+
/**
|
|
4203
|
+
* 自动降低大面积薄片构件的投影风险。
|
|
4204
|
+
* @param sceneBox 当前场景包围盒,用于判断场景尺寸是否变化。
|
|
4205
|
+
*/
|
|
4206
|
+
private updateShadowCasterPolicy;
|
|
4207
|
+
/**
|
|
4208
|
+
* 对单个 mesh 应用投影策略。
|
|
4209
|
+
* @param mesh 候选投影对象。
|
|
4210
|
+
*/
|
|
4211
|
+
private applyShadowCasterPolicy;
|
|
4212
|
+
/**
|
|
4213
|
+
* 对仍参与投影的实体使用背面写入阴影,降低封闭体表面的自投影条纹。
|
|
4214
|
+
* @param material mesh 材质或材质数组。
|
|
4215
|
+
*/
|
|
4216
|
+
private setBackSideShadowCasting;
|
|
4124
4217
|
}
|
|
4125
4218
|
|
|
4126
4219
|
/**
|
|
@@ -4192,9 +4285,59 @@ declare interface LoaderModel2d {
|
|
|
4192
4285
|
}
|
|
4193
4286
|
|
|
4194
4287
|
declare class LoaderModule {
|
|
4288
|
+
private static localRequestMap;
|
|
4289
|
+
private static localObjectUrls;
|
|
4290
|
+
private static interceptorInstalled;
|
|
4195
4291
|
private engine;
|
|
4196
4292
|
constructor(engine: any);
|
|
4293
|
+
/**
|
|
4294
|
+
* 批量加载模型 URL。
|
|
4295
|
+
*/
|
|
4197
4296
|
loadModels(urls: string[], options?: LoadModelOptions): Promise<void>;
|
|
4297
|
+
/**
|
|
4298
|
+
* 直接加载用户在浏览器中选择的本地模型文件。
|
|
4299
|
+
* 支持两种输入:
|
|
4300
|
+
* 1. 直接选择 `info / property / edge / lod0...` 这组模型包文件。
|
|
4301
|
+
* 2. 选择一个外层 zip,zip 内部包含上述模型包文件或解压后的同名目录。
|
|
4302
|
+
*/
|
|
4303
|
+
loadModelFile(files: File[], options?: LoadModelOptions): Promise<void>;
|
|
4304
|
+
/**
|
|
4305
|
+
* 把浏览器 File 列表整理成现有加载器可识别的本地虚拟模型入口。
|
|
4306
|
+
*/
|
|
4307
|
+
private buildLocalModelEntries;
|
|
4308
|
+
/**
|
|
4309
|
+
* 展开输入文件。
|
|
4310
|
+
* 已经是模型包文件时直接保留;仅把“外层容器 zip”解包成内部条目。
|
|
4311
|
+
*/
|
|
4312
|
+
private collectSourceEntries;
|
|
4313
|
+
/**
|
|
4314
|
+
* 识别已经打好的模型包文件,例如 `info`、`lod0.zip`。
|
|
4315
|
+
*/
|
|
4316
|
+
private parseDirectPackageEntry;
|
|
4317
|
+
/**
|
|
4318
|
+
* 识别解压后的模型目录,例如 `lod0/nodes.json`、`info/info.json`。
|
|
4319
|
+
*/
|
|
4320
|
+
private parseExtractedPackageEntry;
|
|
4321
|
+
/**
|
|
4322
|
+
* 把解压目录重新打包成 zip Blob,复用现有按包加载的实现。
|
|
4323
|
+
*/
|
|
4324
|
+
private packEntriesAsZip;
|
|
4325
|
+
/**
|
|
4326
|
+
* 注册 axios 拦截器,把虚拟模型地址改写为对应的 Blob URL。
|
|
4327
|
+
*/
|
|
4328
|
+
private static ensureLocalRequestInterceptor;
|
|
4329
|
+
/**
|
|
4330
|
+
* 为某个虚拟请求地址生成 Blob URL 映射。
|
|
4331
|
+
*/
|
|
4332
|
+
private static registerLocalRequest;
|
|
4333
|
+
/**
|
|
4334
|
+
* 统一规范虚拟请求 key,兼容传入绝对地址或带 query 的地址。
|
|
4335
|
+
*/
|
|
4336
|
+
private static normalizeRequestKey;
|
|
4337
|
+
/**
|
|
4338
|
+
* 生成稳定且不会冲突的本地模型虚拟 ID。
|
|
4339
|
+
*/
|
|
4340
|
+
private static createLocalModelId;
|
|
4198
4341
|
}
|
|
4199
4342
|
|
|
4200
4343
|
declare class LoaderModule2d {
|