@mapless/core 0.0.6 → 1.0.7

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.
Files changed (96) hide show
  1. package/dist/index.js +4451 -565
  2. package/dist/types/Mapless/Base.d.ts +4 -0
  3. package/dist/types/Mapless/Base.d.ts.map +1 -1
  4. package/dist/types/Mapless/core/manager.d.ts +1 -1
  5. package/dist/types/Mapless/core/manager.d.ts.map +1 -1
  6. package/dist/types/Mapless/icons/icons.d.ts +1 -0
  7. package/dist/types/Mapless/icons/icons.d.ts.map +1 -1
  8. package/dist/types/Mapless/index.d.ts +5 -0
  9. package/dist/types/Mapless/index.d.ts.map +1 -1
  10. package/dist/types/Mapless/layer/FixedRectangleLayer.d.ts +83 -0
  11. package/dist/types/Mapless/layer/FixedRectangleLayer.d.ts.map +1 -0
  12. package/dist/types/Mapless/layer/RectangleLayer.d.ts +105 -0
  13. package/dist/types/Mapless/layer/RectangleLayer.d.ts.map +1 -0
  14. package/dist/types/Mapless/layer/index.d.ts +4 -0
  15. package/dist/types/Mapless/layer/index.d.ts.map +1 -0
  16. package/dist/types/Mapless/layer/types.d.ts +39 -0
  17. package/dist/types/Mapless/layer/types.d.ts.map +1 -0
  18. package/dist/types/Mapless/mana/boundary.d.ts +1 -1
  19. package/dist/types/Mapless/mana/boundary.d.ts.map +1 -1
  20. package/dist/types/Mapless/mana/cluster.d.ts +5 -5
  21. package/dist/types/Mapless/mana/cluster.d.ts.map +1 -1
  22. package/dist/types/Mapless/mana/curve.d.ts +1 -1
  23. package/dist/types/Mapless/mana/curve.d.ts.map +1 -1
  24. package/dist/types/Mapless/mana/heatmap.d.ts +1 -0
  25. package/dist/types/Mapless/mana/heatmap.d.ts.map +1 -1
  26. package/dist/types/Mapless/mana/imagedata.d.ts +1 -0
  27. package/dist/types/Mapless/mana/imagedata.d.ts.map +1 -1
  28. package/dist/types/Mapless/mana/line.d.ts +1 -0
  29. package/dist/types/Mapless/mana/line.d.ts.map +1 -1
  30. package/dist/types/Mapless/mana/marker.d.ts +1 -0
  31. package/dist/types/Mapless/mana/marker.d.ts.map +1 -1
  32. package/dist/types/Mapless/mana/movable.d.ts +1 -1
  33. package/dist/types/Mapless/mana/movable.d.ts.map +1 -1
  34. package/dist/types/Mapless/mana/newstation.d.ts +6 -6
  35. package/dist/types/Mapless/mana/newstation.d.ts.map +1 -1
  36. package/dist/types/Mapless/mana/node.d.ts +5 -4
  37. package/dist/types/Mapless/mana/node.d.ts.map +1 -1
  38. package/dist/types/Mapless/mana/oldstation.d.ts +1 -1
  39. package/dist/types/Mapless/mana/oldstation.d.ts.map +1 -1
  40. package/dist/types/Mapless/mana/polygon.d.ts +1 -0
  41. package/dist/types/Mapless/mana/polygon.d.ts.map +1 -1
  42. package/dist/types/Mapless/mana/routes.d.ts +1 -0
  43. package/dist/types/Mapless/mana/routes.d.ts.map +1 -1
  44. package/dist/types/Mapless/mana/shape.d.ts +1 -0
  45. package/dist/types/Mapless/mana/shape.d.ts.map +1 -1
  46. package/dist/types/Mapless/mana/step.d.ts +1 -0
  47. package/dist/types/Mapless/mana/step.d.ts.map +1 -1
  48. package/dist/types/Mapless/mana/track.d.ts +1 -0
  49. package/dist/types/Mapless/mana/track.d.ts.map +1 -1
  50. package/dist/types/Mapless/mana-3d/airspace.d.ts +75 -0
  51. package/dist/types/Mapless/mana-3d/airspace.d.ts.map +1 -0
  52. package/dist/types/Mapless/mana-3d/elevatedLine.d.ts +37 -0
  53. package/dist/types/Mapless/mana-3d/elevatedLine.d.ts.map +1 -0
  54. package/dist/types/Mapless/mana-3d/index.d.ts +7 -0
  55. package/dist/types/Mapless/mana-3d/index.d.ts.map +1 -0
  56. package/dist/types/Mapless/mana-3d/mapModel.d.ts +206 -0
  57. package/dist/types/Mapless/mana-3d/mapModel.d.ts.map +1 -0
  58. package/dist/types/Mapless/mana-three/basicObject.d.ts +142 -0
  59. package/dist/types/Mapless/mana-three/basicObject.d.ts.map +1 -0
  60. package/dist/types/Mapless/mana-three/curve3d.d.ts +83 -0
  61. package/dist/types/Mapless/mana-three/curve3d.d.ts.map +1 -0
  62. package/dist/types/Mapless/mana-three/index.d.ts +6 -0
  63. package/dist/types/Mapless/mana-three/index.d.ts.map +1 -0
  64. package/dist/types/Mapless/mana-three/line2Manager.d.ts +146 -0
  65. package/dist/types/Mapless/mana-three/line2Manager.d.ts.map +1 -0
  66. package/dist/types/Mapless/mana-three/model.d.ts +46 -0
  67. package/dist/types/Mapless/mana-three/model.d.ts.map +1 -0
  68. package/dist/types/Mapless/mana-three/three.d.ts +144 -0
  69. package/dist/types/Mapless/mana-three/three.d.ts.map +1 -0
  70. package/dist/types/Mapless/path/PathTracker.d.ts +151 -0
  71. package/dist/types/Mapless/path/PathTracker.d.ts.map +1 -0
  72. package/dist/types/Mapless/path/attach.d.ts +22 -0
  73. package/dist/types/Mapless/path/attach.d.ts.map +1 -0
  74. package/dist/types/Mapless/path/index.d.ts +5 -0
  75. package/dist/types/Mapless/path/index.d.ts.map +1 -0
  76. package/dist/types/Mapless/path/path.d.ts +131 -0
  77. package/dist/types/Mapless/path/path.d.ts.map +1 -0
  78. package/dist/types/Mapless/path/strategies/base.d.ts +72 -0
  79. package/dist/types/Mapless/path/strategies/base.d.ts.map +1 -0
  80. package/dist/types/Mapless/path/strategies/click.d.ts +53 -0
  81. package/dist/types/Mapless/path/strategies/click.d.ts.map +1 -0
  82. package/dist/types/Mapless/path/strategies/free.d.ts +45 -0
  83. package/dist/types/Mapless/path/strategies/free.d.ts.map +1 -0
  84. package/dist/types/Mapless/path/strategies/index.d.ts +4 -0
  85. package/dist/types/Mapless/path/strategies/index.d.ts.map +1 -0
  86. package/dist/types/Mapless/types.d.ts +12 -11
  87. package/dist/types/Mapless/types.d.ts.map +1 -1
  88. package/dist/types/Three/MapThree.d.ts +117 -0
  89. package/dist/types/Three/MapThree.d.ts.map +1 -0
  90. package/dist/types/Three/ModelCache.d.ts +68 -0
  91. package/dist/types/Three/ModelCache.d.ts.map +1 -0
  92. package/dist/types/Three/types.d.ts +67 -0
  93. package/dist/types/Three/types.d.ts.map +1 -0
  94. package/dist/types/index.d.ts +3 -1
  95. package/dist/types/index.d.ts.map +1 -1
  96. package/package.json +8 -4
