@vcmap/core 6.1.11 → 6.2.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/README.md +8 -6
- package/build/buildShader.js +61 -0
- package/build/postinstall.js +6 -3
- package/dist/cesium.d.ts +52 -18
- package/dist/geojson.d.ts +3 -2
- package/dist/index.d.ts +239 -109
- package/dist/index.js +78 -63
- package/dist/index.js.map +1 -1
- package/dist/ol.d.ts +27 -29
- package/dist/src/category/category.d.ts +3 -2
- package/dist/src/category/category.js +2 -2
- package/dist/src/category/category.js.map +1 -1
- package/dist/src/category/categoryCollection.d.ts +3 -2
- package/dist/src/category/categoryCollection.js.map +1 -1
- package/dist/src/cesium/cesium3DTileFeature.d.ts +2 -1
- package/dist/src/cesium/cesium3DTileFeature.js +2 -3
- package/dist/src/cesium/cesium3DTileFeature.js.map +1 -1
- package/dist/src/cesium/cesiumVcsCameraPrimitive.js +6 -5
- package/dist/src/cesium/cesiumVcsCameraPrimitive.js.map +1 -1
- package/dist/src/cesium/entity.js +1 -1
- package/dist/src/cesium/entity.js.map +1 -1
- package/dist/src/classRegistry.d.ts +4 -4
- package/dist/src/classRegistry.js +2 -0
- package/dist/src/classRegistry.js.map +1 -1
- package/dist/src/featureProvider/abstractFeatureProvider.d.ts +2 -1
- package/dist/src/featureProvider/abstractFeatureProvider.js +8 -2
- package/dist/src/featureProvider/abstractFeatureProvider.js.map +1 -1
- package/dist/src/featureProvider/wmsFeatureProvider.d.ts +38 -10
- package/dist/src/featureProvider/wmsFeatureProvider.js +69 -15
- package/dist/src/featureProvider/wmsFeatureProvider.js.map +1 -1
- package/dist/src/interaction/abstractInteraction.d.ts +5 -4
- package/dist/src/interaction/abstractInteraction.js +1 -1
- package/dist/src/interaction/abstractInteraction.js.map +1 -1
- package/dist/src/interaction/coordinateAtPixel.js +23 -0
- package/dist/src/interaction/coordinateAtPixel.js.map +1 -1
- package/dist/src/interaction/eventHandler.d.ts +4 -3
- package/dist/src/interaction/eventHandler.js +1 -1
- package/dist/src/interaction/eventHandler.js.map +1 -1
- package/dist/src/interaction/featureAtPixelInteraction.d.ts +5 -0
- package/dist/src/interaction/featureAtPixelInteraction.js +7 -4
- package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -1
- package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
- package/dist/src/interaction/interactionType.js +1 -0
- package/dist/src/interaction/interactionType.js.map +1 -1
- package/dist/src/interaction/panoramaFeatureHighlight.d.ts +29 -0
- package/dist/src/interaction/panoramaFeatureHighlight.js +88 -0
- package/dist/src/interaction/panoramaFeatureHighlight.js.map +1 -0
- package/dist/src/interaction/panoramaImageSelection.d.ts +8 -0
- package/dist/src/interaction/panoramaImageSelection.js +29 -0
- package/dist/src/interaction/panoramaImageSelection.js.map +1 -0
- package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.d.ts +6 -5
- package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js +2 -2
- package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/dataSourceCesiumImpl.d.ts +3 -2
- package/dist/src/layer/cesium/dataSourceCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/resourceHelper.js +0 -1
- package/dist/src/layer/cesium/resourceHelper.js.map +1 -1
- package/dist/src/layer/cesium/sourceVectorContextSync.d.ts +2 -2
- package/dist/src/layer/cesium/sourceVectorContextSync.js +1 -1
- package/dist/src/layer/cesium/sourceVectorContextSync.js.map +1 -1
- package/dist/src/layer/cesium/terrainCesiumImpl.d.ts +1 -1
- package/dist/src/layer/cesium/vcsTile/vcsChildTile.d.ts +3 -2
- package/dist/src/layer/cesium/vcsTile/vcsChildTile.js +1 -1
- package/dist/src/layer/cesium/vcsTile/vcsChildTile.js.map +1 -1
- package/dist/src/layer/cesium/vcsTile/vcsDebugTile.d.ts +3 -2
- package/dist/src/layer/cesium/vcsTile/vcsDebugTile.js +1 -1
- package/dist/src/layer/cesium/vcsTile/vcsDebugTile.js.map +1 -1
- package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.d.ts +3 -2
- package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.js +1 -1
- package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.js.map +1 -1
- package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.d.ts +6 -5
- package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.js +4 -4
- package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.js.map +1 -1
- package/dist/src/layer/cesium/vcsTile/vcsTileHelpers.d.ts +6 -5
- package/dist/src/layer/cesium/vcsTile/vcsTileHelpers.js.map +1 -1
- package/dist/src/layer/cesium/vcsTile/vcsVectorTile.d.ts +3 -2
- package/dist/src/layer/cesium/vcsTile/vcsVectorTile.js +1 -1
- package/dist/src/layer/cesium/vcsTile/vcsVectorTile.js.map +1 -1
- package/dist/src/layer/cesium/vectorCesiumImpl.js +1 -1
- package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/vectorContext.d.ts +9 -8
- package/dist/src/layer/cesium/vectorContext.js +6 -5
- package/dist/src/layer/cesium/vectorContext.js.map +1 -1
- package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.d.ts +1 -1
- package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js +1 -1
- package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/vectorTileCesiumImpl.d.ts +3 -3
- package/dist/src/layer/cesium/vectorTileCesiumImpl.js +2 -1
- package/dist/src/layer/cesium/vectorTileCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/vectorTileImageryProvider.d.ts +1 -1
- package/dist/src/layer/cesium/vectorTileImageryProvider.js +3 -2
- package/dist/src/layer/cesium/vectorTileImageryProvider.js.map +1 -1
- package/dist/src/layer/cesium/wmsCesiumImpl.js +3 -2
- package/dist/src/layer/cesium/wmsCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesiumTilesetLayer.d.ts +6 -4
- package/dist/src/layer/cesiumTilesetLayer.js.map +1 -1
- package/dist/src/layer/czmlLayer.js.map +1 -1
- package/dist/src/layer/dataSourceLayer.d.ts +4 -2
- package/dist/src/layer/dataSourceLayer.js +1 -1
- package/dist/src/layer/dataSourceLayer.js.map +1 -1
- package/dist/src/layer/featureLayer.d.ts +4 -2
- package/dist/src/layer/featureLayer.js.map +1 -1
- package/dist/src/layer/featureStoreFeatureVisibility.d.ts +2 -1
- package/dist/src/layer/featureStoreFeatureVisibility.js.map +1 -1
- package/dist/src/layer/featureStoreLayer.d.ts +8 -6
- package/dist/src/layer/featureStoreLayer.js +2 -2
- package/dist/src/layer/featureStoreLayer.js.map +1 -1
- package/dist/src/layer/featureStoreLayerChanges.d.ts +1 -1
- package/dist/src/layer/featureStoreLayerChanges.js.map +1 -1
- package/dist/src/layer/featureVisibility.d.ts +2 -1
- package/dist/src/layer/featureVisibility.js.map +1 -1
- package/dist/src/layer/flatGeobufHelpers.d.ts +18 -3
- package/dist/src/layer/flatGeobufHelpers.js +21 -1
- package/dist/src/layer/flatGeobufHelpers.js.map +1 -1
- package/dist/src/layer/flatGeobufLayer.d.ts +2 -1
- package/dist/src/layer/flatGeobufLayer.js.map +1 -1
- package/dist/src/layer/geojsonHelpers.d.ts +1 -1
- package/dist/src/layer/geojsonHelpers.js +8 -6
- package/dist/src/layer/geojsonHelpers.js.map +1 -1
- package/dist/src/layer/geojsonLayer.d.ts +2 -1
- package/dist/src/layer/geojsonLayer.js +3 -1
- package/dist/src/layer/geojsonLayer.js.map +1 -1
- package/dist/src/layer/globalHider.d.ts +1 -1
- package/dist/src/layer/globalHider.js.map +1 -1
- package/dist/src/layer/layer.d.ts +9 -7
- package/dist/src/layer/layer.js +1 -1
- package/dist/src/layer/layer.js.map +1 -1
- package/dist/src/layer/oblique/obliqueHelpers.js +2 -0
- package/dist/src/layer/oblique/obliqueHelpers.js.map +1 -1
- package/dist/src/layer/oblique/sourceObliqueSync.d.ts +1 -1
- package/dist/src/layer/oblique/sourceObliqueSync.js +7 -7
- package/dist/src/layer/oblique/sourceObliqueSync.js.map +1 -1
- package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +2 -2
- package/dist/src/layer/oblique/vectorObliqueImpl.js +3 -3
- package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -1
- package/dist/src/layer/openStreetMapLayer.d.ts +5 -4
- package/dist/src/layer/openStreetMapLayer.js +1 -1
- package/dist/src/layer/openStreetMapLayer.js.map +1 -1
- package/dist/src/layer/openlayers/layerOpenlayersImpl.d.ts +1 -1
- package/dist/src/layer/openlayers/layerOpenlayersImpl.js +0 -1
- package/dist/src/layer/openlayers/layerOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/loadFunctionHelpers.js +0 -1
- package/dist/src/layer/openlayers/loadFunctionHelpers.js.map +1 -1
- package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.d.ts +1 -1
- package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js +2 -2
- package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/vectorOpenlayersImpl.js +1 -1
- package/dist/src/layer/openlayers/vectorOpenlayersImpl.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 +1 -1
- package/dist/src/layer/panorama/panoramaDatasetPanoramaImpl.d.ts +13 -0
- package/dist/src/layer/panorama/panoramaDatasetPanoramaImpl.js +34 -0
- package/dist/src/layer/panorama/panoramaDatasetPanoramaImpl.js.map +1 -0
- package/dist/src/layer/panorama/vectorTilePanoramaImpl.d.ts +28 -0
- package/dist/src/layer/panorama/vectorTilePanoramaImpl.js +114 -0
- package/dist/src/layer/panorama/vectorTilePanoramaImpl.js.map +1 -0
- package/dist/src/layer/panoramaDatasetLayer.d.ts +54 -0
- package/dist/src/layer/panoramaDatasetLayer.js +201 -0
- package/dist/src/layer/panoramaDatasetLayer.js.map +1 -0
- package/dist/src/layer/pointCloudLayer.d.ts +8 -5
- package/dist/src/layer/pointCloudLayer.js +1 -1
- package/dist/src/layer/pointCloudLayer.js.map +1 -1
- package/dist/src/layer/rasterLayer.d.ts +6 -4
- package/dist/src/layer/rasterLayer.js.map +1 -1
- package/dist/src/layer/singleImageLayer.d.ts +3 -2
- package/dist/src/layer/singleImageLayer.js.map +1 -1
- package/dist/src/layer/terrainHelpers.d.ts +1 -1
- package/dist/src/layer/terrainHelpers.js.map +1 -1
- package/dist/src/layer/terrainLayer.d.ts +3 -2
- package/dist/src/layer/terrainLayer.js.map +1 -1
- package/dist/src/layer/tileLoadedHelper.d.ts +2 -2
- package/dist/src/layer/tileProvider/flatGeobufTileProvider.d.ts +7 -4
- package/dist/src/layer/tileProvider/flatGeobufTileProvider.js +10 -2
- package/dist/src/layer/tileProvider/flatGeobufTileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/mvtTileProvider.d.ts +3 -2
- package/dist/src/layer/tileProvider/mvtTileProvider.js +3 -3
- package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/staticFeatureTileProvider.d.ts +3 -2
- package/dist/src/layer/tileProvider/staticFeatureTileProvider.js +0 -1
- package/dist/src/layer/tileProvider/staticFeatureTileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/staticGeojsonTileProvider.d.ts +2 -1
- package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js +0 -1
- package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/tileProvider.d.ts +3 -2
- package/dist/src/layer/tileProvider/tileProvider.js +10 -3
- package/dist/src/layer/tileProvider/tileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/urlTemplateTileProvider.d.ts +2 -1
- package/dist/src/layer/tileProvider/urlTemplateTileProvider.js.map +1 -1
- package/dist/src/layer/tmsLayer.d.ts +3 -2
- package/dist/src/layer/tmsLayer.js +1 -1
- package/dist/src/layer/tmsLayer.js.map +1 -1
- package/dist/src/layer/vectorHelpers.d.ts +2 -2
- package/dist/src/layer/vectorHelpers.js +1 -1
- package/dist/src/layer/vectorHelpers.js.map +1 -1
- package/dist/src/layer/vectorLayer.d.ts +12 -8
- package/dist/src/layer/vectorLayer.js +1 -1
- package/dist/src/layer/vectorLayer.js.map +1 -1
- package/dist/src/layer/vectorProperties.d.ts +3 -3
- package/dist/src/layer/vectorProperties.js +4 -0
- package/dist/src/layer/vectorProperties.js.map +1 -1
- package/dist/src/layer/vectorSymbols.d.ts +8 -0
- package/dist/src/layer/vectorSymbols.js +8 -0
- package/dist/src/layer/vectorSymbols.js.map +1 -1
- package/dist/src/layer/vectorTileLayer.d.ts +17 -10
- package/dist/src/layer/vectorTileLayer.js +8 -1
- package/dist/src/layer/vectorTileLayer.js.map +1 -1
- package/dist/src/layer/wfsLayer.d.ts +2 -1
- package/dist/src/layer/wfsLayer.js +6 -4
- package/dist/src/layer/wfsLayer.js.map +1 -1
- package/dist/src/layer/wmsHelpers.js +2 -2
- package/dist/src/layer/wmsHelpers.js.map +1 -1
- package/dist/src/layer/wmsLayer.d.ts +4 -3
- package/dist/src/layer/wmsLayer.js.map +1 -1
- package/dist/src/layer/wmtsLayer.d.ts +3 -2
- package/dist/src/layer/wmtsLayer.js +1 -1
- package/dist/src/layer/wmtsLayer.js.map +1 -1
- package/dist/src/map/baseOLMap.d.ts +1 -1
- package/dist/src/map/baseOLMap.js +17 -8
- package/dist/src/map/baseOLMap.js.map +1 -1
- package/dist/src/map/cameraLimiter.d.ts +2 -1
- package/dist/src/map/cameraLimiter.js.map +1 -1
- package/dist/src/map/cesiumMap.d.ts +5 -7
- package/dist/src/map/cesiumMap.js +27 -186
- package/dist/src/map/cesiumMap.js.map +1 -1
- package/dist/src/map/cesiumMapHelpers.d.ts +7 -0
- package/dist/src/map/cesiumMapHelpers.js +144 -0
- package/dist/src/map/cesiumMapHelpers.js.map +1 -0
- package/dist/src/map/navigation/cameraHelper.d.ts +3 -2
- package/dist/src/map/navigation/cameraHelper.js.map +1 -1
- package/dist/src/map/navigation/cesiumNavigation.d.ts +4 -3
- package/dist/src/map/navigation/cesiumNavigation.js.map +1 -1
- package/dist/src/map/navigation/controller/controller.d.ts +1 -1
- package/dist/src/map/navigation/controller/controller.js +2 -2
- package/dist/src/map/navigation/controller/controller.js.map +1 -1
- package/dist/src/map/navigation/controller/keyboardController.d.ts +3 -2
- package/dist/src/map/navigation/controller/keyboardController.js +4 -2
- package/dist/src/map/navigation/controller/keyboardController.js.map +1 -1
- package/dist/src/map/navigation/easingHelper.d.ts +1 -1
- package/dist/src/map/navigation/easingHelper.js +1 -1
- package/dist/src/map/navigation/easingHelper.js.map +1 -1
- package/dist/src/map/navigation/navigation.d.ts +6 -6
- package/dist/src/map/navigation/navigation.js +6 -2
- package/dist/src/map/navigation/navigation.js.map +1 -1
- package/dist/src/map/navigation/navigationImpl.d.ts +2 -2
- package/dist/src/map/navigation/obliqueNavigation.d.ts +4 -3
- package/dist/src/map/navigation/obliqueNavigation.js +3 -1
- package/dist/src/map/navigation/obliqueNavigation.js.map +1 -1
- package/dist/src/map/navigation/openlayersNavigation.d.ts +4 -3
- package/dist/src/map/navigation/openlayersNavigation.js.map +1 -1
- package/dist/src/map/navigation/viewHelper.d.ts +2 -2
- package/dist/src/map/navigation/viewHelper.js +0 -1
- package/dist/src/map/navigation/viewHelper.js.map +1 -1
- package/dist/src/map/obliqueMap.d.ts +3 -3
- package/dist/src/map/obliqueMap.js +1 -1
- package/dist/src/map/obliqueMap.js.map +1 -1
- package/dist/src/map/panoramaMap.d.ts +98 -0
- package/dist/src/map/panoramaMap.js +293 -0
- package/dist/src/map/panoramaMap.js.map +1 -0
- package/dist/src/map/vcsMap.d.ts +3 -3
- package/dist/src/map/vcsMap.js +17 -11
- package/dist/src/map/vcsMap.js.map +1 -1
- package/dist/src/moduleIdSymbol.js +0 -1
- package/dist/src/moduleIdSymbol.js.map +1 -1
- package/dist/src/oblique/defaultObliqueCollection.js +3 -1
- package/dist/src/oblique/defaultObliqueCollection.js.map +1 -1
- package/dist/src/oblique/helpers.d.ts +1 -1
- package/dist/src/oblique/helpers.js +1 -1
- package/dist/src/oblique/helpers.js.map +1 -1
- package/dist/src/oblique/obliqueCollection.d.ts +3 -2
- package/dist/src/oblique/obliqueCollection.js.map +1 -1
- package/dist/src/oblique/obliqueDataSet.d.ts +2 -1
- package/dist/src/oblique/obliqueDataSet.js.map +1 -1
- package/dist/src/oblique/obliqueImage.d.ts +1 -1
- package/dist/src/oblique/obliqueProvider.d.ts +1 -1
- package/dist/src/oblique/obliqueProvider.js.map +1 -1
- package/dist/src/oblique/obliqueView.js +1 -0
- package/dist/src/oblique/obliqueView.js.map +1 -1
- package/dist/src/oblique/parseImageJson.js +2 -3
- package/dist/src/oblique/parseImageJson.js.map +1 -1
- package/dist/src/ol/feature.js.map +1 -1
- package/dist/src/ol/geom/circle.js.map +1 -1
- package/dist/src/ol/render/canvas/canvasTileRenderer.js +0 -1
- package/dist/src/ol/render/canvas/canvasTileRenderer.js.map +1 -1
- package/dist/src/ol/source/ClusterEnhancedVectorSource.d.ts +1 -1
- package/dist/src/ol/source/VcsCluster.d.ts +3 -3
- package/dist/src/ol/source/VcsCluster.js.map +1 -1
- package/dist/src/overrideClassRegistry.d.ts +3 -3
- package/dist/src/overrideClassRegistry.js +1 -0
- package/dist/src/overrideClassRegistry.js.map +1 -1
- package/dist/src/panorama/fieldOfView.d.ts +57 -0
- package/dist/src/panorama/fieldOfView.js +135 -0
- package/dist/src/panorama/fieldOfView.js.map +1 -0
- package/dist/src/panorama/panoramaCameraController.d.ts +35 -0
- package/dist/src/panorama/panoramaCameraController.js +146 -0
- package/dist/src/panorama/panoramaCameraController.js.map +1 -0
- package/dist/src/panorama/panoramaImage.d.ts +135 -0
- package/dist/src/panorama/panoramaImage.js +269 -0
- package/dist/src/panorama/panoramaImage.js.map +1 -0
- package/dist/src/panorama/panoramaImageCache.d.ts +8 -0
- package/dist/src/panorama/panoramaImageCache.js +18 -0
- package/dist/src/panorama/panoramaImageCache.js.map +1 -0
- package/dist/src/panorama/panoramaImageView.d.ts +25 -0
- package/dist/src/panorama/panoramaImageView.js +331 -0
- package/dist/src/panorama/panoramaImageView.js.map +1 -0
- package/dist/src/panorama/panoramaTile.d.ts +19 -0
- package/dist/src/panorama/panoramaTile.js +57 -0
- package/dist/src/panorama/panoramaTile.js.map +1 -0
- package/dist/src/panorama/panoramaTileCache.d.ts +16 -0
- package/dist/src/panorama/panoramaTileCache.js +34 -0
- package/dist/src/panorama/panoramaTileCache.js.map +1 -0
- package/dist/src/panorama/panoramaTileCoordinate.d.ts +56 -0
- package/dist/src/panorama/panoramaTileCoordinate.js +110 -0
- package/dist/src/panorama/panoramaTileCoordinate.js.map +1 -0
- package/dist/src/panorama/panoramaTileMaterial.d.ts +102 -0
- package/dist/src/panorama/panoramaTileMaterial.js +225 -0
- package/dist/src/panorama/panoramaTileMaterial.js.map +1 -0
- package/dist/src/panorama/panoramaTileMaterialFS.shader.d.ts +2 -0
- package/dist/src/panorama/panoramaTileMaterialFS.shader.js +170 -0
- package/dist/src/panorama/panoramaTileMaterialFS.shader.js.map +1 -0
- package/dist/src/panorama/panoramaTilePrimitiveCollection.d.ts +31 -0
- package/dist/src/panorama/panoramaTilePrimitiveCollection.js +113 -0
- package/dist/src/panorama/panoramaTilePrimitiveCollection.js.map +1 -0
- package/dist/src/panorama/panoramaTileProvider.d.ts +67 -0
- package/dist/src/panorama/panoramaTileProvider.js +313 -0
- package/dist/src/panorama/panoramaTileProvider.js.map +1 -0
- package/dist/src/panorama/sphericalCoordinates.d.ts +20 -0
- package/dist/src/panorama/sphericalCoordinates.js +78 -0
- package/dist/src/panorama/sphericalCoordinates.js.map +1 -0
- package/dist/src/style/arrowStyle.d.ts +1 -1
- package/dist/src/style/arrowStyle.js.map +1 -1
- package/dist/src/style/declarativeStyleItem.d.ts +1 -1
- package/dist/src/style/declarativeStyleItem.js +12 -14
- package/dist/src/style/declarativeStyleItem.js.map +1 -1
- package/dist/src/style/styleFactory.d.ts +2 -2
- package/dist/src/style/styleFactory.js +1 -2
- package/dist/src/style/styleFactory.js.map +1 -1
- package/dist/src/style/styleHelpers.d.ts +2 -2
- package/dist/src/style/styleHelpers.js +6 -6
- package/dist/src/style/styleHelpers.js.map +1 -1
- package/dist/src/style/styleItem.d.ts +4 -2
- package/dist/src/style/styleItem.js +3 -1
- package/dist/src/style/styleItem.js.map +1 -1
- package/dist/src/style/vectorStyleItem.d.ts +7 -5
- package/dist/src/style/vectorStyleItem.js +9 -19
- package/dist/src/style/vectorStyleItem.js.map +1 -1
- package/dist/src/style/writeStyle.d.ts +2 -2
- package/dist/src/style/writeStyle.js.map +1 -1
- package/dist/src/util/clipping/clippingObject.js.map +1 -1
- package/dist/src/util/clipping/clippingObjectManager.js.map +1 -1
- package/dist/src/util/clipping/clippingPolygonHelper.d.ts +2 -1
- package/dist/src/util/clipping/clippingPolygonHelper.js.map +1 -1
- package/dist/src/util/clipping/clippingPolygonObject.d.ts +4 -3
- package/dist/src/util/clipping/clippingPolygonObject.js.map +1 -1
- package/dist/src/util/clipping/clippingPolygonObjectCollection.d.ts +3 -4
- package/dist/src/util/clipping/clippingPolygonObjectCollection.js +37 -11
- package/dist/src/util/clipping/clippingPolygonObjectCollection.js.map +1 -1
- package/dist/src/util/collection.js.map +1 -1
- package/dist/src/util/createAbsoluteFeature.d.ts +4 -0
- package/dist/src/util/createAbsoluteFeature.js +98 -0
- package/dist/src/util/createAbsoluteFeature.js.map +1 -0
- package/dist/src/util/displayQuality/displayQuality.d.ts +3 -5
- package/dist/src/util/displayQuality/displayQuality.js +4 -5
- package/dist/src/util/displayQuality/displayQuality.js.map +1 -1
- package/dist/src/util/editor/createFeatureSession.d.ts +4 -3
- package/dist/src/util/editor/createFeatureSession.js.map +1 -1
- package/dist/src/util/editor/editFeaturesSession.d.ts +2 -1
- package/dist/src/util/editor/editFeaturesSession.js +3 -1
- package/dist/src/util/editor/editFeaturesSession.js.map +1 -1
- package/dist/src/util/editor/editGeometrySession.d.ts +3 -2
- package/dist/src/util/editor/editGeometrySession.js.map +1 -1
- package/dist/src/util/editor/editorHelpers.d.ts +5 -4
- package/dist/src/util/editor/editorHelpers.js +4 -0
- package/dist/src/util/editor/editorHelpers.js.map +1 -1
- package/dist/src/util/editor/editorSessionHelpers.d.ts +3 -3
- package/dist/src/util/editor/editorSessionHelpers.js.map +1 -1
- package/dist/src/util/editor/interactions/createCircleInteraction.d.ts +2 -1
- package/dist/src/util/editor/interactions/createCircleInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/createLineStringInteraction.d.ts +3 -2
- package/dist/src/util/editor/interactions/createLineStringInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/createPointInteraction.d.ts +3 -2
- package/dist/src/util/editor/interactions/createPointInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/createPolygonInteraction.d.ts +3 -2
- package/dist/src/util/editor/interactions/createPolygonInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/creationSnapping.d.ts +2 -2
- package/dist/src/util/editor/interactions/creationSnapping.js +1 -1
- package/dist/src/util/editor/interactions/creationSnapping.js.map +1 -1
- package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.d.ts +2 -1
- package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.d.ts +2 -1
- package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.d.ts +2 -1
- package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/insertVertexInteraction.d.ts +3 -2
- package/dist/src/util/editor/interactions/insertVertexInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/layerSnapping.d.ts +4 -4
- package/dist/src/util/editor/interactions/layerSnapping.js +1 -1
- package/dist/src/util/editor/interactions/layerSnapping.js.map +1 -1
- package/dist/src/util/editor/interactions/mapInteractionController.d.ts +2 -1
- package/dist/src/util/editor/interactions/mapInteractionController.js +1 -0
- package/dist/src/util/editor/interactions/mapInteractionController.js.map +1 -1
- package/dist/src/util/editor/interactions/removeVertexInteraction.d.ts +3 -2
- package/dist/src/util/editor/interactions/removeVertexInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/rightClickInteraction.d.ts +2 -1
- package/dist/src/util/editor/interactions/rightClickInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/segmentLengthInteraction.d.ts +2 -1
- package/dist/src/util/editor/interactions/segmentLengthInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.d.ts +3 -2
- package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js +13 -13
- package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.d.ts +3 -3
- package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js +1 -1
- package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.d.ts +2 -1
- package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js +1 -1
- package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/translateVertexInteraction.d.ts +3 -2
- package/dist/src/util/editor/interactions/translateVertexInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/translationSnapping.d.ts +2 -2
- package/dist/src/util/editor/interactions/translationSnapping.js +1 -1
- package/dist/src/util/editor/interactions/translationSnapping.js.map +1 -1
- package/dist/src/util/editor/selectFeaturesSession.d.ts +3 -2
- package/dist/src/util/editor/selectFeaturesSession.js +1 -1
- package/dist/src/util/editor/selectFeaturesSession.js.map +1 -1
- package/dist/src/util/editor/snappingHelpers.d.ts +3 -3
- package/dist/src/util/editor/snappingHelpers.js.map +1 -1
- package/dist/src/util/editor/transformation/create2DHandlers.d.ts +2 -1
- package/dist/src/util/editor/transformation/create2DHandlers.js.map +1 -1
- package/dist/src/util/editor/transformation/create3DHandlers.d.ts +3 -2
- package/dist/src/util/editor/transformation/create3DHandlers.js.map +1 -1
- package/dist/src/util/editor/transformation/extrudeInteraction.d.ts +3 -2
- package/dist/src/util/editor/transformation/extrudeInteraction.js +1 -1
- package/dist/src/util/editor/transformation/extrudeInteraction.js.map +1 -1
- package/dist/src/util/editor/transformation/rotateInteraction.d.ts +4 -2
- package/dist/src/util/editor/transformation/rotateInteraction.js +1 -1
- package/dist/src/util/editor/transformation/rotateInteraction.js.map +1 -1
- package/dist/src/util/editor/transformation/scaleInteraction.d.ts +3 -2
- package/dist/src/util/editor/transformation/scaleInteraction.js +1 -1
- package/dist/src/util/editor/transformation/scaleInteraction.js.map +1 -1
- package/dist/src/util/editor/transformation/transformationHandler.d.ts +2 -1
- package/dist/src/util/editor/transformation/transformationHandler.js +1 -1
- package/dist/src/util/editor/transformation/transformationHandler.js.map +1 -1
- package/dist/src/util/editor/transformation/translateInteraction.d.ts +3 -2
- package/dist/src/util/editor/transformation/translateInteraction.js +2 -2
- package/dist/src/util/editor/transformation/translateInteraction.js.map +1 -1
- package/dist/src/util/exclusiveManager.d.ts +1 -1
- package/dist/src/util/exclusiveManager.js.map +1 -1
- package/dist/src/util/featureconverter/arcToCesium.d.ts +1 -1
- package/dist/src/util/featureconverter/arcToCesium.js +1 -2
- package/dist/src/util/featureconverter/arcToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/circleToCesium.d.ts +1 -1
- package/dist/src/util/featureconverter/circleToCesium.js +1 -1
- package/dist/src/util/featureconverter/circleToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/clampedPrimitive.d.ts +2 -1
- package/dist/src/util/featureconverter/clampedPrimitive.js +0 -1
- package/dist/src/util/featureconverter/clampedPrimitive.js.map +1 -1
- package/dist/src/util/featureconverter/convert.d.ts +4 -3
- package/dist/src/util/featureconverter/convert.js +1 -1
- package/dist/src/util/featureconverter/convert.js.map +1 -1
- package/dist/src/util/featureconverter/extent3D.d.ts +2 -2
- package/dist/src/util/featureconverter/extent3D.js.map +1 -1
- package/dist/src/util/featureconverter/lineStringToCesium.d.ts +5 -5
- package/dist/src/util/featureconverter/lineStringToCesium.js +1 -2
- package/dist/src/util/featureconverter/lineStringToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/pointHelpers.d.ts +6 -5
- package/dist/src/util/featureconverter/pointHelpers.js +2 -3
- package/dist/src/util/featureconverter/pointHelpers.js.map +1 -1
- package/dist/src/util/featureconverter/pointToCesium.d.ts +6 -11
- package/dist/src/util/featureconverter/pointToCesium.js +3 -20
- package/dist/src/util/featureconverter/pointToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/polygonToCesium.d.ts +1 -1
- package/dist/src/util/featureconverter/polygonToCesium.js +1 -1
- package/dist/src/util/featureconverter/polygonToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/storeyHelpers.d.ts +2 -2
- package/dist/src/util/featureconverter/vectorGeometryFactory.d.ts +2 -2
- package/dist/src/util/featureconverter/vectorGeometryFactory.js.map +1 -1
- package/dist/src/util/featureconverter/vectorHeightInfo.d.ts +8 -2
- package/dist/src/util/featureconverter/vectorHeightInfo.js +17 -0
- package/dist/src/util/featureconverter/vectorHeightInfo.js.map +1 -1
- package/dist/src/util/flight/flightAnchor.js +4 -3
- package/dist/src/util/flight/flightAnchor.js.map +1 -1
- package/dist/src/util/flight/flightCollection.d.ts +2 -2
- package/dist/src/util/flight/flightCollection.js.map +1 -1
- package/dist/src/util/flight/flightHelpers.d.ts +1 -1
- package/dist/src/util/flight/flightInstance.d.ts +3 -2
- package/dist/src/util/flight/flightInstance.js.map +1 -1
- package/dist/src/util/flight/flightPlayer.js +1 -1
- package/dist/src/util/flight/flightPlayer.js.map +1 -1
- package/dist/src/util/flight/flightVisualizer.d.ts +1 -1
- package/dist/src/util/flight/flightVisualizer.js.map +1 -1
- package/dist/src/util/geometryHelpers.d.ts +3 -5
- package/dist/src/util/geometryHelpers.js +0 -91
- package/dist/src/util/geometryHelpers.js.map +1 -1
- package/dist/src/util/hiddenObjects.d.ts +2 -2
- package/dist/src/util/hiddenObjects.js +0 -1
- package/dist/src/util/hiddenObjects.js.map +1 -1
- package/dist/src/util/indexedCollection.js.map +1 -1
- package/dist/src/util/isMobile.js +3 -2
- package/dist/src/util/isMobile.js.map +1 -1
- package/dist/src/util/layerCollection.d.ts +6 -1
- package/dist/src/util/layerCollection.js +5 -1
- package/dist/src/util/layerCollection.js.map +1 -1
- package/dist/src/util/locale.js +0 -1
- package/dist/src/util/locale.js.map +1 -1
- package/dist/src/util/mapCollection.d.ts +9 -4
- package/dist/src/util/mapCollection.js +67 -34
- package/dist/src/util/mapCollection.js.map +1 -1
- package/dist/src/util/overrideCollection.d.ts +1 -1
- package/dist/src/util/overrideCollection.js +3 -1
- package/dist/src/util/overrideCollection.js.map +1 -1
- package/dist/src/util/projection.d.ts +1 -1
- package/dist/src/util/projection.js +2 -2
- package/dist/src/util/projection.js.map +1 -1
- package/dist/src/util/renderScreenshot.d.ts +1 -1
- package/dist/src/util/rotation.d.ts +4 -3
- package/dist/src/util/rotation.js +1 -1
- package/dist/src/util/rotation.js.map +1 -1
- package/dist/src/util/urlHelpers.js +0 -1
- package/dist/src/util/urlHelpers.js.map +1 -1
- package/dist/src/util/vcsTemplate.js +2 -4
- package/dist/src/util/vcsTemplate.js.map +1 -1
- package/dist/src/util/viewpoint.d.ts +6 -2
- package/dist/src/util/viewpoint.js +11 -1
- package/dist/src/util/viewpoint.js.map +1 -1
- package/dist/src/vcsApp.d.ts +7 -6
- package/dist/src/vcsApp.js +20 -14
- package/dist/src/vcsApp.js.map +1 -1
- package/dist/src/vcsEvent.js.map +1 -1
- package/dist/src/vcsModuleHelpers.js +3 -3
- package/dist/src/vcsModuleHelpers.js.map +1 -1
- package/dist/src/vectorCluster/vectorClusterCesiumContext.d.ts +4 -4
- package/dist/src/vectorCluster/vectorClusterCesiumContext.js +1 -1
- package/dist/src/vectorCluster/vectorClusterCesiumContext.js.map +1 -1
- package/dist/src/vectorCluster/vectorClusterGroup.d.ts +9 -6
- package/dist/src/vectorCluster/vectorClusterGroup.js +17 -5
- package/dist/src/vectorCluster/vectorClusterGroup.js.map +1 -1
- package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.d.ts +2 -2
- package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js +1 -1
- package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js.map +1 -1
- package/dist/src/vectorCluster/vectorClusterGroupCollection.d.ts +1 -1
- package/dist/src/vectorCluster/vectorClusterGroupImpl.d.ts +5 -5
- package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.d.ts +2 -2
- package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js +1 -1
- package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js.map +1 -1
- package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.d.ts +2 -2
- package/dist/src/vectorCluster/vectorClusterStyleItem.d.ts +4 -3
- package/dist/src/vectorCluster/vectorClusterStyleItem.js.map +1 -1
- package/dist/src/vectorCluster/vectorClusterSymbols.js +0 -1
- package/dist/src/vectorCluster/vectorClusterSymbols.js.map +1 -1
- package/dist/src/workers/panoramaImageWorker.d.ts +1 -0
- package/dist/src/workers/panoramaImageWorker.js +34 -0
- package/dist/src/workers/panoramaImageWorker.js.map +1 -0
- package/dist/tests/data/panorama/badOrientation.tif +0 -0
- package/dist/tests/data/panorama/badPosition.tif +0 -0
- package/dist/tests/data/panorama/lowOverview.tif +0 -0
- package/dist/tests/data/panorama/noVersionDepth.tif +0 -0
- package/dist/tests/data/panorama/noVersionRgb.tif +0 -0
- package/dist/tests/data/panorama/testDepthGeotiff.tif +0 -0
- package/dist/tests/data/panorama/testRgbGeotiff.tif +0 -0
- package/dist/tests/unit/helpers/cesiumHelpers.d.ts +6 -2
- package/dist/tests/unit/helpers/cesiumHelpers.js +15 -6
- package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -1
- package/dist/tests/unit/helpers/flatGeobufHelpers.d.ts +2 -0
- package/dist/tests/unit/helpers/flatGeobufHelpers.js +13 -0
- package/dist/tests/unit/helpers/flatGeobufHelpers.js.map +1 -0
- package/dist/tests/unit/helpers/helpers.d.ts +4 -0
- package/dist/tests/unit/helpers/helpers.js +26 -1
- package/dist/tests/unit/helpers/helpers.js.map +1 -1
- package/dist/tests/unit/helpers/panoramaHelpers.d.ts +30 -0
- package/dist/tests/unit/helpers/panoramaHelpers.js +76 -0
- package/dist/tests/unit/helpers/panoramaHelpers.js.map +1 -0
- package/index.ts +316 -279
- package/package.json +17 -49
- package/src/category/category.ts +9 -6
- package/src/category/categoryCollection.ts +4 -3
- package/src/cesium/cesium.d.ts +52 -18
- package/src/cesium/cesium3DTileFeature.ts +6 -7
- package/src/cesium/cesiumVcsCameraPrimitive.ts +6 -5
- package/src/cesium/entity.ts +1 -1
- package/src/classRegistry.ts +19 -18
- package/src/featureProvider/abstractFeatureProvider.ts +8 -4
- package/src/featureProvider/wmsFeatureProvider.ts +97 -23
- package/src/global.d.ts +6 -1
- package/src/interaction/abstractInteraction.ts +5 -5
- package/src/interaction/coordinateAtPixel.ts +37 -0
- package/src/interaction/eventHandler.ts +6 -8
- package/src/interaction/featureAtPixelInteraction.ts +24 -13
- package/src/interaction/featureProviderInteraction.ts +6 -7
- package/src/interaction/interactionType.ts +1 -0
- package/src/interaction/panoramaFeatureHighlight.ts +109 -0
- package/src/interaction/panoramaImageSelection.ts +37 -0
- package/src/layer/cesium/cesiumTilesetCesiumImpl.ts +14 -10
- package/src/layer/cesium/dataSourceCesiumImpl.ts +8 -6
- package/src/layer/cesium/resourceHelper.ts +0 -1
- package/src/layer/cesium/sourceVectorContextSync.ts +4 -4
- package/src/layer/cesium/terrainCesiumImpl.ts +1 -1
- package/src/layer/cesium/vcsTile/vcsChildTile.ts +3 -3
- package/src/layer/cesium/vcsTile/vcsDebugTile.ts +5 -10
- package/src/layer/cesium/vcsTile/vcsNoDataTile.ts +3 -3
- package/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.ts +19 -17
- package/src/layer/cesium/vcsTile/vcsTileHelpers.ts +10 -8
- package/src/layer/cesium/vcsTile/vcsVectorTile.ts +7 -11
- package/src/layer/cesium/vectorCesiumImpl.ts +2 -4
- package/src/layer/cesium/vectorContext.ts +32 -25
- package/src/layer/cesium/vectorRasterTileCesiumImpl.ts +2 -2
- package/src/layer/cesium/vectorTileCesiumImpl.ts +5 -7
- package/src/layer/cesium/vectorTileImageryProvider.ts +4 -4
- package/src/layer/cesium/wmsCesiumImpl.ts +3 -2
- package/src/layer/cesiumTilesetLayer.ts +6 -8
- package/src/layer/czmlLayer.ts +2 -2
- package/src/layer/dataSourceLayer.ts +4 -6
- package/src/layer/featureLayer.ts +6 -4
- package/src/layer/featureStoreFeatureVisibility.ts +2 -1
- package/src/layer/featureStoreLayer.ts +18 -14
- package/src/layer/featureStoreLayerChanges.ts +7 -7
- package/src/layer/featureVisibility.ts +3 -2
- package/src/layer/flatGeobufHelpers.ts +46 -6
- package/src/layer/flatGeobufLayer.ts +2 -1
- package/src/layer/geojsonHelpers.ts +11 -8
- package/src/layer/geojsonLayer.ts +8 -5
- package/src/layer/globalHider.ts +5 -3
- package/src/layer/layer.ts +14 -14
- package/src/layer/oblique/obliqueHelpers.ts +2 -0
- package/src/layer/oblique/sourceObliqueSync.ts +9 -9
- package/src/layer/oblique/vectorObliqueImpl.ts +6 -8
- package/src/layer/openStreetMapLayer.ts +7 -8
- package/src/layer/openlayers/layerOpenlayersImpl.ts +2 -3
- package/src/layer/openlayers/loadFunctionHelpers.ts +0 -1
- package/src/layer/openlayers/tileDebugOpenlayersImpl.ts +3 -3
- package/src/layer/openlayers/vectorOpenlayersImpl.ts +1 -1
- package/src/layer/openlayers/vectorTileOpenlayersImpl.ts +3 -3
- package/src/layer/openlayers/wmsOpenlayersImpl.ts +1 -1
- package/src/layer/panorama/panoramaDatasetPanoramaImpl.ts +49 -0
- package/src/layer/panorama/vectorTilePanoramaImpl.ts +163 -0
- package/src/layer/panoramaDatasetLayer.ts +283 -0
- package/src/layer/pointCloudLayer.ts +9 -12
- package/src/layer/rasterLayer.ts +6 -5
- package/src/layer/singleImageLayer.ts +3 -2
- package/src/layer/terrainHelpers.ts +2 -1
- package/src/layer/terrainLayer.ts +3 -2
- package/src/layer/tileLoadedHelper.ts +2 -2
- package/src/layer/tileProvider/flatGeobufTileProvider.ts +22 -10
- package/src/layer/tileProvider/mvtTileProvider.ts +4 -6
- package/src/layer/tileProvider/staticFeatureTileProvider.ts +3 -3
- package/src/layer/tileProvider/staticGeojsonTileProvider.ts +2 -2
- package/src/layer/tileProvider/tileProvider.ts +15 -10
- package/src/layer/tileProvider/urlTemplateTileProvider.ts +2 -1
- package/src/layer/tmsLayer.ts +3 -3
- package/src/layer/vectorHelpers.ts +3 -4
- package/src/layer/vectorLayer.ts +14 -15
- package/src/layer/vectorProperties.ts +27 -16
- package/src/layer/vectorSymbols.ts +10 -0
- package/src/layer/vectorTileLayer.ts +39 -29
- package/src/layer/wfsLayer.ts +10 -7
- package/src/layer/wmsHelpers.ts +2 -2
- package/src/layer/wmsLayer.ts +5 -5
- package/src/layer/wmtsLayer.ts +3 -3
- package/src/map/baseOLMap.ts +18 -9
- package/src/map/cameraLimiter.ts +1 -1
- package/src/map/cesiumMap.ts +49 -265
- package/src/map/cesiumMapHelpers.ts +219 -0
- package/src/map/navigation/cameraHelper.ts +2 -3
- package/src/map/navigation/cesiumNavigation.ts +5 -4
- package/src/map/navigation/controller/controller.ts +3 -6
- package/src/map/navigation/controller/keyboardController.ts +7 -7
- package/src/map/navigation/easingHelper.ts +2 -5
- package/src/map/navigation/navigation.ts +18 -14
- package/src/map/navigation/navigationImpl.ts +2 -2
- package/src/map/navigation/obliqueNavigation.ts +7 -6
- package/src/map/navigation/openlayersNavigation.ts +4 -3
- package/src/map/navigation/viewHelper.ts +2 -3
- package/src/map/obliqueMap.ts +7 -9
- package/src/map/panoramaMap.ts +410 -0
- package/src/map/vcsMap.ts +19 -16
- package/src/moduleIdSymbol.ts +0 -1
- package/src/oblique/defaultObliqueCollection.ts +1 -0
- package/src/oblique/helpers.ts +2 -4
- package/src/oblique/obliqueCollection.ts +7 -7
- package/src/oblique/obliqueDataSet.ts +7 -6
- package/src/oblique/obliqueImage.ts +1 -1
- package/src/oblique/obliqueProvider.ts +3 -3
- package/src/oblique/obliqueView.ts +1 -0
- package/src/oblique/parseImageJson.ts +11 -12
- package/src/ol/feature.ts +1 -0
- package/src/ol/geojson.d.ts +3 -2
- package/src/ol/geom/circle.ts +1 -1
- package/src/ol/ol.d.ts +27 -29
- package/src/ol/render/canvas/canvasTileRenderer.js +0 -1
- package/src/ol/source/ClusterEnhancedVectorSource.ts +1 -1
- package/src/ol/source/VcsCluster.ts +4 -4
- package/src/overrideClassRegistry.ts +14 -10
- package/src/panorama/fieldOfView.ts +254 -0
- package/src/panorama/panoramaCameraController.ts +206 -0
- package/src/panorama/panoramaImage.ts +531 -0
- package/src/panorama/panoramaImageCache.ts +19 -0
- package/src/panorama/panoramaImageView.ts +448 -0
- package/src/panorama/panoramaTile.ts +89 -0
- package/src/panorama/panoramaTileCache.ts +40 -0
- package/src/panorama/panoramaTileCoordinate.ts +166 -0
- package/src/panorama/panoramaTileMaterial.ts +323 -0
- package/src/panorama/panoramaTileMaterialFS.glsl +165 -0
- package/src/panorama/panoramaTilePrimitiveCollection.ts +158 -0
- package/src/panorama/panoramaTileProvider.ts +536 -0
- package/src/panorama/sphericalCoordinates.ts +96 -0
- package/src/style/arrowStyle.ts +1 -1
- package/src/style/declarativeStyleItem.ts +19 -19
- package/src/style/styleFactory.ts +6 -7
- package/src/style/styleHelpers.ts +9 -9
- package/src/style/styleItem.ts +8 -3
- package/src/style/vectorStyleItem.ts +24 -30
- package/src/style/writeStyle.ts +3 -2
- package/src/util/clipping/clippingObject.ts +2 -3
- package/src/util/clipping/clippingObjectManager.ts +3 -3
- package/src/util/clipping/clippingPolygonHelper.ts +1 -2
- package/src/util/clipping/clippingPolygonObject.ts +4 -3
- package/src/util/clipping/clippingPolygonObjectCollection.ts +43 -27
- package/src/util/collection.ts +1 -1
- package/src/util/createAbsoluteFeature.ts +155 -0
- package/src/util/displayQuality/displayQuality.ts +7 -8
- package/src/util/editor/createFeatureSession.ts +12 -12
- package/src/util/editor/editFeaturesSession.ts +6 -4
- package/src/util/editor/editGeometrySession.ts +4 -3
- package/src/util/editor/editorHelpers.ts +14 -12
- package/src/util/editor/editorSessionHelpers.ts +13 -12
- package/src/util/editor/interactions/createCircleInteraction.ts +2 -3
- package/src/util/editor/interactions/createLineStringInteraction.ts +3 -4
- package/src/util/editor/interactions/createPointInteraction.ts +3 -4
- package/src/util/editor/interactions/createPolygonInteraction.ts +3 -4
- package/src/util/editor/interactions/creationSnapping.ts +4 -7
- package/src/util/editor/interactions/editFeaturesMouseOverInteraction.ts +2 -3
- package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +4 -4
- package/src/util/editor/interactions/ensureHandlerSelectionInteraction.ts +2 -3
- package/src/util/editor/interactions/insertVertexInteraction.ts +3 -4
- package/src/util/editor/interactions/layerSnapping.ts +6 -8
- package/src/util/editor/interactions/mapInteractionController.ts +5 -3
- package/src/util/editor/interactions/removeVertexInteraction.ts +4 -4
- package/src/util/editor/interactions/rightClickInteraction.ts +2 -3
- package/src/util/editor/interactions/segmentLengthInteraction.ts +2 -3
- package/src/util/editor/interactions/selectFeatureMouseOverInteraction.ts +15 -14
- package/src/util/editor/interactions/selectMultiFeatureInteraction.ts +9 -9
- package/src/util/editor/interactions/selectSingleFeatureInteraction.ts +5 -7
- package/src/util/editor/interactions/translateVertexInteraction.ts +4 -4
- package/src/util/editor/interactions/translationSnapping.ts +4 -7
- package/src/util/editor/selectFeaturesSession.ts +5 -8
- package/src/util/editor/snappingHelpers.ts +21 -20
- package/src/util/editor/transformation/create2DHandlers.ts +1 -1
- package/src/util/editor/transformation/create3DHandlers.ts +3 -3
- package/src/util/editor/transformation/extrudeInteraction.ts +5 -5
- package/src/util/editor/transformation/rotateInteraction.ts +7 -6
- package/src/util/editor/transformation/scaleInteraction.ts +7 -6
- package/src/util/editor/transformation/transformationHandler.ts +3 -3
- package/src/util/editor/transformation/translateInteraction.ts +7 -11
- package/src/util/exclusiveManager.ts +1 -1
- package/src/util/featureconverter/arcToCesium.ts +4 -6
- package/src/util/featureconverter/circleToCesium.ts +3 -5
- package/src/util/featureconverter/clampedPrimitive.ts +6 -5
- package/src/util/featureconverter/convert.ts +22 -24
- package/src/util/featureconverter/extent3D.ts +3 -3
- package/src/util/featureconverter/lineStringToCesium.ts +7 -7
- package/src/util/featureconverter/pointHelpers.ts +10 -11
- package/src/util/featureconverter/pointToCesium.ts +18 -44
- package/src/util/featureconverter/polygonToCesium.ts +3 -5
- package/src/util/featureconverter/storeyHelpers.ts +2 -2
- package/src/util/featureconverter/vectorGeometryFactory.ts +41 -39
- package/src/util/featureconverter/vectorHeightInfo.ts +60 -30
- package/src/util/flight/flightAnchor.ts +4 -3
- package/src/util/flight/flightCollection.ts +3 -2
- package/src/util/flight/flightHelpers.ts +1 -1
- package/src/util/flight/flightInstance.ts +7 -4
- package/src/util/flight/flightPlayer.ts +2 -2
- package/src/util/flight/flightVisualizer.ts +2 -2
- package/src/util/geometryHelpers.ts +3 -135
- package/src/util/hiddenObjects.ts +3 -4
- package/src/util/indexedCollection.ts +1 -1
- package/src/util/isMobile.ts +2 -1
- package/src/util/layerCollection.ts +7 -2
- package/src/util/locale.ts +0 -1
- package/src/util/mapCollection.ts +104 -47
- package/src/util/overrideCollection.ts +4 -5
- package/src/util/projection.ts +3 -7
- package/src/util/renderScreenshot.ts +2 -2
- package/src/util/rotation.ts +3 -4
- package/src/util/urlHelpers.ts +0 -1
- package/src/util/vcsTemplate.ts +6 -5
- package/src/util/viewpoint.ts +20 -3
- package/src/vcsApp.ts +42 -42
- package/src/vcsEvent.ts +1 -1
- package/src/vcsModuleHelpers.ts +4 -3
- package/src/vectorCluster/vectorClusterCesiumContext.ts +8 -9
- package/src/vectorCluster/vectorClusterGroup.ts +26 -16
- package/src/vectorCluster/vectorClusterGroupCesiumImpl.ts +10 -10
- package/src/vectorCluster/vectorClusterGroupCollection.ts +1 -1
- package/src/vectorCluster/vectorClusterGroupImpl.ts +5 -5
- package/src/vectorCluster/vectorClusterGroupObliqueImpl.ts +4 -6
- package/src/vectorCluster/vectorClusterGroupOpenlayersImpl.ts +2 -2
- package/src/vectorCluster/vectorClusterStyleItem.ts +5 -3
- package/src/vectorCluster/vectorClusterSymbols.ts +0 -1
- package/src/workers/panoramaImageWorker.ts +50 -0
|
@@ -7,29 +7,29 @@ import GML32 from 'ol/format/GML32.js';
|
|
|
7
7
|
import Point from 'ol/geom/Point.js';
|
|
8
8
|
import { getTransform, type Projection as OLProjection } from 'ol/proj.js';
|
|
9
9
|
import type { Size } from 'ol/size.js';
|
|
10
|
-
import
|
|
10
|
+
import { Feature } from 'ol';
|
|
11
11
|
import type { Coordinate } from 'ol/coordinate.js';
|
|
12
12
|
import type { TileWMS } from 'ol/source.js';
|
|
13
13
|
import type FeatureFormat from 'ol/format/Feature.js';
|
|
14
14
|
import WMSGetFeatureInfo from 'ol/format/WMSGetFeatureInfo.js';
|
|
15
|
+
import type { Options as WMSGetFeatureInfoOptions } from 'ol/format/WMSGetFeatureInfo.js';
|
|
15
16
|
import { parseInteger } from '@vcsuite/parsers';
|
|
16
|
-
import
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
import
|
|
20
|
-
|
|
21
|
-
ProjectionOptions,
|
|
22
|
-
} from '../util/projection.js';
|
|
17
|
+
import { getLogger } from '@vcsuite/logger';
|
|
18
|
+
import type { AbstractFeatureProviderOptions } from './abstractFeatureProvider.js';
|
|
19
|
+
import AbstractFeatureProvider from './abstractFeatureProvider.js';
|
|
20
|
+
import type { ProjectionOptions } from '../util/projection.js';
|
|
21
|
+
import Projection, { mercatorProjection } from '../util/projection.js';
|
|
23
22
|
import type { WMSSourceOptions } from '../layer/wmsHelpers.js';
|
|
24
23
|
import { getWMSSource } from '../layer/wmsHelpers.js';
|
|
25
|
-
import
|
|
24
|
+
import type { ExtentOptions } from '../util/extent.js';
|
|
25
|
+
import Extent from '../util/extent.js';
|
|
26
26
|
import { getInitForUrl, requestUrl } from '../util/fetch.js';
|
|
27
27
|
import { featureProviderClassRegistry } from '../classRegistry.js';
|
|
28
28
|
import { TilingScheme } from '../layer/rasterLayer.js';
|
|
29
29
|
|
|
30
30
|
export type FormatOptions = GeoJSONOptions &
|
|
31
31
|
GMLOptions &
|
|
32
|
-
Record<string, unknown
|
|
32
|
+
Record<string, unknown>;
|
|
33
33
|
|
|
34
34
|
export type WMSFeatureProviderOptions = AbstractFeatureProviderOptions & {
|
|
35
35
|
/**
|
|
@@ -38,9 +38,17 @@ export type WMSFeatureProviderOptions = AbstractFeatureProviderOptions & {
|
|
|
38
38
|
*/
|
|
39
39
|
responseType?: string;
|
|
40
40
|
/**
|
|
41
|
-
* format options
|
|
41
|
+
* format options forwarded to OpenLayers
|
|
42
42
|
*/
|
|
43
43
|
formatOptions?: FormatOptions;
|
|
44
|
+
/**
|
|
45
|
+
* optional format to use to parse the feature info response, overriding the responseType to format mapping. Use 'GeoJSON', 'GML2', 'GML3', 'GML32', 'WMSGetFeatureInfo' or 'WFS' as string.
|
|
46
|
+
*/
|
|
47
|
+
featureInfoFormat?: keyof typeof featureInfoFormat;
|
|
48
|
+
/**
|
|
49
|
+
* optional GMLFormat for the WFS format to override the default GML2 format. Use 'GML', 'GML2', 'GML3' or 'GML32' as string
|
|
50
|
+
*/
|
|
51
|
+
wfsGMLFormat?: keyof typeof gmlFormats;
|
|
44
52
|
/**
|
|
45
53
|
* the projection of the data, if not encoded in the response
|
|
46
54
|
*/
|
|
@@ -72,6 +80,15 @@ export type WMSFeatureProviderOptions = AbstractFeatureProviderOptions & {
|
|
|
72
80
|
|
|
73
81
|
const gmlFormats = { GML: GML3, GML2, GML3, GML32 };
|
|
74
82
|
|
|
83
|
+
const featureInfoFormat = {
|
|
84
|
+
GeoJSON,
|
|
85
|
+
GML2,
|
|
86
|
+
GML3,
|
|
87
|
+
GML32,
|
|
88
|
+
WMSGetFeatureInfo,
|
|
89
|
+
WFS,
|
|
90
|
+
};
|
|
91
|
+
|
|
75
92
|
const geojsonFormats = [
|
|
76
93
|
'application/geojson',
|
|
77
94
|
'application/json',
|
|
@@ -82,11 +99,36 @@ const geojsonFormats = [
|
|
|
82
99
|
export function getFormat(
|
|
83
100
|
responseType: string,
|
|
84
101
|
options: FormatOptions = {},
|
|
102
|
+
format?: keyof typeof featureInfoFormat,
|
|
103
|
+
gmlFormatKey?: keyof typeof gmlFormats,
|
|
85
104
|
): null | FeatureFormat {
|
|
105
|
+
if (format) {
|
|
106
|
+
if (!(format in featureInfoFormat)) {
|
|
107
|
+
getLogger('WMSFeatureProvider').error(
|
|
108
|
+
`Unknown featureInfoFormat ${format}`,
|
|
109
|
+
);
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const formatOptions = {
|
|
113
|
+
...options,
|
|
114
|
+
...(gmlFormatKey && { gmlFormat: new gmlFormats[gmlFormatKey]() }),
|
|
115
|
+
};
|
|
116
|
+
return new featureInfoFormat[format](formatOptions);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (responseType === 'text/html') {
|
|
120
|
+
return new WMSGetFeatureInfo(options as WMSGetFeatureInfoOptions);
|
|
121
|
+
}
|
|
86
122
|
if (responseType === 'text/xml') {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
123
|
+
if (gmlFormatKey && !(gmlFormatKey in gmlFormats)) {
|
|
124
|
+
getLogger('WMSFeatureProvider').error(
|
|
125
|
+
`Unknown GML format ${gmlFormatKey}`,
|
|
126
|
+
);
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
const gmlFormat: GML2 | GML3 | GML32 = new gmlFormats[
|
|
130
|
+
gmlFormatKey ?? 'GML2'
|
|
131
|
+
]();
|
|
90
132
|
return new WFS({ ...options, gmlFormat });
|
|
91
133
|
}
|
|
92
134
|
if (geojsonFormats.includes(responseType)) {
|
|
@@ -94,7 +136,7 @@ export function getFormat(
|
|
|
94
136
|
}
|
|
95
137
|
if (responseType === 'application/vnd.ogc.gml') {
|
|
96
138
|
// works with mapServer and "msGMLOutput", replaces GML2 format, and still works with gml2 documents
|
|
97
|
-
return new WMSGetFeatureInfo(
|
|
139
|
+
return new WMSGetFeatureInfo(options as WMSGetFeatureInfoOptions);
|
|
98
140
|
}
|
|
99
141
|
if (
|
|
100
142
|
responseType === 'application/vnd.ogc.gml/3.1.1' ||
|
|
@@ -148,8 +190,19 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
|
|
|
148
190
|
*/
|
|
149
191
|
featureInfoResponseType: string;
|
|
150
192
|
|
|
193
|
+
/**
|
|
194
|
+
* The feature info format, if different from the responseType.
|
|
195
|
+
*/
|
|
196
|
+
featureInfoFormat: keyof typeof featureInfoFormat | undefined;
|
|
197
|
+
|
|
151
198
|
private _formatOptions: FormatOptions | undefined;
|
|
152
199
|
|
|
200
|
+
/**
|
|
201
|
+
* The GMLFormat used for the WfsLayer, defaults to GML2.
|
|
202
|
+
* Use 'GML', 'GML2', 'GML3' or 'GML32' as string
|
|
203
|
+
*/
|
|
204
|
+
wfsGMLFormat: keyof typeof gmlFormats | undefined;
|
|
205
|
+
|
|
153
206
|
/**
|
|
154
207
|
* The feature response format determined by the response type. Use formatOptions to configure the underlying ol.format.Feature
|
|
155
208
|
*/
|
|
@@ -185,11 +238,14 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
|
|
|
185
238
|
this._wmsSource = getWMSSource(this._wmsSourceOptions);
|
|
186
239
|
this.featureInfoResponseType =
|
|
187
240
|
options.responseType || (defaultOptions.responseType as string);
|
|
188
|
-
|
|
241
|
+
this.featureInfoFormat = options.featureInfoFormat;
|
|
189
242
|
this._formatOptions = options.formatOptions || defaultOptions.formatOptions;
|
|
243
|
+
this.wfsGMLFormat = options.wfsGMLFormat;
|
|
190
244
|
this.featureFormat = getFormat(
|
|
191
245
|
this.featureInfoResponseType,
|
|
192
246
|
options.formatOptions,
|
|
247
|
+
this.featureInfoFormat,
|
|
248
|
+
this.wfsGMLFormat,
|
|
193
249
|
);
|
|
194
250
|
this.projection = options.projection
|
|
195
251
|
? new Projection(options.projection)
|
|
@@ -208,17 +264,23 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
|
|
|
208
264
|
}
|
|
209
265
|
|
|
210
266
|
featureResponseCallback(
|
|
267
|
+
// any because this is the type provided by readFeatures
|
|
268
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/no-redundant-type-constituents
|
|
211
269
|
data: Document | Element | ArrayBuffer | any | string,
|
|
212
270
|
coordinate: Coordinate,
|
|
213
271
|
): Feature[] {
|
|
214
|
-
let features
|
|
272
|
+
let features = [];
|
|
215
273
|
|
|
216
274
|
try {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
275
|
+
if (this.featureInfoResponseType === 'text/html') {
|
|
276
|
+
features = [new Feature()];
|
|
277
|
+
} else {
|
|
278
|
+
features = this.featureFormat!.readFeatures(data, {
|
|
279
|
+
dataProjection: this.projection ? this.projection.proj : undefined,
|
|
280
|
+
featureProjection: mercatorProjection.proj,
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
} catch (_err) {
|
|
222
284
|
this.getLogger().warning(
|
|
223
285
|
'Features could not be read, please verify the featureInfoResponseType with the capabilities from the server',
|
|
224
286
|
);
|
|
@@ -259,7 +321,11 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
|
|
|
259
321
|
{ INFO_FORMAT: this.featureInfoResponseType },
|
|
260
322
|
);
|
|
261
323
|
|
|
262
|
-
if (
|
|
324
|
+
if (this.featureInfoResponseType === 'text/html') {
|
|
325
|
+
return this.featureResponseCallback(null, coordinate).map((f) =>
|
|
326
|
+
this.getProviderFeature(f),
|
|
327
|
+
);
|
|
328
|
+
} else if (url) {
|
|
263
329
|
const init = getInitForUrl(url, headers);
|
|
264
330
|
let data: string;
|
|
265
331
|
try {
|
|
@@ -283,6 +349,14 @@ class WMSFeatureProvider extends AbstractFeatureProvider {
|
|
|
283
349
|
config.responseType = this.featureInfoResponseType;
|
|
284
350
|
}
|
|
285
351
|
|
|
352
|
+
if (this.featureInfoFormat) {
|
|
353
|
+
config.featureInfoFormat = this.featureInfoFormat;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
if (this.wfsGMLFormat) {
|
|
357
|
+
config.wfsGMLFormat = this.wfsGMLFormat;
|
|
358
|
+
}
|
|
359
|
+
|
|
286
360
|
if (this._formatOptions !== defaultOptions.formatOptions) {
|
|
287
361
|
config.formatOptions = { ...this._formatOptions };
|
|
288
362
|
}
|
package/src/global.d.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import type VcsApp from './vcsApp.js';
|
|
2
|
-
import { mouseOverSymbol } from './util/editor/editorSymbols.js';
|
|
2
|
+
import type { mouseOverSymbol } from './util/editor/editorSymbols.js';
|
|
3
3
|
// eslint-disable-next-line import/no-named-default
|
|
4
4
|
import type { default as VcsModule, VcsModuleConfig } from './vcsModule.js';
|
|
5
5
|
|
|
6
6
|
declare global {
|
|
7
|
+
// eslint-disable-next-line no-var
|
|
8
|
+
var useVcsCustomShading: boolean | undefined;
|
|
9
|
+
|
|
7
10
|
interface Window {
|
|
8
11
|
vcs: {
|
|
9
12
|
apps: Map<string, VcsApp>;
|
|
10
13
|
createModuleFromConfig: (config: VcsModuleConfig) => VcsModule;
|
|
14
|
+
getFirstApp: () => VcsApp | undefined;
|
|
15
|
+
workerBase?: string;
|
|
11
16
|
};
|
|
12
17
|
opera?: string;
|
|
13
18
|
}
|
|
@@ -8,14 +8,14 @@ import type {
|
|
|
8
8
|
} from '@vcmap-cesium/engine';
|
|
9
9
|
import type { Coordinate } from 'ol/coordinate.js';
|
|
10
10
|
import type { Feature } from 'ol';
|
|
11
|
+
import type { PointerEventType } from './interactionType.js';
|
|
11
12
|
import {
|
|
12
13
|
EventType,
|
|
13
14
|
ModificationKeyType,
|
|
14
|
-
PointerEventType,
|
|
15
15
|
PointerKeyType,
|
|
16
16
|
} from './interactionType.js';
|
|
17
17
|
import type VcsMap from '../map/vcsMap.js';
|
|
18
|
-
import VcsEvent from '../vcsEvent.js';
|
|
18
|
+
import type VcsEvent from '../vcsEvent.js';
|
|
19
19
|
|
|
20
20
|
export type MapEvent = {
|
|
21
21
|
pointerEvent: PointerEventType;
|
|
@@ -39,7 +39,7 @@ export type ObliqueParameters = {
|
|
|
39
39
|
/**
|
|
40
40
|
* the image pixel clicked
|
|
41
41
|
*/
|
|
42
|
-
pixel:
|
|
42
|
+
pixel: Coordinate;
|
|
43
43
|
/**
|
|
44
44
|
* true if the terrain could not be taken into account
|
|
45
45
|
*/
|
|
@@ -97,7 +97,7 @@ class AbstractInteraction {
|
|
|
97
97
|
/**
|
|
98
98
|
* The current active bitmask for {@link EventType}
|
|
99
99
|
*/
|
|
100
|
-
active:
|
|
100
|
+
active: EventType;
|
|
101
101
|
|
|
102
102
|
private _defaultModificationKey: ModificationKeyType;
|
|
103
103
|
|
|
@@ -143,7 +143,7 @@ class AbstractInteraction {
|
|
|
143
143
|
/**
|
|
144
144
|
* Called when the modifier keys have changed.
|
|
145
145
|
*/
|
|
146
|
-
// eslint-disable-next-line class-methods-use-this
|
|
146
|
+
// eslint-disable-next-line class-methods-use-this,@typescript-eslint/no-unused-vars
|
|
147
147
|
modifierChanged(_modifier: ModificationKeyType): void {}
|
|
148
148
|
|
|
149
149
|
/**
|
|
@@ -17,6 +17,41 @@ import {
|
|
|
17
17
|
import { transformFromImage } from '../oblique/helpers.js';
|
|
18
18
|
import type CesiumMap from '../map/cesiumMap.js';
|
|
19
19
|
import type ObliqueMap from '../map/obliqueMap.js';
|
|
20
|
+
import type PanoramaMap from '../map/panoramaMap.js';
|
|
21
|
+
import { cartesianToMercator } from '../util/math.js';
|
|
22
|
+
import { windowPositionToImageSpherical } from '../panorama/fieldOfView.js';
|
|
23
|
+
|
|
24
|
+
const scratchPanoramaCartesian = new Cartesian3();
|
|
25
|
+
async function getCoordinateFromPanoramap(
|
|
26
|
+
map: PanoramaMap,
|
|
27
|
+
event: InteractionEvent,
|
|
28
|
+
): Promise<InteractionEvent> {
|
|
29
|
+
const image = map.currentPanoramaImage;
|
|
30
|
+
let position = [0, 0, 0];
|
|
31
|
+
if (image) {
|
|
32
|
+
const { camera } = map.getCesiumWidget();
|
|
33
|
+
const imageCoordinate = windowPositionToImageSpherical(
|
|
34
|
+
event.windowPosition,
|
|
35
|
+
camera,
|
|
36
|
+
image.invModelMatrix,
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
event.positionOrPixel = imageCoordinate;
|
|
40
|
+
|
|
41
|
+
if (imageCoordinate) {
|
|
42
|
+
const cartesian = await image.getPositionAtImageCoordinate(
|
|
43
|
+
imageCoordinate,
|
|
44
|
+
scratchPanoramaCartesian,
|
|
45
|
+
);
|
|
46
|
+
if (cartesian) {
|
|
47
|
+
position = cartesianToMercator(cartesian);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
event.position = position;
|
|
53
|
+
return event;
|
|
54
|
+
}
|
|
20
55
|
|
|
21
56
|
/**
|
|
22
57
|
* @group Interaction
|
|
@@ -37,6 +72,8 @@ class CoordinateAtPixel extends AbstractInteraction {
|
|
|
37
72
|
return this._cesiumHandler(event);
|
|
38
73
|
} else if (event.map.className === 'ObliqueMap') {
|
|
39
74
|
return CoordinateAtPixel.obliqueHandler(event);
|
|
75
|
+
} else if (event.map.className === 'PanoramaMap') {
|
|
76
|
+
return getCoordinateFromPanoramap(event.map as PanoramaMap, event);
|
|
40
77
|
}
|
|
41
78
|
return event;
|
|
42
79
|
}
|
|
@@ -2,10 +2,8 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
2
2
|
import { Cartesian2 } from '@vcmap-cesium/engine';
|
|
3
3
|
import { check, maybe } from '@vcsuite/check';
|
|
4
4
|
import { getLogger as getLoggerByName, type Logger } from '@vcsuite/logger';
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
MapEvent,
|
|
8
|
-
} from './abstractInteraction.js';
|
|
5
|
+
import type { InteractionEvent, MapEvent } from './abstractInteraction.js';
|
|
6
|
+
import AbstractInteraction from './abstractInteraction.js';
|
|
9
7
|
import InteractionChain from './interactionChain.js';
|
|
10
8
|
import CoordinateAtPixel from './coordinateAtPixel.js';
|
|
11
9
|
import FeatureAtPixelInteraction from './featureAtPixelInteraction.js';
|
|
@@ -65,7 +63,7 @@ class EventHandler {
|
|
|
65
63
|
|
|
66
64
|
exclusiveRemoved: VcsEvent<void>;
|
|
67
65
|
|
|
68
|
-
exclusiveAdded: VcsEvent<
|
|
66
|
+
exclusiveAdded: VcsEvent<AbstractInteraction>;
|
|
69
67
|
|
|
70
68
|
private _boundKeyListener: (e: KeyboardEvent) => void;
|
|
71
69
|
|
|
@@ -170,7 +168,7 @@ class EventHandler {
|
|
|
170
168
|
removed: () => void,
|
|
171
169
|
index?: number,
|
|
172
170
|
id?: string,
|
|
173
|
-
): () =>
|
|
171
|
+
): () => number {
|
|
174
172
|
check(interaction, AbstractInteraction);
|
|
175
173
|
check(removed, Function);
|
|
176
174
|
check(index, maybe(Number));
|
|
@@ -190,7 +188,7 @@ class EventHandler {
|
|
|
190
188
|
interactions: [interaction],
|
|
191
189
|
};
|
|
192
190
|
}
|
|
193
|
-
this.exclusiveAdded.raiseEvent();
|
|
191
|
+
this.exclusiveAdded.raiseEvent(interaction);
|
|
194
192
|
return this._exclusiveUnListen.bind(
|
|
195
193
|
this,
|
|
196
194
|
interaction,
|
|
@@ -417,7 +415,7 @@ class EventHandler {
|
|
|
417
415
|
this._running = true;
|
|
418
416
|
this._interactionChain
|
|
419
417
|
.pipe(event)
|
|
420
|
-
.catch((error) => {
|
|
418
|
+
.catch((error: unknown) => {
|
|
421
419
|
getLogger().error((error as Error).message);
|
|
422
420
|
})
|
|
423
421
|
.finally(() => {
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
Scene,
|
|
3
|
+
Cartesian2,
|
|
4
|
+
Ray,
|
|
5
|
+
Billboard,
|
|
6
|
+
Label,
|
|
7
|
+
} from '@vcmap-cesium/engine';
|
|
1
8
|
import {
|
|
2
9
|
Cartesian3,
|
|
3
10
|
Cesium3DTileFeature,
|
|
4
11
|
Cesium3DTilePointFeature,
|
|
5
12
|
Entity,
|
|
6
|
-
Scene,
|
|
7
|
-
Cartesian2,
|
|
8
|
-
Ray,
|
|
9
|
-
type Label,
|
|
10
|
-
Billboard,
|
|
11
13
|
} from '@vcmap-cesium/engine';
|
|
12
|
-
import OLMap from 'ol/Map.js';
|
|
14
|
+
import type OLMap from 'ol/Map.js';
|
|
13
15
|
import type { Feature } from 'ol/index.js';
|
|
14
16
|
import AbstractInteraction, {
|
|
15
17
|
type EventFeature,
|
|
@@ -27,7 +29,8 @@ import type ObliqueMap from '../map/obliqueMap.js';
|
|
|
27
29
|
import type CesiumMap from '../map/cesiumMap.js';
|
|
28
30
|
import { vectorClusterGroupName } from '../vectorCluster/vectorClusterSymbols.js';
|
|
29
31
|
import { cartesianToMercator } from '../util/math.js';
|
|
30
|
-
import { PrimitiveType } from '../util/featureconverter/convert.js';
|
|
32
|
+
import type { PrimitiveType } from '../util/featureconverter/convert.js';
|
|
33
|
+
import type PanoramaMap from '../map/panoramaMap.js';
|
|
31
34
|
|
|
32
35
|
/**
|
|
33
36
|
* This is the return from cesium scene.pick and scene.drillPick, which returns "any". We cast to this type.
|
|
@@ -116,7 +119,7 @@ export function getFeatureFromPickObject(
|
|
|
116
119
|
return feature;
|
|
117
120
|
}
|
|
118
121
|
|
|
119
|
-
function getFeatureFromScene(
|
|
122
|
+
export function getFeatureFromScene(
|
|
120
123
|
scene: Scene,
|
|
121
124
|
windowPosition: Cartesian2,
|
|
122
125
|
hitTolerance: number,
|
|
@@ -185,7 +188,7 @@ class FeatureAtPixelInteraction extends AbstractInteraction {
|
|
|
185
188
|
|
|
186
189
|
private _draggingFeature: EventFeature | undefined;
|
|
187
190
|
|
|
188
|
-
private _excludeFromPickPosition
|
|
191
|
+
private _excludeFromPickPosition = new Set<Feature>();
|
|
189
192
|
|
|
190
193
|
constructor() {
|
|
191
194
|
super(
|
|
@@ -212,9 +215,13 @@ class FeatureAtPixelInteraction extends AbstractInteraction {
|
|
|
212
215
|
await this._openlayersHandler(event);
|
|
213
216
|
} else if (event.map.className === 'ObliqueMap') {
|
|
214
217
|
await this._obliqueHandler(event);
|
|
215
|
-
} else if (
|
|
218
|
+
} else if (
|
|
219
|
+
event.map.className === 'CesiumMap' ||
|
|
220
|
+
event.map.className === 'PanoramaMap'
|
|
221
|
+
) {
|
|
216
222
|
await this._cesiumHandler(event);
|
|
217
223
|
}
|
|
224
|
+
|
|
218
225
|
if (event.type & EventType.DRAGSTART && event.feature) {
|
|
219
226
|
this._draggingFeature = event.feature;
|
|
220
227
|
}
|
|
@@ -276,8 +283,8 @@ class FeatureAtPixelInteraction extends AbstractInteraction {
|
|
|
276
283
|
}
|
|
277
284
|
|
|
278
285
|
private _cesiumHandler(event: InteractionEvent): Promise<InteractionEvent> {
|
|
279
|
-
const cesiumMap = event.map as CesiumMap;
|
|
280
|
-
const scene = cesiumMap.
|
|
286
|
+
const cesiumMap = event.map as CesiumMap | PanoramaMap;
|
|
287
|
+
const { scene } = cesiumMap.getCesiumWidget()!;
|
|
281
288
|
|
|
282
289
|
if (!scene) {
|
|
283
290
|
return Promise.resolve(event);
|
|
@@ -298,7 +305,11 @@ class FeatureAtPixelInteraction extends AbstractInteraction {
|
|
|
298
305
|
return Promise.resolve(event);
|
|
299
306
|
}
|
|
300
307
|
|
|
301
|
-
if (
|
|
308
|
+
if (
|
|
309
|
+
pickObject &&
|
|
310
|
+
scene.pickPositionSupported &&
|
|
311
|
+
event.map.className === 'CesiumMap'
|
|
312
|
+
) {
|
|
302
313
|
if (this.pickTranslucent) {
|
|
303
314
|
scene.pickTranslucentDepth = true;
|
|
304
315
|
event.exactPosition = true;
|
|
@@ -49,13 +49,12 @@ class FeatureProviderInteraction extends AbstractInteraction {
|
|
|
49
49
|
// TODO make sure the layers are rendered, check min/max RenderingResolution
|
|
50
50
|
const features = (
|
|
51
51
|
await Promise.all(
|
|
52
|
-
layersWithProvider.map(
|
|
53
|
-
(
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
),
|
|
52
|
+
layersWithProvider.map((l) =>
|
|
53
|
+
l.featureProvider?.getFeaturesByCoordinate?.(
|
|
54
|
+
event.position as Coordinate,
|
|
55
|
+
resolution,
|
|
56
|
+
l.headers,
|
|
57
|
+
),
|
|
59
58
|
),
|
|
60
59
|
)
|
|
61
60
|
)
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import type { Feature } from 'ol/index.js';
|
|
2
|
+
import AbstractInteraction, {
|
|
3
|
+
type InteractionEvent,
|
|
4
|
+
} from './abstractInteraction.js';
|
|
5
|
+
import { EventType } from './interactionType.js';
|
|
6
|
+
import { panoramaFeature } from '../layer/vectorSymbols.js';
|
|
7
|
+
import PanoramaMap from '../map/panoramaMap.js';
|
|
8
|
+
import { getFeatureFromScene } from './featureAtPixelInteraction.js';
|
|
9
|
+
import { getDefaultHighlightStyle } from '../util/editor/selectFeaturesSession.js';
|
|
10
|
+
import type { PanoramaDatasetFeatureProperties } from '../layer/panoramaDatasetLayer.js';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Throttle time in milliseconds to limit how frequently mouse move events are processed.
|
|
14
|
+
* This prevents excessive highlighting/unhighlighting operations during rapid mouse movements
|
|
15
|
+
* and improves overall performance by reducing CPU load.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* - 50ms equals approximately 20 FPS update rate
|
|
19
|
+
* - Lower values increase responsiveness but use more CPU
|
|
20
|
+
* - Higher values reduce CPU usage but may feel less responsive
|
|
21
|
+
*/
|
|
22
|
+
const THROTTLE_TIME_MS = 50;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Interaction class that handles highlighting of panorama tiles on mouse move.
|
|
26
|
+
*
|
|
27
|
+
* This interaction listens for mouse move events over a PanoramaMap and highlights
|
|
28
|
+
* panorama features under the cursor. When the mouse moves to a different feature,
|
|
29
|
+
* the previous feature is unhighlighted and the new one is highlighted. When the
|
|
30
|
+
* mouse leaves all features, the last highlighted feature is unhighlighted.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const highlightInteraction = new PanoramaFeatureHighlight();
|
|
35
|
+
* map.addInteraction(highlightInteraction);
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @remarks
|
|
39
|
+
* - Uses throttling (50ms) to improve performance during rapid mouse movements
|
|
40
|
+
* - Only works with PanoramaMap instances
|
|
41
|
+
* - Prevents race conditions with internal processing flag
|
|
42
|
+
* - Automatically cleans up highlights when destroyed
|
|
43
|
+
*/
|
|
44
|
+
export default class PanoramaFeatureHighlight extends AbstractInteraction {
|
|
45
|
+
private _lastPickTime = 0;
|
|
46
|
+
private _lastPickedPanoramaFeature:
|
|
47
|
+
| PanoramaDatasetFeatureProperties
|
|
48
|
+
| undefined = undefined;
|
|
49
|
+
|
|
50
|
+
constructor() {
|
|
51
|
+
super(EventType.MOVE);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
private _unhighlightLastFeature(): void {
|
|
55
|
+
if (this._lastPickedPanoramaFeature) {
|
|
56
|
+
this._lastPickedPanoramaFeature.dataset.featureVisibility.unHighlight([
|
|
57
|
+
this._lastPickedPanoramaFeature.name,
|
|
58
|
+
]);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
override pipe(event: InteractionEvent): Promise<InteractionEvent> {
|
|
63
|
+
const now = Date.now();
|
|
64
|
+
|
|
65
|
+
if (now - this._lastPickTime < THROTTLE_TIME_MS) {
|
|
66
|
+
return Promise.resolve(event);
|
|
67
|
+
}
|
|
68
|
+
this._lastPickTime = now;
|
|
69
|
+
|
|
70
|
+
if (event.map instanceof PanoramaMap) {
|
|
71
|
+
const picked = getFeatureFromScene(
|
|
72
|
+
event.map.getCesiumWidget().scene,
|
|
73
|
+
event.windowPosition,
|
|
74
|
+
10,
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
if (picked.feature && (picked.feature as Feature)[panoramaFeature]) {
|
|
78
|
+
const { dataset, name } = (picked.feature as Feature)[panoramaFeature]!;
|
|
79
|
+
|
|
80
|
+
if (name !== this._lastPickedPanoramaFeature?.name) {
|
|
81
|
+
this._unhighlightLastFeature();
|
|
82
|
+
|
|
83
|
+
dataset.featureVisibility.highlight({
|
|
84
|
+
[name]: getDefaultHighlightStyle(),
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
this._lastPickedPanoramaFeature = (picked.feature as Feature)[
|
|
88
|
+
panoramaFeature
|
|
89
|
+
]!;
|
|
90
|
+
}
|
|
91
|
+
} else if (this._lastPickedPanoramaFeature?.name !== undefined) {
|
|
92
|
+
this._unhighlightLastFeature();
|
|
93
|
+
this._lastPickedPanoramaFeature = undefined;
|
|
94
|
+
}
|
|
95
|
+
} else {
|
|
96
|
+
this._unhighlightLastFeature();
|
|
97
|
+
}
|
|
98
|
+
return Promise.resolve(event);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
destroy(): void {
|
|
102
|
+
if (this._lastPickedPanoramaFeature) {
|
|
103
|
+
this._lastPickedPanoramaFeature.dataset.featureVisibility.unHighlight([
|
|
104
|
+
this._lastPickedPanoramaFeature.name,
|
|
105
|
+
]);
|
|
106
|
+
}
|
|
107
|
+
super.destroy();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Feature } from 'ol/index.js';
|
|
2
|
+
import type { InteractionEvent } from './abstractInteraction.js';
|
|
3
|
+
import AbstractInteraction from './abstractInteraction.js';
|
|
4
|
+
import { EventType } from './interactionType.js';
|
|
5
|
+
import PanoramaMap from '../map/panoramaMap.js';
|
|
6
|
+
import type MapCollection from '../util/mapCollection.js';
|
|
7
|
+
import { panoramaFeature } from '../layer/vectorSymbols.js';
|
|
8
|
+
|
|
9
|
+
export default class PanoramaImageSelection extends AbstractInteraction {
|
|
10
|
+
constructor(private _mapCollection: MapCollection) {
|
|
11
|
+
super(EventType.CLICK);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
override async pipe(event: InteractionEvent): Promise<InteractionEvent> {
|
|
15
|
+
if (event.feature && (event.feature as Feature)[panoramaFeature]) {
|
|
16
|
+
const { dataset, name } = (event.feature as Feature)[panoramaFeature]!;
|
|
17
|
+
const panoramaImage = await dataset.createPanoramaImage(name);
|
|
18
|
+
event.stopPropagation = true;
|
|
19
|
+
|
|
20
|
+
if (event.map instanceof PanoramaMap) {
|
|
21
|
+
event.map.setCurrentImage(panoramaImage);
|
|
22
|
+
} else {
|
|
23
|
+
const firstPanoramaMap = this._mapCollection.getByType(
|
|
24
|
+
PanoramaMap.className,
|
|
25
|
+
)[0];
|
|
26
|
+
if (firstPanoramaMap) {
|
|
27
|
+
await this._mapCollection.activatePanoramaMap(
|
|
28
|
+
firstPanoramaMap as PanoramaMap,
|
|
29
|
+
panoramaImage,
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return event;
|
|
36
|
+
}
|
|
37
|
+
}
|