@vcmap/core 5.0.2 → 5.1.0-rc.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/cesium.d.ts +257 -0
- package/dist/geojson.d.ts +27 -0
- package/dist/index.d.ts +15 -2
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/ol.d.ts +138 -0
- package/dist/src/classRegistry.js +2 -2
- package/dist/src/classRegistry.js.map +1 -1
- package/dist/src/featureProvider/abstractFeatureProvider.d.ts +2 -1
- package/dist/src/featureProvider/abstractFeatureProvider.js +2 -1
- package/dist/src/featureProvider/abstractFeatureProvider.js.map +1 -1
- package/dist/src/featureProvider/tileProviderFeatureProvider.d.ts +1 -1
- package/dist/src/featureProvider/tileProviderFeatureProvider.js +2 -2
- package/dist/src/featureProvider/tileProviderFeatureProvider.js.map +1 -1
- package/dist/src/featureProvider/wmsFeatureProvider.d.ts +1 -1
- package/dist/src/featureProvider/wmsFeatureProvider.js +4 -3
- package/dist/src/featureProvider/wmsFeatureProvider.js.map +1 -1
- package/dist/src/interaction/eventHandler.js +3 -3
- package/dist/src/interaction/eventHandler.js.map +1 -1
- package/dist/src/interaction/featureProviderInteraction.js +1 -1
- package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
- package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.d.ts +4 -1
- package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js +31 -2
- package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/resourceHelper.d.ts +2 -0
- package/dist/src/layer/cesium/resourceHelper.js +12 -0
- package/dist/src/layer/cesium/resourceHelper.js.map +1 -0
- package/dist/src/layer/cesium/singleImageCesiumImpl.js +2 -1
- package/dist/src/layer/cesium/singleImageCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/terrainCesiumImpl.js +1 -1
- package/dist/src/layer/cesium/terrainCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/tmsCesiumImpl.js +2 -1
- package/dist/src/layer/cesium/tmsCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js +1 -0
- package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/vectorTileImageryProvider.d.ts +2 -0
- package/dist/src/layer/cesium/vectorTileImageryProvider.js +3 -1
- package/dist/src/layer/cesium/vectorTileImageryProvider.js.map +1 -1
- package/dist/src/layer/cesium/wmsCesiumImpl.js +2 -1
- package/dist/src/layer/cesium/wmsCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/wmtsCesiumImpl.js +2 -1
- package/dist/src/layer/cesium/wmtsCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesiumTilesetLayer.d.ts +5 -1
- package/dist/src/layer/cesiumTilesetLayer.js +17 -7
- package/dist/src/layer/cesiumTilesetLayer.js.map +1 -1
- package/dist/src/layer/czmlLayer.js +2 -1
- package/dist/src/layer/czmlLayer.js.map +1 -1
- package/dist/src/layer/featureLayer.js +2 -2
- package/dist/src/layer/featureLayer.js.map +1 -1
- package/dist/src/layer/featureStoreLayer.js +8 -5
- package/dist/src/layer/featureStoreLayer.js.map +1 -1
- package/dist/src/layer/featureStoreLayerChanges.d.ts +20 -8
- package/dist/src/layer/featureStoreLayerChanges.js +26 -26
- package/dist/src/layer/featureStoreLayerChanges.js.map +1 -1
- package/dist/src/layer/featureStoreLayerState.d.ts +1 -5
- package/dist/src/layer/featureStoreLayerState.js +0 -9
- package/dist/src/layer/featureStoreLayerState.js.map +1 -1
- package/dist/src/layer/geojsonLayer.js +3 -2
- package/dist/src/layer/geojsonLayer.js.map +1 -1
- package/dist/src/layer/layer.d.ts +15 -0
- package/dist/src/layer/layer.js +30 -4
- package/dist/src/layer/layer.js.map +1 -1
- package/dist/src/layer/layerImplementation.d.ts +1 -0
- package/dist/src/layer/layerImplementation.js +2 -0
- package/dist/src/layer/layerImplementation.js.map +1 -1
- package/dist/src/layer/oblique/vectorObliqueImpl.js +9 -6
- package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -1
- package/dist/src/layer/openlayers/loadFunctionHelpers.d.ts +2 -0
- package/dist/src/layer/openlayers/loadFunctionHelpers.js +20 -0
- package/dist/src/layer/openlayers/loadFunctionHelpers.js.map +1 -0
- package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js +25 -1
- package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/tmsOpenlayersImpl.js +9 -1
- package/dist/src/layer/openlayers/tmsOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js +1 -1
- package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/wmsOpenlayersImpl.d.ts +4 -1
- package/dist/src/layer/openlayers/wmsOpenlayersImpl.js +20 -1
- package/dist/src/layer/openlayers/wmsOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js +9 -1
- package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/pointCloudLayer.js +2 -2
- package/dist/src/layer/pointCloudLayer.js.map +1 -1
- package/dist/src/layer/terrainHelpers.d.ts +3 -3
- package/dist/src/layer/terrainHelpers.js +12 -7
- package/dist/src/layer/terrainHelpers.js.map +1 -1
- package/dist/src/layer/terrainLayer.js +1 -1
- package/dist/src/layer/terrainLayer.js.map +1 -1
- package/dist/src/layer/tileProvider/mvtTileProvider.d.ts +1 -1
- package/dist/src/layer/tileProvider/mvtTileProvider.js +4 -3
- package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/staticGeojsonTileProvider.d.ts +1 -1
- package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js +4 -3
- package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/tileProvider.d.ts +14 -11
- package/dist/src/layer/tileProvider/tileProvider.js +23 -20
- package/dist/src/layer/tileProvider/tileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/urlTemplateTileProvider.d.ts +1 -1
- package/dist/src/layer/tileProvider/urlTemplateTileProvider.js +4 -3
- package/dist/src/layer/tileProvider/urlTemplateTileProvider.js.map +1 -1
- package/dist/src/layer/vectorLayer.d.ts +1 -2
- package/dist/src/layer/vectorLayer.js +3 -3
- package/dist/src/layer/vectorLayer.js.map +1 -1
- package/dist/src/layer/vectorProperties.d.ts +11 -16
- package/dist/src/layer/vectorProperties.js +16 -13
- package/dist/src/layer/vectorProperties.js.map +1 -1
- package/dist/src/layer/wfsLayer.js +9 -6
- package/dist/src/layer/wfsLayer.js.map +1 -1
- package/dist/src/layer/wmsHelpers.d.ts +10 -0
- package/dist/src/layer/wmsHelpers.js +53 -12
- package/dist/src/layer/wmsHelpers.js.map +1 -1
- package/dist/src/layer/wmsLayer.d.ts +6 -0
- package/dist/src/layer/wmsLayer.js +5 -2
- package/dist/src/layer/wmsLayer.js.map +1 -1
- package/dist/src/map/cameraLimiter.d.ts +5 -0
- package/dist/src/map/cameraLimiter.js +11 -4
- package/dist/src/map/cameraLimiter.js.map +1 -1
- package/dist/src/map/cesiumMap.d.ts +20 -1
- package/dist/src/map/cesiumMap.js +51 -2
- package/dist/src/map/cesiumMap.js.map +1 -1
- package/dist/src/map/vcsMap.js +2 -2
- package/dist/src/map/vcsMap.js.map +1 -1
- package/dist/src/oblique/helpers.d.ts +1 -1
- package/dist/src/oblique/helpers.js +5 -9
- package/dist/src/oblique/helpers.js.map +1 -1
- package/dist/src/oblique/obliqueCollection.d.ts +1 -0
- package/dist/src/oblique/obliqueCollection.js +1 -1
- package/dist/src/oblique/obliqueCollection.js.map +1 -1
- package/dist/src/oblique/obliqueDataSet.d.ts +3 -1
- package/dist/src/oblique/obliqueDataSet.js +13 -6
- package/dist/src/oblique/obliqueDataSet.js.map +1 -1
- package/dist/src/oblique/obliqueImageMeta.d.ts +2 -0
- package/dist/src/oblique/obliqueImageMeta.js +2 -0
- package/dist/src/oblique/obliqueImageMeta.js.map +1 -1
- package/dist/src/oblique/obliqueView.d.ts +1 -0
- package/dist/src/oblique/obliqueView.js +12 -2
- package/dist/src/oblique/obliqueView.js.map +1 -1
- package/dist/src/oblique/parseImageJson.d.ts +6 -5
- package/dist/src/oblique/parseImageJson.js +7 -5
- package/dist/src/oblique/parseImageJson.js.map +1 -1
- package/dist/src/ol/geom/circle.js.map +1 -1
- package/dist/src/style/declarativeStyleItem.js +10 -2
- package/dist/src/style/declarativeStyleItem.js.map +1 -1
- package/dist/src/style/styleFactory.js +2 -2
- package/dist/src/style/styleFactory.js.map +1 -1
- package/dist/src/style/styleHelpers.js +13 -3
- package/dist/src/style/styleHelpers.js.map +1 -1
- package/dist/src/style/vectorStyleItem.js +29 -16
- package/dist/src/style/vectorStyleItem.js.map +1 -1
- package/dist/src/util/clipping/clippingPlaneHelper.js +3 -3
- package/dist/src/util/clipping/clippingPlaneHelper.js.map +1 -1
- package/dist/src/util/editor/createFeatureSession.d.ts +2 -2
- package/dist/src/util/editor/createFeatureSession.js +2 -2
- package/dist/src/util/editor/createFeatureSession.js.map +1 -1
- package/dist/src/util/editor/editFeaturesSession.d.ts +2 -2
- package/dist/src/util/editor/editGeometrySession.d.ts +2 -2
- package/dist/src/util/editor/editorSessionHelpers.d.ts +2 -2
- package/dist/src/util/editor/selectFeaturesSession.d.ts +2 -2
- package/dist/src/util/editor/selectFeaturesSession.js +2 -2
- package/dist/src/util/editor/selectFeaturesSession.js.map +1 -1
- package/dist/src/util/featureconverter/arcToCesium.d.ts +1 -1
- package/dist/src/util/featureconverter/arcToCesium.js +5 -2
- package/dist/src/util/featureconverter/arcToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/circleToCesium.d.ts +4 -2
- package/dist/src/util/featureconverter/circleToCesium.js +8 -3
- package/dist/src/util/featureconverter/circleToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/extent3D.js.map +1 -1
- package/dist/src/util/featureconverter/featureconverterHelper.js +2 -2
- package/dist/src/util/featureconverter/featureconverterHelper.js.map +1 -1
- package/dist/src/util/featureconverter/lineStringToCesium.d.ts +3 -1
- package/dist/src/util/featureconverter/lineStringToCesium.js +7 -2
- package/dist/src/util/featureconverter/lineStringToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/pointToCesium.js +1 -1
- package/dist/src/util/featureconverter/pointToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/polygonToCesium.d.ts +3 -3
- package/dist/src/util/featureconverter/polygonToCesium.js +9 -15
- package/dist/src/util/featureconverter/polygonToCesium.js.map +1 -1
- package/dist/src/util/fetch.d.ts +2 -0
- package/dist/src/util/fetch.js +16 -0
- package/dist/src/util/fetch.js.map +1 -1
- package/dist/src/util/flight/flightAnchor.d.ts +23 -0
- package/dist/src/util/flight/flightAnchor.js +152 -0
- package/dist/src/util/flight/flightAnchor.js.map +1 -0
- package/dist/src/util/flight/flightCollection.d.ts +25 -0
- package/dist/src/util/flight/flightCollection.js +63 -0
- package/dist/src/util/flight/flightCollection.js.map +1 -0
- package/dist/src/util/flight/flightHelpers.d.ts +29 -0
- package/dist/src/util/flight/flightHelpers.js +134 -0
- package/dist/src/util/flight/flightHelpers.js.map +1 -0
- package/dist/src/util/flight/flightInstance.d.ts +57 -0
- package/dist/src/util/flight/flightInstance.js +166 -0
- package/dist/src/util/flight/flightInstance.js.map +1 -0
- package/dist/src/util/flight/flightPlayer.d.ts +30 -0
- package/dist/src/util/flight/flightPlayer.js +247 -0
- package/dist/src/util/flight/flightPlayer.js.map +1 -0
- package/dist/src/util/flight/flightVisualizer.d.ts +18 -0
- package/dist/src/util/flight/flightVisualizer.js +151 -0
- package/dist/src/util/flight/flightVisualizer.js.map +1 -0
- package/dist/src/util/hiddenObjects.d.ts +8 -0
- package/dist/src/util/hiddenObjects.js +17 -0
- package/dist/src/util/hiddenObjects.js.map +1 -0
- package/dist/src/util/mapCollection.js +2 -2
- package/dist/src/util/mapCollection.js.map +1 -1
- package/dist/src/util/overrideCollection.d.ts +8 -3
- package/dist/src/util/overrideCollection.js +17 -0
- package/dist/src/util/overrideCollection.js.map +1 -1
- package/dist/src/util/projection.js +5 -2
- package/dist/src/util/projection.js.map +1 -1
- package/dist/src/util/viewpoint.d.ts +1 -0
- package/dist/src/util/viewpoint.js +24 -7
- package/dist/src/util/viewpoint.js.map +1 -1
- package/dist/src/vcsApp.d.ts +10 -3
- package/dist/src/vcsApp.js +34 -15
- package/dist/src/vcsApp.js.map +1 -1
- package/dist/src/vcsModule.d.ts +4 -0
- package/dist/src/vcsModule.js.map +1 -1
- package/dist/tests/unit/helpers/cesiumHelpers.d.ts +2 -2
- package/dist/tests/unit/helpers/cesiumHelpers.js +2 -1
- package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -1
- package/dist/tests/unit/helpers/terrain/terrainData.d.ts +7 -0
- package/dist/tests/unit/helpers/terrain/terrainData.js +2 -2
- package/dist/tests/unit/helpers/terrain/terrainData.js.map +1 -1
- package/index.ts +39 -1
- package/package.json +4 -2
- package/src/classRegistry.ts +2 -2
- package/src/featureProvider/abstractFeatureProvider.ts +2 -0
- package/src/featureProvider/tileProviderFeatureProvider.ts +2 -0
- package/src/featureProvider/wmsFeatureProvider.ts +4 -2
- package/src/interaction/eventHandler.ts +3 -3
- package/src/interaction/featureProviderInteraction.ts +1 -0
- package/src/layer/cesium/cesiumTilesetCesiumImpl.ts +44 -5
- package/src/layer/cesium/resourceHelper.ts +15 -0
- package/src/layer/cesium/singleImageCesiumImpl.ts +2 -1
- package/src/layer/cesium/terrainCesiumImpl.ts +2 -1
- package/src/layer/cesium/tmsCesiumImpl.ts +2 -1
- package/src/layer/cesium/vectorRasterTileCesiumImpl.ts +1 -0
- package/src/layer/cesium/vectorTileImageryProvider.ts +10 -1
- package/src/layer/cesium/wmsCesiumImpl.ts +2 -1
- package/src/layer/cesium/wmtsCesiumImpl.ts +4 -2
- package/src/layer/cesiumTilesetLayer.ts +25 -7
- package/src/layer/czmlLayer.ts +2 -1
- package/src/layer/featureLayer.ts +2 -2
- package/src/layer/featureStoreLayer.ts +8 -8
- package/src/layer/featureStoreLayerChanges.ts +63 -45
- package/src/layer/featureStoreLayerState.ts +6 -5
- package/src/layer/geojsonLayer.ts +3 -3
- package/src/layer/layer.ts +41 -4
- package/src/layer/layerImplementation.ts +3 -0
- package/src/layer/oblique/vectorObliqueImpl.ts +9 -8
- package/src/layer/openlayers/loadFunctionHelpers.ts +24 -0
- package/src/layer/openlayers/singleImageOpenlayersImpl.ts +25 -1
- package/src/layer/openlayers/tmsOpenlayersImpl.ts +8 -1
- package/src/layer/openlayers/vectorTileOpenlayersImpl.ts +1 -0
- package/src/layer/openlayers/wmsOpenlayersImpl.ts +23 -2
- package/src/layer/openlayers/wmtsOpenlayersImpl.ts +8 -1
- package/src/layer/pointCloudLayer.ts +2 -2
- package/src/layer/terrainHelpers.ts +19 -6
- package/src/layer/terrainLayer.ts +8 -4
- package/src/layer/tileProvider/mvtTileProvider.ts +9 -3
- package/src/layer/tileProvider/staticGeojsonTileProvider.ts +9 -3
- package/src/layer/tileProvider/tileProvider.ts +49 -13
- package/src/layer/tileProvider/urlTemplateTileProvider.ts +10 -3
- package/src/layer/vectorLayer.ts +9 -9
- package/src/layer/vectorProperties.ts +46 -22
- package/src/layer/wfsLayer.ts +9 -6
- package/src/layer/wmsHelpers.ts +78 -10
- package/src/layer/wmsLayer.ts +11 -2
- package/src/map/cameraLimiter.ts +21 -2
- package/src/map/cesiumMap.ts +67 -2
- package/src/map/vcsMap.ts +2 -2
- package/src/oblique/helpers.ts +5 -13
- package/src/oblique/obliqueCollection.ts +2 -0
- package/src/oblique/obliqueDataSet.ts +16 -2
- package/src/oblique/obliqueImageMeta.ts +4 -0
- package/src/oblique/obliqueView.ts +12 -2
- package/src/oblique/parseImageJson.ts +7 -4
- package/src/ol/geojson.d.ts +1 -2
- package/src/ol/geom/circle.ts +1 -1
- package/src/style/declarativeStyleItem.ts +10 -2
- package/src/style/styleFactory.ts +2 -2
- package/src/style/styleHelpers.ts +13 -4
- package/src/style/vectorStyleItem.ts +32 -20
- package/src/util/clipping/clippingPlaneHelper.ts +3 -3
- package/src/util/editor/createFeatureSession.ts +9 -8
- package/src/util/editor/editFeaturesSession.ts +1 -1
- package/src/util/editor/editGeometrySession.ts +1 -1
- package/src/util/editor/editorSessionHelpers.ts +2 -2
- package/src/util/editor/selectFeaturesSession.ts +3 -3
- package/src/util/featureconverter/arcToCesium.ts +5 -1
- package/src/util/featureconverter/circleToCesium.ts +8 -2
- package/src/util/featureconverter/extent3D.ts +1 -1
- package/src/util/featureconverter/featureconverterHelper.ts +3 -5
- package/src/util/featureconverter/lineStringToCesium.ts +8 -1
- package/src/util/featureconverter/pointToCesium.ts +1 -1
- package/src/util/featureconverter/polygonToCesium.ts +6 -15
- package/src/util/fetch.ts +25 -0
- package/src/util/flight/flightAnchor.ts +195 -0
- package/src/util/flight/flightCollection.ts +78 -0
- package/src/util/flight/flightHelpers.ts +208 -0
- package/src/util/flight/flightInstance.ts +240 -0
- package/src/util/flight/flightPlayer.ts +326 -0
- package/src/util/flight/flightVisualizer.ts +202 -0
- package/src/util/hiddenObjects.ts +35 -0
- package/src/util/mapCollection.ts +2 -2
- package/src/util/overrideCollection.ts +26 -3
- package/src/util/projection.ts +5 -2
- package/src/util/viewpoint.ts +27 -7
- package/src/vcsApp.ts +56 -15
- package/src/vcsModule.ts +4 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { HeadingPitchRoll, } from '@vcmap-cesium/engine';
|
|
2
|
+
import { getLogger } from '@vcsuite/logger';
|
|
3
|
+
import { check } from '@vcsuite/check';
|
|
4
|
+
import CesiumMap from '../../map/cesiumMap.js';
|
|
5
|
+
import { getSplineAndTimesForInstance } from './flightHelpers.js';
|
|
6
|
+
import FlightInstance from './flightInstance.js';
|
|
7
|
+
import VcsEvent from '../../vcsEvent.js';
|
|
8
|
+
import VcsApp from '../../vcsApp.js';
|
|
9
|
+
function getDefaultFlightPlayerClock() {
|
|
10
|
+
return {
|
|
11
|
+
startTime: 0,
|
|
12
|
+
endTime: 0,
|
|
13
|
+
currentTime: 0,
|
|
14
|
+
times: [],
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export async function createFlightPlayer(instance, app) {
|
|
18
|
+
check(instance, FlightInstance);
|
|
19
|
+
check(app, VcsApp);
|
|
20
|
+
let cesiumMap = app.maps.activeMap instanceof CesiumMap
|
|
21
|
+
? app.maps.activeMap
|
|
22
|
+
: app.maps.getByType(CesiumMap.className)[0];
|
|
23
|
+
if (!cesiumMap) {
|
|
24
|
+
throw new Error('Cannot start a flight player without a cesium map');
|
|
25
|
+
}
|
|
26
|
+
await instance.initialize();
|
|
27
|
+
const clock = getDefaultFlightPlayerClock();
|
|
28
|
+
let playerState = 'stopped';
|
|
29
|
+
const stateChanged = new VcsEvent();
|
|
30
|
+
const setState = (state) => {
|
|
31
|
+
playerState = state;
|
|
32
|
+
stateChanged.raiseEvent(playerState);
|
|
33
|
+
};
|
|
34
|
+
let destinationSpline;
|
|
35
|
+
let quaternionSpline;
|
|
36
|
+
let postRenderListener;
|
|
37
|
+
let backedBeforeTimeout;
|
|
38
|
+
let screenSpaceCameraController;
|
|
39
|
+
const stop = () => {
|
|
40
|
+
if (playerState !== 'stopped') {
|
|
41
|
+
if (postRenderListener) {
|
|
42
|
+
postRenderListener();
|
|
43
|
+
postRenderListener = undefined;
|
|
44
|
+
}
|
|
45
|
+
if (screenSpaceCameraController) {
|
|
46
|
+
screenSpaceCameraController.enableInputs = true;
|
|
47
|
+
}
|
|
48
|
+
setState('stopped');
|
|
49
|
+
clock.currentTime = 0;
|
|
50
|
+
clock.currentSystemTime = undefined;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const updateSplines = () => {
|
|
54
|
+
if (!instance.isValid()) {
|
|
55
|
+
stop();
|
|
56
|
+
Object.assign(clock, getDefaultFlightPlayerClock());
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
const splines = getSplineAndTimesForInstance(instance);
|
|
60
|
+
({ destinationSpline, quaternionSpline } = splines);
|
|
61
|
+
const { times } = splines;
|
|
62
|
+
clock.endTime = times[times.length - 1];
|
|
63
|
+
clock.times = times;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
updateSplines();
|
|
67
|
+
const listeners = [
|
|
68
|
+
instance.anchorsChanged.addEventListener(updateSplines),
|
|
69
|
+
instance.propertyChanged.addEventListener((property) => {
|
|
70
|
+
if (property === 'interpolation' || property === 'loop') {
|
|
71
|
+
updateSplines();
|
|
72
|
+
}
|
|
73
|
+
}),
|
|
74
|
+
app.maps.mapActivated.addEventListener(() => {
|
|
75
|
+
stop();
|
|
76
|
+
if (app.maps.activeMap instanceof CesiumMap) {
|
|
77
|
+
cesiumMap = app.maps.activeMap;
|
|
78
|
+
}
|
|
79
|
+
}),
|
|
80
|
+
];
|
|
81
|
+
const cesiumPostRender = (scene) => {
|
|
82
|
+
const time = Date.now() / 1000;
|
|
83
|
+
if (!clock.currentSystemTime) {
|
|
84
|
+
clock.currentSystemTime = time;
|
|
85
|
+
}
|
|
86
|
+
const seconds = time - clock.currentSystemTime;
|
|
87
|
+
clock.currentSystemTime = time;
|
|
88
|
+
if (playerState === 'paused') {
|
|
89
|
+
if (screenSpaceCameraController) {
|
|
90
|
+
screenSpaceCameraController.enableInputs = true;
|
|
91
|
+
}
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
clock.currentTime += seconds * instance.multiplier;
|
|
95
|
+
if (clock.currentTime > clock.endTime) {
|
|
96
|
+
if (instance.loop && clock.endTime > 0) {
|
|
97
|
+
while (clock.currentTime > clock.endTime) {
|
|
98
|
+
clock.currentTime -= clock.endTime;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
stop();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else if (clock.currentTime < clock.startTime) {
|
|
106
|
+
if (instance.loop) {
|
|
107
|
+
clock.currentTime = clock.endTime + clock.currentTime;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
clock.currentTime = clock.startTime;
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const view = {
|
|
115
|
+
destination: destinationSpline.evaluate(clock.currentTime),
|
|
116
|
+
orientation: HeadingPitchRoll.fromQuaternion(quaternionSpline.evaluate(clock.currentTime)),
|
|
117
|
+
};
|
|
118
|
+
scene.camera.setView(view);
|
|
119
|
+
if (playerState === 'playing') {
|
|
120
|
+
if (screenSpaceCameraController) {
|
|
121
|
+
screenSpaceCameraController.enableInputs = false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
const play = () => {
|
|
126
|
+
if (playerState === 'playing') {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (!(app.maps.activeMap instanceof CesiumMap)) {
|
|
130
|
+
getLogger('FlightPlayer').warning('cannot play without a cesium map active');
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
if (playerState === 'paused') {
|
|
134
|
+
setState('playing');
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (postRenderListener) {
|
|
138
|
+
postRenderListener();
|
|
139
|
+
postRenderListener = undefined;
|
|
140
|
+
}
|
|
141
|
+
const scene = cesiumMap.getScene();
|
|
142
|
+
if (!scene) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
({ screenSpaceCameraController } = scene);
|
|
146
|
+
postRenderListener = scene.postRender.addEventListener(cesiumPostRender);
|
|
147
|
+
clock.currentSystemTime = undefined;
|
|
148
|
+
setState('playing');
|
|
149
|
+
};
|
|
150
|
+
const goToTime = (time) => {
|
|
151
|
+
if (time > clock.endTime) {
|
|
152
|
+
getLogger('FlightPlayer').warning(`time: ${time} out of range`);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
clock.currentTime = time;
|
|
156
|
+
clock.currentSystemTime = undefined;
|
|
157
|
+
if (playerState !== 'playing') {
|
|
158
|
+
const view = {
|
|
159
|
+
destination: destinationSpline.evaluate(clock.currentTime),
|
|
160
|
+
orientation: HeadingPitchRoll.fromQuaternion(quaternionSpline.evaluate(clock.currentTime)),
|
|
161
|
+
};
|
|
162
|
+
cesiumMap.getScene()?.camera.setView(view);
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
const destroyed = new VcsEvent();
|
|
166
|
+
const destroy = () => {
|
|
167
|
+
if (postRenderListener) {
|
|
168
|
+
postRenderListener();
|
|
169
|
+
postRenderListener = undefined;
|
|
170
|
+
}
|
|
171
|
+
if (screenSpaceCameraController) {
|
|
172
|
+
screenSpaceCameraController.enableInputs = true;
|
|
173
|
+
screenSpaceCameraController = undefined;
|
|
174
|
+
}
|
|
175
|
+
if (backedBeforeTimeout != null) {
|
|
176
|
+
clearTimeout(backedBeforeTimeout);
|
|
177
|
+
}
|
|
178
|
+
listeners.forEach((cb) => {
|
|
179
|
+
cb();
|
|
180
|
+
});
|
|
181
|
+
stateChanged.destroy();
|
|
182
|
+
destroyed.raiseEvent();
|
|
183
|
+
destroyed.destroy();
|
|
184
|
+
};
|
|
185
|
+
listeners.push(app.flights.removed.addEventListener((flight) => {
|
|
186
|
+
if (flight === instance) {
|
|
187
|
+
destroy();
|
|
188
|
+
}
|
|
189
|
+
}), app.flights.added.addEventListener((flight) => {
|
|
190
|
+
if (flight.name === instance.name) {
|
|
191
|
+
destroy();
|
|
192
|
+
}
|
|
193
|
+
}));
|
|
194
|
+
return {
|
|
195
|
+
clock,
|
|
196
|
+
get flightInstanceName() {
|
|
197
|
+
return instance.name;
|
|
198
|
+
},
|
|
199
|
+
get state() {
|
|
200
|
+
return playerState;
|
|
201
|
+
},
|
|
202
|
+
get stateChanged() {
|
|
203
|
+
return stateChanged;
|
|
204
|
+
},
|
|
205
|
+
get destroyed() {
|
|
206
|
+
return destroyed;
|
|
207
|
+
},
|
|
208
|
+
play,
|
|
209
|
+
stop,
|
|
210
|
+
pause() {
|
|
211
|
+
if (playerState === 'playing') {
|
|
212
|
+
setState('paused');
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
goToTime,
|
|
216
|
+
/**
|
|
217
|
+
* forwards the currentTime to the next anchor
|
|
218
|
+
*/
|
|
219
|
+
forward() {
|
|
220
|
+
const seconds = clock.currentTime;
|
|
221
|
+
const newTime = clock.times.find((t) => t > seconds) ||
|
|
222
|
+
clock.times[clock.times.length - 1];
|
|
223
|
+
goToTime(newTime);
|
|
224
|
+
},
|
|
225
|
+
/**
|
|
226
|
+
* resets the currentTime to the previous anchor
|
|
227
|
+
*/
|
|
228
|
+
backward() {
|
|
229
|
+
const seconds = clock.currentTime;
|
|
230
|
+
let index = clock.times.findIndex((t) => t >= seconds) - 1;
|
|
231
|
+
if (backedBeforeTimeout != null) {
|
|
232
|
+
index -= 1;
|
|
233
|
+
clearTimeout(backedBeforeTimeout);
|
|
234
|
+
}
|
|
235
|
+
if (index < 0) {
|
|
236
|
+
index = 0;
|
|
237
|
+
}
|
|
238
|
+
const newTime = clock.times[index];
|
|
239
|
+
goToTime(newTime);
|
|
240
|
+
backedBeforeTimeout = window.setTimeout(() => {
|
|
241
|
+
backedBeforeTimeout = undefined;
|
|
242
|
+
}, 700);
|
|
243
|
+
},
|
|
244
|
+
destroy,
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=flightPlayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flightPlayer.js","sourceRoot":"","sources":["../../../../src/util/flight/flightPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import FlightInstance from './flightInstance.js';
|
|
2
|
+
import type VcsApp from '../../vcsApp.js';
|
|
3
|
+
import LayerState from '../../layer/layerState.js';
|
|
4
|
+
import VcsEvent from '../../vcsEvent.js';
|
|
5
|
+
export type FlightVisualization = {
|
|
6
|
+
readonly state: LayerState;
|
|
7
|
+
readonly stateChanged: VcsEvent<LayerState>;
|
|
8
|
+
readonly destroyed: VcsEvent<void>;
|
|
9
|
+
deactivate(): void;
|
|
10
|
+
activate(): Promise<void>;
|
|
11
|
+
destroy(): void;
|
|
12
|
+
zoomToExtent(): Promise<void>;
|
|
13
|
+
};
|
|
14
|
+
declare const flightVisualizationSymbol: unique symbol;
|
|
15
|
+
export declare function createFlightVisualization(instance: FlightInstance & {
|
|
16
|
+
[flightVisualizationSymbol]?: FlightVisualization;
|
|
17
|
+
}, app: VcsApp): Promise<FlightVisualization>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { PrimitiveCollection, Camera, Cartesian3, HeadingPitchRoll, } from '@vcmap-cesium/engine';
|
|
2
|
+
import { createEmpty, isEmpty } from 'ol/extent.js';
|
|
3
|
+
import Feature from 'ol/Feature.js';
|
|
4
|
+
import { Point, LineString } from 'ol/geom.js';
|
|
5
|
+
import { check } from '@vcsuite/check';
|
|
6
|
+
import { mercatorToWgs84Transformer, wgs84Projection } from '../projection.js';
|
|
7
|
+
import VectorLayer from '../../layer/vectorLayer.js';
|
|
8
|
+
import Viewpoint from '../viewpoint.js';
|
|
9
|
+
import CesiumMap from '../../map/cesiumMap.js';
|
|
10
|
+
import VcsCameraPrimitive from '../../cesium/cesiumVcsCameraPrimitive.js';
|
|
11
|
+
import FlightInstance from './flightInstance.js';
|
|
12
|
+
import { getFlightPathCoordinatesFromInstance } from './flightHelpers.js';
|
|
13
|
+
import VcsEvent from '../../vcsEvent.js';
|
|
14
|
+
import DeclarativeStyleItem from '../../style/declarativeStyleItem.js';
|
|
15
|
+
import { markVolatile } from '../../vcsModule.js';
|
|
16
|
+
const flightVisualizationSymbol = Symbol('flightVisualization');
|
|
17
|
+
export async function createFlightVisualization(instance, app) {
|
|
18
|
+
check(instance, FlightInstance);
|
|
19
|
+
if (instance[flightVisualizationSymbol]) {
|
|
20
|
+
return instance[flightVisualizationSymbol];
|
|
21
|
+
}
|
|
22
|
+
await instance.initialize();
|
|
23
|
+
let extent = createEmpty();
|
|
24
|
+
const primitives = new PrimitiveCollection();
|
|
25
|
+
primitives.show = false;
|
|
26
|
+
const layer = new VectorLayer({
|
|
27
|
+
projection: wgs84Projection.toJSON(),
|
|
28
|
+
name: `flightLayer-${instance.name}`,
|
|
29
|
+
style: {
|
|
30
|
+
type: DeclarativeStyleItem.className,
|
|
31
|
+
declarativeStyle: {
|
|
32
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
33
|
+
labelText: '${title}',
|
|
34
|
+
image: 'false',
|
|
35
|
+
color: 'color("#333333")',
|
|
36
|
+
strokeWidth: '2',
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
vectorProperties: {
|
|
40
|
+
altitudeMode: 'absolute',
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
markVolatile(layer);
|
|
44
|
+
let scene;
|
|
45
|
+
const [cesiumMap] = app.maps.getByType(CesiumMap.className);
|
|
46
|
+
if (cesiumMap) {
|
|
47
|
+
scene = cesiumMap.getScene();
|
|
48
|
+
if (scene && !scene.primitives.contains(primitives)) {
|
|
49
|
+
scene.primitives.add(primitives);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
app.layers.add(layer);
|
|
53
|
+
const setFeatures = () => {
|
|
54
|
+
layer.removeAllFeatures();
|
|
55
|
+
primitives.removeAll();
|
|
56
|
+
const features = [];
|
|
57
|
+
for (const anchor of instance.anchors) {
|
|
58
|
+
if (scene) {
|
|
59
|
+
const camera = new Camera(scene);
|
|
60
|
+
camera.frustum.far = 200;
|
|
61
|
+
camera.frustum.near = 10;
|
|
62
|
+
camera.setView({
|
|
63
|
+
destination: Cartesian3.fromDegrees(anchor.coordinate[0], anchor.coordinate[1], anchor.coordinate[2]),
|
|
64
|
+
orientation: HeadingPitchRoll.fromDegrees(anchor.heading, anchor.pitch, anchor.roll),
|
|
65
|
+
});
|
|
66
|
+
primitives.add(new VcsCameraPrimitive({ camera, allowPicking: false }));
|
|
67
|
+
}
|
|
68
|
+
features.push(new Feature({
|
|
69
|
+
geometry: new Point(anchor.coordinate, 'XYZ'),
|
|
70
|
+
title: anchor.title ?? anchor.name,
|
|
71
|
+
duration: anchor.duration,
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
if (instance.isValid()) {
|
|
75
|
+
const pathCoordinates = getFlightPathCoordinatesFromInstance(instance);
|
|
76
|
+
const flightPath = new Feature({
|
|
77
|
+
geometry: new LineString(pathCoordinates, 'XYZ'),
|
|
78
|
+
});
|
|
79
|
+
flightPath.setId('flightPathGeom');
|
|
80
|
+
features.push(flightPath);
|
|
81
|
+
}
|
|
82
|
+
layer.addFeatures(features);
|
|
83
|
+
const mercatorExtent = layer.getSource().getExtent();
|
|
84
|
+
extent = mercatorToWgs84Transformer(mercatorExtent, mercatorExtent, 2);
|
|
85
|
+
};
|
|
86
|
+
setFeatures();
|
|
87
|
+
const changeListeners = [
|
|
88
|
+
instance.anchorsChanged.addEventListener(setFeatures),
|
|
89
|
+
instance.propertyChanged.addEventListener((property) => {
|
|
90
|
+
if (property === 'loop' || property === 'interpolation') {
|
|
91
|
+
setFeatures();
|
|
92
|
+
}
|
|
93
|
+
}),
|
|
94
|
+
];
|
|
95
|
+
const destroyed = new VcsEvent();
|
|
96
|
+
const destroy = () => {
|
|
97
|
+
layer.deactivate();
|
|
98
|
+
app.layers.remove(layer);
|
|
99
|
+
layer.destroy();
|
|
100
|
+
if (scene && scene.primitives.contains(primitives)) {
|
|
101
|
+
scene.primitives.remove(primitives);
|
|
102
|
+
}
|
|
103
|
+
changeListeners.forEach((cb) => {
|
|
104
|
+
cb();
|
|
105
|
+
});
|
|
106
|
+
destroyed.raiseEvent();
|
|
107
|
+
destroyed.destroy();
|
|
108
|
+
delete instance[flightVisualizationSymbol];
|
|
109
|
+
};
|
|
110
|
+
changeListeners.push(app.flights.removed.addEventListener((flight) => {
|
|
111
|
+
if (flight === instance) {
|
|
112
|
+
destroy();
|
|
113
|
+
}
|
|
114
|
+
}), app.flights.added.addEventListener((flight) => {
|
|
115
|
+
if (flight.name === instance.name) {
|
|
116
|
+
destroy();
|
|
117
|
+
}
|
|
118
|
+
}));
|
|
119
|
+
const visualization = {
|
|
120
|
+
get state() {
|
|
121
|
+
return layer.state;
|
|
122
|
+
},
|
|
123
|
+
get stateChanged() {
|
|
124
|
+
return layer.stateChanged;
|
|
125
|
+
},
|
|
126
|
+
get destroyed() {
|
|
127
|
+
return destroyed;
|
|
128
|
+
},
|
|
129
|
+
async activate() {
|
|
130
|
+
await layer.activate();
|
|
131
|
+
primitives.show = true;
|
|
132
|
+
},
|
|
133
|
+
deactivate() {
|
|
134
|
+
layer.deactivate();
|
|
135
|
+
primitives.show = false;
|
|
136
|
+
},
|
|
137
|
+
destroy,
|
|
138
|
+
async zoomToExtent() {
|
|
139
|
+
if (!instance.isValid() || isEmpty(extent)) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const viewpoint = Viewpoint.createViewpointFromExtent(extent);
|
|
143
|
+
if (viewpoint) {
|
|
144
|
+
await app.maps.activeMap?.gotoViewpoint(viewpoint);
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
instance[flightVisualizationSymbol] = visualization;
|
|
149
|
+
return visualization;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=flightVisualizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flightVisualizer.js","sourceRoot":"","sources":["../../../../src/util/flight/flightVisualizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type GlobalHider from '../layer/globalHider.js';
|
|
2
|
+
import { OverrideCollection } from './overrideCollection.js';
|
|
3
|
+
import { moduleIdSymbol } from '../moduleIdSymbol.js';
|
|
4
|
+
export type HiddenObject = {
|
|
5
|
+
id: string;
|
|
6
|
+
[moduleIdSymbol]?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function createHiddenObjectsCollection(getDynamicModuleId: () => string, globalHider: GlobalHider): OverrideCollection<HiddenObject>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import makeOverrideCollection from './overrideCollection.js';
|
|
2
|
+
import Collection from './collection.js';
|
|
3
|
+
import { moduleIdSymbol } from '../moduleIdSymbol.js';
|
|
4
|
+
export function createHiddenObjectsCollection(getDynamicModuleId, globalHider) {
|
|
5
|
+
const collection = makeOverrideCollection(new Collection('id'), getDynamicModuleId);
|
|
6
|
+
collection.added.addEventListener(({ id }) => {
|
|
7
|
+
globalHider.hideObjects([id]);
|
|
8
|
+
});
|
|
9
|
+
collection.replaced.addEventListener(({ new: item }) => {
|
|
10
|
+
globalHider.showObjects([item.id]);
|
|
11
|
+
});
|
|
12
|
+
collection.removed.addEventListener(({ id }) => {
|
|
13
|
+
globalHider.showObjects([id]);
|
|
14
|
+
});
|
|
15
|
+
return collection;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=hiddenObjects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hiddenObjects.js","sourceRoot":"","sources":["../../../src/util/hiddenObjects.ts"],"names":[],"mappings":"AACA,OAAO,sBAEN,MAAM,yBAAyB,CAAC;AACjC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOtD,MAAM,UAAU,6BAA6B,CAC3C,kBAAgC,EAChC,WAAwB;IAExB,MAAM,UAAU,GAAG,sBAAsB,CAGvC,IAAI,UAAU,CAAe,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAE1D,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC3C,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;QACrD,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC7C,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { check,
|
|
1
|
+
import { check, maybe, oneOf } from '@vcsuite/check';
|
|
2
2
|
import { getLogger } from '@vcsuite/logger';
|
|
3
3
|
import VcsEvent from '../vcsEvent.js';
|
|
4
4
|
import Collection from './collection.js';
|
|
@@ -185,7 +185,7 @@ class MapCollection extends Collection {
|
|
|
185
185
|
* Set the target for these maps.
|
|
186
186
|
*/
|
|
187
187
|
setTarget(target) {
|
|
188
|
-
|
|
188
|
+
check(target, maybe(oneOf(String, HTMLElement)));
|
|
189
189
|
this._target =
|
|
190
190
|
typeof target === 'string' ? document.getElementById(target) : target;
|
|
191
191
|
this._array.forEach((map) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapCollection.js","sourceRoot":"","sources":["../../../src/util/mapCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"mapCollection.js","sourceRoot":"","sources":["../../../src/util/mapCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,YAAY,MAAM,gCAAgC,CAAC;AAC1D,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,qBAAqB,MAAM,qCAAqC,CAAC;AAaxE,KAAK,UAAU,sBAAsB,CACnC,SAAoB,EACpB,KAAoB;IAEpB,MAAM,SAAS,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;IAC/C,IAAI,CAAC,SAAS,EAAE;QACd,OAAO;KACR;IACD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;IACtC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;IACxB,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;IACxB,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QAC/C,IAAI,KAAK,CAAC,qBAAqB,EAAE;YAC/B,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;SACvB;QAED,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACtB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;QAEvB,IAAI,SAAS,CAAC,cAAc,EAAE;YAC5B,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC;SACjC;QAED,MAAM,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;KAC1C;AACH,CAAC;AAED,uFAAuF;AACvF,6DAA6D;AAC7D,aAAa;AACb,MAAM,aAAc,SAAQ,UAAkB;IAC5C;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,QAA0B;QACpC,MAAM,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;QAEvC,IAAI,QAAQ,EAAE;YACZ,gDAAgD;YAChD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;gBAC1B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACrB;SACF;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,UAAU,GAAkB,IAAI,CAAC;IAEjC,OAAO,GAAuB,IAAI,CAAC;IAE3C;;OAEG;IACK,gBAAgB,GAAqB,IAAI,CAAC;IAElD;;OAEG;IACH,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAElC;;;OAGG;IACK,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;IAEjD;;OAEG;IACH,eAAe,GAA+C,IAAI,QAAQ,EAAE,CAAC;IAE7E;;;OAGG;IACH,oBAAoB,GAAqB,IAAI,QAAQ,EAAE,CAAC;IAExD;;OAEG;IACH,YAAY,GAAqB,IAAI,QAAQ,EAAE,CAAC;IAEhD;;OAEG;IACH,qBAAqB,CAAwB;IAErC,oBAAoB,GAAmB,EAAE,CAAC;IAE1C,cAAc,GAAG,GAAG,CAAC;IAE7B;;OAEG;IACH,oBAAoB,GAAqB,IAAI,QAAQ,EAAE,CAAC;IAEhD,WAAW,GAAG,IAAI,QAAQ,EAAwC,CAAC;IAE3E,kDAAkD;IAC1C,mBAAmB,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAEnD;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CACpD,IAAI,CAAC,gBAAgB,CACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,eAAe,CAAC,eAAgC;QAClD,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAExC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,aAAa,CAAC,QAAgB;QAChC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxB,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,MAAM,EAAE;YACrD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1B,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SAChD;IACH,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC5B,GAAG,CAAC,uBAAuB,CAAC,gBAAgB,CAC1C,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CACzD,CACF,CAAC;YACF,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC5C,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC7B;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,OAAO,CAAC,GAAW;QAC3B,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;YAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,mBAAmB,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aAC7C;YACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACjB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpB,GAAG,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;SAC7C;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC1C;IACH,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAA4B;QACpC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,OAAO;YACV,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,eAAe,CAAC,GAAW;QACjC,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;QAC5B,IAAI,WAAW,EAAE;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE;gBACxB,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,SAAS,EAAE,CAAC,OAAO,CACjB,mCAAmC,WAAW,oBAAoB,CACnE,CAAC;aACH;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,wBAAwB,CAAC,GAAW;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE;YACR,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,CAChC,gCAAgC,OAAO,EAAE,CAC1C,CAAC;YACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAED,IACE,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,UAAU,CAAC,SAAS,KAAK,WAAW;YACzC,GAAG,CAAC,SAAS,KAAK,eAAe,EACjC;YACA,MAAM,sBAAsB,CAC1B,IAAI,CAAC,UAAuB,EAC5B,GAAoB,CACrB,CAAC;SACH;QAED,IAAI;YACF,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;SACxB;QAAC,OAAO,KAAK,EAAE;YACd,6CAA6C;YAC7C,SAAS,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;gBAC9B,GAAG;gBACH,KAAK,EAAE,KAAc;aACtB,CAAC,CAAC;YACH,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC5C;YACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QAED,IAAI,SAAS,CAAC;QACd,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC5C,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC3B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;aACvB;YAED,SAAS,GAAG,IAAI,CAAC,UAAU;gBACzB,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;gBACtC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAE1B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,SAAsB,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,WAAW,EAAE;oBACf,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBAC5C;aACF;YACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;oBAC/C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBAC7C;aACF;SACF;QAED,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,SAAS,EAAE;YACb,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SAChD;QAED,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CACpE,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CACF,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACvC,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAE/B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACvC,EAAE,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAE/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -19,14 +19,19 @@ export type OverrideCollectionItem = {
|
|
|
19
19
|
/**
|
|
20
20
|
* The override collection adds the ability to override a unique item and re-creating it, should the override
|
|
21
21
|
* be removed. This does change some flow of called events. 1) if you override an item, removed is not called for the
|
|
22
|
-
* removed current item. 2) added can be called more the once for the same unique id.
|
|
23
|
-
*
|
|
22
|
+
* removed current item. 2) replaced is called for items which where replaced. 3) added can be called more the once for the same unique id.
|
|
23
|
+
* Replaced is called before added has been called for the item.
|
|
24
24
|
*/
|
|
25
25
|
export type OverrideCollectionInterface<T> = {
|
|
26
26
|
/**
|
|
27
|
-
* replaced is called
|
|
27
|
+
* replaced is called before added
|
|
28
28
|
*/
|
|
29
29
|
replaced: VcsEvent<ReplacedEvent<T>>;
|
|
30
|
+
/**
|
|
31
|
+
* Replacement is only supported for items of the dynamic module. For other items you may use override instead.
|
|
32
|
+
* Returns the replaced item or null if the item could not be inserted
|
|
33
|
+
*/
|
|
34
|
+
replace: (item: T) => T | null;
|
|
30
35
|
shadowMap: Map<string, (object & {
|
|
31
36
|
[moduleIdSymbol]?: string;
|
|
32
37
|
})[]>;
|
|
@@ -31,6 +31,23 @@ function makeOverrideCollection(collection, getDynamicModuleId, serializeItem, d
|
|
|
31
31
|
const getShadowIndex = determineShadowIndex ||
|
|
32
32
|
((_item, _shadow, currentIndex) => currentIndex);
|
|
33
33
|
overrideCollection.shadowMap = new Map();
|
|
34
|
+
overrideCollection.replace = function replace(item) {
|
|
35
|
+
const itemId = item[overrideCollection.uniqueKey];
|
|
36
|
+
const old = overrideCollection.getByKey(itemId);
|
|
37
|
+
if (old?.[moduleIdSymbol] === getDynamicModuleId()) {
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
41
|
+
const index = overrideCollection._remove(old);
|
|
42
|
+
overrideCollection.replaced.raiseEvent({ old, new: item });
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
if (overrideCollection.add(item, index) >= 0) {
|
|
46
|
+
return item;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
};
|
|
34
51
|
overrideCollection.override = function override(item) {
|
|
35
52
|
let shadow;
|
|
36
53
|
let index;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overrideCollection.js","sourceRoot":"","sources":["../../../src/util/overrideCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,SAAS,IAAI,eAAe,EAAe,MAAM,iBAAiB,CAAC;AAC5E,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,SAAS,SAAS;IAChB,OAAO,eAAe,CAAC,oBAAoB,CAAC,CAAC;AAC/C,CAAC;AAOD;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAkB,MAAM,CAAC,oBAAoB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"overrideCollection.js","sourceRoot":"","sources":["../../../src/util/overrideCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getTransform, get as getProjection, equivalent, } from 'ol/proj.js';
|
|
2
2
|
import { register } from 'ol/proj/proj4.js';
|
|
3
3
|
import proj4 from 'proj4';
|
|
4
|
-
import { check } from '@vcsuite/check';
|
|
4
|
+
import { check, maybe, oneOf } from '@vcsuite/check';
|
|
5
5
|
export const wgs84ToMercatorTransformer = getTransform('EPSG:4326', 'EPSG:3857');
|
|
6
6
|
export const mercatorToWgs84Transformer = getTransform('EPSG:3857', 'EPSG:4326');
|
|
7
7
|
let defaultProjectionOption = {
|
|
@@ -65,7 +65,10 @@ function registerProjection(options) {
|
|
|
65
65
|
* projection created prior to this functions call.
|
|
66
66
|
*/
|
|
67
67
|
export function setDefaultProjectionOptions(options) {
|
|
68
|
-
check(options, {
|
|
68
|
+
check(options, {
|
|
69
|
+
epsg: oneOf(String, Number),
|
|
70
|
+
proj4: maybe(String),
|
|
71
|
+
});
|
|
69
72
|
if (!validateProjectionOptions(options)) {
|
|
70
73
|
throw new Error('Cannot set invalid projection options as default options');
|
|
71
74
|
}
|