@vcmap/core 5.1.6 → 5.2.1
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/src/interaction/abstractInteraction.d.ts +5 -0
- package/dist/src/interaction/abstractInteraction.js.map +1 -1
- package/dist/src/interaction/eventHandler.d.ts +5 -1
- package/dist/src/interaction/eventHandler.js +29 -12
- package/dist/src/interaction/eventHandler.js.map +1 -1
- package/dist/src/map/baseOLMap.d.ts +2 -1
- package/dist/src/map/baseOLMap.js +1 -1
- package/dist/src/map/baseOLMap.js.map +1 -1
- package/dist/src/map/cesiumMap.d.ts +2 -1
- package/dist/src/map/cesiumMap.js +7 -4
- package/dist/src/map/cesiumMap.js.map +1 -1
- package/dist/src/map/obliqueMap.js +3 -3
- package/dist/src/map/obliqueMap.js.map +1 -1
- package/dist/src/map/openlayersMap.js +1 -1
- package/dist/src/map/openlayersMap.js.map +1 -1
- package/dist/src/map/vcsMap.d.ts +17 -6
- package/dist/src/map/vcsMap.js +46 -8
- package/dist/src/map/vcsMap.js.map +1 -1
- package/dist/src/util/clipping/clippingObject.js +10 -1
- package/dist/src/util/clipping/clippingObject.js.map +1 -1
- package/dist/src/util/clipping/clippingObjectManager.js +6 -0
- package/dist/src/util/clipping/clippingObjectManager.js.map +1 -1
- package/dist/src/util/clipping/clippingPlaneHelper.d.ts +3 -2
- package/dist/src/util/clipping/clippingPlaneHelper.js +14 -7
- package/dist/src/util/clipping/clippingPlaneHelper.js.map +1 -1
- package/dist/src/util/editor/editFeaturesSession.js +56 -4
- package/dist/src/util/editor/editFeaturesSession.js.map +1 -1
- package/dist/src/util/editor/editGeometrySession.d.ts +6 -1
- package/dist/src/util/editor/editGeometrySession.js +51 -44
- package/dist/src/util/editor/editGeometrySession.js.map +1 -1
- package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.d.ts +1 -1
- package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js +4 -2
- package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/rightClickInteraction.d.ts +9 -0
- package/dist/src/util/editor/interactions/rightClickInteraction.js +31 -0
- package/dist/src/util/editor/interactions/rightClickInteraction.js.map +1 -0
- package/dist/src/util/flight/flightInstance.d.ts +1 -1
- package/dist/src/util/flight/flightPlayer.js +16 -13
- package/dist/src/util/flight/flightPlayer.js.map +1 -1
- package/dist/src/util/mapCollection.d.ts +14 -0
- package/dist/src/util/mapCollection.js +33 -0
- package/dist/src/util/mapCollection.js.map +1 -1
- package/dist/src/vcsApp.d.ts +7 -1
- package/dist/src/vcsApp.js +71 -20
- package/dist/src/vcsApp.js.map +1 -1
- package/package.json +3 -2
- package/src/interaction/abstractInteraction.ts +5 -0
- package/src/interaction/eventHandler.ts +30 -13
- package/src/map/baseOLMap.ts +3 -2
- package/src/map/cesiumMap.ts +11 -4
- package/src/map/obliqueMap.ts +3 -3
- package/src/map/openlayersMap.ts +1 -1
- package/src/map/vcsMap.ts +63 -10
- package/src/util/clipping/clippingObject.ts +10 -1
- package/src/util/clipping/clippingObjectManager.ts +6 -0
- package/src/util/clipping/clippingPlaneHelper.ts +14 -6
- package/src/util/editor/editFeaturesSession.ts +72 -10
- package/src/util/editor/editGeometrySession.ts +61 -39
- package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +7 -2
- package/src/util/editor/interactions/rightClickInteraction.ts +42 -0
- package/src/util/flight/flightPlayer.ts +21 -15
- package/src/util/mapCollection.ts +47 -0
- package/src/vcsApp.ts +82 -23
package/dist/src/vcsApp.js
CHANGED
|
@@ -61,7 +61,7 @@ class VcsApp {
|
|
|
61
61
|
_categoryClassRegistry;
|
|
62
62
|
_categories;
|
|
63
63
|
_destroyed;
|
|
64
|
-
|
|
64
|
+
_moduleMutationChain;
|
|
65
65
|
_categoryItemClassRegistry;
|
|
66
66
|
_tileProviderClassRegistry;
|
|
67
67
|
_featureProviderClassRegistry;
|
|
@@ -95,7 +95,7 @@ class VcsApp {
|
|
|
95
95
|
this._categoryClassRegistry = new OverrideClassRegistry(categoryClassRegistry);
|
|
96
96
|
this._categories = new CategoryCollection(this);
|
|
97
97
|
this._destroyed = new VcsEvent();
|
|
98
|
-
this.
|
|
98
|
+
this._moduleMutationChain = { running: false, items: [] };
|
|
99
99
|
this._categoryItemClassRegistry = new OverrideClassRegistry(new ClassRegistry());
|
|
100
100
|
this._tileProviderClassRegistry = new OverrideClassRegistry(tileProviderClassRegistry);
|
|
101
101
|
this._featureProviderClassRegistry = new OverrideClassRegistry(featureProviderClassRegistry);
|
|
@@ -228,12 +228,11 @@ class VcsApp {
|
|
|
228
228
|
if (config.startingObliqueCollectionName) {
|
|
229
229
|
const startingObliqueCollection = this._obliqueCollections.getByKey(config.startingObliqueCollectionName);
|
|
230
230
|
if (startingObliqueCollection) {
|
|
231
|
-
[...this._maps]
|
|
231
|
+
await Promise.all([...this._maps]
|
|
232
232
|
.filter((m) => m instanceof ObliqueMap)
|
|
233
|
-
.
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
});
|
|
233
|
+
.map((m) => {
|
|
234
|
+
return m.setCollection(startingObliqueCollection);
|
|
235
|
+
}));
|
|
237
236
|
}
|
|
238
237
|
}
|
|
239
238
|
if (config.startingMapName) {
|
|
@@ -249,18 +248,60 @@ class VcsApp {
|
|
|
249
248
|
}
|
|
250
249
|
}
|
|
251
250
|
}
|
|
252
|
-
|
|
251
|
+
/**
|
|
252
|
+
* When adding multiple modules, adding of previous modules are awaited.
|
|
253
|
+
* If an invalid module is added an error is thrown and already added items of invalid module are removed.
|
|
254
|
+
* @param module
|
|
255
|
+
*/
|
|
256
|
+
async addModule(module) {
|
|
253
257
|
check(module, VcsModule);
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
+
const mutation = async () => {
|
|
259
|
+
try {
|
|
260
|
+
if (this._modules.hasKey(module._id)) {
|
|
261
|
+
getLogger().info(`module with id ${module._id} already loaded`);
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
await this._parseModule(module);
|
|
265
|
+
await this._setModuleState(module);
|
|
266
|
+
this._modules.add(module);
|
|
258
267
|
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
268
|
+
catch (err) {
|
|
269
|
+
await this._removeModule(module._id);
|
|
270
|
+
throw err;
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
return new Promise((resolve, reject) => {
|
|
274
|
+
this._moduleMutationChain.items.push({
|
|
275
|
+
moduleId: module._id,
|
|
276
|
+
mutation,
|
|
277
|
+
resolve,
|
|
278
|
+
reject,
|
|
279
|
+
});
|
|
280
|
+
this._startModuleMutationChain();
|
|
262
281
|
});
|
|
263
|
-
|
|
282
|
+
}
|
|
283
|
+
_startModuleMutationChain() {
|
|
284
|
+
if (!this._moduleMutationChain.running) {
|
|
285
|
+
const item = this._moduleMutationChain.items.shift();
|
|
286
|
+
if (item) {
|
|
287
|
+
try {
|
|
288
|
+
this._moduleMutationChain.running = true;
|
|
289
|
+
item
|
|
290
|
+
.mutation()
|
|
291
|
+
.then(() => item.resolve())
|
|
292
|
+
.catch((err) => item.reject(err))
|
|
293
|
+
.finally(() => {
|
|
294
|
+
this._moduleMutationChain.running = false;
|
|
295
|
+
this._startModuleMutationChain();
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
catch (err) {
|
|
299
|
+
item.reject(err);
|
|
300
|
+
this._moduleMutationChain.running = false;
|
|
301
|
+
this._startModuleMutationChain();
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
264
305
|
}
|
|
265
306
|
serializeModule(moduleId) {
|
|
266
307
|
check(moduleId, String);
|
|
@@ -311,8 +352,8 @@ class VcsApp {
|
|
|
311
352
|
this._flights.removeModule(moduleId),
|
|
312
353
|
]);
|
|
313
354
|
}
|
|
314
|
-
removeModule(moduleId) {
|
|
315
|
-
|
|
355
|
+
async removeModule(moduleId) {
|
|
356
|
+
const mutation = async () => {
|
|
316
357
|
const module = this._modules.getByKey(moduleId);
|
|
317
358
|
if (!module) {
|
|
318
359
|
getLogger().info(`module with id ${moduleId} has already been removed`);
|
|
@@ -320,14 +361,24 @@ class VcsApp {
|
|
|
320
361
|
}
|
|
321
362
|
await this._removeModule(moduleId);
|
|
322
363
|
this._modules.remove(module);
|
|
364
|
+
};
|
|
365
|
+
return new Promise((resolve, reject) => {
|
|
366
|
+
this._moduleMutationChain.items.push({
|
|
367
|
+
moduleId,
|
|
368
|
+
mutation,
|
|
369
|
+
resolve,
|
|
370
|
+
reject,
|
|
371
|
+
});
|
|
372
|
+
this._startModuleMutationChain();
|
|
323
373
|
});
|
|
324
|
-
return this._moduleMutationPromise;
|
|
325
374
|
}
|
|
326
375
|
/**
|
|
327
376
|
* Destroys the app and all its collections, their content and ui managers.
|
|
328
377
|
*/
|
|
329
378
|
destroy() {
|
|
330
|
-
|
|
379
|
+
this._moduleMutationChain.running = false;
|
|
380
|
+
this._moduleMutationChain.items.splice(0);
|
|
381
|
+
Object.defineProperty(this, '_moduleMutationChain', {
|
|
331
382
|
get() {
|
|
332
383
|
throw new Error('VcsApp was destroyed');
|
|
333
384
|
},
|
package/dist/src/vcsApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vcsApp.js","sourceRoot":"","sources":["../../src/vcsApp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vcsApp.js","sourceRoot":"","sources":["../../src/vcsApp.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vcmap/core",
|
|
3
|
-
"version": "5.1
|
|
3
|
+
"version": "5.2.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"scripts": {
|
|
9
|
-
"
|
|
9
|
+
"pretest": "tsc -b tests && node -e \"require('fs').cpSync('tests/data', '.tests/tests/data', { recursive: true })\"",
|
|
10
|
+
"test": "mocha --exit --require .tests/tests/setupJsdom.js --require .tests/tests/setup.js --file .tests/tests/vcs.js \".tests/**/*.spec.js\"",
|
|
10
11
|
"lint:js": "eslint . --ext .vue,.js,.cjs,.mjs,.ts",
|
|
11
12
|
"lint:prettier": "prettier --check .",
|
|
12
13
|
"lint": "npm run lint:js && npm run lint:prettier",
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
PointerKeyType,
|
|
16
16
|
} from './interactionType.js';
|
|
17
17
|
import type VcsMap from '../map/vcsMap.js';
|
|
18
|
+
import VcsEvent from '../vcsEvent.js';
|
|
18
19
|
|
|
19
20
|
export type MapEvent = {
|
|
20
21
|
pointerEvent: PointerEventType;
|
|
@@ -70,6 +71,10 @@ export type InteractionEvent = MapEvent & {
|
|
|
70
71
|
* whether the position is exact, eg with translucentDepthPicking on
|
|
71
72
|
*/
|
|
72
73
|
exactPosition?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* called when the event chain has ended in which this event was fired.
|
|
76
|
+
*/
|
|
77
|
+
chainEnded?: VcsEvent<void>;
|
|
73
78
|
};
|
|
74
79
|
|
|
75
80
|
export type EventAfterEventHandler = Omit<
|
|
@@ -146,6 +146,14 @@ class EventHandler {
|
|
|
146
146
|
return this._modifierChanged;
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
+
/**
|
|
150
|
+
* if an exclusive Interaction is set, this will return the id of the exclusive Interaction
|
|
151
|
+
* This can be used to add another Interaction to the same Id
|
|
152
|
+
*/
|
|
153
|
+
get exclusiveInteractionId(): string | undefined {
|
|
154
|
+
return this._exclusiveInteraction?.id;
|
|
155
|
+
}
|
|
156
|
+
|
|
149
157
|
/**
|
|
150
158
|
* Add a dynamic interaction to the interaction chain. This is the default methodology for
|
|
151
159
|
* user map interactions, such as drawing or measuring. If another exclusive interaction is added,
|
|
@@ -296,7 +304,10 @@ class EventHandler {
|
|
|
296
304
|
return;
|
|
297
305
|
}
|
|
298
306
|
|
|
299
|
-
const actualEvent: Partial<InteractionEvent> & MapEvent =
|
|
307
|
+
const actualEvent: Partial<InteractionEvent> & MapEvent = {
|
|
308
|
+
...event,
|
|
309
|
+
chainEnded: new VcsEvent(),
|
|
310
|
+
};
|
|
300
311
|
if (this._dragging) {
|
|
301
312
|
actualEvent.type = EventType.DRAGEND;
|
|
302
313
|
actualEvent.key = this._dragging.key;
|
|
@@ -328,7 +339,10 @@ class EventHandler {
|
|
|
328
339
|
}
|
|
329
340
|
|
|
330
341
|
private _mouseMove(event: MapEvent): void {
|
|
331
|
-
let actualEvent: Partial<InteractionEvent> & MapEvent =
|
|
342
|
+
let actualEvent: Partial<InteractionEvent> & MapEvent = {
|
|
343
|
+
...event,
|
|
344
|
+
chainEnded: new VcsEvent(),
|
|
345
|
+
};
|
|
332
346
|
if (this._lastDown) {
|
|
333
347
|
if (this._dragging) {
|
|
334
348
|
actualEvent.type = EventType.DRAG;
|
|
@@ -339,7 +353,11 @@ class EventHandler {
|
|
|
339
353
|
!this._dragging &&
|
|
340
354
|
Date.now() - (this._lastDown.time as number) > this.dragDuration
|
|
341
355
|
) {
|
|
342
|
-
actualEvent = {
|
|
356
|
+
actualEvent = {
|
|
357
|
+
type: EventType.DRAGSTART,
|
|
358
|
+
...this._lastDown,
|
|
359
|
+
chainEnded: new VcsEvent(),
|
|
360
|
+
};
|
|
343
361
|
this._dragging = actualEvent;
|
|
344
362
|
this._startChain(actualEvent as InteractionEvent, true);
|
|
345
363
|
}
|
|
@@ -399,22 +417,21 @@ class EventHandler {
|
|
|
399
417
|
this._running = true;
|
|
400
418
|
this._interactionChain
|
|
401
419
|
.pipe(event)
|
|
402
|
-
.then(this._endChain.bind(this))
|
|
403
420
|
.catch((error) => {
|
|
404
421
|
getLogger().error((error as Error).message);
|
|
405
|
-
|
|
422
|
+
})
|
|
423
|
+
.finally(() => {
|
|
424
|
+
event.chainEnded?.raiseEvent();
|
|
425
|
+
event.chainEnded?.destroy();
|
|
426
|
+
this._running = false;
|
|
427
|
+
const nextEvent = this._eventQueue.shift();
|
|
428
|
+
if (nextEvent) {
|
|
429
|
+
this._startChain(nextEvent);
|
|
430
|
+
}
|
|
406
431
|
});
|
|
407
432
|
}
|
|
408
433
|
}
|
|
409
434
|
|
|
410
|
-
private _endChain(): void {
|
|
411
|
-
this._running = false;
|
|
412
|
-
const nextEvent = this._eventQueue.shift();
|
|
413
|
-
if (nextEvent) {
|
|
414
|
-
this._startChain(nextEvent);
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
|
|
418
435
|
/**
|
|
419
436
|
* Destroys the event handler and its interaction chain.
|
|
420
437
|
*/
|
package/src/map/baseOLMap.ts
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
import { mapClassRegistry } from '../classRegistry.js';
|
|
18
18
|
import type LayerCollection from '../util/layerCollection.js';
|
|
19
19
|
import type Layer from '../layer/layer.js';
|
|
20
|
+
import { DisableMapControlOptions } from '../util/mapCollection.js';
|
|
20
21
|
|
|
21
22
|
export function ensureLayerInCollection(
|
|
22
23
|
layers: OLCollection<OLLayer>,
|
|
@@ -204,11 +205,11 @@ class BaseOLMap extends VcsMap<OLLayer> {
|
|
|
204
205
|
}
|
|
205
206
|
}
|
|
206
207
|
|
|
207
|
-
disableMovement(prevent: boolean): void {
|
|
208
|
+
disableMovement(prevent: boolean | DisableMapControlOptions): void {
|
|
208
209
|
super.disableMovement(prevent);
|
|
209
210
|
if (this._olMap) {
|
|
210
211
|
this._olMap.getInteractions().forEach((i) => {
|
|
211
|
-
i.setActive(!
|
|
212
|
+
i.setActive(!this.movementPointerEventsDisabled);
|
|
212
213
|
});
|
|
213
214
|
}
|
|
214
215
|
}
|
package/src/map/cesiumMap.ts
CHANGED
|
@@ -57,6 +57,7 @@ import { mapClassRegistry } from '../classRegistry.js';
|
|
|
57
57
|
import type LayerCollection from '../util/layerCollection.js';
|
|
58
58
|
import type Layer from '../layer/layer.js';
|
|
59
59
|
import VcsEvent from '../vcsEvent.js';
|
|
60
|
+
import { DisableMapControlOptions } from '../util/mapCollection.js';
|
|
60
61
|
|
|
61
62
|
export type CesiumMapOptions = VcsMapOptions & {
|
|
62
63
|
/**
|
|
@@ -850,7 +851,11 @@ class CesiumMap extends VcsMap<CesiumVisualisationType> {
|
|
|
850
851
|
viewpoint: Viewpoint,
|
|
851
852
|
optMaximumHeight?: number,
|
|
852
853
|
): Promise<void> {
|
|
853
|
-
if (
|
|
854
|
+
if (
|
|
855
|
+
this.movementApiCallsDisabled ||
|
|
856
|
+
!viewpoint.isValid() ||
|
|
857
|
+
!this._cesiumWidget
|
|
858
|
+
) {
|
|
854
859
|
return;
|
|
855
860
|
}
|
|
856
861
|
|
|
@@ -980,10 +985,12 @@ class CesiumMap extends VcsMap<CesiumVisualisationType> {
|
|
|
980
985
|
);
|
|
981
986
|
}
|
|
982
987
|
|
|
983
|
-
disableMovement(
|
|
984
|
-
super.disableMovement(
|
|
988
|
+
disableMovement(prevent: boolean | DisableMapControlOptions): void {
|
|
989
|
+
super.disableMovement(prevent);
|
|
990
|
+
|
|
985
991
|
if (this._cesiumWidget) {
|
|
986
|
-
this._cesiumWidget.scene.screenSpaceCameraController.enableInputs =
|
|
992
|
+
this._cesiumWidget.scene.screenSpaceCameraController.enableInputs =
|
|
993
|
+
!this.movementPointerEventsDisabled;
|
|
987
994
|
}
|
|
988
995
|
}
|
|
989
996
|
|
package/src/map/obliqueMap.ts
CHANGED
|
@@ -280,7 +280,7 @@ class ObliqueMap extends BaseOLMap {
|
|
|
280
280
|
): Promise<void> {
|
|
281
281
|
check(obliqueCollection, ObliqueCollection);
|
|
282
282
|
|
|
283
|
-
if (this.
|
|
283
|
+
if (this.movementApiCallsDisabled) {
|
|
284
284
|
return;
|
|
285
285
|
}
|
|
286
286
|
|
|
@@ -329,7 +329,7 @@ class ObliqueMap extends BaseOLMap {
|
|
|
329
329
|
imageName: string,
|
|
330
330
|
optCenter?: Coordinate,
|
|
331
331
|
): Promise<void> {
|
|
332
|
-
if (this.
|
|
332
|
+
if (this.movementApiCallsDisabled || !this.initializedPromise) {
|
|
333
333
|
return;
|
|
334
334
|
}
|
|
335
335
|
await this.initializedPromise;
|
|
@@ -414,7 +414,7 @@ class ObliqueMap extends BaseOLMap {
|
|
|
414
414
|
|
|
415
415
|
async gotoViewpoint(viewpoint: Viewpoint): Promise<void> {
|
|
416
416
|
if (
|
|
417
|
-
this.
|
|
417
|
+
this.movementApiCallsDisabled ||
|
|
418
418
|
!this.olMap ||
|
|
419
419
|
!this._obliqueProvider ||
|
|
420
420
|
!viewpoint.isValid()
|
package/src/map/openlayersMap.ts
CHANGED
|
@@ -106,7 +106,7 @@ class OpenlayersMap extends BaseOLMap {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
gotoViewpoint(viewpoint: Viewpoint): Promise<void> {
|
|
109
|
-
if (this.
|
|
109
|
+
if (this.movementApiCallsDisabled || !viewpoint.isValid() || !this.olMap) {
|
|
110
110
|
return Promise.resolve();
|
|
111
111
|
}
|
|
112
112
|
let { heading } = viewpoint;
|
package/src/map/vcsMap.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { getLogger as getLoggerByName, Logger } from '@vcsuite/logger';
|
|
1
2
|
import { v4 as uuidv4 } from 'uuid';
|
|
2
3
|
import type { MapEvent as OLMapEvent } from 'ol';
|
|
3
4
|
import type { Layer as OLLayer } from 'ol/layer.js';
|
|
4
5
|
import type { Coordinate } from 'ol/coordinate.js';
|
|
5
6
|
|
|
6
|
-
import { check, maybe, oneOf } from '@vcsuite/check';
|
|
7
|
+
import { check, is, maybe, oneOf } from '@vcsuite/check';
|
|
7
8
|
import VcsObject, { VcsObjectOptions } from '../vcsObject.js';
|
|
8
9
|
import LayerCollection from '../util/layerCollection.js';
|
|
9
10
|
import MapState from './mapState.js';
|
|
@@ -15,6 +16,11 @@ import { CesiumVisualisationType } from './cesiumMap.js';
|
|
|
15
16
|
import type Viewpoint from '../util/viewpoint.js';
|
|
16
17
|
import type Layer from '../layer/layer.js';
|
|
17
18
|
import type { MapEvent } from '../interaction/abstractInteraction.js';
|
|
19
|
+
import type { DisableMapControlOptions } from '../util/mapCollection.js';
|
|
20
|
+
|
|
21
|
+
function getLogger(): Logger {
|
|
22
|
+
return getLoggerByName('vcMap');
|
|
23
|
+
}
|
|
18
24
|
|
|
19
25
|
export type VcsMapOptions = VcsObjectOptions & {
|
|
20
26
|
/**
|
|
@@ -76,10 +82,11 @@ class VcsMap<
|
|
|
76
82
|
|
|
77
83
|
initialized: boolean;
|
|
78
84
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
85
|
+
private _movementApiCallsDisabled = false;
|
|
86
|
+
|
|
87
|
+
private _movementKeyEventsDisabled = false;
|
|
88
|
+
|
|
89
|
+
private _movementPointerEventsDisabled = false;
|
|
83
90
|
|
|
84
91
|
/**
|
|
85
92
|
* The name of a map to fall back on, if this map cant show a viewpoint
|
|
@@ -134,8 +141,6 @@ class VcsMap<
|
|
|
134
141
|
|
|
135
142
|
this.initialized = false;
|
|
136
143
|
|
|
137
|
-
this.movementDisabled = false;
|
|
138
|
-
|
|
139
144
|
this.fallbackMap = options.fallbackMap || null;
|
|
140
145
|
|
|
141
146
|
this._visualizations = new Map();
|
|
@@ -172,6 +177,44 @@ class VcsMap<
|
|
|
172
177
|
return this._target;
|
|
173
178
|
}
|
|
174
179
|
|
|
180
|
+
set movementDisabled(prevent: boolean) {
|
|
181
|
+
this._movementApiCallsDisabled = prevent;
|
|
182
|
+
this._movementKeyEventsDisabled = prevent;
|
|
183
|
+
this._movementPointerEventsDisabled = prevent;
|
|
184
|
+
|
|
185
|
+
getLogger().deprecate('movementDisabled', 'disableMovement');
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* @deprecated use disableMovement() for setting and movementApiCallsDisabled, movementKeyEventsDisabled and movementPointerEventsDisabled getter
|
|
190
|
+
*/
|
|
191
|
+
get movementDisabled(): boolean {
|
|
192
|
+
getLogger().deprecate(
|
|
193
|
+
'movementDisabled',
|
|
194
|
+
'use the following getters: "movementApiCallsDisabled", "movementKeyEventsDisabled", "movementPointerEventsDisabled"',
|
|
195
|
+
);
|
|
196
|
+
return (
|
|
197
|
+
this._movementApiCallsDisabled &&
|
|
198
|
+
this._movementKeyEventsDisabled &&
|
|
199
|
+
this._movementPointerEventsDisabled
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/** Whether api calls like gotoViewpoint & setting of oblique images are disabled */
|
|
204
|
+
get movementApiCallsDisabled(): boolean {
|
|
205
|
+
return this._movementApiCallsDisabled;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/** Whether movement related key events like the arrow keys for navigating in map are disabled. */
|
|
209
|
+
get movementKeyEventsDisabled(): boolean {
|
|
210
|
+
return this._movementKeyEventsDisabled;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/** Whether movement related pointer events for navigating in map are disabled. */
|
|
214
|
+
get movementPointerEventsDisabled(): boolean {
|
|
215
|
+
return this._movementPointerEventsDisabled;
|
|
216
|
+
}
|
|
217
|
+
|
|
175
218
|
/**
|
|
176
219
|
* The layer collection of this map. LayerCollections can be shared among maps.
|
|
177
220
|
* When adding the map to a , the layer collection of the will be set.
|
|
@@ -396,10 +439,20 @@ class VcsMap<
|
|
|
396
439
|
}
|
|
397
440
|
|
|
398
441
|
/**
|
|
399
|
-
* prevent all movement, including
|
|
442
|
+
* prevent all movement, including api calls (gotoViewpoint, setting oblique images), key and pointer events.
|
|
400
443
|
*/
|
|
401
|
-
disableMovement(prevent: boolean): void {
|
|
402
|
-
|
|
444
|
+
disableMovement(prevent: boolean | DisableMapControlOptions): void {
|
|
445
|
+
const disable: DisableMapControlOptions = is(prevent, Boolean)
|
|
446
|
+
? {
|
|
447
|
+
apiCalls: prevent,
|
|
448
|
+
pointerEvents: prevent,
|
|
449
|
+
keyEvents: prevent,
|
|
450
|
+
}
|
|
451
|
+
: prevent;
|
|
452
|
+
|
|
453
|
+
this._movementApiCallsDisabled = disable.apiCalls;
|
|
454
|
+
this._movementKeyEventsDisabled = disable.keyEvents;
|
|
455
|
+
this._movementPointerEventsDisabled = disable.pointerEvents;
|
|
403
456
|
}
|
|
404
457
|
|
|
405
458
|
/**
|
|
@@ -245,10 +245,19 @@ class ClippingObject {
|
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
handleMapChanged(map: VcsMap | null): void {
|
|
248
|
+
// clear old destroyed targets
|
|
249
|
+
this.targets.forEach((target, key) => {
|
|
250
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
251
|
+
// @ts-ignore
|
|
252
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
253
|
+
if (target.isDestroyed && target.isDestroyed()) {
|
|
254
|
+
this.targets.delete(key);
|
|
255
|
+
}
|
|
256
|
+
});
|
|
248
257
|
if (map instanceof CesiumMap) {
|
|
249
258
|
const { globe } = map.getScene() as Scene;
|
|
250
259
|
let raise = false;
|
|
251
|
-
if (this._terrain && !this.targets.
|
|
260
|
+
if (this._terrain && !(this.targets.get(globeSymbol) === globe)) {
|
|
252
261
|
this.targets.set(globeSymbol, globe);
|
|
253
262
|
raise = true;
|
|
254
263
|
} else if (!this._terrain && this.targets.has(globeSymbol)) {
|
|
@@ -233,6 +233,12 @@ class ClippingObjectManager {
|
|
|
233
233
|
|
|
234
234
|
const setTargets = (clippingObject: ClippingObject): void => {
|
|
235
235
|
clippingObject.targets.forEach((target) => {
|
|
236
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
237
|
+
// @ts-ignore
|
|
238
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
239
|
+
if (target.isDestroyed && target.isDestroyed()) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
236
242
|
this._targetsMap.set(target, clippingObject);
|
|
237
243
|
currentTargets.delete(target);
|
|
238
244
|
});
|
|
@@ -266,6 +266,12 @@ export function copyClippingPlanesToCollection(
|
|
|
266
266
|
export function clearClippingPlanes(
|
|
267
267
|
target: Globe | Cesium3DTileset | Entity,
|
|
268
268
|
): void {
|
|
269
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
270
|
+
// @ts-ignore
|
|
271
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
272
|
+
if (target.isDestroyed && target.isDestroyed()) {
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
269
275
|
if (target instanceof Entity) {
|
|
270
276
|
if (target.model) {
|
|
271
277
|
if (target.model.clippingPlanes) {
|
|
@@ -399,11 +405,12 @@ export function setClippingPlanes(
|
|
|
399
405
|
}
|
|
400
406
|
|
|
401
407
|
/**
|
|
402
|
-
* Creates a new feature at the given coordinate, which can be
|
|
408
|
+
* Creates a new feature at the given coordinate, which can then be used to create a clippingPlaneCollection.
|
|
403
409
|
* @param coordinate - in WGS84
|
|
404
410
|
* @param camera
|
|
405
411
|
* @param [vertical=false]
|
|
406
412
|
* @param [offsetDistance=25] - the offset from the coordinate to use for the size of the geometry
|
|
413
|
+
* @param [rotate=0] - rotation of clipping plane in radians. 0 means vertical plane is parallel to camera.heading and horizontal feature is aligned with axes.
|
|
407
414
|
* @returns - the features geometry is in web mercator
|
|
408
415
|
*/
|
|
409
416
|
export function createClippingFeature(
|
|
@@ -411,6 +418,7 @@ export function createClippingFeature(
|
|
|
411
418
|
camera: Camera,
|
|
412
419
|
vertical = false,
|
|
413
420
|
offsetDistance = 25,
|
|
421
|
+
rotate = 0,
|
|
414
422
|
): Feature {
|
|
415
423
|
check(coordinate, [Number]);
|
|
416
424
|
check(vertical, Boolean);
|
|
@@ -418,18 +426,18 @@ export function createClippingFeature(
|
|
|
418
426
|
|
|
419
427
|
let geometry;
|
|
420
428
|
if (vertical) {
|
|
421
|
-
const p1 = offset(coordinate, -offsetDistance, camera.heading);
|
|
422
|
-
const p2 = offset(coordinate, offsetDistance, camera.heading);
|
|
429
|
+
const p1 = offset(coordinate, -offsetDistance, camera.heading + rotate);
|
|
430
|
+
const p2 = offset(coordinate, offsetDistance, camera.heading + rotate);
|
|
423
431
|
geometry = new LineString(
|
|
424
432
|
[
|
|
425
|
-
[p1[0], p1[1], coordinate[2]],
|
|
426
|
-
[p2[0], p2[1], coordinate[2]],
|
|
433
|
+
[p1[0], p1[1], coordinate[2] - offsetDistance],
|
|
434
|
+
[p2[0], p2[1], coordinate[2] - offsetDistance],
|
|
427
435
|
],
|
|
428
436
|
'XYZ',
|
|
429
437
|
);
|
|
430
438
|
} else {
|
|
431
439
|
geometry = new Polygon([[]], 'XYZ');
|
|
432
|
-
let bearing = 2 * Math.PI - Math.PI / 4; // Bearing NW
|
|
440
|
+
let bearing = 2 * Math.PI - Math.PI / 4 + rotate; // Bearing NW
|
|
433
441
|
const coordinates = [...(new Array(4) as undefined[])].map(() => {
|
|
434
442
|
const newPoint = offset(coordinate, offsetDistance, bearing);
|
|
435
443
|
bearing -= Math.PI / 2;
|