iflow-engine 1.3.2 → 1.3.3
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/README.md +36 -16
- package/dist/{engine/src/components → components}/engine/index.d.ts +76 -2
- package/dist/{engine/src/core → core}/base-manager.d.ts +7 -0
- package/dist/iflow-engine.es.js +7204 -7262
- package/dist/iflow-engine.es.js.map +1 -1
- package/dist/iflow-engine.umd.js +569 -569
- package/dist/iflow-engine.umd.js.map +1 -1
- package/dist/{engine/src/locales → locales}/types.d.ts +8 -19
- package/dist/managers/engine-manager.d.ts +46 -0
- package/dist/{engine/src/managers → managers}/setting-dialog-manager.d.ts +32 -12
- package/package.json +2 -2
- package/dist/engine/src/managers/engine-manager.d.ts +0 -268
- /package/dist/{engine/src/bim-engine.d.ts → bim-engine.d.ts} +0 -0
- /package/dist/{engine/src/components → components}/ai-chat/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/ai-chat/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/index.type.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/ai-chat/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/fullscreen/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/home/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/info/icon.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/info/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/map/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/measure/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/property/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/section/section-axis/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/section/section-box/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/section/section-menu/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/section/section-plane/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/setting/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/walk/walk-bird/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/walk/walk-menu/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/walk/walk-person/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/buttons/zoom-box/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/button-group/toolbar/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/collapse/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/collapse/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/description/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/description/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/dialog/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/dialog/index.type.d.ts +0 -0
- /package/dist/{engine/src/components → components}/engine/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/measure-panel/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/measure-panel/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/menu/buttons/four.d.ts +0 -0
- /package/dist/{engine/src/components → components}/menu/buttons/home.d.ts +0 -0
- /package/dist/{engine/src/components → components}/menu/buttons/info.d.ts +0 -0
- /package/dist/{engine/src/components → components}/menu/buttons/second.d.ts +0 -0
- /package/dist/{engine/src/components → components}/menu/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/menu/item.d.ts +0 -0
- /package/dist/{engine/src/components → components}/menu/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/right-key/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/right-key/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/section-axis-panel/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/section-axis-panel/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/section-box-panel/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/section-box-panel/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/section-plane-panel/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/section-plane-panel/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/tab/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/tab/index.type.d.ts +0 -0
- /package/dist/{engine/src/components → components}/tree/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/tree/tree-node.d.ts +0 -0
- /package/dist/{engine/src/components → components}/tree/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/walk-control-panel/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/walk-control-panel/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/walk-path-panel/index.d.ts +0 -0
- /package/dist/{engine/src/components → components}/walk-path-panel/types.d.ts +0 -0
- /package/dist/{engine/src/components → components}/walk-plan-view-panel/index.d.ts +0 -0
- /package/dist/{engine/src/core → core}/base-dialog-manager.d.ts +0 -0
- /package/dist/{engine/src/core → core}/event-emitter.d.ts +0 -0
- /package/dist/{engine/src/core → core}/manager-registry.d.ts +0 -0
- /package/dist/{engine/src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{engine/src/locales → locales}/en-US.d.ts +0 -0
- /package/dist/{engine/src/locales → locales}/zh-CN.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/ai-chat-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/button-group-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/component-detail-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/construct-tree-manager-btn.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/dialog-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/engine-info-dialog-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/measure-dialog-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/right-key-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/section-axis-dialog-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/section-box-dialog-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/section-plane-dialog-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/toolbar-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/walk-control-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/walk-path-dialog-manager.d.ts +0 -0
- /package/dist/{engine/src/managers → managers}/walk-plan-view-dialog-manager.d.ts +0 -0
- /package/dist/{engine/src/services → services}/locale.d.ts +0 -0
- /package/dist/{engine/src/services → services}/theme.d.ts +0 -0
- /package/dist/{engine/src/themes → themes}/presets.d.ts +0 -0
- /package/dist/{engine/src/themes → themes}/types.d.ts +0 -0
- /package/dist/{engine/src/types → types}/component.d.ts +0 -0
- /package/dist/{engine/src/types → types}/events.d.ts +0 -0
- /package/dist/{engine/src/types → types}/measure.d.ts +0 -0
- /package/dist/{engine/src/utils → utils}/icon-manager.d.ts +0 -0
package/README.md
CHANGED
|
@@ -70,16 +70,18 @@ onMounted(() => {
|
|
|
70
70
|
bimEngine.initWalkControl(); // 漫游控制
|
|
71
71
|
bimEngine.initMap(); // 地图
|
|
72
72
|
|
|
73
|
-
//
|
|
74
|
-
bimEngine.engine?.loadModel(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
73
|
+
// 加载模型(EngineManager 对外公共 API)
|
|
74
|
+
bimEngine.engine?.loadModel(
|
|
75
|
+
['/path/to/your/model.ifc'],
|
|
76
|
+
{
|
|
77
|
+
onProgress: (progress) => {
|
|
78
|
+
console.log(`加载进度: ${progress}%`);
|
|
79
|
+
},
|
|
80
|
+
onComplete: () => {
|
|
81
|
+
console.log('模型加载完成');
|
|
82
|
+
}
|
|
81
83
|
}
|
|
82
|
-
|
|
84
|
+
);
|
|
83
85
|
}
|
|
84
86
|
});
|
|
85
87
|
|
|
@@ -179,6 +181,13 @@ BIM Engine SDK 采用 **管理器模式 (Manager Pattern)** 作为核心架构,
|
|
|
179
181
|
- ✅ 简化集成复杂度
|
|
180
182
|
- ✅ 支持按需加载
|
|
181
183
|
|
|
184
|
+
> 架构更新(2026-03)
|
|
185
|
+
>
|
|
186
|
+
> - `EngineManager` 已从全量透传层收敛为“外部公共 API + 生命周期编排”
|
|
187
|
+
> - 内部 Manager 统一通过 `BaseManager.engineComponent` 直接访问 `Engine` 组件
|
|
188
|
+
> - 非 Manager 场景通过 `registry.engine3d?.getEngineComponent()?.xxx()` 访问引擎能力
|
|
189
|
+
> - `Engine.getEngine()` 已移除,事件订阅使用 `onRawEvent()/offRawEvent()`
|
|
190
|
+
|
|
182
191
|
### 架构分层
|
|
183
192
|
|
|
184
193
|
```
|
|
@@ -193,7 +202,7 @@ BIM Engine SDK 采用 **管理器模式 (Manager Pattern)** 作为核心架构,
|
|
|
193
202
|
│ Manager 层 (管理器) │
|
|
194
203
|
│ - ToolbarManager (工具栏) │
|
|
195
204
|
│ - DialogManager (对话框) │
|
|
196
|
-
│ - EngineManager (
|
|
205
|
+
│ - EngineManager (外部公共API/生命周期) │
|
|
197
206
|
│ - MeasureDialogManager (测量) │
|
|
198
207
|
│ - SectionPlaneDialogManager (剖切) │
|
|
199
208
|
│ - WalkControlManager (漫游) │
|
|
@@ -333,12 +342,14 @@ class BimEngine {
|
|
|
333
342
|
每个管理器负责特定功能的生命周期管理:
|
|
334
343
|
|
|
335
344
|
```typescript
|
|
336
|
-
// 3D
|
|
337
|
-
bimEngine.engine?.loadModel(
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
345
|
+
// 3D 引擎管理器(对外公共 API)
|
|
346
|
+
bimEngine.engine?.loadModel(
|
|
347
|
+
['/path/to/model.ifc'],
|
|
348
|
+
{
|
|
349
|
+
onProgress: (progress) => console.log(progress),
|
|
350
|
+
onComplete: () => console.log('完成')
|
|
351
|
+
}
|
|
352
|
+
);
|
|
342
353
|
|
|
343
354
|
// 测量工具管理器
|
|
344
355
|
bimEngine.measure?.show();
|
|
@@ -509,6 +520,15 @@ npm run dev
|
|
|
509
520
|
|
|
510
521
|
## 📝 更新日志
|
|
511
522
|
|
|
523
|
+
### v1.3.2 (2026-03-05)
|
|
524
|
+
|
|
525
|
+
**架构优化**
|
|
526
|
+
- ✨ EngineManager 瘦身:移除大规模 1:1 透传方法
|
|
527
|
+
- ✨ 新增 `EngineManager.getEngineComponent()` 供内部访问
|
|
528
|
+
- ✨ BaseManager 新增 `engineComponent` 便捷访问器
|
|
529
|
+
- ✨ Manager 内部调用统一迁移为 `this.engineComponent?.xxx()`
|
|
530
|
+
- ✨ 原始事件访问改为 `onRawEvent()/offRawEvent()`,移除 `getEngine()`
|
|
531
|
+
|
|
512
532
|
### v1.0.0 (2024-12-26)
|
|
513
533
|
|
|
514
534
|
**核心功能**
|
|
@@ -77,9 +77,18 @@ export declare class Engine implements IBimComponent {
|
|
|
77
77
|
*/
|
|
78
78
|
CameraGoHome(): void;
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* 订阅原始引擎事件
|
|
81
|
+
* 用于需要访问底层引擎事件的场景(如测量回调、剖切移动等)
|
|
82
|
+
* @param event 事件名称
|
|
83
|
+
* @param handler 事件处理函数
|
|
81
84
|
*/
|
|
82
|
-
|
|
85
|
+
onRawEvent(event: string, handler: (...args: any[]) => void): void;
|
|
86
|
+
/**
|
|
87
|
+
* 取消订阅原始引擎事件
|
|
88
|
+
* @param event 事件名称
|
|
89
|
+
* @param handler 事件处理函数
|
|
90
|
+
*/
|
|
91
|
+
offRawEvent(event: string, handler: (...args: any[]) => void): void;
|
|
83
92
|
/**
|
|
84
93
|
* 暂停渲染
|
|
85
94
|
*/
|
|
@@ -262,6 +271,71 @@ export declare class Engine implements IBimComponent {
|
|
|
262
271
|
* @param mode 'simple'(性能模式) | 'balance'(平衡模式) | 'advanced'(效果模式)
|
|
263
272
|
*/
|
|
264
273
|
setRenderMode(mode: 'simple' | 'balance' | 'advanced'): void;
|
|
274
|
+
/** 启用模型边线显示 */
|
|
275
|
+
activeModelEdge(): void;
|
|
276
|
+
/** 关闭模型边线显示 */
|
|
277
|
+
disActiveModelEdge(): void;
|
|
278
|
+
/** 获取边线显示状态 */
|
|
279
|
+
getModelEdgeActive(): boolean;
|
|
280
|
+
/**
|
|
281
|
+
* 设置环境光照强度
|
|
282
|
+
* @param intensity 0-100
|
|
283
|
+
*/
|
|
284
|
+
setAmbientLightIntensity(intensity: number): void;
|
|
285
|
+
/** 获取当前环境光照强度 */
|
|
286
|
+
getAmbientLightIntensity(): number;
|
|
287
|
+
/**
|
|
288
|
+
* 设置场景对比度
|
|
289
|
+
* @param contrast 0-100
|
|
290
|
+
*/
|
|
291
|
+
setSceneContrast(contrast: number): void;
|
|
292
|
+
/** 获取当前场景对比度 */
|
|
293
|
+
getSceneContrast(): number;
|
|
294
|
+
/**
|
|
295
|
+
* 设置场景饾和度
|
|
296
|
+
* @param saturation 0-100
|
|
297
|
+
*/
|
|
298
|
+
setSceneSaturation(saturation: number): void;
|
|
299
|
+
/** 获取当前场景饾和度 */
|
|
300
|
+
getSceneSaturation(): number;
|
|
301
|
+
/** 获取 HDR 背景列表 */
|
|
302
|
+
getHDRBackgroundList(): {
|
|
303
|
+
name: string;
|
|
304
|
+
id: string;
|
|
305
|
+
}[];
|
|
306
|
+
/**
|
|
307
|
+
* 设置当前 HDR 背景
|
|
308
|
+
* @param id 背景 ID
|
|
309
|
+
*/
|
|
310
|
+
setHDRBackgroundId(id: string): void;
|
|
311
|
+
/** 获取当前 HDR 背景 ID */
|
|
312
|
+
getHDRBackgroundId(): string;
|
|
313
|
+
/**
|
|
314
|
+
* 设置 HDR 背景可见性
|
|
315
|
+
* @param visible 是否可见
|
|
316
|
+
*/
|
|
317
|
+
setHDRBackgroundVisibility(visible: boolean): void;
|
|
318
|
+
/** 获取 HDR 背景可见性 */
|
|
319
|
+
getHDRBackgroundVisibility(): boolean;
|
|
320
|
+
/** 获取地面列表 */
|
|
321
|
+
getGroundList(): {
|
|
322
|
+
name: string;
|
|
323
|
+
id: string;
|
|
324
|
+
}[];
|
|
325
|
+
/**
|
|
326
|
+
* 设置当前地面类型
|
|
327
|
+
* @param id 地面 ID
|
|
328
|
+
*/
|
|
329
|
+
setGroundId(id: string): void;
|
|
330
|
+
/** 获取当前地面 ID */
|
|
331
|
+
getGroundId(): string;
|
|
332
|
+
/**
|
|
333
|
+
* 设置地面高度(单位:m)
|
|
334
|
+
* @param elevation 地面高度值
|
|
335
|
+
*/
|
|
336
|
+
setGroundElevation(elevation: number): void;
|
|
337
|
+
/** 获取当前地面高度(单位:m) */
|
|
338
|
+
getGroundElevation(): number;
|
|
265
339
|
/** 漫游模式是否激活 */
|
|
266
340
|
private isWalkModeActive;
|
|
267
341
|
/**
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ManagerRegistry } from './manager-registry';
|
|
2
2
|
import { EngineEvents } from '../types/events';
|
|
3
|
+
import { Engine } from '../components/engine';
|
|
3
4
|
/**
|
|
4
5
|
* Manager 抽象基类
|
|
5
6
|
* - 通过构造函数接收 Registry 实例
|
|
@@ -11,6 +12,12 @@ export declare abstract class BaseManager {
|
|
|
11
12
|
/** 事件订阅列表,用于自动清理 */
|
|
12
13
|
private subscriptions;
|
|
13
14
|
constructor(registry: ManagerRegistry);
|
|
15
|
+
/**
|
|
16
|
+
* 获取 Engine 组件实例的便捷访问器
|
|
17
|
+
* 内部管理器通过此 getter 直接访问 Engine 组件的全部能力
|
|
18
|
+
* 替代原来的 this.registry.engine3d?.xxx() 透传链
|
|
19
|
+
*/
|
|
20
|
+
protected get engineComponent(): Engine | null;
|
|
14
21
|
/**
|
|
15
22
|
* 订阅事件(自动追踪,destroy 时自动取消)
|
|
16
23
|
* @param event 事件名称
|