iflow-engine-base 3.11.2 → 3.11.8
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/assets//350/267/263/350/267/263/345/215/241.glb +0 -0
- package/dist/assets//351/227/250/350/264/264.glb +0 -0
- package/dist/bim-engine-sdk.es.js +20 -18
- package/dist/bim-engine-sdk.umd.js +713 -4659
- package/dist/chunks/{engine-2d-Bhjg0s-h.js → engine-2d-D4gXIdIW.js} +4 -4
- package/dist/chunks/engine-3d-sERn9ZUW.js +16820 -0
- package/dist/chunks/{engine-720-Bpc4qBYo.js → engine-720-D2hMdaHQ.js} +13 -13
- package/dist/chunks/{engine-gaussian-D58l9XLl.js → engine-gaussian-CaHW8cdj.js} +214 -213
- package/dist/chunks/{engine-gis-D760uMHg.js → engine-gis-Ueesj4oW.js} +3 -3
- package/dist/chunks/{sdk-assets-BvUSl5e_.js → sdk-assets-BeBYmpNK.js} +2 -2
- package/dist/chunks/{sdk-runtime-CKzRVToz.js → sdk-runtime-5ZDRIuju.js} +3 -3
- package/dist/chunks/{sdk-vendor-DgZ0Rkal.js → sdk-vendor-CiQO5bhM.js} +1 -1
- package/dist/chunks/{three-vendor-fDCVai2b.js → three-vendor-M4ZIGmaO.js} +91 -89
- package/dist/index.d.ts +286 -9
- package/dist2d/dwg-preview.es.js +1 -1
- package/dist2d/dwg-preview.umd.js +1 -1
- package/distGaussian/gaussian.es.js +8 -7
- package/distGaussian/gaussian.umd.js +2 -2
- package/package.json +5 -2
- package/dist/chunks/engine-3d-DBxD5ujO.js +0 -50497
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,6 @@ import { Path } from 'fabric';
|
|
|
12
12
|
import { Rect } from 'fabric';
|
|
13
13
|
import { Resource } from 'cesium';
|
|
14
14
|
import * as THREE from 'three';
|
|
15
|
-
import * as THREE_2 from '../../../three/three.module.js';
|
|
16
15
|
import { Viewer } from 'cesium';
|
|
17
16
|
|
|
18
17
|
declare class AngleMeasure2d extends BaseMeasureTool2d {
|
|
@@ -532,7 +531,15 @@ declare class CadCursorUI {
|
|
|
532
531
|
*/
|
|
533
532
|
declare class Calibration {
|
|
534
533
|
private readonly engine;
|
|
534
|
+
private static readonly svgNamespace;
|
|
535
|
+
private static readonly sourceColor;
|
|
536
|
+
private static readonly targetColor;
|
|
535
537
|
private readonly matrices;
|
|
538
|
+
private pointCalibrationUrl;
|
|
539
|
+
private pointCalibrationPoints;
|
|
540
|
+
private behavior;
|
|
541
|
+
/** 供 handelBehaved 判断不同工具切换时释放当前鼠标监听。 */
|
|
542
|
+
readonly type = "point-calibration";
|
|
536
543
|
constructor(engine: any);
|
|
537
544
|
/**
|
|
538
545
|
* 应用模型校准矩阵。
|
|
@@ -548,6 +555,33 @@ declare class Calibration {
|
|
|
548
555
|
* source/target 均使用当前世界坐标;只修正平移和旋转,不引入缩放。
|
|
549
556
|
*/
|
|
550
557
|
alignBySegments(options: SegmentCalibrationOptions): boolean;
|
|
558
|
+
/** 启动四点捕捉校准,后续鼠标点击由 handelBehaved 分发给 handleMouseClick。 */
|
|
559
|
+
startPointCalibration(options: PointCalibrationOptions): boolean;
|
|
560
|
+
/** 由 handelBehaved 的鼠标事件监听器回调,采集四个有效捕捉点。 */
|
|
561
|
+
handleMouseClick(event: any): void;
|
|
562
|
+
/**
|
|
563
|
+
* 保留空的鼠标移动回调以启用 handelBehaved 的实时捕捉计算,
|
|
564
|
+
* 并将已确认点和当前待确认点绘制到 SVG 覆盖层。
|
|
565
|
+
*/
|
|
566
|
+
handleMouseMove(event: any): void;
|
|
567
|
+
/** Esc 取消当前四点采集。 */
|
|
568
|
+
handelKeyEscDown(): void;
|
|
569
|
+
/** 与测量工具一致:停用时只释放当前行为监听。 */
|
|
570
|
+
disActive(): void;
|
|
571
|
+
/** 完成或取消后恢复默认模型交互。 */
|
|
572
|
+
private finishPointCalibration;
|
|
573
|
+
/** 将四点校准的已选点与当前捕捉预览渲染成两种颜色的 SVG 点线。 */
|
|
574
|
+
private drawPointCalibrationOverlay;
|
|
575
|
+
/** 绘制一组已确认点、已确认线段和到当前捕捉点的虚线预览。 */
|
|
576
|
+
private drawCalibrationSegment;
|
|
577
|
+
/** 将世界坐标转换为 catchSvg 使用的屏幕坐标,忽略相机不可见点。 */
|
|
578
|
+
private toSvgPoint;
|
|
579
|
+
/** 向捕捉 SVG 追加线段。 */
|
|
580
|
+
private appendSvgLine;
|
|
581
|
+
/** 向捕捉 SVG 追加确认点或半透明的当前捕捉预览点。 */
|
|
582
|
+
private appendSvgPoint;
|
|
583
|
+
/** 清理四点校准留下的 SVG 覆盖元素。 */
|
|
584
|
+
private clearPointCalibrationOverlay;
|
|
551
585
|
/**
|
|
552
586
|
* 获取某个 url 当前的校准矩阵。
|
|
553
587
|
*/
|
|
@@ -564,7 +598,7 @@ declare class Calibration {
|
|
|
564
598
|
|
|
565
599
|
declare type CalibrationMatrixInput = THREE.Matrix4 | number[] | ArrayLike<number> | number[][];
|
|
566
600
|
|
|
567
|
-
declare interface CalibrationOptions {
|
|
601
|
+
export declare interface CalibrationOptions {
|
|
568
602
|
url: string;
|
|
569
603
|
matrix: CalibrationMatrixInput;
|
|
570
604
|
}
|
|
@@ -599,6 +633,7 @@ declare class CameraModule {
|
|
|
599
633
|
private getStableCameraUp;
|
|
600
634
|
private updateComposerCamera;
|
|
601
635
|
private applySwitchedCamera;
|
|
636
|
+
private resolvePoseReferenceUp;
|
|
602
637
|
private syncControlsAfterPoseRestore;
|
|
603
638
|
private inferTargetFromRestoredCamera;
|
|
604
639
|
switchCurrentCamera(): void;
|
|
@@ -1065,7 +1100,27 @@ declare class ComposerModule {
|
|
|
1065
1100
|
constructor(engine: any);
|
|
1066
1101
|
applyClippingToAmbientOcclusionPass(pass: any): void;
|
|
1067
1102
|
syncAmbientOcclusionClipping(): void;
|
|
1103
|
+
/**
|
|
1104
|
+
* GTAO 会以 normalMaterial 覆盖场景材质来生成法线/深度图,
|
|
1105
|
+
* 透明的剖切范围面也会因此被当作实体参与 AO。仅在该中间渲染阶段
|
|
1106
|
+
* 隐藏剖切范围面与控制器辅助 Mesh,避免它们在模型交叠处制造伪阴影。
|
|
1107
|
+
*/
|
|
1108
|
+
private excludeClippingHelpersFromGtao;
|
|
1109
|
+
/** 判断对象或其父级是否已标记为不参与 AO 的剖切辅助对象。 */
|
|
1110
|
+
private isAmbientOcclusionExcluded;
|
|
1111
|
+
/**
|
|
1112
|
+
* 同步 AO 中间渲染目标的深度纹理尺寸,避免 resize 后首次渲染触发 three.js 尺寸校验报错。
|
|
1113
|
+
*/
|
|
1114
|
+
private syncRenderTargetDepthTexture;
|
|
1115
|
+
/**
|
|
1116
|
+
* 同步 GTAO/SSAO 内部 normalRenderTarget 的深度纹理尺寸。
|
|
1117
|
+
*/
|
|
1118
|
+
private syncAmbientOcclusionDepthTextures;
|
|
1068
1119
|
resize(width?: number, height?: number): void;
|
|
1120
|
+
/**
|
|
1121
|
+
* 统一从这里触发后处理渲染,确保每次实际 render 前深度纹理尺寸已同步。
|
|
1122
|
+
*/
|
|
1123
|
+
render(): void;
|
|
1069
1124
|
init(): void;
|
|
1070
1125
|
}
|
|
1071
1126
|
|
|
@@ -1098,6 +1153,7 @@ declare class ControlModule {
|
|
|
1098
1153
|
private handelBehaved;
|
|
1099
1154
|
private pendingThirdPersonOptions;
|
|
1100
1155
|
private prevContainerCursor;
|
|
1156
|
+
private roamLookDirection;
|
|
1101
1157
|
private isDragging;
|
|
1102
1158
|
private isDown;
|
|
1103
1159
|
private containerOffset;
|
|
@@ -1112,6 +1168,15 @@ declare class ControlModule {
|
|
|
1112
1168
|
getApplyCollision(): any;
|
|
1113
1169
|
setApplyGravity(value: boolean): void;
|
|
1114
1170
|
getApplyGravity(): any;
|
|
1171
|
+
/**
|
|
1172
|
+
* 设置第一、第三人称漫游的视角拖拽方向;未传入的轴维持当前设置。
|
|
1173
|
+
* @param direction horizontal/vertical 为 1 使用默认方向,-1 反向该轴。
|
|
1174
|
+
*/
|
|
1175
|
+
setRoamLookDirection(direction: RoamLookDirection): void;
|
|
1176
|
+
/** 获取当前漫游视角拖拽方向,返回副本以免外部修改内部配置。 */
|
|
1177
|
+
getRoamLookDirection(): Required<RoamLookDirection>;
|
|
1178
|
+
/** 将用户偏好同步给具体控制器,兼容控制器尚未创建的阶段。 */
|
|
1179
|
+
private applyRoamLookDirection;
|
|
1115
1180
|
toggleMinMap(): void;
|
|
1116
1181
|
switchFirstPersonMode(): void;
|
|
1117
1182
|
switchThirdPersonMode(options?: any): void;
|
|
@@ -1411,6 +1476,7 @@ declare class DrawingPin {
|
|
|
1411
1476
|
private labelIds;
|
|
1412
1477
|
private offLabelClick;
|
|
1413
1478
|
private isPickingCapturePoint;
|
|
1479
|
+
private viewModeControlSnapshot;
|
|
1414
1480
|
constructor(engine: any);
|
|
1415
1481
|
/**
|
|
1416
1482
|
* 获取当前视点状态(相机 + 剖切 + 测量 + 批注)
|
|
@@ -1446,6 +1512,18 @@ declare class DrawingPin {
|
|
|
1446
1512
|
* 清空批注(便捷接口)
|
|
1447
1513
|
*/
|
|
1448
1514
|
clearAnnotation(): void;
|
|
1515
|
+
/**
|
|
1516
|
+
* 图钉 view 模式下锁定相机控制,避免用户在只读查看阶段继续旋转视图。
|
|
1517
|
+
*/
|
|
1518
|
+
private enterViewModeCameraLock;
|
|
1519
|
+
/**
|
|
1520
|
+
* 退出图钉 view 模式时恢复进入前的相机控制状态。
|
|
1521
|
+
*/
|
|
1522
|
+
private exitViewModeCameraLock;
|
|
1523
|
+
/**
|
|
1524
|
+
* 兼容旧图钉:历史数据未保存 Orbit origin 时,优先使用 capturePoint 补足旋转中心。
|
|
1525
|
+
*/
|
|
1526
|
+
private buildRestoreCameraPose;
|
|
1449
1527
|
private pickCapturePoint;
|
|
1450
1528
|
private disableCameraControlsForPick;
|
|
1451
1529
|
private restoreCameraControlsAfterPick;
|
|
@@ -2309,6 +2387,9 @@ declare class EngineKernelV2 {
|
|
|
2309
2387
|
private _fpsLastSwitch;
|
|
2310
2388
|
private _lowFpsCount;
|
|
2311
2389
|
private _highFpsCount;
|
|
2390
|
+
private readonly _idleFrameInterval;
|
|
2391
|
+
private _lastIdleFrameTime;
|
|
2392
|
+
private readonly _idleFrameRateExemptionReasons;
|
|
2312
2393
|
private readonly _fpsCheckInterval;
|
|
2313
2394
|
private readonly _fpsSwitchCooldown;
|
|
2314
2395
|
private readonly _fpsThreshold;
|
|
@@ -2372,6 +2453,8 @@ declare class EngineKernelV2 {
|
|
|
2372
2453
|
label: Label;
|
|
2373
2454
|
annotation3d: Annotation3d;
|
|
2374
2455
|
calibration: Calibration;
|
|
2456
|
+
/** 管理第三方 GLB 的放置、编辑和场景还原。 */
|
|
2457
|
+
modelPlace: ModelPlace;
|
|
2375
2458
|
models: any[];
|
|
2376
2459
|
reactBoundingClientRect: {
|
|
2377
2460
|
left: number;
|
|
@@ -2381,10 +2464,15 @@ declare class EngineKernelV2 {
|
|
|
2381
2464
|
private versionEl;
|
|
2382
2465
|
private container;
|
|
2383
2466
|
constructor(options: any);
|
|
2384
|
-
changeHandelBehavedMode(): void;
|
|
2467
|
+
changeHandelBehavedMode(mode: string): void;
|
|
2468
|
+
getHandelBehavedMode(): string;
|
|
2385
2469
|
updateVersionDisplay(): void;
|
|
2386
2470
|
bindControlEvents(control: any): void;
|
|
2387
2471
|
requestComposerRender(): void;
|
|
2472
|
+
/**
|
|
2473
|
+
* 为持续交互或动画登记空闲限帧豁免;同一原因可重复设置,多个原因会独立共存。
|
|
2474
|
+
*/
|
|
2475
|
+
setIdleFrameRateExempt(reason: string, exempt: boolean): void;
|
|
2388
2476
|
/**
|
|
2389
2477
|
* 通过 viewToken 解析 3D 模型地址,再复用现有 loaderModule URL 加载逻辑。
|
|
2390
2478
|
*/
|
|
@@ -2397,6 +2485,10 @@ declare class EngineKernelV2 {
|
|
|
2397
2485
|
* 通过源线段和目标线段对指定 url 的 3D 模型做平移和旋转校准。
|
|
2398
2486
|
*/
|
|
2399
2487
|
alignCalibrationBySegments(options: SegmentCalibrationOptions): boolean;
|
|
2488
|
+
/**
|
|
2489
|
+
* 启动模型四点捕捉校准,依次选择源定位点、源方向点、目标定位点和目标方向点。
|
|
2490
|
+
*/
|
|
2491
|
+
startPointCalibration(options: PointCalibrationOptions): boolean;
|
|
2400
2492
|
updateLightPosition(camera: any, directionalLight: any, updataRotate?: boolean): void;
|
|
2401
2493
|
/**
|
|
2402
2494
|
* 自适应渲染降级:将渲染模式降低一级
|
|
@@ -2421,6 +2513,14 @@ declare class EngineKernelV2 {
|
|
|
2421
2513
|
/**
|
|
2422
2514
|
* 处理窗口大小变化
|
|
2423
2515
|
*/
|
|
2516
|
+
/**
|
|
2517
|
+
* 同步捕捉 SVG 的尺寸和 viewBox,避免窗口变化后出现偏移或裁切。
|
|
2518
|
+
*/
|
|
2519
|
+
/**
|
|
2520
|
+
* 统一读取容器当前真实可见尺寸,避免外部传入尺寸与最终显示尺寸不一致。
|
|
2521
|
+
*/
|
|
2522
|
+
private getViewportSize;
|
|
2523
|
+
private syncCatchSvgViewport;
|
|
2424
2524
|
handleWindowResize(width?: number, height?: number): void;
|
|
2425
2525
|
/**
|
|
2426
2526
|
* 销毁引擎,释放资源,
|
|
@@ -2578,10 +2678,11 @@ declare interface EngineSettings {
|
|
|
2578
2678
|
declare class EngineStatus {
|
|
2579
2679
|
private engine;
|
|
2580
2680
|
isFree: boolean;
|
|
2581
|
-
|
|
2681
|
+
editorMode: string;
|
|
2582
2682
|
isForceFree: boolean;
|
|
2583
2683
|
isDisableContextMenu: boolean;
|
|
2584
2684
|
disableModelInteractionHighlight: boolean;
|
|
2685
|
+
suppressNextOrbitOriginPick: boolean;
|
|
2585
2686
|
highlightModels: any[];
|
|
2586
2687
|
hideModels: any[];
|
|
2587
2688
|
translucentModels: any[];
|
|
@@ -2805,7 +2906,7 @@ declare class EventModuleGIS {
|
|
|
2805
2906
|
/**
|
|
2806
2907
|
* 事件类型枚举
|
|
2807
2908
|
*/
|
|
2808
|
-
declare enum EventType {
|
|
2909
|
+
export declare enum EventType {
|
|
2809
2910
|
ModelLoadStart = "model-load-start",
|
|
2810
2911
|
ModelLoadProgress = "model-load-progress",
|
|
2811
2912
|
ModelLoaded = "model-loaded",
|
|
@@ -2814,6 +2915,7 @@ declare enum EventType {
|
|
|
2814
2915
|
HoverChanged = "hover-changed",// data: { id: string | null, point: Vector3 }
|
|
2815
2916
|
Click = "click",// data: MouseEventData
|
|
2816
2917
|
MouseMove = "mouse-move",// data: MouseEventData - 鼠标移动事件
|
|
2918
|
+
ModelPlaceSelected = "model-place-selected",
|
|
2817
2919
|
CameraChanged = "camera-changed",// 相机移动时持续触发
|
|
2818
2920
|
CameraIdle = "camera-idle",// 相机静止后触发
|
|
2819
2921
|
ViewportResize = "viewport-resize",// 窗口大小变化
|
|
@@ -3065,6 +3167,7 @@ declare interface FabricDrawActionHandlers {
|
|
|
3065
3167
|
onConfirm?: (data: Record<string, any>) => void;
|
|
3066
3168
|
onCancel?: () => void;
|
|
3067
3169
|
onPickPoint?: () => void;
|
|
3170
|
+
onClose?: () => void;
|
|
3068
3171
|
}
|
|
3069
3172
|
|
|
3070
3173
|
declare type FabricDrawMode = 'view' | 'edit';
|
|
@@ -3659,9 +3762,11 @@ declare class HoverHighLight {
|
|
|
3659
3762
|
*/
|
|
3660
3763
|
clearHighlight(): void;
|
|
3661
3764
|
/**
|
|
3662
|
-
* 每帧更新动画 —
|
|
3765
|
+
* 每帧更新动画 — 由引擎 animate 循环调用
|
|
3663
3766
|
*/
|
|
3664
3767
|
update(): void;
|
|
3768
|
+
/** 仅在悬浮高亮动画实际进行时解除空闲限帧。 */
|
|
3769
|
+
private setAnimationFrameRateExempt;
|
|
3665
3770
|
/** 从场景中移除所有覆盖层(不 dispose geometry,因为与原始 mesh 共享) */
|
|
3666
3771
|
private removeOverlayMeshes;
|
|
3667
3772
|
/** 缓出二次方 */
|
|
@@ -3698,6 +3803,21 @@ declare interface ICameraPose {
|
|
|
3698
3803
|
y: number;
|
|
3699
3804
|
z: number;
|
|
3700
3805
|
};
|
|
3806
|
+
origin?: {
|
|
3807
|
+
x: number;
|
|
3808
|
+
y: number;
|
|
3809
|
+
z: number;
|
|
3810
|
+
};
|
|
3811
|
+
referenceUp?: {
|
|
3812
|
+
x: number;
|
|
3813
|
+
y: number;
|
|
3814
|
+
z: number;
|
|
3815
|
+
};
|
|
3816
|
+
viewRight?: {
|
|
3817
|
+
x: number;
|
|
3818
|
+
y: number;
|
|
3819
|
+
z: number;
|
|
3820
|
+
};
|
|
3701
3821
|
zoom?: number;
|
|
3702
3822
|
orthographicHeight?: number;
|
|
3703
3823
|
}
|
|
@@ -3814,6 +3934,9 @@ declare class InteractionModule {
|
|
|
3814
3934
|
private keepHighlightedModels;
|
|
3815
3935
|
private removeModelsFromHighlightState;
|
|
3816
3936
|
private getNodeWorldBox;
|
|
3937
|
+
/**
|
|
3938
|
+
* 获取 hover 用的构件网格;普通构件的缓存 mesh 未挂场景,需补齐模型根组变换。
|
|
3939
|
+
*/
|
|
3817
3940
|
private getNodeCatchMeshes;
|
|
3818
3941
|
private createInstanceCatchMesh;
|
|
3819
3942
|
private getInstanceWorldBox;
|
|
@@ -5357,6 +5480,136 @@ declare class ModelMapperBatch {
|
|
|
5357
5480
|
getModelsWithMajor(major: string, callback: any): any[];
|
|
5358
5481
|
}
|
|
5359
5482
|
|
|
5483
|
+
/** 管理独立于 BIM 主模型的第三方 GLB 摆放、编辑与场景持久化。 */
|
|
5484
|
+
declare class ModelPlace {
|
|
5485
|
+
private readonly engine;
|
|
5486
|
+
private readonly loader;
|
|
5487
|
+
private readonly modelList;
|
|
5488
|
+
private readonly modelTransforms;
|
|
5489
|
+
private transformControl;
|
|
5490
|
+
private transformHelper;
|
|
5491
|
+
private selectedModelId;
|
|
5492
|
+
private copiedModelData;
|
|
5493
|
+
private editingEnabled;
|
|
5494
|
+
private isRestoring;
|
|
5495
|
+
private isUndoing;
|
|
5496
|
+
private isPasting;
|
|
5497
|
+
private readonly pendingModelIds;
|
|
5498
|
+
private bimHighlightDisabledBeforeEditing;
|
|
5499
|
+
private selectionPointerDown;
|
|
5500
|
+
private readonly onPointerDown;
|
|
5501
|
+
private readonly onPointerUp;
|
|
5502
|
+
private readonly onKeyDown;
|
|
5503
|
+
constructor(engine: any);
|
|
5504
|
+
/** 释放控制柄、事件和已加载模型;引擎销毁时应调用。 */
|
|
5505
|
+
dispose(): void;
|
|
5506
|
+
/** 每帧同步相机切换后的控制柄相机与尺寸,避免透视模式仍按正交投影显示。 */
|
|
5507
|
+
update(): void;
|
|
5508
|
+
/**
|
|
5509
|
+
* 加载 GLB 并放入场景。未指定 position 时,调用方需在开启捕捉的视图中单击确认落点。
|
|
5510
|
+
*/
|
|
5511
|
+
placeModel(options: ModelPlaceOptions): Promise<SceneModelData>;
|
|
5512
|
+
/** 以预览方式放置已准备好的模型数据;预览未确认前不会写入模型列表或历史。 */
|
|
5513
|
+
private placePreparedModel;
|
|
5514
|
+
/** 选中模型并显示指定模式的操作柄;未传模式时沿用移动模式。 */
|
|
5515
|
+
editModel(modelId: string, mode?: ModelTransformMode): void;
|
|
5516
|
+
/** 结束编辑并隐藏操作柄,不改变当前模型数据。 */
|
|
5517
|
+
endEdit(): void;
|
|
5518
|
+
/** 获取当前显示操作柄的模型 ID;没有选中模型时返回 null。 */
|
|
5519
|
+
getSelectedModelId(): string | null;
|
|
5520
|
+
/** 复制当前显示操作柄的模型配置,供 Ctrl/Command+V 或 pasteModel 使用。 */
|
|
5521
|
+
copySelectedModel(): boolean;
|
|
5522
|
+
/** 将已复制模型作为捕捉预览粘贴;确认落点后生成具有新 ID 的独立模型。 */
|
|
5523
|
+
pasteModel(): Promise<SceneModelData | null>;
|
|
5524
|
+
/** 按材质槽位或精确名称替换贴图;同名材质会一并替换并持久化。 */
|
|
5525
|
+
replaceMaterial(modelId: string, materialTarget: number | string, textureUrl: string): Promise<void>;
|
|
5526
|
+
/** 获取模型可替换的材质槽位和名称,供业务层按名称替换前查询。 */
|
|
5527
|
+
getModelMaterials(modelId: string): Array<{
|
|
5528
|
+
materialIndex: number;
|
|
5529
|
+
materialName: string;
|
|
5530
|
+
}>;
|
|
5531
|
+
/** 删除模型及其场景对象。 */
|
|
5532
|
+
deleteModel(modelId: string): void;
|
|
5533
|
+
/** 清空场景中的全部第三方模型并释放资源;该操作可通过 undo 撤回。 */
|
|
5534
|
+
clearModels(): void;
|
|
5535
|
+
/** 隐藏指定模型,并保留它以支持后续显示和场景还原。 */
|
|
5536
|
+
hideModel(modelId: string): void;
|
|
5537
|
+
/** 显示当前管理器中的所有第三方模型。 */
|
|
5538
|
+
showAllModels(): void;
|
|
5539
|
+
/** 获取可 JSON 序列化的第三方模型场景状态。 */
|
|
5540
|
+
getSceneModels(): SceneModelData[];
|
|
5541
|
+
/** 清空现有第三方模型后,重新加载并恢复已导出的场景状态。 */
|
|
5542
|
+
restoreSceneModels(sceneModels: SceneModelData[]): Promise<SceneModelData[]>;
|
|
5543
|
+
/** 撤回最近一次会改变模型状态的操作。 */
|
|
5544
|
+
undo(): Promise<boolean>;
|
|
5545
|
+
private loadRecord;
|
|
5546
|
+
/** 加载模型资源并创建记录,调用方可决定何时正式加入模型列表。 */
|
|
5547
|
+
private createRecord;
|
|
5548
|
+
/** 将已加载对象登记为正式模型,使其可被选中、导出和撤回。 */
|
|
5549
|
+
private addRecord;
|
|
5550
|
+
private applyTexture;
|
|
5551
|
+
private ensureTransformControl;
|
|
5552
|
+
/** 透视相机使用更小的屏幕尺寸系数,正交相机维持原有尺寸。 */
|
|
5553
|
+
private syncTransformControlCamera;
|
|
5554
|
+
/** 使用引擎统一的捕捉器等待用户单击,并在取消或完成后恢复常规交互。 */
|
|
5555
|
+
private pickPlacementPoint;
|
|
5556
|
+
/** 将捕捉点转换为最终放置点:沿世界法线外移 1mm,防止 GLB 与 BIM 面片重叠。 */
|
|
5557
|
+
private getPlacementPoint;
|
|
5558
|
+
private handlePointerDown;
|
|
5559
|
+
/** 仅把未拖动的点击视为选中/取消选中,避免旋转视图时隐藏操作柄。 */
|
|
5560
|
+
private handlePointerUp;
|
|
5561
|
+
/** 处理第三方模型编辑快捷键:复制粘贴、删除、Tab 切换、Esc 和 Ctrl/Command+Z。 */
|
|
5562
|
+
private handleKeyDown;
|
|
5563
|
+
/** Ctrl+Z / Command+Z 仅在非文本输入焦点且存在历史时接管,避免影响表单编辑。 */
|
|
5564
|
+
private isUndoShortcut;
|
|
5565
|
+
/** Ctrl/Command+C 仅复制当前操作柄所属的第三方模型。 */
|
|
5566
|
+
private isCopyShortcut;
|
|
5567
|
+
/** Ctrl/Command+V 以捕捉预览方式粘贴,避免新旧模型直接重叠。 */
|
|
5568
|
+
private isPasteShortcut;
|
|
5569
|
+
/** Delete 键删除当前操作模型;文本输入焦点保留原生删除行为。 */
|
|
5570
|
+
private isDeleteShortcut;
|
|
5571
|
+
/** 判断是否正处于表单输入,避免劫持浏览器原生编辑快捷键。 */
|
|
5572
|
+
private isTextInputTarget;
|
|
5573
|
+
/** 仅在操作柄实际显示且非文本输入焦点时接管 Tab,避免破坏常规表单焦点导航。 */
|
|
5574
|
+
private isTransformModeShortcut;
|
|
5575
|
+
/** 按移动、旋转、缩放顺序循环切换;Shift+Tab 可反向切换。 */
|
|
5576
|
+
private switchTransformMode;
|
|
5577
|
+
/** 隐藏当前操作柄,但不关闭编辑模式。 */
|
|
5578
|
+
private clearSelection;
|
|
5579
|
+
/** 进入第三方模型编辑模式时,屏蔽 BIM 构件的悬浮和点击高亮,避免射线穿透。 */
|
|
5580
|
+
private enableModelEditing;
|
|
5581
|
+
/** 恢复进入编辑模式前的 BIM 构件交互高亮配置。 */
|
|
5582
|
+
private disableModelEditing;
|
|
5583
|
+
private syncSelectedTransform;
|
|
5584
|
+
private saveHistory;
|
|
5585
|
+
private requireRecord;
|
|
5586
|
+
private getMaterials;
|
|
5587
|
+
/** 将数值槽位或材质名称转换为实际材质索引;同名材质应保持同一替换结果。 */
|
|
5588
|
+
private getMaterialIndices;
|
|
5589
|
+
private normalizeData;
|
|
5590
|
+
private cloneData;
|
|
5591
|
+
private createId;
|
|
5592
|
+
private removeObject;
|
|
5593
|
+
private requestRender;
|
|
5594
|
+
}
|
|
5595
|
+
|
|
5596
|
+
export declare interface ModelPlaceOptions {
|
|
5597
|
+
id?: string;
|
|
5598
|
+
url: string;
|
|
5599
|
+
name?: string;
|
|
5600
|
+
position?: THREE.Vector3Tuple;
|
|
5601
|
+
rotation?: THREE.EulerTuple;
|
|
5602
|
+
scale?: THREE.Vector3Tuple;
|
|
5603
|
+
visible?: boolean;
|
|
5604
|
+
}
|
|
5605
|
+
|
|
5606
|
+
/** 第三方 GLB 被选中后,通过 EventType.ModelPlaceSelected 发出的事件数据。 */
|
|
5607
|
+
export declare interface ModelPlaceSelectionEvent {
|
|
5608
|
+
modelId: string;
|
|
5609
|
+
data: SceneModelData;
|
|
5610
|
+
object: THREE.Object3D;
|
|
5611
|
+
}
|
|
5612
|
+
|
|
5360
5613
|
declare class ModelProperties {
|
|
5361
5614
|
private engine;
|
|
5362
5615
|
extended: Map<string, any>;
|
|
@@ -5505,6 +5758,8 @@ declare class ModelToolModule2d {
|
|
|
5505
5758
|
private isHoverableModel;
|
|
5506
5759
|
}
|
|
5507
5760
|
|
|
5761
|
+
export declare type ModelTransformMode = 'translate' | 'rotate' | 'scale';
|
|
5762
|
+
|
|
5508
5763
|
declare class ModelTree {
|
|
5509
5764
|
private engine;
|
|
5510
5765
|
constructor(engine: any);
|
|
@@ -6092,6 +6347,11 @@ declare interface PerformanceStats {
|
|
|
6092
6347
|
memoryUsage?: number;
|
|
6093
6348
|
}
|
|
6094
6349
|
|
|
6350
|
+
/** 启动四点捕捉校准所需参数。 */
|
|
6351
|
+
export declare interface PointCalibrationOptions {
|
|
6352
|
+
url: string;
|
|
6353
|
+
}
|
|
6354
|
+
|
|
6095
6355
|
/**
|
|
6096
6356
|
* RangeScale - 范围缩放工具
|
|
6097
6357
|
*
|
|
@@ -6238,10 +6498,10 @@ declare type RenderMode = 'simple' | 'balance' | 'advanced';
|
|
|
6238
6498
|
|
|
6239
6499
|
declare class RenderModule {
|
|
6240
6500
|
private engine;
|
|
6241
|
-
renderer:
|
|
6501
|
+
renderer: THREE.WebGLRenderer | null;
|
|
6242
6502
|
private watermark;
|
|
6243
6503
|
constructor(engine: any);
|
|
6244
|
-
createRenderer():
|
|
6504
|
+
createRenderer(): THREE.WebGLRenderer;
|
|
6245
6505
|
disposeRenderer(): void;
|
|
6246
6506
|
/**
|
|
6247
6507
|
* 在最终渲染结果上追加 canvas 内嵌水印。
|
|
@@ -6466,6 +6726,23 @@ declare class RenderModuleGaussian {
|
|
|
6466
6726
|
*/
|
|
6467
6727
|
export declare function resolveSdkAsset(path: string, moduleUrl?: string): string;
|
|
6468
6728
|
|
|
6729
|
+
/** 漫游视角拖拽方向:1 为默认方向,-1 为反向。 */
|
|
6730
|
+
export declare interface RoamLookDirection {
|
|
6731
|
+
horizontal?: 1 | -1;
|
|
6732
|
+
vertical?: 1 | -1;
|
|
6733
|
+
}
|
|
6734
|
+
|
|
6735
|
+
export declare interface SceneModelData extends Required<Omit<ModelPlaceOptions, 'id'>> {
|
|
6736
|
+
id: string;
|
|
6737
|
+
materials: SceneModelMaterial[];
|
|
6738
|
+
}
|
|
6739
|
+
|
|
6740
|
+
export declare interface SceneModelMaterial {
|
|
6741
|
+
materialIndex: number;
|
|
6742
|
+
materialName?: string;
|
|
6743
|
+
mapUrl?: string;
|
|
6744
|
+
}
|
|
6745
|
+
|
|
6469
6746
|
declare class SceneModule {
|
|
6470
6747
|
private engine;
|
|
6471
6748
|
scene: THREE.Scene | null;
|
|
@@ -6751,7 +7028,7 @@ export declare interface SearchResult3d {
|
|
|
6751
7028
|
|
|
6752
7029
|
export declare type SearchTheme3d = 'light' | 'dark';
|
|
6753
7030
|
|
|
6754
|
-
declare interface SegmentCalibrationOptions {
|
|
7031
|
+
export declare interface SegmentCalibrationOptions {
|
|
6755
7032
|
url: string;
|
|
6756
7033
|
source: CalibrationSegmentInput;
|
|
6757
7034
|
target: CalibrationSegmentInput;
|