deeptwins-engine-3d 0.1.63 → 0.1.65

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 (177) hide show
  1. package/dist/assets/Build/DeepTwins/Workers/MvtVector.worker.js +1 -0
  2. package/dist/esm/{plot/utils/Algorithm.js → drawer/algorithm.js} +1 -3
  3. package/dist/esm/drawer/common.d.ts +61 -0
  4. package/dist/esm/{plot/utils/PlotCommon.js → drawer/common.js} +104 -551
  5. package/dist/esm/{plot/utils/Coordinate.d.ts → drawer/coordinate.d.ts} +1 -1
  6. package/dist/esm/drawer/index.d.ts +11 -18
  7. package/dist/esm/drawer/index.js +329 -80
  8. package/dist/esm/{plot/utils → drawer}/plotUtil.js +1 -3
  9. package/dist/esm/drawer/shape/Assemble.d.ts +34 -0
  10. package/dist/esm/drawer/shape/Assemble.js +415 -0
  11. package/dist/esm/drawer/shape/AttackArrow.d.ts +32 -0
  12. package/dist/esm/drawer/shape/AttackArrow.js +442 -0
  13. package/dist/esm/drawer/shape/BaseShape.d.ts +14 -4
  14. package/dist/esm/drawer/shape/BaseShape.js +175 -20
  15. package/dist/esm/drawer/shape/Bow.d.ts +31 -0
  16. package/dist/esm/drawer/shape/Bow.js +375 -0
  17. package/dist/esm/drawer/shape/Circle.d.ts +37 -0
  18. package/dist/esm/drawer/shape/Circle.js +461 -0
  19. package/dist/esm/drawer/shape/Curve.d.ts +29 -0
  20. package/dist/esm/drawer/shape/Curve.js +386 -0
  21. package/dist/esm/drawer/shape/DragPoint.d.ts +32 -0
  22. package/dist/esm/drawer/shape/DragPoint.js +211 -0
  23. package/dist/esm/drawer/shape/Elliptic.d.ts +38 -0
  24. package/dist/esm/drawer/shape/Elliptic.js +491 -0
  25. package/dist/esm/drawer/shape/Formation.d.ts +33 -0
  26. package/dist/esm/drawer/shape/Formation.js +395 -0
  27. package/dist/esm/drawer/shape/PincerArrow.d.ts +32 -0
  28. package/dist/esm/drawer/shape/PincerArrow.js +445 -0
  29. package/dist/esm/drawer/shape/Point.d.ts +2 -31
  30. package/dist/esm/drawer/shape/Point.js +7 -201
  31. package/dist/esm/drawer/shape/Polygon.d.ts +1 -1
  32. package/dist/esm/drawer/shape/Polygon.js +10 -81
  33. package/dist/esm/drawer/shape/Polyline.d.ts +1 -1
  34. package/dist/esm/drawer/shape/Polyline.js +10 -81
  35. package/dist/esm/drawer/shape/RegularPolygon.d.ts +37 -0
  36. package/dist/esm/drawer/shape/RegularPolygon.js +468 -0
  37. package/dist/esm/drawer/shape/RightAngleArrow.d.ts +34 -0
  38. package/dist/esm/drawer/shape/RightAngleArrow.js +423 -0
  39. package/dist/esm/drawer/shape/Sector.d.ts +37 -0
  40. package/dist/esm/drawer/shape/Sector.js +568 -0
  41. package/dist/esm/drawer/shape/StraightArrow.d.ts +34 -0
  42. package/dist/esm/drawer/shape/StraightArrow.js +422 -0
  43. package/dist/esm/drawer/shape/SwallowtailArrow.d.ts +36 -0
  44. package/dist/esm/drawer/shape/SwallowtailArrow.js +438 -0
  45. package/dist/esm/drawer/types.d.ts +23 -0
  46. package/dist/esm/drawer/types.js +11 -0
  47. package/dist/esm/drawer/utils.d.ts +14 -0
  48. package/dist/esm/drawer/utils.js +320 -2
  49. package/dist/esm/graphicLayer/BaseSource.d.ts +1 -1
  50. package/dist/esm/index.d.ts +1 -0
  51. package/dist/esm/index.js +5 -3
  52. package/dist/esm/measure/Area.d.ts +17 -17
  53. package/dist/esm/measure/Area.js +95 -63
  54. package/dist/esm/measure/BaseDraw.d.ts +9 -4
  55. package/dist/esm/measure/BaseDraw.js +37 -2
  56. package/dist/esm/measure/Distance.d.ts +9 -9
  57. package/dist/esm/measure/Distance.js +52 -68
  58. package/dist/esm/measure/index.d.ts +16 -26
  59. package/dist/esm/measure/index.js +72 -84
  60. package/dist/esm/measure/types.d.ts +94 -0
  61. package/dist/esm/measure/types.js +17 -0
  62. package/dist/esm/measure/utils.d.ts +7 -7
  63. package/dist/esm/measure/utils.js +43 -24
  64. package/dist/esm/tileLayer/MvtVectorLoad.d.ts +241 -0
  65. package/dist/esm/tileLayer/MvtVectorLoad.js +1353 -0
  66. package/dist/esm/tileLayer/MvtVectorWorkerClient.d.ts +25 -0
  67. package/dist/esm/tileLayer/MvtVectorWorkerClient.js +126 -0
  68. package/dist/esm/tool/utils.js +1 -1
  69. package/dist/umd/deeptwins-engine-3d.min.js +1 -1
  70. package/package.json +2 -1
  71. package/dist/assets/Build/DeepTwins/Image/compass/pointer-white.png +0 -0
  72. package/dist/esm/plot/create/CreateAssemble.d.ts +0 -2
  73. package/dist/esm/plot/create/CreateAssemble.js +0 -63
  74. package/dist/esm/plot/create/CreateAttackArrow.d.ts +0 -5
  75. package/dist/esm/plot/create/CreateAttackArrow.js +0 -75
  76. package/dist/esm/plot/create/CreateBillboard.d.ts +0 -2
  77. package/dist/esm/plot/create/CreateBillboard.js +0 -47
  78. package/dist/esm/plot/create/CreateBow.d.ts +0 -2
  79. package/dist/esm/plot/create/CreateBow.js +0 -63
  80. package/dist/esm/plot/create/CreateCircle.d.ts +0 -2
  81. package/dist/esm/plot/create/CreateCircle.js +0 -68
  82. package/dist/esm/plot/create/CreateCurve.d.ts +0 -2
  83. package/dist/esm/plot/create/CreateCurve.js +0 -76
  84. package/dist/esm/plot/create/CreateElliptic.d.ts +0 -2
  85. package/dist/esm/plot/create/CreateElliptic.js +0 -69
  86. package/dist/esm/plot/create/CreateFlag.d.ts +0 -2
  87. package/dist/esm/plot/create/CreateFlag.js +0 -80
  88. package/dist/esm/plot/create/CreateFormation.d.ts +0 -2
  89. package/dist/esm/plot/create/CreateFormation.js +0 -65
  90. package/dist/esm/plot/create/CreateFreeLine.d.ts +0 -2
  91. package/dist/esm/plot/create/CreateFreeLine.js +0 -69
  92. package/dist/esm/plot/create/CreateFreePolygon.d.ts +0 -2
  93. package/dist/esm/plot/create/CreateFreePolygon.js +0 -65
  94. package/dist/esm/plot/create/CreateLabel.d.ts +0 -2
  95. package/dist/esm/plot/create/CreateLabel.js +0 -55
  96. package/dist/esm/plot/create/CreateLineArrow.d.ts +0 -2
  97. package/dist/esm/plot/create/CreateLineArrow.js +0 -79
  98. package/dist/esm/plot/create/CreatePincerArrow.d.ts +0 -5
  99. package/dist/esm/plot/create/CreatePincerArrow.js +0 -73
  100. package/dist/esm/plot/create/CreatePoint.d.ts +0 -2
  101. package/dist/esm/plot/create/CreatePoint.js +0 -47
  102. package/dist/esm/plot/create/CreatePolygon.d.ts +0 -2
  103. package/dist/esm/plot/create/CreatePolygon.js +0 -80
  104. package/dist/esm/plot/create/CreatePolyline.d.ts +0 -2
  105. package/dist/esm/plot/create/CreatePolyline.js +0 -70
  106. package/dist/esm/plot/create/CreateRectangle.d.ts +0 -2
  107. package/dist/esm/plot/create/CreateRectangle.js +0 -60
  108. package/dist/esm/plot/create/CreateRegularPolygon.d.ts +0 -2
  109. package/dist/esm/plot/create/CreateRegularPolygon.js +0 -75
  110. package/dist/esm/plot/create/CreateRightAngleArrow.d.ts +0 -5
  111. package/dist/esm/plot/create/CreateRightAngleArrow.js +0 -73
  112. package/dist/esm/plot/create/CreateRoundRectangle.d.ts +0 -2
  113. package/dist/esm/plot/create/CreateRoundRectangle.js +0 -63
  114. package/dist/esm/plot/create/CreateSector.d.ts +0 -2
  115. package/dist/esm/plot/create/CreateSector.js +0 -65
  116. package/dist/esm/plot/create/CreateStraightArrow.d.ts +0 -5
  117. package/dist/esm/plot/create/CreateStraightArrow.js +0 -65
  118. package/dist/esm/plot/create/CreateSwallowtailArrow.d.ts +0 -5
  119. package/dist/esm/plot/create/CreateSwallowtailArrow.js +0 -67
  120. package/dist/esm/plot/create/index.d.ts +0 -25
  121. package/dist/esm/plot/create/index.js +0 -25
  122. package/dist/esm/plot/edit/EditAssemble.d.ts +0 -8
  123. package/dist/esm/plot/edit/EditAssemble.js +0 -120
  124. package/dist/esm/plot/edit/EditAttackArrow.d.ts +0 -8
  125. package/dist/esm/plot/edit/EditAttackArrow.js +0 -182
  126. package/dist/esm/plot/edit/EditBillboard.d.ts +0 -7
  127. package/dist/esm/plot/edit/EditBillboard.js +0 -70
  128. package/dist/esm/plot/edit/EditBow.d.ts +0 -8
  129. package/dist/esm/plot/edit/EditBow.js +0 -119
  130. package/dist/esm/plot/edit/EditCircle.d.ts +0 -8
  131. package/dist/esm/plot/edit/EditCircle.js +0 -133
  132. package/dist/esm/plot/edit/EditCurve.d.ts +0 -8
  133. package/dist/esm/plot/edit/EditCurve.js +0 -180
  134. package/dist/esm/plot/edit/EditElliptic.d.ts +0 -8
  135. package/dist/esm/plot/edit/EditElliptic.js +0 -144
  136. package/dist/esm/plot/edit/EditFlag.d.ts +0 -8
  137. package/dist/esm/plot/edit/EditFlag.js +0 -121
  138. package/dist/esm/plot/edit/EditFormation.d.ts +0 -8
  139. package/dist/esm/plot/edit/EditFormation.js +0 -120
  140. package/dist/esm/plot/edit/EditLabel.d.ts +0 -7
  141. package/dist/esm/plot/edit/EditLabel.js +0 -100
  142. package/dist/esm/plot/edit/EditLineArrow.d.ts +0 -8
  143. package/dist/esm/plot/edit/EditLineArrow.js +0 -180
  144. package/dist/esm/plot/edit/EditPincerArrow.d.ts +0 -8
  145. package/dist/esm/plot/edit/EditPincerArrow.js +0 -121
  146. package/dist/esm/plot/edit/EditPoint.d.ts +0 -7
  147. package/dist/esm/plot/edit/EditPoint.js +0 -70
  148. package/dist/esm/plot/edit/EditPolygon.d.ts +0 -8
  149. package/dist/esm/plot/edit/EditPolygon.js +0 -181
  150. package/dist/esm/plot/edit/EditPolyline.d.ts +0 -8
  151. package/dist/esm/plot/edit/EditPolyline.js +0 -179
  152. package/dist/esm/plot/edit/EditRectangle.d.ts +0 -8
  153. package/dist/esm/plot/edit/EditRectangle.js +0 -119
  154. package/dist/esm/plot/edit/EditRegularPolygon.d.ts +0 -8
  155. package/dist/esm/plot/edit/EditRegularPolygon.js +0 -170
  156. package/dist/esm/plot/edit/EditRightAngleArrow.d.ts +0 -8
  157. package/dist/esm/plot/edit/EditRightAngleArrow.js +0 -143
  158. package/dist/esm/plot/edit/EditRoundRectangle.d.ts +0 -8
  159. package/dist/esm/plot/edit/EditRoundRectangle.js +0 -119
  160. package/dist/esm/plot/edit/EditSector.d.ts +0 -8
  161. package/dist/esm/plot/edit/EditSector.js +0 -120
  162. package/dist/esm/plot/edit/EditStraightArrow.d.ts +0 -8
  163. package/dist/esm/plot/edit/EditStraightArrow.js +0 -120
  164. package/dist/esm/plot/edit/EditSwallowtailArrow.d.ts +0 -8
  165. package/dist/esm/plot/edit/EditSwallowtailArrow.js +0 -121
  166. package/dist/esm/plot/edit/index.d.ts +0 -23
  167. package/dist/esm/plot/edit/index.js +0 -23
  168. package/dist/esm/plot/utils/DomUtil.d.ts +0 -34
  169. package/dist/esm/plot/utils/DomUtil.js +0 -100
  170. package/dist/esm/plot/utils/PlotCommon.d.ts +0 -101
  171. package/dist/esm/plot/utils/ReminderTip.d.ts +0 -10
  172. package/dist/esm/plot/utils/ReminderTip.js +0 -67
  173. package/dist/esm/plot/utils/Tooltip.d.ts +0 -3
  174. package/dist/esm/plot/utils/Tooltip.js +0 -97
  175. /package/dist/esm/{plot/utils/Algorithm.d.ts → drawer/algorithm.d.ts} +0 -0
  176. /package/dist/esm/{plot/utils/Coordinate.js → drawer/coordinate.js} +0 -0
  177. /package/dist/esm/{plot/utils → drawer}/plotUtil.d.ts +0 -0
