@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.
- package/dist/cesium.d.ts +3 -0
- package/dist/index.d.ts +16 -1
- package/dist/index.js +16 -1
- package/dist/index.js.map +1 -1
- package/dist/ol.d.ts +8 -1
- package/dist/src/featureProvider/featureProviderSymbols.d.ts +5 -0
- package/dist/src/featureProvider/featureProviderSymbols.js +5 -1
- package/dist/src/featureProvider/featureProviderSymbols.js.map +1 -1
- package/dist/src/interaction/featureAtPixelInteraction.js +58 -62
- package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -1
- package/dist/src/interaction/featureProviderInteraction.js +25 -13
- package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
- package/dist/src/layer/cesium/sourceVectorContextSync.d.ts +27 -0
- package/dist/src/layer/cesium/sourceVectorContextSync.js +94 -0
- package/dist/src/layer/cesium/sourceVectorContextSync.js.map +1 -0
- package/dist/src/layer/cesium/vectorCesiumImpl.d.ts +4 -27
- package/dist/src/layer/cesium/vectorCesiumImpl.js +15 -107
- package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/vectorContext.d.ts +12 -1
- package/dist/src/layer/cesium/vectorContext.js +6 -0
- package/dist/src/layer/cesium/vectorContext.js.map +1 -1
- package/dist/src/layer/layerSymbols.js +1 -1
- package/dist/src/layer/layerSymbols.js.map +1 -1
- package/dist/src/layer/oblique/sourceObliqueSync.d.ts +18 -0
- package/dist/src/layer/oblique/sourceObliqueSync.js +319 -0
- package/dist/src/layer/oblique/sourceObliqueSync.js.map +1 -0
- package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +2 -40
- package/dist/src/layer/oblique/vectorObliqueImpl.js +8 -283
- package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -1
- package/dist/src/layer/vectorLayer.d.ts +10 -1
- package/dist/src/layer/vectorLayer.js +23 -1
- package/dist/src/layer/vectorLayer.js.map +1 -1
- package/dist/src/map/baseOLMap.js +8 -1
- package/dist/src/map/baseOLMap.js.map +1 -1
- package/dist/src/map/cesiumMap.d.ts +2 -0
- package/dist/src/map/cesiumMap.js +26 -1
- package/dist/src/map/cesiumMap.js.map +1 -1
- package/dist/src/map/vcsMap.d.ts +24 -12
- package/dist/src/map/vcsMap.js +92 -38
- package/dist/src/map/vcsMap.js.map +1 -1
- package/dist/src/ol/source/ClusterEnhancedVectorSource.d.ts +6 -4
- package/dist/src/ol/source/ClusterEnhancedVectorSource.js +4 -9
- package/dist/src/ol/source/ClusterEnhancedVectorSource.js.map +1 -1
- package/dist/src/ol/source/VcsCluster.d.ts +10 -10
- package/dist/src/ol/source/VcsCluster.js +23 -7
- package/dist/src/ol/source/VcsCluster.js.map +1 -1
- package/dist/src/util/clipping/clippingPolygonHelper.d.ts +7 -0
- package/dist/src/util/clipping/clippingPolygonHelper.js +53 -0
- package/dist/src/util/clipping/clippingPolygonHelper.js.map +1 -0
- package/dist/src/util/clipping/clippingPolygonObject.d.ts +59 -0
- package/dist/src/util/clipping/clippingPolygonObject.js +158 -0
- package/dist/src/util/clipping/clippingPolygonObject.js.map +1 -0
- package/dist/src/util/clipping/clippingPolygonObjectCollection.d.ts +18 -0
- package/dist/src/util/clipping/clippingPolygonObjectCollection.js +167 -0
- package/dist/src/util/clipping/clippingPolygonObjectCollection.js.map +1 -0
- package/dist/src/util/layerCollection.d.ts +11 -1
- package/dist/src/util/layerCollection.js +67 -12
- package/dist/src/util/layerCollection.js.map +1 -1
- package/dist/src/util/mapCollection.d.ts +16 -1
- package/dist/src/util/mapCollection.js +37 -3
- package/dist/src/util/mapCollection.js.map +1 -1
- package/dist/src/util/renderScreenshot.d.ts +9 -0
- package/dist/src/util/renderScreenshot.js +162 -0
- package/dist/src/util/renderScreenshot.js.map +1 -0
- package/dist/src/util/rotation.d.ts +30 -0
- package/dist/src/util/rotation.js +145 -0
- package/dist/src/util/rotation.js.map +1 -0
- package/dist/src/util/vcsTemplate.d.ts +7 -0
- package/dist/src/util/vcsTemplate.js +248 -0
- package/dist/src/util/vcsTemplate.js.map +1 -0
- package/dist/src/vcsApp.d.ts +7 -0
- package/dist/src/vcsApp.js +29 -0
- package/dist/src/vcsApp.js.map +1 -1
- package/dist/src/vcsModule.d.ts +6 -2
- package/dist/src/vcsModule.js.map +1 -1
- package/dist/src/vectorCluster/vectorClusterCesiumContext.d.ts +18 -0
- package/dist/src/{layer/cesium/clusterContext.js → vectorCluster/vectorClusterCesiumContext.js} +28 -42
- package/dist/src/vectorCluster/vectorClusterCesiumContext.js.map +1 -0
- package/dist/src/vectorCluster/vectorClusterGroup.d.ts +96 -0
- package/dist/src/vectorCluster/vectorClusterGroup.js +320 -0
- package/dist/src/vectorCluster/vectorClusterGroup.js.map +1 -0
- package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.d.ts +20 -0
- package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js +115 -0
- package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js.map +1 -0
- package/dist/src/vectorCluster/vectorClusterGroupCollection.d.ts +19 -0
- package/dist/src/vectorCluster/vectorClusterGroupCollection.js +37 -0
- package/dist/src/vectorCluster/vectorClusterGroupCollection.js.map +1 -0
- package/dist/src/vectorCluster/vectorClusterGroupImpl.d.ts +31 -0
- package/dist/src/vectorCluster/vectorClusterGroupImpl.js +76 -0
- package/dist/src/vectorCluster/vectorClusterGroupImpl.js.map +1 -0
- package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.d.ts +17 -0
- package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js +62 -0
- package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js.map +1 -0
- package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.d.ts +17 -0
- package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.js +62 -0
- package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.js.map +1 -0
- package/dist/src/vectorCluster/vectorClusterStyleItem.d.ts +110 -0
- package/dist/src/vectorCluster/vectorClusterStyleItem.js +374 -0
- package/dist/src/vectorCluster/vectorClusterStyleItem.js.map +1 -0
- package/dist/src/vectorCluster/vectorClusterSymbols.d.ts +1 -0
- package/dist/src/vectorCluster/vectorClusterSymbols.js +3 -0
- package/dist/src/vectorCluster/vectorClusterSymbols.js.map +1 -0
- package/index.ts +42 -1
- package/package.json +3 -1
- package/src/cesium/cesium.d.ts +3 -0
- package/src/featureProvider/featureProviderSymbols.ts +6 -1
- package/src/interaction/featureAtPixelInteraction.ts +109 -84
- package/src/interaction/featureProviderInteraction.ts +42 -28
- package/src/layer/cesium/sourceVectorContextSync.ts +134 -0
- package/src/layer/cesium/vcsTile/vcsDebugTile.ts +1 -1
- package/src/layer/cesium/vcsTile/vcsVectorTile.ts +1 -1
- package/src/layer/cesium/vectorCesiumImpl.ts +30 -144
- package/src/layer/cesium/vectorContext.ts +17 -1
- package/src/layer/layerSymbols.ts +1 -1
- package/src/layer/oblique/sourceObliqueSync.ts +436 -0
- package/src/layer/oblique/vectorObliqueImpl.ts +11 -397
- package/src/layer/vectorLayer.ts +35 -2
- package/src/map/baseOLMap.ts +8 -1
- package/src/map/cesiumMap.ts +36 -3
- package/src/map/vcsMap.ts +121 -47
- package/src/ol/ol.d.ts +8 -1
- package/src/ol/source/{ClusterEnhancedVectorSource.js → ClusterEnhancedVectorSource.ts} +7 -10
- package/src/ol/source/VcsCluster.ts +58 -0
- package/src/util/clipping/clippingPolygonHelper.ts +86 -0
- package/src/util/clipping/clippingPolygonObject.ts +223 -0
- package/src/util/clipping/clippingPolygonObjectCollection.ts +249 -0
- package/src/util/layerCollection.ts +90 -12
- package/src/util/mapCollection.ts +53 -2
- package/src/util/renderScreenshot.ts +193 -0
- package/src/util/rotation.ts +215 -0
- package/src/util/vcsTemplate.ts +373 -0
- package/src/vcsApp.ts +65 -0
- package/src/vcsModule.ts +6 -2
- package/src/vectorCluster/vectorClusterCesiumContext.ts +123 -0
- package/src/vectorCluster/vectorClusterGroup.ts +463 -0
- package/src/vectorCluster/vectorClusterGroupCesiumImpl.ts +176 -0
- package/src/vectorCluster/vectorClusterGroupCollection.ts +43 -0
- package/src/vectorCluster/vectorClusterGroupImpl.ts +107 -0
- package/src/vectorCluster/vectorClusterGroupObliqueImpl.ts +84 -0
- package/src/vectorCluster/vectorClusterGroupOpenlayersImpl.ts +81 -0
- package/src/vectorCluster/vectorClusterStyleItem.ts +490 -0
- package/src/vectorCluster/vectorClusterSymbols.ts +2 -0
- package/dist/src/layer/cesium/clusterContext.d.ts +0 -20
- package/dist/src/layer/cesium/clusterContext.js.map +0 -1
- package/src/layer/cesium/clusterContext.ts +0 -140
- package/src/ol/source/VcsCluster.js +0 -37
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { parseBoolean } from '@vcsuite/parsers';
|
|
2
2
|
import { check } from '@vcsuite/check';
|
|
3
3
|
import IndexedCollection from './indexedCollection.js';
|
|
4
4
|
import ExclusiveManager from './exclusiveManager.js';
|
|
5
5
|
import LayerState from '../layer/layerState.js';
|
|
6
6
|
import VcsEvent from '../vcsEvent.js';
|
|
7
7
|
import GlobalHider from '../layer/globalHider.js';
|
|
8
|
+
import VectorClusterGroupCollection from '../vectorCluster/vectorClusterGroupCollection.js';
|
|
9
|
+
import { destroyCollection } from '../vcsModuleHelpers.js';
|
|
8
10
|
/**
|
|
9
11
|
* The largest integer zindex which can be safely assigned to a layer (equal to Number.MAX_SAFE_INTEGER)
|
|
10
12
|
* You should use this to ensure layers are always rendered on top.
|
|
@@ -46,13 +48,16 @@ class LayerCollection extends IndexedCollection {
|
|
|
46
48
|
* The global hider for this collection.
|
|
47
49
|
*/
|
|
48
50
|
_globalHider;
|
|
51
|
+
_vectorClusterGroups;
|
|
49
52
|
/**
|
|
50
53
|
* Locale for this layerCollection, will be synchronized by the vcsApp, if part of an vcsApp.
|
|
51
54
|
* This Locale will be set on all Member Layers. On setting the Locale this will trigger a reload of all locale
|
|
52
55
|
* aware layers.
|
|
53
56
|
*/
|
|
54
57
|
_locale;
|
|
55
|
-
|
|
58
|
+
_vectorClusterGroupListeners;
|
|
59
|
+
destroyVectorClusterGroupCollection;
|
|
60
|
+
constructor(options = {}) {
|
|
56
61
|
super();
|
|
57
62
|
this._layerEventListeners = {};
|
|
58
63
|
this._zIndexSymbol = Symbol('zIndex');
|
|
@@ -60,6 +65,14 @@ class LayerCollection extends IndexedCollection {
|
|
|
60
65
|
this.exclusiveManager = new ExclusiveManager();
|
|
61
66
|
this._globalHider = new GlobalHider();
|
|
62
67
|
this._locale = 'en';
|
|
68
|
+
if (options.vectorClusterGroupCollection) {
|
|
69
|
+
this._vectorClusterGroups = options.vectorClusterGroupCollection;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this._vectorClusterGroups = new VectorClusterGroupCollection(this._globalHider);
|
|
73
|
+
}
|
|
74
|
+
this.destroyVectorClusterGroupCollection = parseBoolean(options.destroyVectorClusterGroupCollection, !options.vectorClusterGroupCollection);
|
|
75
|
+
this._setupVectorClusterGroupListeners();
|
|
63
76
|
}
|
|
64
77
|
/**
|
|
65
78
|
* A symbol to describe the local z index of a layer. The local z index must not equal the layers z index, but is
|
|
@@ -85,6 +98,7 @@ class LayerCollection extends IndexedCollection {
|
|
|
85
98
|
this._array.forEach((layer) => {
|
|
86
99
|
layer.setGlobalHider(this._globalHider);
|
|
87
100
|
});
|
|
101
|
+
this.vectorClusterGroups.globalHider = this._globalHider;
|
|
88
102
|
}
|
|
89
103
|
get locale() {
|
|
90
104
|
return this._locale;
|
|
@@ -98,6 +112,9 @@ class LayerCollection extends IndexedCollection {
|
|
|
98
112
|
});
|
|
99
113
|
}
|
|
100
114
|
}
|
|
115
|
+
get vectorClusterGroups() {
|
|
116
|
+
return this._vectorClusterGroups;
|
|
117
|
+
}
|
|
101
118
|
_listenToLayerEvents(layer) {
|
|
102
119
|
const stateListener = layer.stateChanged.addEventListener((state) => {
|
|
103
120
|
if (state === LayerState.ACTIVE) {
|
|
@@ -117,6 +134,20 @@ class LayerCollection extends IndexedCollection {
|
|
|
117
134
|
this.exclusiveManager.handleSplitDirectionChanged(layer);
|
|
118
135
|
}));
|
|
119
136
|
}
|
|
137
|
+
if (layer.vectorClusterGroupChanged) {
|
|
138
|
+
listeners.push(layer.vectorClusterGroupChanged.addEventListener(({ newGroup, oldGroup }) => {
|
|
139
|
+
if (oldGroup) {
|
|
140
|
+
this._vectorClusterGroups
|
|
141
|
+
.getByKey(oldGroup)
|
|
142
|
+
?.removeLayer(layer);
|
|
143
|
+
}
|
|
144
|
+
if (newGroup) {
|
|
145
|
+
this._vectorClusterGroups
|
|
146
|
+
.getByKey(newGroup)
|
|
147
|
+
?.addLayer(layer);
|
|
148
|
+
}
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
120
151
|
this._layerEventListeners[layer.name] = listeners;
|
|
121
152
|
}
|
|
122
153
|
/**
|
|
@@ -126,7 +157,7 @@ class LayerCollection extends IndexedCollection {
|
|
|
126
157
|
*/
|
|
127
158
|
_findZIndexPosition(zIndex) {
|
|
128
159
|
const usedIndex = this._array.findIndex(
|
|
129
|
-
// @ts-
|
|
160
|
+
// @ts-expect-error: z index is undefined
|
|
130
161
|
(l) => l[this._zIndexSymbol] > zIndex);
|
|
131
162
|
return usedIndex > -1 ? usedIndex : null;
|
|
132
163
|
}
|
|
@@ -139,7 +170,7 @@ class LayerCollection extends IndexedCollection {
|
|
|
139
170
|
_zIndexChanged(layer) {
|
|
140
171
|
const currentIndex = this.indexOf(layer);
|
|
141
172
|
if (currentIndex > -1) {
|
|
142
|
-
// @ts-
|
|
173
|
+
// @ts-expect-error: z index is undefined
|
|
143
174
|
layer[this._zIndexSymbol] = layer.zIndex;
|
|
144
175
|
let zIndexPosition = this._findZIndexPosition(layer.zIndex);
|
|
145
176
|
if (zIndexPosition != null &&
|
|
@@ -160,25 +191,35 @@ class LayerCollection extends IndexedCollection {
|
|
|
160
191
|
*/
|
|
161
192
|
_ensureLocalZIndex(layer) {
|
|
162
193
|
const currentIndex = this.indexOf(layer);
|
|
163
|
-
// @ts-
|
|
194
|
+
// @ts-expect-error: z index is undefined
|
|
164
195
|
const currentLayerZIndex = layer[this._zIndexSymbol];
|
|
165
196
|
if (currentIndex > 0) {
|
|
166
|
-
// @ts-
|
|
197
|
+
// @ts-expect-error: z index is undefined
|
|
167
198
|
const below = this._array[currentIndex - 1][this._zIndexSymbol];
|
|
168
199
|
if (below > currentLayerZIndex) {
|
|
169
|
-
// @ts-
|
|
200
|
+
// @ts-expect-error: z index is undefined
|
|
170
201
|
layer[this._zIndexSymbol] = below;
|
|
171
202
|
}
|
|
172
203
|
}
|
|
173
204
|
if (currentIndex < this._array.length - 1) {
|
|
174
|
-
// @ts-
|
|
205
|
+
// @ts-expect-error: z index is undefined
|
|
175
206
|
const above = this._array[currentIndex + 1][this._zIndexSymbol];
|
|
176
207
|
if (above < currentLayerZIndex) {
|
|
177
|
-
// @ts-
|
|
208
|
+
// @ts-expect-error: z index is undefined
|
|
178
209
|
layer[this._zIndexSymbol] = above;
|
|
179
210
|
}
|
|
180
211
|
}
|
|
181
212
|
}
|
|
213
|
+
_setupVectorClusterGroupListeners() {
|
|
214
|
+
this._vectorClusterGroupListeners =
|
|
215
|
+
this._vectorClusterGroups.added.addEventListener((collection) => {
|
|
216
|
+
this._array
|
|
217
|
+
.filter((layer) => layer.vectorClusterGroup === collection.name)
|
|
218
|
+
.forEach((layer) => {
|
|
219
|
+
collection.addLayer(layer);
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
}
|
|
182
223
|
/**
|
|
183
224
|
* Adds a layer to the collection. Can optionally be passed an index at which to insert the layer.
|
|
184
225
|
* The layer locale will be set to the same locale of the layerCollection. This will trigger a forceRedraw
|
|
@@ -194,13 +235,18 @@ class LayerCollection extends IndexedCollection {
|
|
|
194
235
|
}
|
|
195
236
|
const insertedAt = super.add(layer, usedIndex);
|
|
196
237
|
if (insertedAt != null) {
|
|
197
|
-
// @ts-
|
|
238
|
+
// @ts-expect-error: z index is undefined
|
|
198
239
|
layer[this._zIndexSymbol] = layer.zIndex;
|
|
199
240
|
layer.setGlobalHider(this._globalHider);
|
|
200
241
|
layer.locale = this.locale;
|
|
201
242
|
this._ensureLocalZIndex(layer);
|
|
202
243
|
this._listenToLayerEvents(layer);
|
|
203
244
|
this.exclusiveManager.registerLayer(layer);
|
|
245
|
+
if (layer.vectorClusterGroup) {
|
|
246
|
+
this._vectorClusterGroups
|
|
247
|
+
.getByKey(layer.vectorClusterGroup)
|
|
248
|
+
?.addLayer(layer);
|
|
249
|
+
}
|
|
204
250
|
}
|
|
205
251
|
return insertedAt;
|
|
206
252
|
}
|
|
@@ -211,10 +257,15 @@ class LayerCollection extends IndexedCollection {
|
|
|
211
257
|
});
|
|
212
258
|
delete this._layerEventListeners[layer.name];
|
|
213
259
|
}
|
|
214
|
-
// @ts-
|
|
260
|
+
// @ts-expect-error: z index is undefined
|
|
215
261
|
delete layer[this._zIndexSymbol];
|
|
216
262
|
layer.setGlobalHider();
|
|
217
263
|
this.exclusiveManager.unregisterLayer(layer);
|
|
264
|
+
if (layer.vectorClusterGroup) {
|
|
265
|
+
this._vectorClusterGroups
|
|
266
|
+
.getByKey(layer.vectorClusterGroup)
|
|
267
|
+
?.removeLayer(layer);
|
|
268
|
+
}
|
|
218
269
|
return super._remove(layer);
|
|
219
270
|
}
|
|
220
271
|
clear() {
|
|
@@ -224,7 +275,7 @@ class LayerCollection extends IndexedCollection {
|
|
|
224
275
|
r();
|
|
225
276
|
});
|
|
226
277
|
this._array.forEach((l) => {
|
|
227
|
-
// @ts-
|
|
278
|
+
// @ts-expect-error: z index is undefined
|
|
228
279
|
delete l[this._zIndexSymbol];
|
|
229
280
|
});
|
|
230
281
|
this.exclusiveManager.clear();
|
|
@@ -240,6 +291,10 @@ class LayerCollection extends IndexedCollection {
|
|
|
240
291
|
this._layerEventListeners = {};
|
|
241
292
|
this.exclusiveManager.destroy();
|
|
242
293
|
this._globalHider.destroy();
|
|
294
|
+
this._vectorClusterGroupListeners?.();
|
|
295
|
+
if (this.destroyVectorClusterGroupCollection) {
|
|
296
|
+
destroyCollection(this._vectorClusterGroups);
|
|
297
|
+
}
|
|
243
298
|
super.destroy();
|
|
244
299
|
}
|
|
245
300
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layerCollection.js","sourceRoot":"","sources":["../../../src/util/layerCollection.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"layerCollection.js","sourceRoot":"","sources":["../../../src/util/layerCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,8 @@ declare class MapCollection extends Collection<VcsMap> {
|
|
|
61
61
|
private _postRenderListener;
|
|
62
62
|
/** Callback function that is passed when calling requestExclusiveMapControls and called when exclusive map controls are forcefully removed. */
|
|
63
63
|
private _exclusiveMapControlsRemoved;
|
|
64
|
+
private _exclusiveMapControlsChanged;
|
|
65
|
+
private _exclusiveMapControlsId;
|
|
64
66
|
constructor();
|
|
65
67
|
/**
|
|
66
68
|
* The currently active map
|
|
@@ -90,6 +92,17 @@ declare class MapCollection extends Collection<VcsMap> {
|
|
|
90
92
|
* Raised on the active maps post render event
|
|
91
93
|
*/
|
|
92
94
|
get postRender(): VcsEvent<VcsMapRenderEvent<VisualisationType>>;
|
|
95
|
+
/**
|
|
96
|
+
* Event raised when exclusive map controls are changed. If the Id is empty the default map controls have been reinstated
|
|
97
|
+
*/
|
|
98
|
+
get exclusiveMapControlsChanged(): VcsEvent<{
|
|
99
|
+
options: DisableMapControlOptions;
|
|
100
|
+
id?: string | symbol;
|
|
101
|
+
}>;
|
|
102
|
+
/**
|
|
103
|
+
* The id of the current exclusive map controls owner.
|
|
104
|
+
*/
|
|
105
|
+
get exclusiveMapControlsId(): string | symbol | undefined;
|
|
93
106
|
/**
|
|
94
107
|
* Adds a map to the collection. This will set the collections target
|
|
95
108
|
* and the collections on the map.
|
|
@@ -118,9 +131,11 @@ declare class MapCollection extends Collection<VcsMap> {
|
|
|
118
131
|
* Manages the disabling of map navigation controls. By calling this function the map navigation controls passed in the options are disabled. The remove function passed by the previous caller is executed.
|
|
119
132
|
* @param options - which of the movement controls should be disabled.
|
|
120
133
|
* @param removed - the callback for when the interaction is forcefully removed.
|
|
134
|
+
* @param id - an optional id to identify the owner of the exclusive map controls.
|
|
121
135
|
* @returns function to reset map controls.
|
|
122
136
|
*/
|
|
123
|
-
requestExclusiveMapControls(options: DisableMapControlOptions, removed: () => void): () => void;
|
|
137
|
+
requestExclusiveMapControls(options: DisableMapControlOptions, removed: () => void, id?: string | symbol): () => void;
|
|
138
|
+
resetExclusiveMapControls(): void;
|
|
124
139
|
destroy(): void;
|
|
125
140
|
}
|
|
126
141
|
export default MapCollection;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { check, maybe, oneOf } from '@vcsuite/check';
|
|
2
2
|
import { getLogger } from '@vcsuite/logger';
|
|
3
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
3
4
|
import VcsEvent from '../vcsEvent.js';
|
|
4
5
|
import Collection from './collection.js';
|
|
5
6
|
import EventHandler from '../interaction/eventHandler.js';
|
|
@@ -87,6 +88,8 @@ class MapCollection extends Collection {
|
|
|
87
88
|
/** Callback function that is passed when calling requestExclusiveMapControls and called when exclusive map controls are forcefully removed. */
|
|
88
89
|
// eslint-disable-next-line class-methods-use-this
|
|
89
90
|
_exclusiveMapControlsRemoved = () => { };
|
|
91
|
+
_exclusiveMapControlsChanged = new VcsEvent();
|
|
92
|
+
_exclusiveMapControlsId;
|
|
90
93
|
constructor() {
|
|
91
94
|
super();
|
|
92
95
|
this.clippingObjectManager = new ClippingObjectManager(this._layerCollection);
|
|
@@ -147,6 +150,18 @@ class MapCollection extends Collection {
|
|
|
147
150
|
get postRender() {
|
|
148
151
|
return this._postRender;
|
|
149
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Event raised when exclusive map controls are changed. If the Id is empty the default map controls have been reinstated
|
|
155
|
+
*/
|
|
156
|
+
get exclusiveMapControlsChanged() {
|
|
157
|
+
return this._exclusiveMapControlsChanged;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* The id of the current exclusive map controls owner.
|
|
161
|
+
*/
|
|
162
|
+
get exclusiveMapControlsId() {
|
|
163
|
+
return this._exclusiveMapControlsId;
|
|
164
|
+
}
|
|
150
165
|
/**
|
|
151
166
|
* Adds a map to the collection. This will set the collections target
|
|
152
167
|
* and the collections on the map.
|
|
@@ -312,24 +327,43 @@ class MapCollection extends Collection {
|
|
|
312
327
|
* Manages the disabling of map navigation controls. By calling this function the map navigation controls passed in the options are disabled. The remove function passed by the previous caller is executed.
|
|
313
328
|
* @param options - which of the movement controls should be disabled.
|
|
314
329
|
* @param removed - the callback for when the interaction is forcefully removed.
|
|
330
|
+
* @param id - an optional id to identify the owner of the exclusive map controls.
|
|
315
331
|
* @returns function to reset map controls.
|
|
316
332
|
*/
|
|
317
|
-
requestExclusiveMapControls(options, removed) {
|
|
333
|
+
requestExclusiveMapControls(options, removed, id) {
|
|
318
334
|
this._exclusiveMapControlsRemoved();
|
|
319
335
|
if (this._activeMap) {
|
|
320
336
|
this._activeMap.disableMovement(options);
|
|
321
337
|
}
|
|
322
|
-
|
|
338
|
+
if (options.pointerEvents || options.keyEvents || options.apiCalls) {
|
|
339
|
+
this._exclusiveMapControlsId = id || uuidv4();
|
|
340
|
+
this._exclusiveMapControlsRemoved = removed;
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
this._exclusiveMapControlsRemoved = () => { };
|
|
344
|
+
this._exclusiveMapControlsId = undefined;
|
|
345
|
+
}
|
|
346
|
+
this._exclusiveMapControlsChanged.raiseEvent({
|
|
347
|
+
options,
|
|
348
|
+
id: this._exclusiveMapControlsId,
|
|
349
|
+
});
|
|
323
350
|
return () => {
|
|
324
351
|
// only reset if this function is called by the current exclusiveMapControls owner.
|
|
325
352
|
if (removed === this._exclusiveMapControlsRemoved) {
|
|
326
|
-
this._exclusiveMapControlsRemoved = () => { };
|
|
327
353
|
if (this._activeMap) {
|
|
328
354
|
this._activeMap.disableMovement(false);
|
|
329
355
|
}
|
|
356
|
+
this._exclusiveMapControlsRemoved = () => { };
|
|
357
|
+
this._exclusiveMapControlsId = undefined;
|
|
358
|
+
this._exclusiveMapControlsChanged.raiseEvent({
|
|
359
|
+
options: { apiCalls: false, keyEvents: false, pointerEvents: false },
|
|
360
|
+
});
|
|
330
361
|
}
|
|
331
362
|
};
|
|
332
363
|
}
|
|
364
|
+
resetExclusiveMapControls() {
|
|
365
|
+
this.requestExclusiveMapControls({ keyEvents: false, apiCalls: false, pointerEvents: false }, () => { });
|
|
366
|
+
}
|
|
333
367
|
destroy() {
|
|
334
368
|
super.destroy();
|
|
335
369
|
[...this._layerCollection].forEach((l) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapCollection.js","sourceRoot":"","sources":["../../../src/util/mapCollection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mapCollection.js","sourceRoot":"","sources":["../../../src/util/mapCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import VcsApp from '../vcsApp.js';
|
|
2
|
+
/**
|
|
3
|
+
* Renders a screenshot of the active map in the VcsApp.
|
|
4
|
+
*
|
|
5
|
+
* @param app - The VcsApp instance containing the active map.
|
|
6
|
+
* @param width - The desired width of the screenshot.
|
|
7
|
+
* @returns A promise that resolves to the canvas element containing the screenshot.
|
|
8
|
+
*/
|
|
9
|
+
export default function renderScreenshot(app: VcsApp, width: number): Promise<HTMLCanvasElement>;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { getLogger } from '@vcsuite/logger';
|
|
2
|
+
import CesiumMap from '../map/cesiumMap.js';
|
|
3
|
+
import OpenlayersMap from '../map/openlayersMap.js';
|
|
4
|
+
import ObliqueMap from '../map/obliqueMap.js';
|
|
5
|
+
/**
|
|
6
|
+
* Prepares the cesium map for the screenshot
|
|
7
|
+
* @param map - The cesium map
|
|
8
|
+
* @param scale - The factor to scale the map according to the required resolution
|
|
9
|
+
* @returns The function to reset the applied scale.
|
|
10
|
+
*/
|
|
11
|
+
function prepareCesiumMap(map, scale) {
|
|
12
|
+
const viewer = map.getCesiumWidget();
|
|
13
|
+
const { resolutionScale } = viewer;
|
|
14
|
+
viewer.resolutionScale = scale;
|
|
15
|
+
return function resetCesiumMap() {
|
|
16
|
+
viewer.resolutionScale = resolutionScale;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Returns a function to reset the OLMap to the original state.
|
|
21
|
+
* @param map - The map instance.
|
|
22
|
+
* @param renderSize - The size to set for rendering.
|
|
23
|
+
* @returns The function to reset the map.
|
|
24
|
+
*/
|
|
25
|
+
function prepareOlMap(map, renderSize) {
|
|
26
|
+
const { olMap } = map;
|
|
27
|
+
if (olMap) {
|
|
28
|
+
const olSize = olMap.getSize();
|
|
29
|
+
const extent = olMap.getView().calculateExtent(olSize);
|
|
30
|
+
const originalMinZoom = olMap.getView().getMinZoom();
|
|
31
|
+
const originalMaxZoom = olMap.getView().getMaxZoom();
|
|
32
|
+
olMap.setSize(renderSize);
|
|
33
|
+
olMap.getView().setMinZoom(0);
|
|
34
|
+
olMap.getView().setMaxZoom(28);
|
|
35
|
+
olMap.getView().fit(extent, { size: renderSize });
|
|
36
|
+
olMap.set('vcs_scale', renderSize, true);
|
|
37
|
+
return function resetOlMap() {
|
|
38
|
+
olMap.setSize(olSize);
|
|
39
|
+
olMap.getView().setMinZoom(originalMinZoom);
|
|
40
|
+
olMap.getView().setMaxZoom(originalMaxZoom);
|
|
41
|
+
olMap.getView().fit(extent, { size: olSize });
|
|
42
|
+
olMap.unset('vcs_scale', true);
|
|
43
|
+
olMap.renderSync();
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return () => { };
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Copies Cesium content on the given canvas.
|
|
50
|
+
* @param map - The Cesium map instance.
|
|
51
|
+
* @returns A promise that resolves to the canvas element.
|
|
52
|
+
*/
|
|
53
|
+
async function getImageFromCesium(map) {
|
|
54
|
+
const { scene } = map.getCesiumWidget();
|
|
55
|
+
return new Promise((resolve) => {
|
|
56
|
+
const removePreListener = scene.preUpdate.addEventListener(() => {
|
|
57
|
+
const { canvas } = scene;
|
|
58
|
+
const removePostListener = scene.postRender.addEventListener(() => {
|
|
59
|
+
resolve(canvas);
|
|
60
|
+
removePostListener();
|
|
61
|
+
});
|
|
62
|
+
removePreListener();
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Copies Openlayers content on the given canvas
|
|
68
|
+
* @param map - The map instance.
|
|
69
|
+
* @param canvasSize - The size of the canvas.
|
|
70
|
+
* @returns A promise that resolves to the canvas element.
|
|
71
|
+
*/
|
|
72
|
+
async function getImageFromOpenlayers(map, canvasSize) {
|
|
73
|
+
const canvas = document.createElement('canvas');
|
|
74
|
+
canvas.width = canvasSize[0];
|
|
75
|
+
canvas.height = canvasSize[1];
|
|
76
|
+
const { olMap } = map;
|
|
77
|
+
const canvasContext = canvas.getContext('2d');
|
|
78
|
+
// fill canvas with white so transparent pixels are not printed as black when exporting as jpeg.
|
|
79
|
+
canvasContext.fillStyle = 'white';
|
|
80
|
+
canvasContext.fillRect(0, 0, canvas.width, canvas.height);
|
|
81
|
+
await new Promise((resolve) => {
|
|
82
|
+
if (olMap) {
|
|
83
|
+
olMap.once('rendercomplete', () => {
|
|
84
|
+
const olLayerCanvasList = Array.from(olMap
|
|
85
|
+
.getViewport()
|
|
86
|
+
.querySelectorAll('.ol-layer canvas'));
|
|
87
|
+
olLayerCanvasList.forEach((layerCanvas) => {
|
|
88
|
+
if (layerCanvas.width > 0) {
|
|
89
|
+
const opacity = (layerCanvas.parentNode instanceof HTMLElement
|
|
90
|
+
? layerCanvas.parentNode.style.opacity
|
|
91
|
+
: '') || layerCanvas.style.opacity;
|
|
92
|
+
canvasContext.globalAlpha = opacity === '' ? 1 : Number(opacity);
|
|
93
|
+
const { transform } = layerCanvas.style;
|
|
94
|
+
const matrix = transform
|
|
95
|
+
.match(/^matrix\(([^(]*)\)$/)?.[1]
|
|
96
|
+
.split(',')
|
|
97
|
+
.map(Number);
|
|
98
|
+
if (matrix) {
|
|
99
|
+
canvasContext.setTransform(...matrix);
|
|
100
|
+
}
|
|
101
|
+
canvasContext.drawImage(layerCanvas, 0, 0);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
resolve();
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
return canvas;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Renders a screenshot of the active map in the VcsApp.
|
|
112
|
+
*
|
|
113
|
+
* @param app - The VcsApp instance containing the active map.
|
|
114
|
+
* @param width - The desired width of the screenshot.
|
|
115
|
+
* @returns A promise that resolves to the canvas element containing the screenshot.
|
|
116
|
+
*/
|
|
117
|
+
export default async function renderScreenshot(app, width) {
|
|
118
|
+
let screenshotCanvas;
|
|
119
|
+
function calcRenderSize(mapSize, screenshotWidth) {
|
|
120
|
+
const aspectRatio = mapSize[0] / mapSize[1];
|
|
121
|
+
return [screenshotWidth, screenshotWidth / aspectRatio];
|
|
122
|
+
}
|
|
123
|
+
function checkChromeMaxPixel(renderSize, threshold) {
|
|
124
|
+
const totalPixelCount = renderSize[0] * renderSize[1];
|
|
125
|
+
if (totalPixelCount > threshold && 'chrome' in window) {
|
|
126
|
+
getLogger('@vcmap/print').warning(`The created image might have black bars at some of the edges. This is due to a behavior of chromium based browsers
|
|
127
|
+
that occurs when the total pixel count of the cesium map exceeds a threshold of thirty-three million pixels.
|
|
128
|
+
In order to avoid this either reduce the resolution or switch to Mozilla Firefox browser.`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Function for resetting map after screenshot processes finished.
|
|
133
|
+
*/
|
|
134
|
+
let resetMap;
|
|
135
|
+
const map = app.maps.activeMap;
|
|
136
|
+
if (map instanceof CesiumMap) {
|
|
137
|
+
const { canvas } = map.getCesiumWidget().scene;
|
|
138
|
+
const canvasWidth = canvas.width;
|
|
139
|
+
const canvasHeight = canvas.height;
|
|
140
|
+
// check if render size is above chromium threshold
|
|
141
|
+
checkChromeMaxPixel(calcRenderSize([canvasWidth, canvasHeight], width), 33000000);
|
|
142
|
+
const scale = width / canvasWidth;
|
|
143
|
+
resetMap = prepareCesiumMap(map, scale);
|
|
144
|
+
screenshotCanvas = await getImageFromCesium(map);
|
|
145
|
+
}
|
|
146
|
+
else if (map instanceof OpenlayersMap || map instanceof ObliqueMap) {
|
|
147
|
+
const biggestCanvas = Array.from(map
|
|
148
|
+
.olMap.getViewport()
|
|
149
|
+
.querySelectorAll('.ol-layer canvas')).reduce((acc, val) => (acc.width > val.width ? val : acc));
|
|
150
|
+
const canvasWidth = biggestCanvas.width;
|
|
151
|
+
const canvasHeight = biggestCanvas.height;
|
|
152
|
+
const renderSize = calcRenderSize([canvasWidth, canvasHeight], width);
|
|
153
|
+
resetMap = prepareOlMap(map, renderSize);
|
|
154
|
+
screenshotCanvas = await getImageFromOpenlayers(map, renderSize);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
throw new Error('wrong Map');
|
|
158
|
+
}
|
|
159
|
+
resetMap();
|
|
160
|
+
return screenshotCanvas;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=renderScreenshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderScreenshot.js","sourceRoot":"","sources":["../../../src/util/renderScreenshot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAE9C;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,GAAc,EAAE,KAAa;IACrD,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,EAAG,CAAC;IACtC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;IAE/B,OAAO,SAAS,cAAc;QAC5B,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CACnB,GAA+B,EAC/B,UAAgB;IAEhB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IACtB,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;QACrD,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;QACrD,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1B,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAEzC,OAAO,SAAS,UAAU;YACxB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtB,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC5C,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC5C,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9C,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC/B,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAC,GAAc;IAC9C,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,eAAe,EAAG,CAAC;IAEzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE;YAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;YACzB,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE;gBAChE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChB,kBAAkB,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,sBAAsB,CACnC,GAA+B,EAC/B,UAAgB;IAEhB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IACtB,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;IAC/C,gGAAgG;IAChG,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC;IAClC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;gBAChC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAClC,KAAK;qBACF,WAAW,EAAE;qBACb,gBAAgB,CAAoB,kBAAkB,CAAC,CAC3D,CAAC;gBACF,iBAAiB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;oBACxC,IAAI,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;wBAC1B,MAAM,OAAO,GACX,CAAC,WAAW,CAAC,UAAU,YAAY,WAAW;4BAC5C,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;4BACtC,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;wBACvC,aAAa,CAAC,WAAW,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACjE,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC;wBACxC,MAAM,MAAM,GAAG,SAAS;6BACrB,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;6BACjC,KAAK,CAAC,GAAG,CAAC;6BACV,GAAG,CAAC,MAAM,CAEA,CAAC;wBACd,IAAI,MAAM,EAAE,CAAC;4BACX,aAAa,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC;wBACxC,CAAC;wBACD,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,gBAAgB,CAC5C,GAAW,EACX,KAAa;IAEb,IAAI,gBAAmC,CAAC;IAExC,SAAS,cAAc,CAAC,OAAa,EAAE,eAAuB;QAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,eAAe,EAAE,eAAe,GAAG,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,SAAS,mBAAmB,CAAC,UAAgB,EAAE,SAAiB;QAC9D,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,eAAe,GAAG,SAAS,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACtD,SAAS,CAAC,cAAc,CAAC,CAAC,OAAO,CAC/B;;kGAE0F,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IACD;;OAEG;IACH,IAAI,QAAoB,CAAC;IACzB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IAE/B,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,eAAe,EAAG,CAAC,KAAK,CAAC;QAChD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAEnC,mDAAmD;QACnD,mBAAmB,CACjB,cAAc,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,EAClD,QAAQ,CACT,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;QAClC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,GAAG,YAAY,aAAa,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QACrE,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAC9B,GAAG;aACA,KAAM,CAAC,WAAW,EAAE;aACpB,gBAAgB,CAAoB,kBAAkB,CAAC,CAC3D,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC;QACxC,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC;QAC1C,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;QACtE,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACzC,gBAAgB,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IACD,QAAQ,EAAE,CAAC;IACX,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Cartesian3, JulianDate, HeadingPitchRollValues } from '@vcmap-cesium/engine';
|
|
2
|
+
import Viewpoint from './viewpoint.js';
|
|
3
|
+
import VcsApp from '../vcsApp.js';
|
|
4
|
+
import { CesiumMap } from '../../index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Unique symbol for rotation.
|
|
7
|
+
* @type {symbol}
|
|
8
|
+
*/
|
|
9
|
+
export declare const rotationMapControlSymbol: unique symbol;
|
|
10
|
+
export type SetViewOptions = {
|
|
11
|
+
destination: Cartesian3;
|
|
12
|
+
orientation: HeadingPitchRollValues;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Rotates the center of the map.
|
|
16
|
+
* @param {number} heading - The current heading of the view.
|
|
17
|
+
* @param {CesiumMap} activeMap - The current Cesium Map.
|
|
18
|
+
* @param {number} timePerRotation - The current rotation speed.
|
|
19
|
+
* @param {JulianDate} [timeLastTick] - The time of the last tick.
|
|
20
|
+
* @returns {number | undefined} The new heading.
|
|
21
|
+
*/
|
|
22
|
+
export declare function calculateRotation(heading: number, activeMap: CesiumMap, timePerRotation: number, timeLastTick?: JulianDate): number;
|
|
23
|
+
/**
|
|
24
|
+
* Starts the rotation of the map.
|
|
25
|
+
* @param app - The VCS application instance.
|
|
26
|
+
* @param [viewpoint] - The optional viewpoint to start the rotation from, if no viewpoint is provided the current Viewpoint is used.
|
|
27
|
+
* @param [timePerRotation=60] - The duration of a single full rotation in seconds.
|
|
28
|
+
* @returns A function to stop the rotation.
|
|
29
|
+
*/
|
|
30
|
+
export declare function startRotation(app: VcsApp, viewpoint?: Viewpoint, timePerRotation?: number): Promise<() => void>;
|