@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.
Files changed (63) hide show
  1. package/dist/src/interaction/abstractInteraction.d.ts +5 -0
  2. package/dist/src/interaction/abstractInteraction.js.map +1 -1
  3. package/dist/src/interaction/eventHandler.d.ts +5 -1
  4. package/dist/src/interaction/eventHandler.js +29 -12
  5. package/dist/src/interaction/eventHandler.js.map +1 -1
  6. package/dist/src/map/baseOLMap.d.ts +2 -1
  7. package/dist/src/map/baseOLMap.js +1 -1
  8. package/dist/src/map/baseOLMap.js.map +1 -1
  9. package/dist/src/map/cesiumMap.d.ts +2 -1
  10. package/dist/src/map/cesiumMap.js +7 -4
  11. package/dist/src/map/cesiumMap.js.map +1 -1
  12. package/dist/src/map/obliqueMap.js +3 -3
  13. package/dist/src/map/obliqueMap.js.map +1 -1
  14. package/dist/src/map/openlayersMap.js +1 -1
  15. package/dist/src/map/openlayersMap.js.map +1 -1
  16. package/dist/src/map/vcsMap.d.ts +17 -6
  17. package/dist/src/map/vcsMap.js +46 -8
  18. package/dist/src/map/vcsMap.js.map +1 -1
  19. package/dist/src/util/clipping/clippingObject.js +10 -1
  20. package/dist/src/util/clipping/clippingObject.js.map +1 -1
  21. package/dist/src/util/clipping/clippingObjectManager.js +6 -0
  22. package/dist/src/util/clipping/clippingObjectManager.js.map +1 -1
  23. package/dist/src/util/clipping/clippingPlaneHelper.d.ts +3 -2
  24. package/dist/src/util/clipping/clippingPlaneHelper.js +14 -7
  25. package/dist/src/util/clipping/clippingPlaneHelper.js.map +1 -1
  26. package/dist/src/util/editor/editFeaturesSession.js +56 -4
  27. package/dist/src/util/editor/editFeaturesSession.js.map +1 -1
  28. package/dist/src/util/editor/editGeometrySession.d.ts +6 -1
  29. package/dist/src/util/editor/editGeometrySession.js +51 -44
  30. package/dist/src/util/editor/editGeometrySession.js.map +1 -1
  31. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.d.ts +1 -1
  32. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js +4 -2
  33. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -1
  34. package/dist/src/util/editor/interactions/rightClickInteraction.d.ts +9 -0
  35. package/dist/src/util/editor/interactions/rightClickInteraction.js +31 -0
  36. package/dist/src/util/editor/interactions/rightClickInteraction.js.map +1 -0
  37. package/dist/src/util/flight/flightInstance.d.ts +1 -1
  38. package/dist/src/util/flight/flightPlayer.js +16 -13
  39. package/dist/src/util/flight/flightPlayer.js.map +1 -1
  40. package/dist/src/util/mapCollection.d.ts +14 -0
  41. package/dist/src/util/mapCollection.js +33 -0
  42. package/dist/src/util/mapCollection.js.map +1 -1
  43. package/dist/src/vcsApp.d.ts +7 -1
  44. package/dist/src/vcsApp.js +71 -20
  45. package/dist/src/vcsApp.js.map +1 -1
  46. package/package.json +3 -2
  47. package/src/interaction/abstractInteraction.ts +5 -0
  48. package/src/interaction/eventHandler.ts +30 -13
  49. package/src/map/baseOLMap.ts +3 -2
  50. package/src/map/cesiumMap.ts +11 -4
  51. package/src/map/obliqueMap.ts +3 -3
  52. package/src/map/openlayersMap.ts +1 -1
  53. package/src/map/vcsMap.ts +63 -10
  54. package/src/util/clipping/clippingObject.ts +10 -1
  55. package/src/util/clipping/clippingObjectManager.ts +6 -0
  56. package/src/util/clipping/clippingPlaneHelper.ts +14 -6
  57. package/src/util/editor/editFeaturesSession.ts +72 -10
  58. package/src/util/editor/editGeometrySession.ts +61 -39
  59. package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +7 -2
  60. package/src/util/editor/interactions/rightClickInteraction.ts +42 -0
  61. package/src/util/flight/flightPlayer.ts +21 -15
  62. package/src/util/mapCollection.ts +47 -0
  63. package/src/vcsApp.ts +82 -23
