@vcmap/core 6.0.0-rc.4 → 6.0.0-rc.6

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 (209) hide show
  1. package/dist/cesium.d.ts +11 -0
  2. package/dist/index.d.ts +23 -16
  3. package/dist/index.js +21 -14
  4. package/dist/index.js.map +1 -1
  5. package/dist/ol.d.ts +15 -2
  6. package/dist/src/layer/cesium/clusterContext.d.ts +8 -14
  7. package/dist/src/layer/cesium/clusterContext.js +62 -41
  8. package/dist/src/layer/cesium/clusterContext.js.map +1 -1
  9. package/dist/src/layer/cesium/vectorCesiumImpl.d.ts +2 -3
  10. package/dist/src/layer/cesium/vectorCesiumImpl.js +16 -10
  11. package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -1
  12. package/dist/src/layer/cesium/vectorContext.d.ts +10 -53
  13. package/dist/src/layer/cesium/vectorContext.js +88 -172
  14. package/dist/src/layer/cesium/vectorContext.js.map +1 -1
  15. package/dist/src/layer/geojsonHelpers.d.ts +1 -1
  16. package/dist/src/layer/geojsonHelpers.js +5 -10
  17. package/dist/src/layer/geojsonHelpers.js.map +1 -1
  18. package/dist/src/layer/oblique/obliqueHelpers.js +6 -6
  19. package/dist/src/layer/oblique/obliqueHelpers.js.map +1 -1
  20. package/dist/src/layer/vectorLayer.d.ts +0 -37
  21. package/dist/src/layer/vectorLayer.js.map +1 -1
  22. package/dist/src/layer/vectorProperties.d.ts +8 -3
  23. package/dist/src/layer/vectorProperties.js +30 -5
  24. package/dist/src/layer/vectorProperties.js.map +1 -1
  25. package/dist/src/map/baseOLMap.js +1 -1
  26. package/dist/src/map/baseOLMap.js.map +1 -1
  27. package/dist/src/map/obliqueMap.d.ts +3 -0
  28. package/dist/src/map/obliqueMap.js +27 -6
  29. package/dist/src/map/obliqueMap.js.map +1 -1
  30. package/dist/src/map/vcsMap.d.ts +8 -0
  31. package/dist/src/map/vcsMap.js +11 -0
  32. package/dist/src/map/vcsMap.js.map +1 -1
  33. package/dist/src/oblique/helpers.js +5 -5
  34. package/dist/src/oblique/helpers.js.map +1 -1
  35. package/dist/src/oblique/obliqueDataSet.js +4 -4
  36. package/dist/src/oblique/obliqueDataSet.js.map +1 -1
  37. package/dist/src/ol/geom/geometryCollection.js +19 -2
  38. package/dist/src/ol/geom/geometryCollection.js.map +1 -1
  39. package/dist/src/style/arcStyle.js +1 -0
  40. package/dist/src/style/arcStyle.js.map +1 -1
  41. package/dist/src/util/editor/createFeatureSession.d.ts +5 -1
  42. package/dist/src/util/editor/createFeatureSession.js +48 -4
  43. package/dist/src/util/editor/createFeatureSession.js.map +1 -1
  44. package/dist/src/util/editor/editFeaturesSession.d.ts +10 -4
  45. package/dist/src/util/editor/editFeaturesSession.js +74 -37
  46. package/dist/src/util/editor/editFeaturesSession.js.map +1 -1
  47. package/dist/src/util/editor/editGeometrySession.d.ts +5 -1
  48. package/dist/src/util/editor/editGeometrySession.js +77 -55
  49. package/dist/src/util/editor/editGeometrySession.js.map +1 -1
  50. package/dist/src/util/editor/editorHelpers.d.ts +12 -6
  51. package/dist/src/util/editor/editorHelpers.js +47 -20
  52. package/dist/src/util/editor/editorHelpers.js.map +1 -1
  53. package/dist/src/util/editor/editorSessionHelpers.d.ts +5 -0
  54. package/dist/src/util/editor/editorSessionHelpers.js +1 -0
  55. package/dist/src/util/editor/editorSessionHelpers.js.map +1 -1
  56. package/dist/src/util/editor/editorSymbols.d.ts +1 -1
  57. package/dist/src/util/editor/editorSymbols.js +1 -1
  58. package/dist/src/util/editor/editorSymbols.js.map +1 -1
  59. package/dist/src/util/editor/interactions/createBBoxInteraction.d.ts +1 -0
  60. package/dist/src/util/editor/interactions/createBBoxInteraction.js +20 -16
  61. package/dist/src/util/editor/interactions/createBBoxInteraction.js.map +1 -1
  62. package/dist/src/util/editor/interactions/createCircleInteraction.js +1 -1
  63. package/dist/src/util/editor/interactions/createCircleInteraction.js.map +1 -1
  64. package/dist/src/util/editor/interactions/createLineStringInteraction.js +3 -3
  65. package/dist/src/util/editor/interactions/createLineStringInteraction.js.map +1 -1
  66. package/dist/src/util/editor/interactions/createPointInteraction.js +1 -1
  67. package/dist/src/util/editor/interactions/createPointInteraction.js.map +1 -1
  68. package/dist/src/util/editor/interactions/createPolygonInteraction.d.ts +4 -0
  69. package/dist/src/util/editor/interactions/createPolygonInteraction.js +9 -3
  70. package/dist/src/util/editor/interactions/createPolygonInteraction.js.map +1 -1
  71. package/dist/src/util/editor/interactions/creationSnapping.d.ts +26 -0
  72. package/dist/src/util/editor/interactions/creationSnapping.js +139 -0
  73. package/dist/src/util/editor/interactions/creationSnapping.js.map +1 -0
  74. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js +3 -2
  75. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -1
  76. package/dist/src/util/editor/interactions/insertVertexInteraction.d.ts +3 -1
  77. package/dist/src/util/editor/interactions/insertVertexInteraction.js +14 -6
  78. package/dist/src/util/editor/interactions/insertVertexInteraction.js.map +1 -1
  79. package/dist/src/util/editor/interactions/layerSnapping.d.ts +19 -0
  80. package/dist/src/util/editor/interactions/layerSnapping.js +87 -0
  81. package/dist/src/util/editor/interactions/layerSnapping.js.map +1 -0
  82. package/dist/src/util/editor/interactions/translateVertexInteraction.js +2 -2
  83. package/dist/src/util/editor/interactions/translateVertexInteraction.js.map +1 -1
  84. package/dist/src/util/editor/interactions/translationSnapping.d.ts +25 -0
  85. package/dist/src/util/editor/interactions/translationSnapping.js +179 -0
  86. package/dist/src/util/editor/interactions/translationSnapping.js.map +1 -0
  87. package/dist/src/util/editor/snappingHelpers.d.ts +44 -0
  88. package/dist/src/util/editor/snappingHelpers.js +329 -0
  89. package/dist/src/util/editor/snappingHelpers.js.map +1 -0
  90. package/dist/src/util/editor/transformation/create2DHandlers.js +26 -26
  91. package/dist/src/util/editor/transformation/create2DHandlers.js.map +1 -1
  92. package/dist/src/util/editor/transformation/create3DHandlers.js +65 -14
  93. package/dist/src/util/editor/transformation/create3DHandlers.js.map +1 -1
  94. package/dist/src/util/editor/transformation/scaleInteraction.js +27 -5
  95. package/dist/src/util/editor/transformation/scaleInteraction.js.map +1 -1
  96. package/dist/src/util/editor/transformation/transformationHandler.js +56 -38
  97. package/dist/src/util/editor/transformation/transformationHandler.js.map +1 -1
  98. package/dist/src/util/editor/transformation/transformationTypes.d.ts +2 -0
  99. package/dist/src/util/editor/transformation/transformationTypes.js +4 -0
  100. package/dist/src/util/editor/transformation/transformationTypes.js.map +1 -1
  101. package/dist/src/util/featureconverter/arcToCesium.d.ts +5 -19
  102. package/dist/src/util/featureconverter/arcToCesium.js +15 -42
  103. package/dist/src/util/featureconverter/arcToCesium.js.map +1 -1
  104. package/dist/src/util/featureconverter/circleToCesium.d.ts +2 -27
  105. package/dist/src/util/featureconverter/circleToCesium.js +84 -63
  106. package/dist/src/util/featureconverter/circleToCesium.js.map +1 -1
  107. package/dist/src/util/featureconverter/clampedPrimitive.d.ts +2 -0
  108. package/dist/src/util/featureconverter/clampedPrimitive.js +29 -0
  109. package/dist/src/util/featureconverter/clampedPrimitive.js.map +1 -0
  110. package/dist/src/util/featureconverter/convert.d.ts +26 -7
  111. package/dist/src/util/featureconverter/convert.js +221 -44
  112. package/dist/src/util/featureconverter/convert.js.map +1 -1
  113. package/dist/src/util/featureconverter/extent3D.d.ts +4 -3
  114. package/dist/src/util/featureconverter/extent3D.js +4 -3
  115. package/dist/src/util/featureconverter/extent3D.js.map +1 -1
  116. package/dist/src/util/featureconverter/lineStringToCesium.d.ts +12 -27
  117. package/dist/src/util/featureconverter/lineStringToCesium.js +85 -107
  118. package/dist/src/util/featureconverter/lineStringToCesium.js.map +1 -1
  119. package/dist/src/util/featureconverter/pointHelpers.d.ts +8 -11
  120. package/dist/src/util/featureconverter/pointHelpers.js +134 -120
  121. package/dist/src/util/featureconverter/pointHelpers.js.map +1 -1
  122. package/dist/src/util/featureconverter/pointToCesium.d.ts +14 -17
  123. package/dist/src/util/featureconverter/pointToCesium.js +47 -96
  124. package/dist/src/util/featureconverter/pointToCesium.js.map +1 -1
  125. package/dist/src/util/featureconverter/polygonToCesium.d.ts +2 -26
  126. package/dist/src/util/featureconverter/polygonToCesium.js +62 -72
  127. package/dist/src/util/featureconverter/polygonToCesium.js.map +1 -1
  128. package/dist/src/util/featureconverter/storeyHelpers.d.ts +17 -0
  129. package/dist/src/util/featureconverter/storeyHelpers.js +78 -0
  130. package/dist/src/util/featureconverter/storeyHelpers.js.map +1 -0
  131. package/dist/src/util/featureconverter/vectorGeometryFactory.d.ts +54 -0
  132. package/dist/src/util/featureconverter/vectorGeometryFactory.js +278 -0
  133. package/dist/src/util/featureconverter/vectorGeometryFactory.js.map +1 -0
  134. package/dist/src/util/featureconverter/vectorHeightInfo.d.ts +86 -0
  135. package/dist/src/util/featureconverter/vectorHeightInfo.js +242 -0
  136. package/dist/src/util/featureconverter/vectorHeightInfo.js.map +1 -0
  137. package/dist/src/util/geometryHelpers.d.ts +22 -1
  138. package/dist/src/util/geometryHelpers.js +65 -2
  139. package/dist/src/util/geometryHelpers.js.map +1 -1
  140. package/dist/src/util/mapCollection.js +8 -0
  141. package/dist/src/util/mapCollection.js.map +1 -1
  142. package/dist/src/util/math.d.ts +6 -2
  143. package/dist/src/util/math.js +34 -12
  144. package/dist/src/util/math.js.map +1 -1
  145. package/dist/tests/unit/helpers/cesiumHelpers.js +3 -1
  146. package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -1
  147. package/dist/tests/unit/helpers/helpers.d.ts +2 -9
  148. package/dist/tests/unit/helpers/helpers.js +2 -8
  149. package/dist/tests/unit/helpers/helpers.js.map +1 -1
  150. package/index.ts +74 -35
  151. package/package.json +3 -3
  152. package/src/cesium/cesium.d.ts +11 -0
  153. package/src/layer/cesium/clusterContext.ts +82 -91
  154. package/src/layer/cesium/vectorCesiumImpl.ts +17 -11
  155. package/src/layer/cesium/vectorContext.ts +120 -348
  156. package/src/layer/geojsonHelpers.ts +9 -12
  157. package/src/layer/oblique/obliqueHelpers.ts +6 -6
  158. package/src/layer/vectorLayer.ts +0 -71
  159. package/src/layer/vectorProperties.ts +46 -9
  160. package/src/map/baseOLMap.ts +1 -1
  161. package/src/map/obliqueMap.ts +46 -6
  162. package/src/map/vcsMap.ts +20 -2
  163. package/src/oblique/helpers.ts +11 -5
  164. package/src/oblique/obliqueDataSet.ts +4 -4
  165. package/src/ol/geom/geometryCollection.js +21 -2
  166. package/src/ol/ol.d.ts +15 -2
  167. package/src/style/arcStyle.ts +1 -0
  168. package/src/util/editor/createFeatureSession.ts +64 -6
  169. package/src/util/editor/editFeaturesSession.ts +105 -39
  170. package/src/util/editor/editGeometrySession.ts +118 -75
  171. package/src/util/editor/editorHelpers.ts +78 -30
  172. package/src/util/editor/editorSessionHelpers.ts +7 -0
  173. package/src/util/editor/editorSymbols.ts +1 -1
  174. package/src/util/editor/interactions/createBBoxInteraction.ts +25 -16
  175. package/src/util/editor/interactions/createCircleInteraction.ts +1 -1
  176. package/src/util/editor/interactions/createLineStringInteraction.ts +9 -3
  177. package/src/util/editor/interactions/createPointInteraction.ts +1 -1
  178. package/src/util/editor/interactions/createPolygonInteraction.ts +16 -3
  179. package/src/util/editor/interactions/creationSnapping.ts +226 -0
  180. package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +3 -2
  181. package/src/util/editor/interactions/insertVertexInteraction.ts +27 -7
  182. package/src/util/editor/interactions/layerSnapping.ts +136 -0
  183. package/src/util/editor/interactions/translateVertexInteraction.ts +8 -2
  184. package/src/util/editor/interactions/translationSnapping.ts +302 -0
  185. package/src/util/editor/snappingHelpers.ts +490 -0
  186. package/src/util/editor/transformation/create2DHandlers.ts +38 -26
  187. package/src/util/editor/transformation/create3DHandlers.ts +84 -22
  188. package/src/util/editor/transformation/scaleInteraction.ts +28 -5
  189. package/src/util/editor/transformation/transformationHandler.ts +72 -41
  190. package/src/util/editor/transformation/transformationTypes.ts +5 -0
  191. package/src/util/featureconverter/arcToCesium.ts +25 -95
  192. package/src/util/featureconverter/circleToCesium.ts +127 -113
  193. package/src/util/featureconverter/clampedPrimitive.ts +70 -0
  194. package/src/util/featureconverter/convert.ts +446 -114
  195. package/src/util/featureconverter/extent3D.ts +13 -6
  196. package/src/util/featureconverter/lineStringToCesium.ts +132 -179
  197. package/src/util/featureconverter/pointHelpers.ts +271 -214
  198. package/src/util/featureconverter/pointToCesium.ts +111 -175
  199. package/src/util/featureconverter/polygonToCesium.ts +98 -117
  200. package/src/util/featureconverter/storeyHelpers.ts +104 -0
  201. package/src/util/featureconverter/vectorGeometryFactory.ts +601 -0
  202. package/src/util/featureconverter/vectorHeightInfo.ts +393 -0
  203. package/src/util/geometryHelpers.ts +79 -5
  204. package/src/util/mapCollection.ts +8 -0
  205. package/src/util/math.ts +59 -12
  206. package/dist/src/util/featureconverter/featureconverterHelper.d.ts +0 -35
  207. package/dist/src/util/featureconverter/featureconverterHelper.js +0 -404
  208. package/dist/src/util/featureconverter/featureconverterHelper.js.map +0 -1
  209. package/src/util/featureconverter/featureconverterHelper.ts +0 -672
