@deck.gl-community/editable-layers 9.2.0-beta.6 → 9.2.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/edit-modes/draw-90degree-polygon-mode.d.ts +2 -2
- package/dist/edit-modes/draw-90degree-polygon-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-90degree-polygon-mode.js.map +1 -1
- package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts +2 -2
- package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-circle-by-diameter-mode.js +0 -1
- package/dist/edit-modes/draw-circle-by-diameter-mode.js.map +1 -1
- package/dist/edit-modes/draw-circle-from-center-mode.d.ts +2 -2
- package/dist/edit-modes/draw-circle-from-center-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-circle-from-center-mode.js +0 -1
- package/dist/edit-modes/draw-circle-from-center-mode.js.map +1 -1
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts +2 -2
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js +1 -2
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js.map +1 -1
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts +2 -2
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.js +0 -2
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.js.map +1 -1
- package/dist/edit-modes/draw-line-string-mode.d.ts +5 -5
- package/dist/edit-modes/draw-line-string-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-line-string-mode.js.map +1 -1
- package/dist/edit-modes/draw-point-mode.d.ts +2 -2
- package/dist/edit-modes/draw-point-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-point-mode.js.map +1 -1
- package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts +8 -8
- package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-polygon-by-dragging-mode.js.map +1 -1
- package/dist/edit-modes/draw-polygon-mode.d.ts +5 -5
- package/dist/edit-modes/draw-polygon-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-polygon-mode.js.map +1 -1
- package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +2 -2
- package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-rectangle-from-center-mode.js +0 -1
- package/dist/edit-modes/draw-rectangle-from-center-mode.js.map +1 -1
- package/dist/edit-modes/draw-rectangle-mode.d.ts +2 -2
- package/dist/edit-modes/draw-rectangle-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-rectangle-mode.js +0 -1
- package/dist/edit-modes/draw-rectangle-mode.js.map +1 -1
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +2 -2
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-square-from-center-mode.d.ts +2 -2
- package/dist/edit-modes/draw-square-from-center-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-square-from-center-mode.js +0 -1
- package/dist/edit-modes/draw-square-from-center-mode.js.map +1 -1
- package/dist/edit-modes/draw-square-mode.d.ts +2 -2
- package/dist/edit-modes/draw-square-mode.d.ts.map +1 -1
- package/dist/edit-modes/draw-square-mode.js +0 -1
- package/dist/edit-modes/draw-square-mode.js.map +1 -1
- package/dist/edit-modes/duplicate-mode.d.ts +2 -2
- package/dist/edit-modes/duplicate-mode.d.ts.map +1 -1
- package/dist/edit-modes/duplicate-mode.js.map +1 -1
- package/dist/edit-modes/extend-line-string-mode.d.ts +4 -4
- package/dist/edit-modes/extend-line-string-mode.d.ts.map +1 -1
- package/dist/edit-modes/extend-line-string-mode.js.map +1 -1
- package/dist/edit-modes/extrude-mode.d.ts +7 -7
- package/dist/edit-modes/extrude-mode.d.ts.map +1 -1
- package/dist/edit-modes/extrude-mode.js.map +1 -1
- package/dist/edit-modes/geojson-edit-mode.d.ts +9 -9
- package/dist/edit-modes/geojson-edit-mode.d.ts.map +1 -1
- package/dist/edit-modes/geojson-edit-mode.js +4 -7
- package/dist/edit-modes/geojson-edit-mode.js.map +1 -1
- package/dist/edit-modes/immutable-feature-collection.d.ts +7 -7
- package/dist/edit-modes/immutable-feature-collection.d.ts.map +1 -1
- package/dist/edit-modes/immutable-feature-collection.js.map +1 -1
- package/dist/edit-modes/measure-area-mode.d.ts +3 -3
- package/dist/edit-modes/measure-area-mode.d.ts.map +1 -1
- package/dist/edit-modes/measure-area-mode.js.map +1 -1
- package/dist/edit-modes/modify-mode.d.ts +8 -8
- package/dist/edit-modes/modify-mode.d.ts.map +1 -1
- package/dist/edit-modes/modify-mode.js +2 -4
- package/dist/edit-modes/modify-mode.js.map +1 -1
- package/dist/edit-modes/resize-circle-mode.d.ts +3 -3
- package/dist/edit-modes/resize-circle-mode.d.ts.map +1 -1
- package/dist/edit-modes/resize-circle-mode.js +1 -5
- package/dist/edit-modes/resize-circle-mode.js.map +1 -1
- package/dist/edit-modes/rotate-mode.d.ts +7 -7
- package/dist/edit-modes/rotate-mode.d.ts.map +1 -1
- package/dist/edit-modes/rotate-mode.js +2 -9
- package/dist/edit-modes/rotate-mode.js.map +1 -1
- package/dist/edit-modes/scale-mode.d.ts +11 -11
- package/dist/edit-modes/scale-mode.d.ts.map +1 -1
- package/dist/edit-modes/scale-mode.js +1 -6
- package/dist/edit-modes/scale-mode.js.map +1 -1
- package/dist/edit-modes/snappable-mode.d.ts +5 -5
- package/dist/edit-modes/snappable-mode.d.ts.map +1 -1
- package/dist/edit-modes/snappable-mode.js.map +1 -1
- package/dist/edit-modes/split-polygon-mode.d.ts +5 -5
- package/dist/edit-modes/split-polygon-mode.d.ts.map +1 -1
- package/dist/edit-modes/split-polygon-mode.js +2 -5
- package/dist/edit-modes/split-polygon-mode.js.map +1 -1
- package/dist/edit-modes/three-click-polygon-mode.d.ts +3 -3
- package/dist/edit-modes/three-click-polygon-mode.d.ts.map +1 -1
- package/dist/edit-modes/three-click-polygon-mode.js.map +1 -1
- package/dist/edit-modes/translate-mode.d.ts +6 -6
- package/dist/edit-modes/translate-mode.d.ts.map +1 -1
- package/dist/edit-modes/translate-mode.js +1 -2
- package/dist/edit-modes/translate-mode.js.map +1 -1
- package/dist/edit-modes/two-click-polygon-mode.d.ts +6 -6
- package/dist/edit-modes/two-click-polygon-mode.d.ts.map +1 -1
- package/dist/edit-modes/two-click-polygon-mode.js.map +1 -1
- package/dist/edit-modes/types.d.ts +3 -3
- package/dist/edit-modes/types.d.ts.map +1 -1
- package/dist/edit-modes/utils.d.ts +7 -7
- package/dist/edit-modes/utils.d.ts.map +1 -1
- package/dist/edit-modes/utils.js +0 -3
- package/dist/edit-modes/utils.js.map +1 -1
- package/dist/editable-layers/editable-geojson-layer.d.ts +5 -13
- package/dist/editable-layers/editable-geojson-layer.d.ts.map +1 -1
- package/dist/editable-layers/editable-geojson-layer.js +4 -4
- package/dist/editable-layers/editable-geojson-layer.js.map +1 -1
- package/dist/editable-layers/selection-layer.d.ts +1 -2
- package/dist/editable-layers/selection-layer.d.ts.map +1 -1
- package/dist/editable-layers/selection-layer.js +2 -2
- package/dist/editable-layers/selection-layer.js.map +1 -1
- package/dist/index.cjs +192 -942
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +3 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -10
- package/dist/index.js.map +1 -1
- package/dist/mode-handlers/composite-mode-handler.d.ts +3 -3
- package/dist/mode-handlers/composite-mode-handler.d.ts.map +1 -1
- package/dist/mode-handlers/composite-mode-handler.js.map +1 -1
- package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-90degree-polygon-handler.js +4 -2
- package/dist/mode-handlers/draw-90degree-polygon-handler.js.map +1 -1
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +0 -1
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js.map +1 -1
- package/dist/mode-handlers/draw-circle-from-center-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-circle-from-center-handler.js +0 -1
- package/dist/mode-handlers/draw-circle-from-center-handler.js.map +1 -1
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +1 -2
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js.map +1 -1
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +2 -2
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js.map +1 -1
- package/dist/mode-handlers/draw-point-handler.js.map +1 -1
- package/dist/mode-handlers/draw-polygon-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-polygon-handler.js +4 -2
- package/dist/mode-handlers/draw-polygon-handler.js.map +1 -1
- package/dist/mode-handlers/draw-rectangle-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-rectangle-handler.js +0 -1
- package/dist/mode-handlers/draw-rectangle-handler.js.map +1 -1
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts.map +1 -1
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +4 -2
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js.map +1 -1
- package/dist/mode-handlers/mode-handler.d.ts +12 -12
- package/dist/mode-handlers/mode-handler.d.ts.map +1 -1
- package/dist/mode-handlers/mode-handler.js +6 -7
- package/dist/mode-handlers/mode-handler.js.map +1 -1
- package/dist/mode-handlers/modify-handler.d.ts +2 -2
- package/dist/mode-handlers/modify-handler.d.ts.map +1 -1
- package/dist/mode-handlers/modify-handler.js +1 -4
- package/dist/mode-handlers/modify-handler.js.map +1 -1
- package/dist/mode-handlers/rotate-handler.d.ts +2 -2
- package/dist/mode-handlers/rotate-handler.d.ts.map +1 -1
- package/dist/mode-handlers/rotate-handler.js +2 -7
- package/dist/mode-handlers/rotate-handler.js.map +1 -1
- package/dist/mode-handlers/scale-handler.d.ts +2 -2
- package/dist/mode-handlers/scale-handler.d.ts.map +1 -1
- package/dist/mode-handlers/scale-handler.js +2 -7
- package/dist/mode-handlers/scale-handler.js.map +1 -1
- package/dist/mode-handlers/snappable-handler.d.ts +3 -3
- package/dist/mode-handlers/snappable-handler.d.ts.map +1 -1
- package/dist/mode-handlers/snappable-handler.js.map +1 -1
- package/dist/mode-handlers/split-polygon-handler.d.ts.map +1 -1
- package/dist/mode-handlers/split-polygon-handler.js +4 -5
- package/dist/mode-handlers/split-polygon-handler.js.map +1 -1
- package/dist/mode-handlers/translate-handler.d.ts +2 -2
- package/dist/mode-handlers/translate-handler.d.ts.map +1 -1
- package/dist/mode-handlers/translate-handler.js +1 -4
- package/dist/mode-handlers/translate-handler.js.map +1 -1
- package/dist/utils/geojson-types.d.ts +13 -34
- package/dist/utils/geojson-types.d.ts.map +1 -1
- package/dist/utils/translate-from-center.d.ts +2 -4
- package/dist/utils/translate-from-center.d.ts.map +1 -1
- package/dist/utils/translate-from-center.js.map +1 -1
- package/dist/utils/utils.d.ts +3 -3
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js.map +1 -1
- package/package.json +33 -34
- package/src/edit-modes/draw-90degree-polygon-mode.ts +2 -2
- package/src/edit-modes/draw-circle-by-diameter-mode.ts +3 -3
- package/src/edit-modes/draw-circle-from-center-mode.ts +3 -3
- package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +4 -4
- package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +3 -4
- package/src/edit-modes/draw-line-string-mode.ts +5 -5
- package/src/edit-modes/draw-point-mode.ts +2 -2
- package/src/edit-modes/draw-polygon-by-dragging-mode.ts +8 -8
- package/src/edit-modes/draw-polygon-mode.ts +8 -8
- package/src/edit-modes/draw-rectangle-from-center-mode.ts +2 -3
- package/src/edit-modes/draw-rectangle-mode.ts +2 -3
- package/src/edit-modes/draw-rectangle-using-three-points-mode.ts +2 -2
- package/src/edit-modes/draw-square-from-center-mode.ts +2 -3
- package/src/edit-modes/draw-square-mode.ts +3 -3
- package/src/edit-modes/duplicate-mode.ts +2 -2
- package/src/edit-modes/extend-line-string-mode.ts +4 -4
- package/src/edit-modes/extrude-mode.ts +7 -7
- package/src/edit-modes/geojson-edit-mode.ts +16 -19
- package/src/edit-modes/immutable-feature-collection.ts +10 -11
- package/src/edit-modes/measure-area-mode.ts +3 -3
- package/src/edit-modes/modify-mode.ts +13 -13
- package/src/edit-modes/resize-circle-mode.ts +6 -8
- package/src/edit-modes/rotate-mode.ts +9 -15
- package/src/edit-modes/scale-mode.ts +11 -15
- package/src/edit-modes/snappable-mode.ts +5 -5
- package/src/edit-modes/split-polygon-mode.ts +12 -16
- package/src/edit-modes/three-click-polygon-mode.ts +3 -3
- package/src/edit-modes/translate-mode.ts +10 -12
- package/src/edit-modes/two-click-polygon-mode.ts +7 -7
- package/src/edit-modes/types.ts +4 -4
- package/src/edit-modes/utils.ts +12 -16
- package/src/editable-layers/editable-geojson-layer.ts +19 -18
- package/src/editable-layers/selection-layer.ts +3 -3
- package/src/index.ts +8 -28
- package/src/mode-handlers/composite-mode-handler.ts +3 -3
- package/src/mode-handlers/draw-90degree-polygon-handler.ts +4 -2
- package/src/mode-handlers/draw-circle-by-bounding-box-handler.ts +0 -1
- package/src/mode-handlers/draw-circle-from-center-handler.ts +0 -1
- package/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +1 -2
- package/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +3 -2
- package/src/mode-handlers/draw-point-handler.ts +2 -2
- package/src/mode-handlers/draw-polygon-handler.ts +4 -2
- package/src/mode-handlers/draw-rectangle-handler.ts +0 -1
- package/src/mode-handlers/draw-rectangle-using-three-points-handler.ts +4 -2
- package/src/mode-handlers/mode-handler.ts +20 -21
- package/src/mode-handlers/modify-handler.ts +2 -4
- package/src/mode-handlers/rotate-handler.ts +4 -8
- package/src/mode-handlers/scale-handler.ts +4 -8
- package/src/mode-handlers/snappable-handler.ts +3 -3
- package/src/mode-handlers/split-polygon-handler.ts +6 -7
- package/src/mode-handlers/translate-handler.ts +3 -5
- package/src/utils/geojson-types.ts +15 -54
- package/src/utils/translate-from-center.ts +6 -11
- package/src/utils/utils.ts +4 -4
- package/dist/lib/constants.d.ts +0 -7
- package/dist/lib/constants.d.ts.map +0 -1
- package/dist/lib/constants.js +0 -10
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/deck-renderer/deck-cache.d.ts +0 -15
- package/dist/lib/deck-renderer/deck-cache.d.ts.map +0 -1
- package/dist/lib/deck-renderer/deck-cache.js +0 -52
- package/dist/lib/deck-renderer/deck-cache.js.map +0 -1
- package/dist/lib/deck-renderer/deck-drawer.d.ts +0 -63
- package/dist/lib/deck-renderer/deck-drawer.d.ts.map +0 -1
- package/dist/lib/deck-renderer/deck-drawer.js +0 -233
- package/dist/lib/deck-renderer/deck-drawer.js.map +0 -1
- package/dist/lib/feature.d.ts +0 -11
- package/dist/lib/feature.d.ts.map +0 -1
- package/dist/lib/feature.js +0 -20
- package/dist/lib/feature.js.map +0 -1
- package/dist/lib/layer-mouse-event.d.ts +0 -12
- package/dist/lib/layer-mouse-event.d.ts.map +0 -1
- package/dist/lib/layer-mouse-event.js +0 -28
- package/dist/lib/layer-mouse-event.js.map +0 -1
- package/dist/lib/layers/junctions-layer.d.ts +0 -9
- package/dist/lib/layers/junctions-layer.d.ts.map +0 -1
- package/dist/lib/layers/junctions-layer.js +0 -37
- package/dist/lib/layers/junctions-layer.js.map +0 -1
- package/dist/lib/layers/segments-layer.d.ts +0 -19
- package/dist/lib/layers/segments-layer.d.ts.map +0 -1
- package/dist/lib/layers/segments-layer.js +0 -98
- package/dist/lib/layers/segments-layer.js.map +0 -1
- package/dist/lib/layers/texts-layer.d.ts +0 -9
- package/dist/lib/layers/texts-layer.d.ts.map +0 -1
- package/dist/lib/layers/texts-layer.js +0 -36
- package/dist/lib/layers/texts-layer.js.map +0 -1
- package/dist/lib/math.d.ts +0 -12
- package/dist/lib/math.d.ts.map +0 -1
- package/dist/lib/math.js +0 -26
- package/dist/lib/math.js.map +0 -1
- package/dist/lib/nebula-core.d.ts +0 -35
- package/dist/lib/nebula-core.d.ts.map +0 -1
- package/dist/lib/nebula-core.js +0 -258
- package/dist/lib/nebula-core.js.map +0 -1
- package/dist/lib/nebula-layer.d.ts +0 -14
- package/dist/lib/nebula-layer.d.ts.map +0 -1
- package/dist/lib/nebula-layer.js +0 -30
- package/dist/lib/nebula-layer.js.map +0 -1
- package/dist/lib/style.d.ts +0 -20
- package/dist/lib/style.d.ts.map +0 -1
- package/dist/lib/style.js +0 -24
- package/dist/lib/style.js.map +0 -1
- package/dist/utils/curve-utils.d.ts +0 -3
- package/dist/utils/curve-utils.d.ts.map +0 -1
- package/dist/utils/curve-utils.js +0 -65
- package/dist/utils/curve-utils.js.map +0 -1
- package/src/lib/constants.ts +0 -10
- package/src/lib/deck-renderer/deck-cache.ts +0 -61
- package/src/lib/deck-renderer/deck-drawer.ts +0 -263
- package/src/lib/feature.ts +0 -31
- package/src/lib/layer-mouse-event.ts +0 -33
- package/src/lib/layers/junctions-layer.ts +0 -44
- package/src/lib/layers/segments-layer.ts +0 -112
- package/src/lib/layers/texts-layer.ts +0 -47
- package/src/lib/math.ts +0 -30
- package/src/lib/nebula-core.ts +0 -327
- package/src/lib/nebula-layer.ts +0 -37
- package/src/lib/style.ts +0 -26
- package/src/utils/curve-utils.ts +0 -81
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@deck.gl-community/editable-layers",
|
|
3
3
|
"description": "A suite of 3D-enabled data editing overlays, suitable for deck.gl",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "9.2.0-beta.
|
|
5
|
+
"version": "9.2.0-beta.8",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
@@ -36,38 +36,37 @@
|
|
|
36
36
|
"src"
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@turf/along": "^
|
|
40
|
-
"@turf/area": "^
|
|
41
|
-
"@turf/bbox": "^
|
|
42
|
-
"@turf/bbox-polygon": "^
|
|
43
|
-
"@turf/bearing": "^
|
|
44
|
-
"@turf/boolean-point-in-polygon": "^
|
|
45
|
-
"@turf/boolean-within": "^
|
|
46
|
-
"@turf/buffer": "^
|
|
47
|
-
"@turf/center": "^
|
|
48
|
-
"@turf/centroid": "^
|
|
49
|
-
"@turf/circle": "^
|
|
50
|
-
"@turf/clone": "^
|
|
51
|
-
"@turf/destination": "^
|
|
52
|
-
"@turf/difference": "^
|
|
53
|
-
"@turf/distance": "^
|
|
54
|
-
"@turf/ellipse": "^
|
|
55
|
-
"@turf/helpers": "^
|
|
56
|
-
"@turf/intersect": "^
|
|
57
|
-
"@turf/invariant": "^
|
|
58
|
-
"@turf/line-intersect": "^
|
|
59
|
-
"@turf/meta": "^
|
|
60
|
-
"@turf/midpoint": "^
|
|
61
|
-
"@turf/nearest-point-on-line": "^
|
|
62
|
-
"@turf/point-to-line-distance": "^
|
|
63
|
-
"@turf/polygon-to-line": "^
|
|
64
|
-
"@turf/rewind": "^
|
|
65
|
-
"@turf/transform-rotate": "^
|
|
66
|
-
"@turf/transform-scale": "^
|
|
67
|
-
"@turf/transform-translate": "^
|
|
68
|
-
"@turf/union": "^
|
|
69
|
-
"@types/geojson": "^7946.0.
|
|
70
|
-
"cubic-hermite-spline": "^1.0.1",
|
|
39
|
+
"@turf/along": "^7.2.0",
|
|
40
|
+
"@turf/area": "^7.2.0",
|
|
41
|
+
"@turf/bbox": "^7.2.0",
|
|
42
|
+
"@turf/bbox-polygon": "^7.2.0",
|
|
43
|
+
"@turf/bearing": "^7.2.0",
|
|
44
|
+
"@turf/boolean-point-in-polygon": "^7.2.0",
|
|
45
|
+
"@turf/boolean-within": "^7.2.0",
|
|
46
|
+
"@turf/buffer": "^7.2.0",
|
|
47
|
+
"@turf/center": "^7.2.0",
|
|
48
|
+
"@turf/centroid": "^7.2.0",
|
|
49
|
+
"@turf/circle": "^7.2.0",
|
|
50
|
+
"@turf/clone": "^7.2.0",
|
|
51
|
+
"@turf/destination": "^7.2.0",
|
|
52
|
+
"@turf/difference": "^7.2.0",
|
|
53
|
+
"@turf/distance": "^7.2.0",
|
|
54
|
+
"@turf/ellipse": "^7.2.0",
|
|
55
|
+
"@turf/helpers": "^7.2.0",
|
|
56
|
+
"@turf/intersect": "^7.2.0",
|
|
57
|
+
"@turf/invariant": "^7.2.0",
|
|
58
|
+
"@turf/line-intersect": "^7.2.0",
|
|
59
|
+
"@turf/meta": "^7.2.0",
|
|
60
|
+
"@turf/midpoint": "^7.2.0",
|
|
61
|
+
"@turf/nearest-point-on-line": "^7.2.0",
|
|
62
|
+
"@turf/point-to-line-distance": "^7.2.0",
|
|
63
|
+
"@turf/polygon-to-line": "^7.2.0",
|
|
64
|
+
"@turf/rewind": "^7.2.0",
|
|
65
|
+
"@turf/transform-rotate": "^7.2.0",
|
|
66
|
+
"@turf/transform-scale": "^7.2.0",
|
|
67
|
+
"@turf/transform-translate": "^7.2.0",
|
|
68
|
+
"@turf/union": "^7.2.0",
|
|
69
|
+
"@types/geojson": "^7946.0.16",
|
|
71
70
|
"eventemitter3": "^5.0.0",
|
|
72
71
|
"lodash.omit": "^4.1.1",
|
|
73
72
|
"lodash.throttle": "^4.1.1",
|
|
@@ -87,5 +86,5 @@
|
|
|
87
86
|
"@luma.gl/engine": "~9.2.0",
|
|
88
87
|
"@math.gl/core": ">=4.0.1"
|
|
89
88
|
},
|
|
90
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "cc866d0fda6b21627421d6168d2f0abec86ab425"
|
|
91
90
|
}
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
GuideFeatureCollection,
|
|
20
20
|
TentativeFeature
|
|
21
21
|
} from './types';
|
|
22
|
-
import {Polygon, LineString, Position, FeatureCollection} from '../utils/geojson-types';
|
|
22
|
+
import {Polygon, LineString, Position, FeatureCollection, SimpleFeatureCollection} from '../utils/geojson-types';
|
|
23
23
|
import {GeoJsonEditMode} from './geojson-edit-mode';
|
|
24
24
|
|
|
25
25
|
export class Draw90DegreePolygonMode extends GeoJsonEditMode {
|
|
@@ -98,7 +98,7 @@ export class Draw90DegreePolygonMode extends GeoJsonEditMode {
|
|
|
98
98
|
super.handlePointerMove(event, props);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
handleClick(event: ClickEvent, props: ModeProps<
|
|
101
|
+
handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
102
102
|
const {picks} = event;
|
|
103
103
|
const tentativeFeature = this.getTentativeGuide(props);
|
|
104
104
|
this.addClickSequence(event);
|
|
@@ -7,7 +7,7 @@ import distance from '@turf/distance';
|
|
|
7
7
|
import area from '@turf/area';
|
|
8
8
|
import {memoize} from '../utils/memoize';
|
|
9
9
|
import {ModeProps, Tooltip} from './types';
|
|
10
|
-
import {Position, Polygon,
|
|
10
|
+
import {Position, Polygon, Feature, FeatureCollection} from '../utils/geojson-types';
|
|
11
11
|
import {getIntermediatePosition} from './geojson-edit-mode';
|
|
12
12
|
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
13
13
|
|
|
@@ -16,7 +16,7 @@ export class DrawCircleByDiameterMode extends TwoClickPolygonMode {
|
|
|
16
16
|
position: Position = null!;
|
|
17
17
|
areaCircle: number | null | undefined = null;
|
|
18
18
|
diameter: number | null | undefined = null;
|
|
19
|
-
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any):
|
|
19
|
+
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
|
|
20
20
|
// Default turf value for circle is 64
|
|
21
21
|
const {steps = 64} = modeConfig || {};
|
|
22
22
|
const options = {steps};
|
|
@@ -44,7 +44,7 @@ export class DrawCircleByDiameterMode extends TwoClickPolygonMode {
|
|
|
44
44
|
geometry.properties.editProperties.center = centerCoordinates;
|
|
45
45
|
// calculate area of circle with turf function
|
|
46
46
|
this.areaCircle = area(geometry);
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
return geometry;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -7,14 +7,14 @@ import distance from '@turf/distance';
|
|
|
7
7
|
import area from '@turf/area';
|
|
8
8
|
import {memoize} from '../utils/memoize';
|
|
9
9
|
import {ModeProps, Tooltip} from './types';
|
|
10
|
-
import {Position, Polygon,
|
|
10
|
+
import {Position, Polygon, Feature, FeatureCollection} from '../utils/geojson-types';
|
|
11
11
|
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
12
12
|
|
|
13
13
|
export class DrawCircleFromCenterMode extends TwoClickPolygonMode {
|
|
14
14
|
radius: number | null | undefined = null;
|
|
15
15
|
position: Position = null!;
|
|
16
16
|
areaCircle: number | null | undefined = null;
|
|
17
|
-
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any):
|
|
17
|
+
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
|
|
18
18
|
// Default turf value for circle is 64
|
|
19
19
|
const {steps = 64} = modeConfig || {};
|
|
20
20
|
const options = {steps};
|
|
@@ -38,7 +38,7 @@ export class DrawCircleFromCenterMode extends TwoClickPolygonMode {
|
|
|
38
38
|
geometry.properties.editProperties.center = coord1;
|
|
39
39
|
// calculate area of circle with turf function
|
|
40
40
|
this.areaCircle = area(geometry);
|
|
41
|
-
|
|
41
|
+
|
|
42
42
|
return geometry;
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -6,12 +6,12 @@ import bboxPolygon from '@turf/bbox-polygon';
|
|
|
6
6
|
import distance from '@turf/distance';
|
|
7
7
|
import ellipse from '@turf/ellipse';
|
|
8
8
|
import {point} from '@turf/helpers';
|
|
9
|
-
import {Position, Polygon,
|
|
9
|
+
import {Position, Polygon, Feature} from '../utils/geojson-types';
|
|
10
10
|
import {getIntermediatePosition} from './geojson-edit-mode';
|
|
11
11
|
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
12
12
|
|
|
13
13
|
export class DrawEllipseByBoundingBoxMode extends TwoClickPolygonMode {
|
|
14
|
-
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any):
|
|
14
|
+
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
|
|
15
15
|
const minX = Math.min(coord1[0], coord2[0]);
|
|
16
16
|
const minY = Math.min(coord1[1], coord2[1]);
|
|
17
17
|
const maxX = Math.max(coord1[0], coord2[0]);
|
|
@@ -23,7 +23,7 @@ export class DrawEllipseByBoundingBoxMode extends TwoClickPolygonMode {
|
|
|
23
23
|
const xSemiAxis = Math.max(distance(point(polygonPoints[0]), point(polygonPoints[1])), 0.001);
|
|
24
24
|
const ySemiAxis = Math.max(distance(point(polygonPoints[0]), point(polygonPoints[3])), 0.001);
|
|
25
25
|
|
|
26
|
-
const geometry = ellipse(centerCoordinates, xSemiAxis, ySemiAxis);
|
|
26
|
+
const geometry = ellipse(centerCoordinates, xSemiAxis, ySemiAxis, {});
|
|
27
27
|
|
|
28
28
|
geometry.properties = geometry.properties || {};
|
|
29
29
|
geometry.properties.editProperties = geometry.properties.editProperties || {};
|
|
@@ -32,7 +32,7 @@ export class DrawEllipseByBoundingBoxMode extends TwoClickPolygonMode {
|
|
|
32
32
|
geometry.properties.editProperties.ySemiAxis = {value: ySemiAxis, unit: 'kilometers'};
|
|
33
33
|
geometry.properties.editProperties.angle = 0;
|
|
34
34
|
geometry.properties.editProperties.center = centerCoordinates;
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
return geometry;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -6,7 +6,7 @@ import distance from '@turf/distance';
|
|
|
6
6
|
import ellipse from '@turf/ellipse';
|
|
7
7
|
import bearing from '@turf/bearing';
|
|
8
8
|
import {point} from '@turf/helpers';
|
|
9
|
-
import {Position, Polygon,
|
|
9
|
+
import {Position, Polygon, Feature} from '../utils/geojson-types';
|
|
10
10
|
import {getIntermediatePosition} from './geojson-edit-mode';
|
|
11
11
|
import {ThreeClickPolygonMode} from './three-click-polygon-mode';
|
|
12
12
|
|
|
@@ -16,12 +16,11 @@ export class DrawEllipseUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
|
16
16
|
coord2: Position,
|
|
17
17
|
coord3: Position,
|
|
18
18
|
modeConfig: any
|
|
19
|
-
):
|
|
19
|
+
): Feature<Polygon> | null | undefined {
|
|
20
20
|
const centerCoordinates = getIntermediatePosition(coord1, coord2);
|
|
21
21
|
const xSemiAxis = Math.max(distance(centerCoordinates, point(coord3)), 0.001);
|
|
22
22
|
const ySemiAxis = Math.max(distance(coord1, coord2), 0.001) / 2;
|
|
23
23
|
const options = {angle: bearing(coord1, coord2)};
|
|
24
|
-
// @ts-expect-error fix return types
|
|
25
24
|
const geometry = ellipse(centerCoordinates, xSemiAxis, ySemiAxis, options);
|
|
26
25
|
|
|
27
26
|
geometry.properties = geometry.properties || {};
|
|
@@ -31,7 +30,7 @@ export class DrawEllipseUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
|
31
30
|
geometry.properties.editProperties.ySemiAxis = {value: ySemiAxis, unit: 'kilometers'};
|
|
32
31
|
geometry.properties.editProperties.angle = options.angle;
|
|
33
32
|
geometry.properties.editProperties.center = centerCoordinates;
|
|
34
|
-
|
|
33
|
+
|
|
35
34
|
return geometry;
|
|
36
35
|
}
|
|
37
36
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import distance from '@turf/distance';
|
|
6
6
|
import {memoize} from '../utils/memoize';
|
|
7
|
-
import {LineString, FeatureCollection, Position} from '../utils/geojson-types';
|
|
7
|
+
import {LineString, FeatureCollection, Position, SimpleFeatureCollection} from '../utils/geojson-types';
|
|
8
8
|
import {
|
|
9
9
|
ClickEvent,
|
|
10
10
|
PointerMoveEvent,
|
|
@@ -22,7 +22,7 @@ export class DrawLineStringMode extends GeoJsonEditMode {
|
|
|
22
22
|
dist = 0;
|
|
23
23
|
position: Position = null!;
|
|
24
24
|
elems: Position[] = [];
|
|
25
|
-
handleClick(event: ClickEvent, props: ModeProps<
|
|
25
|
+
handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
26
26
|
const {picks} = event;
|
|
27
27
|
const clickedEditHandle = getPickedEditHandle(picks);
|
|
28
28
|
|
|
@@ -62,11 +62,11 @@ export class DrawLineStringMode extends GeoJsonEditMode {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
handleDoubleClick(event: DoubleClickEvent, props: ModeProps<
|
|
65
|
+
handleDoubleClick(event: DoubleClickEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
66
66
|
this.finishDrawing(props);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
finishDrawing(props: ModeProps<
|
|
69
|
+
finishDrawing(props: ModeProps<SimpleFeatureCollection>) {
|
|
70
70
|
const clickSequence = this.getClickSequence();
|
|
71
71
|
if (clickSequence.length > 1) {
|
|
72
72
|
const lineStringToAdd: LineString = {
|
|
@@ -81,7 +81,7 @@ export class DrawLineStringMode extends GeoJsonEditMode {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
handleKeyUp(event: KeyboardEvent, props: ModeProps<
|
|
84
|
+
handleKeyUp(event: KeyboardEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
85
85
|
const {key} = event;
|
|
86
86
|
if (key === 'Enter') {
|
|
87
87
|
this.finishDrawing(props);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
5
|
import {ClickEvent, PointerMoveEvent, ModeProps, TentativeFeature} from './types';
|
|
6
|
-
import {FeatureCollection, Point} from '../utils/geojson-types';
|
|
6
|
+
import {FeatureCollection, SimpleFeatureCollection, Point} from '../utils/geojson-types';
|
|
7
7
|
import {GeoJsonEditMode} from './geojson-edit-mode';
|
|
8
8
|
|
|
9
9
|
export class DrawPointMode extends GeoJsonEditMode {
|
|
@@ -23,7 +23,7 @@ export class DrawPointMode extends GeoJsonEditMode {
|
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
handleClick({mapCoords}: ClickEvent, props: ModeProps<
|
|
26
|
+
handleClick({mapCoords}: ClickEvent, props: ModeProps<SimpleFeatureCollection>): void {
|
|
27
27
|
const geometry: Point = {
|
|
28
28
|
type: 'Point',
|
|
29
29
|
coordinates: mapCoords
|
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
import throttle from 'lodash.throttle';
|
|
6
6
|
import {ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps} from './types';
|
|
7
|
-
import {Polygon,
|
|
7
|
+
import {Polygon, SimpleFeatureCollection} from '../utils/geojson-types';
|
|
8
8
|
import {getPickedEditHandle} from './utils';
|
|
9
9
|
import {DrawPolygonMode} from './draw-polygon-mode';
|
|
10
10
|
|
|
11
|
-
type DraggingHandler = (event: DraggingEvent, props: ModeProps<
|
|
11
|
+
type DraggingHandler = (event: DraggingEvent, props: ModeProps<SimpleFeatureCollection>) => void;
|
|
12
12
|
|
|
13
13
|
export class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
14
14
|
handleDraggingThrottled: DraggingHandler | null | undefined = null;
|
|
15
15
|
|
|
16
|
-
handleClick(event: ClickEvent, props: ModeProps<
|
|
16
|
+
handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
17
17
|
// No-op
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
handleStartDragging(event: StartDraggingEvent, props: ModeProps<
|
|
20
|
+
handleStartDragging(event: StartDraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
21
21
|
event.cancelPan();
|
|
22
22
|
if (props.modeConfig && props.modeConfig.throttleMs) {
|
|
23
23
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
@@ -28,7 +28,7 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
handleStopDragging(event: StopDraggingEvent, props: ModeProps<
|
|
31
|
+
handleStopDragging(event: StopDraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
32
32
|
this.addClickSequence(event);
|
|
33
33
|
const clickSequence = this.getClickSequence();
|
|
34
34
|
// @ts-expect-error cancel() not typed
|
|
@@ -52,7 +52,7 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
|
52
52
|
this.resetClickSequence();
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
handleDraggingAux(event: DraggingEvent, props: ModeProps<
|
|
55
|
+
handleDraggingAux(event: DraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
56
56
|
const {picks} = event;
|
|
57
57
|
const clickedEditHandle = getPickedEditHandle(picks);
|
|
58
58
|
|
|
@@ -69,13 +69,13 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
handleDragging(event: DraggingEvent, props: ModeProps<
|
|
72
|
+
handleDragging(event: DraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
73
73
|
if (this.handleDraggingThrottled) {
|
|
74
74
|
this.handleDraggingThrottled(event, props);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
handleKeyUp(event: KeyboardEvent, props: ModeProps<
|
|
78
|
+
handleKeyUp(event: KeyboardEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
79
79
|
if (event.key === 'Enter') {
|
|
80
80
|
const clickSequence = this.getClickSequence();
|
|
81
81
|
if (clickSequence.length > 2) {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import lineIntersect from '@turf/line-intersect';
|
|
6
6
|
import { polygon as turfPolygon} from '@turf/helpers';
|
|
7
7
|
import booleanWithin from "@turf/boolean-within";
|
|
8
|
-
|
|
8
|
+
import type {Geometry} from 'geojson'
|
|
9
9
|
|
|
10
10
|
import {
|
|
11
11
|
ClickEvent,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
GuideFeature,
|
|
17
17
|
DoubleClickEvent
|
|
18
18
|
} from './types';
|
|
19
|
-
import {Position, FeatureCollection,
|
|
19
|
+
import {Position, FeatureCollection, SimpleFeatureCollection} from '../utils/geojson-types';
|
|
20
20
|
import {getPickedEditHandle} from './utils';
|
|
21
21
|
import {GeoJsonEditMode} from './geojson-edit-mode';
|
|
22
22
|
import { ImmutableFeatureCollection } from './immutable-feature-collection';
|
|
@@ -98,7 +98,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
// eslint-disable-next-line complexity, max-statements
|
|
101
|
-
handleClick(event: ClickEvent, props: ModeProps<
|
|
101
|
+
handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
102
102
|
const {picks} = event;
|
|
103
103
|
const clickedEditHandle = getPickedEditHandle(picks);
|
|
104
104
|
const clickSequence = this.getClickSequence();
|
|
@@ -173,12 +173,12 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
-
handleDoubleClick(_event: DoubleClickEvent, props: ModeProps<
|
|
176
|
+
handleDoubleClick(_event: DoubleClickEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
177
177
|
this.finishDrawing(props);
|
|
178
178
|
this.resetClickSequence();
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
handleKeyUp(event: KeyboardEvent, props: ModeProps<
|
|
181
|
+
handleKeyUp(event: KeyboardEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
182
182
|
if (event.key === "Enter") {
|
|
183
183
|
this.finishDrawing(props);
|
|
184
184
|
this.resetClickSequence();
|
|
@@ -201,7 +201,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
// eslint-disable-next-line max-statements, complexity
|
|
204
|
-
finishDrawing(props: ModeProps<
|
|
204
|
+
finishDrawing(props: ModeProps<SimpleFeatureCollection>) {
|
|
205
205
|
const clickSequence = this.getClickSequence();
|
|
206
206
|
const polygon = [...clickSequence, clickSequence[0]];
|
|
207
207
|
|
|
@@ -261,7 +261,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
261
261
|
private tryAddHoleToExistingPolygon(
|
|
262
262
|
newPolygon: any,
|
|
263
263
|
polygon: Position[],
|
|
264
|
-
props: ModeProps<
|
|
264
|
+
props: ModeProps<SimpleFeatureCollection>
|
|
265
265
|
): { handled: boolean } {
|
|
266
266
|
for (const [featureIndex, feature] of props.data.features.entries()) {
|
|
267
267
|
if (feature.geometry.type === "Polygon") {
|
|
@@ -280,7 +280,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
280
280
|
featureIndex: number,
|
|
281
281
|
newPolygon: any,
|
|
282
282
|
polygon: Position[],
|
|
283
|
-
props: ModeProps<
|
|
283
|
+
props: ModeProps<SimpleFeatureCollection>
|
|
284
284
|
): { handled: boolean } {
|
|
285
285
|
const outer = turfPolygon(feature.geometry.coordinates);
|
|
286
286
|
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
5
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
6
|
-
import {Position, Polygon,
|
|
6
|
+
import {Position, Polygon, Feature} from '../utils/geojson-types';
|
|
7
7
|
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
8
8
|
|
|
9
9
|
export class DrawRectangleFromCenterMode extends TwoClickPolygonMode {
|
|
10
|
-
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any):
|
|
10
|
+
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
|
|
11
11
|
const longitude =
|
|
12
12
|
coord1[0] > coord2[0]
|
|
13
13
|
? coord1[0] + Math.abs(coord1[0] - coord2[0])
|
|
@@ -21,7 +21,6 @@ export class DrawRectangleFromCenterMode extends TwoClickPolygonMode {
|
|
|
21
21
|
rectangle.properties = rectangle.properties || {};
|
|
22
22
|
rectangle.properties.shape = 'Rectangle';
|
|
23
23
|
|
|
24
|
-
// @ts-expect-error turf typing too wide
|
|
25
24
|
return rectangle;
|
|
26
25
|
}
|
|
27
26
|
}
|
|
@@ -3,16 +3,15 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
5
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
6
|
-
import {Position, Polygon,
|
|
6
|
+
import {Position, Polygon, Feature} from '../utils/geojson-types';
|
|
7
7
|
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
8
8
|
|
|
9
9
|
export class DrawRectangleMode extends TwoClickPolygonMode {
|
|
10
|
-
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any):
|
|
10
|
+
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
|
|
11
11
|
const rectangle = bboxPolygon([coord1[0], coord1[1], coord2[0], coord2[1]]);
|
|
12
12
|
rectangle.properties = rectangle.properties || {};
|
|
13
13
|
rectangle.properties.shape = 'Rectangle';
|
|
14
14
|
|
|
15
|
-
// @ts-expect-error turf typing too wide
|
|
16
15
|
return rectangle;
|
|
17
16
|
}
|
|
18
17
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
5
|
import {generatePointsParallelToLinePoints} from './utils';
|
|
6
|
-
import {Position, Polygon,
|
|
6
|
+
import {Position, Polygon, Feature} from '../utils/geojson-types';
|
|
7
7
|
import {ThreeClickPolygonMode} from './three-click-polygon-mode';
|
|
8
8
|
|
|
9
9
|
export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
@@ -12,7 +12,7 @@ export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
|
12
12
|
coord2: Position,
|
|
13
13
|
coord3: Position,
|
|
14
14
|
modeConfig: any
|
|
15
|
-
):
|
|
15
|
+
): Feature<Polygon> | null | undefined {
|
|
16
16
|
const [p3, p4] = generatePointsParallelToLinePoints(coord1, coord2, coord3);
|
|
17
17
|
|
|
18
18
|
return {
|
|
@@ -6,11 +6,11 @@ import bboxPolygon from '@turf/bbox-polygon';
|
|
|
6
6
|
import turfDistance from '@turf/distance';
|
|
7
7
|
import turfAlong from '@turf/along';
|
|
8
8
|
import {point, lineString as turfLineString} from '@turf/helpers';
|
|
9
|
-
import {Position, Polygon,
|
|
9
|
+
import {Position, Polygon, Feature} from '../utils/geojson-types';
|
|
10
10
|
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
11
11
|
|
|
12
12
|
export class DrawSquareFromCenterMode extends TwoClickPolygonMode {
|
|
13
|
-
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any):
|
|
13
|
+
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
|
|
14
14
|
// get the coordinates of the other two rectangle vertices
|
|
15
15
|
const coord3 = [coord2[0], coord1[1]];
|
|
16
16
|
const coord4 = [coord1[0], coord2[1]];
|
|
@@ -44,7 +44,6 @@ export class DrawSquareFromCenterMode extends TwoClickPolygonMode {
|
|
|
44
44
|
square.properties = square.properties || {};
|
|
45
45
|
square.properties.shape = 'Square';
|
|
46
46
|
|
|
47
|
-
// @ts-expect-error turf typing too wide
|
|
48
47
|
return square;
|
|
49
48
|
}
|
|
50
49
|
}
|
|
@@ -6,11 +6,11 @@ import bboxPolygon from '@turf/bbox-polygon';
|
|
|
6
6
|
import turfDistance from '@turf/distance';
|
|
7
7
|
import turfAlong from '@turf/along';
|
|
8
8
|
import {point, lineString as turfLineString} from '@turf/helpers';
|
|
9
|
-
import {Position, Polygon,
|
|
9
|
+
import {Position, Polygon, Feature} from '../utils/geojson-types';
|
|
10
10
|
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
11
11
|
|
|
12
12
|
export class DrawSquareMode extends TwoClickPolygonMode {
|
|
13
|
-
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any):
|
|
13
|
+
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): Feature<Polygon> {
|
|
14
14
|
// get the coordinates of the other two rectangle vertices
|
|
15
15
|
const coord3 = [coord2[0], coord1[1]];
|
|
16
16
|
const coord4 = [coord1[0], coord2[1]];
|
|
@@ -34,7 +34,7 @@ export class DrawSquareMode extends TwoClickPolygonMode {
|
|
|
34
34
|
square.properties = square.properties || {};
|
|
35
35
|
square.properties.shape = 'Square';
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
return square;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
5
|
import {StartDraggingEvent, ModeProps} from './types';
|
|
6
|
-
import {FeatureCollection} from '../utils/geojson-types';
|
|
6
|
+
import {FeatureCollection, SimpleFeatureCollection} from '../utils/geojson-types';
|
|
7
7
|
import {TranslateMode} from './translate-mode';
|
|
8
8
|
|
|
9
9
|
export class DuplicateMode extends TranslateMode {
|
|
10
|
-
handleStartDragging(event: StartDraggingEvent, props: ModeProps<
|
|
10
|
+
handleStartDragging(event: StartDraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
11
11
|
super.handleStartDragging(event, props);
|
|
12
12
|
|
|
13
13
|
if (this._geometryBeforeTranslate) {
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
|
-
import {Position, LineString, FeatureCollection} from '../utils/geojson-types';
|
|
5
|
+
import {Position, LineString, FeatureCollection, SimpleFeatureCollection} from '../utils/geojson-types';
|
|
6
6
|
import {ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection} from './types';
|
|
7
7
|
import {GeoJsonEditMode} from './geojson-edit-mode';
|
|
8
8
|
import {ImmutableFeatureCollection} from './immutable-feature-collection';
|
|
9
9
|
|
|
10
10
|
export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
11
|
-
getSingleSelectedLineString(props: ModeProps<
|
|
11
|
+
getSingleSelectedLineString(props: ModeProps<SimpleFeatureCollection>): LineString | null | undefined {
|
|
12
12
|
const selectedGeometry = this.getSelectedGeometry(props);
|
|
13
13
|
|
|
14
14
|
if (selectedGeometry && selectedGeometry.type === 'LineString') {
|
|
@@ -17,7 +17,7 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
|
17
17
|
return null;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
handleClick(event: ClickEvent, props: ModeProps<
|
|
20
|
+
handleClick(event: ClickEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
21
21
|
const {selectedIndexes} = props;
|
|
22
22
|
const selectedLineString = this.getSingleSelectedLineString(props);
|
|
23
23
|
|
|
@@ -49,7 +49,7 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
getGuides(props: ModeProps<
|
|
52
|
+
getGuides(props: ModeProps<SimpleFeatureCollection>): GuideFeatureCollection {
|
|
53
53
|
const guides: GuideFeatureCollection = {
|
|
54
54
|
type: 'FeatureCollection',
|
|
55
55
|
features: []
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
getPickedIntermediateEditHandle,
|
|
10
10
|
shouldCancelPan
|
|
11
11
|
} from './utils';
|
|
12
|
-
import {
|
|
12
|
+
import {SimpleFeatureCollection} from '../utils/geojson-types';
|
|
13
13
|
import {ModeProps, StartDraggingEvent, StopDraggingEvent, DraggingEvent} from './types';
|
|
14
14
|
import {ModifyMode} from './modify-mode';
|
|
15
15
|
import {ImmutableFeatureCollection} from './immutable-feature-collection';
|
|
@@ -19,7 +19,7 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
19
19
|
|
|
20
20
|
isPointAdded = false;
|
|
21
21
|
|
|
22
|
-
handleDragging(event: DraggingEvent, props: ModeProps<
|
|
22
|
+
handleDragging(event: DraggingEvent, props: ModeProps<SimpleFeatureCollection>): void {
|
|
23
23
|
const editHandle = getPickedEditHandle(event.pointerDownPicks);
|
|
24
24
|
|
|
25
25
|
if (editHandle) {
|
|
@@ -61,7 +61,7 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
handleStartDragging(event: StartDraggingEvent, props: ModeProps<
|
|
64
|
+
handleStartDragging(event: StartDraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
65
65
|
if (shouldCancelPan(event)) {
|
|
66
66
|
event.cancelPan();
|
|
67
67
|
}
|
|
@@ -111,7 +111,7 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
handleStopDragging(event: StopDraggingEvent, props: ModeProps<
|
|
114
|
+
handleStopDragging(event: StopDraggingEvent, props: ModeProps<SimpleFeatureCollection>) {
|
|
115
115
|
const selectedFeatureIndexes = props.selectedIndexes;
|
|
116
116
|
const editHandle = getPickedEditHandle(event.pointerDownPicks);
|
|
117
117
|
if (selectedFeatureIndexes.length && editHandle) {
|
|
@@ -156,7 +156,7 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
156
156
|
coordinatesSize(
|
|
157
157
|
positionIndexes: number[] | null | undefined,
|
|
158
158
|
featureIndex: number,
|
|
159
|
-
{features}:
|
|
159
|
+
{features}: SimpleFeatureCollection
|
|
160
160
|
) {
|
|
161
161
|
let size = 0;
|
|
162
162
|
if (Array.isArray(positionIndexes)) {
|
|
@@ -190,7 +190,7 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
190
190
|
positionIndexes: number[] | null | undefined,
|
|
191
191
|
featureIndex: number,
|
|
192
192
|
size: number,
|
|
193
|
-
features:
|
|
193
|
+
features: SimpleFeatureCollection
|
|
194
194
|
) {
|
|
195
195
|
if (!Array.isArray(positionIndexes)) {
|
|
196
196
|
return false;
|
|
@@ -239,7 +239,7 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
239
239
|
getPointForPositionIndexes(
|
|
240
240
|
positionIndexes: number[] | null | undefined,
|
|
241
241
|
featureIndex: number,
|
|
242
|
-
{features}:
|
|
242
|
+
{features}: SimpleFeatureCollection
|
|
243
243
|
) {
|
|
244
244
|
let p1;
|
|
245
245
|
if (Array.isArray(positionIndexes)) {
|