@@ -61,7 +61,7 @@ class VcsApp {
61
61
  _categoryClassRegistry;
62
62
  _categories;
63
63
  _destroyed;
64
- _moduleMutationPromise;
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._moduleMutationPromise = Promise.resolve();
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
- .forEach((m) => {
234
- // eslint-disable-next-line no-void
235
- void m.setCollection(startingObliqueCollection);
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
- addModule(module) {
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
- this._moduleMutationPromise = this._moduleMutationPromise.then(async () => {
255
- if (this._modules.hasKey(module._id)) {
256
- getLogger().info(`module with id ${module._id} already loaded`);
257
- return;
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
- await this._parseModule(module);
260
- await this._setModuleState(module);
261
- this._modules.add(module);
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
- return this._moduleMutationPromise;
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
- this._moduleMutationPromise = this._moduleMutationPromise.then(async () => {
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
- Object.defineProperty(this, '_moduleMutationPromise', {
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
  },
@@ -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.6",
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
- "test": "tsc -b tests && node -e \"require('fs').cpSync('tests/data', '.tests/tests/data', { recursive: true })\" && mocha --exit --require .tests/tests/setupJsdom.js --require .tests/tests/setup.js --file .tests/tests/vcs.js \".tests/**/*.spec.js\"",
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 = event;
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 = event;
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 = { type: EventType.DRAGSTART, ...this._lastDown };
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
- this._endChain();
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
  */
@@ -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(!prevent);
212
+ i.setActive(!this.movementPointerEventsDisabled);
212
213
  });
213
214
  }
214
215
  }
@@ -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 (this.movementDisabled || !viewpoint.isValid() || !this._cesiumWidget) {
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(bool: boolean): void {
984
- super.disableMovement(bool);
988
+ disableMovement(prevent: boolean | DisableMapControlOptions): void {
989
+ super.disableMovement(prevent);
990
+
985
991
  if (this._cesiumWidget) {
986
- this._cesiumWidget.scene.screenSpaceCameraController.enableInputs = !bool;
992
+ this._cesiumWidget.scene.screenSpaceCameraController.enableInputs =
993
+ !this.movementPointerEventsDisabled;
987
994
  }
988
995
  }
989
996
 
@@ -280,7 +280,7 @@ class ObliqueMap extends BaseOLMap {
280
280
  ): Promise<void> {
281
281
  check(obliqueCollection, ObliqueCollection);
282
282
 
283
- if (this.movementDisabled) {
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.movementDisabled || !this.initializedPromise) {
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.movementDisabled ||
417
+ this.movementApiCallsDisabled ||
418
418
  !this.olMap ||
419
419
  !this._obliqueProvider ||
420
420
  !viewpoint.isValid()
@@ -106,7 +106,7 @@ class OpenlayersMap extends BaseOLMap {
106
106
  }
107
107
 
108
108
  gotoViewpoint(viewpoint: Viewpoint): Promise<void> {
109
- if (this.movementDisabled || !viewpoint.isValid() || !this.olMap) {
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
- * if true, no movements should occur
81
- */
82
- movementDisabled: boolean;
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 navigation controls, gotoViewpoint & setting of oblique images
442
+ * prevent all movement, including api calls (gotoViewpoint, setting oblique images), key and pointer events.
400
443
  */
401
- disableMovement(prevent: boolean): void {
402
- this.movementDisabled = prevent;
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.has(globeSymbol)) {
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 set on a .
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;