@@ -1,10 +1,11 @@
1
1
  import { extend as extendExtent, createEmpty as createEmptyExtent, getCenter, isEmpty, } from 'ol/extent.js';
2
2
  import { unByKey } from 'ol/Observable.js';
3
3
  import { getLogger } from '@vcsuite/logger';
4
+ import { Math as CesiumMath } from '@vcmap-cesium/engine';
4
5
  import VcsEvent from '../../vcsEvent.js';
5
6
  import { setupInteractionChain, SessionType, setupScratchLayer, } from './editorSessionHelpers.js';
6
7
  import createTransformationHandler from './transformation/transformationHandler.js';
7
- import { TransformationMode, } from './transformation/transformationTypes.js';
8
+ import { AxisAndPlanes, TransformationMode, } from './transformation/transformationTypes.js';
8
9
  import MapInteractionController from './interactions/mapInteractionController.js';
9
10
  import TranslateInteraction from './transformation/translateInteraction.js';
10
11
  import RotateInteraction from './transformation/rotateInteraction.js';
@@ -12,7 +13,7 @@ import ScaleInteraction from './transformation/scaleInteraction.js';
12
13
  import { createSync, obliqueGeometry } from '../../layer/vectorSymbols.js';
13
14
  import ExtrudeInteraction from './transformation/extrudeInteraction.js';