@@ -0,0 +1,131 @@
1
+ /**
2
+ * 路径点数据结构
3
+ */
4
+ export interface PathPoint {
5
+ /** 经度 */
6
+ lng: number;
7
+ /** 纬度 */
8
+ lat: number;
9
+ /** 可选的附加数据 */
10
+ properties?: Record<string, unknown>;
11
+ /** 时间戳 */
12
+ timestamp?: number;
13
+ }
14
+ /**
15
+ * 路径段 - 一条连续的线段
16
+ */
17
+ export interface PathSegment {
18
+ /** 路径点集合 */
19
+ points: PathPoint[];
20
+ /** 路径段样式(可选,覆盖全局样式) */
21
+ style?: PathStyle;
22
+ /** 内部标记:该段是否已完成(仅多段模式使用) */
23
+ _completed?: boolean;
24
+ }
25
+ /**
26
+ * 路径数据结构 - 支持多段式路径
27
+ */
28
+ export interface Path {
29
+ /** 唯一标识 */
30
+ id: string;
31
+ /** 路径段集合 */
32
+ segments: PathSegment[];
33
+ /** 路径类型 */
34
+ type: PathType;
35
+ /** 路径样式配置 */
36
+ style?: PathStyle;
37
+ /** 用户自定义数据 */
38
+ metadata?: Record<string, unknown>;
39
+ /** 是否被选中 */
40
+ selected?: boolean;
41
+ }
42
+ /**
43
+ * 路径采集模式
44
+ */
45
+ export type PathType = 'click' | 'free';
46
+ /**
47
+ * 路径样式配置
48
+ */
49
+ export interface PathStyle {
50
+ /** 线条颜色 */
51
+ color?: string;
52
+ /** 线条宽度 */
53
+ width?: number;
54
+ /** 透明度 */
55
+ opacity?: number;
56
+ }
57
+ /**
58
+ * 路径采集配置
59
+ */
60
+ export interface PathTrackerOptions {
61
+ /** 最大点数量(用于自由绘制模式) */
62
+ maxPoints?: number;
63
+ /** 最小点间距(米,用于自由绘制模式节流) */
64
+ minPointDistance?: number;
65
+ /** 默认样式 */
66
+ defaultStyle?: PathStyle;
67
+ /** 是否在绘制时显示预览 */
68
+ showPreview?: boolean;
69
+ /** 是否自动闭合路径 */
70
+ autoClose?: boolean;
71
+ /** 是否启用点击选择功能 */
72
+ enableClickSelection?: boolean;
73
+ /** 是否启用多段模式(每次完成创建新段) */
74
+ multiSegment?: boolean;
75
+ }
76
+ /**
77
+ * 路径事件回调类型
78
+ */
79
+ export interface PathTrackerCallbacks {
80
+ /** 开始绘制时触发 */
81
+ onStart?: (path: Path) => void;
82
+ /** 添加点时触发 */
83
+ onPointAdd?: (path: Path, point: PathPoint) => void;
84
+ /** 绘制过程中触发(自由绘制模式频繁触发) */
85
+ onDrawing?: (path: Path) => void;
86
+ /** 完成绘制时触发(在多段模式下,每段完成时触发) */
87
+ onComplete?: (path: Path) => void;
88
+ /** 整个路径完成时触发(仅多段模式) */
89
+ onAllComplete?: (path: Path) => void;
90
+ /** 路径列表需要更新时触发(包括正在绘制的路径) */
91
+ onListUpdate?: () => void;
92
+ /** 取消绘制时触发 */
93
+ onCancel?: () => void;
94
+ /** 清除路径时触发 */
95
+ onClear?: () => void;
96
+ /** 路径被选中时触发 */
97
+ onSelect?: (path: Path | null) => void;
98
+ }
99
+ /**
100
+ * 内部策略回调接口(PathTracker 使用)
101
+ * 与用户回调接口不同,这是策略层 → PathTracker 层的通信
102
+ */
103
+ export interface InternalStrategyCallbacks {
104
+ onStart?: () => void;
105
+ onPointAdd?: (point: PathPoint) => void;
106
+ onDrawing?: () => void;
107
+ onComplete?: (segment: PathSegment) => void;
108
+ onCancel?: () => void;
109
+ }
110
+ /**
111
+ * 采集策略接口
112
+ */
113
+ export interface IPathCollectionStrategy {
114
+ /** 策略名称 */
115
+ readonly name: string;
116
+ /** 初始化策略 */
117
+ initialize(map: mapboxgl.Map, callbacks: InternalStrategyCallbacks): void;
118
+ /** 开始采集 */
119
+ start(): void;
120
+ /** 停止采集 */
121
+ stop(): void;
122
+ /** 清理资源 */
123
+ destroy(): void;
124
+ /** 获取当前采集的点 */
125
+ getPoints(): PathPoint[];
126
+ /** 手动添加点(用于点击模式) */
127
+ addPoint?(point: PathPoint): void;
128
+ /** 完成采集 */
129
+ complete?(): void;
130
+ }
131
+ //# sourceMappingURL=path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/path/path.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import type { IPathCollectionStrategy, InternalStrategyCallbacks, PathPoint, PathSegment } from '../path';
2
+ /**
3
+ * 采集策略基类
4
+ * 提供公共方法和属性,子类实现具体逻辑
5
+ */
6
+ export default abstract class PathCollectionStrategy implements IPathCollectionStrategy {
7
+ protected map: mapboxgl.Map | null;
8
+ protected callbacks: InternalStrategyCallbacks;
9
+ protected isActive: boolean;
10
+ protected points: PathPoint[];
11
+ /**
12
+ * 策略名称,子类必须实现
13
+ */
14
+ abstract readonly name: string;
15
+ /**
16
+ * 初始化策略
17
+ */
18
+ initialize(map: mapboxgl.Map, callbacks: InternalStrategyCallbacks): void;
19
+ /**
20
+ * 开始采集
21
+ */
22
+ start(): void;
23
+ /**
24
+ * 停止采集
25
+ */
26
+ stop(): void;
27
+ /**
28
+ * 清理资源
29
+ */
30
+ destroy(): void;
31
+ /**
32
+ * 获取当前采集的点
33
+ */
34
+ getPoints(): PathPoint[];
35
+ /**
36
+ * 清空点集合
37
+ */
38
+ protected clearPoints(): void;
39
+ /**
40
+ * 添加点到集合
41
+ */
42
+ addPoint(point: PathPoint): void;
43
+ /**
44
+ * 获取当前采集的所有点
45
+ */
46
+ getCurrentSegment(): PathSegment;
47
+ /**
48
+ * 设置事件监听器,子类实现
49
+ */
50
+ protected abstract setupEventListeners(): void;
51
+ /**
52
+ * 移除事件监听器,子类实现
53
+ */
54
+ protected abstract removeEventListeners(): void;
55
+ /**
56
+ * 开始采集时的钩子,子类可重写
57
+ */
58
+ protected onStartCollection(): void;
59
+ /**
60
+ * 停止采集时的钩子,子类可重写
61
+ */
62
+ protected onStopCollection(): void;
63
+ /**
64
+ * 计算两点之间的距离(米)
65
+ */
66
+ protected calculateDistance(point1: PathPoint, point2: PathPoint): number;
67
+ /**
68
+ * 从鼠标事件提取路径点
69
+ */
70
+ protected extractPointFromEvent(e: mapboxgl.MapMouseEvent): PathPoint;
71
+ }
72
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/Mapless/path/strategies/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EACzB,SAAS,EACT,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,sBAC5B,YAAW,uBAAuB;IAElC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAQ;IAC1C,SAAS,CAAC,SAAS,EAAE,yBAAyB,CAAM;IACpD,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAM;IAEnC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,yBAAyB,GAAG,IAAI;IAOzE;;OAEG;IACH,KAAK,IAAI,IAAI;IAWb;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;OAEG;IACH,OAAO,IAAI,IAAI;IAQf;;OAEG;IACH,SAAS,IAAI,SAAS,EAAE;IAIxB;;OAEG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI;IAI7B;;OAEG;IACI,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAQvC;;OAEG;IACH,iBAAiB,IAAI,WAAW;IAIhC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,IAAI;IAE9C;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,IAAI,IAAI;IAE/C;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAInC;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAIlC;;OAEG;IACH,SAAS,CAAC,iBAAiB,CACzB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,GAChB,MAAM;IAST;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAC7B,CAAC,EAAE,QAAQ,CAAC,aAAa,GACxB,SAAS;CAOb"}
@@ -0,0 +1,53 @@
1
+ import PathCollectionStrategy from './base';
2
+ import type { PathTrackerOptions } from '../path';
3
+ /**
4
+ * 点击式路径采集策略
5
+ * 用户通过点击地图逐个添加路径点
6
+ * 双击或按 Enter 键完成绘制
7
+ * 按 Esc 键取消绘制
8
+ */
9
+ export default class ClickStrategy extends PathCollectionStrategy {
10
+ readonly name = "click";
11
+ private sourceId;
12
+ private layerId;
13
+ private pointSourceId;
14
+ private pointLayerId;
15
+ private options;
16
+ /**
17
+ * 设置配置选项
18
+ */
19
+ setOptions(options: PathTrackerOptions): void;
20
+ protected setupEventListeners(): void;
21
+ protected removeEventListeners(): void;
22
+ protected onStartCollection(): void;
23
+ protected onStopCollection(): void;
24
+ /**
25
+ * 处理点击事件
26
+ */
27
+ private handleClick;
28
+ /**
29
+ * 处理双击事件 - 完成绘制
30
+ */
31
+ private handleDoubleClick;
32
+ /**
33
+ * 处理键盘事件
34
+ */
35
+ private handleKeyDown;
36
+ /**
37
+ * 更新图层显示
38
+ */
39
+ private updateLayers;
40
+ /**
41
+ * 撤销上一个点
42
+ */
43
+ private undo;
44
+ /**
45
+ * 完成路径采集
46
+ */
47
+ complete(): void;
48
+ /**
49
+ * 取消路径采集
50
+ */
51
+ private cancel;
52
+ }
53
+ //# sourceMappingURL=click.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../../../../src/Mapless/path/strategies/click.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,sBAAsB;IAC/D,QAAQ,CAAC,IAAI,WAAW;IAExB,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,OAAO,CAA0B;IAEzC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAI7C,SAAS,CAAC,mBAAmB,IAAI,IAAI;IA4DrC,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAiBtC,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAOnC,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAOlC;;OAEG;IACH,OAAO,CAAC,WAAW,CAoBjB;IAEF;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAiBvB;IAEF;;OAEG;IACH,OAAO,CAAC,aAAa,CAkBnB;IAEF;;OAEG;IACH,OAAO,CAAC,YAAY;IAkCpB;;OAEG;IACH,OAAO,CAAC,IAAI;IAQZ;;OAEG;IACI,QAAQ,IAAI,IAAI;IA4BvB;;OAEG;IACH,OAAO,CAAC,MAAM;CAOf"}
@@ -0,0 +1,45 @@
1
+ import PathCollectionStrategy from './base';
2
+ import type { PathTrackerOptions } from '../path';
3
+ /**
4
+ * 自由绘制路径采集策略
5
+ * 用户按住鼠标拖动进行绘制
6
+ * 在移动过程中连续采集路径点
7
+ */
8
+ export default class FreeStrategy extends PathCollectionStrategy {
9
+ readonly name = "free";
10
+ private sourceId;
11
+ private layerId;
12
+ private options;
13
+ private isDragging;
14
+ private lastPoint;
15
+ /**
16
+ * 设置配置选项
17
+ */
18
+ setOptions(options: PathTrackerOptions): void;
19
+ protected setupEventListeners(): void;
20
+ protected removeEventListeners(): void;
21
+ protected onStartCollection(): void;
22
+ protected onStopCollection(): void;
23
+ /**
24
+ * 处理鼠标按下事件
25
+ */
26
+ private handleMouseDown;
27
+ /**
28
+ * 处理鼠标移动事件
29
+ */
30
+ private handleMouseMove;
31
+ /**
32
+ * 处理鼠标抬起事件
33
+ */
34
+ private handleMouseUp;
35
+ /**
36
+ * 判断是否应该添加新点
37
+ * 基于最小距离阈值进行节流
38
+ */
39
+ private shouldAddPoint;
40
+ /**
41
+ * 更新图层显示
42
+ */
43
+ private updateLayer;
44
+ }
45
+ //# sourceMappingURL=free.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"free.d.ts","sourceRoot":"","sources":["../../../../../src/Mapless/path/strategies/free.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAA0B,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE1E;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,sBAAsB;IAC9D,QAAQ,CAAC,IAAI,UAAU;IAEvB,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAA0B;IAE3C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAI7C,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAsCrC,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAgBtC,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAQnC,SAAS,CAAC,gBAAgB,IAAI,IAAI;IASlC;;OAEG;IACH,OAAO,CAAC,eAAe,CAoBrB;IAEF;;OAEG;IACH,OAAO,CAAC,eAAe,CAcrB;IAEF;;OAEG;IACH,OAAO,CAAC,aAAa,CAgCnB;IAEF;;;OAGG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,OAAO,CAAC,WAAW;CAcpB"}
@@ -0,0 +1,4 @@
1
+ export { default as PathCollectionStrategy } from './base';
2
+ export { default as ClickStrategy } from './click';
3
+ export { default as FreeStrategy } from './free';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/Mapless/path/strategies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC"}
@@ -3,6 +3,18 @@ export type Unknown<T> = T | unknown;
3
3
  export type PointFeature = GeoJSON.Feature<GeoJSON.Point>;
