@vcmap/core 5.3.3 → 6.0.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cesium.d.ts +12 -0
- package/dist/index.d.ts +27 -19
- package/dist/index.js +22 -14
- package/dist/index.js.map +1 -1
- package/dist/ol.d.ts +15 -2
- package/dist/src/category/category.d.ts +5 -4
- package/dist/src/category/category.js +2 -1
- package/dist/src/category/category.js.map +1 -1
- package/dist/src/category/categoryCollection.js.map +1 -1
- package/dist/src/cesium/cesiumVcsCameraPrimitive.d.ts +1 -0
- package/dist/src/cesium/cesiumVcsCameraPrimitive.js +4 -0
- package/dist/src/cesium/cesiumVcsCameraPrimitive.js.map +1 -1
- package/dist/src/classRegistry.d.ts +4 -3
- package/dist/src/classRegistry.js +2 -0
- package/dist/src/classRegistry.js.map +1 -1
- package/dist/src/featureProvider/abstractFeatureProvider.js.map +1 -1
- package/dist/src/featureProvider/wmsFeatureProvider.js.map +1 -1
- package/dist/src/interaction/abstractInteraction.js.map +1 -1
- package/dist/src/interaction/coordinateAtPixel.js.map +1 -1
- package/dist/src/interaction/eventHandler.js.map +1 -1
- package/dist/src/interaction/featureAtPixelInteraction.d.ts +4 -12
- package/dist/src/interaction/featureAtPixelInteraction.js +5 -21
- package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -1
- package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
- package/dist/src/interaction/interactionChain.js.map +1 -1
- package/dist/src/interaction/interactionType.js +4 -4
- package/dist/src/interaction/interactionType.js.map +1 -1
- package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/clusterContext.d.ts +12 -16
- package/dist/src/layer/cesium/clusterContext.js +75 -43
- package/dist/src/layer/cesium/clusterContext.js.map +1 -1
- package/dist/src/layer/cesium/dataSourceCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/rasterLayerCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/resourceHelper.js.map +1 -1
- package/dist/src/layer/cesium/singleImageCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/terrainCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/tmsCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/vectorCesiumImpl.d.ts +2 -3
- package/dist/src/layer/cesium/vectorCesiumImpl.js +16 -10
- package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/vectorContext.d.ts +11 -54
- package/dist/src/layer/cesium/vectorContext.js +154 -171
- package/dist/src/layer/cesium/vectorContext.js.map +1 -1
- package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/vectorTileImageryProvider.js.map +1 -1
- package/dist/src/layer/cesium/wmsCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesiumTilesetLayer.js.map +1 -1
- package/dist/src/layer/czmlLayer.js.map +1 -1
- package/dist/src/layer/dataSourceLayer.js.map +1 -1
- package/dist/src/layer/featureLayer.js.map +1 -1
- package/dist/src/layer/featureStoreFeatureVisibility.js.map +1 -1
- package/dist/src/layer/featureStoreLayer.js.map +1 -1
- package/dist/src/layer/featureStoreLayerChanges.js.map +1 -1
- package/dist/src/layer/featureVisibility.js +4 -5
- package/dist/src/layer/featureVisibility.js.map +1 -1
- package/dist/src/layer/geojsonHelpers.d.ts +1 -1
- package/dist/src/layer/geojsonHelpers.js +5 -10
- package/dist/src/layer/geojsonHelpers.js.map +1 -1
- package/dist/src/layer/geojsonLayer.js.map +1 -1
- package/dist/src/layer/globalHider.js.map +1 -1
- package/dist/src/layer/layer.js.map +1 -1
- package/dist/src/layer/layerImplementation.js.map +1 -1
- package/dist/src/layer/oblique/layerObliqueImpl.js.map +1 -1
- package/dist/src/layer/oblique/obliqueHelpers.js +9 -9
- package/dist/src/layer/oblique/obliqueHelpers.js.map +1 -1
- package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +3 -3
- package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -1
- package/dist/src/layer/openStreetMapLayer.js.map +1 -1
- package/dist/src/layer/openlayers/layerOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/tmsOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/vectorOpenlayersImpl.d.ts +2 -2
- package/dist/src/layer/openlayers/vectorOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.d.ts +1 -7
- package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js +18 -47
- package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/wmsOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/pointCloudLayer.js.map +1 -1
- package/dist/src/layer/rasterLayer.js +1 -1
- package/dist/src/layer/rasterLayer.js.map +1 -1
- package/dist/src/layer/singleImageLayer.js.map +1 -1
- package/dist/src/layer/terrainHelpers.js.map +1 -1
- package/dist/src/layer/terrainLayer.js.map +1 -1
- package/dist/src/layer/tileLoadedHelper.js.map +1 -1
- package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/tileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/urlTemplateTileProvider.js.map +1 -1
- package/dist/src/layer/tmsLayer.js.map +1 -1
- package/dist/src/layer/vectorHelpers.js.map +1 -1
- package/dist/src/layer/vectorLayer.d.ts +0 -37
- package/dist/src/layer/vectorLayer.js +1 -3
- package/dist/src/layer/vectorLayer.js.map +1 -1
- package/dist/src/layer/vectorProperties.d.ts +10 -5
- package/dist/src/layer/vectorProperties.js +59 -10
- package/dist/src/layer/vectorProperties.js.map +1 -1
- package/dist/src/layer/vectorTileLayer.js.map +1 -1
- package/dist/src/layer/wfsLayer.js.map +1 -1
- package/dist/src/layer/wmsHelpers.js.map +1 -1
- package/dist/src/layer/wmsLayer.js.map +1 -1
- package/dist/src/layer/wmtsLayer.js.map +1 -1
- package/dist/src/map/baseOLMap.js +1 -1
- package/dist/src/map/baseOLMap.js.map +1 -1
- package/dist/src/map/cameraLimiter.js +1 -1
- package/dist/src/map/cameraLimiter.js.map +1 -1
- package/dist/src/map/cesiumMap.js.map +1 -1
- package/dist/src/map/obliqueMap.js.map +1 -1
- package/dist/src/map/openlayersMap.js +1 -1
- package/dist/src/map/openlayersMap.js.map +1 -1
- package/dist/src/map/vcsMap.js.map +1 -1
- package/dist/src/oblique/helpers.js +5 -5
- package/dist/src/oblique/helpers.js.map +1 -1
- package/dist/src/oblique/obliqueCollection.js.map +1 -1
- package/dist/src/oblique/obliqueDataSet.js +5 -5
- package/dist/src/oblique/obliqueDataSet.js.map +1 -1
- package/dist/src/oblique/obliqueImage.js.map +1 -1
- package/dist/src/oblique/obliqueImageMeta.js.map +1 -1
- package/dist/src/oblique/obliqueProvider.js.map +1 -1
- package/dist/src/oblique/obliqueView.js.map +1 -1
- package/dist/src/oblique/obliqueViewDirection.js +1 -1
- package/dist/src/oblique/obliqueViewDirection.js.map +1 -1
- package/dist/src/oblique/parseImageJson.js.map +1 -1
- package/dist/src/ol/feature.js.map +1 -1
- package/dist/src/ol/geom/geometryCollection.js +80 -6
- package/dist/src/ol/geom/geometryCollection.js.map +1 -1
- package/dist/src/ol/render/canvas/canvasTileRenderer.js.map +1 -1
- package/dist/src/ol/source/ClusterEnhancedVectorSource.js.map +1 -1
- package/dist/src/ol/source/VcsCluster.js.map +1 -1
- package/dist/src/overrideClassRegistry.d.ts +2 -2
- package/dist/src/overrideClassRegistry.js +5 -3
- package/dist/src/overrideClassRegistry.js.map +1 -1
- package/dist/src/style/arcStyle.js +1 -0
- package/dist/src/style/arcStyle.js.map +1 -1
- package/dist/src/style/arrowStyle.js +6 -6
- package/dist/src/style/arrowStyle.js.map +1 -1
- package/dist/src/style/declarativeStyleItem.js.map +1 -1
- package/dist/src/style/shapesCategory.js.map +1 -1
- package/dist/src/style/styleFactory.js.map +1 -1
- package/dist/src/style/styleHelpers.js +4 -2
- package/dist/src/style/styleHelpers.js.map +1 -1
- package/dist/src/style/styleItem.js.map +1 -1
- package/dist/src/style/vectorStyleItem.js +9 -9
- package/dist/src/style/vectorStyleItem.js.map +1 -1
- 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/clippingPlaneHelper.js +2 -2
- package/dist/src/util/clipping/clippingPlaneHelper.js.map +1 -1
- package/dist/src/util/collection.js.map +1 -1
- package/dist/src/util/displayQuality/displayQuality.d.ts +1 -0
- package/dist/src/util/displayQuality/displayQuality.js +13 -2
- package/dist/src/util/displayQuality/displayQuality.js.map +1 -1
- package/dist/src/util/editor/createFeatureSession.d.ts +10 -2
- package/dist/src/util/editor/createFeatureSession.js +75 -9
- package/dist/src/util/editor/createFeatureSession.js.map +1 -1
- package/dist/src/util/editor/editFeaturesSession.d.ts +10 -4
- package/dist/src/util/editor/editFeaturesSession.js +74 -37
- package/dist/src/util/editor/editFeaturesSession.js.map +1 -1
- package/dist/src/util/editor/editGeometrySession.d.ts +7 -2
- package/dist/src/util/editor/editGeometrySession.js +109 -66
- package/dist/src/util/editor/editGeometrySession.js.map +1 -1
- package/dist/src/util/editor/editorHelpers.d.ts +13 -6
- package/dist/src/util/editor/editorHelpers.js +53 -23
- package/dist/src/util/editor/editorHelpers.js.map +1 -1
- package/dist/src/util/editor/editorSessionHelpers.d.ts +6 -6
- package/dist/src/util/editor/editorSessionHelpers.js +8 -18
- package/dist/src/util/editor/editorSessionHelpers.js.map +1 -1
- package/dist/src/util/editor/editorSymbols.d.ts +1 -1
- package/dist/src/util/editor/editorSymbols.js +1 -1
- package/dist/src/util/editor/editorSymbols.js.map +1 -1
- package/dist/src/util/editor/interactions/createBBoxInteraction.d.ts +1 -0
- package/dist/src/util/editor/interactions/createBBoxInteraction.js +20 -16
- package/dist/src/util/editor/interactions/createBBoxInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/createCircleInteraction.js +1 -1
- package/dist/src/util/editor/interactions/createCircleInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/createLineStringInteraction.js +3 -3
- package/dist/src/util/editor/interactions/createLineStringInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/createPointInteraction.js +1 -1
- package/dist/src/util/editor/interactions/createPointInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/createPolygonInteraction.d.ts +4 -0
- package/dist/src/util/editor/interactions/createPolygonInteraction.js +9 -3
- package/dist/src/util/editor/interactions/createPolygonInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/creationSnapping.d.ts +26 -0
- package/dist/src/util/editor/interactions/creationSnapping.js +139 -0
- package/dist/src/util/editor/interactions/creationSnapping.js.map +1 -0
- package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js +11 -9
- package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/insertVertexInteraction.d.ts +3 -1
- package/dist/src/util/editor/interactions/insertVertexInteraction.js +14 -6
- package/dist/src/util/editor/interactions/insertVertexInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/layerSnapping.d.ts +19 -0
- package/dist/src/util/editor/interactions/layerSnapping.js +87 -0
- package/dist/src/util/editor/interactions/layerSnapping.js.map +1 -0
- package/dist/src/util/editor/interactions/mapInteractionController.js.map +1 -1
- package/dist/src/util/editor/interactions/removeVertexInteraction.d.ts +1 -1
- package/dist/src/util/editor/interactions/removeVertexInteraction.js +2 -2
- package/dist/src/util/editor/interactions/removeVertexInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/segmentLengthInteraction.d.ts +16 -0
- package/dist/src/util/editor/interactions/segmentLengthInteraction.js +167 -0
- package/dist/src/util/editor/interactions/segmentLengthInteraction.js.map +1 -0
- package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js +1 -1
- package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.d.ts +1 -1
- package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.d.ts +1 -1
- package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/translateVertexInteraction.js +4 -8
- package/dist/src/util/editor/interactions/translateVertexInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/translationSnapping.d.ts +25 -0
- package/dist/src/util/editor/interactions/translationSnapping.js +180 -0
- package/dist/src/util/editor/interactions/translationSnapping.js.map +1 -0
- package/dist/src/util/editor/selectFeaturesSession.js.map +1 -1
- package/dist/src/util/editor/snappingHelpers.d.ts +44 -0
- package/dist/src/util/editor/snappingHelpers.js +329 -0
- package/dist/src/util/editor/snappingHelpers.js.map +1 -0
- package/dist/src/util/editor/transformation/create2DHandlers.js +26 -26
- package/dist/src/util/editor/transformation/create2DHandlers.js.map +1 -1
- package/dist/src/util/editor/transformation/create3DHandlers.js +65 -14
- package/dist/src/util/editor/transformation/create3DHandlers.js.map +1 -1
- package/dist/src/util/editor/transformation/extrudeInteraction.js.map +1 -1
- package/dist/src/util/editor/transformation/rotateInteraction.js.map +1 -1
- package/dist/src/util/editor/transformation/scaleInteraction.js +27 -5
- package/dist/src/util/editor/transformation/scaleInteraction.js.map +1 -1
- package/dist/src/util/editor/transformation/transformationHandler.js +56 -38
- package/dist/src/util/editor/transformation/transformationHandler.js.map +1 -1
- package/dist/src/util/editor/transformation/transformationTypes.d.ts +2 -0
- package/dist/src/util/editor/transformation/transformationTypes.js +6 -2
- package/dist/src/util/editor/transformation/transformationTypes.js.map +1 -1
- package/dist/src/util/editor/transformation/translateInteraction.js.map +1 -1
- package/dist/src/util/editor/validateGeoemetry.js.map +1 -1
- package/dist/src/util/exclusiveManager.js.map +1 -1
- package/dist/src/util/extent.js.map +1 -1
- package/dist/src/util/featureconverter/arcToCesium.d.ts +5 -19
- package/dist/src/util/featureconverter/arcToCesium.js +15 -42
- package/dist/src/util/featureconverter/arcToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/circleToCesium.d.ts +2 -27
- package/dist/src/util/featureconverter/circleToCesium.js +85 -64
- package/dist/src/util/featureconverter/circleToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/clampedPrimitive.d.ts +2 -0
- package/dist/src/util/featureconverter/clampedPrimitive.js +29 -0
- package/dist/src/util/featureconverter/clampedPrimitive.js.map +1 -0
- package/dist/src/util/featureconverter/convert.d.ts +30 -7
- package/dist/src/util/featureconverter/convert.js +221 -44
- package/dist/src/util/featureconverter/convert.js.map +1 -1
- package/dist/src/util/featureconverter/extent3D.d.ts +4 -3
- package/dist/src/util/featureconverter/extent3D.js +4 -3
- package/dist/src/util/featureconverter/extent3D.js.map +1 -1
- package/dist/src/util/featureconverter/lineStringToCesium.d.ts +12 -27
- package/dist/src/util/featureconverter/lineStringToCesium.js +85 -107
- package/dist/src/util/featureconverter/lineStringToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/pointHelpers.d.ts +8 -11
- package/dist/src/util/featureconverter/pointHelpers.js +141 -121
- package/dist/src/util/featureconverter/pointHelpers.js.map +1 -1
- package/dist/src/util/featureconverter/pointToCesium.d.ts +14 -17
- package/dist/src/util/featureconverter/pointToCesium.js +50 -98
- package/dist/src/util/featureconverter/pointToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/polygonToCesium.d.ts +2 -26
- package/dist/src/util/featureconverter/polygonToCesium.js +63 -73
- package/dist/src/util/featureconverter/polygonToCesium.js.map +1 -1
- package/dist/src/util/featureconverter/storeyHelpers.d.ts +17 -0
- package/dist/src/util/featureconverter/storeyHelpers.js +78 -0
- package/dist/src/util/featureconverter/storeyHelpers.js.map +1 -0
- package/dist/src/util/featureconverter/vectorGeometryFactory.d.ts +54 -0
- package/dist/src/util/featureconverter/vectorGeometryFactory.js +278 -0
- package/dist/src/util/featureconverter/vectorGeometryFactory.js.map +1 -0
- package/dist/src/util/featureconverter/vectorHeightInfo.d.ts +86 -0
- package/dist/src/util/featureconverter/vectorHeightInfo.js +240 -0
- package/dist/src/util/featureconverter/vectorHeightInfo.js.map +1 -0
- package/dist/src/util/fetch.js.map +1 -1
- package/dist/src/util/flight/flightAnchor.js.map +1 -1
- package/dist/src/util/flight/flightCollection.js.map +1 -1
- package/dist/src/util/flight/flightHelpers.js.map +1 -1
- package/dist/src/util/flight/flightInstance.js.map +1 -1
- package/dist/src/util/flight/flightPlayer.d.ts +11 -6
- package/dist/src/util/flight/flightPlayer.js +52 -16
- package/dist/src/util/flight/flightPlayer.js.map +1 -1
- package/dist/src/util/flight/flightVisualizer.js.map +1 -1
- package/dist/src/util/geometryHelpers.d.ts +34 -2
- package/dist/src/util/geometryHelpers.js +172 -4
- package/dist/src/util/geometryHelpers.js.map +1 -1
- package/dist/src/util/hiddenObjects.js.map +1 -1
- package/dist/src/util/indexedCollection.js.map +1 -1
- package/dist/src/util/layerCollection.js.map +1 -1
- package/dist/src/util/locale.js.map +1 -1
- package/dist/src/util/mapCollection.js.map +1 -1
- package/dist/src/util/math.d.ts +18 -2
- package/dist/src/util/math.js +55 -12
- package/dist/src/util/math.js.map +1 -1
- package/dist/src/util/overrideCollection.d.ts +7 -7
- package/dist/src/util/overrideCollection.js +10 -7
- package/dist/src/util/overrideCollection.js.map +1 -1
- package/dist/src/util/projection.js.map +1 -1
- package/dist/src/util/urlHelpers.js.map +1 -1
- package/dist/src/util/viewpoint.js.map +1 -1
- package/dist/src/vcsApp.d.ts +3 -3
- package/dist/src/vcsApp.js +1 -0
- package/dist/src/vcsApp.js.map +1 -1
- package/dist/src/vcsEvent.js.map +1 -1
- package/dist/src/vcsModule.js.map +1 -1
- package/dist/src/vcsModuleHelpers.d.ts +1 -0
- package/dist/src/vcsModuleHelpers.js +16 -2
- package/dist/src/vcsModuleHelpers.js.map +1 -1
- package/dist/src/vcsObject.js.map +1 -1
- package/dist/tests/unit/helpers/cesiumHelpers.d.ts +11 -11
- package/dist/tests/unit/helpers/cesiumHelpers.js +6 -1
- package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -1
- package/dist/tests/unit/helpers/helpers.d.ts +2 -9
- package/dist/tests/unit/helpers/helpers.js +4 -10
- package/dist/tests/unit/helpers/helpers.js.map +1 -1
- package/dist/tests/unit/helpers/importJSON.js.map +1 -1
- package/dist/tests/unit/helpers/obliqueHelpers.js.map +1 -1
- package/index.ts +84 -36
- package/package.json +21 -21
- package/src/category/category.ts +11 -9
- package/src/category/categoryCollection.ts +1 -1
- package/src/cesium/cesium.d.ts +12 -0
- package/src/cesium/cesiumVcsCameraPrimitive.ts +5 -0
- package/src/classRegistry.ts +7 -4
- package/src/featureProvider/wmsFeatureProvider.ts +1 -1
- package/src/global.d.ts +6 -1
- package/src/interaction/featureAtPixelInteraction.ts +7 -26
- package/src/layer/cesium/clusterContext.ts +97 -93
- package/src/layer/cesium/vectorCesiumImpl.ts +17 -11
- package/src/layer/cesium/vectorContext.ts +229 -348
- package/src/layer/featureVisibility.ts +3 -6
- package/src/layer/geojsonHelpers.ts +9 -12
- package/src/layer/oblique/obliqueHelpers.ts +9 -9
- package/src/layer/oblique/vectorObliqueImpl.ts +2 -2
- package/src/layer/openlayers/vectorOpenlayersImpl.ts +2 -2
- package/src/layer/openlayers/vectorTileOpenlayersImpl.ts +23 -53
- package/src/layer/tileLoadedHelper.ts +1 -3
- package/src/layer/tileProvider/mvtTileProvider.ts +2 -2
- package/src/layer/vectorLayer.ts +1 -74
- package/src/layer/vectorProperties.ts +80 -16
- package/src/map/baseOLMap.ts +1 -1
- package/src/oblique/helpers.ts +11 -5
- package/src/oblique/obliqueDataSet.ts +4 -4
- package/src/ol/geom/geometryCollection.js +96 -6
- package/src/ol/ol.d.ts +15 -2
- package/src/overrideClassRegistry.ts +13 -7
- package/src/style/arcStyle.ts +1 -0
- package/src/style/arrowStyle.ts +7 -7
- package/src/style/declarativeStyleItem.ts +2 -2
- package/src/style/styleHelpers.ts +15 -13
- package/src/style/vectorStyleItem.ts +14 -14
- package/src/util/clipping/clippingObject.ts +1 -3
- package/src/util/clipping/clippingPlaneHelper.ts +3 -4
- package/src/util/displayQuality/displayQuality.ts +13 -1
- package/src/util/editor/createFeatureSession.ts +107 -13
- package/src/util/editor/editFeaturesSession.ts +105 -39
- package/src/util/editor/editGeometrySession.ts +157 -83
- package/src/util/editor/editorHelpers.ts +85 -33
- package/src/util/editor/editorSessionHelpers.ts +13 -20
- package/src/util/editor/editorSymbols.ts +1 -1
- package/src/util/editor/interactions/createBBoxInteraction.ts +25 -16
- package/src/util/editor/interactions/createCircleInteraction.ts +1 -1
- package/src/util/editor/interactions/createLineStringInteraction.ts +9 -3
- package/src/util/editor/interactions/createPointInteraction.ts +1 -1
- package/src/util/editor/interactions/createPolygonInteraction.ts +16 -3
- package/src/util/editor/interactions/creationSnapping.ts +226 -0
- package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +7 -6
- package/src/util/editor/interactions/insertVertexInteraction.ts +27 -7
- package/src/util/editor/interactions/layerSnapping.ts +136 -0
- package/src/util/editor/interactions/removeVertexInteraction.ts +3 -4
- package/src/util/editor/interactions/segmentLengthInteraction.ts +227 -0
- package/src/util/editor/interactions/translateVertexInteraction.ts +11 -12
- package/src/util/editor/interactions/translationSnapping.ts +302 -0
- package/src/util/editor/snappingHelpers.ts +490 -0
- package/src/util/editor/transformation/create2DHandlers.ts +38 -26
- package/src/util/editor/transformation/create3DHandlers.ts +84 -22
- package/src/util/editor/transformation/scaleInteraction.ts +28 -5
- package/src/util/editor/transformation/transformationHandler.ts +72 -41
- package/src/util/editor/transformation/transformationTypes.ts +5 -0
- package/src/util/featureconverter/arcToCesium.ts +25 -95
- package/src/util/featureconverter/circleToCesium.ts +128 -114
- package/src/util/featureconverter/clampedPrimitive.ts +70 -0
- package/src/util/featureconverter/convert.ts +447 -113
- package/src/util/featureconverter/extent3D.ts +13 -6
- package/src/util/featureconverter/lineStringToCesium.ts +134 -181
- package/src/util/featureconverter/pointHelpers.ts +285 -219
- package/src/util/featureconverter/pointToCesium.ts +117 -177
- package/src/util/featureconverter/polygonToCesium.ts +99 -118
- package/src/util/featureconverter/storeyHelpers.ts +104 -0
- package/src/util/featureconverter/vectorGeometryFactory.ts +601 -0
- package/src/util/featureconverter/vectorHeightInfo.ts +392 -0
- package/src/util/flight/flightPlayer.ts +64 -22
- package/src/util/geometryHelpers.ts +239 -9
- package/src/util/hiddenObjects.ts +4 -4
- package/src/util/math.ts +87 -12
- package/src/util/overrideCollection.ts +33 -21
- package/src/vcsApp.ts +11 -4
- package/src/vcsModuleHelpers.ts +25 -2
- package/dist/src/util/featureconverter/featureconverterHelper.d.ts +0 -35
- package/dist/src/util/featureconverter/featureconverterHelper.js +0 -403
- package/dist/src/util/featureconverter/featureconverterHelper.js.map +0 -1
- package/src/util/featureconverter/featureconverterHelper.ts +0 -668
|
@@ -1,44 +1,53 @@
|
|
|
1
1
|
import { getLogger } from '@vcsuite/logger';
|
|
2
2
|
import { unByKey } from 'ol/Observable.js';
|
|
3
|
-
import {
|
|
3
|
+
import { setupPickingBehavior, GeometryType, SessionType, setupInteractionChain, setupScratchLayer, } from './editorSessionHelpers.js';
|
|
4
4
|
import InteractionChain from '../../interaction/interactionChain.js';
|
|
5
5
|
import VcsEvent from '../../vcsEvent.js';
|
|
6
6
|
import TranslateVertexInteraction from './interactions/translateVertexInteraction.js';
|
|
7
7
|
import RemoveVertexInteraction from './interactions/removeVertexInteraction.js';
|
|
8
|
-
import { createVertex, geometryChangeKeys, getOlcsPropsFromFeature,
|
|
8
|
+
import { createVertex, geometryChangeKeys, getCoordinatesAndLayoutFromVertices, getOlcsPropsFromFeature, syncScratchLayerVectorProperties, } from './editorHelpers.js';
|
|
9
9
|
import InsertVertexInteraction from './interactions/insertVertexInteraction.js';
|
|
10
10
|
import EditGeometryMouseOverInteraction from './interactions/editGeometryMouseOverInteraction.js';
|
|
11
11
|
import { cartesian2DDistance, modulo } from '../math.js';
|
|
12
12
|
import { createSync, obliqueGeometry } from '../../layer/vectorSymbols.js';
|
|
13
13
|
import geometryIsValid from './validateGeoemetry.js';
|
|
14
14
|
import MapInteractionController from './interactions/mapInteractionController.js';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
* @group Editor
|
|
23
|
-
*/
|
|
24
|
-
function createEditLineStringGeometryInteraction(feature, scratchLayer, options) {
|
|
15
|
+
import TranslationSnapping from './interactions/translationSnapping.js';
|
|
16
|
+
import { vertexIndexSymbol } from './editorSymbols.js';
|
|
17
|
+
import LayerSnapping from './interactions/layerSnapping.js';
|
|
18
|
+
import { EventType } from '../../interaction/interactionType.js';
|
|
19
|
+
import { snapTypes } from './snappingHelpers.js';
|
|
20
|
+
import SegmentLengthInteraction from './interactions/segmentLengthInteraction.js';
|
|
21
|
+
function createEditLineStringGeometryInteraction(feature, scratchLayer, vectorProperties, options, snapTo) {
|
|
25
22
|
const geometry = feature[obliqueGeometry] ?? feature.getGeometry();
|
|
26
23
|
const olcsProps = getOlcsPropsFromFeature(feature);
|
|
27
24
|
const vertices = geometry
|
|
28
25
|
.getCoordinates()
|
|
29
|
-
.map((c) => createVertex(c, olcsProps));
|
|
26
|
+
.map((c, i) => createVertex(c, olcsProps, i));
|
|
30
27
|
scratchLayer.addFeatures(vertices);
|
|
31
28
|
const resetGeometry = () => {
|
|
32
|
-
|
|
29
|
+
const { coordinates, layout } = getCoordinatesAndLayoutFromVertices(vertices);
|
|
30
|
+
geometry.setCoordinates(coordinates, layout);
|
|
33
31
|
};
|
|
34
32
|
const translateVertex = new TranslateVertexInteraction(feature);
|
|
35
33
|
translateVertex.vertexChanged.addEventListener(resetGeometry);
|
|
36
|
-
const interactions = [
|
|
34
|
+
const interactions = [
|
|
35
|
+
new TranslationSnapping(scratchLayer, geometry, snapTo),
|
|
36
|
+
translateVertex,
|
|
37
|
+
];
|
|
38
|
+
if (!options.hideSegmentLength) {
|
|
39
|
+
const segmentLength = new SegmentLengthInteraction(scratchLayer, false);
|
|
40
|
+
segmentLength.setGeometry(geometry);
|
|
41
|
+
interactions.push(segmentLength);
|
|
42
|
+
}
|
|
37
43
|
if (!options.denyInsertion) {
|
|
38
|
-
const insertVertex = new InsertVertexInteraction(feature, geometry);
|
|
44
|
+
const insertVertex = new InsertVertexInteraction(feature, geometry, vectorProperties);
|
|
39
45
|
insertVertex.vertexInserted.addEventListener(({ vertex, index }) => {
|
|
40
46
|
scratchLayer.addFeatures([vertex]);
|
|
41
47
|
vertices.splice(index, 0, vertex);
|
|
48
|
+
vertices.forEach((v, i) => {
|
|
49
|
+
v[vertexIndexSymbol] = i;
|
|
50
|
+
});
|
|
42
51
|
resetGeometry();
|
|
43
52
|
});
|
|
44
53
|
interactions.push(insertVertex);
|
|
@@ -64,12 +73,12 @@ function createEditLineStringGeometryInteraction(feature, scratchLayer, options)
|
|
|
64
73
|
},
|
|
65
74
|
};
|
|
66
75
|
}
|
|
67
|
-
function createEditCircleGeometryInteraction(feature, scratchLayer) {
|
|
76
|
+
function createEditCircleGeometryInteraction(feature, scratchLayer, options) {
|
|
68
77
|
const geometry = feature[obliqueGeometry] ?? feature.getGeometry();
|
|
69
78
|
const olcsProps = getOlcsPropsFromFeature(feature);
|
|
70
79
|
const vertices = geometry
|
|
71
80
|
.getCoordinates()
|
|
72
|
-
.map((c) => createVertex(c, olcsProps));
|
|
81
|
+
.map((c, i) => createVertex(c, olcsProps, i));
|
|
73
82
|
scratchLayer.addFeatures(vertices);
|
|
74
83
|
const translateVertex = new TranslateVertexInteraction(feature);
|
|
75
84
|
let suspend = false;
|
|
@@ -82,8 +91,13 @@ function createEditCircleGeometryInteraction(feature, scratchLayer) {
|
|
|
82
91
|
geometry.setRadius(newRadius);
|
|
83
92
|
}
|
|
84
93
|
else {
|
|
85
|
-
|
|
86
|
-
|
|
94
|
+
const { coordinates, layout } = getCoordinatesAndLayoutFromVertices([
|
|
95
|
+
vertex,
|
|
96
|
+
]);
|
|
97
|
+
geometry.setCenterAndRadius(coordinates[0], geometry.getRadius(), layout);
|
|
98
|
+
vertices[1]
|
|
99
|
+
.getGeometry()
|
|
100
|
+
.setCoordinates(geometry.getCoordinates()[1], layout);
|
|
87
101
|
}
|
|
88
102
|
suspend = false;
|
|
89
103
|
});
|
|
@@ -94,7 +108,13 @@ function createEditCircleGeometryInteraction(feature, scratchLayer) {
|
|
|
94
108
|
});
|
|
95
109
|
}
|
|
96
110
|
});
|
|
97
|
-
const
|
|
111
|
+
const interactions = [translateVertex];
|
|
112
|
+
if (!options.hideSegmentLength) {
|
|
113
|
+
const segmentLength = new SegmentLengthInteraction(scratchLayer, false);
|
|
114
|
+
segmentLength.setGeometry(geometry);
|
|
115
|
+
interactions.push(segmentLength);
|
|
116
|
+
}
|
|
117
|
+
const interactionChain = new InteractionChain(interactions);
|
|
98
118
|
return {
|
|
99
119
|
interactionChain,
|
|
100
120
|
destroy: () => {
|
|
@@ -104,20 +124,20 @@ function createEditCircleGeometryInteraction(feature, scratchLayer) {
|
|
|
104
124
|
},
|
|
105
125
|
};
|
|
106
126
|
}
|
|
107
|
-
function createEditBBoxGeometryInteraction(feature, scratchLayer) {
|
|
127
|
+
function createEditBBoxGeometryInteraction(feature, scratchLayer, options) {
|
|
108
128
|
const geometry = feature[obliqueGeometry] ?? feature.getGeometry();
|
|
109
129
|
const olcsProps = getOlcsPropsFromFeature(feature);
|
|
110
130
|
const vertices = geometry
|
|
111
131
|
.getCoordinates()[0]
|
|
112
|
-
.map((c) => createVertex(c, olcsProps));
|
|
132
|
+
.map((c, i) => createVertex(c, olcsProps, i));
|
|
113
133
|
scratchLayer.addFeatures(vertices);
|
|
114
134
|
let suspend = false;
|
|
115
135
|
const translateVertex = new TranslateVertexInteraction(feature);
|
|
116
136
|
translateVertex.vertexChanged.addEventListener((vertex) => {
|
|
117
|
-
const
|
|
118
|
-
const originIndex = modulo(
|
|
119
|
-
const rightOfIndex = modulo(
|
|
120
|
-
const leftOfIndex = modulo(
|
|
137
|
+
const index = vertices.indexOf(vertex);
|
|
138
|
+
const originIndex = modulo(index + 2, 4);
|
|
139
|
+
const rightOfIndex = modulo(index + 1, 4);
|
|
140
|
+
const leftOfIndex = modulo(index - 1, 4);
|
|
121
141
|
const originCoords = vertices[originIndex].getGeometry().getCoordinates();
|
|
122
142
|
const vertexCoords = vertex.getGeometry().getCoordinates();
|
|
123
143
|
let preventCollapse = false;
|
|
@@ -146,19 +166,25 @@ function createEditBBoxGeometryInteraction(feature, scratchLayer) {
|
|
|
146
166
|
updateOtherVertex(rightOfIndex);
|
|
147
167
|
updateOtherVertex(leftOfIndex);
|
|
148
168
|
suspend = true;
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
]);
|
|
169
|
+
const { coordinates, layout } = getCoordinatesAndLayoutFromVertices(vertices);
|
|
170
|
+
geometry.setCoordinates([coordinates], layout);
|
|
152
171
|
suspend = false;
|
|
153
172
|
});
|
|
154
173
|
const geometryListener = geometry.on('change', () => {
|
|
155
174
|
if (!suspend) {
|
|
175
|
+
const layout = geometry.getLayout();
|
|
156
176
|
geometry.getCoordinates()[0].forEach((c, index) => {
|
|
157
|
-
vertices[index].getGeometry().setCoordinates(c);
|
|
177
|
+
vertices[index].getGeometry().setCoordinates(c, layout);
|
|
158
178
|
});
|
|
159
179
|
}
|
|
160
180
|
});
|
|
161
|
-
const
|
|
181
|
+
const interactions = [translateVertex];
|
|
182
|
+
if (!options.hideSegmentLength) {
|
|
183
|
+
const segmentLength = new SegmentLengthInteraction(scratchLayer, false);
|
|
184
|
+
segmentLength.setGeometry(geometry);
|
|
185
|
+
interactions.push(segmentLength);
|
|
186
|
+
}
|
|
187
|
+
const interactionChain = new InteractionChain(interactions);
|
|
162
188
|
return {
|
|
163
189
|
interactionChain,
|
|
164
190
|
destroy: () => {
|
|
@@ -168,29 +194,38 @@ function createEditBBoxGeometryInteraction(feature, scratchLayer) {
|
|
|
168
194
|
},
|
|
169
195
|
};
|
|
170
196
|
}
|
|
171
|
-
function createEditSimplePolygonInteraction(feature, scratchLayer, options) {
|
|
197
|
+
function createEditSimplePolygonInteraction(feature, scratchLayer, vectorProperties, options, snapTo) {
|
|
172
198
|
const geometry = feature[obliqueGeometry] ?? feature.getGeometry();
|
|
173
199
|
const linearRing = geometry.getLinearRing(0);
|
|
174
200
|
const olcsProps = getOlcsPropsFromFeature(feature);
|
|
175
201
|
const vertices = linearRing
|
|
176
202
|
.getCoordinates()
|
|
177
|
-
.map((c) => createVertex(c, olcsProps));
|
|
203
|
+
.map((c, i) => createVertex(c, olcsProps, i));
|
|
178
204
|
scratchLayer.addFeatures(vertices);
|
|
179
205
|
const resetGeometry = () => {
|
|
180
|
-
const coordinates
|
|
181
|
-
linearRing.setCoordinates(coordinates); // update linear ring for proper vertex insertion
|
|
182
|
-
geometry.setCoordinates([
|
|
183
|
-
vertices.map((f) => f.getGeometry().getCoordinates()),
|
|
184
|
-
]); // update actual geometry, since linear ring is a clone and not a ref
|
|
206
|
+
const { coordinates, layout } = getCoordinatesAndLayoutFromVertices(vertices);
|
|
207
|
+
linearRing.setCoordinates(coordinates, layout); // update linear ring for proper vertex insertion
|
|
208
|
+
geometry.setCoordinates([coordinates], layout); // update actual geometry, since linear ring is a clone and not a ref
|
|
185
209
|
};
|
|
186
210
|
const translateVertex = new TranslateVertexInteraction(feature);
|
|
187
211
|
translateVertex.vertexChanged.addEventListener(resetGeometry);
|
|
188
|
-
const interactions = [
|
|
212
|
+
const interactions = [
|
|
213
|
+
new TranslationSnapping(scratchLayer, geometry, snapTo),
|
|
214
|
+
translateVertex,
|
|
215
|
+
];
|
|
216
|
+
if (!options.hideSegmentLength) {
|
|
217
|
+
const segmentLength = new SegmentLengthInteraction(scratchLayer, false);
|
|
218
|
+
segmentLength.setGeometry(geometry);
|
|
219
|
+
interactions.push(segmentLength);
|
|
220
|
+
}
|
|
189
221
|
if (!options.denyInsertion) {
|
|
190
|
-
const insertVertex = new InsertVertexInteraction(feature, linearRing);
|
|
222
|
+
const insertVertex = new InsertVertexInteraction(feature, linearRing, vectorProperties);
|
|
191
223
|
insertVertex.vertexInserted.addEventListener(({ vertex, index }) => {
|
|
192
224
|
scratchLayer.addFeatures([vertex]);
|
|
193
225
|
vertices.splice(index, 0, vertex);
|
|
226
|
+
vertices.forEach((v, i) => {
|
|
227
|
+
v[vertexIndexSymbol] = i;
|
|
228
|
+
});
|
|
194
229
|
resetGeometry();
|
|
195
230
|
});
|
|
196
231
|
interactions.push(insertVertex);
|
|
@@ -219,7 +254,7 @@ function createEditSimplePolygonInteraction(feature, scratchLayer, options) {
|
|
|
219
254
|
function createEditPointInteraction(feature, scratchLayer, layer) {
|
|
220
255
|
const geometry = feature[obliqueGeometry] ?? feature.getGeometry();
|
|
221
256
|
const olcsProps = getOlcsPropsFromFeature(feature);
|
|
222
|
-
const vertex = createVertex(geometry.getCoordinates(), olcsProps);
|
|
257
|
+
const vertex = createVertex(geometry.getCoordinates(), olcsProps, 0);
|
|
223
258
|
const featureIdArray = [feature.getId()];
|
|
224
259
|
layer.featureVisibility.hideObjects(featureIdArray);
|
|
225
260
|
vertex[createSync] = true;
|
|
@@ -228,12 +263,17 @@ function createEditPointInteraction(feature, scratchLayer, layer) {
|
|
|
228
263
|
let suspend = false;
|
|
229
264
|
translateVertex.vertexChanged.addEventListener(() => {
|
|
230
265
|
suspend = true;
|
|
231
|
-
|
|
266
|
+
const { coordinates, layout } = getCoordinatesAndLayoutFromVertices([
|
|
267
|
+
vertex,
|
|
268
|
+
]);
|
|
269
|
+
geometry.setCoordinates(coordinates[0], layout);
|
|
232
270
|
suspend = false;
|
|
233
271
|
});
|
|
234
272
|
const geometryListener = geometry.on('change', () => {
|
|
235
273
|
if (!suspend) {
|
|
236
|
-
vertex
|
|
274
|
+
vertex
|
|
275
|
+
.getGeometry()
|
|
276
|
+
.setCoordinates(geometry.getCoordinates(), geometry.getLayout());
|
|
237
277
|
}
|
|
238
278
|
});
|
|
239
279
|
const interactionChain = new InteractionChain([translateVertex]);
|
|
@@ -251,7 +291,7 @@ function createEditPointInteraction(feature, scratchLayer, layer) {
|
|
|
251
291
|
* Creates the edit geometry session.
|
|
252
292
|
* @param app
|
|
253
293
|
* @param layer
|
|
254
|
-
* @param [interactionId] id for registering
|
|
294
|
+
* @param [interactionId] id for registering multiple exclusive interaction. Needed to run a selection session at the same time as a edit features session.
|
|
255
295
|
* @param [editVertexOptions={}]
|
|
256
296
|
*/
|
|
257
297
|
function startEditGeometrySession(app, layer, interactionId, editVertexOptions = {}) {
|
|
@@ -267,32 +307,23 @@ function startEditGeometrySession(app, layer, interactionId, editVertexOptions =
|
|
|
267
307
|
* The feature that is set for the edit session.
|
|
268
308
|
*/
|
|
269
309
|
let currentFeature = null;
|
|
270
|
-
|
|
310
|
+
let layerSnappingInteraction = null;
|
|
311
|
+
let snapToLayers = editVertexOptions?.initialSnapToLayers?.slice() ?? [layer];
|
|
312
|
+
const snapTo = editVertexOptions?.snapTo ?? [...snapTypes];
|
|
313
|
+
const resetPickingBehavior = setupPickingBehavior(app);
|
|
271
314
|
const altitudeModeChanged = () => {
|
|
272
|
-
|
|
315
|
+
scratchLayer.vectorProperties.altitudeMode = currentFeature
|
|
273
316
|
? layer.vectorProperties.getAltitudeMode(currentFeature)
|
|
274
317
|
: layer.vectorProperties.altitudeMode;
|
|
275
|
-
pickingBehavior.setForAltitudeMode(altitudeMode);
|
|
276
318
|
};
|
|
277
319
|
altitudeModeChanged();
|
|
278
|
-
|
|
279
|
-
assignVectorProperty(scratchLayer.vectorProperties, key, layer.vectorProperties[key]);
|
|
280
|
-
});
|
|
281
|
-
const vectorPropertiesChangedListener = layer.vectorProperties.propertyChanged.addEventListener((props) => {
|
|
282
|
-
vectorPropertyChangeKeys.forEach((key) => {
|
|
283
|
-
if (props.includes(key)) {
|
|
284
|
-
assignVectorProperty(scratchLayer.vectorProperties, key, layer.vectorProperties[key]);
|
|
285
|
-
if (key === 'altitudeMode') {
|
|
286
|
-
altitudeModeChanged();
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
});
|
|
290
|
-
});
|
|
320
|
+
const vectorPropertiesChangedListener = syncScratchLayerVectorProperties(scratchLayer, layer, altitudeModeChanged);
|
|
291
321
|
const destroyCurrentInteractionSet = () => {
|
|
292
322
|
if (currentInteractionSet) {
|
|
293
323
|
interactionChain.removeInteraction(currentInteractionSet.interactionChain);
|
|
294
324
|
currentInteractionSet.destroy();
|
|
295
325
|
currentInteractionSet = null;
|
|
326
|
+
layerSnappingInteraction = null; // destroyed in current interaction set
|
|
296
327
|
}
|
|
297
328
|
if (currentFeature) {
|
|
298
329
|
delete currentFeature[createSync];
|
|
@@ -327,22 +358,24 @@ function startEditGeometrySession(app, layer, interactionId, editVertexOptions =
|
|
|
327
358
|
layer.vectorProperties.getAltitudeMode(feature);
|
|
328
359
|
if (geometryType === GeometryType.Polygon) {
|
|
329
360
|
if (geometry.get('_vcsGeomType') === GeometryType.BBox) {
|
|
330
|
-
currentInteractionSet = createEditBBoxGeometryInteraction(feature, scratchLayer);
|
|
361
|
+
currentInteractionSet = createEditBBoxGeometryInteraction(feature, scratchLayer, editVertexOptions);
|
|
331
362
|
}
|
|
332
363
|
else if (geometry.getLinearRingCount() === 1) {
|
|
333
|
-
currentInteractionSet = createEditSimplePolygonInteraction(feature, scratchLayer, editVertexOptions);
|
|
364
|
+
currentInteractionSet = createEditSimplePolygonInteraction(feature, scratchLayer, layer.vectorProperties, editVertexOptions, snapTo);
|
|
334
365
|
}
|
|
335
366
|
}
|
|
336
367
|
else if (geometryType === GeometryType.LineString) {
|
|
337
|
-
currentInteractionSet = createEditLineStringGeometryInteraction(feature, scratchLayer, editVertexOptions);
|
|
368
|
+
currentInteractionSet = createEditLineStringGeometryInteraction(feature, scratchLayer, layer.vectorProperties, editVertexOptions, snapTo);
|
|
338
369
|
}
|
|
339
370
|
else if (geometryType === GeometryType.Point) {
|
|
340
371
|
currentInteractionSet = createEditPointInteraction(feature, scratchLayer, layer);
|
|
341
372
|
}
|
|
342
373
|
else if (geometryType === GeometryType.Circle) {
|
|
343
|
-
currentInteractionSet = createEditCircleGeometryInteraction(feature, scratchLayer);
|
|
374
|
+
currentInteractionSet = createEditCircleGeometryInteraction(feature, scratchLayer, editVertexOptions);
|
|
344
375
|
}
|
|
345
376
|
if (currentInteractionSet) {
|
|
377
|
+
layerSnappingInteraction = new LayerSnapping(snapToLayers, scratchLayer, (f) => f !== feature, snapTo, EventType.DRAGEVENTS);
|
|
378
|
+
currentInteractionSet.interactionChain.addInteraction(layerSnappingInteraction, 0);
|
|
346
379
|
interactionChain.addInteraction(currentInteractionSet.interactionChain);
|
|
347
380
|
altitudeModeChanged();
|
|
348
381
|
}
|
|
@@ -362,6 +395,7 @@ function startEditGeometrySession(app, layer, interactionId, editVertexOptions =
|
|
|
362
395
|
setupActiveMap();
|
|
363
396
|
const stop = () => {
|
|
364
397
|
app.layers.remove(scratchLayer);
|
|
398
|
+
scratchLayer.destroy();
|
|
365
399
|
if (featureListener) {
|
|
366
400
|
unByKey(featureListener);
|
|
367
401
|
}
|
|
@@ -371,7 +405,7 @@ function startEditGeometrySession(app, layer, interactionId, editVertexOptions =
|
|
|
371
405
|
destroyCurrentInteractionSet();
|
|
372
406
|
destroyInteractionChain();
|
|
373
407
|
vectorPropertiesChangedListener();
|
|
374
|
-
|
|
408
|
+
resetPickingBehavior();
|
|
375
409
|
stopped.raiseEvent();
|
|
376
410
|
stopped.destroy();
|
|
377
411
|
};
|
|
@@ -386,6 +420,15 @@ function startEditGeometrySession(app, layer, interactionId, editVertexOptions =
|
|
|
386
420
|
get feature() {
|
|
387
421
|
return currentFeature;
|
|
388
422
|
},
|
|
423
|
+
get snapToLayers() {
|
|
424
|
+
return snapToLayers.slice();
|
|
425
|
+
},
|
|
426
|
+
set snapToLayers(layers) {
|
|
427
|
+
snapToLayers = layers.slice();
|
|
428
|
+
if (layerSnappingInteraction) {
|
|
429
|
+
layerSnappingInteraction.layers = snapToLayers;
|
|
430
|
+
}
|
|
431
|
+
},
|
|
389
432
|
};
|
|
390
433
|
}
|
|
391
434
|
export default startEditGeometrySession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editGeometrySession.js","sourceRoot":"","sources":["../../../../src/util/editor/editGeometrySession.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editGeometrySession.js","sourceRoot":"","sources":["../../../../src/util/editor/editGeometrySession.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,15 @@ import Point from 'ol/geom/Point.js';
|
|
|
2
2
|
import Feature from 'ol/Feature.js';
|
|
3
3
|
import type { Coordinate } from 'ol/coordinate.js';
|
|
4
4
|
import type { Geometry } from 'ol/geom.js';
|
|
5
|
+
import { GeometryLayout } from 'ol/geom/Geometry.js';
|
|
5
6
|
import { Cartesian2, Plane, Cartographic, Cesium3DTileFeature, type Scene, type Camera } from '@vcmap-cesium/engine';
|
|
6
|
-
import
|
|
7
|
-
import type VectorLayer from '../../layer/vectorLayer.js';
|
|
7
|
+
import { vertexIndexSymbol } from './editorSymbols.js';
|
|
8
8
|
import type VcsMap from '../../map/vcsMap.js';
|
|
9
9
|
import { PropertyChangedKey } from '../../layer/vectorProperties.js';
|
|
10
|
-
|
|
10
|
+
import VectorLayer from '../../layer/vectorLayer.js';
|
|
11
|
+
export type Vertex = Feature<Point> & {
|
|
12
|
+
[vertexIndexSymbol]: number;
|
|
13
|
+
};
|
|
11
14
|
export type SelectableFeatureType = Feature | Cesium3DTileFeature;
|
|
12
15
|
export interface SelectFeatureInteraction {
|
|
13
16
|
readonly selected: Array<Feature>;
|
|
@@ -16,8 +19,14 @@ export interface SelectFeatureInteraction {
|
|
|
16
19
|
}
|
|
17
20
|
export declare const geometryChangeKeys: string[];
|
|
18
21
|
export declare const vectorPropertyChangeKeys: PropertyChangedKey[];
|
|
22
|
+
export declare function syncScratchLayerVectorProperties(scratchLayer: VectorLayer, layer: VectorLayer, altitudeModeChanged?: () => void): () => void;
|
|
19
23
|
export declare function getOlcsPropsFromFeature(feature: Feature): Record<string, number | string>;
|
|
20
|
-
export declare function createVertex(coordinate: Coordinate, olcsProps: Record<string, number | string
|
|
24
|
+
export declare function createVertex(coordinate: Coordinate, olcsProps: Record<string, number | string>, index: number): Vertex;
|
|
25
|
+
export declare function isVertex(f?: unknown): f is Vertex;
|
|
26
|
+
export declare function getCoordinatesAndLayoutFromVertices(vertices: Vertex[]): {
|
|
27
|
+
coordinates: Coordinate[];
|
|
28
|
+
layout: GeometryLayout;
|
|
29
|
+
};
|
|
21
30
|
/**
|
|
22
31
|
* Returns the closest point on a 2D line. the Z index is taken from the point.
|
|
23
32
|
* @param start - line segment start
|
|
@@ -51,5 +60,3 @@ export declare function drapeGeometryOnTerrain(geometry: Geometry, map: VcsMap):
|
|
|
51
60
|
* @param map
|
|
52
61
|
*/
|
|
53
62
|
export declare function placeGeometryOnTerrain(geometry: Geometry, map: VcsMap): Promise<void>;
|
|
54
|
-
export declare function ensureFeatureAbsolute(feature: Feature, layer: VectorLayer, cesiumMap: CesiumMap): Promise<void>;
|
|
55
|
-
export declare function clampFeature(feature: import('ol').Feature): void;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import Point from 'ol/geom/Point.js';
|
|
2
2
|
import Feature from 'ol/Feature.js';
|
|
3
|
-
import { Cartesian2, Cartesian3, Math as CesiumMath, Plane, Ray, IntersectionTests, Cartographic,
|
|
3
|
+
import { Cartesian2, Cartesian3, Math as CesiumMath, Plane, Ray, IntersectionTests, Cartographic, } from '@vcmap-cesium/engine';
|
|
4
4
|
import { mercatorToCartesian } from '../math.js';
|
|
5
|
-
import {
|
|
5
|
+
import { getFlatCoordinateReferences } from '../geometryHelpers.js';
|
|
6
6
|
import CesiumMap from '../../map/cesiumMap.js';
|
|
7
|
-
import { vertexSymbol } from './editorSymbols.js';
|
|
7
|
+
import { vertexIndexSymbol, vertexSymbol } from './editorSymbols.js';
|
|
8
8
|
import { alreadyTransformedToImage, createSync, doNotTransform, } from '../../layer/vectorSymbols.js';
|
|
9
9
|
export const geometryChangeKeys = [
|
|
10
10
|
'olcs_altitudeMode',
|
|
@@ -16,6 +16,24 @@ export const vectorPropertyChangeKeys = [
|
|
|
16
16
|
'groundLevel',
|
|
17
17
|
'heightAboveGround',
|
|
18
18
|
];
|
|
19
|
+
function assignVectorProperty(props, key, value) {
|
|
20
|
+
props[key] = value;
|
|
21
|
+
}
|
|
22
|
+
export function syncScratchLayerVectorProperties(scratchLayer, layer, altitudeModeChanged) {
|
|
23
|
+
vectorPropertyChangeKeys.forEach((key) => {
|
|
24
|
+
assignVectorProperty(scratchLayer.vectorProperties, key, layer.vectorProperties[key]);
|
|
25
|
+
});
|
|
26
|
+
return layer.vectorProperties.propertyChanged.addEventListener((props) => {
|
|
27
|
+
vectorPropertyChangeKeys.forEach((key) => {
|
|
28
|
+
if (props.includes(key)) {
|
|
29
|
+
assignVectorProperty(scratchLayer.vectorProperties, key, layer.vectorProperties[key]);
|
|
30
|
+
if (key === 'altitudeMode') {
|
|
31
|
+
altitudeModeChanged?.();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
19
37
|
export function getOlcsPropsFromFeature(feature) {
|
|
20
38
|
const props = {};
|
|
21
39
|
geometryChangeKeys.forEach((key) => {
|
|
@@ -26,7 +44,7 @@ export function getOlcsPropsFromFeature(feature) {
|
|
|
26
44
|
});
|
|
27
45
|
return props;
|
|
28
46
|
}
|
|
29
|
-
export function createVertex(coordinate, olcsProps) {
|
|
47
|
+
export function createVertex(coordinate, olcsProps, index) {
|
|
30
48
|
const geometry = new Point(coordinate);
|
|
31
49
|
geometry[alreadyTransformedToImage] = true;
|
|
32
50
|
const vertex = new Feature({
|
|
@@ -34,10 +52,37 @@ export function createVertex(coordinate, olcsProps) {
|
|
|
34
52
|
...olcsProps,
|
|
35
53
|
});
|
|
36
54
|
vertex[vertexSymbol] = true;
|
|
55
|
+
vertex[vertexIndexSymbol] = index;
|
|
37
56
|
vertex[doNotTransform] = true;
|
|
38
57
|
vertex[createSync] = true;
|
|
39
58
|
return vertex;
|
|
40
59
|
}
|
|
60
|
+
export function isVertex(f) {
|
|
61
|
+
return f instanceof Feature && !!f[vertexSymbol];
|
|
62
|
+
}
|
|
63
|
+
export function getCoordinatesAndLayoutFromVertices(vertices) {
|
|
64
|
+
let is2D = false;
|
|
65
|
+
const flatCoordinates = new Array(vertices.length * 3);
|
|
66
|
+
vertices.forEach((v, i) => {
|
|
67
|
+
const vertexCoordinates = v.getGeometry().getCoordinates();
|
|
68
|
+
is2D = is2D || vertexCoordinates.length === 2;
|
|
69
|
+
flatCoordinates[i * 3] = vertexCoordinates[0];
|
|
70
|
+
flatCoordinates[i * 3 + 1] = vertexCoordinates[1];
|
|
71
|
+
flatCoordinates[i * 3 + 2] = vertexCoordinates[2];
|
|
72
|
+
});
|
|
73
|
+
const coordinates = new Array(vertices.length);
|
|
74
|
+
for (let i = 0; i < vertices.length; i++) {
|
|
75
|
+
const coordinate = [flatCoordinates[i * 3], flatCoordinates[i * 3 + 1]];
|
|
76
|
+
if (!is2D) {
|
|
77
|
+
coordinate[2] = flatCoordinates[i * 3 + 2];
|
|
78
|
+
}
|
|
79
|
+
coordinates[i] = coordinate;
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
coordinates,
|
|
83
|
+
layout: is2D ? 'XY' : 'XYZ',
|
|
84
|
+
};
|
|
85
|
+
}
|
|
41
86
|
let scratchCartesian21 = new Cartesian2();
|
|
42
87
|
let scratchCartesian22 = new Cartesian2();
|
|
43
88
|
let scratchCartesian23 = new Cartesian2();
|
|
@@ -128,9 +173,9 @@ export function getCartographicFromPlane(plane, camera, windowPosition) {
|
|
|
128
173
|
export async function drapeGeometryOnTerrain(geometry, map) {
|
|
129
174
|
if (map instanceof CesiumMap) {
|
|
130
175
|
const coordinates = geometry.getCoordinates();
|
|
131
|
-
const flats =
|
|
176
|
+
const flats = getFlatCoordinateReferences(geometry, coordinates);
|
|
132
177
|
await map.getHeightFromTerrain(flats);
|
|
133
|
-
geometry.setCoordinates(coordinates);
|
|
178
|
+
geometry.setCoordinates(coordinates, 'XYZ');
|
|
134
179
|
}
|
|
135
180
|
}
|
|
136
181
|
/**
|
|
@@ -141,7 +186,7 @@ export async function drapeGeometryOnTerrain(geometry, map) {
|
|
|
141
186
|
export async function placeGeometryOnTerrain(geometry, map) {
|
|
142
187
|
if (map instanceof CesiumMap) {
|
|
143
188
|
const coordinates = geometry.getCoordinates();
|
|
144
|
-
const flats =
|
|
189
|
+
const flats = getFlatCoordinateReferences(geometry, coordinates);
|
|
145
190
|
await map.getHeightFromTerrain(flats);
|
|
146
191
|
let minHeight = Infinity;
|
|
147
192
|
flats.forEach((coord) => {
|
|
@@ -152,22 +197,7 @@ export async function placeGeometryOnTerrain(geometry, map) {
|
|
|
152
197
|
flats.forEach((coord) => {
|
|
153
198
|
coord[2] = minHeight;
|
|
154
199
|
});
|
|
155
|
-
geometry.setCoordinates(coordinates);
|
|
200
|
+
geometry.setCoordinates(coordinates, 'XYZ');
|
|
156
201
|
}
|
|
157
202
|
}
|
|
158
|
-
export async function ensureFeatureAbsolute(feature, layer, cesiumMap) {
|
|
159
|
-
// XXX this does not ensure 3D coordinates
|
|
160
|
-
const layerIsClamped = layer.vectorProperties.altitudeMode === HeightReference.CLAMP_TO_GROUND;
|
|
161
|
-
const altitudeMode = feature.get('olcs_altitudeMode');
|
|
162
|
-
if (altitudeMode === 'clampToGround' || (!altitudeMode && layerIsClamped)) {
|
|
163
|
-
feature.set('olcs_altitudeMode', 'absolute', true);
|
|
164
|
-
const geometry = feature.getGeometry();
|
|
165
|
-
if (geometry) {
|
|
166
|
-
await placeGeometryOnTerrain(geometry, cesiumMap);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
export function clampFeature(feature) {
|
|
171
|
-
feature.set('olcs_altitudeMode', 'clampToGround');
|
|
172
|
-
}
|
|
173
203
|
//# sourceMappingURL=editorHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editorHelpers.js","sourceRoot":"","sources":["../../../../src/util/editor/editorHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,OAAO,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"editorHelpers.js","sourceRoot":"","sources":["../../../../src/util/editor/editorHelpers.ts"],"names":[],"mappings":"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"}
|