@vcmap/core 6.0.7 → 6.1.0-rc.2

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 (146) hide show
  1. package/dist/cesium.d.ts +3 -0
  2. package/dist/index.d.ts +16 -1
  3. package/dist/index.js +16 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/ol.d.ts +8 -1
  6. package/dist/src/featureProvider/featureProviderSymbols.d.ts +5 -0
  7. package/dist/src/featureProvider/featureProviderSymbols.js +5 -1
  8. package/dist/src/featureProvider/featureProviderSymbols.js.map +1 -1
  9. package/dist/src/interaction/featureAtPixelInteraction.js +58 -62
  10. package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -1
  11. package/dist/src/interaction/featureProviderInteraction.js +25 -13
  12. package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
  13. package/dist/src/layer/cesium/sourceVectorContextSync.d.ts +27 -0
  14. package/dist/src/layer/cesium/sourceVectorContextSync.js +94 -0
  15. package/dist/src/layer/cesium/sourceVectorContextSync.js.map +1 -0
  16. package/dist/src/layer/cesium/vectorCesiumImpl.d.ts +4 -27
  17. package/dist/src/layer/cesium/vectorCesiumImpl.js +15 -107
  18. package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -1
  19. package/dist/src/layer/cesium/vectorContext.d.ts +12 -1
  20. package/dist/src/layer/cesium/vectorContext.js +6 -0
  21. package/dist/src/layer/cesium/vectorContext.js.map +1 -1
  22. package/dist/src/layer/layerSymbols.js +1 -1
  23. package/dist/src/layer/layerSymbols.js.map +1 -1
  24. package/dist/src/layer/oblique/sourceObliqueSync.d.ts +18 -0
  25. package/dist/src/layer/oblique/sourceObliqueSync.js +319 -0
  26. package/dist/src/layer/oblique/sourceObliqueSync.js.map +1 -0
  27. package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +2 -40
  28. package/dist/src/layer/oblique/vectorObliqueImpl.js +8 -283
  29. package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -1
  30. package/dist/src/layer/vectorLayer.d.ts +10 -1
  31. package/dist/src/layer/vectorLayer.js +23 -1
  32. package/dist/src/layer/vectorLayer.js.map +1 -1
  33. package/dist/src/map/baseOLMap.js +8 -1
  34. package/dist/src/map/baseOLMap.js.map +1 -1
  35. package/dist/src/map/cesiumMap.d.ts +2 -0
  36. package/dist/src/map/cesiumMap.js +26 -1
  37. package/dist/src/map/cesiumMap.js.map +1 -1
  38. package/dist/src/map/vcsMap.d.ts +24 -12
  39. package/dist/src/map/vcsMap.js +92 -38
  40. package/dist/src/map/vcsMap.js.map +1 -1
  41. package/dist/src/ol/source/ClusterEnhancedVectorSource.d.ts +6 -4
  42. package/dist/src/ol/source/ClusterEnhancedVectorSource.js +4 -9
  43. package/dist/src/ol/source/ClusterEnhancedVectorSource.js.map +1 -1
  44. package/dist/src/ol/source/VcsCluster.d.ts +10 -10
  45. package/dist/src/ol/source/VcsCluster.js +23 -7
  46. package/dist/src/ol/source/VcsCluster.js.map +1 -1
  47. package/dist/src/util/clipping/clippingPolygonHelper.d.ts +7 -0
  48. package/dist/src/util/clipping/clippingPolygonHelper.js +53 -0
  49. package/dist/src/util/clipping/clippingPolygonHelper.js.map +1 -0
  50. package/dist/src/util/clipping/clippingPolygonObject.d.ts +59 -0
  51. package/dist/src/util/clipping/clippingPolygonObject.js +158 -0
  52. package/dist/src/util/clipping/clippingPolygonObject.js.map +1 -0
  53. package/dist/src/util/clipping/clippingPolygonObjectCollection.d.ts +18 -0
  54. package/dist/src/util/clipping/clippingPolygonObjectCollection.js +167 -0
  55. package/dist/src/util/clipping/clippingPolygonObjectCollection.js.map +1 -0
  56. package/dist/src/util/layerCollection.d.ts +11 -1
  57. package/dist/src/util/layerCollection.js +67 -12
  58. package/dist/src/util/layerCollection.js.map +1 -1
  59. package/dist/src/util/mapCollection.d.ts +16 -1
  60. package/dist/src/util/mapCollection.js +37 -3
  61. package/dist/src/util/mapCollection.js.map +1 -1
  62. package/dist/src/util/renderScreenshot.d.ts +9 -0
  63. package/dist/src/util/renderScreenshot.js +162 -0
  64. package/dist/src/util/renderScreenshot.js.map +1 -0
  65. package/dist/src/util/rotation.d.ts +30 -0
  66. package/dist/src/util/rotation.js +145 -0
  67. package/dist/src/util/rotation.js.map +1 -0
  68. package/dist/src/util/vcsTemplate.d.ts +7 -0
  69. package/dist/src/util/vcsTemplate.js +248 -0
  70. package/dist/src/util/vcsTemplate.js.map +1 -0
  71. package/dist/src/vcsApp.d.ts +7 -0
  72. package/dist/src/vcsApp.js +29 -0
  73. package/dist/src/vcsApp.js.map +1 -1
  74. package/dist/src/vcsModule.d.ts +6 -2
  75. package/dist/src/vcsModule.js.map +1 -1
  76. package/dist/src/vectorCluster/vectorClusterCesiumContext.d.ts +18 -0
  77. package/dist/src/{layer/cesium/clusterContext.js → vectorCluster/vectorClusterCesiumContext.js} +28 -42
  78. package/dist/src/vectorCluster/vectorClusterCesiumContext.js.map +1 -0
  79. package/dist/src/vectorCluster/vectorClusterGroup.d.ts +96 -0
  80. package/dist/src/vectorCluster/vectorClusterGroup.js +320 -0
  81. package/dist/src/vectorCluster/vectorClusterGroup.js.map +1 -0
  82. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.d.ts +20 -0
  83. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js +115 -0
  84. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js.map +1 -0
  85. package/dist/src/vectorCluster/vectorClusterGroupCollection.d.ts +19 -0
  86. package/dist/src/vectorCluster/vectorClusterGroupCollection.js +37 -0
  87. package/dist/src/vectorCluster/vectorClusterGroupCollection.js.map +1 -0
  88. package/dist/src/vectorCluster/vectorClusterGroupImpl.d.ts +31 -0
  89. package/dist/src/vectorCluster/vectorClusterGroupImpl.js +76 -0
  90. package/dist/src/vectorCluster/vectorClusterGroupImpl.js.map +1 -0
  91. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.d.ts +17 -0
  92. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js +62 -0
  93. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js.map +1 -0
  94. package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.d.ts +17 -0
  95. package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.js +62 -0
  96. package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.js.map +1 -0
  97. package/dist/src/vectorCluster/vectorClusterStyleItem.d.ts +110 -0
  98. package/dist/src/vectorCluster/vectorClusterStyleItem.js +374 -0
  99. package/dist/src/vectorCluster/vectorClusterStyleItem.js.map +1 -0
  100. package/dist/src/vectorCluster/vectorClusterSymbols.d.ts +1 -0
  101. package/dist/src/vectorCluster/vectorClusterSymbols.js +3 -0
  102. package/dist/src/vectorCluster/vectorClusterSymbols.js.map +1 -0
  103. package/index.ts +42 -1
  104. package/package.json +3 -1
  105. package/src/cesium/cesium.d.ts +3 -0
  106. package/src/featureProvider/featureProviderSymbols.ts +6 -1
  107. package/src/interaction/featureAtPixelInteraction.ts +109 -84
  108. package/src/interaction/featureProviderInteraction.ts +42 -28
  109. package/src/layer/cesium/sourceVectorContextSync.ts +134 -0
  110. package/src/layer/cesium/vcsTile/vcsDebugTile.ts +1 -1
  111. package/src/layer/cesium/vcsTile/vcsVectorTile.ts +1 -1
  112. package/src/layer/cesium/vectorCesiumImpl.ts +30 -144
  113. package/src/layer/cesium/vectorContext.ts +17 -1
  114. package/src/layer/layerSymbols.ts +1 -1
  115. package/src/layer/oblique/sourceObliqueSync.ts +436 -0
  116. package/src/layer/oblique/vectorObliqueImpl.ts +11 -397
  117. package/src/layer/vectorLayer.ts +35 -2
  118. package/src/map/baseOLMap.ts +8 -1
  119. package/src/map/cesiumMap.ts +36 -3
  120. package/src/map/vcsMap.ts +121 -47
  121. package/src/ol/ol.d.ts +8 -1
  122. package/src/ol/source/{ClusterEnhancedVectorSource.js → ClusterEnhancedVectorSource.ts} +7 -10
  123. package/src/ol/source/VcsCluster.ts +58 -0
  124. package/src/util/clipping/clippingPolygonHelper.ts +86 -0
  125. package/src/util/clipping/clippingPolygonObject.ts +223 -0
  126. package/src/util/clipping/clippingPolygonObjectCollection.ts +249 -0
  127. package/src/util/layerCollection.ts +90 -12
  128. package/src/util/mapCollection.ts +53 -2
  129. package/src/util/renderScreenshot.ts +193 -0
  130. package/src/util/rotation.ts +215 -0
  131. package/src/util/vcsTemplate.ts +373 -0
  132. package/src/vcsApp.ts +65 -0
  133. package/src/vcsModule.ts +6 -2
  134. package/src/vectorCluster/vectorClusterCesiumContext.ts +123 -0
  135. package/src/vectorCluster/vectorClusterGroup.ts +463 -0
  136. package/src/vectorCluster/vectorClusterGroupCesiumImpl.ts +176 -0
  137. package/src/vectorCluster/vectorClusterGroupCollection.ts +43 -0
  138. package/src/vectorCluster/vectorClusterGroupImpl.ts +107 -0
  139. package/src/vectorCluster/vectorClusterGroupObliqueImpl.ts +84 -0
  140. package/src/vectorCluster/vectorClusterGroupOpenlayersImpl.ts +81 -0
  141. package/src/vectorCluster/vectorClusterStyleItem.ts +490 -0
  142. package/src/vectorCluster/vectorClusterSymbols.ts +2 -0
  143. package/dist/src/layer/cesium/clusterContext.d.ts +0 -20
  144. package/dist/src/layer/cesium/clusterContext.js.map +0 -1
  145. package/src/layer/cesium/clusterContext.ts +0 -140
  146. package/src/ol/source/VcsCluster.js +0 -37
