@vcmap/core 6.1.11 → 6.2.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -6
- package/build/buildShader.js +61 -0
- package/build/postinstall.js +6 -3
- package/dist/cesium.d.ts +57 -18
- package/dist/geojson.d.ts +3 -2
- package/dist/index.d.ts +244 -109
- package/dist/index.js +82 -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/cogCesiumImpl.d.ts +14 -0
- package/dist/src/layer/cesium/cogCesiumImpl.js +28 -0
- package/dist/src/layer/cesium/cogCesiumImpl.js.map +1 -0
- package/dist/src/layer/cesium/cogImageryProvider.d.ts +31 -0
- package/dist/src/layer/cesium/cogImageryProvider.js +258 -0
- package/dist/src/layer/cesium/cogImageryProvider.js.map +1 -0
- 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/cogLayer.d.ts +37 -0
- package/dist/src/layer/cogLayer.js +119 -0
- package/dist/src/layer/cogLayer.js.map +1 -0
- 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/cogOpenlayersImpl.d.ts +23 -0
- package/dist/src/layer/openlayers/cogOpenlayersImpl.js +54 -0
- package/dist/src/layer/openlayers/cogOpenlayersImpl.js.map +1 -0
- package/dist/src/layer/openlayers/layerOpenlayersImpl.d.ts +4 -2
- package/dist/src/layer/openlayers/layerOpenlayersImpl.js +5 -4
- 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 +53 -0
- package/dist/src/layer/panoramaDatasetLayer.js +192 -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 +298 -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/panoramaImageView.d.ts +25 -0
- package/dist/src/panorama/panoramaImageView.js +328 -0
- package/dist/src/panorama/panoramaImageView.js.map +1 -0
- package/dist/src/panorama/panoramaTile.d.ts +23 -0
- package/dist/src/panorama/panoramaTile.js +101 -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 +96 -0
- package/dist/src/panorama/panoramaTileMaterial.js +213 -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 +312 -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/flightRecorder.d.ts +10 -0
- package/dist/src/util/flight/flightRecorder.js +172 -0
- package/dist/src/util/flight/flightRecorder.js.map +1 -0
- 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/math.d.ts +4 -1
- package/dist/src/util/math.js +20 -1
- package/dist/src/util/math.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/cog/test_grey_world.tif +0 -0
- package/dist/tests/data/cog/test_rgb.tif +0 -0
- package/dist/tests/data/cog/test_rgb_world.tif +0 -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 +325 -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 +57 -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/cogCesiumImpl.ts +36 -0
- package/src/layer/cesium/cogImageryProvider.ts +389 -0
- 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/cogLayer.ts +162 -0
- 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/cogOpenlayersImpl.ts +75 -0
- package/src/layer/openlayers/layerOpenlayersImpl.ts +9 -7
- 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 +272 -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 +415 -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/panoramaImageView.ts +445 -0
- package/src/panorama/panoramaTile.ts +154 -0
- package/src/panorama/panoramaTileCache.ts +40 -0
- package/src/panorama/panoramaTileCoordinate.ts +166 -0
- package/src/panorama/panoramaTileMaterial.ts +309 -0
- package/src/panorama/panoramaTileMaterialFS.glsl +165 -0
- package/src/panorama/panoramaTilePrimitiveCollection.ts +158 -0
- package/src/panorama/panoramaTileProvider.ts +533 -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/flightRecorder.ts +234 -0
- 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/math.ts +34 -0
- 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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import VcsEvent from './vcsEvent.js';
|
|
2
|
-
import { default as ClassRegistry,
|
|
2
|
+
import type { default as ClassRegistry, CtorType, AbstractCtor } from './classRegistry.js';
|
|
3
3
|
declare class OverrideClassRegistry<T extends AbstractCtor> {
|
|
4
4
|
private _coreClassRegistry;
|
|
5
5
|
private _classMap;
|
|
@@ -17,7 +17,7 @@ declare class OverrideClassRegistry<T extends AbstractCtor> {
|
|
|
17
17
|
/**
|
|
18
18
|
* Register a class for a given module by name. If the class already exists, it will be replaced and replaced called with the classeName.
|
|
19
19
|
*/
|
|
20
|
-
registerClass(moduleId: string, className: string, ctor:
|
|
20
|
+
registerClass(moduleId: string, className: string, ctor: CtorType<T>): void;
|
|
21
21
|
/**
|
|
22
22
|
* Unregister a previously registered class. You can only unregister classes added to this registry, not the underlying core registry.
|
|
23
23
|
* If when registering this class you have replaced class, it will be re-instated and replaced called.
|
|
@@ -27,7 +27,7 @@ declare class OverrideClassRegistry<T extends AbstractCtor> {
|
|
|
27
27
|
/**
|
|
28
28
|
* Gets the constructor for a registered class or undefined, if no such class was registerd
|
|
29
29
|
*/
|
|
30
|
-
getClass(className: string):
|
|
30
|
+
getClass(className: string): CtorType<T> | undefined;
|
|
31
31
|
hasClass(className: string): boolean;
|
|
32
32
|
/**
|
|
33
33
|
* Create an object of the given className. The constructor is passed args.
|
|
@@ -108,6 +108,7 @@ class OverrideClassRegistry {
|
|
|
108
108
|
*/
|
|
109
109
|
create(className, ...args) {
|
|
110
110
|
check(className, String);
|
|
111
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
111
112
|
const Constructor = this.getClass(className);
|
|
112
113
|
if (!Constructor) {
|
|
113
114
|
logger().error(`could not find constructor ${className}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overrideClassRegistry.js","sourceRoot":"","sources":["../../src/overrideClassRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAe,MAAM,iBAAiB,CAAC;AACzD,OAAO,QAAQ,MAAM,eAAe,CAAC;AAQrC,SAAS,MAAM;IACb,OAAO,SAAS,CAAC,uBAAuB,CAAC,CAAC;AAC5C,CAAC;
|
|
1
|
+
{"version":3,"file":"overrideClassRegistry.js","sourceRoot":"","sources":["../../src/overrideClassRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { Extent } from 'ol/extent.js';
|
|
2
|
+
import type { Camera, Cartesian2, Matrix4 } from '@vcmap-cesium/engine';
|
|
3
|
+
import { Cartesian3 } from '@vcmap-cesium/engine';
|
|
4
|
+
/**
|
|
5
|
+
* The field of view of a camera in global cartesian coordinates
|
|
6
|
+
*/
|
|
7
|
+
export type Fov = {
|
|
8
|
+
top: Cartesian3;
|
|
9
|
+
right: Cartesian3;
|
|
10
|
+
bottom: Cartesian3;
|
|
11
|
+
left: Cartesian3;
|
|
12
|
+
topLeft: Cartesian3;
|
|
13
|
+
topRight: Cartesian3;
|
|
14
|
+
bottomLeft: Cartesian3;
|
|
15
|
+
bottomRight: Cartesian3;
|
|
16
|
+
center: Cartesian3;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* The field of view of a camera in image spherical coordinates ordered ([phi, theta]).
|
|
20
|
+
* See the sphericalCoordinates module for more information on how for more information.
|
|
21
|
+
*/
|
|
22
|
+
export type ProjectedFov = Record<keyof Fov, [number, number]>;
|
|
23
|
+
export declare function createEmptyFov(): Fov;
|
|
24
|
+
export declare function createEmptyProjectedFov(): ProjectedFov;
|
|
25
|
+
/**
|
|
26
|
+
* Returns the field of view of a camera in global cartesian coordinates assuming a perspective frustum & a distance of 1.
|
|
27
|
+
* an interpretation of https://gamedev.stackexchange.com/a/55248
|
|
28
|
+
* technically only used for debugging outside of this module.
|
|
29
|
+
*/
|
|
30
|
+
export declare function getFov(camera: Camera, result?: Fov): Fov;
|
|
31
|
+
/**
|
|
32
|
+
* Returns the field of view of a camera projected into the image spherical coordinates
|
|
33
|
+
* technically only used for debugging outside of this module.
|
|
34
|
+
* @param camera
|
|
35
|
+
* @param invModelMatrix - the inverse model matrix of the image.
|
|
36
|
+
* @returns The projected fov in image spherical coordinates.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getProjectedFov(camera: Camera, invModelMatrix: Matrix4): ProjectedFov;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the extent of the fov in image spherical coordinates. May return two extents, if the FOV wraps around along the longitude.
|
|
41
|
+
* it DOES NOT handle the case where the fov wraps around the poles (the pole is in the fov).
|
|
42
|
+
* Furthermore, the camera has to be aligned with the up axis of the sphere. it is not allowed to be rolled.
|
|
43
|
+
* @param camera
|
|
44
|
+
* @param invModelMatrix - the inverse model matrix of the panorama image to create the projected fov for
|
|
45
|
+
* @returns The extent of the fov in image spherical coordinates and the center. if providing more than on extent, the first will be up until 2 * PI and the second starting at 0.
|
|
46
|
+
*/
|
|
47
|
+
export declare function getFovImageSphericalExtent(camera: Camera, invModelMatrix: Matrix4): {
|
|
48
|
+
extents: [Extent] | [Extent, Extent];
|
|
49
|
+
center: [number, number];
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* creates a ray from the camera to the window position and try to intersect it with the unit sphere.
|
|
53
|
+
* @param windowPosition
|
|
54
|
+
* @param camera
|
|
55
|
+
* @param invModelMatrix
|
|
56
|
+
*/
|
|
57
|
+
export declare function windowPositionToImageSpherical(windowPosition: Cartesian2, camera: Camera, invModelMatrix: Matrix4): [number, number] | undefined;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Cartesian3, Math as CesiumMath } from '@vcmap-cesium/engine';
|
|
2
|
+
import { globalCartesianToImageSpherical } from './sphericalCoordinates.js';
|
|
3
|
+
export function createEmptyFov() {
|
|
4
|
+
return {
|
|
5
|
+
top: new Cartesian3(),
|
|
6
|
+
right: new Cartesian3(),
|
|
7
|
+
bottom: new Cartesian3(),
|
|
8
|
+
left: new Cartesian3(),
|
|
9
|
+
topLeft: new Cartesian3(),
|
|
10
|
+
topRight: new Cartesian3(),
|
|
11
|
+
bottomLeft: new Cartesian3(),
|
|
12
|
+
bottomRight: new Cartesian3(),
|
|
13
|
+
center: new Cartesian3(),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export function createEmptyProjectedFov() {
|
|
17
|
+
return {
|
|
18
|
+
top: [0, 0],
|
|
19
|
+
right: [0, 0],
|
|
20
|
+
bottom: [0, 0],
|
|
21
|
+
left: [0, 0],
|
|
22
|
+
topLeft: [0, 0],
|
|
23
|
+
topRight: [0, 0],
|
|
24
|
+
bottomLeft: [0, 0],
|
|
25
|
+
bottomRight: [0, 0],
|
|
26
|
+
center: [0, 0],
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const scratchUpHalfHeight = new Cartesian3();
|
|
30
|
+
const scratchRightHalfWidth = new Cartesian3();
|
|
31
|
+
/**
|
|
32
|
+
* Returns the field of view of a camera in global cartesian coordinates assuming a perspective frustum & a distance of 1.
|
|
33
|
+
* an interpretation of https://gamedev.stackexchange.com/a/55248
|
|
34
|
+
* technically only used for debugging outside of this module.
|
|
35
|
+
*/
|
|
36
|
+
export function getFov(camera, result) {
|
|
37
|
+
const frustum = camera.frustum;
|
|
38
|
+
const hNear = 2 * Math.tan(frustum.fov / 2) * frustum.near;
|
|
39
|
+
const wNear = hNear * frustum.aspectRatio;
|
|
40
|
+
const hNearHalf = hNear / 2;
|
|
41
|
+
const wNearHalf = wNear / 2;
|
|
42
|
+
const output = result ?? createEmptyFov();
|
|
43
|
+
const cNear = Cartesian3.add(camera.position, Cartesian3.multiplyByScalar(camera.direction, frustum.near, output.center), output.center);
|
|
44
|
+
const upHalf = Cartesian3.multiplyByScalar(camera.up, hNearHalf, scratchUpHalfHeight);
|
|
45
|
+
const rightHalf = Cartesian3.multiplyByScalar(camera.right, wNearHalf, scratchRightHalfWidth);
|
|
46
|
+
output.top = Cartesian3.add(cNear, upHalf, output.top);
|
|
47
|
+
output.right = Cartesian3.add(cNear, rightHalf, output.right);
|
|
48
|
+
output.bottom = Cartesian3.subtract(cNear, upHalf, output.bottom);
|
|
49
|
+
output.left = Cartesian3.subtract(cNear, rightHalf, output.left);
|
|
50
|
+
output.topLeft = Cartesian3.subtract(Cartesian3.add(cNear, upHalf, output.topLeft), rightHalf, output.topLeft);
|
|
51
|
+
output.topRight = Cartesian3.add(Cartesian3.add(cNear, upHalf, output.topRight), rightHalf, output.topRight);
|
|
52
|
+
output.bottomLeft = Cartesian3.subtract(Cartesian3.subtract(cNear, upHalf, output.bottomLeft), rightHalf, output.bottomLeft);
|
|
53
|
+
output.bottomRight = Cartesian3.add(Cartesian3.subtract(cNear, upHalf, output.bottomRight), rightHalf, output.bottomRight);
|
|
54
|
+
output.center = cNear;
|
|
55
|
+
return output;
|
|
56
|
+
}
|
|
57
|
+
function projectFov(fov, invModelMatrix, result) {
|
|
58
|
+
const projected = result ?? createEmptyProjectedFov();
|
|
59
|
+
for (const [key, corner] of Object.entries(fov)) {
|
|
60
|
+
projected[key] = globalCartesianToImageSpherical(corner, invModelMatrix);
|
|
61
|
+
}
|
|
62
|
+
return projected;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Returns the field of view of a camera projected into the image spherical coordinates
|
|
66
|
+
* technically only used for debugging outside of this module.
|
|
67
|
+
* @param camera
|
|
68
|
+
* @param invModelMatrix - the inverse model matrix of the image.
|
|
69
|
+
* @returns The projected fov in image spherical coordinates.
|
|
70
|
+
*/
|
|
71
|
+
export function getProjectedFov(camera, invModelMatrix) {
|
|
72
|
+
const fov = getFov(camera);
|
|
73
|
+
return projectFov(fov, invModelMatrix);
|
|
74
|
+
}
|
|
75
|
+
const scratchExtentFov = createEmptyFov();
|
|
76
|
+
const scratchExtentProjectedFov = createEmptyProjectedFov();
|
|
77
|
+
function getRightBound(projectedFov) {
|
|
78
|
+
return Math.max(projectedFov.right[0], projectedFov.topRight[0], projectedFov.bottomRight[0]);
|
|
79
|
+
}
|
|
80
|
+
function getLeftBound(projectedFov) {
|
|
81
|
+
return Math.min(projectedFov.left[0], projectedFov.topLeft[0], projectedFov.bottomLeft[0]);
|
|
82
|
+
}
|
|
83
|
+
function getTopBound(projectedFov) {
|
|
84
|
+
return Math.min(projectedFov.top[1], projectedFov.topLeft[1], projectedFov.topRight[1]);
|
|
85
|
+
}
|
|
86
|
+
function getBottomBound(projectedFov) {
|
|
87
|
+
return Math.max(projectedFov.bottom[1], projectedFov.bottomLeft[1], projectedFov.bottomRight[1]);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Returns the extent of the fov in image spherical coordinates. May return two extents, if the FOV wraps around along the longitude.
|
|
91
|
+
* it DOES NOT handle the case where the fov wraps around the poles (the pole is in the fov).
|
|
92
|
+
* Furthermore, the camera has to be aligned with the up axis of the sphere. it is not allowed to be rolled.
|
|
93
|
+
* @param camera
|
|
94
|
+
* @param invModelMatrix - the inverse model matrix of the panorama image to create the projected fov for
|
|
95
|
+
* @returns The extent of the fov in image spherical coordinates and the center. if providing more than on extent, the first will be up until 2 * PI and the second starting at 0.
|
|
96
|
+
*/
|
|
97
|
+
export function getFovImageSphericalExtent(camera, invModelMatrix) {
|
|
98
|
+
const fov = getFov(camera, scratchExtentFov);
|
|
99
|
+
const projectedFov = projectFov(fov, invModelMatrix, scratchExtentProjectedFov);
|
|
100
|
+
const simpleExtent = [
|
|
101
|
+
getLeftBound(projectedFov),
|
|
102
|
+
getTopBound(projectedFov),
|
|
103
|
+
getRightBound(projectedFov),
|
|
104
|
+
getBottomBound(projectedFov),
|
|
105
|
+
];
|
|
106
|
+
let extents;
|
|
107
|
+
if (simpleExtent[0] > simpleExtent[2]) {
|
|
108
|
+
extents = [
|
|
109
|
+
[simpleExtent[0], simpleExtent[1], CesiumMath.TWO_PI, simpleExtent[3]],
|
|
110
|
+
[0, simpleExtent[1], simpleExtent[2], simpleExtent[3]],
|
|
111
|
+
];
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
extents = [simpleExtent];
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
extents,
|
|
118
|
+
center: projectedFov.center,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* creates a ray from the camera to the window position and try to intersect it with the unit sphere.
|
|
123
|
+
* @param windowPosition
|
|
124
|
+
* @param camera
|
|
125
|
+
* @param invModelMatrix
|
|
126
|
+
*/
|
|
127
|
+
export function windowPositionToImageSpherical(windowPosition, camera, invModelMatrix) {
|
|
128
|
+
const ray = camera.getPickRay(windowPosition);
|
|
129
|
+
if (!ray) {
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
const intersectionPoint = Cartesian3.add(ray.origin, ray.direction, new Cartesian3());
|
|
133
|
+
return globalCartesianToImageSpherical(intersectionPoint, invModelMatrix);
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=fieldOfView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fieldOfView.js","sourceRoot":"","sources":["../../../src/panorama/fieldOfView.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type PanoramaMap from '../map/panoramaMap.js';
|
|
2
|
+
/**
|
|
3
|
+
* maximum pitch allowed for the camera in radians
|
|
4
|
+
*/
|
|
5
|
+
export declare const MAX_PITCH: number;
|
|
6
|
+
/**
|
|
7
|
+
* minimum pitch allowed for the camera in radians
|
|
8
|
+
*/
|
|
9
|
+
export declare const MIN_PITCH: number;
|
|
10
|
+
/**
|
|
11
|
+
* maximum field of view allowed for the camera in radians
|
|
12
|
+
*/
|
|
13
|
+
export declare const MAX_FOV: number;
|
|
14
|
+
/**
|
|
15
|
+
* minimum field of view allowed for the camera in radians
|
|
16
|
+
*/
|
|
17
|
+
export declare const MIN_FOV: number;
|
|
18
|
+
/**
|
|
19
|
+
* The panorama camera controller allows to control the camera of a panorama map
|
|
20
|
+
* by dragging the mouse and zooming in and out with the mouse wheel.
|
|
21
|
+
*/
|
|
22
|
+
export type PanoramaCameraController = {
|
|
23
|
+
/**
|
|
24
|
+
* Zooms in, until MIN_FOV of 10 degrees is reached
|
|
25
|
+
* @param [step=0.1] - optional step in radians
|
|
26
|
+
*/
|
|
27
|
+
zoomIn: (step?: number) => void;
|
|
28
|
+
/**
|
|
29
|
+
* Zooms out, until MAX_FOV of 120 degrees is reached
|
|
30
|
+
* @param [step=0.1] - optional step in radians
|
|
31
|
+
*/
|
|
32
|
+
zoomOut: (step?: number) => void;
|
|
33
|
+
destroy: () => void;
|
|
34
|
+
};
|
|
35
|
+
export declare function createPanoramaCameraController(map: PanoramaMap): PanoramaCameraController;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Cartesian2, Math as CesiumMath, ScreenSpaceEventType, } from '@vcmap-cesium/engine';
|
|
2
|
+
import { windowPositionToImageSpherical } from './fieldOfView.js';
|
|
3
|
+
import { PointerEventType, PointerKeyType, } from '../interaction/interactionType.js';
|
|
4
|
+
/**
|
|
5
|
+
* maximum pitch allowed for the camera in radians
|
|
6
|
+
*/
|
|
7
|
+
export const MAX_PITCH = CesiumMath.toRadians(85);
|
|
8
|
+
/**
|
|
9
|
+
* minimum pitch allowed for the camera in radians
|
|
10
|
+
*/
|
|
11
|
+
export const MIN_PITCH = -MAX_PITCH;
|
|
12
|
+
/**
|
|
13
|
+
* maximum field of view allowed for the camera in radians
|
|
14
|
+
*/
|
|
15
|
+
export const MAX_FOV = CesiumMath.toRadians(120);
|
|
16
|
+
/**
|
|
17
|
+
* minimum field of view allowed for the camera in radians
|
|
18
|
+
*/
|
|
19
|
+
export const MIN_FOV = CesiumMath.toRadians(10);
|
|
20
|
+
/**
|
|
21
|
+
* decay factor for the inertia delay
|
|
22
|
+
*/
|
|
23
|
+
const INERTIA_DECAY = 0.8;
|
|
24
|
+
/**
|
|
25
|
+
* number of frames to decay the inertia
|
|
26
|
+
*/
|
|
27
|
+
const DECAY_FRAMES = 60;
|
|
28
|
+
export function createPanoramaCameraController(map) {
|
|
29
|
+
const widget = map.getCesiumWidget();
|
|
30
|
+
const { camera } = widget;
|
|
31
|
+
const frustum = camera.frustum;
|
|
32
|
+
const pointerInput = {
|
|
33
|
+
startPosition: new Cartesian2(),
|
|
34
|
+
position: new Cartesian2(),
|
|
35
|
+
leftDown: false,
|
|
36
|
+
};
|
|
37
|
+
map.pointerInteractionEvent.addEventListener((event) => {
|
|
38
|
+
if (event.pointer === PointerKeyType.LEFT) {
|
|
39
|
+
if (event.pointerEvent === PointerEventType.DOWN) {
|
|
40
|
+
pointerInput.leftDown = true;
|
|
41
|
+
// set the spherical position of the pointer on the sphere here.
|
|
42
|
+
pointerInput.position = event.windowPosition.clone(pointerInput.position);
|
|
43
|
+
pointerInput.startPosition = event.windowPosition.clone(pointerInput.startPosition);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
pointerInput.leftDown = false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else if (event.pointerEvent === PointerEventType.MOVE &&
|
|
50
|
+
pointerInput.leftDown) {
|
|
51
|
+
pointerInput.position = event.windowPosition.clone(pointerInput.position);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
function panoZoom(event, step = 0.1) {
|
|
55
|
+
if (event > 0 && frustum.fov > MIN_FOV) {
|
|
56
|
+
frustum.fov -= step;
|
|
57
|
+
if (frustum.fov < MIN_FOV) {
|
|
58
|
+
frustum.fov = MIN_FOV;
|
|
59
|
+
}
|
|
60
|
+
map.panoramaView.render();
|
|
61
|
+
}
|
|
62
|
+
else if (event < 0 && frustum.fov < MAX_FOV) {
|
|
63
|
+
frustum.fov += step;
|
|
64
|
+
if (frustum.fov > MAX_FOV) {
|
|
65
|
+
frustum.fov = MAX_FOV;
|
|
66
|
+
}
|
|
67
|
+
map.panoramaView.render();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
map.screenSpaceEventHandler.setInputAction((event) => {
|
|
71
|
+
if (!map.movementPointerEventsDisabled) {
|
|
72
|
+
panoZoom(event);
|
|
73
|
+
}
|
|
74
|
+
}, ScreenSpaceEventType.WHEEL);
|
|
75
|
+
let yInertia = 0;
|
|
76
|
+
let xInertia = 0;
|
|
77
|
+
let decay = 0;
|
|
78
|
+
function ensurePitch() {
|
|
79
|
+
if (camera.pitch > MAX_PITCH) {
|
|
80
|
+
camera.look(camera.right, camera.pitch - MAX_PITCH);
|
|
81
|
+
}
|
|
82
|
+
else if (camera.pitch < MIN_PITCH) {
|
|
83
|
+
camera.look(camera.right, camera.pitch - MIN_PITCH);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
let currentImage = map.currentPanoramaImage;
|
|
87
|
+
const imageListener = map.currentImageChanged.addEventListener((image) => {
|
|
88
|
+
currentImage = image;
|
|
89
|
+
});
|
|
90
|
+
let animationFrameHandle;
|
|
91
|
+
const loop = () => {
|
|
92
|
+
if (currentImage &&
|
|
93
|
+
!widget.scene.screenSpaceCameraController.enableInputs &&
|
|
94
|
+
!map.movementPointerEventsDisabled) {
|
|
95
|
+
if (pointerInput.leftDown) {
|
|
96
|
+
const { position, startPosition } = pointerInput;
|
|
97
|
+
const startImagePosition = windowPositionToImageSpherical(startPosition, camera, currentImage.invModelMatrix);
|
|
98
|
+
const newImagePosition = windowPositionToImageSpherical(position, camera, currentImage.invModelMatrix);
|
|
99
|
+
if (startImagePosition && newImagePosition) {
|
|
100
|
+
let diffX = startImagePosition[0] - newImagePosition[0];
|
|
101
|
+
if (diffX > CesiumMath.PI) {
|
|
102
|
+
diffX -= CesiumMath.TWO_PI;
|
|
103
|
+
}
|
|
104
|
+
else if (diffX < -CesiumMath.PI) {
|
|
105
|
+
diffX += CesiumMath.TWO_PI;
|
|
106
|
+
}
|
|
107
|
+
const diffY = startImagePosition[1] - newImagePosition[1];
|
|
108
|
+
widget.camera.look(currentImage.up, diffX);
|
|
109
|
+
widget.camera.look(camera.right, diffY);
|
|
110
|
+
yInertia = diffY;
|
|
111
|
+
xInertia = diffX;
|
|
112
|
+
decay = 0;
|
|
113
|
+
ensurePitch();
|
|
114
|
+
pointerInput.startPosition = position.clone(startPosition);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
else if (decay < DECAY_FRAMES) {
|
|
118
|
+
decay += 1;
|
|
119
|
+
xInertia *= INERTIA_DECAY;
|
|
120
|
+
widget.camera.look(currentImage.up, xInertia);
|
|
121
|
+
yInertia *= INERTIA_DECAY;
|
|
122
|
+
widget.camera.look(camera.right, yInertia);
|
|
123
|
+
ensurePitch();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
animationFrameHandle = requestAnimationFrame(loop);
|
|
127
|
+
};
|
|
128
|
+
loop();
|
|
129
|
+
return {
|
|
130
|
+
zoomIn(step = 0.1) {
|
|
131
|
+
if (!map.movementApiCallsDisabled) {
|
|
132
|
+
panoZoom(1, step);
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
zoomOut(step = 0.1) {
|
|
136
|
+
if (!map.movementApiCallsDisabled) {
|
|
137
|
+
panoZoom(-1, step);
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
destroy() {
|
|
141
|
+
cancelAnimationFrame(animationFrameHandle);
|
|
142
|
+
imageListener();
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=panoramaCameraController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panoramaCameraController.js","sourceRoot":"","sources":["../../../src/panorama/panoramaCameraController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Cartesian3, HeadingPitchRoll, Matrix4 } from '@vcmap-cesium/engine';
|
|
2
|
+
import type { Pool, GeoTIFF } from 'geotiff';
|
|
3
|
+
import type { Size } from 'ol/size.js';
|
|
4
|
+
import type { PanoramaImageDecoder, PanoramaTileProvider } from './panoramaTileProvider.js';
|
|
5
|
+
import type PanoramaDatasetLayer from '../layer/panoramaDatasetLayer.js';
|
|
6
|
+
type PanoramaGDALMetadata = {
|
|
7
|
+
/**
|
|
8
|
+
* The metadata version
|
|
9
|
+
*/
|
|
10
|
+
version: string;
|
|
11
|
+
/**
|
|
12
|
+
* position ECEF
|
|
13
|
+
*/
|
|
14
|
+
position: Cartesian3;
|
|
15
|
+
/**
|
|
16
|
+
* HeadingPitchRoll in radians
|
|
17
|
+
*/
|
|
18
|
+
orientation: HeadingPitchRoll;
|
|
19
|
+
/**
|
|
20
|
+
* This image has depth information available
|
|
21
|
+
*/
|
|
22
|
+
hasDepth: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* This image has intensity information available
|
|
25
|
+
*/
|
|
26
|
+
hasIntensity: boolean;
|
|
27
|
+
};
|
|
28
|
+
type PanoramaImageMetadata = {
|
|
29
|
+
tileSize: Size;
|
|
30
|
+
minLevel: number;
|
|
31
|
+
maxLevel: number;
|
|
32
|
+
};
|
|
33
|
+
export type DepthGDALMetadata = {
|
|
34
|
+
version: string;
|
|
35
|
+
min: number;
|
|
36
|
+
max: number;
|
|
37
|
+
};
|
|
38
|
+
export type PanoramaFileDirectoryMetadata = {
|
|
39
|
+
type: 'image' | 'depth';
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* The panorama image represents all resources associated with a panorama image.
|
|
43
|
+
* When created, it extracts all available metadata from the base geotiff resource
|
|
44
|
+
* and loads associated structures, such as the tile provider for RGB and intensity images (if available & on demand)
|
|
45
|
+
* and the panorama depth of the image (if available).
|
|
46
|
+
*/
|
|
47
|
+
export type PanoramaImage = Readonly<PanoramaImageMetadata & Omit<PanoramaGDALMetadata, 'version'>> & {
|
|
48
|
+
/**
|
|
49
|
+
* The image name
|
|
50
|
+
*/
|
|
51
|
+
readonly name: string;
|
|
52
|
+
readonly up: Cartesian3;
|
|
53
|
+
readonly modelMatrix: Matrix4;
|
|
54
|
+
readonly invModelMatrix: Matrix4;
|
|
55
|
+
readonly image: GeoTIFF;
|
|
56
|
+
/**
|
|
57
|
+
* The tile provider for the RGB images
|
|
58
|
+
*/
|
|
59
|
+
readonly tileProvider: PanoramaTileProvider;
|
|
60
|
+
/**
|
|
61
|
+
* The maximum depth of the image. Either taken from the depth image header or the default
|
|
62
|
+
*/
|
|
63
|
+
readonly maxDepth: number;
|
|
64
|
+
/**
|
|
65
|
+
* The parent dataset, if available
|
|
66
|
+
*/
|
|
67
|
+
readonly dataset?: PanoramaDatasetLayer;
|
|
68
|
+
/**
|
|
69
|
+
* Tries to determine the global position at the given image spherical coordinate. Will return undefined, if the image has no depth.
|
|
70
|
+
* Uses the current level on the tile provider
|
|
71
|
+
* @param coordinate
|
|
72
|
+
* @param result
|
|
73
|
+
*/
|
|
74
|
+
getPositionAtImageCoordinate(coordinate: [number, number], result?: Cartesian3): Promise<Cartesian3 | undefined>;
|
|
75
|
+
/**
|
|
76
|
+
* Tries to determine the global position at the given image spherical coordinate. Will return undefined, if the image has no depth
|
|
77
|
+
* Uses the heighest available depth data, but is more resource intense
|
|
78
|
+
* @param coordinate
|
|
79
|
+
* @param result
|
|
80
|
+
*/
|
|
81
|
+
getPositionAtImageCoordinateMostDetailed(coordinate: [number, number], result?: Cartesian3): Promise<Cartesian3 | undefined>;
|
|
82
|
+
destroy(): void;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* additional image creating options, mainly used for testing.
|
|
86
|
+
*/
|
|
87
|
+
export type CreatePanoramaImageOptions = {
|
|
88
|
+
/**
|
|
89
|
+
* The dataset an image may belong to
|
|
90
|
+
*/
|
|
91
|
+
dataset?: PanoramaDatasetLayer;
|
|
92
|
+
/**
|
|
93
|
+
* The root URL for the image. This is used to load the intensity and depth images.
|
|
94
|
+
*/
|
|
95
|
+
absoluteRootUrl?: string;
|
|
96
|
+
/**
|
|
97
|
+
* a preloaded depth image for this RGB image.
|
|
98
|
+
*/
|
|
99
|
+
depthImage?: GeoTIFF;
|
|
100
|
+
/**
|
|
101
|
+
* a preloaded intensity image for this RGB image.
|
|
102
|
+
*/
|
|
103
|
+
intensityImage?: GeoTIFF;
|
|
104
|
+
/**
|
|
105
|
+
* the name of the image. This is used to load intensity and depth images. if not provided, a uuid is used.
|
|
106
|
+
*/
|
|
107
|
+
name?: string;
|
|
108
|
+
/**
|
|
109
|
+
* an optional pool or decoder to be passed to the tile provider. mainly used in testing
|
|
110
|
+
*/
|
|
111
|
+
poolOrDecoder?: Pool | PanoramaImageDecoder;
|
|
112
|
+
/**
|
|
113
|
+
* The size of the tile cache. If not provided, the default is used.
|
|
114
|
+
*/
|
|
115
|
+
tileCacheSize?: number;
|
|
116
|
+
/**
|
|
117
|
+
* The concurrency of the tile provider. If not provided, the default is used.
|
|
118
|
+
*/
|
|
119
|
+
providerConcurrency?: number;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* This is an internal function to create a panorama image for specific use cases (e.g. testing).
|
|
123
|
+
* In most cases, you should use {@link createPanoramaImageFromURL} directly.
|
|
124
|
+
* Creates a panorama image from a GeoTIFF image. The image should contain the metadata in the GDAL metadata format.
|
|
125
|
+
* @param rgbImage - the RGB image
|
|
126
|
+
* @param [options]
|
|
127
|
+
*/
|
|
128
|
+
export declare function createPanoramaImage(rgbImage: GeoTIFF, options?: CreatePanoramaImageOptions): Promise<PanoramaImage>;
|
|
129
|
+
/**
|
|
130
|
+
* Creates a panorama image from a URL. The URL must point to a RGB image with the name ending in "_rgb.tif".
|
|
131
|
+
* @param rgbImageUrl - the url to the RGB image
|
|
132
|
+
* @param [dataset] - the dataset to which the image belongs, if applicable
|
|
133
|
+
*/
|
|
134
|
+
export declare function createPanoramaImageFromURL(rgbImageUrl: string, dataset?: PanoramaDatasetLayer): Promise<PanoramaImage>;
|
|
135
|
+
export {};
|