14
15
  import ObliqueMap from '../../map/obliqueMap.js';
15
- import { ensureFeatureAbsolute, geometryChangeKeys } from './editorHelpers.js';
16
+ import { geometryChangeKeys } from './editorHelpers.js';
16
17
  import CesiumMap from '../../map/cesiumMap.js';
17
18
  import EnsureHandlerSelectionInteraction from './interactions/ensureHandlerSelectionInteraction.js';
18
19
  import EditFeaturesMouseOverInteraction from './interactions/editFeaturesMouseOverInteraction.js';
@@ -123,52 +124,89 @@ function startEditFeaturesSession(app, layer, interactionId, initialMode = Trans
123
124
  let destroyTransformation = () => { };
124
125
  let transformationHandler;
125
126
  const translate = (dx, dy, dz) => {
126
- transformationHandler?.translate?.(dx, dy, dz);
127
+ transformationHandler?.translate?.(dx, dy, dz); // XXX should we changes this in 2D to change the layout to XY?
127
128
  currentFeatures.forEach((f) => {
128
129
  const geometry = f[obliqueGeometry] ?? f.getGeometry(); // XXX wont work in oblqiue
129
- geometry.applyTransform((input, output) => {
130
+ geometry.applyTransform((input, output, stride = 2) => {
130
131
  const inputLength = input.length;
131
- for (let i = 0; i < inputLength; i += 3) {
132
+ for (let i = 0; i < inputLength; i += stride) {
132
133
  output[i] = input[i] + dx;
133
134
  output[i + 1] = input[i + 1] + dy;
134
- output[i + 2] = input[i + 2] + dz;
135
+ if (stride > 2) {
136
+ output[i + 2] = input[i + 2] + dz;
137
+ }
135
138
  }
136
139
  return output;
137
140
  });
138
141
  });
139
142
  };
140
- const rotate = (angle) => {
141
- let center = transformationHandler?.center;
142
- if (!center) {
143
- const extent = createEmptyExtent();
143
+ const rotate = (angle, axis = AxisAndPlanes.Z) => {
144
+ if (currentFeatures.length === 1 &&
145
+ currentFeatures[0].getGeometry()?.getType() === 'Point' &&
146
+ layer.vectorProperties.renderAs(currentFeatures[0]) !== 'geometry') {
147
+ if (axis === AxisAndPlanes.Z) {
148
+ const currentRotation = layer.vectorProperties.getModelHeading(currentFeatures[0]);
149
+ currentFeatures[0].set('olcs_modelHeading', currentRotation - CesiumMath.toDegrees(angle));
150
+ }
151
+ else if (axis === AxisAndPlanes.X) {
152
+ const currentRotation = layer.vectorProperties.getModelPitch(currentFeatures[0]);
153
+ currentFeatures[0].set('olcs_modelPitch', currentRotation - CesiumMath.toDegrees(angle));
154
+ }
155
+ else if (axis === AxisAndPlanes.Y) {
156
+ const currentRotation = layer.vectorProperties.getModelRoll(currentFeatures[0]);
157
+ currentFeatures[0].set('olcs_modelRoll', currentRotation - CesiumMath.toDegrees(angle));
158
+ }
159
+ }
160
+ else {
161
+ let center = transformationHandler?.center;
162
+ if (!center) {
163
+ const extent = createEmptyExtent();
164
+ currentFeatures.forEach((f) => {
165
+ extendExtent(extent, f.getGeometry().getExtent()); // XXX wont work in oblqiue
166
+ });
167
+ if (!isEmpty(extent)) {
168
+ center = getCenter(extent);
169
+ }
170
+ }
144
171
  currentFeatures.forEach((f) => {
145
- extendExtent(extent, f.getGeometry().getExtent()); // XXX wont work in oblqiue
172
+ const geometry = f[obliqueGeometry] ?? f.getGeometry(); // XXX wont work in oblqiue
173
+ geometry.rotate(angle, center);
146
174
  });
147
- if (!isEmpty(extent)) {
148
- center = getCenter(extent);
149
- }
150
175
  }
151
- currentFeatures.forEach((f) => {
152
- const geometry = f[obliqueGeometry] ?? f.getGeometry(); // XXX wont work in oblqiue
153
- geometry.rotate(angle, center);
154
- });
155
176
  };
156
- const scale = (sx, sy) => {
157
- let center = transformationHandler?.center;
158
- if (!center) {
159
- // XXX copy paste
160
- const extent = createEmptyExtent();
177
+ const scale = (sx, sy, sz) => {
178
+ if (currentFeatures.length === 1 &&
179
+ currentFeatures[0].getGeometry()?.getType() === 'Point' &&
180
+ layer.vectorProperties.renderAs(currentFeatures[0]) !== 'geometry') {
181
+ const feature = currentFeatures[0];
182
+ const scaleX = layer.vectorProperties.getModelScaleX(feature);
183
+ const scaleY = layer.vectorProperties.getModelScaleY(feature);
184
+ const scaleZ = layer.vectorProperties.getModelScaleZ(feature);
185
+ currentFeatures[0].set('olcs_modelScaleX', scaleX * sx);
186
+ currentFeatures[0].set('olcs_modelScaleY', scaleY * sy);
187
+ let usedSz = sz;
188
+ if (usedSz == null) {
189
+ usedSz = sx === sy ? sx : 1;
190
+ }
191
+ currentFeatures[0].set('olcs_modelScaleZ', scaleZ * usedSz);
192
+ }
193
+ else {
194
+ let center = transformationHandler?.center;
195
+ if (!center) {
196
+ // XXX copy paste
197
+ const extent = createEmptyExtent();
198
+ currentFeatures.forEach((f) => {
199
+ extendExtent(extent, f.getGeometry().getExtent());
200
+ });
201
+ if (!isEmpty(extent)) {
202
+ center = getCenter(extent);
203
+ }
204
+ }
161
205
  currentFeatures.forEach((f) => {
162
- extendExtent(extent, f.getGeometry().getExtent());
206
+ const geometry = f[obliqueGeometry] ?? f.getGeometry();
207
+ geometry.scale(sx, sy, center);
163
208
  });
164
- if (!isEmpty(extent)) {
165
- center = getCenter(extent);
166
- }
167
209
  }
168
- currentFeatures.forEach((f) => {
169
- const geometry = f[obliqueGeometry] ?? f.getGeometry();
170
- geometry.scale(sx, sy, center);
171
- });
172
210
  };
173
211
  const createTransformations = () => {
174
212
  destroyTransformation();
@@ -185,8 +223,6 @@ function startEditFeaturesSession(app, layer, interactionId, initialMode = Trans
185
223
  interaction = new ExtrudeInteraction(transformationHandler);
186
224
  interaction.extruded.addEventListener((dz) => {
187
225
  currentFeatures.forEach((f) => {
188
- // eslint-disable-next-line no-void
189
- void ensureFeatureAbsolute(f, layer, app.maps.activeMap);
190
226
  let extrudedHeight = f.get('olcs_extrudedHeight') ?? 0;
191
227
  extrudedHeight += dz;
192
228
  f.set('olcs_extrudedHeight', extrudedHeight);
@@ -195,14 +231,14 @@ function startEditFeaturesSession(app, layer, interactionId, initialMode = Trans
195
231
  }
196
232
  else if (mode === TransformationMode.ROTATE) {
197
233
  interaction = new RotateInteraction(transformationHandler);
198
- interaction.rotated.addEventListener(({ angle }) => {
199
- rotate(angle);
234
+ interaction.rotated.addEventListener(({ angle, axis }) => {
235
+ rotate(angle, axis);
200
236
  });
201
237
  }
202
238
  else if (mode === TransformationMode.SCALE) {
203
239
  interaction = new ScaleInteraction(transformationHandler);
204
- interaction.scaled.addEventListener(([sx, sy]) => {
205
- scale(sx, sy);
240
+ interaction.scaled.addEventListener(([sx, sy, sz]) => {
241
+ scale(sx, sy, sz);
206
242
  });
207
243
  }
208
244
  else {
@@ -274,6 +310,7 @@ function startEditFeaturesSession(app, layer, interactionId, initialMode = Trans
274
310
  });
275
311
  allowPickingMap.clear();
276
312
  app.layers.remove(scratchLayer);
313
+ scratchLayer.destroy();
277
314
  modeChanged.destroy();
278
315
  removeRightClickStart();
279
316
  rightClickStart.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"editFeaturesSession.js","sourceRoot":"","sources":["../../../../src/util/editor/editFeaturesSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editFeaturesSession.js","sourceRoot":"","sources":["../../../../src/util/editor/editFeaturesSession.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,IAAI,YAAY,EACtB,WAAW,IAAI,iBAAiB,EAChC,SAAS,EACT,OAAO,GACR,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,iBAAiB,GAElB,MAAM,2BAA2B,CAAC;AACnC,OAAO,2BAA2B,MAAM,2CAA2C,CAAC;AACpF,OAAO,EACL,aAAa,EAEb,kBAAkB,GACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,wBAAwB,MAAM,4CAA4C,CAAC;AAClF,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,iBAAiB,MAAM,uCAAuC,CAAC;AACtE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,kBAAkB,MAAM,wCAAwC,CAAC;AACxE,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,iCAAiC,MAAM,qDAAqD,CAAC;AACpG,OAAO,gCAAgC,MAAM,oDAAoD,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAI3E,OAAO,qBAAqB,MAAM,yCAAyC,CAAC;AAE5E;;;;;GAKG;AACH,SAAS,eAAe,CACtB,OAAgB,EAChB,eAA0D,EAC1D,sBAA2C;IAE3C,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAqB,CAAC;IAC9C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAC5B,eAAe,CAAC,GAAG,CACjB,EAAE,EACF,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAwB,CACxD,CAAC;KACH;IACD,IAAI,sBAAsB,KAAK,mBAAmB,CAAC,IAAI,EAAE;QACvD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;KACzC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,OAAgB,EAChB,eAA0D;IAE1D,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAqB,CAAC,CAAC;IAC7E,IAAI,YAAY,IAAI,IAAI,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;KAChD;SAAM;QACL,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;KACpC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CACpB,OAAgB,EAChB,qBAAoD;IAEpD,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAqB,CAAC;IAC9C,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAC7C,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CACtB,OAAgB,EAChB,qBAAoD;IAEpD,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAqB,CAAC;IAC9C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAClC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;KAC5B;IACD,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAuBD;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAC/B,GAAW,EACX,KAAkB,EAClB,aAAsB,EACtB,WAAW,GAAG,kBAAkB,CAAC,SAAS;IAE1C,MAAM,OAAO,GAAG,IAAI,QAAQ,EAAQ,CAAC;IAErC;;OAEG;IACH,MAAM,eAAe,GAAc,EAAE,CAAC;IAEtC,8IAA8I;IAC9I,MAAM,eAAe,GAA8C,IAAI,GAAG,EAAE,CAAC;IAC7E,IAAI,eAAoC,CAAC;IACzC,wDAAwD;IACxD,MAAM,uBAAuB,GAC3B,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE;QAC7D,8GAA8G;QAC9G,eAAe,GAAG,GAAG,CAAC;QACtB,MAAM,YAAY,GAAG,eAAe,KAAK,mBAAmB,CAAC,IAAI,CAAC;QAClE,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,eAAe,GAAG,IAAI,qBAAqB,EAAE,CAAC;IACpD,eAAe,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE;QACjD,wFAAwF;QACxF,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,eAAe,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE;QACvD,2CAA2C;QAC3C,MAAM,YAAY,GAAG,eAAe,KAAK,mBAAmB,CAAC,IAAI,CAAC;QAClE,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,EACJ,gBAAgB,EAChB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,uBAAuB,GACjC,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAEhE,MAAM,EAAE,sBAAsB,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IACzD,MAAM,qBAAqB,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CACzE,eAAe,EACf,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,EACrC,CAAC,EACD,sBAAsB,CACvB,CAAC;IAEF,MAAM,oBAAoB,GAAG,IAAI,gCAAgC,EAAE,CAAC;IACpE,gBAAgB,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAEtD,gBAAgB,CAAC,cAAc,CAC7B,IAAI,iCAAiC,CAAC,eAAe,CAAC,CACvD,CAAC;IAEF,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAChE,gBAAgB,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAE1D,IAAI,IAAI,GAAG,WAAW,CAAC;IACvB,IAAI,qBAAqB,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;IAC3C,IAAI,qBAAwD,CAAC;IAC7D,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAQ,EAAE;QAC7D,qBAAqB,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,+DAA+D;QAC/G,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,2BAA2B;YACnF,QAAS,CAAC,cAAc,CACtB,CACE,KAAe,EACf,MAA4B,EAC5B,MAAM,GAAG,CAAC,EACA,EAAE;gBACZ,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,MAAM,EAAE;oBAC5C,MAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC3B,MAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBACnC,IAAI,MAAM,GAAG,CAAC,EAAE;wBACd,MAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;qBACpC;iBACF;gBACD,OAAO,MAAO,CAAC;YACjB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CACb,KAAa,EACb,OAAsB,aAAa,CAAC,CAAC,EAC/B,EAAE;QACR,IACE,eAAe,CAAC,MAAM,KAAK,CAAC;YAC5B,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,OAAO;YACvD,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,EAClE;YACA,IAAI,IAAI,KAAK,aAAa,CAAC,CAAC,EAAE;gBAC5B,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAAC,eAAe,CAC5D,eAAe,CAAC,CAAC,CAAC,CACnB,CAAC;gBACF,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CACpB,mBAAmB,EACnB,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAC9C,CAAC;aACH;iBAAM,IAAI,IAAI,KAAK,aAAa,CAAC,CAAC,EAAE;gBACnC,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAC1D,eAAe,CAAC,CAAC,CAAC,CACnB,CAAC;gBACF,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CACpB,iBAAiB,EACjB,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAC9C,CAAC;aACH;iBAAM,IAAI,IAAI,KAAK,aAAa,CAAC,CAAC,EAAE;gBACnC,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAAC,YAAY,CACzD,eAAe,CAAC,CAAC,CAAC,CACnB,CAAC;gBACF,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CACpB,gBAAgB,EAChB,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAC9C,CAAC;aACH;SACF;aAAM;YACL,IAAI,MAAM,GAAG,qBAAqB,EAAE,MAAM,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;gBACnC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC5B,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,EAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,2BAA2B;gBACjF,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACpB,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;iBAC5B;aACF;YACD,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5B,MAAM,QAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,2BAA2B;gBACnF,QAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAO,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAU,EAAE,EAAW,EAAQ,EAAE;QAC1D,IACE,eAAe,CAAC,MAAM,KAAK,CAAC;YAC5B,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,OAAO;YACvD,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,EAClE;YACA,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9D,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC;YACxD,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC;YACxD,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7B;YACD,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;SAC7D;aAAM;YACL,IAAI,MAAM,GAAG,qBAAqB,EAAE,MAAM,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE;gBACX,iBAAiB;gBACjB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;gBACnC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC5B,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,EAAG,CAAC,SAAS,EAAE,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACpB,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;iBAC5B;aACF;YACD,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5B,MAAM,QAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBACvD,QAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAS,EAAE;QACvC,qBAAqB,EAAE,CAAC;QAExB,qBAAqB,GAAG,2BAA2B,CACjD,GAAG,CAAC,IAAI,CAAC,SAAU,EACnB,KAAK,EACL,YAAY,EACZ,IAAI,CACL,CAAC;QACF,qBAAqB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAEnD,IAAI,WAIgB,CAAC;QACrB,IAAI,IAAI,KAAK,kBAAkB,CAAC,SAAS,EAAE;YACzC,WAAW,GAAG,IAAI,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;YAC9D,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;gBACvD,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,KAAK,kBAAkB,CAAC,OAAO,EAAE;YAC9C,WAAW,GAAG,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;YAC5D,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC3C,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC5B,IAAI,cAAc,GACf,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAwB,IAAI,CAAC,CAAC;oBAC5D,cAAc,IAAI,EAAE,CAAC;oBACrB,CAAC,CAAC,GAAG,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,KAAK,kBAAkB,CAAC,MAAM,EAAE;YAC7C,WAAW,GAAG,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;YAC3D,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBACvD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,KAAK,kBAAkB,CAAC,KAAK,EAAE;YAC5C,WAAW,GAAG,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;YAC1D,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;gBACnD,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAChE;QAED,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE7C,qBAAqB,GAAG,GAAS,EAAE;YACjC,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAChD,WAAW,CAAC,OAAO,EAAE,CAAC;YACtB,qBAAqB,EAAE,OAAO,EAAE,CAAC;YACjC,qBAAqB,GAAG,SAAS,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,QAAQ,EAAsB,CAAC;IACvD,MAAM,OAAO,GAAG,CAAC,OAA2B,EAAQ,EAAE;QACpD,IAAI,OAAO,KAAK,IAAI,EAAE;YACpB,IACE,OAAO,KAAK,kBAAkB,CAAC,OAAO;gBACtC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,YAAY,SAAS,CAAC,EAC1C;gBACA,SAAS,CAAC,qBAAqB,CAAC,CAAC,OAAO,CACtC,mDAAmD,CACpD,CAAC;aACH;iBAAM;gBACL,IAAI,GAAG,OAAO,CAAC;gBACf,qBAAqB,EAAE,CAAC;gBACxB,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAC9B;SACF;IACH,CAAC,CAAC;IAEF,IAAI,2BAA2B,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAQ,EAAE;QACvC,2BAA2B,EAAE,CAAC;QAC9B,IAAI,GAAG,YAAY,UAAU,EAAE;YAC7B,2BAA2B;gBACzB,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG,EAAE;oBACtC,qBAAqB,EAAE,CAAC;gBAC1B,CAAC,CAAC,IAAI,CAAC,GAAS,EAAE,GAAE,CAAC,CAAC,CAAC;SAC1B;aAAM;YACL,2BAA2B,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;SAC9C;QACD,IAAI,IAAI,KAAK,kBAAkB,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC,EAAE;YACtE,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;SACvC;aAAM;YACL,qBAAqB,EAAE,CAAC;SACzB;IACH,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC9E,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;IAEhC,IAAI,gBAAgB,GAAgB,EAAE,CAAC;IACvC,MAAM,mBAAmB,GAAG,GAAS,EAAE;QACrC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1B,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YACjC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACpC,qBAAqB,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;aACrD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAElE,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,qBAAqB,EAAE,CAAC;QACxB,uBAAuB,EAAE,CAAC;QAC1B,2BAA2B,EAAE,CAAC;QAC9B,kBAAkB,EAAE,CAAC;QACrB,uBAAuB,EAAE,CAAC;QAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1B,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC5C,eAAe,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChC,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,WAAW,CAAC,OAAO,EAAE,CAAC;QACtB,qBAAqB,EAAE,CAAC;QACxB,eAAe,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE1C,OAAO;QACL,IAAI,EAAE,WAAW,CAAC,aAAa;QAC/B,OAAO;QACP,IAAI;QACJ,IAAI,IAAI;YACN,OAAO,IAAI,CAAC;QACd,CAAC;QACD,WAAW;QACX,OAAO;QACP,MAAM;QACN,SAAS;QACT,KAAK;QACL,WAAW,CAAC,QAAmB;YAC7B,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClC,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBAC5C,eAAe,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YACH,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAClC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClC,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;gBAC3D,aAAa,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YACH,mBAAmB,EAAE,CAAC;YACtB,qBAAqB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,eAAe,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,eAAe,wBAAwB,CAAC"}
@@ -2,19 +2,23 @@ import type { Feature } from 'ol/index.js';
2
2
  import { EditorSession, SessionType } from './editorSessionHelpers.js';
3
3
  import type VectorLayer from '../../layer/vectorLayer.js';
4
4
  import type VcsApp from '../../vcsApp.js';
5
+ import { SnapType } from './snappingHelpers.js';
5
6
  export type EditGeometrySession = EditorSession<SessionType.EDIT_GEOMETRY> & {
6
7
  setFeature(feature?: Feature): void;
7
8
  feature: Feature | null;
9
+ snapToLayers: VectorLayer[];
8
10
  };
9
11
  type EditGeometrySessionOptions = {
10
12
  denyInsertion?: boolean;
11
13
  denyRemoval?: boolean;
14
+ initialSnapToLayers?: VectorLayer[];
15
+ snapTo?: SnapType[];
12
16
  };
13
17
  /**
14
18
  * Creates the edit geometry session.
15
19
  * @param app
16
20
  * @param layer
17
- * @param [interactionId] id for registering mutliple exclusive interaction. Needed to run a selection session at the same time as a edit features session.
21
+ * @param [interactionId] id for registering multiple exclusive interaction. Needed to run a selection session at the same time as a edit features session.
18
22
  * @param [editVertexOptions={}]
19
23
  */
20
24
  declare function startEditGeometrySession(app: VcsApp, layer: VectorLayer, interactionId?: string, editVertexOptions?: EditGeometrySessionOptions): EditGeometrySession;
@@ -5,40 +5,43 @@ 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
+ function createEditLineStringGeometryInteraction(feature, scratchLayer, vectorProperties, options, snapTo) {
25
21
  const geometry = feature[obliqueGeometry] ?? feature.getGeometry();
26
22
  const olcsProps = getOlcsPropsFromFeature(feature);
27
23
  const vertices = geometry
28
24
  .getCoordinates()
29
- .map((c) => createVertex(c, olcsProps));
25
+ .map((c, i) => createVertex(c, olcsProps, i));
30
26
  scratchLayer.addFeatures(vertices);
31
27
  const resetGeometry = () => {
32
- geometry.setCoordinates(vertices.map((f) => f.getGeometry().getCoordinates()));
28
+ const { coordinates, layout } = getCoordinatesAndLayoutFromVertices(vertices);
29
+ geometry.setCoordinates(coordinates, layout);
33
30
  };
34
31
  const translateVertex = new TranslateVertexInteraction(feature);
35
32
  translateVertex.vertexChanged.addEventListener(resetGeometry);
36
- const interactions = [translateVertex];
33
+ const interactions = [
34
+ new TranslationSnapping(scratchLayer, geometry, snapTo),
35
+ translateVertex,
36
+ ];
37
37
  if (!options.denyInsertion) {
38
- const insertVertex = new InsertVertexInteraction(feature, geometry);
38
+ const insertVertex = new InsertVertexInteraction(feature, geometry, vectorProperties);
39
39
  insertVertex.vertexInserted.addEventListener(({ vertex, index }) => {
40
40
  scratchLayer.addFeatures([vertex]);
41
41
  vertices.splice(index, 0, vertex);
42
+ vertices.forEach((v, i) => {
43
+ v[vertexIndexSymbol] = i;
44
+ });
42
45
  resetGeometry();
43
46
  });
44
47
  interactions.push(insertVertex);
@@ -69,7 +72,7 @@ function createEditCircleGeometryInteraction(feature, scratchLayer) {
69
72
  const olcsProps = getOlcsPropsFromFeature(feature);
70
73
  const vertices = geometry
71
74
  .getCoordinates()
72
- .map((c) => createVertex(c, olcsProps));
75
+ .map((c, i) => createVertex(c, olcsProps, i));
73
76
  scratchLayer.addFeatures(vertices);
74
77
  const translateVertex = new TranslateVertexInteraction(feature);
75
78
  let suspend = false;
@@ -82,8 +85,13 @@ function createEditCircleGeometryInteraction(feature, scratchLayer) {
82
85
  geometry.setRadius(newRadius);
83
86
  }
84
87
  else {
85
- geometry.setCenter(vertex.getGeometry().getCoordinates());
86
- vertices[1].getGeometry().setCoordinates(geometry.getCoordinates()[1]);
88
+ const { coordinates, layout } = getCoordinatesAndLayoutFromVertices([
89
+ vertex,
90
+ ]);
91
+ geometry.setCenterAndRadius(coordinates[0], geometry.getRadius(), layout);
92
+ vertices[1]
93
+ .getGeometry()
94
+ .setCoordinates(geometry.getCoordinates()[1], layout);
87
95
  }
88
96
  suspend = false;
89
97
  });
@@ -109,15 +117,15 @@ function createEditBBoxGeometryInteraction(feature, scratchLayer) {
109
117
  const olcsProps = getOlcsPropsFromFeature(feature);
110
118
  const vertices = geometry
111
119
  .getCoordinates()[0]
112
- .map((c) => createVertex(c, olcsProps));
120
+ .map((c, i) => createVertex(c, olcsProps, i));
113
121
  scratchLayer.addFeatures(vertices);
114
122
  let suspend = false;
115
123
  const translateVertex = new TranslateVertexInteraction(feature);
116
124
  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);
125
+ const index = vertices.indexOf(vertex);
126
+ const originIndex = modulo(index + 2, 4);
127
+ const rightOfIndex = modulo(index + 1, 4);
128
+ const leftOfIndex = modulo(index - 1, 4);
121
129
  const originCoords = vertices[originIndex].getGeometry().getCoordinates();
122
130
  const vertexCoords = vertex.getGeometry().getCoordinates();
123
131
  let preventCollapse = false;
@@ -146,15 +154,15 @@ function createEditBBoxGeometryInteraction(feature, scratchLayer) {
146
154
  updateOtherVertex(rightOfIndex);
147
155
  updateOtherVertex(leftOfIndex);
148
156
  suspend = true;
149
- geometry.setCoordinates([
150
- vertices.map((f) => f.getGeometry().getCoordinates()),
151
- ]);
157
+ const { coordinates, layout } = getCoordinatesAndLayoutFromVertices(vertices);
158
+ geometry.setCoordinates([coordinates], layout);
152
159
  suspend = false;
153
160
  });
154
161
  const geometryListener = geometry.on('change', () => {
155
162
  if (!suspend) {
163
+ const layout = geometry.getLayout();
156
164
  geometry.getCoordinates()[0].forEach((c, index) => {
157
- vertices[index].getGeometry().setCoordinates(c);
165
+ vertices[index].getGeometry().setCoordinates(c, layout);
158
166
  });
159
167
  }
160
168
  });
@@ -168,29 +176,33 @@ function createEditBBoxGeometryInteraction(feature, scratchLayer) {
168
176
  },
169
177
  };
170
178
  }
171
- function createEditSimplePolygonInteraction(feature, scratchLayer, options) {
179
+ function createEditSimplePolygonInteraction(feature, scratchLayer, vectorProperties, options, snapTo) {
172
180
  const geometry = feature[obliqueGeometry] ?? feature.getGeometry();
173
181
  const linearRing = geometry.getLinearRing(0);
174
182
  const olcsProps = getOlcsPropsFromFeature(feature);
175
183
  const vertices = linearRing
176
184
  .getCoordinates()
177
- .map((c) => createVertex(c, olcsProps));
185
+ .map((c, i) => createVertex(c, olcsProps, i));
178
186
  scratchLayer.addFeatures(vertices);
179
187
  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
188
+ const { coordinates, layout } = getCoordinatesAndLayoutFromVertices(vertices);
189
+ linearRing.setCoordinates(coordinates, layout); // update linear ring for proper vertex insertion
190
+ geometry.setCoordinates([coordinates], layout); // update actual geometry, since linear ring is a clone and not a ref
185
191
  };
186
192
  const translateVertex = new TranslateVertexInteraction(feature);
187
193
  translateVertex.vertexChanged.addEventListener(resetGeometry);
188
- const interactions = [translateVertex];
194
+ const interactions = [
195
+ new TranslationSnapping(scratchLayer, geometry, snapTo),
196
+ translateVertex,
197
+ ];
189
198
  if (!options.denyInsertion) {
190
- const insertVertex = new InsertVertexInteraction(feature, linearRing);
199
+ const insertVertex = new InsertVertexInteraction(feature, linearRing, vectorProperties);
191
200
  insertVertex.vertexInserted.addEventListener(({ vertex, index }) => {
192
201
  scratchLayer.addFeatures([vertex]);
193
202
  vertices.splice(index, 0, vertex);
203
+ vertices.forEach((v, i) => {
204
+ v[vertexIndexSymbol] = i;
205
+ });
194
206
  resetGeometry();
195
207
  });
196
208
  interactions.push(insertVertex);
@@ -219,7 +231,7 @@ function createEditSimplePolygonInteraction(feature, scratchLayer, options) {
219
231
  function createEditPointInteraction(feature, scratchLayer, layer) {
220
232
  const geometry = feature[obliqueGeometry] ?? feature.getGeometry();
221
233
  const olcsProps = getOlcsPropsFromFeature(feature);
222
- const vertex = createVertex(geometry.getCoordinates(), olcsProps);
234
+ const vertex = createVertex(geometry.getCoordinates(), olcsProps, 0);
223
235
  const featureIdArray = [feature.getId()];
224
236
  layer.featureVisibility.hideObjects(featureIdArray);
225
237
  vertex[createSync] = true;
@@ -228,12 +240,17 @@ function createEditPointInteraction(feature, scratchLayer, layer) {
228
240
  let suspend = false;
229
241
  translateVertex.vertexChanged.addEventListener(() => {
230
242
  suspend = true;
231
- geometry.setCoordinates(vertex.getGeometry().getCoordinates());
243
+ const { coordinates, layout } = getCoordinatesAndLayoutFromVertices([
244
+ vertex,
245
+ ]);
246
+ geometry.setCoordinates(coordinates[0], layout);
232
247
  suspend = false;
233
248
  });
234
249
  const geometryListener = geometry.on('change', () => {
235
250
  if (!suspend) {
236
- vertex.getGeometry().setCoordinates(geometry.getCoordinates());
251
+ vertex
252
+ .getGeometry()
253
+ .setCoordinates(geometry.getCoordinates(), geometry.getLayout());
237
254
  }
238
255
  });
239
256
  const interactionChain = new InteractionChain([translateVertex]);
@@ -251,7 +268,7 @@ function createEditPointInteraction(feature, scratchLayer, layer) {
251
268
  * Creates the edit geometry session.
252
269
  * @param app
253
270
  * @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.
271
+ * @param [interactionId] id for registering multiple exclusive interaction. Needed to run a selection session at the same time as a edit features session.
255
272
  * @param [editVertexOptions={}]
256
273
  */
257
274
  function startEditGeometrySession(app, layer, interactionId, editVertexOptions = {}) {
@@ -267,32 +284,25 @@ function startEditGeometrySession(app, layer, interactionId, editVertexOptions =
267
284
  * The feature that is set for the edit session.
268
285
  */
269
286
  let currentFeature = null;
287
+ let layerSnappingInteraction = null;
288
+ let snapToLayers = editVertexOptions?.initialSnapToLayers?.slice() ?? [layer];
289
+ const snapTo = editVertexOptions?.snapTo ?? [...snapTypes];
270
290
  const pickingBehavior = createPickingBehavior(app);
271
291
  const altitudeModeChanged = () => {
272
292
  const altitudeMode = currentFeature
273
293
  ? layer.vectorProperties.getAltitudeMode(currentFeature)
274
294
  : layer.vectorProperties.altitudeMode;
295
+ scratchLayer.vectorProperties.altitudeMode = altitudeMode;
275
296
  pickingBehavior.setForAltitudeMode(altitudeMode);
276
297
  };
277
298
  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
- });
299
+ const vectorPropertiesChangedListener = syncScratchLayerVectorProperties(scratchLayer, layer, altitudeModeChanged);
291
300
  const destroyCurrentInteractionSet = () => {
292
301
  if (currentInteractionSet) {
293
302
  interactionChain.removeInteraction(currentInteractionSet.interactionChain);
294
303
  currentInteractionSet.destroy();
295
304
  currentInteractionSet = null;
305
+ layerSnappingInteraction = null; // destroyed in current interaction set
296
306
  }
297
307
  if (currentFeature) {
298
308
  delete currentFeature[createSync];
@@ -330,11 +340,11 @@ function startEditGeometrySession(app, layer, interactionId, editVertexOptions =
330
340
  currentInteractionSet = createEditBBoxGeometryInteraction(feature, scratchLayer);
331
341
  }
332
342
  else if (geometry.getLinearRingCount() === 1) {
333
- currentInteractionSet = createEditSimplePolygonInteraction(feature, scratchLayer, editVertexOptions);
343
+ currentInteractionSet = createEditSimplePolygonInteraction(feature, scratchLayer, layer.vectorProperties, editVertexOptions, snapTo);
334
344
  }
335
345
  }
336
346
  else if (geometryType === GeometryType.LineString) {
337
- currentInteractionSet = createEditLineStringGeometryInteraction(feature, scratchLayer, editVertexOptions);
347
+ currentInteractionSet = createEditLineStringGeometryInteraction(feature, scratchLayer, layer.vectorProperties, editVertexOptions, snapTo);
338
348
  }
339
349
  else if (geometryType === GeometryType.Point) {
340
350
  currentInteractionSet = createEditPointInteraction(feature, scratchLayer, layer);
@@ -343,6 +353,8 @@ function startEditGeometrySession(app, layer, interactionId, editVertexOptions =
343
353
  currentInteractionSet = createEditCircleGeometryInteraction(feature, scratchLayer);
344
354
  }
345
355
  if (currentInteractionSet) {
356
+ layerSnappingInteraction = new LayerSnapping(snapToLayers, scratchLayer, (f) => f !== feature, snapTo, EventType.DRAGEVENTS);
357
+ currentInteractionSet.interactionChain.addInteraction(layerSnappingInteraction, 0);
346
358
  interactionChain.addInteraction(currentInteractionSet.interactionChain);
347
359
  altitudeModeChanged();
348
360
  }
@@ -362,6 +374,7 @@ function startEditGeometrySession(app, layer, interactionId, editVertexOptions =
362
374
  setupActiveMap();
363
375
  const stop = () => {
364
376
  app.layers.remove(scratchLayer);
377
+ scratchLayer.destroy();
365
378
  if (featureListener) {
366
379
  unByKey(featureListener);
367
380
  }
@@ -386,6 +399,15 @@ function startEditGeometrySession(app, layer, interactionId, editVertexOptions =
386
399
  get feature() {
387
400
  return currentFeature;
388
401
  },
402
+ get snapToLayers() {
403
+ return snapToLayers.slice();
404
+ },
405
+ set snapToLayers(layers) {
406
+ snapToLayers = layers.slice();
407
+ if (layerSnappingInteraction) {
408
+ layerSnappingInteraction.layers = snapToLayers;
409
+ }
410
+ },
389
411
  };
390
412
  }
391
413
  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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"}