feat: 优化测量功能架构与引擎组件
- 重构测量激活逻辑,在 Engine 组件中添加统一的 activateMeasure(mode) 方法 - 简化 MeasureDialogManager,移除冗余的 handleMeasureTypeChange 方法 - 添加 EngineManager.activateMeasure 转发方法 - 修复 loadModel 错误,正确调用 Engine 组件方法 - 为 Engine 组件设置固定背景渐变色 - MeasurePanel 初始化时触发 onModeChange 回调 - 添加 MeasureMode 共享类型定义 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
33
dist/index.d.ts
vendored
33
dist/index.d.ts
vendored
@@ -654,6 +654,23 @@ declare class EngineManager extends BimComponent {
|
||||
* 用于直接调用第三方引擎的其他 API
|
||||
*/
|
||||
getEngine(): any;
|
||||
/**
|
||||
* 回到主视角
|
||||
*/
|
||||
CameraGoHome(): void;
|
||||
/**
|
||||
* 激活测量功能
|
||||
* @param mode 测量类型
|
||||
*/
|
||||
activateMeasure(mode: MeasureMode): void;
|
||||
/**
|
||||
* 停用测量功能
|
||||
*/
|
||||
deactivateMeasure(): void;
|
||||
/**
|
||||
* 获取当前激活的测量类型
|
||||
*/
|
||||
getCurrentMeasureType(): MeasureMode | null;
|
||||
/**
|
||||
* 销毁 3D 引擎实例
|
||||
*/
|
||||
@@ -667,8 +684,8 @@ declare class EngineManager extends BimComponent {
|
||||
export declare interface EngineOptions {
|
||||
/** 容器元素 */
|
||||
container: HTMLElement;
|
||||
/** 背景颜色(十六进制数字,如 0x333333) */
|
||||
backgroundColor?: number;
|
||||
/** 背景颜色(十六进制数字如 0x333333,或 CSS 字符串如 'linear-gradient(...)') */
|
||||
backgroundColor?: number | string;
|
||||
/** WebGL 版本 */
|
||||
version?: 'v1' | 'v2';
|
||||
/** 是否显示性能统计 */
|
||||
@@ -824,18 +841,18 @@ declare class MeasureDialogManager extends BimComponent {
|
||||
}
|
||||
|
||||
/**
|
||||
* 测量面板 - 类型定义
|
||||
* 测量相关的通用类型定义
|
||||
*
|
||||
* 注意:
|
||||
* - 本次只实现 UI,不实现真实测量逻辑(拾取、画线、计算等)。
|
||||
* - 这里的类型以“可读性优先”为原则,尽量直观、易扩展。
|
||||
* 说明:
|
||||
* - 这些类型定义在通用 types 目录下,避免组件间直接耦合
|
||||
* - Engine 组件、MeasurePanel 组件、Manager 都可以引用这些类型
|
||||
*/
|
||||
/**
|
||||
* 测量方式(8 种)
|
||||
*
|
||||
* 说明:
|
||||
* - id 采用英文驼峰/小写,便于程序内部使用;
|
||||
* - 显示名称必须通过国际化 key 获取(见 locales)。
|
||||
* - id 采用英文驼峰/小写,便于程序内部使用
|
||||
* - 显示名称必须通过国际化 key 获取(见 locales)
|
||||
*/
|
||||
declare type MeasureMode = 'distance' | 'minDistance' | 'angle' | 'elevation' | 'volume' | 'laserDistance' | 'slope' | 'spaceVolume';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user