iflow-engine 1.5.1 → 2.0.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-2d.d.ts +64 -0
- package/dist/bim-engine-720.d.ts +70 -0
- package/dist/components/engine-2d/index.d.ts +127 -0
- package/dist/components/engine-2d/types.d.ts +43 -0
- package/dist/components/engine-720/index.d.ts +119 -0
- package/dist/components/engine-720/types.d.ts +53 -0
- package/dist/iflow-engine.es.js +13023 -8344
- package/dist/iflow-engine.es.js.map +1 -1
- package/dist/iflow-engine.umd.js +382 -199
- package/dist/iflow-engine.umd.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/managers/engine-2d-manager.d.ts +58 -0
- package/dist/managers/engine-720-manager.d.ts +58 -0
- package/dist/types/events.d.ts +21 -0
- package/package.json +2 -2
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { DrawingLoadOptions, Drawing2dLayer } from './components/engine-2d/types';
|
|
2
|
+
import { LocaleType } from './locales/types';
|
|
3
|
+
import { ThemeType } from './themes/types';
|
|
4
|
+
import { EngineEvents } from './types/events';
|
|
5
|
+
/**
|
|
6
|
+
* BimEngine2d 构造选项
|
|
7
|
+
* 合并引擎配置与主题/语言设置
|
|
8
|
+
*/
|
|
9
|
+
export interface BimEngine2dOptions {
|
|
10
|
+
/** 语言 */
|
|
11
|
+
locale?: LocaleType;
|
|
12
|
+
/** 主题 */
|
|
13
|
+
theme?: ThemeType;
|
|
14
|
+
/** 背景颜色(十六进制数值,如 0xffffff) */
|
|
15
|
+
backgroundColor?: number;
|
|
16
|
+
/** 是否启用网格 */
|
|
17
|
+
gridEnabled?: boolean;
|
|
18
|
+
/** 是否启用坐标轴 */
|
|
19
|
+
axesEnabled?: boolean;
|
|
20
|
+
/** 选中构件颜色 */
|
|
21
|
+
selectionColor?: number;
|
|
22
|
+
/** 高亮构件颜色 */
|
|
23
|
+
highlightColor?: number;
|
|
24
|
+
/** 是否启用性能监控 */
|
|
25
|
+
enablePerformanceMonitoring?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 独立 2D 图纸引擎
|
|
29
|
+
*
|
|
30
|
+
* 内部复用 Engine2d 组件,跳过 Manager 层
|
|
31
|
+
* 构造时自动初始化,可直接调用 loadDrawing() 加载图纸
|
|
32
|
+
*/
|
|
33
|
+
export declare class BimEngine2d {
|
|
34
|
+
container: HTMLElement;
|
|
35
|
+
private registry;
|
|
36
|
+
private engineComponent;
|
|
37
|
+
constructor(container: HTMLElement | string, options?: BimEngine2dOptions);
|
|
38
|
+
/** 加载 2D 图纸 */
|
|
39
|
+
loadDrawing(url: string, options?: DrawingLoadOptions): Promise<void>;
|
|
40
|
+
/** 获取所有图层 */
|
|
41
|
+
getLayers(): Drawing2dLayer[];
|
|
42
|
+
/** 设置图层可见性 */
|
|
43
|
+
setLayerVisible(name: string, visible: boolean): void;
|
|
44
|
+
/** 重置视图 */
|
|
45
|
+
resetView(): void;
|
|
46
|
+
/** 适应视图(缩放到全部内容) */
|
|
47
|
+
fitToView(): void;
|
|
48
|
+
/** 设置缩放级别 */
|
|
49
|
+
setZoom(zoom: number): void;
|
|
50
|
+
/** 获取当前缩放级别 */
|
|
51
|
+
getZoom(): number;
|
|
52
|
+
/** 设置主题 */
|
|
53
|
+
setTheme(theme: 'dark' | 'light'): void;
|
|
54
|
+
/** 订阅事件 */
|
|
55
|
+
on<K extends keyof EngineEvents>(event: K, listener: (payload: EngineEvents[K]) => void): () => void;
|
|
56
|
+
/** 取消订阅事件 */
|
|
57
|
+
off<K extends keyof EngineEvents>(event: K, listener: (payload: EngineEvents[K]) => void): void;
|
|
58
|
+
/** 订阅原始 2D 引擎事件 */
|
|
59
|
+
onRawEvent(event: string, handler: (...args: any[]) => void): void;
|
|
60
|
+
/** 取消订阅原始 2D 引擎事件 */
|
|
61
|
+
offRawEvent(event: string, handler: (...args: any[]) => void): void;
|
|
62
|
+
/** 销毁引擎,释放所有资源 */
|
|
63
|
+
destroy(): void;
|
|
64
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { PanoramaLoadOptions } from './components/engine-720/types';
|
|
2
|
+
import { LocaleType } from './locales/types';
|
|
3
|
+
import { ThemeType } from './themes/types';
|
|
4
|
+
import { EngineEvents } from './types/events';
|
|
5
|
+
/**
|
|
6
|
+
* BimEngine720 构造选项
|
|
7
|
+
* 合并引擎配置与主题/语言设置
|
|
8
|
+
*/
|
|
9
|
+
export interface BimEngine720Options {
|
|
10
|
+
/** 语言 */
|
|
11
|
+
locale?: LocaleType;
|
|
12
|
+
/** 主题 */
|
|
13
|
+
theme?: ThemeType;
|
|
14
|
+
/** 视场角(默认 75) */
|
|
15
|
+
fov?: number;
|
|
16
|
+
/** 是否启用缩放(默认 true) */
|
|
17
|
+
enableZoom?: boolean;
|
|
18
|
+
/** 是否启用旋转(默认 true) */
|
|
19
|
+
enableRotate?: boolean;
|
|
20
|
+
/** 球体半径(默认 500) */
|
|
21
|
+
sphereRadius?: number;
|
|
22
|
+
/** 旋转速度 */
|
|
23
|
+
rotateSpeed?: number;
|
|
24
|
+
/** 缩放速度 */
|
|
25
|
+
zoomSpeed?: number;
|
|
26
|
+
/** 是否启用阻尼 */
|
|
27
|
+
enableDamping?: boolean;
|
|
28
|
+
/** 阻尼因子 */
|
|
29
|
+
dampingFactor?: number;
|
|
30
|
+
/** 最小视场角 */
|
|
31
|
+
minFov?: number;
|
|
32
|
+
/** 最大视场角 */
|
|
33
|
+
maxFov?: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 独立 720° 全景引擎
|
|
37
|
+
*
|
|
38
|
+
* 内部复用 Engine720 组件,跳过 Manager 层
|
|
39
|
+
* 构造时自动初始化,可直接调用 loadPanorama() 加载全景图
|
|
40
|
+
*/
|
|
41
|
+
export declare class BimEngine720 {
|
|
42
|
+
container: HTMLElement;
|
|
43
|
+
private registry;
|
|
44
|
+
private engineComponent;
|
|
45
|
+
constructor(container: HTMLElement | string, options?: BimEngine720Options);
|
|
46
|
+
/** 加载全景图 */
|
|
47
|
+
loadPanorama(url: string, options?: PanoramaLoadOptions): Promise<void>;
|
|
48
|
+
/** 预加载多个全景图 */
|
|
49
|
+
preloadPanoramas(urls: string[]): Promise<void>;
|
|
50
|
+
/** 设置视场角 */
|
|
51
|
+
setFov(fov: number): void;
|
|
52
|
+
/** 获取当前视场角 */
|
|
53
|
+
getFov(): number;
|
|
54
|
+
/** 设置相机朝向 */
|
|
55
|
+
lookAt(phi: number, theta: number, animated?: boolean): void;
|
|
56
|
+
/** 重置视图 */
|
|
57
|
+
resetView(): void;
|
|
58
|
+
/** 设置主题 */
|
|
59
|
+
setTheme(theme: 'dark' | 'light'): void;
|
|
60
|
+
/** 订阅事件 */
|
|
61
|
+
on<K extends keyof EngineEvents>(event: K, listener: (payload: EngineEvents[K]) => void): () => void;
|
|
62
|
+
/** 取消订阅事件 */
|
|
63
|
+
off<K extends keyof EngineEvents>(event: K, listener: (payload: EngineEvents[K]) => void): void;
|
|
64
|
+
/** 订阅原始 720 引擎事件 */
|
|
65
|
+
onRawEvent(event: string, handler: (...args: any[]) => void): void;
|
|
66
|
+
/** 取消订阅原始 720 引擎事件 */
|
|
67
|
+
offRawEvent(event: string, handler: (...args: any[]) => void): void;
|
|
68
|
+
/** 销毁引擎,释放所有资源 */
|
|
69
|
+
destroy(): void;
|
|
70
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { ThemeConfig } from '../../themes/types';
|
|
2
|
+
import { IBimComponent } from '../../types/component';
|
|
3
|
+
import { Engine2dOptions, DrawingLoadOptions, Drawing2dLayer } from './types';
|
|
4
|
+
import { ManagerRegistry } from '../../core/manager-registry';
|
|
5
|
+
export type { Engine2dOptions, DrawingLoadOptions, Drawing2dLayer };
|
|
6
|
+
/**
|
|
7
|
+
* 创建 Engine2d 实例的工厂函数
|
|
8
|
+
* 兼容旧代码直接 import 的方式
|
|
9
|
+
*/
|
|
10
|
+
export declare const createEngine2d: (options: Engine2dOptions, registry: ManagerRegistry) => Engine2d;
|
|
11
|
+
/**
|
|
12
|
+
* 2D 图纸引擎组件
|
|
13
|
+
* 负责创建和管理第三方 2D 引擎实例
|
|
14
|
+
*/
|
|
15
|
+
export declare class Engine2d implements IBimComponent {
|
|
16
|
+
/** 第三方 2D 引擎实例 */
|
|
17
|
+
private engine;
|
|
18
|
+
/** 管理器注册表实例 */
|
|
19
|
+
private registry;
|
|
20
|
+
/** 引擎挂载的容器元素 */
|
|
21
|
+
private container;
|
|
22
|
+
/** 引擎容器 ID(用于传递给 createEngine2d) */
|
|
23
|
+
private containerId;
|
|
24
|
+
/** 引擎配置选项(不包含 container) */
|
|
25
|
+
private options;
|
|
26
|
+
/** 是否已初始化 */
|
|
27
|
+
private _isInitialized;
|
|
28
|
+
/** 是否已销毁 */
|
|
29
|
+
private _isDestroyed;
|
|
30
|
+
/** 主题订阅取消函数 */
|
|
31
|
+
private unsubscribeTheme;
|
|
32
|
+
/**
|
|
33
|
+
* 构造函数
|
|
34
|
+
* @param options 2D 引擎配置选项
|
|
35
|
+
* @param registry 管理器注册表
|
|
36
|
+
*/
|
|
37
|
+
constructor(options: Engine2dOptions, registry: ManagerRegistry);
|
|
38
|
+
/**
|
|
39
|
+
* 初始化组件 (接口实现)
|
|
40
|
+
* 创建 div 容器并初始化 2D 引擎
|
|
41
|
+
*/
|
|
42
|
+
init(): void;
|
|
43
|
+
/**
|
|
44
|
+
* 设置主题 (接口实现)
|
|
45
|
+
* @param _theme 全局主题配置
|
|
46
|
+
*/
|
|
47
|
+
setTheme(_theme: ThemeConfig): void;
|
|
48
|
+
/**
|
|
49
|
+
* 设置语言 (接口实现)
|
|
50
|
+
*/
|
|
51
|
+
setLocales(): void;
|
|
52
|
+
/**
|
|
53
|
+
* 检查是否已初始化
|
|
54
|
+
*/
|
|
55
|
+
isInitialized(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* 加载 2D 图纸
|
|
58
|
+
* @param url 图纸文件 URL
|
|
59
|
+
* @param options 加载选项
|
|
60
|
+
*/
|
|
61
|
+
loadDrawing(url: string, options?: DrawingLoadOptions): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* 获取所有图层
|
|
64
|
+
* @returns 图层列表
|
|
65
|
+
*/
|
|
66
|
+
getLayers(): Drawing2dLayer[];
|
|
67
|
+
/**
|
|
68
|
+
* 设置图层可见性
|
|
69
|
+
* @param name 图层名称
|
|
70
|
+
* @param visible 是否可见
|
|
71
|
+
*/
|
|
72
|
+
setLayerVisible(name: string, visible: boolean): void;
|
|
73
|
+
/**
|
|
74
|
+
* 重置视图(适应画布)
|
|
75
|
+
*/
|
|
76
|
+
resetView(): void;
|
|
77
|
+
/**
|
|
78
|
+
* 适应视图(缩放到全部内容)
|
|
79
|
+
*/
|
|
80
|
+
fitToView(): void;
|
|
81
|
+
/**
|
|
82
|
+
* 设置缩放级别
|
|
83
|
+
* @param zoom 缩放值
|
|
84
|
+
*/
|
|
85
|
+
setZoom(zoom: number): void;
|
|
86
|
+
/**
|
|
87
|
+
* 获取当前缩放级别
|
|
88
|
+
* @returns 当前缩放值
|
|
89
|
+
*/
|
|
90
|
+
getZoom(): number;
|
|
91
|
+
/**
|
|
92
|
+
* 设置背景色
|
|
93
|
+
* @param color 颜色值(十六进制数值)
|
|
94
|
+
*/
|
|
95
|
+
setBackgroundColor(color: number): void;
|
|
96
|
+
/**
|
|
97
|
+
* 清除场景
|
|
98
|
+
*/
|
|
99
|
+
clearScene(): void;
|
|
100
|
+
/**
|
|
101
|
+
* 调整引擎尺寸
|
|
102
|
+
*/
|
|
103
|
+
resize(): void;
|
|
104
|
+
/**
|
|
105
|
+
* 订阅原始 2D 引擎事件
|
|
106
|
+
* @param event 事件名称
|
|
107
|
+
* @param handler 事件处理函数
|
|
108
|
+
*/
|
|
109
|
+
onRawEvent(event: string, handler: (...args: any[]) => void): void;
|
|
110
|
+
/**
|
|
111
|
+
* 取消订阅原始 2D 引擎事件
|
|
112
|
+
* @param event 事件名称
|
|
113
|
+
* @param handler 事件处理函数
|
|
114
|
+
*/
|
|
115
|
+
offRawEvent(event: string, handler: (...args: any[]) => void): void;
|
|
116
|
+
/**
|
|
117
|
+
* 销毁组件 (接口实现)
|
|
118
|
+
* 清理资源、取消订阅、销毁引擎实例
|
|
119
|
+
*/
|
|
120
|
+
destroy(): void;
|
|
121
|
+
/**
|
|
122
|
+
* 判断颜色字符串是否为深色
|
|
123
|
+
* @param color CSS 颜色字符串
|
|
124
|
+
* @returns 是否为深色
|
|
125
|
+
*/
|
|
126
|
+
private isColorDark;
|
|
127
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 2D 引擎类型定义
|
|
3
|
+
* 定义 2D CAD/DWG 图纸引擎的配置选项和相关类型
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 2D 引擎配置选项
|
|
7
|
+
*/
|
|
8
|
+
export interface Engine2dOptions {
|
|
9
|
+
/** 引擎挂载的容器元素 */
|
|
10
|
+
container: HTMLElement;
|
|
11
|
+
/** 背景颜色(十六进制数值,如 0xffffff) */
|
|
12
|
+
backgroundColor?: number;
|
|
13
|
+
/** 是否启用网格 */
|
|
14
|
+
gridEnabled?: boolean;
|
|
15
|
+
/** 是否启用坐标轴 */
|
|
16
|
+
axesEnabled?: boolean;
|
|
17
|
+
/** 选中构件颜色 */
|
|
18
|
+
selectionColor?: number;
|
|
19
|
+
/** 高亮构件颜色 */
|
|
20
|
+
highlightColor?: number;
|
|
21
|
+
/** 是否启用性能监控 */
|
|
22
|
+
enablePerformanceMonitoring?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 2D 图纸加载选项
|
|
26
|
+
*/
|
|
27
|
+
export interface DrawingLoadOptions {
|
|
28
|
+
/** 分块大小 */
|
|
29
|
+
chunkSize?: number;
|
|
30
|
+
/** 是否启用分块加载 */
|
|
31
|
+
enableChunkedLoading?: boolean;
|
|
32
|
+
/** 是否启用数据校验 */
|
|
33
|
+
enableValidation?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 2D 图纸图层信息
|
|
37
|
+
*/
|
|
38
|
+
export interface Drawing2dLayer {
|
|
39
|
+
/** 图层名称 */
|
|
40
|
+
name: string;
|
|
41
|
+
/** 图层是否可见 */
|
|
42
|
+
visible: boolean;
|
|
43
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { ThemeConfig } from '../../themes/types';
|
|
2
|
+
import { IBimComponent } from '../../types/component';
|
|
3
|
+
import { Engine720Options, PanoramaLoadOptions, PanoramaAnnotation } from './types';
|
|
4
|
+
import { ManagerRegistry } from '../../core/manager-registry';
|
|
5
|
+
export type { Engine720Options, PanoramaLoadOptions, PanoramaAnnotation };
|
|
6
|
+
/**
|
|
7
|
+
* 创建 Engine720 实例的工厂函数
|
|
8
|
+
* 兼容旧代码直接 import 的方式
|
|
9
|
+
*/
|
|
10
|
+
export declare const createEngine720: (options: Engine720Options, registry: ManagerRegistry) => Engine720;
|
|
11
|
+
/**
|
|
12
|
+
* 720° 全景引擎组件
|
|
13
|
+
* 负责创建和管理第三方 720 全景引擎实例
|
|
14
|
+
*/
|
|
15
|
+
export declare class Engine720 implements IBimComponent {
|
|
16
|
+
/** 第三方 720 引擎实例 */
|
|
17
|
+
private engine;
|
|
18
|
+
/** 管理器注册表实例 */
|
|
19
|
+
private registry;
|
|
20
|
+
/** 引擎挂载的容器元素 */
|
|
21
|
+
private container;
|
|
22
|
+
/** 引擎容器 ID(用于传递给 createEngine720) */
|
|
23
|
+
private containerId;
|
|
24
|
+
/** 引擎配置选项(不包含 container) */
|
|
25
|
+
private options;
|
|
26
|
+
/** 是否已初始化 */
|
|
27
|
+
private _isInitialized;
|
|
28
|
+
/** 是否已销毁 */
|
|
29
|
+
private _isDestroyed;
|
|
30
|
+
/** 主题订阅取消函数 */
|
|
31
|
+
private unsubscribeTheme;
|
|
32
|
+
/**
|
|
33
|
+
* 构造函数
|
|
34
|
+
* @param options 720 引擎配置选项
|
|
35
|
+
* @param registry 管理器注册表
|
|
36
|
+
*/
|
|
37
|
+
constructor(options: Engine720Options, registry: ManagerRegistry);
|
|
38
|
+
/**
|
|
39
|
+
* 初始化组件 (接口实现)
|
|
40
|
+
* 创建 div 容器并初始化 720 引擎
|
|
41
|
+
*/
|
|
42
|
+
init(): void;
|
|
43
|
+
/**
|
|
44
|
+
* 设置主题 (接口实现)
|
|
45
|
+
* @param _theme 全局主题配置
|
|
46
|
+
*/
|
|
47
|
+
setTheme(_theme: ThemeConfig): void;
|
|
48
|
+
/**
|
|
49
|
+
* 设置语言 (接口实现)
|
|
50
|
+
*/
|
|
51
|
+
setLocales(): void;
|
|
52
|
+
/**
|
|
53
|
+
* 检查是否已初始化
|
|
54
|
+
*/
|
|
55
|
+
isInitialized(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* 加载全景图
|
|
58
|
+
* @param url 全景图片 URL
|
|
59
|
+
* @param _options 加载选项(预留)
|
|
60
|
+
*/
|
|
61
|
+
loadPanorama(url: string, _options?: PanoramaLoadOptions): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* 预加载多个全景图
|
|
64
|
+
* @param urls 全景图 URL 列表
|
|
65
|
+
*/
|
|
66
|
+
preloadPanoramas(urls: string[]): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* 设置视场角
|
|
69
|
+
* @param fov 视场角值
|
|
70
|
+
*/
|
|
71
|
+
setFov(fov: number): void;
|
|
72
|
+
/**
|
|
73
|
+
* 获取当前视场角
|
|
74
|
+
* @returns 当前视场角值
|
|
75
|
+
*/
|
|
76
|
+
getFov(): number;
|
|
77
|
+
/**
|
|
78
|
+
* 设置相机朝向
|
|
79
|
+
* @param phi 水平角度
|
|
80
|
+
* @param theta 垂直角度
|
|
81
|
+
* @param animated 是否动画过渡
|
|
82
|
+
*/
|
|
83
|
+
lookAt(phi: number, theta: number, animated?: boolean): void;
|
|
84
|
+
/**
|
|
85
|
+
* 重置视图
|
|
86
|
+
*/
|
|
87
|
+
resetView(): void;
|
|
88
|
+
/**
|
|
89
|
+
* 暂停渲染
|
|
90
|
+
*/
|
|
91
|
+
pauseRendering(): void;
|
|
92
|
+
/**
|
|
93
|
+
* 恢复渲染
|
|
94
|
+
*/
|
|
95
|
+
resumeRendering(): void;
|
|
96
|
+
/**
|
|
97
|
+
* 调整引擎尺寸
|
|
98
|
+
* @param width 宽度
|
|
99
|
+
* @param height 高度
|
|
100
|
+
*/
|
|
101
|
+
resize(width?: number, height?: number): void;
|
|
102
|
+
/**
|
|
103
|
+
* 订阅原始 720 引擎事件
|
|
104
|
+
* @param event 事件名称
|
|
105
|
+
* @param handler 事件处理函数
|
|
106
|
+
*/
|
|
107
|
+
onRawEvent(event: string, handler: (...args: any[]) => void): void;
|
|
108
|
+
/**
|
|
109
|
+
* 取消订阅原始 720 引擎事件
|
|
110
|
+
* @param event 事件名称
|
|
111
|
+
* @param handler 事件处理函数
|
|
112
|
+
*/
|
|
113
|
+
offRawEvent(event: string, handler: (...args: any[]) => void): void;
|
|
114
|
+
/**
|
|
115
|
+
* 销毁组件 (接口实现)
|
|
116
|
+
* 清理资源、取消订阅、销毁引擎实例
|
|
117
|
+
*/
|
|
118
|
+
destroy(): void;
|
|
119
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 720 全景引擎类型定义
|
|
3
|
+
* 定义 720° 全景查看引擎的配置选项和相关类型
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 720 全景引擎配置选项
|
|
7
|
+
*/
|
|
8
|
+
export interface Engine720Options {
|
|
9
|
+
/** 引擎挂载的容器元素 */
|
|
10
|
+
container: HTMLElement;
|
|
11
|
+
/** 视场角(默认 75) */
|
|
12
|
+
fov?: number;
|
|
13
|
+
/** 是否启用缩放(默认 true) */
|
|
14
|
+
enableZoom?: boolean;
|
|
15
|
+
/** 是否启用旋转(默认 true) */
|
|
16
|
+
enableRotate?: boolean;
|
|
17
|
+
/** 球体半径(默认 500) */
|
|
18
|
+
sphereRadius?: number;
|
|
19
|
+
/** 旋转速度 */
|
|
20
|
+
rotateSpeed?: number;
|
|
21
|
+
/** 缩放速度 */
|
|
22
|
+
zoomSpeed?: number;
|
|
23
|
+
/** 是否启用阻尼(惯性) */
|
|
24
|
+
enableDamping?: boolean;
|
|
25
|
+
/** 阻尼因子 */
|
|
26
|
+
dampingFactor?: number;
|
|
27
|
+
/** 最小视场角 */
|
|
28
|
+
minFov?: number;
|
|
29
|
+
/** 最大视场角 */
|
|
30
|
+
maxFov?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 全景加载选项
|
|
34
|
+
*/
|
|
35
|
+
export interface PanoramaLoadOptions {
|
|
36
|
+
/** 加载超时时间(毫秒) */
|
|
37
|
+
timeout?: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* 全景标注信息
|
|
41
|
+
*/
|
|
42
|
+
export interface PanoramaAnnotation {
|
|
43
|
+
/** 标注 ID */
|
|
44
|
+
id: string;
|
|
45
|
+
/** 标注位置(球面坐标 phi) */
|
|
46
|
+
phi?: number;
|
|
47
|
+
/** 标注位置(球面坐标 theta) */
|
|
48
|
+
theta?: number;
|
|
49
|
+
/** 标注文本 */
|
|
50
|
+
text?: string;
|
|
51
|
+
/** 自定义数据 */
|
|
52
|
+
data?: any;
|
|
53
|
+
}
|