@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.
Files changed (400) hide show
  1. package/dist/cesium.d.ts +12 -0
  2. package/dist/index.d.ts +27 -19
  3. package/dist/index.js +22 -14
  4. package/dist/index.js.map +1 -1
  5. package/dist/ol.d.ts +15 -2
  6. package/dist/src/category/category.d.ts +5 -4
  7. package/dist/src/category/category.js +2 -1
  8. package/dist/src/category/category.js.map +1 -1
  9. package/dist/src/category/categoryCollection.js.map +1 -1
  10. package/dist/src/cesium/cesiumVcsCameraPrimitive.d.ts +1 -0
  11. package/dist/src/cesium/cesiumVcsCameraPrimitive.js +4 -0
  12. package/dist/src/cesium/cesiumVcsCameraPrimitive.js.map +1 -1
  13. package/dist/src/classRegistry.d.ts +4 -3
  14. package/dist/src/classRegistry.js +2 -0
  15. package/dist/src/classRegistry.js.map +1 -1
  16. package/dist/src/featureProvider/abstractFeatureProvider.js.map +1 -1
  17. package/dist/src/featureProvider/wmsFeatureProvider.js.map +1 -1
  18. package/dist/src/interaction/abstractInteraction.js.map +1 -1
  19. package/dist/src/interaction/coordinateAtPixel.js.map +1 -1
  20. package/dist/src/interaction/eventHandler.js.map +1 -1
  21. package/dist/src/interaction/featureAtPixelInteraction.d.ts +4 -12
  22. package/dist/src/interaction/featureAtPixelInteraction.js +5 -21
  23. package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -1
  24. package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
  25. package/dist/src/interaction/interactionChain.js.map +1 -1
  26. package/dist/src/interaction/interactionType.js +4 -4
  27. package/dist/src/interaction/interactionType.js.map +1 -1
  28. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js.map +1 -1
  29. package/dist/src/layer/cesium/clusterContext.d.ts +12 -16
  30. package/dist/src/layer/cesium/clusterContext.js +75 -43
  31. package/dist/src/layer/cesium/clusterContext.js.map +1 -1
  32. package/dist/src/layer/cesium/dataSourceCesiumImpl.js.map +1 -1
  33. package/dist/src/layer/cesium/rasterLayerCesiumImpl.js.map +1 -1
  34. package/dist/src/layer/cesium/resourceHelper.js.map +1 -1
  35. package/dist/src/layer/cesium/singleImageCesiumImpl.js.map +1 -1
  36. package/dist/src/layer/cesium/terrainCesiumImpl.js.map +1 -1
  37. package/dist/src/layer/cesium/tmsCesiumImpl.js.map +1 -1
  38. package/dist/src/layer/cesium/vectorCesiumImpl.d.ts +2 -3
  39. package/dist/src/layer/cesium/vectorCesiumImpl.js +16 -10
  40. package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -1
  41. package/dist/src/layer/cesium/vectorContext.d.ts +11 -54
  42. package/dist/src/layer/cesium/vectorContext.js +154 -171
  43. package/dist/src/layer/cesium/vectorContext.js.map +1 -1
  44. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js.map +1 -1
  45. package/dist/src/layer/cesium/vectorTileImageryProvider.js.map +1 -1
  46. package/dist/src/layer/cesium/wmsCesiumImpl.js.map +1 -1
  47. package/dist/src/layer/cesiumTilesetLayer.js.map +1 -1
  48. package/dist/src/layer/czmlLayer.js.map +1 -1
  49. package/dist/src/layer/dataSourceLayer.js.map +1 -1
  50. package/dist/src/layer/featureLayer.js.map +1 -1
  51. package/dist/src/layer/featureStoreFeatureVisibility.js.map +1 -1
  52. package/dist/src/layer/featureStoreLayer.js.map +1 -1
  53. package/dist/src/layer/featureStoreLayerChanges.js.map +1 -1
  54. package/dist/src/layer/featureVisibility.js +4 -5
  55. package/dist/src/layer/featureVisibility.js.map +1 -1
  56. package/dist/src/layer/geojsonHelpers.d.ts +1 -1
  57. package/dist/src/layer/geojsonHelpers.js +5 -10
  58. package/dist/src/layer/geojsonHelpers.js.map +1 -1
  59. package/dist/src/layer/geojsonLayer.js.map +1 -1
  60. package/dist/src/layer/globalHider.js.map +1 -1
  61. package/dist/src/layer/layer.js.map +1 -1
  62. package/dist/src/layer/layerImplementation.js.map +1 -1
  63. package/dist/src/layer/oblique/layerObliqueImpl.js.map +1 -1
  64. package/dist/src/layer/oblique/obliqueHelpers.js +9 -9
  65. package/dist/src/layer/oblique/obliqueHelpers.js.map +1 -1
  66. package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +3 -3
  67. package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -1
  68. package/dist/src/layer/openStreetMapLayer.js.map +1 -1
  69. package/dist/src/layer/openlayers/layerOpenlayersImpl.js.map +1 -1
  70. package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.js.map +1 -1
  71. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js.map +1 -1
  72. package/dist/src/layer/openlayers/tmsOpenlayersImpl.js.map +1 -1
  73. package/dist/src/layer/openlayers/vectorOpenlayersImpl.d.ts +2 -2
  74. package/dist/src/layer/openlayers/vectorOpenlayersImpl.js.map +1 -1
  75. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.d.ts +1 -7
  76. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js +18 -47
  77. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js.map +1 -1
  78. package/dist/src/layer/openlayers/wmsOpenlayersImpl.js.map +1 -1
  79. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js.map +1 -1
  80. package/dist/src/layer/pointCloudLayer.js.map +1 -1
  81. package/dist/src/layer/rasterLayer.js +1 -1
  82. package/dist/src/layer/rasterLayer.js.map +1 -1
  83. package/dist/src/layer/singleImageLayer.js.map +1 -1
  84. package/dist/src/layer/terrainHelpers.js.map +1 -1
  85. package/dist/src/layer/terrainLayer.js.map +1 -1
  86. package/dist/src/layer/tileLoadedHelper.js.map +1 -1
  87. package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -1
  88. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js.map +1 -1
  89. package/dist/src/layer/tileProvider/tileProvider.js.map +1 -1
  90. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js.map +1 -1
  91. package/dist/src/layer/tmsLayer.js.map +1 -1
  92. package/dist/src/layer/vectorHelpers.js.map +1 -1
  93. package/dist/src/layer/vectorLayer.d.ts +0 -37
  94. package/dist/src/layer/vectorLayer.js +1 -3
  95. package/dist/src/layer/vectorLayer.js.map +1 -1
  96. package/dist/src/layer/vectorProperties.d.ts +10 -5
  97. package/dist/src/layer/vectorProperties.js +59 -10
  98. package/dist/src/layer/vectorProperties.js.map +1 -1
  99. package/dist/src/layer/vectorTileLayer.js.map +1 -1
  100. package/dist/src/layer/wfsLayer.js.map +1 -1
  101. package/dist/src/layer/wmsHelpers.js.map +1 -1
  102. package/dist/src/layer/wmsLayer.js.map +1 -1
  103. package/dist/src/layer/wmtsLayer.js.map +1 -1
  104. package/dist/src/map/baseOLMap.js +1 -1
  105. package/dist/src/map/baseOLMap.js.map +1 -1
  106. package/dist/src/map/cameraLimiter.js +1 -1
  107. package/dist/src/map/cameraLimiter.js.map +1 -1
  108. package/dist/src/map/cesiumMap.js.map +1 -1
  109. package/dist/src/map/obliqueMap.js.map +1 -1
  110. package/dist/src/map/openlayersMap.js +1 -1
  111. package/dist/src/map/openlayersMap.js.map +1 -1
  112. package/dist/src/map/vcsMap.js.map +1 -1
  113. package/dist/src/oblique/helpers.js +5 -5
  114. package/dist/src/oblique/helpers.js.map +1 -1
  115. package/dist/src/oblique/obliqueCollection.js.map +1 -1
  116. package/dist/src/oblique/obliqueDataSet.js +5 -5
  117. package/dist/src/oblique/obliqueDataSet.js.map +1 -1
  118. package/dist/src/oblique/obliqueImage.js.map +1 -1
  119. package/dist/src/oblique/obliqueImageMeta.js.map +1 -1
  120. package/dist/src/oblique/obliqueProvider.js.map +1 -1
  121. package/dist/src/oblique/obliqueView.js.map +1 -1
  122. package/dist/src/oblique/obliqueViewDirection.js +1 -1
  123. package/dist/src/oblique/obliqueViewDirection.js.map +1 -1
  124. package/dist/src/oblique/parseImageJson.js.map +1 -1
  125. package/dist/src/ol/feature.js.map +1 -1
  126. package/dist/src/ol/geom/geometryCollection.js +80 -6
  127. package/dist/src/ol/geom/geometryCollection.js.map +1 -1
  128. package/dist/src/ol/render/canvas/canvasTileRenderer.js.map +1 -1
  129. package/dist/src/ol/source/ClusterEnhancedVectorSource.js.map +1 -1
  130. package/dist/src/ol/source/VcsCluster.js.map +1 -1
  131. package/dist/src/overrideClassRegistry.d.ts +2 -2
  132. package/dist/src/overrideClassRegistry.js +5 -3
  133. package/dist/src/overrideClassRegistry.js.map +1 -1
  134. package/dist/src/style/arcStyle.js +1 -0
  135. package/dist/src/style/arcStyle.js.map +1 -1
  136. package/dist/src/style/arrowStyle.js +6 -6
  137. package/dist/src/style/arrowStyle.js.map +1 -1
  138. package/dist/src/style/declarativeStyleItem.js.map +1 -1
  139. package/dist/src/style/shapesCategory.js.map +1 -1
  140. package/dist/src/style/styleFactory.js.map +1 -1
  141. package/dist/src/style/styleHelpers.js +4 -2
  142. package/dist/src/style/styleHelpers.js.map +1 -1
  143. package/dist/src/style/styleItem.js.map +1 -1
  144. package/dist/src/style/vectorStyleItem.js +9 -9
  145. package/dist/src/style/vectorStyleItem.js.map +1 -1
  146. package/dist/src/style/writeStyle.js.map +1 -1
  147. package/dist/src/util/clipping/clippingObject.js.map +1 -1
  148. package/dist/src/util/clipping/clippingObjectManager.js.map +1 -1
  149. package/dist/src/util/clipping/clippingPlaneHelper.js +2 -2
  150. package/dist/src/util/clipping/clippingPlaneHelper.js.map +1 -1
  151. package/dist/src/util/collection.js.map +1 -1
  152. package/dist/src/util/displayQuality/displayQuality.d.ts +1 -0
  153. package/dist/src/util/displayQuality/displayQuality.js +13 -2
  154. package/dist/src/util/displayQuality/displayQuality.js.map +1 -1
  155. package/dist/src/util/editor/createFeatureSession.d.ts +10 -2
  156. package/dist/src/util/editor/createFeatureSession.js +75 -9
  157. package/dist/src/util/editor/createFeatureSession.js.map +1 -1
  158. package/dist/src/util/editor/editFeaturesSession.d.ts +10 -4
  159. package/dist/src/util/editor/editFeaturesSession.js +74 -37
  160. package/dist/src/util/editor/editFeaturesSession.js.map +1 -1
  161. package/dist/src/util/editor/editGeometrySession.d.ts +7 -2
  162. package/dist/src/util/editor/editGeometrySession.js +109 -66
  163. package/dist/src/util/editor/editGeometrySession.js.map +1 -1
  164. package/dist/src/util/editor/editorHelpers.d.ts +13 -6
  165. package/dist/src/util/editor/editorHelpers.js +53 -23
  166. package/dist/src/util/editor/editorHelpers.js.map +1 -1
  167. package/dist/src/util/editor/editorSessionHelpers.d.ts +6 -6
  168. package/dist/src/util/editor/editorSessionHelpers.js +8 -18
  169. package/dist/src/util/editor/editorSessionHelpers.js.map +1 -1
  170. package/dist/src/util/editor/editorSymbols.d.ts +1 -1
  171. package/dist/src/util/editor/editorSymbols.js +1 -1
  172. package/dist/src/util/editor/editorSymbols.js.map +1 -1
  173. package/dist/src/util/editor/interactions/createBBoxInteraction.d.ts +1 -0
  174. package/dist/src/util/editor/interactions/createBBoxInteraction.js +20 -16
  175. package/dist/src/util/editor/interactions/createBBoxInteraction.js.map +1 -1
  176. package/dist/src/util/editor/interactions/createCircleInteraction.js +1 -1
  177. package/dist/src/util/editor/interactions/createCircleInteraction.js.map +1 -1
  178. package/dist/src/util/editor/interactions/createLineStringInteraction.js +3 -3
  179. package/dist/src/util/editor/interactions/createLineStringInteraction.js.map +1 -1
  180. package/dist/src/util/editor/interactions/createPointInteraction.js +1 -1
  181. package/dist/src/util/editor/interactions/createPointInteraction.js.map +1 -1
  182. package/dist/src/util/editor/interactions/createPolygonInteraction.d.ts +4 -0
  183. package/dist/src/util/editor/interactions/createPolygonInteraction.js +9 -3
  184. package/dist/src/util/editor/interactions/createPolygonInteraction.js.map +1 -1
  185. package/dist/src/util/editor/interactions/creationSnapping.d.ts +26 -0
  186. package/dist/src/util/editor/interactions/creationSnapping.js +139 -0
  187. package/dist/src/util/editor/interactions/creationSnapping.js.map +1 -0
  188. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.js.map +1 -1
  189. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js +11 -9
  190. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -1
  191. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js.map +1 -1
  192. package/dist/src/util/editor/interactions/insertVertexInteraction.d.ts +3 -1
  193. package/dist/src/util/editor/interactions/insertVertexInteraction.js +14 -6
  194. package/dist/src/util/editor/interactions/insertVertexInteraction.js.map +1 -1
  195. package/dist/src/util/editor/interactions/layerSnapping.d.ts +19 -0
  196. package/dist/src/util/editor/interactions/layerSnapping.js +87 -0
  197. package/dist/src/util/editor/interactions/layerSnapping.js.map +1 -0
  198. package/dist/src/util/editor/interactions/mapInteractionController.js.map +1 -1
  199. package/dist/src/util/editor/interactions/removeVertexInteraction.d.ts +1 -1
  200. package/dist/src/util/editor/interactions/removeVertexInteraction.js +2 -2
  201. package/dist/src/util/editor/interactions/removeVertexInteraction.js.map +1 -1
  202. package/dist/src/util/editor/interactions/segmentLengthInteraction.d.ts +16 -0
  203. package/dist/src/util/editor/interactions/segmentLengthInteraction.js +167 -0
  204. package/dist/src/util/editor/interactions/segmentLengthInteraction.js.map +1 -0
  205. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js +1 -1
  206. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js.map +1 -1
  207. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.d.ts +1 -1
  208. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js.map +1 -1
  209. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.d.ts +1 -1
  210. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js.map +1 -1
  211. package/dist/src/util/editor/interactions/translateVertexInteraction.js +4 -8
  212. package/dist/src/util/editor/interactions/translateVertexInteraction.js.map +1 -1
  213. package/dist/src/util/editor/interactions/translationSnapping.d.ts +25 -0
  214. package/dist/src/util/editor/interactions/translationSnapping.js +180 -0
  215. package/dist/src/util/editor/interactions/translationSnapping.js.map +1 -0
  216. package/dist/src/util/editor/selectFeaturesSession.js.map +1 -1
  217. package/dist/src/util/editor/snappingHelpers.d.ts +44 -0
  218. package/dist/src/util/editor/snappingHelpers.js +329 -0
  219. package/dist/src/util/editor/snappingHelpers.js.map +1 -0
  220. package/dist/src/util/editor/transformation/create2DHandlers.js +26 -26
  221. package/dist/src/util/editor/transformation/create2DHandlers.js.map +1 -1
  222. package/dist/src/util/editor/transformation/create3DHandlers.js +65 -14
  223. package/dist/src/util/editor/transformation/create3DHandlers.js.map +1 -1
  224. package/dist/src/util/editor/transformation/extrudeInteraction.js.map +1 -1
  225. package/dist/src/util/editor/transformation/rotateInteraction.js.map +1 -1
  226. package/dist/src/util/editor/transformation/scaleInteraction.js +27 -5
  227. package/dist/src/util/editor/transformation/scaleInteraction.js.map +1 -1
  228. package/dist/src/util/editor/transformation/transformationHandler.js +56 -38
  229. package/dist/src/util/editor/transformation/transformationHandler.js.map +1 -1
  230. package/dist/src/util/editor/transformation/transformationTypes.d.ts +2 -0
  231. package/dist/src/util/editor/transformation/transformationTypes.js +6 -2
  232. package/dist/src/util/editor/transformation/transformationTypes.js.map +1 -1
  233. package/dist/src/util/editor/transformation/translateInteraction.js.map +1 -1
  234. package/dist/src/util/editor/validateGeoemetry.js.map +1 -1
  235. package/dist/src/util/exclusiveManager.js.map +1 -1
  236. package/dist/src/util/extent.js.map +1 -1
  237. package/dist/src/util/featureconverter/arcToCesium.d.ts +5 -19
  238. package/dist/src/util/featureconverter/arcToCesium.js +15 -42
  239. package/dist/src/util/featureconverter/arcToCesium.js.map +1 -1
  240. package/dist/src/util/featureconverter/circleToCesium.d.ts +2 -27
  241. package/dist/src/util/featureconverter/circleToCesium.js +85 -64
  242. package/dist/src/util/featureconverter/circleToCesium.js.map +1 -1
  243. package/dist/src/util/featureconverter/clampedPrimitive.d.ts +2 -0
  244. package/dist/src/util/featureconverter/clampedPrimitive.js +29 -0
  245. package/dist/src/util/featureconverter/clampedPrimitive.js.map +1 -0
  246. package/dist/src/util/featureconverter/convert.d.ts +30 -7
  247. package/dist/src/util/featureconverter/convert.js +221 -44
  248. package/dist/src/util/featureconverter/convert.js.map +1 -1
  249. package/dist/src/util/featureconverter/extent3D.d.ts +4 -3
  250. package/dist/src/util/featureconverter/extent3D.js +4 -3
  251. package/dist/src/util/featureconverter/extent3D.js.map +1 -1
  252. package/dist/src/util/featureconverter/lineStringToCesium.d.ts +12 -27
  253. package/dist/src/util/featureconverter/lineStringToCesium.js +85 -107
  254. package/dist/src/util/featureconverter/lineStringToCesium.js.map +1 -1
  255. package/dist/src/util/featureconverter/pointHelpers.d.ts +8 -11
  256. package/dist/src/util/featureconverter/pointHelpers.js +141 -121
  257. package/dist/src/util/featureconverter/pointHelpers.js.map +1 -1
  258. package/dist/src/util/featureconverter/pointToCesium.d.ts +14 -17
  259. package/dist/src/util/featureconverter/pointToCesium.js +50 -98
  260. package/dist/src/util/featureconverter/pointToCesium.js.map +1 -1
  261. package/dist/src/util/featureconverter/polygonToCesium.d.ts +2 -26
  262. package/dist/src/util/featureconverter/polygonToCesium.js +63 -73
  263. package/dist/src/util/featureconverter/polygonToCesium.js.map +1 -1
  264. package/dist/src/util/featureconverter/storeyHelpers.d.ts +17 -0
  265. package/dist/src/util/featureconverter/storeyHelpers.js +78 -0
  266. package/dist/src/util/featureconverter/storeyHelpers.js.map +1 -0
  267. package/dist/src/util/featureconverter/vectorGeometryFactory.d.ts +54 -0
  268. package/dist/src/util/featureconverter/vectorGeometryFactory.js +278 -0
  269. package/dist/src/util/featureconverter/vectorGeometryFactory.js.map +1 -0
  270. package/dist/src/util/featureconverter/vectorHeightInfo.d.ts +86 -0
  271. package/dist/src/util/featureconverter/vectorHeightInfo.js +240 -0
  272. package/dist/src/util/featureconverter/vectorHeightInfo.js.map +1 -0
  273. package/dist/src/util/fetch.js.map +1 -1
  274. package/dist/src/util/flight/flightAnchor.js.map +1 -1
  275. package/dist/src/util/flight/flightCollection.js.map +1 -1
  276. package/dist/src/util/flight/flightHelpers.js.map +1 -1
  277. package/dist/src/util/flight/flightInstance.js.map +1 -1
  278. package/dist/src/util/flight/flightPlayer.d.ts +11 -6
  279. package/dist/src/util/flight/flightPlayer.js +52 -16
  280. package/dist/src/util/flight/flightPlayer.js.map +1 -1
  281. package/dist/src/util/flight/flightVisualizer.js.map +1 -1
  282. package/dist/src/util/geometryHelpers.d.ts +34 -2
  283. package/dist/src/util/geometryHelpers.js +172 -4
  284. package/dist/src/util/geometryHelpers.js.map +1 -1
  285. package/dist/src/util/hiddenObjects.js.map +1 -1
  286. package/dist/src/util/indexedCollection.js.map +1 -1
  287. package/dist/src/util/layerCollection.js.map +1 -1
  288. package/dist/src/util/locale.js.map +1 -1
  289. package/dist/src/util/mapCollection.js.map +1 -1
  290. package/dist/src/util/math.d.ts +18 -2
  291. package/dist/src/util/math.js +55 -12
  292. package/dist/src/util/math.js.map +1 -1
  293. package/dist/src/util/overrideCollection.d.ts +7 -7
  294. package/dist/src/util/overrideCollection.js +10 -7
  295. package/dist/src/util/overrideCollection.js.map +1 -1
  296. package/dist/src/util/projection.js.map +1 -1
  297. package/dist/src/util/urlHelpers.js.map +1 -1
  298. package/dist/src/util/viewpoint.js.map +1 -1
  299. package/dist/src/vcsApp.d.ts +3 -3
  300. package/dist/src/vcsApp.js +1 -0
  301. package/dist/src/vcsApp.js.map +1 -1
  302. package/dist/src/vcsEvent.js.map +1 -1
  303. package/dist/src/vcsModule.js.map +1 -1
  304. package/dist/src/vcsModuleHelpers.d.ts +1 -0
  305. package/dist/src/vcsModuleHelpers.js +16 -2
  306. package/dist/src/vcsModuleHelpers.js.map +1 -1
  307. package/dist/src/vcsObject.js.map +1 -1
  308. package/dist/tests/unit/helpers/cesiumHelpers.d.ts +11 -11
  309. package/dist/tests/unit/helpers/cesiumHelpers.js +6 -1
  310. package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -1
  311. package/dist/tests/unit/helpers/helpers.d.ts +2 -9
  312. package/dist/tests/unit/helpers/helpers.js +4 -10
  313. package/dist/tests/unit/helpers/helpers.js.map +1 -1
  314. package/dist/tests/unit/helpers/importJSON.js.map +1 -1
  315. package/dist/tests/unit/helpers/obliqueHelpers.js.map +1 -1
  316. package/index.ts +84 -36
  317. package/package.json +21 -21
  318. package/src/category/category.ts +11 -9
  319. package/src/category/categoryCollection.ts +1 -1
  320. package/src/cesium/cesium.d.ts +12 -0
  321. package/src/cesium/cesiumVcsCameraPrimitive.ts +5 -0
  322. package/src/classRegistry.ts +7 -4
  323. package/src/featureProvider/wmsFeatureProvider.ts +1 -1
  324. package/src/global.d.ts +6 -1
  325. package/src/interaction/featureAtPixelInteraction.ts +7 -26
  326. package/src/layer/cesium/clusterContext.ts +97 -93
  327. package/src/layer/cesium/vectorCesiumImpl.ts +17 -11
  328. package/src/layer/cesium/vectorContext.ts +229 -348
  329. package/src/layer/featureVisibility.ts +3 -6
  330. package/src/layer/geojsonHelpers.ts +9 -12
  331. package/src/layer/oblique/obliqueHelpers.ts +9 -9
  332. package/src/layer/oblique/vectorObliqueImpl.ts +2 -2
  333. package/src/layer/openlayers/vectorOpenlayersImpl.ts +2 -2
  334. package/src/layer/openlayers/vectorTileOpenlayersImpl.ts +23 -53
  335. package/src/layer/tileLoadedHelper.ts +1 -3
  336. package/src/layer/tileProvider/mvtTileProvider.ts +2 -2
  337. package/src/layer/vectorLayer.ts +1 -74
  338. package/src/layer/vectorProperties.ts +80 -16
  339. package/src/map/baseOLMap.ts +1 -1
  340. package/src/oblique/helpers.ts +11 -5
  341. package/src/oblique/obliqueDataSet.ts +4 -4
  342. package/src/ol/geom/geometryCollection.js +96 -6
  343. package/src/ol/ol.d.ts +15 -2
  344. package/src/overrideClassRegistry.ts +13 -7
  345. package/src/style/arcStyle.ts +1 -0
  346. package/src/style/arrowStyle.ts +7 -7
  347. package/src/style/declarativeStyleItem.ts +2 -2
  348. package/src/style/styleHelpers.ts +15 -13
  349. package/src/style/vectorStyleItem.ts +14 -14
  350. package/src/util/clipping/clippingObject.ts +1 -3
  351. package/src/util/clipping/clippingPlaneHelper.ts +3 -4
  352. package/src/util/displayQuality/displayQuality.ts +13 -1
  353. package/src/util/editor/createFeatureSession.ts +107 -13
  354. package/src/util/editor/editFeaturesSession.ts +105 -39
  355. package/src/util/editor/editGeometrySession.ts +157 -83
  356. package/src/util/editor/editorHelpers.ts +85 -33
  357. package/src/util/editor/editorSessionHelpers.ts +13 -20
  358. package/src/util/editor/editorSymbols.ts +1 -1
  359. package/src/util/editor/interactions/createBBoxInteraction.ts +25 -16
  360. package/src/util/editor/interactions/createCircleInteraction.ts +1 -1
  361. package/src/util/editor/interactions/createLineStringInteraction.ts +9 -3
  362. package/src/util/editor/interactions/createPointInteraction.ts +1 -1
  363. package/src/util/editor/interactions/createPolygonInteraction.ts +16 -3
  364. package/src/util/editor/interactions/creationSnapping.ts +226 -0
  365. package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +7 -6
  366. package/src/util/editor/interactions/insertVertexInteraction.ts +27 -7
  367. package/src/util/editor/interactions/layerSnapping.ts +136 -0
  368. package/src/util/editor/interactions/removeVertexInteraction.ts +3 -4
  369. package/src/util/editor/interactions/segmentLengthInteraction.ts +227 -0
  370. package/src/util/editor/interactions/translateVertexInteraction.ts +11 -12
  371. package/src/util/editor/interactions/translationSnapping.ts +302 -0
  372. package/src/util/editor/snappingHelpers.ts +490 -0
  373. package/src/util/editor/transformation/create2DHandlers.ts +38 -26
  374. package/src/util/editor/transformation/create3DHandlers.ts +84 -22
  375. package/src/util/editor/transformation/scaleInteraction.ts +28 -5
  376. package/src/util/editor/transformation/transformationHandler.ts +72 -41
  377. package/src/util/editor/transformation/transformationTypes.ts +5 -0
  378. package/src/util/featureconverter/arcToCesium.ts +25 -95
  379. package/src/util/featureconverter/circleToCesium.ts +128 -114
  380. package/src/util/featureconverter/clampedPrimitive.ts +70 -0
  381. package/src/util/featureconverter/convert.ts +447 -113
  382. package/src/util/featureconverter/extent3D.ts +13 -6
  383. package/src/util/featureconverter/lineStringToCesium.ts +134 -181
  384. package/src/util/featureconverter/pointHelpers.ts +285 -219
  385. package/src/util/featureconverter/pointToCesium.ts +117 -177
  386. package/src/util/featureconverter/polygonToCesium.ts +99 -118
  387. package/src/util/featureconverter/storeyHelpers.ts +104 -0
  388. package/src/util/featureconverter/vectorGeometryFactory.ts +601 -0
  389. package/src/util/featureconverter/vectorHeightInfo.ts +392 -0
  390. package/src/util/flight/flightPlayer.ts +64 -22
  391. package/src/util/geometryHelpers.ts +239 -9
  392. package/src/util/hiddenObjects.ts +4 -4
  393. package/src/util/math.ts +87 -12
  394. package/src/util/overrideCollection.ts +33 -21
  395. package/src/vcsApp.ts +11 -4
  396. package/src/vcsModuleHelpers.ts +25 -2
  397. package/dist/src/util/featureconverter/featureconverterHelper.d.ts +0 -35
  398. package/dist/src/util/featureconverter/featureconverterHelper.js +0 -403
  399. package/dist/src/util/featureconverter/featureconverterHelper.js.map +0 -1
  400. 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 { createPickingBehavior, GeometryType, SessionType, setupInteractionChain, setupScratchLayer, } from './editorSessionHelpers.js';
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, vectorPropertyChangeKeys, } from './editorHelpers.js';
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
- function assignVectorProperty(props, key, value) {
16
- props[key] = value;
17
- }
18
- /**
19
- * Create the editing interaction for a feature with a line geometry
20
- * @param feature
21
- * @param scratchLayer
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
- geometry.setCoordinates(vertices.map((f) => f.getGeometry().getCoordinates()));
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 = [translateVertex];
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
- geometry.setCenter(vertex.getGeometry().getCoordinates());
86
- vertices[1].getGeometry().setCoordinates(geometry.getCoordinates()[1]);
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 interactionChain = new InteractionChain([translateVertex]);
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 vertexIndex = vertices.indexOf(vertex);
118
- const originIndex = modulo(vertexIndex + 2, 4);
119
- const rightOfIndex = modulo(vertexIndex + 1, 4);
120
- const leftOfIndex = modulo(vertexIndex - 1, 4);
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
- geometry.setCoordinates([
150
- vertices.map((f) => f.getGeometry().getCoordinates()),
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 interactionChain = new InteractionChain([translateVertex]);
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 = vertices.map((f) => f.getGeometry().getCoordinates());
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 = [translateVertex];
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
- geometry.setCoordinates(vertex.getGeometry().getCoordinates());
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.getGeometry().setCoordinates(geometry.getCoordinates());
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 mutliple exclusive interaction. Needed to run a selection session at the same time as a edit features session.
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
- const pickingBehavior = createPickingBehavior(app);
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
- const altitudeMode = currentFeature
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
- vectorPropertyChangeKeys.forEach((key) => {
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
- pickingBehavior.reset();
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 CesiumMap from '../../map/cesiumMap.js';
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
- export type Vertex = Feature<Point>;
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>): Vertex;
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, HeightReference, } from '@vcmap-cesium/engine';
3
+ import { Cartesian2, Cartesian3, Math as CesiumMath, Plane, Ray, IntersectionTests, Cartographic, } from '@vcmap-cesium/engine';
4
4
  import { mercatorToCartesian } from '../math.js';
5
- import { getFlatCoordinatesFromGeometry } from '../geometryHelpers.js';
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 = getFlatCoordinatesFromGeometry(geometry, coordinates);
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 = getFlatCoordinatesFromGeometry(geometry, coordinates);
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;AAIpC,OAAO,EACL,UAAU,EACV,UAAU,EACV,IAAI,IAAI,UAAU,EAClB,KAAK,EACL,GAAG,EACH,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAIhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,yBAAyB,EACzB,UAAU,EACV,cAAc,GACf,MAAM,8BAA8B,CAAC;AAgBtC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,mBAAmB;IACnB,kBAAkB;IAClB,wBAAwB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAyB;IAC5D,cAAc;IACd,aAAa;IACb,mBAAmB;CACpB,CAAC;AAEF,MAAM,UAAU,uBAAuB,CACrC,OAAgB;IAEhB,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAuB,CAAC;QACrD,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SACpB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,UAAsB,EACtB,SAA0C;IAE1C,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,QAAQ,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC;QACzB,QAAQ;QACR,GAAG,SAAS;KACb,CAAC,CAAC;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,IAAI,kBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;AAC1C,IAAI,kBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;AAC1C,IAAI,kBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;AAC1C,IAAI,kBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;AAC1C,IAAI,kBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;AAC1C,IAAI,kBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAiB,EACjB,GAAe,EACf,KAAiB;IAEjB,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACjB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACjB,kBAAkB,CACnB,CAAC;IACF,IAAI,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC9C,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;KACxE;IACD,kBAAkB,GAAG,UAAU,CAAC,SAAS,CACvC,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAC1C,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACnB,kBAAkB,CACnB,CAAC;IACF,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACtE,kBAAkB,GAAG,UAAU,CAAC,gBAAgB,CAC9C,kBAAkB,EAClB,MAAM,EACN,kBAAkB,CACnB,CAAC;IACF,OAAO;QACL,kBAAkB,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAC/B,kBAAkB,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAC/B,KAAK,CAAC,CAAC,CAAC;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAAiB,EACjB,GAAe,EACf,KAAiB,EACjB,OAAgB;IAEhB,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACjB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACjB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACjB,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAC1C,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACnB,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAC1C,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EACjB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EACjB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACnB,kBAAkB,CACnB,CAAC;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACtD,IACE,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/C,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAC/C;QACA,OAAO,KAAK,CAAC;KACd;IAED,kBAAkB,GAAG,UAAU,CAAC,SAAS,CACvC,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,UAAU,CAAC,SAAS,CACvC,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IACF,OAAO,kBAAkB,CAAC,aAAa,CACrC,kBAAkB,EAClB,OAAO,IAAI,UAAU,CAAC,QAAQ,CAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAAiB,EACjB,GAAe,EACf,KAAiB,EACjB,OAAgB;IAEhB,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACjB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACjB,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAC1C,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EACnB,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAC1C,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EACjB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EACjB,kBAAkB,CACnB,CAAC;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACtD,IACE,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/C,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAC/C;QACA,OAAO,KAAK,CAAC;KACd;IAED,kBAAkB,GAAG,UAAU,CAAC,SAAS,CACvC,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,UAAU,CAAC,SAAS,CACvC,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IAEF,OAAO,kBAAkB,CAAC,aAAa,CACrC,kBAAkB,EAClB,OAAO,IAAI,UAAU,CAAC,QAAQ,CAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,iBAA6B,EAC7B,KAAY;IAEZ,kBAAkB,GAAG,mBAAmB,CACtC,iBAAiB,EACjB,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAC9D,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,UAAU,CAAC,KAAK,CACnC,KAAK,CAAC,MAAM,CAAC,OAAO,EACpB,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,UAAU,CAAC,SAAS,CACvC,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IAEF,OAAO,KAAK,CAAC,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,iBAA6B,EAC7B,KAAY;IAEZ,kBAAkB,GAAG,mBAAmB,CACtC,iBAAiB,EACjB,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAC9D,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IAEF,OAAO,KAAK,CAAC,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAY,EACZ,MAAc,EACd,cAA0B;IAE1B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,GAAI,EAAE,KAAK,CAAC,CAAC;IAC7D,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;KACjD;IACD,OAAO,YAAY,CAAC,IAAI,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAkB,EAClB,GAAW;IAEX,IAAI,GAAG,YAAY,SAAS,EAAE;QAC5B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAW,CAAC;QACvD,MAAM,KAAK,GAAG,8BAA8B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACpE,MAAM,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACtC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACtC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAkB,EAClB,GAAW;IAEX,IAAI,GAAG,YAAY,SAAS,EAAE;QAC5B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAW,CAAC;QACvD,MAAM,KAAK,GAAG,8BAA8B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACpE,MAAM,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACtB,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;gBACxB,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACtB,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACtC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAgB,EAChB,KAAkB,EAClB,SAAoB;IAEpB,0CAA0C;IAC1C,MAAM,cAAc,GAClB,KAAK,CAAC,gBAAgB,CAAC,YAAY,KAAK,eAAe,CAAC,eAAe,CAAC;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAW,CAAC;IAChE,IAAI,YAAY,KAAK,eAAe,IAAI,CAAC,CAAC,YAAY,IAAI,cAAc,CAAC,EAAE;QACzE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,QAAQ,EAAE;YACZ,MAAM,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SACnD;KACF;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAA6B;IACxD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"editorHelpers.js","sourceRoot":"","sources":["../../../../src/util/editor/editorHelpers.ts"],"names":[],"mappings":"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"}