@deck.gl-community/editable-layers 9.0.0-alpha.1 → 9.0.3
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/LICENSE +19 -0
- package/README.md +2 -81
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +4 -1
- package/dist/edit-modes/composite-mode.d.ts +4 -3
- package/dist/edit-modes/composite-mode.d.ts.map +1 -0
- package/dist/edit-modes/composite-mode.js +5 -2
- package/dist/edit-modes/draw-90degree-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/draw-90degree-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-90degree-polygon-mode.js +30 -25
- package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts +4 -3
- package/dist/edit-modes/draw-circle-by-diameter-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-circle-by-diameter-mode.js +9 -6
- package/dist/edit-modes/draw-circle-from-center-mode.d.ts +4 -3
- package/dist/edit-modes/draw-circle-from-center-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-circle-from-center-mode.js +8 -5
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts +3 -2
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-ellipse-by-bounding-box-mode.js +5 -2
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts +3 -2
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-ellipse-using-three-points-mode.js +5 -2
- package/dist/edit-modes/draw-line-string-mode.d.ts +4 -3
- package/dist/edit-modes/draw-line-string-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-line-string-mode.js +21 -18
- package/dist/edit-modes/draw-point-mode.d.ts +4 -3
- package/dist/edit-modes/draw-point-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-point-mode.js +8 -5
- package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts +4 -3
- package/dist/edit-modes/draw-polygon-by-dragging-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-polygon-by-dragging-mode.js +12 -7
- package/dist/edit-modes/draw-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/draw-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-polygon-mode.js +22 -18
- package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts +3 -2
- package/dist/edit-modes/draw-rectangle-from-center-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-rectangle-from-center-mode.js +4 -1
- package/dist/edit-modes/draw-rectangle-mode.d.ts +3 -2
- package/dist/edit-modes/draw-rectangle-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-rectangle-mode.js +4 -1
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts +3 -2
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-rectangle-using-three-points-mode.js +10 -7
- package/dist/edit-modes/draw-square-from-center-mode.d.ts +3 -2
- package/dist/edit-modes/draw-square-from-center-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-square-from-center-mode.js +4 -1
- package/dist/edit-modes/draw-square-mode.d.ts +3 -2
- package/dist/edit-modes/draw-square-mode.d.ts.map +1 -0
- package/dist/edit-modes/draw-square-mode.js +4 -1
- package/dist/edit-modes/duplicate-mode.d.ts +4 -3
- package/dist/edit-modes/duplicate-mode.d.ts.map +1 -0
- package/dist/edit-modes/duplicate-mode.js +4 -1
- package/dist/edit-modes/edit-mode.d.ts +2 -1
- package/dist/edit-modes/edit-mode.d.ts.map +1 -0
- package/dist/edit-modes/edit-mode.js +3 -1
- package/dist/edit-modes/elevation-mode.d.ts +5 -4
- package/dist/edit-modes/elevation-mode.d.ts.map +1 -0
- package/dist/edit-modes/elevation-mode.js +10 -7
- package/dist/edit-modes/extend-line-string-mode.d.ts +4 -3
- package/dist/edit-modes/extend-line-string-mode.d.ts.map +1 -0
- package/dist/edit-modes/extend-line-string-mode.js +11 -8
- package/dist/edit-modes/extrude-mode.d.ts +4 -3
- package/dist/edit-modes/extrude-mode.d.ts.map +1 -0
- package/dist/edit-modes/extrude-mode.js +12 -9
- package/dist/edit-modes/geojson-edit-mode.d.ts +4 -3
- package/dist/edit-modes/geojson-edit-mode.d.ts.map +1 -0
- package/dist/edit-modes/geojson-edit-mode.js +20 -17
- package/dist/edit-modes/immutable-feature-collection.d.ts +3 -1
- package/dist/edit-modes/immutable-feature-collection.d.ts.map +1 -0
- package/dist/edit-modes/immutable-feature-collection.js +25 -20
- package/dist/edit-modes/measure-angle-mode.d.ts +4 -3
- package/dist/edit-modes/measure-angle-mode.d.ts.map +1 -0
- package/dist/edit-modes/measure-angle-mode.js +9 -9
- package/dist/edit-modes/measure-area-mode.d.ts +4 -3
- package/dist/edit-modes/measure-area-mode.d.ts.map +1 -0
- package/dist/edit-modes/measure-area-mode.js +8 -6
- package/dist/edit-modes/measure-distance-mode.d.ts +4 -3
- package/dist/edit-modes/measure-distance-mode.d.ts.map +1 -0
- package/dist/edit-modes/measure-distance-mode.js +19 -16
- package/dist/edit-modes/modify-mode.d.ts +5 -4
- package/dist/edit-modes/modify-mode.d.ts.map +1 -0
- package/dist/edit-modes/modify-mode.js +19 -16
- package/dist/edit-modes/resize-circle-mode.d.ts +6 -5
- package/dist/edit-modes/resize-circle-mode.d.ts.map +1 -0
- package/dist/edit-modes/resize-circle-mode.js +6 -4
- package/dist/edit-modes/rotate-mode.d.ts +4 -3
- package/dist/edit-modes/rotate-mode.d.ts.map +1 -0
- package/dist/edit-modes/rotate-mode.js +11 -8
- package/dist/edit-modes/scale-mode.d.ts +4 -3
- package/dist/edit-modes/scale-mode.d.ts.map +1 -0
- package/dist/edit-modes/scale-mode.js +11 -8
- package/dist/edit-modes/snappable-mode.d.ts +4 -3
- package/dist/edit-modes/snappable-mode.d.ts.map +1 -0
- package/dist/edit-modes/snappable-mode.js +9 -6
- package/dist/edit-modes/split-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/split-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/split-polygon-mode.js +15 -12
- package/dist/edit-modes/three-click-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/three-click-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/three-click-polygon-mode.js +10 -7
- package/dist/edit-modes/transform-mode.d.ts +4 -3
- package/dist/edit-modes/transform-mode.d.ts.map +1 -0
- package/dist/edit-modes/transform-mode.js +8 -5
- package/dist/edit-modes/translate-mode.d.ts +4 -3
- package/dist/edit-modes/translate-mode.d.ts.map +1 -0
- package/dist/edit-modes/translate-mode.js +10 -7
- package/dist/edit-modes/two-click-polygon-mode.d.ts +4 -3
- package/dist/edit-modes/two-click-polygon-mode.d.ts.map +1 -0
- package/dist/edit-modes/two-click-polygon-mode.js +10 -7
- package/dist/edit-modes/types.d.ts +2 -1
- package/dist/edit-modes/types.d.ts.map +1 -0
- package/dist/edit-modes/types.js +3 -0
- package/dist/edit-modes/utils.d.ts +3 -2
- package/dist/edit-modes/utils.d.ts.map +1 -0
- package/dist/edit-modes/utils.js +22 -19
- package/dist/edit-modes/view-mode.d.ts +2 -1
- package/dist/edit-modes/view-mode.d.ts.map +1 -0
- package/dist/edit-modes/view-mode.js +4 -1
- package/dist/editable-layers/editable-geojson-layer.d.ts +7 -6
- package/dist/editable-layers/editable-geojson-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-geojson-layer.js +53 -52
- package/dist/editable-layers/editable-h3-cluster-layer.d.ts +3 -2
- package/dist/editable-layers/editable-h3-cluster-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-h3-cluster-layer.js +8 -5
- package/dist/editable-layers/editable-layer.d.ts +7 -6
- package/dist/editable-layers/editable-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-layer.js +18 -15
- package/dist/editable-layers/editable-path-layer.d.ts +2 -1
- package/dist/editable-layers/editable-path-layer.d.ts.map +1 -0
- package/dist/editable-layers/editable-path-layer.js +10 -7
- package/dist/editable-layers/elevated-edit-handle-layer.d.ts +2 -1
- package/dist/editable-layers/elevated-edit-handle-layer.d.ts.map +1 -0
- package/dist/editable-layers/elevated-edit-handle-layer.js +6 -3
- package/dist/editable-layers/junction-scatterplot-layer.d.ts +3 -2
- package/dist/editable-layers/junction-scatterplot-layer.d.ts.map +1 -0
- package/dist/editable-layers/junction-scatterplot-layer.js +10 -7
- package/dist/editable-layers/selection-layer.d.ts +2 -1
- package/dist/editable-layers/selection-layer.d.ts.map +1 -0
- package/dist/editable-layers/selection-layer.js +8 -5
- package/dist/index.cjs +70 -542
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +59 -59
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -54
- package/dist/lib/constants.d.ts +1 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +3 -0
- package/dist/lib/deck-renderer/deck-cache.d.ts +2 -1
- package/dist/lib/deck-renderer/deck-cache.d.ts.map +1 -0
- package/dist/lib/deck-renderer/deck-cache.js +1 -1
- package/dist/lib/deck-renderer/deck-drawer.d.ts +3 -3
- package/dist/lib/deck-renderer/deck-drawer.d.ts.map +1 -0
- package/dist/lib/deck-renderer/deck-drawer.js +12 -12
- package/dist/lib/feature.d.ts +5 -4
- package/dist/lib/feature.d.ts.map +1 -0
- package/dist/lib/feature.js +4 -1
- package/dist/lib/layer-mouse-event.d.ts +3 -2
- package/dist/lib/layer-mouse-event.d.ts.map +1 -0
- package/dist/lib/layer-mouse-event.js +4 -1
- package/dist/lib/layers/junctions-layer.d.ts +5 -4
- package/dist/lib/layers/junctions-layer.d.ts.map +1 -0
- package/dist/lib/layers/junctions-layer.js +10 -7
- package/dist/lib/layers/segments-layer.d.ts +5 -4
- package/dist/lib/layers/segments-layer.d.ts.map +1 -0
- package/dist/lib/layers/segments-layer.js +12 -9
- package/dist/lib/layers/texts-layer.d.ts +4 -3
- package/dist/lib/layers/texts-layer.d.ts.map +1 -0
- package/dist/lib/layers/texts-layer.js +9 -6
- package/dist/lib/math.d.ts +2 -1
- package/dist/lib/math.d.ts.map +1 -0
- package/dist/lib/math.js +3 -0
- package/dist/lib/{nebula.d.ts → nebula-core.d.ts} +3 -2
- package/dist/lib/nebula-core.d.ts.map +1 -0
- package/dist/lib/{nebula.js → nebula-core.js} +7 -4
- package/dist/lib/nebula-layer.d.ts +3 -2
- package/dist/lib/nebula-layer.d.ts.map +1 -0
- package/dist/lib/nebula-layer.js +4 -1
- package/dist/lib/style.d.ts +1 -0
- package/dist/lib/style.d.ts.map +1 -0
- package/dist/lib/style.js +5 -2
- package/dist/mode-handlers/composite-mode-handler.d.ts +4 -3
- package/dist/mode-handlers/composite-mode-handler.d.ts.map +1 -0
- package/dist/mode-handlers/composite-mode-handler.js +1 -1
- package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-90degree-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-90degree-polygon-handler.js +13 -10
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-circle-by-bounding-box-handler.js +5 -2
- package/dist/mode-handlers/draw-circle-from-center-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-circle-from-center-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-circle-from-center-handler.js +4 -1
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-ellipse-by-bounding-box-handler.js +5 -2
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-ellipse-using-three-points-handler.js +7 -4
- package/dist/mode-handlers/draw-line-string-handler.d.ts +3 -2
- package/dist/mode-handlers/draw-line-string-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-line-string-handler.js +8 -5
- package/dist/mode-handlers/draw-point-handler.d.ts +3 -2
- package/dist/mode-handlers/draw-point-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-point-handler.js +5 -2
- package/dist/mode-handlers/draw-polygon-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-polygon-handler.js +10 -7
- package/dist/mode-handlers/draw-rectangle-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-rectangle-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-rectangle-handler.js +4 -1
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts +4 -3
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.d.ts.map +1 -0
- package/dist/mode-handlers/draw-rectangle-using-three-points-handler.js +12 -9
- package/dist/mode-handlers/duplicate-handler.d.ts +4 -3
- package/dist/mode-handlers/duplicate-handler.d.ts.map +1 -0
- package/dist/mode-handlers/duplicate-handler.js +4 -1
- package/dist/mode-handlers/elevation-handler.d.ts +6 -5
- package/dist/mode-handlers/elevation-handler.d.ts.map +1 -0
- package/dist/mode-handlers/elevation-handler.js +10 -7
- package/dist/mode-handlers/extrude-handler.d.ts +4 -3
- package/dist/mode-handlers/extrude-handler.d.ts.map +1 -0
- package/dist/mode-handlers/extrude-handler.js +12 -9
- package/dist/mode-handlers/mode-handler.d.ts +4 -3
- package/dist/mode-handlers/mode-handler.d.ts.map +1 -0
- package/dist/mode-handlers/mode-handler.js +18 -15
- package/dist/mode-handlers/modify-handler.d.ts +5 -4
- package/dist/mode-handlers/modify-handler.d.ts.map +1 -0
- package/dist/mode-handlers/modify-handler.js +18 -15
- package/dist/mode-handlers/rotate-handler.d.ts +4 -3
- package/dist/mode-handlers/rotate-handler.d.ts.map +1 -0
- package/dist/mode-handlers/rotate-handler.js +5 -2
- package/dist/mode-handlers/scale-handler.d.ts +4 -3
- package/dist/mode-handlers/scale-handler.d.ts.map +1 -0
- package/dist/mode-handlers/scale-handler.js +6 -3
- package/dist/mode-handlers/snappable-handler.d.ts +4 -3
- package/dist/mode-handlers/snappable-handler.d.ts.map +1 -0
- package/dist/mode-handlers/snappable-handler.js +6 -3
- package/dist/mode-handlers/split-polygon-handler.d.ts +3 -2
- package/dist/mode-handlers/split-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/split-polygon-handler.js +12 -9
- package/dist/mode-handlers/three-click-polygon-handler.d.ts +3 -2
- package/dist/mode-handlers/three-click-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/three-click-polygon-handler.js +4 -1
- package/dist/mode-handlers/translate-handler.d.ts +4 -3
- package/dist/mode-handlers/translate-handler.d.ts.map +1 -0
- package/dist/mode-handlers/translate-handler.js +5 -2
- package/dist/mode-handlers/two-click-polygon-handler.d.ts +3 -2
- package/dist/mode-handlers/two-click-polygon-handler.d.ts.map +1 -0
- package/dist/mode-handlers/two-click-polygon-handler.js +4 -1
- package/dist/mode-handlers/view-handler.d.ts +3 -2
- package/dist/mode-handlers/view-handler.d.ts.map +1 -0
- package/dist/mode-handlers/view-handler.js +4 -1
- package/dist/shaderlib/color/color.d.ts +8 -6
- package/dist/shaderlib/color/color.d.ts.map +1 -0
- package/dist/shaderlib/color/color.js +7 -4
- package/dist/shaderlib/utils/utils.d.ts +3 -2
- package/dist/shaderlib/utils/utils.d.ts.map +1 -0
- package/dist/shaderlib/utils/utils.js +5 -2
- package/dist/{curve-utils.d.ts → utils/curve-utils.d.ts} +1 -0
- package/dist/utils/curve-utils.d.ts.map +1 -0
- package/dist/{curve-utils.js → utils/curve-utils.js} +7 -4
- package/dist/{geojson-types.d.ts → utils/geojson-types.d.ts} +3 -25
- package/dist/utils/geojson-types.d.ts.map +1 -0
- package/dist/utils/geojson-types.js +4 -0
- package/dist/{memoize.d.ts → utils/memoize.d.ts} +2 -1
- package/dist/utils/memoize.d.ts.map +1 -0
- package/dist/{memoize.js → utils/memoize.js} +4 -1
- package/dist/{translateFromCenter.d.ts → utils/translate-from-center.d.ts} +1 -0
- package/dist/utils/translate-from-center.d.ts.map +1 -0
- package/dist/{translateFromCenter.js → utils/translate-from-center.js} +7 -4
- package/dist/{types.d.ts → utils/types.d.ts} +1 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +4 -0
- package/dist/{utils.d.ts → utils/utils.d.ts} +5 -4
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/{utils.js → utils/utils.js} +11 -9
- package/package.json +11 -10
- package/src/constants.ts +5 -1
- package/src/edit-modes/composite-mode.ts +9 -5
- package/src/edit-modes/draw-90degree-polygon-mode.ts +38 -34
- package/src/edit-modes/draw-circle-by-diameter-mode.ts +16 -12
- package/src/edit-modes/draw-circle-from-center-mode.ts +15 -11
- package/src/edit-modes/draw-ellipse-by-bounding-box-mode.ts +8 -4
- package/src/edit-modes/draw-ellipse-using-three-points-mode.ts +9 -5
- package/src/edit-modes/draw-line-string-mode.ts +29 -25
- package/src/edit-modes/draw-point-mode.ts +13 -9
- package/src/edit-modes/draw-polygon-by-dragging-mode.ts +16 -16
- package/src/edit-modes/draw-polygon-mode.ts +28 -23
- package/src/edit-modes/draw-rectangle-from-center-mode.ts +6 -2
- package/src/edit-modes/draw-rectangle-mode.ts +6 -2
- package/src/edit-modes/draw-rectangle-using-three-points-mode.ts +12 -8
- package/src/edit-modes/draw-square-from-center-mode.ts +7 -3
- package/src/edit-modes/draw-square-mode.ts +7 -3
- package/src/edit-modes/duplicate-mode.ts +7 -3
- package/src/edit-modes/edit-mode.ts +5 -1
- package/src/edit-modes/elevation-mode.ts +13 -9
- package/src/edit-modes/extend-line-string-mode.ts +16 -12
- package/src/edit-modes/extrude-mode.ts +22 -18
- package/src/edit-modes/geojson-edit-mode.ts +37 -33
- package/src/edit-modes/immutable-feature-collection.ts +28 -22
- package/src/edit-modes/measure-angle-mode.ts +66 -59
- package/src/edit-modes/measure-area-mode.ts +13 -10
- package/src/edit-modes/measure-distance-mode.ts +37 -33
- package/src/edit-modes/modify-mode.ts +36 -32
- package/src/edit-modes/resize-circle-mode.ts +8 -5
- package/src/edit-modes/rotate-mode.ts +22 -18
- package/src/edit-modes/scale-mode.ts +29 -23
- package/src/edit-modes/snappable-mode.ts +19 -15
- package/src/edit-modes/split-polygon-mode.ts +25 -21
- package/src/edit-modes/three-click-polygon-mode.ts +15 -11
- package/src/edit-modes/transform-mode.ts +15 -11
- package/src/edit-modes/translate-mode.ts +15 -11
- package/src/edit-modes/two-click-polygon-mode.ts +15 -11
- package/src/edit-modes/types.ts +5 -1
- package/src/edit-modes/utils.ts +35 -30
- package/src/edit-modes/view-mode.ts +5 -1
- package/src/editable-layers/editable-geojson-layer.ts +44 -41
- package/src/editable-layers/editable-h3-cluster-layer.ts +17 -14
- package/src/editable-layers/editable-layer.ts +42 -32
- package/src/editable-layers/editable-path-layer.ts +12 -8
- package/src/editable-layers/elevated-edit-handle-layer.ts +11 -7
- package/src/editable-layers/junction-scatterplot-layer.ts +15 -11
- package/src/editable-layers/selection-layer.ts +11 -7
- package/src/index.ts +68 -65
- package/src/lib/constants.ts +4 -0
- package/src/lib/deck-renderer/deck-cache.ts +1 -1
- package/src/lib/deck-renderer/deck-drawer.ts +28 -28
- package/src/lib/feature.ts +7 -3
- package/src/lib/layer-mouse-event.ts +7 -6
- package/src/lib/layers/junctions-layer.ts +14 -10
- package/src/lib/layers/segments-layer.ts +24 -20
- package/src/lib/layers/texts-layer.ts +18 -14
- package/src/lib/math.ts +5 -1
- package/src/lib/{nebula.ts → nebula-core.ts} +8 -4
- package/src/lib/nebula-layer.ts +9 -5
- package/src/lib/style.ts +6 -2
- package/src/mode-handlers/composite-mode-handler.ts +6 -6
- package/src/mode-handlers/draw-90degree-polygon-handler.ts +22 -18
- package/src/mode-handlers/draw-circle-by-bounding-box-handler.ts +10 -6
- package/src/mode-handlers/draw-circle-from-center-handler.ts +10 -6
- package/src/mode-handlers/draw-ellipse-by-bounding-box-handler.ts +9 -5
- package/src/mode-handlers/draw-ellipse-using-three-points-handler.ts +12 -8
- package/src/mode-handlers/draw-line-string-handler.ts +12 -8
- package/src/mode-handlers/draw-point-handler.ts +9 -5
- package/src/mode-handlers/draw-polygon-handler.ts +16 -12
- package/src/mode-handlers/draw-rectangle-handler.ts +8 -4
- package/src/mode-handlers/draw-rectangle-using-three-points-handler.ts +17 -13
- package/src/mode-handlers/duplicate-handler.ts +8 -4
- package/src/mode-handlers/elevation-handler.ts +14 -10
- package/src/mode-handlers/extrude-handler.ts +15 -11
- package/src/mode-handlers/mode-handler.ts +26 -28
- package/src/mode-handlers/modify-handler.ts +29 -25
- package/src/mode-handlers/rotate-handler.ts +13 -17
- package/src/mode-handlers/scale-handler.ts +13 -13
- package/src/mode-handlers/snappable-handler.ts +28 -24
- package/src/mode-handlers/split-polygon-handler.ts +22 -18
- package/src/mode-handlers/three-click-polygon-handler.ts +6 -2
- package/src/mode-handlers/translate-handler.ts +12 -8
- package/src/mode-handlers/two-click-polygon-handler.ts +6 -2
- package/src/mode-handlers/view-handler.ts +7 -3
- package/src/shaderlib/color/color.ts +10 -5
- package/src/shaderlib/utils/utils.ts +6 -2
- package/src/{curve-utils.ts → utils/curve-utils.ts} +11 -7
- package/src/{geojson-types.ts → utils/geojson-types.ts} +16 -31
- package/src/{memoize.ts → utils/memoize.ts} +5 -1
- package/src/{translateFromCenter.ts → utils/translate-from-center.ts} +12 -8
- package/src/{types.ts → utils/types.ts} +4 -0
- package/src/{utils.ts → utils/utils.ts} +17 -14
- package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.d.ts +0 -4
- package/dist/editable-layers/path-marker-layer/arrow-2d-geometry.js +0 -55
- package/dist/editable-layers/path-marker-layer/create-path-markers.d.ts +0 -16
- package/dist/editable-layers/path-marker-layer/create-path-markers.js +0 -75
- package/dist/editable-layers/path-marker-layer/path-marker-layer.d.ts +0 -40
- package/dist/editable-layers/path-marker-layer/path-marker-layer.js +0 -121
- package/dist/editable-layers/path-marker-layer/polyline.d.ts +0 -18
- package/dist/editable-layers/path-marker-layer/polyline.js +0 -37
- package/dist/editable-layers/path-outline-layer/path-outline-layer.d.ts +0 -26
- package/dist/editable-layers/path-outline-layer/path-outline-layer.js +0 -106
- package/dist/geojson-types.js +0 -2
- package/dist/shaderlib/outline/outline.d.ts +0 -8
- package/dist/shaderlib/outline/outline.js +0 -97
- package/dist/types.js +0 -1
- package/src/editable-layers/path-marker-layer/arrow-2d-geometry.ts +0 -61
- package/src/editable-layers/path-marker-layer/create-path-markers.ts +0 -107
- package/src/editable-layers/path-marker-layer/path-marker-layer.ts +0 -179
- package/src/editable-layers/path-marker-layer/polyline.ts +0 -40
- package/src/editable-layers/path-outline-layer/path-outline-layer.ts +0 -147
- package/src/shaderlib/outline/outline.ts +0 -101
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
2
5
|
export class DrawPointMode extends GeoJsonEditMode {
|
|
3
6
|
createTentativeFeature(props) {
|
|
4
7
|
const { lastPointerMoveEvent } = props;
|
|
@@ -6,18 +9,18 @@ export class DrawPointMode extends GeoJsonEditMode {
|
|
|
6
9
|
return {
|
|
7
10
|
type: 'Feature',
|
|
8
11
|
properties: {
|
|
9
|
-
guideType: 'tentative'
|
|
12
|
+
guideType: 'tentative'
|
|
10
13
|
},
|
|
11
14
|
geometry: {
|
|
12
15
|
type: 'Point',
|
|
13
|
-
coordinates: lastCoords[0]
|
|
14
|
-
}
|
|
16
|
+
coordinates: lastCoords[0]
|
|
17
|
+
}
|
|
15
18
|
};
|
|
16
19
|
}
|
|
17
20
|
handleClick({ mapCoords }, props) {
|
|
18
21
|
const geometry = {
|
|
19
22
|
type: 'Point',
|
|
20
|
-
coordinates: mapCoords
|
|
23
|
+
coordinates: mapCoords
|
|
21
24
|
};
|
|
22
25
|
props.onEdit(this.getAddFeatureAction(geometry, props.data));
|
|
23
26
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps } from
|
|
2
|
-
import { FeatureCollection } from
|
|
3
|
-
import { DrawPolygonMode } from
|
|
1
|
+
import { ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, ModeProps } from "./types.js";
|
|
2
|
+
import { FeatureCollection } from "../utils/geojson-types.js";
|
|
3
|
+
import { DrawPolygonMode } from "./draw-polygon-mode.js";
|
|
4
4
|
type DraggingHandler = (event: DraggingEvent, props: ModeProps<FeatureCollection>) => void;
|
|
5
5
|
export declare class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
6
6
|
handleDraggingThrottled: DraggingHandler | null | undefined;
|
|
@@ -12,3 +12,4 @@ export declare class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
|
12
12
|
handleKeyUp(event: KeyboardEvent, props: ModeProps<FeatureCollection>): void;
|
|
13
13
|
}
|
|
14
14
|
export {};
|
|
15
|
+
//# sourceMappingURL=draw-polygon-by-dragging-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw-polygon-by-dragging-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-polygon-by-dragging-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAC,mBAAgB;AACpG,OAAO,EAAU,iBAAiB,EAAC,kCAA+B;AAElE,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAEpD,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;AAE3F,qBAAa,yBAA0B,SAAQ,eAAe;IAC5D,uBAAuB,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAQ;IAEnE,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAIlE,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAWlF,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAwBhF,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAiB3E,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAMxE,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CA4BtE"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import throttle from 'lodash.throttle';
|
|
2
|
-
import { getPickedEditHandle } from
|
|
3
|
-
import { DrawPolygonMode } from
|
|
5
|
+
import { getPickedEditHandle } from "./utils.js";
|
|
6
|
+
import { DrawPolygonMode } from "./draw-polygon-mode.js";
|
|
4
7
|
export class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
5
8
|
handleDraggingThrottled = null;
|
|
6
9
|
handleClick(event, props) {
|
|
@@ -9,9 +12,11 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
|
9
12
|
handleStartDragging(event, props) {
|
|
10
13
|
event.cancelPan();
|
|
11
14
|
if (props.modeConfig && props.modeConfig.throttleMs) {
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
12
16
|
this.handleDraggingThrottled = throttle(this.handleDraggingAux, props.modeConfig.throttleMs);
|
|
13
17
|
}
|
|
14
18
|
else {
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
15
20
|
this.handleDraggingThrottled = this.handleDraggingAux;
|
|
16
21
|
}
|
|
17
22
|
}
|
|
@@ -27,7 +32,7 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
|
27
32
|
// Complete the polygon.
|
|
28
33
|
const polygonToAdd = {
|
|
29
34
|
type: 'Polygon',
|
|
30
|
-
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
35
|
+
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
31
36
|
};
|
|
32
37
|
const editAction = this.getAddFeatureOrBooleanPolygonAction(polygonToAdd, props);
|
|
33
38
|
if (editAction) {
|
|
@@ -46,8 +51,8 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
|
46
51
|
updatedData: props.data,
|
|
47
52
|
editType: 'addTentativePosition',
|
|
48
53
|
editContext: {
|
|
49
|
-
position: event.mapCoords
|
|
50
|
-
}
|
|
54
|
+
position: event.mapCoords
|
|
55
|
+
}
|
|
51
56
|
});
|
|
52
57
|
}
|
|
53
58
|
}
|
|
@@ -62,7 +67,7 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
|
62
67
|
if (clickSequence.length > 2) {
|
|
63
68
|
const polygonToAdd = {
|
|
64
69
|
type: 'Polygon',
|
|
65
|
-
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
70
|
+
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
66
71
|
};
|
|
67
72
|
this.resetClickSequence();
|
|
68
73
|
const editAction = this.getAddFeatureOrBooleanPolygonAction(polygonToAdd, props);
|
|
@@ -80,7 +85,7 @@ export class DrawPolygonByDraggingMode extends DrawPolygonMode {
|
|
|
80
85
|
// Because the new drawing feature is dropped, so the data will keep as the same.
|
|
81
86
|
updatedData: props.data,
|
|
82
87
|
editType: 'cancelFeature',
|
|
83
|
-
editContext: {}
|
|
88
|
+
editContext: {}
|
|
84
89
|
});
|
|
85
90
|
}
|
|
86
91
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from
|
|
2
|
-
import { FeatureCollection } from
|
|
3
|
-
import { GeoJsonEditMode } from
|
|
1
|
+
import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection, TentativeFeature } from "./types.js";
|
|
2
|
+
import { FeatureCollection } from "../utils/geojson-types.js";
|
|
3
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
4
4
|
export declare class DrawPolygonMode extends GeoJsonEditMode {
|
|
5
5
|
createTentativeFeature(props: ModeProps<FeatureCollection>): TentativeFeature;
|
|
6
6
|
getGuides(props: ModeProps<FeatureCollection>): GuideFeatureCollection;
|
|
@@ -8,3 +8,4 @@ export declare class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
8
8
|
handleKeyUp(event: KeyboardEvent, props: ModeProps<FeatureCollection>): void;
|
|
9
9
|
handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
|
|
10
10
|
}
|
|
11
|
+
//# sourceMappingURL=draw-polygon-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw-polygon-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-polygon-mode.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,sBAAsB,EACtB,gBAAgB,EAEjB,mBAAgB;AACjB,OAAO,EAAU,iBAAiB,EAAC,kCAA+B;AAElE,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAEpD,qBAAa,eAAgB,SAAQ,eAAe;IAClD,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,gBAAgB;IAkC7E,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;IAiCtE,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IA2DlE,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IA0BrE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CAI/E"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import lineIntersect from '@turf/line-intersect';
|
|
2
5
|
import { lineString as turfLineString } from '@turf/helpers';
|
|
3
|
-
import { getPickedEditHandle } from
|
|
4
|
-
import { GeoJsonEditMode } from
|
|
6
|
+
import { getPickedEditHandle } from "./utils.js";
|
|
7
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
5
8
|
export class DrawPolygonMode extends GeoJsonEditMode {
|
|
6
9
|
createTentativeFeature(props) {
|
|
7
10
|
const { lastPointerMoveEvent } = props;
|
|
@@ -12,24 +15,24 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
12
15
|
tentativeFeature = {
|
|
13
16
|
type: 'Feature',
|
|
14
17
|
properties: {
|
|
15
|
-
guideType: 'tentative'
|
|
18
|
+
guideType: 'tentative'
|
|
16
19
|
},
|
|
17
20
|
geometry: {
|
|
18
21
|
type: 'LineString',
|
|
19
|
-
coordinates: [...clickSequence, ...lastCoords]
|
|
20
|
-
}
|
|
22
|
+
coordinates: [...clickSequence, ...lastCoords]
|
|
23
|
+
}
|
|
21
24
|
};
|
|
22
25
|
}
|
|
23
26
|
else if (clickSequence.length > 2) {
|
|
24
27
|
tentativeFeature = {
|
|
25
28
|
type: 'Feature',
|
|
26
29
|
properties: {
|
|
27
|
-
guideType: 'tentative'
|
|
30
|
+
guideType: 'tentative'
|
|
28
31
|
},
|
|
29
32
|
geometry: {
|
|
30
33
|
type: 'Polygon',
|
|
31
|
-
coordinates: [[...clickSequence, ...lastCoords, clickSequence[0]]]
|
|
32
|
-
}
|
|
34
|
+
coordinates: [[...clickSequence, ...lastCoords, clickSequence[0]]]
|
|
35
|
+
}
|
|
33
36
|
};
|
|
34
37
|
}
|
|
35
38
|
return tentativeFeature;
|
|
@@ -38,7 +41,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
38
41
|
const clickSequence = this.getClickSequence();
|
|
39
42
|
const guides = {
|
|
40
43
|
type: 'FeatureCollection',
|
|
41
|
-
features: []
|
|
44
|
+
features: []
|
|
42
45
|
};
|
|
43
46
|
const tentativeFeature = this.createTentativeFeature(props);
|
|
44
47
|
if (tentativeFeature) {
|
|
@@ -50,16 +53,17 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
50
53
|
guideType: 'editHandle',
|
|
51
54
|
editHandleType: 'existing',
|
|
52
55
|
featureIndex: -1,
|
|
53
|
-
positionIndexes: [index]
|
|
56
|
+
positionIndexes: [index]
|
|
54
57
|
},
|
|
55
58
|
geometry: {
|
|
56
59
|
type: 'Point',
|
|
57
|
-
coordinates: clickedCoord
|
|
58
|
-
}
|
|
60
|
+
coordinates: clickedCoord
|
|
61
|
+
}
|
|
59
62
|
}));
|
|
60
63
|
guides.features.push(...editHandles);
|
|
61
64
|
return guides;
|
|
62
65
|
}
|
|
66
|
+
// eslint-disable-next-line complexity
|
|
63
67
|
handleClick(event, props) {
|
|
64
68
|
const { picks } = event;
|
|
65
69
|
const clickedEditHandle = getPickedEditHandle(picks);
|
|
@@ -68,7 +72,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
68
72
|
if (clickSequence.length > 2 && props.modeConfig && props.modeConfig.preventOverlappingLines) {
|
|
69
73
|
const currentLine = turfLineString([
|
|
70
74
|
clickSequence[clickSequence.length - 1],
|
|
71
|
-
event.mapCoords
|
|
75
|
+
event.mapCoords
|
|
72
76
|
]);
|
|
73
77
|
const otherLines = turfLineString([...clickSequence.slice(0, clickSequence.length - 1)]);
|
|
74
78
|
const intersectingPoints = lineIntersect(currentLine, otherLines);
|
|
@@ -91,7 +95,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
91
95
|
// Remove the hovered position
|
|
92
96
|
const polygonToAdd = {
|
|
93
97
|
type: 'Polygon',
|
|
94
|
-
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
98
|
+
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
95
99
|
};
|
|
96
100
|
this.resetClickSequence();
|
|
97
101
|
const editAction = this.getAddFeatureOrBooleanPolygonAction(polygonToAdd, props);
|
|
@@ -106,8 +110,8 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
106
110
|
updatedData: props.data,
|
|
107
111
|
editType: 'addTentativePosition',
|
|
108
112
|
editContext: {
|
|
109
|
-
position: event.mapCoords
|
|
110
|
-
}
|
|
113
|
+
position: event.mapCoords
|
|
114
|
+
}
|
|
111
115
|
});
|
|
112
116
|
}
|
|
113
117
|
}
|
|
@@ -117,7 +121,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
117
121
|
if (clickSequence.length > 2) {
|
|
118
122
|
const polygonToAdd = {
|
|
119
123
|
type: 'Polygon',
|
|
120
|
-
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
124
|
+
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
121
125
|
};
|
|
122
126
|
this.resetClickSequence();
|
|
123
127
|
const editAction = this.getAddFeatureOrBooleanPolygonAction(polygonToAdd, props);
|
|
@@ -132,7 +136,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
132
136
|
// Because the new drawing feature is dropped, so the data will keep as the same.
|
|
133
137
|
updatedData: props.data,
|
|
134
138
|
editType: 'cancelFeature',
|
|
135
|
-
editContext: {}
|
|
139
|
+
editContext: {}
|
|
136
140
|
});
|
|
137
141
|
}
|
|
138
142
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Position, Polygon, FeatureOf } from
|
|
2
|
-
import { TwoClickPolygonMode } from
|
|
1
|
+
import { Position, Polygon, FeatureOf } from "../utils/geojson-types.js";
|
|
2
|
+
import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
|
|
3
3
|
export declare class DrawRectangleFromCenterMode extends TwoClickPolygonMode {
|
|
4
4
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
|
|
5
5
|
}
|
|
6
|
+
//# sourceMappingURL=draw-rectangle-from-center-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw-rectangle-from-center-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-from-center-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,kCAA+B;AACpE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,2BAA4B,SAAQ,mBAAmB;IAClE,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;CAiB5F"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
2
|
-
import { TwoClickPolygonMode } from
|
|
5
|
+
import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
|
|
3
6
|
export class DrawRectangleFromCenterMode extends TwoClickPolygonMode {
|
|
4
7
|
getTwoClickPolygon(coord1, coord2, modeConfig) {
|
|
5
8
|
const longitude = coord1[0] > coord2[0]
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Position, Polygon, FeatureOf } from
|
|
2
|
-
import { TwoClickPolygonMode } from
|
|
1
|
+
import { Position, Polygon, FeatureOf } from "../utils/geojson-types.js";
|
|
2
|
+
import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
|
|
3
3
|
export declare class DrawRectangleMode extends TwoClickPolygonMode {
|
|
4
4
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
|
|
5
5
|
}
|
|
6
|
+
//# sourceMappingURL=draw-rectangle-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw-rectangle-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,kCAA+B;AACpE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,iBAAkB,SAAQ,mBAAmB;IACxD,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;CAQ5F"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
2
|
-
import { TwoClickPolygonMode } from
|
|
5
|
+
import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
|
|
3
6
|
export class DrawRectangleMode extends TwoClickPolygonMode {
|
|
4
7
|
getTwoClickPolygon(coord1, coord2, modeConfig) {
|
|
5
8
|
const rectangle = bboxPolygon([coord1[0], coord1[1], coord2[0], coord2[1]]);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Position, Polygon, FeatureOf } from
|
|
2
|
-
import { ThreeClickPolygonMode } from
|
|
1
|
+
import { Position, Polygon, FeatureOf } from "../utils/geojson-types.js";
|
|
2
|
+
import { ThreeClickPolygonMode } from "./three-click-polygon-mode.js";
|
|
3
3
|
export declare class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
4
4
|
getThreeClickPolygon(coord1: Position, coord2: Position, coord3: Position, modeConfig: any): FeatureOf<Polygon> | null | undefined;
|
|
5
5
|
}
|
|
6
|
+
//# sourceMappingURL=draw-rectangle-using-three-points-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw-rectangle-using-three-points-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-rectangle-using-three-points-mode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,kCAA+B;AACpE,OAAO,EAAC,qBAAqB,EAAC,sCAAmC;AAEjE,qBAAa,iCAAkC,SAAQ,qBAAqB;IAC1E,oBAAoB,CAClB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,UAAU,EAAE,GAAG,GACd,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS;CAyBzC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { generatePointsParallelToLinePoints } from "./utils.js";
|
|
5
|
+
import { ThreeClickPolygonMode } from "./three-click-polygon-mode.js";
|
|
3
6
|
export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
4
7
|
getThreeClickPolygon(coord1, coord2, coord3, modeConfig) {
|
|
5
8
|
const [p3, p4] = generatePointsParallelToLinePoints(coord1, coord2, coord3);
|
|
6
9
|
return {
|
|
7
10
|
type: 'Feature',
|
|
8
11
|
properties: {
|
|
9
|
-
shape: 'Rectangle'
|
|
12
|
+
shape: 'Rectangle'
|
|
10
13
|
},
|
|
11
14
|
geometry: {
|
|
12
15
|
type: 'Polygon',
|
|
@@ -19,10 +22,10 @@ export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
|
19
22
|
coord2,
|
|
20
23
|
p3,
|
|
21
24
|
p4,
|
|
22
|
-
coord1
|
|
23
|
-
]
|
|
24
|
-
]
|
|
25
|
-
}
|
|
25
|
+
coord1
|
|
26
|
+
]
|
|
27
|
+
]
|
|
28
|
+
}
|
|
26
29
|
};
|
|
27
30
|
}
|
|
28
31
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Position, Polygon, FeatureOf } from
|
|
2
|
-
import { TwoClickPolygonMode } from
|
|
1
|
+
import { Position, Polygon, FeatureOf } from "../utils/geojson-types.js";
|
|
2
|
+
import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
|
|
3
3
|
export declare class DrawSquareFromCenterMode extends TwoClickPolygonMode {
|
|
4
4
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
|
|
5
5
|
}
|
|
6
|
+
//# sourceMappingURL=draw-square-from-center-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw-square-from-center-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-square-from-center-mode.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,kCAA+B;AACpE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,wBAAyB,SAAQ,mBAAmB;IAC/D,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;CAqC5F"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
2
5
|
import turfDistance from '@turf/distance';
|
|
3
6
|
import turfAlong from '@turf/along';
|
|
4
7
|
import { point, lineString as turfLineString } from '@turf/helpers';
|
|
5
|
-
import { TwoClickPolygonMode } from
|
|
8
|
+
import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
|
|
6
9
|
export class DrawSquareFromCenterMode extends TwoClickPolygonMode {
|
|
7
10
|
getTwoClickPolygon(coord1, coord2, modeConfig) {
|
|
8
11
|
// get the coordinates of the other two rectangle vertices
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Position, Polygon, FeatureOf } from
|
|
2
|
-
import { TwoClickPolygonMode } from
|
|
1
|
+
import { Position, Polygon, FeatureOf } from "../utils/geojson-types.js";
|
|
2
|
+
import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
|
|
3
3
|
export declare class DrawSquareMode extends TwoClickPolygonMode {
|
|
4
4
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon>;
|
|
5
5
|
}
|
|
6
|
+
//# sourceMappingURL=draw-square-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw-square-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/draw-square-mode.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,kCAA+B;AACpE,OAAO,EAAC,mBAAmB,EAAC,oCAAiC;AAE7D,qBAAa,cAAe,SAAQ,mBAAmB;IACrD,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;CA2B5F"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
2
5
|
import turfDistance from '@turf/distance';
|
|
3
6
|
import turfAlong from '@turf/along';
|
|
4
7
|
import { point, lineString as turfLineString } from '@turf/helpers';
|
|
5
|
-
import { TwoClickPolygonMode } from
|
|
8
|
+
import { TwoClickPolygonMode } from "./two-click-polygon-mode.js";
|
|
6
9
|
export class DrawSquareMode extends TwoClickPolygonMode {
|
|
7
10
|
getTwoClickPolygon(coord1, coord2, modeConfig) {
|
|
8
11
|
// get the coordinates of the other two rectangle vertices
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { StartDraggingEvent, ModeProps } from
|
|
2
|
-
import { FeatureCollection } from
|
|
3
|
-
import { TranslateMode } from
|
|
1
|
+
import { StartDraggingEvent, ModeProps } from "./types.js";
|
|
2
|
+
import { FeatureCollection } from "../utils/geojson-types.js";
|
|
3
|
+
import { TranslateMode } from "./translate-mode.js";
|
|
4
4
|
export declare class DuplicateMode extends TranslateMode {
|
|
5
5
|
handleStartDragging(event: StartDraggingEvent, props: ModeProps<FeatureCollection>): void;
|
|
6
6
|
updateCursor(props: ModeProps<FeatureCollection>): void;
|
|
7
7
|
}
|
|
8
|
+
//# sourceMappingURL=duplicate-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duplicate-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/duplicate-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,kBAAkB,EAAE,SAAS,EAAC,mBAAgB;AACtD,OAAO,EAAC,iBAAiB,EAAC,kCAA+B;AACzD,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAE/C,qBAAa,aAAc,SAAQ,aAAa;IAC9C,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAQlF,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CAOjD"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { TranslateMode } from "./translate-mode.js";
|
|
2
5
|
export class DuplicateMode extends TranslateMode {
|
|
3
6
|
handleStartDragging(event, props) {
|
|
4
7
|
super.handleStartDragging(event, props);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClickEvent, PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, Tooltip, ModeProps } from
|
|
1
|
+
import { ClickEvent, PointerMoveEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, Tooltip, ModeProps } from "./types.js";
|
|
2
2
|
export interface EditMode<TData, TGuides> {
|
|
3
3
|
handleClick(event: ClickEvent, props: ModeProps<TData>): void;
|
|
4
4
|
handlePointerMove(event: PointerMoveEvent, props: ModeProps<TData>): void;
|
|
@@ -9,3 +9,4 @@ export interface EditMode<TData, TGuides> {
|
|
|
9
9
|
getGuides(props: ModeProps<TData>): TGuides | undefined;
|
|
10
10
|
getTooltips(props: ModeProps<TData>): Tooltip[];
|
|
11
11
|
}
|
|
12
|
+
//# sourceMappingURL=edit-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/edit-mode.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,SAAS,EACV,mBAAgB;AAEjB,MAAM,WAAW,QAAQ,CAAC,KAAK,EAAE,OAAO;IAEtC,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAE9D,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAE1E,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAE9E,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAE5E,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAEpE,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAEjE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC;IAExD,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,EAAE,CAAC;CACjD"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { ModeProps, PointerMoveEvent, StopDraggingEvent } from
|
|
2
|
-
import { Position, FeatureCollection } from
|
|
3
|
-
import { ModifyMode } from
|
|
1
|
+
import { ModeProps, PointerMoveEvent, StopDraggingEvent } from "./types.js";
|
|
2
|
+
import { Position, FeatureCollection } from "../utils/geojson-types.js";
|
|
3
|
+
import { ModifyMode } from "./modify-mode.js";
|
|
4
4
|
export declare class ElevationMode extends ModifyMode {
|
|
5
5
|
makeElevatedEvent(event: PointerMoveEvent | StopDraggingEvent, position: Position, props: ModeProps<FeatureCollection>): Record<string, any>;
|
|
6
6
|
handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
|
|
7
7
|
handleStopDragging(event: StopDraggingEvent, props: ModeProps<FeatureCollection>): void;
|
|
8
8
|
getCursor(event: PointerMoveEvent): string | null | undefined;
|
|
9
|
-
static calculateElevationChangeWithViewport(viewport: any, { pointerDownScreenCoords, screenCoords
|
|
9
|
+
static calculateElevationChangeWithViewport(viewport: any, { pointerDownScreenCoords, screenCoords }: {
|
|
10
10
|
pointerDownScreenCoords: Position;
|
|
11
11
|
screenCoords: Position;
|
|
12
12
|
}): number;
|
|
13
13
|
}
|
|
14
|
+
//# sourceMappingURL=elevation-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elevation-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/elevation-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAC,mBAAgB;AACvE,OAAO,EAAC,QAAQ,EAAE,iBAAiB,EAAC,kCAA+B;AAEnE,OAAO,EAAC,UAAU,EAAC,yBAAsB;AAYzC,qBAAa,aAAc,SAAQ,UAAU;IAC3C,iBAAiB,CACf,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,EAC3C,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA2BtB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAO9E,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAOhF,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;IAQ7D,MAAM,CAAC,oCAAoC,CACzC,QAAQ,EAAE,GAAG,EACb,EACE,uBAAuB,EACvB,YAAY,EACb,EAAE;QACD,uBAAuB,EAAE,QAAQ,CAAC;QAClC,YAAY,EAAE,QAAQ,CAAC;KACxB,GACA,MAAM;CAOV"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { getPickedEditHandle } from "./utils.js";
|
|
5
|
+
import { ModifyMode } from "./modify-mode.js";
|
|
6
|
+
function defaultCalculateElevationChange({ pointerDownScreenCoords, screenCoords }) {
|
|
4
7
|
return 10 * (pointerDownScreenCoords[1] - screenCoords[1]);
|
|
5
8
|
}
|
|
6
9
|
export class ElevationMode extends ModifyMode {
|
|
7
10
|
makeElevatedEvent(event, position, props) {
|
|
8
|
-
const { minElevation = 0, maxElevation = 20000, calculateElevationChange = defaultCalculateElevationChange
|
|
11
|
+
const { minElevation = 0, maxElevation = 20000, calculateElevationChange = defaultCalculateElevationChange } = props.modeConfig || {};
|
|
9
12
|
if (!event.pointerDownScreenCoords) {
|
|
10
13
|
return event;
|
|
11
14
|
}
|
|
@@ -14,12 +17,12 @@ export class ElevationMode extends ModifyMode {
|
|
|
14
17
|
// calculateElevationChange is configurable because (at this time) modes are not aware of the viewport
|
|
15
18
|
elevation += calculateElevationChange({
|
|
16
19
|
pointerDownScreenCoords: event.pointerDownScreenCoords,
|
|
17
|
-
screenCoords: event.screenCoords
|
|
20
|
+
screenCoords: event.screenCoords
|
|
18
21
|
});
|
|
19
22
|
elevation = Math.min(elevation, maxElevation);
|
|
20
23
|
elevation = Math.max(elevation, minElevation);
|
|
21
24
|
return Object.assign({}, event, {
|
|
22
|
-
mapCoords: [position[0], position[1], elevation]
|
|
25
|
+
mapCoords: [position[0], position[1], elevation]
|
|
23
26
|
});
|
|
24
27
|
}
|
|
25
28
|
handlePointerMove(event, props) {
|
|
@@ -41,7 +44,7 @@ export class ElevationMode extends ModifyMode {
|
|
|
41
44
|
}
|
|
42
45
|
return cursor;
|
|
43
46
|
}
|
|
44
|
-
static calculateElevationChangeWithViewport(viewport, { pointerDownScreenCoords, screenCoords
|
|
47
|
+
static calculateElevationChangeWithViewport(viewport, { pointerDownScreenCoords, screenCoords }) {
|
|
45
48
|
// Source: https://gis.stackexchange.com/a/127949/111804
|
|
46
49
|
const metersPerPixel = (156543.03392 * Math.cos((viewport.latitude * Math.PI) / 180)) / Math.pow(2, viewport.zoom);
|
|
47
50
|
return (metersPerPixel * (pointerDownScreenCoords[1] - screenCoords[1])) / 2;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { LineString, FeatureCollection } from
|
|
2
|
-
import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection } from
|
|
3
|
-
import { GeoJsonEditMode } from
|
|
1
|
+
import { LineString, FeatureCollection } from "../utils/geojson-types.js";
|
|
2
|
+
import { ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection } from "./types.js";
|
|
3
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
4
4
|
export declare class ExtendLineStringMode extends GeoJsonEditMode {
|
|
5
5
|
getSingleSelectedLineString(props: ModeProps<FeatureCollection>): LineString | null | undefined;
|
|
6
6
|
handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>): void;
|
|
7
7
|
getGuides(props: ModeProps<FeatureCollection>): GuideFeatureCollection;
|
|
8
8
|
handlePointerMove(event: PointerMoveEvent, props: ModeProps<FeatureCollection>): void;
|
|
9
9
|
}
|
|
10
|
+
//# sourceMappingURL=extend-line-string-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend-line-string-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/extend-line-string-mode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,UAAU,EAAE,iBAAiB,EAAC,kCAA+B;AAC/E,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,sBAAsB,EAAC,mBAAgB;AACxF,OAAO,EAAC,eAAe,EAAC,+BAA4B;AAGpD,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,2BAA2B,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS;IAS/F,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAgClE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;IAoCtE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;CAG/E"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { GeoJsonEditMode } from "./geojson-edit-mode.js";
|
|
5
|
+
import { ImmutableFeatureCollection } from "./immutable-feature-collection.js";
|
|
3
6
|
export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
4
7
|
getSingleSelectedLineString(props) {
|
|
5
8
|
const selectedGeometry = this.getSelectedGeometry(props);
|
|
@@ -31,14 +34,14 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
|
31
34
|
editContext: {
|
|
32
35
|
featureIndexes: [featureIndex],
|
|
33
36
|
positionIndexes,
|
|
34
|
-
position: event.mapCoords
|
|
35
|
-
}
|
|
37
|
+
position: event.mapCoords
|
|
38
|
+
}
|
|
36
39
|
});
|
|
37
40
|
}
|
|
38
41
|
getGuides(props) {
|
|
39
42
|
const guides = {
|
|
40
43
|
type: 'FeatureCollection',
|
|
41
|
-
features: []
|
|
44
|
+
features: []
|
|
42
45
|
};
|
|
43
46
|
const selectedLineString = this.getSingleSelectedLineString(props);
|
|
44
47
|
if (!selectedLineString) {
|
|
@@ -57,12 +60,12 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
|
57
60
|
guides.features.push({
|
|
58
61
|
type: 'Feature',
|
|
59
62
|
properties: {
|
|
60
|
-
guideType: 'tentative'
|
|
63
|
+
guideType: 'tentative'
|
|
61
64
|
},
|
|
62
65
|
geometry: {
|
|
63
66
|
type: 'LineString',
|
|
64
|
-
coordinates: [startPosition, mapCoords]
|
|
65
|
-
}
|
|
67
|
+
coordinates: [startPosition, mapCoords]
|
|
68
|
+
}
|
|
66
69
|
});
|
|
67
70
|
return guides;
|
|
68
71
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FeatureCollection } from
|
|
2
|
-
import { ModeProps, StartDraggingEvent, StopDraggingEvent, DraggingEvent } from
|
|
3
|
-
import { ModifyMode } from
|
|
1
|
+
import { FeatureCollection } from "../utils/geojson-types.js";
|
|
2
|
+
import { ModeProps, StartDraggingEvent, StopDraggingEvent, DraggingEvent } from "./types.js";
|
|
3
|
+
import { ModifyMode } from "./modify-mode.js";
|
|
4
4
|
export declare class ExtrudeMode extends ModifyMode {
|
|
5
5
|
isPointAdded: boolean;
|
|
6
6
|
handleDragging(event: DraggingEvent, props: ModeProps<FeatureCollection>): void;
|
|
@@ -13,3 +13,4 @@ export declare class ExtrudeMode extends ModifyMode {
|
|
|
13
13
|
prevPositionIndexes(positionIndexes: number[] | null | undefined, size: number): number[];
|
|
14
14
|
getPointForPositionIndexes(positionIndexes: number[] | null | undefined, featureIndex: number, { features }: FeatureCollection): any;
|
|
15
15
|
}
|
|
16
|
+
//# sourceMappingURL=extrude-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extrude-mode.d.ts","sourceRoot":"","sources":["../../src/edit-modes/extrude-mode.ts"],"names":[],"mappings":"AAUA,OAAO,EAAC,iBAAiB,EAAC,kCAA+B;AACzD,OAAO,EAAC,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAC,mBAAgB;AACxF,OAAO,EAAC,UAAU,EAAC,yBAAsB;AAGzC,qBAAa,WAAY,SAAQ,UAAU;IAGzC,YAAY,UAAS;IAErB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI;IA0C/E,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IA8ClF,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;IA0ChF,eAAe,CACb,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAC5C,YAAY,EAAE,MAAM,EACpB,EAAC,QAAQ,EAAC,EAAE,iBAAiB;IAsB/B,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG;IAQ3B,YAAY,CACV,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAC5C,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB;IAwB7B,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAWzF,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAWzF,0BAA0B,CACxB,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAC5C,YAAY,EAAE,MAAM,EACpB,EAAC,QAAQ,EAAC,EAAE,iBAAiB;CAqBhC"}
|