4
4
  export type LineFeature = GeoJSON.Feature<GeoJSON.LineString>;
5
5
  export type MapStyle = 'streets' | 'satellite' | 'dark' | 'light' | 'dz_satellite' | 'dz_streets' | 'dz_cyber' | 'dz_dark' | 'dz_light' | (string & {});
6
+ export type MaplessOptions = {
7
+ accessToken?: string;
8
+ style?: MapStyle;
9
+ center?: [number, number];
10
+ zoom?: number;
11
+ lang?: string;
12
+ onMapInit?: (e: mapboxgl.Map) => void;
13
+ onMapReady?: (e: mapboxgl.Map) => void;
14
+ onMapZoom?: (zoom: number) => void;
15
+ debug?: boolean;
16
+ enableThree?: boolean;
17
+ };
6
18
  export type StationStates = 'idle' | 'busy' | 'fault' | 'offline' | 'disable' | 'normal' | (string & {});
7
19
  type PresetMapModes = '2d' | '3d';
8
20
  export type MapMode = PresetMapModes | `custom-${string}`;
@@ -19,17 +31,6 @@ export interface IManager {
19
31
  getLayerIds: () => string[];
20
32
  setVisible: (visible: boolean) => void;
21
33
  }
22
- export type MaplessOptions = {
23
- accessToken?: string;
24
- style?: MapStyle;
25
- center?: [number, number];
26
- zoom?: number;
27
- lang?: string;
28
- onMapInit?: (e: mapboxgl.Map) => void;
29
- onMapReady?: (e: mapboxgl.Map) => void;
30
- onMapZoom?: (zoom: number) => void;
31
- debug?: boolean;
32
- };
33
34
  export type Station = {
34
35
  id: string;
35
36
  type?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Mapless/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Mapless/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAiB;AAE/D,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;AAErC,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE9D,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,WAAW,GACX,MAAM,GACN,OAAO,GAEP,cAAc,GACd,YAAY,GACZ,UAAU,GACV,SAAS,GACT,UAAU,GACV,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,SAAS,GACT,QAAQ,GACR,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,KAAK,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AAClC,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,UAAU,MAAM,EAAE,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,WAAW,EAAE,MAAM,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG;IACnD,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,gBAAgB,EAAE,CAAC,uBAAuB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACxB,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,cAAc,GAAG;IACtD,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAGF,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACxB,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,gBAAgB,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -0,0 +1,117 @@
1
+ import * as THREE from 'three';
2
+ import type { Mapless } from '../Mapless';
3
+ import type { LightConfig, MapThreeProps, MeshConfig } from './types';
4
+ export interface RenderableObject {
5
+ id: string;
6
+ mesh: THREE.Object3D;
7
+ transform: {
8
+ translateX: number;
9
+ translateY: number;
10
+ translateZ: number;
11
+ rotateX?: number;
12
+ rotateY?: number;
13
+ rotateZ?: number;
14
+ scale: number;
15
+ matrix?: THREE.Matrix4;
16
+ };
17
+ visible?: boolean;
18
+ }
19
+ export declare class MapThree {
20
+ mapless: Mapless | undefined;
21
+ private scene;
22
+ private camera;
23
+ private renderer;
24
+ private groups;
25
+ private lights;
26
+ private animationCallbacks;
27
+ private renderableObjects;
28
+ private isInitialized;
29
+ private customLayerId;
30
+ constructor(props: MapThreeProps);
31
+ init(canvas: HTMLCanvasElement, glContext: WebGLRenderingContext, width: number, height: number): void;
32
+ private setupCustomLayer;
33
+ private addDefaultLights;
34
+ addLight(config: LightConfig, id: string): THREE.Light;
35
+ removeLight(id: string): void;
36
+ createGroup(id: string): THREE.Group;
37
+ getGroup(id: string): THREE.Group | undefined;
38
+ removeGroup(id: string): void;
39
+ addToGroup(mesh: THREE.Object3D, groupId: string): void;
40
+ removeFromGroup(mesh: THREE.Object3D, groupId: string): void;
41
+ addMesh(config: MeshConfig, groupId?: string): THREE.Mesh;
42
+ removeMesh(mesh: THREE.Mesh): void;
43
+ removeMeshByName(name: string, groupId?: string): void;
44
+ addLine(points: THREE.Vector3[], color?: number): THREE.Line;
45
+ addTube(config: {
46
+ path: THREE.Vector3[] | THREE.Curve<THREE.Vector3>;
47
+ radius?: number;
48
+ radialSegments?: number;
49
+ tubularSegments?: number;
50
+ color?: number;
51
+ opacity?: number;
52
+ groupId?: string;
53
+ }): THREE.Mesh;
54
+ /**
55
+ * 通过名称获取场景中的对象
56
+ */
57
+ getObject(name: string, groupId?: string): THREE.Object3D | undefined;
58
+ addAnimationCallback(callback: () => void): void;
59
+ removeAnimationCallback(callback: () => void): void;
60
+ render(): void;
61
+ getScene(): THREE.Scene | null;
62
+ getCamera(): THREE.PerspectiveCamera | null;
63
+ getRenderer(): THREE.WebGLRenderer | null;
64
+ resize(width: number, height: number): void;
65
+ clear(): void;
66
+ /**
67
+ * 添加可渲染对象(使用相对坐标系统)
68
+ * @param id 对象ID
69
+ * @param mesh Three.js 对象
70
+ * @param transform 变换信息
71
+ */
72
+ addRenderableObject(id: string, mesh: THREE.Object3D, transform: {
73
+ translateX: number;
74
+ translateY: number;
75
+ translateZ: number;
76
+ rotateX?: number;
77
+ rotateY?: number;
78
+ rotateZ?: number;
79
+ scale: number;
80
+ matrix?: THREE.Matrix4;
81
+ }): void;
82
+ /**
83
+ * 更新可渲染对象的变换
84
+ */
85
+ updateRenderableObjectTransform(id: string, transform: {
86
+ translateX: number;
87
+ translateY: number;
88
+ translateZ: number;
89
+ rotateX?: number;
90
+ rotateY?: number;
91
+ rotateZ?: number;
92
+ scale: number;
93
+ matrix?: THREE.Matrix4;
94
+ }): void;
95
+ /**
96
+ * 设置可渲染对象的可见性
97
+ */
98
+ setRenderableObjectVisible(id: string, visible: boolean): void;
99
+ /**
100
+ * 移除可渲染对象
101
+ */
102
+ removeRenderableObject(id: string): void;
103
+ /**
104
+ * 获取所有可渲染对象的 ID
105
+ */
106
+ getRenderableObjectIds(): string[];
107
+ /**
108
+ * 获取可渲染对象
109
+ */
110
+ getRenderableObject(id: string): RenderableObject | undefined;
111
+ /**
112
+ * 清除所有可渲染对象
113
+ */
114
+ clearRenderableObjects(): void;
115
+ dispose(): void;
116
+ }
117
+ //# sourceMappingURL=MapThree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapThree.d.ts","sourceRoot":"","sources":["../../../src/Three/MapThree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import * as THREE from 'three';
2
+ /**
3
+ * 缓存的模型数据
4
+ */
5
+ interface CachedModel {
6
+ scene: THREE.Group;
7
+ animations: THREE.AnimationClip[];
8
+ }
9
+ /**
10
+ * 模型缓存管理器
11
+ *
12
+ * 用于缓存已加载的 GLTF 模型,避免重复加载相同的模型。
13
+ * 支持创建多个独立的模型实例,每个实例可以有不同的动画控制状态。
14
+ */
15
+ declare class ModelCache {
16
+ private static instance;
17
+ private cache;
18
+ private loadingPromises;
19
+ private constructor();
20
+ /**
21
+ * 获取单例实例
22
+ */
23
+ static getInstance(): ModelCache;
24
+ /**
25
+ * 加载并缓存模型
26
+ * @param url 模型 URL
27
+ * @returns 缓存的模型数据
28
+ */
29
+ loadModel(url: string): Promise<CachedModel>;
30
+ /**
31
+ * 从缓存创建新的模型实例
32
+ * @param url 模型 URL
33
+ * @returns 新的模型实例(包含克隆的场景和动画剪辑)
34
+ */
35
+ createInstance(url: string): CachedModel | null;
36
+ /**
37
+ * 检查模型是否已缓存
38
+ */
39
+ hasModel(url: string): boolean;
40
+ /**
41
+ * 清除指定模型的缓存
42
+ */
43
+ clearModel(url: string): void;
44
+ /**
45
+ * 清除所有缓存
46
+ */
47
+ clearAll(): void;
48
+ /**
49
+ * 获取缓存大小
50
+ */
51
+ getCacheSize(): number;
52
+ }
53
+ export default ModelCache;
54
+ export type { CachedModel };
55
+ /**
56
+ * 清理指定模型的缓存
57
+ * @param url 模型 URL
58
+ */
59
+ export declare const clearModelCache: (url: string) => void;
60
+ /**
61
+ * 清理所有模型缓存
62
+ */
63
+ export declare const clearAllModelCache: () => void;
64
+ /**
65
+ * 获取缓存大小
66
+ */
67
+ export declare const getModelCacheSize: () => number;
68
+ //# sourceMappingURL=ModelCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelCache.d.ts","sourceRoot":"","sources":["../../../src/Three/ModelCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;CACnC;AAED;;;;;GAKG;AACH,cAAM,UAAU;IACd,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAa;IACpC,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,eAAe,CAAgD;IAEvE,OAAO;IAEP;;OAEG;WACW,WAAW,IAAI,UAAU;IAOvC;;;;OAIG;IACU,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA0CzD;;;;OAIG;IACI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAatD;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIrC;;OAEG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAkBpC;;OAEG;IACI,QAAQ,IAAI,IAAI;IAOvB;;OAEG;IACI,YAAY,IAAI,MAAM;CAG9B;AAED,eAAe,UAAU,CAAC;AAC1B,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,IAG7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,IAGrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAO,MAGpC,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type * as THREE from 'three';
2
+ import type { Mapless } from '../Mapless';
3
+ export type MapThreeProps = {
4
+ mapless: Mapless;
5
+ };
6
+ export type LightConfig = {
7
+ type: 'directional' | 'ambient' | 'point' | 'spot';
8
+ color?: number;
9
+ intensity?: number;
10
+ position?: [number, number, number];
11
+ distance?: number;
12
+ decay?: number;
13
+ };
14
+ export type MeshConfig = {
15
+ geometry: THREE.BufferGeometry;
16
+ material: THREE.Material | THREE.Material[];
17
+ position?: [number, number, number];
18
+ rotation?: [number, number, number];
19
+ scale?: [number, number, number];
20
+ visible?: boolean;
21
+ name?: string;
22
+ };
23
+ export type ModelTransform = {
24
+ translateX: number;
25
+ translateY: number;
26
+ translateZ: number;
27
+ rotateX: number;
28
+ rotateY: number;
29
+ rotateZ: number;
30
+ scale: number;
31
+ };
32
+ export type ModelConfig = {
33
+ url: string;
34
+ lngLat: [number, number];
35
+ altitude?: number;
36
+ rotation?: [number, number, number];
37
+ scale?: number;
38
+ groupId?: string;
39
+ };
40
+ export type Point3D = {
41
+ lng: number;
42
+ lat: number;
43
+ alt: number;
44
+ };
45
+ export type TubeConfig = {
46
+ color?: number;
47
+ opacity?: number;
48
+ radialSegments?: number;
49
+ tubularSegments?: number;
50
+ baseRadius?: number;
51
+ enableZoomScaling?: boolean;
52
+ };
53
+ export type AirspaceOptions = {
54
+ id?: string;
55
+ name: string;
56
+ geometry: [number, number][][];
57
+ minAltitude?: number;
58
+ maxAltitude?: number;
59
+ color?: string;
60
+ edgeColor?: string;
61
+ edgeOpacity?: number;
62
+ edgeWidth?: number;
63
+ fillColor?: string;
64
+ fillOpacity?: number;
65
+ groupId?: string;
66
+ };
67
+ //# sourceMappingURL=types.d.ts.map