@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 +1 @@
1
- {"version":3,"file":"cesiumHelpers.js","sourceRoot":"","sources":["../../../../tests/unit/helpers/cesiumHelpers.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cesiumHelpers.js","sourceRoot":"","sources":["../../../../tests/unit/helpers/cesiumHelpers.js"],"names":[],"mappings":"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"}
@@ -1,12 +1,5 @@
1
1
  /**
2
2
  * helper function to wait for a timeout use: await timeout(1);
3
- * @param {number} ms
4
- * @returns {Promise<void>}
5
3
  */
6
- export function timeout(ms: number): Promise<void>;
7
- /**
8
- * @param {Array<number>} numbers
9
- * @param {Array<number>} expectedNumbers
10
- * @param {number} [epsilon=CesiumMath.EPSILON8]
11
- */
12
- export function arrayCloseTo(numbers: Array<number>, expectedNumbers: Array<number>, epsilon?: number | undefined): void;
4
+ export declare function timeout(ms: number): Promise<void>;
5
+ export declare function arrayCloseTo<T extends number[]>(numbers: T, expectedNumbers: T, epsilon?: number): void;
@@ -1,21 +1,15 @@
1
1
  import { Math as CesiumMath } from '@vcmap-cesium/engine';
2
+ import { expect } from 'chai';
2
3
  /**
3
4
  * helper function to wait for a timeout use: await timeout(1);
4
- * @param {number} ms
5
- * @returns {Promise<void>}
6
5
  */
7
- // eslint-disable-next-line import/prefer-default-export
8
6
  export function timeout(ms) {
9
7
  return new Promise((resolve) => {
10
8
  setTimeout(resolve, ms);
11
9
  });
12
10
  }
13
- /**
14
- * @param {Array<number>} numbers
15
- * @param {Array<number>} expectedNumbers
16
- * @param {number} [epsilon=CesiumMath.EPSILON8]
17
- */
18
11
  export function arrayCloseTo(numbers, expectedNumbers, epsilon = CesiumMath.EPSILON8) {
12
+ expect(numbers.length).to.equal(expectedNumbers.length);
19
13
  numbers.forEach((c, index) => {
20
14
  expect(c).to.be.closeTo(expectedNumbers[index], epsilon, `Array at index ${index}`);
21
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../tests/unit/helpers/helpers.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,wDAAwD;AACxD,MAAM,UAAU,OAAO,CAAC,EAAE;IACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAO,EACP,eAAe,EACf,OAAO,GAAG,UAAU,CAAC,QAAQ;IAE7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CACrB,eAAe,CAAC,KAAK,CAAC,EACtB,OAAO,EACP,kBAAkB,KAAK,EAAE,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../tests/unit/helpers/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAAU,EACV,eAAkB,EAClB,OAAO,GAAG,UAAU,CAAC,QAAQ;IAE7B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CACrB,eAAe,CAAC,KAAK,CAAC,EACtB,OAAO,EACP,kBAAkB,KAAK,EAAE,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
package/index.ts CHANGED
@@ -72,13 +72,9 @@ export { default as TmsCesiumImpl } from './src/layer/cesium/tmsCesiumImpl.js';
72
72
  export { default as VectorCesiumImpl } from './src/layer/cesium/vectorCesiumImpl.js';
73
73
  export {
74
74
  setReferenceForPicking,
75
- removeArrayFromCollection,
76
- removeFeatureFromMap,
77
- addPrimitiveToContext,
78
75
  setSplitDirectionOnPrimitives,
79
76
  setupScalingPrimitiveCollection,
80
77
  default as VectorContext,
81
- VectorContextFeatureCache,
82
78
  CesiumVectorContext,
83
79
  } from './src/layer/cesium/vectorContext.js';
84
80
  export { default as VectorRasterTileCesiumImpl } from './src/layer/cesium/vectorRasterTileCesiumImpl.js';
@@ -260,8 +256,6 @@ export {
260
256
  default as VectorLayer,
261
257
  VectorOptions,
262
258
  VectorImplementationOptions,
263
- VectorGeometryFactoryType,
264
- VectorHeightInfo,
265
259
  } from './src/layer/vectorLayer.js';
266
260
  export {
267
261
  PrimitiveOptionsType,
@@ -507,6 +501,7 @@ export {
507
501
  } from './src/util/editor/editGeometrySession.js';
508
502
  export {
509
503
  createVertex,
504
+ getCoordinatesAndLayoutFromVertices,
510
505
  getClosestPointOn2DLine,
511
506
  pointOnLine3D,
512
507
  pointOnLine2D,
@@ -515,8 +510,6 @@ export {
515
510
  getCartographicFromPlane,
516
511
  drapeGeometryOnTerrain,
517
512
  placeGeometryOnTerrain,
518
- ensureFeatureAbsolute,
519
- clampFeature,
520
513
  Vertex,
521
514
  SelectableFeatureType,
522
515
  SelectFeatureInteraction,
@@ -527,18 +520,32 @@ export {
527
520
  GeometryType,
528
521
  EditorSession,
529
522
  GeometryToType,
523
+ SnappingInteractionEvent,
524
+ alreadySnapped,
530
525
  } from './src/util/editor/editorSessionHelpers.js';
531
526
  export {
532
527
  vertexSymbol,
533
- vertexIndex,
528
+ vertexIndexSymbol,
534
529
  handlerSymbol,
535
530
  mouseOverSymbol,
536
531
  } from './src/util/editor/editorSymbols.js';
532
+ export {
533
+ getAngleSnapResult,
534
+ getGeometrySnapResult,
535
+ getSnappedCoordinateForResults,
536
+ snapTypes,
537
+ setSnappingFeatures,
538
+ SnapType,
539
+ SnapResult,
540
+ } from './src/util/editor/snappingHelpers.js';
537
541
  export { default as CreateBBoxInteraction } from './src/util/editor/interactions/createBBoxInteraction.js';
538
542
  export { default as CreateCircleInteraction } from './src/util/editor/interactions/createCircleInteraction.js';
539
543
  export { default as CreateLineStringInteraction } from './src/util/editor/interactions/createLineStringInteraction.js';
540
544
  export { default as CreatePointInteraction } from './src/util/editor/interactions/createPointInteraction.js';
541
- export { default as CreatePolygonInteraction } from './src/util/editor/interactions/createPolygonInteraction.js';
545
+ export {
546
+ default as CreatePolygonInteraction,
547
+ validityPlaceholder,
548
+ } from './src/util/editor/interactions/createPolygonInteraction.js';
542
549
  export { default as EditFeaturesMouseOverInteraction } from './src/util/editor/interactions/editFeaturesMouseOverInteraction.js';
543
550
  export {
544
551
  cursorMap,
@@ -558,6 +565,9 @@ export {
558
565
  export { default as SelectMultiFeatureInteraction } from './src/util/editor/interactions/selectMultiFeatureInteraction.js';
559
566
  export { default as SelectSingleFeatureInteraction } from './src/util/editor/interactions/selectSingleFeatureInteraction.js';
560
567
  export { default as TranslateVertexInteraction } from './src/util/editor/interactions/translateVertexInteraction.js';
568
+ export { default as CreationSnapping } from './src/util/editor/interactions/creationSnapping.js';
569
+ export { default as TranslationSnapping } from './src/util/editor/interactions/translationSnapping.js';
570
+ export { default as LayerSnapping } from './src/util/editor/interactions/layerSnapping.js';
561
571
  export {
562
572
  getDefaultHighlightStyle,
563
573
  default as startSelectFeaturesSession,
@@ -591,55 +601,80 @@ export {
591
601
  export { default as geometryIsValid } from './src/util/editor/validateGeoemetry.js';
592
602
  export { default as ExclusiveManager } from './src/util/exclusiveManager.js';
593
603
  export { default as Extent, ExtentOptions } from './src/util/extent.js';
594
- export { default as arcToCesium } from './src/util/featureconverter/arcToCesium.js';
604
+ export { getArcGeometryFactory } from './src/util/featureconverter/arcToCesium.js';
595
605
  export {
596
606
  validateCircle,
597
- default as circleToCesium,
607
+ getCircleGeometryFactory,
598
608
  } from './src/util/featureconverter/circleToCesium.js';
609
+ export { setupClampedPrimitive } from './src/util/featureconverter/clampedPrimitive.js';
599
610
  export {
600
611
  getStylesArray,
601
612
  default as convert,
613
+ PrimitiveType,
614
+ ConvertedItemType,
615
+ ConvertedItem,
602
616
  } from './src/util/featureconverter/convert.js';
603
- export { default as Extent3D } from './src/util/featureconverter/extent3D.js';
604
- export {
605
- getMaterialAppearance,
606
- createClassificationPrimitive,
607
- createPrimitive,
608
- createOutlinePrimitive,
609
- createLinePrimitive,
610
- getMinHeightOrGroundLevel,
611
- getStoreyHeights,
612
- validateStoreys,
613
- getHeightAboveGround,
614
- getHeightInfo,
615
- getStoreyOptions,
616
- addPrimitivesToContext,
617
- } from './src/util/featureconverter/featureconverterHelper.js';
618
617
  export {
619
- addArrowsToContext,
618
+ getArrowHeadPrimitives,
620
619
  validateLineString,
621
- default as lineStringToCesium,
622
- LineGeometryOptions,
620
+ getLineStringGeometryFactory,
623
621
  } from './src/util/featureconverter/lineStringToCesium.js';
624
622
  export {
625
623
  getModelOptions,
626
624
  getPrimitiveOptions,
625
+ getModelOrPointPrimitiveOptions,
627
626
  } from './src/util/featureconverter/pointHelpers.js';
628
627
  export {
629
628
  getBillboardOptions,
630
629
  getLabelOptions,
631
630
  validatePoint,
632
- getCartesian3AndWGS84FromCoordinates,
633
- default as pointToCesium,
631
+ getWgs84CoordinatesForPoint,
634
632
  BillboardOptions,
635
633
  LabelOptions,
634
+ getPointPrimitives,
636
635
  } from './src/util/featureconverter/pointToCesium.js';
637
636
  export {
638
637
  validatePolygon,
639
- default as polygonToCesium,
640
- PolylineGeometryOptions,
641
- PolygonGeometryOptions,
638
+ getPolygonGeometryFactory,
642
639
  } from './src/util/featureconverter/polygonToCesium.js';
640
+ export {
641
+ VectorHeightInfo,
642
+ RelativeHeightReference,
643
+ ClampedHeightReference,
644
+ ExtrusionHeightInfo,
645
+ getHeightInfo,
646
+ getMinHeight,
647
+ getClampOrigin,
648
+ getExtrusionHeightInfo,
649
+ getRelativeEquivalent,
650
+ isRelativeHeightReference,
651
+ isClampedHeightReference,
652
+ isAbsoluteHeightReference,
653
+ mercatorToWgs84TransformerForHeightInfo,
654
+ mercatorToCartesianTransformerForHeightInfo,
655
+ } from './src/util/featureconverter/vectorHeightInfo.js';
656
+ export {
657
+ PolygonGeometryOptions,
658
+ PolylineGeometryOptions,
659
+ CircleGeometryOptions,
660
+ GeometryFactoryType,
661
+ VectorGeometryFactory,
662
+ getMaterialAppearance,
663
+ createClassificationPrimitiveItem,
664
+ createSolidPrimitiveItem,
665
+ createOutlinePrimitiveItem,
666
+ createLinePrimitiveItem,
667
+ createGroundLinePrimitiveItem,
668
+ createGroundPrimitiveItem,
669
+ getCesiumGeometriesOptions,
670
+ } from './src/util/featureconverter/vectorGeometryFactory.js';
671
+ export { default as Extent3D } from './src/util/featureconverter/extent3D.js';
672
+ export {
673
+ getStoreyHeights,
674
+ validateStoreys,
675
+ getStoreyOptions,
676
+ StoreyOptions,
677
+ } from './src/util/featureconverter/storeyHelpers.js';
643
678
  export {
644
679
  requestUrl,
645
680
  requestJson,
@@ -654,6 +689,9 @@ export {
654
689
  removeEndingVertex,
655
690
  removeEndingVertexFromGeometry,
656
691
  enforceRightHand,
692
+ is2DLayout,
693
+ from2Dto3DLayout,
694
+ from3Dto2DLayout,
657
695
  } from './src/util/geometryHelpers.js';
658
696
  export { default as IndexedCollection } from './src/util/indexedCollection.js';
659
697
  export { isMobile } from './src/util/isMobile.js';
@@ -675,6 +713,7 @@ export {
675
713
  initialBearingBetweenCoords,
676
714
  getCartesianBearing,
677
715
  cartesian2DDistance,
716
+ cartesian2DDistanceSquared,
678
717
  cartesian3DDistance,
679
718
  modulo,
680
719
  cartographicToWgs84,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcmap/core",
3
- "version": "6.0.0-rc.4",
3
+ "version": "6.0.0-rc.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -65,7 +65,7 @@
65
65
  "typescript": "^5.0.4"
66
66
  },
67
67
  "peerDependencies": {
68
- "@vcmap-cesium/engine": "^10.0.1",
68
+ "@vcmap-cesium/engine": "^11.0.2",
69
69
  "ol": "^10.0.0"
70
70
  },
71
71
  "eslintConfig": {
@@ -115,7 +115,7 @@
115
115
  "@vcsuite/logger": "^1.0.1",
116
116
  "@vcsuite/parsers": "^1.0.3",
117
117
  "fast-deep-equal": "^3.1.3",
118
- "proj4": "^2.11.0",
118
+ "proj4": "^2.12.0",
119
119
  "rbush": ">=4.0.0",
120
120
  "rbush-knn": "^4.0.0",
121
121
  "uuid": "^10.0.0"
@@ -7,6 +7,8 @@ import {
7
7
  Cartesian3,
8
8
  Cartesian4,
9
9
  Color,
10
+ Cartographic,
11
+ HeightReference,
10
12
  } from '@vcmap-cesium/engine';
11
13
  import { StyleLike } from 'ol/style/Style.js';
12
14
  import VectorStyleItem from '../style/vectorStyleItem.js';
@@ -31,6 +33,15 @@ declare module '@vcmap-cesium/engine' {
31
33
  render(): void;
32
34
  frameState: FrameState;
33
35
  context: Context;
36
+ updateHeight(
37
+ cartographic: Cartographic,
38
+ callback: (cartographic: Cartographic) => void,
39
+ heightReference: HeightReference,
40
+ ): () => void;
41
+ getHeight(
42
+ cartographic: Cartographic,
43
+ heightReference: HeightReference,
44
+ ): number | undefined;
34
45
  }
35
46
 
36
47
  interface TileBoundingVolume {
@@ -1,122 +1,110 @@
1
- import type {
1
+ import {
2
2
  CustomDataSource,
3
3
  EntityCollection,
4
4
  Entity,
5
- Cartesian3,
6
5
  SplitDirection,
6
+ Scene,
7
7
  } from '@vcmap-cesium/engine';
8
+ import { StyleLike } from 'ol/style/Style.js';
8
9
  import type { Feature } from 'ol/index.js';
9
10
  import {
10
- ClassificationPrimitive,
11
- GroundPolylinePrimitive,
12
- GroundPrimitive,
13
- Model,
14
- Primitive,
15
- } from '@vcmap-cesium/engine';
16
- import {
17
- removeFeatureFromMap,
18
- addPrimitiveToContext,
19
- removeArrayFromCollection,
20
- VectorContextFeatureCache,
21
11
  CesiumVectorContext,
12
+ setReferenceForPicking,
22
13
  } from './vectorContext.js';
14
+ import VectorProperties from '../vectorProperties.js';
15
+ import convert, { ConvertedItem } from '../../util/featureconverter/convert.js';
23
16
 
24
17
  class ClusterContext implements CesiumVectorContext {
25
18
  entities: EntityCollection;
26
19
 
27
- featureToBillboardMap: Map<Feature, Array<Entity>> = new Map();
20
+ private _featureItems = new Map<Feature, (() => void)[]>();
28
21
 
29
- featureToLabelMap: Map<Feature, Array<Entity>> = new Map();
22
+ private _convertingFeatures: Map<Feature, () => void> = new Map();
30
23
 
31
24
  constructor(dataSource: CustomDataSource) {
32
25
  this.entities = dataSource.entities;
33
26
  }
34
27
 
35
- // eslint-disable-next-line class-methods-use-this
36
- addPrimitives(
37
- _primitives: (
38
- | Primitive
39
- | GroundPrimitive
40
- | GroundPolylinePrimitive
41
- | ClassificationPrimitive
42
- | Model
43
- )[],
44
- _feature: Feature,
45
- _allowPicking: boolean,
46
- ): void {}
47
-
48
- // eslint-disable-next-line class-methods-use-this
49
- addScaledPrimitives(
50
- _primitives: (
51
- | Primitive
52
- | GroundPrimitive
53
- | GroundPolylinePrimitive
54
- | ClassificationPrimitive
55
- | Model
56
- )[],
57
- _feature: Feature,
58
- _allowPicking: boolean,
59
- ): void {}
60
-
61
- addBillboards(
62
- billboardOptions: object[],
28
+ private _addConvertedItems(
63
29
  feature: Feature,
64
- allowPicking = false,
30
+ allowPicking: boolean,
31
+ items: ConvertedItem[],
65
32
  ): void {
66
- addPrimitiveToContext(
67
- billboardOptions.map((billboard) => ({
68
- billboard,
69
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
70
- // @ts-ignore
71
- position: billboard.position as Cartesian3,
72
- })),
73
- feature,
74
- allowPicking,
75
- this.entities,
76
- this.featureToBillboardMap,
77
- );
33
+ const removeItems = items
34
+ .map((item) => {
35
+ let instance: Entity | undefined;
36
+ let removeItem: (() => void) | undefined;
37
+ if (item.type === 'billboard') {
38
+ instance = this.entities.add({
39
+ billboard: item.item,
40
+ position: item.item.position,
41
+ });
42
+ } else if (item.type === 'label') {
43
+ instance = this.entities.add({
44
+ label: item.item,
45
+ position: item.item.position,
46
+ });
47
+ }
48
+
49
+ if (instance) {
50
+ removeItem = (): void => {
51
+ this.entities.remove(instance as Entity);
52
+ };
53
+ }
54
+
55
+ if (instance) {
56
+ if (allowPicking) {
57
+ setReferenceForPicking(feature, instance);
58
+ }
59
+ }
60
+ return removeItem;
61
+ })
62
+ .filter((i): i is () => void => i != null);
63
+
64
+ this._featureItems.set(feature, removeItems);
78
65
  }
79
66
 
80
- addLabels(
81
- labelOptions: object[],
67
+ async addFeature(
82
68
  feature: Feature,
83
- allowPicking = false,
84
- ): void {
85
- addPrimitiveToContext(
86
- labelOptions.map((label) => ({
87
- label,
88
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
89
- // @ts-ignore
90
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
91
- position: label.position,
92
- })),
69
+ style: StyleLike,
70
+ vectorProperties: VectorProperties,
71
+ scene: Scene,
72
+ ): Promise<void> {
73
+ this._convertingFeatures.get(feature)?.();
74
+ let deleted = false;
75
+ this._convertingFeatures.set(feature, () => {
76
+ deleted = true;
77
+ });
78
+
79
+ const convertedItems = await convert(
93
80
  feature,
94
- allowPicking,
95
- this.entities,
96
- this.featureToLabelMap,
81
+ style,
82
+ vectorProperties,
83
+ scene,
97
84
  );
98
- }
99
85
 
100
- removeFeature(feature: Feature): void {
101
- removeFeatureFromMap(feature, this.featureToBillboardMap, this.entities);
102
- removeFeatureFromMap(feature, this.featureToLabelMap, this.entities);
103
- }
86
+ this._featureItems.get(feature)?.forEach((removeItem) => removeItem());
104
87
 
105
- /**
106
- * Caches the current cesium resources for a feature, removing them from the feature map
107
- */
108
- createFeatureCache(feature: Feature): VectorContextFeatureCache {
109
- const cache: VectorContextFeatureCache = {};
110
- cache.billboards = this.featureToBillboardMap.get(feature);
111
- this.featureToBillboardMap.delete(feature);
112
- cache.labels = this.featureToLabelMap.get(feature);
113
- this.featureToLabelMap.delete(feature);
114
- return cache;
88
+ if (deleted) {
89
+ convertedItems.forEach((item) => {
90
+ if (item.type === 'primitive') {
91
+ item.item.destroy();
92
+ }
93
+ });
94
+ } else {
95
+ this._addConvertedItems(
96
+ feature,
97
+ vectorProperties.getAllowPicking(feature),
98
+ convertedItems,
99
+ );
100
+ }
115
101
  }
116
102
 
117
- clearFeatureCache(cache: VectorContextFeatureCache): void {
118
- removeArrayFromCollection(this.entities, cache.billboards);
119
- removeArrayFromCollection(this.entities, cache.labels);
103
+ removeFeature(feature: Feature): void {
104
+ this._convertingFeatures.get(feature)?.();
105
+ this._convertingFeatures.delete(feature);
106
+ this._featureItems.get(feature)?.forEach((removeItem) => removeItem());
107
+ this._featureItems.delete(feature);
120
108
  }
121
109
 
122
110
  // eslint-disable-next-line class-methods-use-this,no-unused-vars
@@ -124,8 +112,11 @@ class ClusterContext implements CesiumVectorContext {
124
112
 
125
113
  clear(): void {
126
114
  this.entities.removeAll();
127
- this.featureToBillboardMap.clear();
128
- this.featureToLabelMap.clear();
115
+ this._featureItems.clear();
116
+ this._convertingFeatures.forEach((destroy) => {
117
+ destroy();
118
+ });
119
+ this._convertingFeatures.clear();
129
120
  }
130
121
 
131
122
  destroy(): void {
@@ -7,7 +7,6 @@ import {
7
7
  import type VectorSource from 'ol/source/Vector.js';
8
8
  import type { EventsKey } from 'ol/events.js';
9
9
  import type { Feature } from 'ol/index.js';
10
- import VectorContext from './vectorContext.js';
11
10
  import { vcsLayerName } from '../layerSymbols.js';
12
11
  import LayerImplementation from '../layerImplementation.js';
13
12
  import { synchronizeFeatureVisibilityWithSource } from '../vectorHelpers.js';
@@ -18,6 +17,7 @@ import type VectorProperties from '../vectorProperties.js';
18
17
  import type StyleItem from '../../style/styleItem.js';
19
18
  import type FeatureVisibility from '../featureVisibility.js';
20
19
  import type GlobalHider from '../globalHider.js';
20
+ import VectorContext from './vectorContext.js';
21
21
 
22
22
  /**
23
23
  * represents a specific vector layer for cesium.
@@ -77,7 +77,9 @@ class VectorCesiumImpl
77
77
  private _addListeners(): void {
78
78
  this._olListeners.push(
79
79
  this.source.on('addfeature', (event) => {
80
- this._addFeature(event.feature as Feature);
80
+ this._addFeature(event.feature as Feature).catch(() => {
81
+ this.getLogger().error('failed to convert feature');
82
+ });
81
83
  }),
82
84
  );
83
85
 
@@ -89,7 +91,9 @@ class VectorCesiumImpl
89
91
 
90
92
  this._olListeners.push(
91
93
  this.source.on('changefeature', (event) => {
92
- this._featureChanged(event.feature as Feature);
94
+ this._featureChanged(event.feature as Feature).catch(() => {
95
+ this.getLogger().error('failed to convert feature');
96
+ });
93
97
  }),
94
98
  );
95
99
 
@@ -123,18 +127,22 @@ class VectorCesiumImpl
123
127
  }
124
128
  }
125
129
 
126
- _addFeatures(features: Feature[]): void {
130
+ private _addFeatures(features: Feature[]): void {
127
131
  // TODO we should make this non-blocking to better handle larger data sets check in RIWA Impl
128
- features.forEach((f) => this._addFeature(f));
132
+ features.forEach((f) => {
133
+ this._addFeature(f).catch(() => {
134
+ this.getLogger().error('failed to convert feature');
135
+ });
136
+ });
129
137
  }
130
138
 
131
139
  /**
132
140
  * converts a feature and adds the associated primitives to the collection of primitives
133
141
  */
134
- private _addFeature(feature: Feature): void {
142
+ private async _addFeature(feature: Feature): Promise<void> {
135
143
  if (this.active) {
136
144
  // XXX cluster check here? or on init?
137
- this._context!.convertFeature(
145
+ await this._context!.addFeature(
138
146
  feature,
139
147
  this.style.style,
140
148
  this.vectorProperties,
@@ -164,11 +172,9 @@ class VectorCesiumImpl
164
172
  /**
165
173
  * called when a features property have changed
166
174
  */
167
- private _featureChanged(feature: Feature): void {
168
- const cache = this._context!.createFeatureCache(feature);
175
+ private async _featureChanged(feature: Feature): Promise<void> {
169
176
  this._featureToAdd.delete(feature);
170
- this._addFeature(feature);
171
- this._context!.clearFeatureCache(cache);
177
+ await this._addFeature(feature);
172
178
  }
173
179
 
174
180
  async activate(): Promise<void> {