iflow-engine-base 3.11.8 → 3.12.0
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 +26 -24
- package/dist/bim-engine-sdk.umd.js +553 -553
- package/dist/chunks/{engine-2d-D4gXIdIW.js → engine-2d-DcC2yYrQ.js} +3 -3
- package/dist/chunks/{engine-3d-sERn9ZUW.js → engine-3d-3ZtFUISI.js} +2307 -1701
- package/dist/chunks/{engine-720-D2hMdaHQ.js → engine-720-CNMHhhCz.js} +1 -1
- package/dist/chunks/{engine-gaussian-CaHW8cdj.js → engine-gaussian-DkaOFOIn.js} +1 -1
- package/dist/chunks/{engine-gis-Ueesj4oW.js → engine-gis-B1y5CFl4.js} +2 -2
- package/dist/chunks/{sdk-assets-BeBYmpNK.js → sdk-assets-Dp1mULoO.js} +1 -1
- package/dist/chunks/{sdk-runtime-5ZDRIuju.js → sdk-runtime-CrzhDIhe.js} +2 -2
- package/dist/chunks/{sdk-vendor-CiQO5bhM.js → sdk-vendor-Cnw0kpQ4.js} +1 -1
- package/dist/iflow-engine-base.css +1 -1
- package/dist/index.d.ts +298 -7
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -501,6 +501,22 @@ declare interface BoundsLike {
|
|
|
501
501
|
};
|
|
502
502
|
}
|
|
503
503
|
|
|
504
|
+
/**
|
|
505
|
+
* 基础几何类型定义
|
|
506
|
+
*/
|
|
507
|
+
declare interface Box3 {
|
|
508
|
+
min: {
|
|
509
|
+
x: number;
|
|
510
|
+
y: number;
|
|
511
|
+
z: number;
|
|
512
|
+
};
|
|
513
|
+
max: {
|
|
514
|
+
x: number;
|
|
515
|
+
y: number;
|
|
516
|
+
z: number;
|
|
517
|
+
};
|
|
518
|
+
}
|
|
519
|
+
|
|
504
520
|
declare type CadCursorStyle2d = 'full-crosshair' | 'short-crosshair';
|
|
505
521
|
|
|
506
522
|
declare class CadCursorUI {
|
|
@@ -2455,6 +2471,8 @@ declare class EngineKernelV2 {
|
|
|
2455
2471
|
calibration: Calibration;
|
|
2456
2472
|
/** 管理第三方 GLB 的放置、编辑和场景还原。 */
|
|
2457
2473
|
modelPlace: ModelPlace;
|
|
2474
|
+
/** 基于当前引擎作为基准版本的模型差异比较器。 */
|
|
2475
|
+
modelComparison: ModelComparison;
|
|
2458
2476
|
models: any[];
|
|
2459
2477
|
reactBoundingClientRect: {
|
|
2460
2478
|
left: number;
|
|
@@ -2683,7 +2701,7 @@ declare class EngineStatus {
|
|
|
2683
2701
|
isDisableContextMenu: boolean;
|
|
2684
2702
|
disableModelInteractionHighlight: boolean;
|
|
2685
2703
|
suppressNextOrbitOriginPick: boolean;
|
|
2686
|
-
highlightModels:
|
|
2704
|
+
highlightModels: HighlightModelState[];
|
|
2687
2705
|
hideModels: any[];
|
|
2688
2706
|
translucentModels: any[];
|
|
2689
2707
|
models: any[];
|
|
@@ -2913,7 +2931,7 @@ export declare enum EventType {
|
|
|
2913
2931
|
ModelError = "model-error",
|
|
2914
2932
|
SelectionChanged = "selection-changed",// data: { ids: string[], modelId: string }
|
|
2915
2933
|
HoverChanged = "hover-changed",// data: { id: string | null, point: Vector3 }
|
|
2916
|
-
Click = "click",// data:
|
|
2934
|
+
Click = "click",// data: ModelClickEventItem[]
|
|
2917
2935
|
MouseMove = "mouse-move",// data: MouseEventData - 鼠标移动事件
|
|
2918
2936
|
ModelPlaceSelected = "model-place-selected",
|
|
2919
2937
|
CameraChanged = "camera-changed",// 相机移动时持续触发
|
|
@@ -3738,6 +3756,13 @@ declare interface HdrItem {
|
|
|
3738
3756
|
url?: string;
|
|
3739
3757
|
}
|
|
3740
3758
|
|
|
3759
|
+
/** 当前高亮构件状态,ids 与 guids 按索引一一对应。 */
|
|
3760
|
+
export declare interface HighlightModelState {
|
|
3761
|
+
url: string;
|
|
3762
|
+
ids: any[];
|
|
3763
|
+
guids: string[];
|
|
3764
|
+
}
|
|
3765
|
+
|
|
3741
3766
|
declare class HoverHighLight {
|
|
3742
3767
|
private engine;
|
|
3743
3768
|
private overlayMaterial;
|
|
@@ -3879,6 +3904,49 @@ export declare interface IGISEventModule {
|
|
|
3879
3904
|
off<T = unknown>(event: EventTypeGIS_2 | string, callback: GISEventCallback<T>): void;
|
|
3880
3905
|
}
|
|
3881
3906
|
|
|
3907
|
+
/**
|
|
3908
|
+
* 资源加载模块接口
|
|
3909
|
+
* 负责模型文件的加载、卸载以及多模型场景下的空间管理。
|
|
3910
|
+
*/
|
|
3911
|
+
export declare interface ILoaderModule {
|
|
3912
|
+
/**
|
|
3913
|
+
* 加载模型
|
|
3914
|
+
* @param url 模型文件的 URL (.gltf, .glb, .bim, etc.)
|
|
3915
|
+
* @param options 加载配置选项
|
|
3916
|
+
* @returns Promise,解析为加载完成的模型对象
|
|
3917
|
+
*/
|
|
3918
|
+
loadModel(url: string, options?: LoadModelOptions): Promise<IModel>;
|
|
3919
|
+
loadModels(urls: string[], options?: LoadModelOptions): Promise<void>;
|
|
3920
|
+
loadModelFile(files: File[], options?: LoadModelOptions): Promise<void>;
|
|
3921
|
+
/**
|
|
3922
|
+
* 卸载指定模型
|
|
3923
|
+
* @param modelId 模型 ID
|
|
3924
|
+
*/
|
|
3925
|
+
unloadModel(modelId: string): void;
|
|
3926
|
+
/**
|
|
3927
|
+
* 获取当前场景中所有已加载的模型
|
|
3928
|
+
*/
|
|
3929
|
+
getAllModels(): IModel[];
|
|
3930
|
+
/**
|
|
3931
|
+
* 获取指定模型
|
|
3932
|
+
*/
|
|
3933
|
+
getModel(modelId: string): IModel | undefined;
|
|
3934
|
+
}
|
|
3935
|
+
|
|
3936
|
+
/**
|
|
3937
|
+
* 运行时模型对象接口
|
|
3938
|
+
*/
|
|
3939
|
+
export declare interface IModel {
|
|
3940
|
+
readonly id: string;
|
|
3941
|
+
readonly uuid: string;
|
|
3942
|
+
name: string;
|
|
3943
|
+
visible: boolean;
|
|
3944
|
+
/** 获取模型的包围盒 */
|
|
3945
|
+
getBoundingBox(): Box3;
|
|
3946
|
+
/** 更新模型矩阵 */
|
|
3947
|
+
setMatrix(matrix: number[]): void;
|
|
3948
|
+
}
|
|
3949
|
+
|
|
3882
3950
|
declare class InteractionModule {
|
|
3883
3951
|
private engine;
|
|
3884
3952
|
private behavior;
|
|
@@ -3909,6 +3977,8 @@ declare class InteractionModule {
|
|
|
3909
3977
|
handleMouseUp(event: any): void;
|
|
3910
3978
|
getCatchMeshs(event: any, retainShow?: boolean): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>[] | null;
|
|
3911
3979
|
handleMouseClick(event: any): void;
|
|
3980
|
+
/** 根据模型地址和运行时节点 ID 获取点击构件的 GUID。 */
|
|
3981
|
+
private getNodeGuid;
|
|
3912
3982
|
handleMouseDoubleClick(event: any): void;
|
|
3913
3983
|
private clearModelHighlightBeforeCameraFlight;
|
|
3914
3984
|
handleMouseClickInstance(raycaster: any): any;
|
|
@@ -4650,6 +4720,10 @@ declare class LoaderModule {
|
|
|
4650
4720
|
* 批量加载模型 URL。
|
|
4651
4721
|
*/
|
|
4652
4722
|
loadModels(urls: string[], options?: LoadModelOptions): Promise<void>;
|
|
4723
|
+
/**
|
|
4724
|
+
* 下载未加密的轻量化整包 ZIP,解压并生成本地虚拟 URL 后复用常规模型加载链路。
|
|
4725
|
+
*/
|
|
4726
|
+
private loadModelPackageUrls;
|
|
4653
4727
|
/**
|
|
4654
4728
|
* 直接加载用户在浏览器中选择的本地模型文件。
|
|
4655
4729
|
* 支持两种输入:
|
|
@@ -4857,7 +4931,9 @@ declare type LoadingStyle2d = 1 | 2;
|
|
|
4857
4931
|
/**
|
|
4858
4932
|
* 模型加载配置项
|
|
4859
4933
|
*/
|
|
4860
|
-
declare interface LoadModelOptions {
|
|
4934
|
+
export declare interface LoadModelOptions {
|
|
4935
|
+
/** URL 是否为未加密的轻量化整包 ZIP;开启后会先解压并转成本地虚拟 URL 再加载 */
|
|
4936
|
+
isZipPackage?: boolean;
|
|
4861
4937
|
/** 自定义模型 ID,若不提供则自动生成 UUID */
|
|
4862
4938
|
id?: string;
|
|
4863
4939
|
/** 初始名称 */
|
|
@@ -5271,6 +5347,185 @@ declare class MiniMap {
|
|
|
5271
5347
|
dispose(): void;
|
|
5272
5348
|
}
|
|
5273
5349
|
|
|
5350
|
+
/** 三维模型点击事件中的单个构件数据。 */
|
|
5351
|
+
export declare interface ModelClickEventItem {
|
|
5352
|
+
url: string;
|
|
5353
|
+
ids: Array<string | number>;
|
|
5354
|
+
/** 与 ids 按索引一一对应的构件 GUID。 */
|
|
5355
|
+
guids: string[];
|
|
5356
|
+
}
|
|
5357
|
+
|
|
5358
|
+
/**
|
|
5359
|
+
* 以当前引擎为基准版本,对另一个引擎的 nodesMap 进行手动差异比较。
|
|
5360
|
+
* 模块不会在模型加载后自动执行,只有调用 compare 后才会开始或等待加载完成。
|
|
5361
|
+
*/
|
|
5362
|
+
export declare class ModelComparison {
|
|
5363
|
+
private readonly engine;
|
|
5364
|
+
private readonly listeners;
|
|
5365
|
+
private activeRun;
|
|
5366
|
+
private visualizationState;
|
|
5367
|
+
private readonly loadingOverlays;
|
|
5368
|
+
private nextRunId;
|
|
5369
|
+
constructor(engine: any);
|
|
5370
|
+
/** 订阅对比进度、完成、取消或异常事件;返回取消订阅函数。 */
|
|
5371
|
+
on<K extends keyof ModelComparisonEventMap>(event: K, callback: (data: ModelComparisonEventMap[K]) => void): () => void;
|
|
5372
|
+
/** 取消指定事件的监听。 */
|
|
5373
|
+
off<K extends keyof ModelComparisonEventMap>(event: K, callback: (data: ModelComparisonEventMap[K]) => void): void;
|
|
5374
|
+
/**
|
|
5375
|
+
* 手动开始一次对比;当前引擎为基准版本,targetEngine 为待比较版本。
|
|
5376
|
+
* 同一实例同一时间只允许一个任务,避免两个大模型扫描任务争抢主线程。
|
|
5377
|
+
*/
|
|
5378
|
+
compare(targetEngine: any, options?: ModelComparisonOptions): Promise<ModelComparisonResult>;
|
|
5379
|
+
/** 请求停止当前任务;批处理中的任务会在下一批开始前结束。 */
|
|
5380
|
+
cancel(): boolean;
|
|
5381
|
+
/** 恢复最近一次模型对比改动过的构件颜色与透明度,不影响其他构件。 */
|
|
5382
|
+
restoreColors(): boolean;
|
|
5383
|
+
/** 释放事件监听,并停止仍在运行的对比。 */
|
|
5384
|
+
dispose(): void;
|
|
5385
|
+
private normalizeOptions;
|
|
5386
|
+
/** 在每个引擎自己的画布容器内创建精简的 DOM 等待层。 */
|
|
5387
|
+
private showLoadingOverlays;
|
|
5388
|
+
/** 创建一侧的等待层;无法定位画布容器时静默跳过,不影响无 DOM 场景下的对比。 */
|
|
5389
|
+
private createLoadingOverlay;
|
|
5390
|
+
/** 根据进度事件更新对应引擎;未指定引擎时同步更新两侧。 */
|
|
5391
|
+
private updateLoadingOverlay;
|
|
5392
|
+
/** 清理本次任务创建的 DOM 和动画,并还原容器定位样式。 */
|
|
5393
|
+
private removeLoadingOverlays;
|
|
5394
|
+
/** 等待至少一次实际绘制并短暂保留遮罩,保证小模型也能看到进度反馈。 */
|
|
5395
|
+
private waitForLoadingOverlayPaint;
|
|
5396
|
+
/** 仅在用户已发起 compare 后等待,避免加载完成事件驱动自动对比。 */
|
|
5397
|
+
private waitForEngineReady;
|
|
5398
|
+
/** 轻量模型以 loading_completed 为准;空模型也允许参与对比,从而得出全新增或全删除。 */
|
|
5399
|
+
private isEngineReady;
|
|
5400
|
+
/** 等待已取消任务的 finally 释放互斥状态,防止旧任务和新任务同时扫描同一批模型。 */
|
|
5401
|
+
private waitForRunRelease;
|
|
5402
|
+
private compareSnapshots;
|
|
5403
|
+
/** 按 GUID 建立数值包围盒快照;原始节点 ID 仅保留给后续改色和定位。 */
|
|
5404
|
+
private createSnapshot;
|
|
5405
|
+
/** 兼容普通构件 infos、实例构件 info 与 MEP 节点的 min/max 数据。 */
|
|
5406
|
+
private extractBox;
|
|
5407
|
+
private toBox;
|
|
5408
|
+
private toVector;
|
|
5409
|
+
private isBoxEqual;
|
|
5410
|
+
/**
|
|
5411
|
+
* 以半透明白色弱化未变化构件,并在各自所属引擎内标记新增、删除和修改构件。
|
|
5412
|
+
* 删除只存在于基准引擎,新增只存在于目标引擎,修改则在两侧都使用黄色。
|
|
5413
|
+
*/
|
|
5414
|
+
private applyColors;
|
|
5415
|
+
/** 按模型地址聚合 ID,以符合 modelToolModule 的 [{ url, ids }] 入参格式。 */
|
|
5416
|
+
private toModelColorRefs;
|
|
5417
|
+
/** 对比结果同时暴露 GUID,并保留运行时 ID 供定位和改色使用。 */
|
|
5418
|
+
private toComparisonRef;
|
|
5419
|
+
/** 空数组不调用工具模块,避免不必要地触发其状态清理逻辑。 */
|
|
5420
|
+
private setColor;
|
|
5421
|
+
/** 颜色或实例副本变化后主动请求渲染,避免空闲降帧导致第二次对比看起来未生效。 */
|
|
5422
|
+
private requestRender;
|
|
5423
|
+
private getNodeCount;
|
|
5424
|
+
/** 输出精简诊断日志,帮助区分未比出差异与改色未落到模型两类问题。 */
|
|
5425
|
+
private log;
|
|
5426
|
+
/** 获取当前引擎模型及其 nodesMap 数量,不输出完整节点以避免控制台过载。 */
|
|
5427
|
+
private describeEngineModels;
|
|
5428
|
+
/** 仅输出加载状态摘要,定位等待阶段卡住的具体模型而不暴露大体量模型数据。 */
|
|
5429
|
+
private describeLoadStatuses;
|
|
5430
|
+
/** 汇总模型定位引用数量,用于核对传给改色接口的实际构件数。 */
|
|
5431
|
+
private countModelRefs;
|
|
5432
|
+
/** 查询 modelToolModule 已登记的改色记录;旧引擎未提供查询接口时也不会影响对比。 */
|
|
5433
|
+
private describeCustomColors;
|
|
5434
|
+
private createProgress;
|
|
5435
|
+
private throwIfCancelled;
|
|
5436
|
+
/** 分批让出浏览器主线程,保证页面能够绘制最新进度。 */
|
|
5437
|
+
private yieldToBrowser;
|
|
5438
|
+
private emit;
|
|
5439
|
+
}
|
|
5440
|
+
|
|
5441
|
+
/** 包围盒使用数值数组保存,避免对比结果继续持有引擎对象的引用。 */
|
|
5442
|
+
export declare interface ModelComparisonBox {
|
|
5443
|
+
min: [number, number, number];
|
|
5444
|
+
max: [number, number, number];
|
|
5445
|
+
}
|
|
5446
|
+
|
|
5447
|
+
/** 用户主动取消对比时抛出的可识别错误。 */
|
|
5448
|
+
export declare class ModelComparisonCancelledError extends Error {
|
|
5449
|
+
constructor();
|
|
5450
|
+
}
|
|
5451
|
+
|
|
5452
|
+
declare interface ModelComparisonEventMap {
|
|
5453
|
+
progress: ModelComparisonProgress;
|
|
5454
|
+
completed: ModelComparisonResult;
|
|
5455
|
+
cancelled: ModelComparisonProgress;
|
|
5456
|
+
error: Error;
|
|
5457
|
+
}
|
|
5458
|
+
|
|
5459
|
+
/** 单个构件在某一引擎中的可比较快照。 */
|
|
5460
|
+
export declare interface ModelComparisonNode {
|
|
5461
|
+
key: string;
|
|
5462
|
+
modelKey: string;
|
|
5463
|
+
/** 用于调用 modelToolModule 的运行时模型地址。 */
|
|
5464
|
+
modelUrl: string;
|
|
5465
|
+
/** 原始节点键仅用于改色和定位,不参与差异匹配。 */
|
|
5466
|
+
nodeId: any;
|
|
5467
|
+
/** 跨版本构件匹配使用的稳定 GUID。 */
|
|
5468
|
+
guid: string;
|
|
5469
|
+
box: ModelComparisonBox | null;
|
|
5470
|
+
}
|
|
5471
|
+
|
|
5472
|
+
/** 用户可按版本、URL 或业务模型 ID 将两侧模型配对为同一个比较键。 */
|
|
5473
|
+
export declare interface ModelComparisonOptions {
|
|
5474
|
+
/** 两个边界值差异不超过该阈值时视为未修改;默认 0.001。 */
|
|
5475
|
+
boxTolerance?: number;
|
|
5476
|
+
/** 每处理一批节点便让出一次主线程,使进度条和取消操作可以响应。 */
|
|
5477
|
+
batchSize?: number;
|
|
5478
|
+
/** 发起手动对比时,如引擎尚在加载则监听其完成事件;默认 true。 */
|
|
5479
|
+
waitForEngines?: boolean;
|
|
5480
|
+
/** 是否按差异类型改色;默认 false,开启后可通过 restoreColors() 恢复。 */
|
|
5481
|
+
changeColor?: boolean;
|
|
5482
|
+
/** 是否在两个引擎画布容器内显示对比等待层;默认 true。 */
|
|
5483
|
+
showLoadingUI?: boolean;
|
|
5484
|
+
/** 默认采用业务 key 或数组下标;模型顺序不一致时可通过该函数完成模型配对。 */
|
|
5485
|
+
getModelKey?: (model: any, index: number, role: 'baseline' | 'target') => string;
|
|
5486
|
+
}
|
|
5487
|
+
|
|
5488
|
+
/** 对比任务可直接用于页面进度条的数据。 */
|
|
5489
|
+
export declare interface ModelComparisonProgress {
|
|
5490
|
+
runId: number;
|
|
5491
|
+
stage: 'waiting' | 'snapshot' | 'diff' | 'completed' | 'cancelled' | 'error';
|
|
5492
|
+
percent: number | null;
|
|
5493
|
+
processed: number;
|
|
5494
|
+
total: number;
|
|
5495
|
+
message: string;
|
|
5496
|
+
engine?: 'baseline' | 'target';
|
|
5497
|
+
}
|
|
5498
|
+
|
|
5499
|
+
/** 面向调用方的构件定位结果,url 可直接作为 modelToolModule 的模型定位键。 */
|
|
5500
|
+
export declare interface ModelComparisonRef {
|
|
5501
|
+
url: string;
|
|
5502
|
+
id: any;
|
|
5503
|
+
guid: string;
|
|
5504
|
+
}
|
|
5505
|
+
|
|
5506
|
+
/** 模型对比的完整结果。 */
|
|
5507
|
+
export declare interface ModelComparisonResult {
|
|
5508
|
+
runId: number;
|
|
5509
|
+
/** 新增构件:只存在于目标引擎。 */
|
|
5510
|
+
addedIds: ModelComparisonRef[];
|
|
5511
|
+
/** 删除构件:只存在于基准引擎。 */
|
|
5512
|
+
removedIds: ModelComparisonRef[];
|
|
5513
|
+
/** 包围盒修改构件:同时保留基准与目标模型中的 url、运行时 id 与 guid。 */
|
|
5514
|
+
modifiedBoxIds: ModifiedModelComparisonRef[];
|
|
5515
|
+
added: ModelComparisonNode[];
|
|
5516
|
+
removed: ModelComparisonNode[];
|
|
5517
|
+
modifiedBox: ModifiedBoxNode[];
|
|
5518
|
+
unchanged: UnchangedModelNode[];
|
|
5519
|
+
boxUnavailable: ModelComparisonNode[];
|
|
5520
|
+
summary: {
|
|
5521
|
+
added: number;
|
|
5522
|
+
removed: number;
|
|
5523
|
+
modifiedBox: number;
|
|
5524
|
+
unchanged: number;
|
|
5525
|
+
boxUnavailable: number;
|
|
5526
|
+
};
|
|
5527
|
+
}
|
|
5528
|
+
|
|
5274
5529
|
declare class ModelEdge {
|
|
5275
5530
|
private engine;
|
|
5276
5531
|
private isActive;
|
|
@@ -5625,13 +5880,24 @@ declare class ModelToolModule {
|
|
|
5625
5880
|
private highlightMaterial;
|
|
5626
5881
|
private translucentMaterial;
|
|
5627
5882
|
private customModelColorRecords;
|
|
5883
|
+
private customInstanceColorBatches;
|
|
5628
5884
|
constructor(engine_: any);
|
|
5629
5885
|
split_merge_model(model: any): void;
|
|
5630
5886
|
un_split_merge_model(model: any): void;
|
|
5631
5887
|
private shouldKeepSplitState;
|
|
5632
5888
|
private areAllGroupsHidden;
|
|
5889
|
+
/** 更新单个构件的材质/可见状态,真正的 geometry group 在一轮操作结束后统一重建。 */
|
|
5890
|
+
private setSplitComponentState;
|
|
5891
|
+
/** 获取拆分构件当前材质索引,供高亮恢复时保留自定义颜色。 */
|
|
5892
|
+
private getSplitComponentMaterialIndex;
|
|
5893
|
+
/** 将连续且材质相同的构件区间压缩为一个 group,减少改色、隔离后的 draw call。 */
|
|
5894
|
+
private rebuildSplitModelGroups;
|
|
5895
|
+
/** 一轮状态修改完成后统一压缩所有拆分网格,并在无特殊状态时恢复原始合批 geometry。 */
|
|
5896
|
+
private rebatchSplitModels;
|
|
5633
5897
|
private getEngineModelByUrl;
|
|
5634
5898
|
private appendUniqueIds;
|
|
5899
|
+
/** 按构件 ID 顺序从 nodesMap 读取 GUID,确保状态数组可通过相同索引关联。 */
|
|
5900
|
+
private getModelGuids;
|
|
5635
5901
|
private restoreSplitModelsOnIdle;
|
|
5636
5902
|
getSceneModel(index: number): any;
|
|
5637
5903
|
getModelCenter(models?: any[]): THREE.Vector3 | null;
|
|
@@ -5669,13 +5935,13 @@ declare class ModelToolModule {
|
|
|
5669
5935
|
/** 还原序列化到 key 中的 id:纯数字字符串转回数字,其余保持原样(不同 loader 的 id 类型不统一)。 */
|
|
5670
5936
|
private parseId;
|
|
5671
5937
|
private setSimpleModelColor;
|
|
5672
|
-
private restoreSimpleModelColor;
|
|
5673
5938
|
private restoreSimpleColorRecord;
|
|
5674
5939
|
private setInstanceModelColor;
|
|
5675
|
-
private restoreInstanceModelColor;
|
|
5676
5940
|
private restoreInstanceColorRecord;
|
|
5677
5941
|
private getCustomColorRecordKey;
|
|
5678
5942
|
private cloneModelRefs;
|
|
5943
|
+
/** 返回目标构件中当前确实处于高亮态的部分,保持颜色恢复不影响无关选择。 */
|
|
5944
|
+
private getHighlightedTargets;
|
|
5679
5945
|
private removeModelsFromStatusList;
|
|
5680
5946
|
private getCustomSimpleMaterialIndex;
|
|
5681
5947
|
private getCustomColorMaterialIndex;
|
|
@@ -5683,8 +5949,10 @@ declare class ModelToolModule {
|
|
|
5683
5949
|
private getOriginalInstanceMatrix;
|
|
5684
5950
|
private isModelHighlighted;
|
|
5685
5951
|
private isModelHidden;
|
|
5686
|
-
|
|
5687
|
-
private
|
|
5952
|
+
/** 按原始实例网格、颜色和透明度合并改色实例,避免每个构件产生一个 draw call。 */
|
|
5953
|
+
private rebuildCustomInstanceColorBatches;
|
|
5954
|
+
/** 创建同一颜色状态下的 InstancedMesh 批次。 */
|
|
5955
|
+
private createCustomInstanceBatch;
|
|
5688
5956
|
private normalizeOpacity;
|
|
5689
5957
|
private clearMaterialTextures;
|
|
5690
5958
|
translucentModel(models: any[]): void;
|
|
@@ -5768,6 +6036,23 @@ declare class ModelTree {
|
|
|
5768
6036
|
getMajorTreeData(): any[];
|
|
5769
6037
|
}
|
|
5770
6038
|
|
|
6039
|
+
/** 包围盒发生变化时,保留前后值以支持列表详情、定位或可视化。 */
|
|
6040
|
+
export declare interface ModifiedBoxNode {
|
|
6041
|
+
key: string;
|
|
6042
|
+
modelKey: string;
|
|
6043
|
+
guid: string;
|
|
6044
|
+
baselineBox: ModelComparisonBox;
|
|
6045
|
+
targetBox: ModelComparisonBox;
|
|
6046
|
+
baselineNode: ModelComparisonNode;
|
|
6047
|
+
targetNode: ModelComparisonNode;
|
|
6048
|
+
}
|
|
6049
|
+
|
|
6050
|
+
/** 修改构件同时返回两个版本中的定位信息。 */
|
|
6051
|
+
export declare interface ModifiedModelComparisonRef {
|
|
6052
|
+
baseline: ModelComparisonRef;
|
|
6053
|
+
target: ModelComparisonRef;
|
|
6054
|
+
}
|
|
6055
|
+
|
|
5771
6056
|
/** 基于 2D octree 的粗筛拾取管理器。 */
|
|
5772
6057
|
declare class OctreeBox2d {
|
|
5773
6058
|
private engine;
|
|
@@ -7357,6 +7642,12 @@ declare class ThreeDTilesModelLoaderGIS {
|
|
|
7357
7642
|
private isPackageBlobPseudoUrl;
|
|
7358
7643
|
}
|
|
7359
7644
|
|
|
7645
|
+
/** 两侧均存在且包围盒未变化的构件对。 */
|
|
7646
|
+
export declare interface UnchangedModelNode {
|
|
7647
|
+
baselineNode: ModelComparisonNode;
|
|
7648
|
+
targetNode: ModelComparisonNode;
|
|
7649
|
+
}
|
|
7650
|
+
|
|
7360
7651
|
/**
|
|
7361
7652
|
* 视图边界
|
|
7362
7653
|
*/
|