@@ -0,0 +1,319 @@
1
+ import { getLogger } from '@vcsuite/logger';
2
+ import VectorSource from 'ol/source/Vector.js';
3
+ import { unByKey } from 'ol/Observable.js';
4
+ import { Feature } from 'ol';
5
+ import { actuallyIsCircle, alreadyTransformedToImage, doNotTransform, obliqueGeometry, originalFeatureSymbol, } from '../vectorSymbols.js';
6
+ import { getPolygonizedGeometry, imageGeometryToMercatorGeometry, mercatorGeometryToImageGeometry, setNewGeometry, } from './obliqueHelpers.js';
7
+ import { mercatorProjection } from '../../util/projection.js';
8
+ function featureInExtent(feature, extent) {
9
+ if (extent) {
10
+ const geometry = feature.getGeometry();
11
+ if (geometry) {
12
+ return (geometry[alreadyTransformedToImage] || geometry.intersectsExtent(extent));
13
+ }
14
+ }
15
+ return false;
16
+ }
17
+ function createFeatureListener(originalFeature, obliqueFeature, updatingMercator, updateObliqueGeometry, updateMercatorGeometry) {
18
+ const featureId = obliqueFeature.getId();
19
+ const originalGeometryChanged = (listeners) => {
20
+ unByKey(listeners.originalGeometryChanged);
21
+ unByKey(listeners.obliqueGeometryChanged);
22
+ setNewGeometry(originalFeature, obliqueFeature);
23
+ updateObliqueGeometry(originalFeature, obliqueFeature);
24
+ listeners.originalGeometryChanged = originalFeature
25
+ .getGeometry()
26
+ .on('change', () => {
27
+ updateObliqueGeometry(originalFeature, obliqueFeature);
28
+ });
29
+ listeners.obliqueGeometryChanged = obliqueFeature
30
+ .getGeometry()
31
+ .on('change', () => {
32
+ updateMercatorGeometry(originalFeature, obliqueFeature);
33
+ });
34
+ };
35
+ const listeners = {
36
+ originalFeatureGeometryChanged: originalFeature.on('change:geometry', () => {
37
+ const originalGeometry = originalFeature.getGeometry();
38
+ if (originalGeometry[actuallyIsCircle]) {
39
+ unByKey(listeners.originalGeometryChanged);
40
+ listeners.originalGeometryChanged = originalFeature
41
+ .getGeometry()
42
+ .on('change', () => {
43
+ if (updatingMercator[featureId]) {
44
+ return;
45
+ }
46
+ delete originalGeometry[actuallyIsCircle];
47
+ originalGeometryChanged(listeners);
48
+ });
49
+ return;
50
+ }
51
+ originalGeometryChanged(listeners);
52
+ }),
53
+ originalFeatureChanged: originalFeature.on('change', () => {
54
+ obliqueFeature.setStyle(originalFeature.getStyle());
55
+ }),
56
+ originalGeometryChanged: originalFeature.getGeometry().on('change', () => {
57
+ updateObliqueGeometry(originalFeature, obliqueFeature);
58
+ }),
59
+ obliqueGeometryChanged: obliqueFeature.getGeometry().on('change', () => {
60
+ updateMercatorGeometry(originalFeature, obliqueFeature);
61
+ }),
62
+ };
63
+ return () => {
64
+ unByKey(Object.values(listeners));
65
+ };
66
+ }
67
+ function clearUpdatingTimeouts(timeouts) {
68
+ Object.values(timeouts).forEach((timeout) => {
69
+ if (typeof timeout !== 'boolean') {
70
+ clearTimeout(timeout);
71
+ }
72
+ });
73
+ }
74
+ /**
75
+ * Creates a SourceObliqueSync. This ensures that the features in the source are synced to the oblique source.
76
+ * Adding, removing and changing features in the source will be reflected in the oblique source. Changing the oblique geometry will
77
+ * be synced back onto the original geometry. Changing the geometry will create a new oblique geometry on the same feature.
78
+ * Feature changes will lead to an update of style.
79
+ * @param source
80
+ * @param map
81
+ */
82
+ export function createSourceObliqueSync(source, map) {
83
+ const obliqueSource = new VectorSource();
84
+ let active = false;
85
+ let sourceListeners = () => { };
86
+ let imageChangedListener;
87
+ const featureListeners = new Map();
88
+ let updatingMercator = {};
89
+ let updatingOblique = {};
90
+ // the extent of the current image
91
+ let currentExtent;
92
+ let currentImageName;
93
+ const convertToOblique = async (originalFeature, obliqueFeature) => {
94
+ const id = originalFeature.getId();
95
+ const vectorGeometry = originalFeature.getGeometry();
96
+ const imageGeometry = obliqueFeature.getGeometry();
97
+ updatingOblique[id] = true;
98
+ let promise;
99
+ if (!vectorGeometry[alreadyTransformedToImage]) {
100
+ promise = mercatorGeometryToImageGeometry(vectorGeometry, imageGeometry, map.currentImage);
101
+ }
102
+ else {
103
+ obliqueFeature
104
+ .getGeometry()
105
+ .setCoordinates(vectorGeometry.getCoordinates());
106
+ // we MUST wait for a promise, otherwise this is sync and you can add a feature twice
107
+ promise = Promise.resolve();
108
+ }
109
+ await promise;
110
+ updatingOblique[id] = null;
111
+ };
112
+ const updateObliqueGeometry = (originalFeature, obliqueFeature) => {
113
+ const id = originalFeature.getId();
114
+ if (updatingMercator[id]) {
115
+ return;
116
+ }
117
+ if (updatingOblique[id] != null) {
118
+ clearTimeout(updatingOblique[id]);
119
+ }
120
+ if (originalFeature.getGeometry()?.[alreadyTransformedToImage]) {
121
+ convertToOblique(originalFeature, obliqueFeature)
122
+ .catch((_e) => {
123
+ getLogger('SourceObliqueSync').warning(`Failed to convert feature with id ${id} to oblique`);
124
+ })
125
+ .finally(() => {
126
+ updatingOblique[id] = null;
127
+ });
128
+ }
129
+ else {
130
+ updatingOblique[id] = setTimeout(() => {
131
+ convertToOblique(originalFeature, obliqueFeature)
132
+ .catch((_e) => {
133
+ getLogger('SourceObliqueSync').warning(`Failed to convert feature with id ${id} to oblique`);
134
+ })
135
+ .finally(() => {
136
+ updatingOblique[id] = null;
137
+ });
138
+ }, 200);
139
+ }
140
+ };
141
+ const updateMercatorGeometry = (originalFeature, obliqueFeature) => {
142
+ const id = originalFeature.getId();
143
+ if (updatingOblique[id]) {
144
+ return;
145
+ }
146
+ if (updatingMercator[id] != null) {
147
+ clearTimeout(updatingMercator[id]);
148
+ }
149
+ const imageName = currentImageName;
150
+ updatingMercator[id] = setTimeout(() => {
151
+ const originalGeometry = getPolygonizedGeometry(originalFeature, false);
152
+ if (originalGeometry[actuallyIsCircle]) {
153
+ originalFeature.setGeometry(originalGeometry);
154
+ }
155
+ const imageGeometry = getPolygonizedGeometry(obliqueFeature, true);
156
+ updatingMercator[id] = true;
157
+ imageGeometryToMercatorGeometry(imageGeometry, originalGeometry, map.collection.getImageByName(imageName))
158
+ .catch((_e) => {
159
+ getLogger('SourceObliqueSync').warning(`Failed to update feature with id ${id} mercator geometry`);
160
+ })
161
+ .finally(() => {
162
+ updatingMercator[id] = null;
163
+ });
164
+ }, 200);
165
+ };
166
+ const addFeature = async (originalFeature) => {
167
+ if (!active) {
168
+ currentImageName = undefined;
169
+ }
170
+ else if (currentExtent) {
171
+ const id = originalFeature.getId();
172
+ const originalGeometry = originalFeature.getGeometry();
173
+ if (originalFeature[doNotTransform]) {
174
+ if (originalGeometry && !obliqueSource.getFeatureById(id)) {
175
+ obliqueSource.addFeature(originalFeature);
176
+ }
177
+ return;
178
+ }
179
+ if (obliqueSource.getFeatureById(id) || updatingOblique[id] != null) {
180
+ return;
181
+ }
182
+ const obliqueFeature = new Feature({});
183
+ obliqueFeature.setId(id);
184
+ obliqueFeature[originalFeatureSymbol] = originalFeature;
185
+ setNewGeometry(originalFeature, obliqueFeature);
186
+ obliqueFeature.setStyle(originalFeature.getStyle());
187
+ const featureListener = createFeatureListener(originalFeature, obliqueFeature, updatingMercator, updateObliqueGeometry, updateMercatorGeometry);
188
+ await convertToOblique(originalFeature, obliqueFeature);
189
+ if (source.hasFeature(originalFeature)) {
190
+ // if not in source, feature has been removed in between.
191
+ obliqueSource.addFeature(obliqueFeature);
192
+ featureListeners.set(id, featureListener);
193
+ }
194
+ else {
195
+ featureListener();
196
+ }
197
+ }
198
+ };
199
+ const removeFeature = (feature) => {
200
+ const id = feature.getId();
201
+ const feat = obliqueSource.getFeatureById(id);
202
+ if (updatingOblique[id] != null) {
203
+ clearTimeout(updatingOblique[id]);
204
+ updatingOblique[id] = null;
205
+ }
206
+ if (feat) {
207
+ featureListeners.get(id)?.();
208
+ featureListeners.delete(id);
209
+ obliqueSource.removeFeature(feat);
210
+ }
211
+ };
212
+ const setSourceListeners = () => {
213
+ sourceListeners();
214
+ const listeners = [
215
+ source.on('addfeature', (event) => {
216
+ const f = event.feature;
217
+ if (featureInExtent(f, currentExtent)) {
218
+ addFeature(f).catch((_e) => {
219
+ getLogger('SourceObliqueSync').warning(`Failed to add feature with id ${f.getId()} to oblique source`);
220
+ });
221
+ }
222
+ }),
223
+ source.on('removefeature', (event) => {
224
+ removeFeature(event.feature);
225
+ }),
226
+ source.on('changefeature', (event) => {
227
+ const f = event.feature;
228
+ const newFeatureId = f.getId();
229
+ if (!featureListeners.has(newFeatureId) &&
230
+ featureInExtent(f, currentExtent)) {
231
+ addFeature(f).catch((_e) => {
232
+ getLogger('SourceObliqueSync').warning(`Failed to add feature with id ${newFeatureId} to oblique source`);
233
+ });
234
+ }
235
+ }),
236
+ ];
237
+ sourceListeners = () => {
238
+ unByKey(listeners);
239
+ };
240
+ };
241
+ const fetchFeaturesInView = () => {
242
+ if (active &&
243
+ map.currentImage &&
244
+ currentImageName !== map.currentImage.name) {
245
+ currentExtent = map
246
+ .getExtentOfCurrentImage()
247
+ .getCoordinatesInProjection(mercatorProjection);
248
+ source.forEachFeatureInExtent(currentExtent, (feature) => {
249
+ addFeature(feature).catch((_e) => {
250
+ getLogger('SourceObliqueSync').warning(`Failed to add feature with id ${feature.getId()} to oblique source`);
251
+ });
252
+ });
253
+ source.forEachFeature((feature) => {
254
+ if (feature.getGeometry()?.[alreadyTransformedToImage]) {
255
+ addFeature(feature).catch((_e) => {
256
+ getLogger('SourceObliqueSync').warning(`Failed to add feature with id ${feature.getId()} to oblique source`);
257
+ });
258
+ }
259
+ });
260
+ currentImageName = map.currentImage.name;
261
+ }
262
+ };
263
+ const clearCurrentImage = () => {
264
+ featureListeners.forEach((listener) => {
265
+ listener();
266
+ });
267
+ featureListeners.clear();
268
+ clearUpdatingTimeouts(updatingOblique);
269
+ clearUpdatingTimeouts(updatingMercator);
270
+ updatingOblique = {};
271
+ updatingMercator = {};
272
+ obliqueSource.getFeatures().forEach((f) => {
273
+ const original = f[originalFeatureSymbol];
274
+ if (original) {
275
+ delete original[obliqueGeometry];
276
+ const originalGeometry = original.getGeometry();
277
+ if (originalGeometry?.[alreadyTransformedToImage]) {
278
+ updateMercatorGeometry(original, f);
279
+ }
280
+ delete originalGeometry?.[alreadyTransformedToImage];
281
+ }
282
+ });
283
+ obliqueSource.clear(true);
284
+ currentImageName = undefined;
285
+ currentExtent = undefined;
286
+ };
287
+ const activate = () => {
288
+ active = true;
289
+ setSourceListeners();
290
+ imageChangedListener = map.imageChanged?.addEventListener(() => {
291
+ clearCurrentImage();
292
+ fetchFeaturesInView();
293
+ });
294
+ fetchFeaturesInView();
295
+ };
296
+ const deactivate = () => {
297
+ active = false;
298
+ imageChangedListener?.();
299
+ sourceListeners();
300
+ clearCurrentImage();
301
+ };
302
+ const destroy = () => {
303
+ obliqueSource.clear(true);
304
+ obliqueSource.dispose();
305
+ clearCurrentImage();
306
+ };
307
+ return {
308
+ get active() {
309
+ return active;
310
+ },
311
+ get obliqueSource() {
312
+ return obliqueSource;
313
+ },
314
+ activate,
315
+ deactivate,
316
+ destroy,
317
+ };
318
+ }
319
+ //# sourceMappingURL=sourceObliqueSync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceObliqueSync.js","sourceRoot":"","sources":["../../../../src/layer/oblique/sourceObliqueSync.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
1
  import VectorSource from 'ol/source/Vector.js';