@@ -0,0 +1,241 @@
1
+ import * as Cesium from 'deeptwins-cesium';
2
+ import { MapContext } from '../map/Map';
3
+ type TileState = 'none' | 'loading' | 'loaded' | 'error';
4
+ interface VectorLoadOptions {
5
+ url: string;
6
+ minzoom?: number;
7
+ maxzoom?: number;
8
+ maxCacheSize?: number;
9
+ autoDisplayLayers?: boolean;
10
+ decodeWithWorker?: boolean;
11
+ workerUrl?: string;
12
+ }
13
+ type DecodedTileCoordinate = [number, number] | [number, number, number];
14
+ interface DecodedPointGeometry {
15
+ type: 'Point';
16
+ coordinates: DecodedTileCoordinate;
17
+ }
18
+ interface DecodedMultiPointGeometry {
19
+ type: 'MultiPoint';
20
+ coordinates: DecodedTileCoordinate[];
21
+ }
22
+ interface DecodedLineStringGeometry {
23
+ type: 'LineString';
24
+ coordinates: DecodedTileCoordinate[];
25
+ }
26
+ interface DecodedMultiLineStringGeometry {
27
+ type: 'MultiLineString';
28
+ coordinates: DecodedTileCoordinate[][];
29
+ }
30
+ interface DecodedPolygonGeometry {
31
+ type: 'Polygon';
32
+ coordinates: DecodedTileCoordinate[][];
33
+ }
34
+ interface DecodedMultiPolygonGeometry {
35
+ type: 'MultiPolygon';
36
+ coordinates: DecodedTileCoordinate[][][];
37
+ }
38
+ type DecodedTileGeometry = DecodedPointGeometry | DecodedMultiPointGeometry | DecodedLineStringGeometry | DecodedMultiLineStringGeometry | DecodedPolygonGeometry | DecodedMultiPolygonGeometry;
39
+ interface DecodedTileFeature {
40
+ type: 'Feature';
41
+ id: number;
42
+ properties: Record<string, unknown>;
43
+ geometry: DecodedTileGeometry;
44
+ }
45
+ interface DecodedTile {
46
+ version: number;
47
+ z: number;
48
+ x: number;
49
+ y: number;
50
+ features: DecodedTileFeature[];
51
+ }
52
+ interface LoadedTile {
53
+ x: number;
54
+ y: number;
55
+ z: number;
56
+ raw: DecodedTile;
57
+ }
58
+ interface EvictedTile {
59
+ key: string;
60
+ x: number;
61
+ y: number;
62
+ z: number;
63
+ }
64
+ interface TileDisplayChange {
65
+ key: string;
66
+ x: number;
67
+ y: number;
68
+ z: number;
69
+ display: 'show' | 'hide';
70
+ }
71
+ interface ManagedTileLayer {
72
+ show(isShow: boolean): void;
73
+ remove(): void;
74
+ isDestroyed?: boolean | (() => boolean);
75
+ }
76
+ type TileLoadLayerResult = ManagedTileLayer | ManagedTileLayer[] | void | null;
77
+ type TileLoadLayerHandlerResult = TileLoadLayerResult | Promise<TileLoadLayerResult>;
78
+ declare const MVT_VECTOR_LOAD_EVENT_TYPES: readonly ["ready", "error", "tileLoad", "tileDisplay", "tileEvict"];
79
+ type MvtVectorLoadEventType = (typeof MVT_VECTOR_LOAD_EVENT_TYPES)[number];
80
+ interface MvtVectorLoadEventHandlerMap {
81
+ ready(loader: MvtVectorLoad): void;
82
+ error(error: Error): void;
83
+ tileLoad(tile: LoadedTile): TileLoadLayerHandlerResult;
84
+ tileDisplay(change: TileDisplayChange): void;
85
+ tileEvict(tile: EvictedTile): void;
86
+ }
87
+ interface MvtVectorLoadEventSubscription {
88
+ off(): void;
89
+ }
90
+ interface TileGeoJSONResult {
91
+ x: number;
92
+ y: number;
93
+ z: number;
94
+ geoJson: {
95
+ type: 'FeatureCollection';
96
+ features: DecodedTileFeature[];
97
+ };
98
+ }
99
+ interface FrameStateLike {
100
+ context: {
101
+ drawingBufferHeight: number;
102
+ };
103
+ camera: {
104
+ frustum: {
105
+ sseDenominator: number;
106
+ };
107
+ };
108
+ fog: {
109
+ enabled: boolean;
110
+ density: number;
111
+ sse: number;
112
+ };
113
+ pixelRatio: number;
114
+ maximumScreenSpaceError: number;
115
+ cullingVolume: {
116
+ computeVisibility: (boundingVolume: unknown) => Cesium.Intersect;
117
+ };
118
+ }
119
+ interface TileBoundingRegionLike {
120
+ distanceToCamera(frameState: FrameStateLike): number;
121
+ }
122
+ interface VectorLoadTileOptions {
123
+ x: number;
124
+ y: number;
125
+ z: number;
126
+ tilingScheme: Cesium.WebMercatorTilingScheme;
127
+ parent: MvtVectorLoad;
128
+ }
129
+ interface TileVisitor {
130
+ visitChildren(tile: VectorLoadTile): void;
131
+ accept(tile: VectorLoadTile): void;
132
+ }
133
+ type ScreenSpaceErrorCalculator = (frameState: FrameStateLike, tile: VectorLoadTile) => number;
134
+ declare class MvtVectorLoad {
135
+ private readonly _mapContext;
136
+ url: string;
137
+ minzoom: number;
138
+ maximumLevel: number;
139
+ maxCacheSize: number;
140
+ ready: boolean;
141
+ zoom: number;
142
+ readonly tilingScheme: Cesium.WebMercatorTilingScheme;
143
+ readonly readyEvent: Cesium.Event<(loader: MvtVectorLoad) => void>;
144
+ readonly errorEvent: Cesium.Event<(error: Error) => void>;
145
+ readonly tileLoadEvent: Cesium.Event<(tile: LoadedTile) => TileLoadLayerHandlerResult>;
146
+ readonly tileDisplayEvent: Cesium.Event<(change: TileDisplayChange) => void>;
147
+ readonly tileEvictEvent: Cesium.Event<(tile: EvictedTile) => void>;
148
+ _destroyed: boolean;
149
+ _initPromise: Promise<MvtVectorLoad> | null;
150
+ _rootTiles: VectorLoadTile[];
151
+ _tilesToUpdate: VectorLoadTile[];
152
+ _loadedTiles: Record<string, LoadedTile>;
153
+ _pendingTiles: Map<string, Promise<LoadedTile>>;
154
+ private _cacheOrder;
155
+ _requestToken: number;
156
+ private _levelZeroMaximumGeometricError;
157
+ private _decodeWithWorker;
158
+ private _autoDisplayLayers;
159
+ private _workerUrl;
160
+ private _decodeWorkerClient;
161
+ private _listenerRegistry;
162
+ private _displayedTiles;
163
+ private _managedTileLayers;
164
+ private _addedToMap;
165
+ constructor(map: MapContext, options?: Partial<VectorLoadOptions>);
166
+ getMap(): any;
167
+ private _addToMap;
168
+ private _removeFromMap;
169
+ init(): Promise<MvtVectorLoad>;
170
+ on<K extends MvtVectorLoadEventType>(type: K, handler: MvtVectorLoadEventHandlerMap[K]): MvtVectorLoadEventSubscription;
171
+ private _wrapEventHandler;
172
+ off<K extends MvtVectorLoadEventType>(type: K, handler: MvtVectorLoadEventHandlerMap[K]): void;
173
+ private _getEventByType;
174
+ private _createInvalidEventTypeError;
175
+ private _removeRegisteredListener;
176
+ private _clearListenerRegistry;
177
+ private _doInit;
178
+ private _validateOptions;
179
+ private _emitError;
180
+ private _createRootTiles;
181
+ private _getTileKey;
182
+ private _touchTileCache;
183
+ private _pruneLoadedTiles;
184
+ private _getTilesToUpdate;
185
+ private _toDisplayedTileState;
186
+ private _isTileLoaded;
187
+ private _isSameOrAncestorTile;
188
+ private _tilesOverlap;
189
+ private _shouldKeepDisplayedTile;
190
+ private _shouldDelayTargetTileDisplay;
191
+ private _raiseTileDisplayChange;
192
+ private _syncTileDisplayState;
193
+ private _hideAllDisplayedTiles;
194
+ private _isManagedTileLayer;
195
+ private _normalizeManagedTileLayers;
196
+ private _registerManagedTileLayers;
197
+ private _isManagedTileLayerDestroyed;
198
+ private _applyManagedTileLayersDisplay;
199
+ private _setManagedTileLayersDisplay;
200
+ private _removeManagedTileLayers;
201
+ private _removeAllManagedTileLayers;
202
+ private _getLevelMaximumGeometricError;
203
+ private _resetTileStatesByKeys;
204
+ private _getScreenSpaceError;
205
+ private _buildTileUrl;
206
+ private _toError;
207
+ private _getDecodeWorkerClient;
208
+ private _destroyDecodeWorkerClient;
209
+ private _decodeTile;
210
+ private _requestTile;
211
+ private _loadTile;
212
+ tileToGeoJSON(tile: LoadedTile): TileGeoJSONResult;
213
+ update(frameState: FrameStateLike): void;
214
+ private _updateTiles;
215
+ private _loadVisibleTile;
216
+ getLoadedTiles(): LoadedTile[];
217
+ getTile(x: number, y: number, z: number): LoadedTile | undefined;
218
+ clearCache(): void;
219
+ private _resetTileStates;
220
+ destroy(): void;
221
+ isDestroyed(): boolean;
222
+ }
223
+ declare class VectorLoadTile {
224
+ readonly x: number;
225
+ readonly y: number;
226
+ readonly z: number;
227
+ readonly key: string;
228
+ readonly parent: MvtVectorLoad;
229
+ readonly tilingScheme: Cesium.WebMercatorTilingScheme;
230
+ readonly rectangle: Cesium.Rectangle;
231
+ readonly tileBoundingRegion: TileBoundingRegionLike;
232
+ readonly children: VectorLoadTile[];
233
+ distanceToCamera: number;
234
+ visibility: Cesium.Intersect;
235
+ state: TileState;
236
+ constructor(options: VectorLoadTileOptions);
237
+ createChildren(): void;
238
+ visit(frameState: FrameStateLike, visitor: TileVisitor, getScreenSpaceError: ScreenSpaceErrorCalculator): void;
239
+ }
240
+ export type { EvictedTile, LoadedTile, ManagedTileLayer, MvtVectorLoadEventHandlerMap, MvtVectorLoadEventSubscription, MvtVectorLoadEventType, TileDisplayChange, TileGeoJSONResult, TileLoadLayerHandlerResult, TileLoadLayerResult, };
241
+ export default MvtVectorLoad;