2
2
  import OLVectorLayer from 'ol/layer/Vector.js';
3
- import Feature from 'ol/Feature.js';
4
- import type { Extent } from 'ol/extent.js';
5
3
  import type { SplitDirection } from '@vcmap-cesium/engine';
6
- import type { Geometry } from 'ol/geom.js';
7
4
  import LayerObliqueImpl from './layerObliqueImpl.js';
8
5
  import { FeatureLayerImplementation } from '../featureLayer.js';
9
6
  import type { VectorImplementationOptions } from '../vectorLayer.js';
@@ -16,54 +13,19 @@ import type FeatureVisibility from '../featureVisibility.js';
16
13
  */
17
14
  declare class VectorObliqueImpl extends LayerObliqueImpl implements FeatureLayerImplementation {
18
15
  static get className(): string;
19
- obliqueSource: VectorSource<Feature<Geometry>>;
20
- private _featureListeners;
21
- private _sourceListener;
22
- /**
23
- * The extent of the current image for which features where fetched
24
- */
25
- currentExtent: Extent | null;
26
- /**
27
- * The image name for which the current features where fetched
28
- */
29
- fetchedFeaturesForImageName: string | null;
30
- private _updatingMercator;
31
- private _updatingOblique;
16
+ obliqueSource: VectorSource;
32
17
  private _featureVisibilityListeners;
33
18
  globalHider: GlobalHider;
34
19
  source: VectorSource;
35
20
  style: StyleItem;
36
21
  featureVisibility: FeatureVisibility;
37
22
  olLayer: OLVectorLayer | null;
38
- private _imageChangedListener;
23
+ private _sourceObliqueSync;
39
24
  constructor(map: ObliqueMap, options: VectorImplementationOptions);
40
25
  getOLLayer(): OLVectorLayer;
41
26
  updateStyle(style: StyleItem, _silent?: boolean): void;
42
27
  updateSplitDirection(_splitDirection: SplitDirection): void;
43
- /**
44
- * clears the current image and fetches features for the next
45
- */
46
- private _onObliqueImageChanged;
47
- private _featureInExtent;
48
- protected _addSourceListeners(): void;
49
28
  activate(): Promise<void>;
50
- private addFeature;
51
- private _originalGeometryChanged;
52
- private _setFeatureListeners;
53
- private _convertToOblique;
54
- updateObliqueGeometry(originalFeature: Feature, obliqueFeature: Feature): void;
55
- updateMercatorGeometry(originalFeature: Feature, obliqueFeature: Feature): void;
56
- /**
57
- * Synchronizes image Features if the geometry has been changed.
58
- * also clears source and featureListeners
59
- */
60
- private _clearCurrentImage;
61
- /**
62
- * Fetches the features within the extent of the current image
63
- * @private
64
- */
65
- private _fetchFeaturesInView;
66
- private removeFeature;
67
29
  deactivate(): void;
68
30
  destroy(): void;
69
31
  }