@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,20 +1,24 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
1
5
|
import lineIntersect from '@turf/line-intersect';
|
|
2
|
-
import {
|
|
6
|
+
import {lineString as turfLineString} from '@turf/helpers';
|
|
3
7
|
import {
|
|
4
8
|
ClickEvent,
|
|
5
9
|
PointerMoveEvent,
|
|
6
10
|
ModeProps,
|
|
7
11
|
GuideFeatureCollection,
|
|
8
12
|
TentativeFeature,
|
|
9
|
-
GuideFeature
|
|
13
|
+
GuideFeature
|
|
10
14
|
} from './types';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
15
|
+
import {Polygon, FeatureCollection} from '../utils/geojson-types';
|
|
16
|
+
import {getPickedEditHandle} from './utils';
|
|
17
|
+
import {GeoJsonEditMode} from './geojson-edit-mode';
|
|
14
18
|
|
|
15
19
|
export class DrawPolygonMode extends GeoJsonEditMode {
|
|
16
20
|
createTentativeFeature(props: ModeProps<FeatureCollection>): TentativeFeature {
|
|
17
|
-
const {
|
|
21
|
+
const {lastPointerMoveEvent} = props;
|
|
18
22
|
const clickSequence = this.getClickSequence();
|
|
19
23
|
|
|
20
24
|
const lastCoords = lastPointerMoveEvent ? [lastPointerMoveEvent.mapCoords] : [];
|
|
@@ -24,23 +28,23 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
24
28
|
tentativeFeature = {
|
|
25
29
|
type: 'Feature',
|
|
26
30
|
properties: {
|
|
27
|
-
guideType: 'tentative'
|
|
31
|
+
guideType: 'tentative'
|
|
28
32
|
},
|
|
29
33
|
geometry: {
|
|
30
34
|
type: 'LineString',
|
|
31
|
-
coordinates: [...clickSequence, ...lastCoords]
|
|
32
|
-
}
|
|
35
|
+
coordinates: [...clickSequence, ...lastCoords]
|
|
36
|
+
}
|
|
33
37
|
};
|
|
34
38
|
} else if (clickSequence.length > 2) {
|
|
35
39
|
tentativeFeature = {
|
|
36
40
|
type: 'Feature',
|
|
37
41
|
properties: {
|
|
38
|
-
guideType: 'tentative'
|
|
42
|
+
guideType: 'tentative'
|
|
39
43
|
},
|
|
40
44
|
geometry: {
|
|
41
45
|
type: 'Polygon',
|
|
42
|
-
coordinates: [[...clickSequence, ...lastCoords, clickSequence[0]]]
|
|
43
|
-
}
|
|
46
|
+
coordinates: [[...clickSequence, ...lastCoords, clickSequence[0]]]
|
|
47
|
+
}
|
|
44
48
|
};
|
|
45
49
|
}
|
|
46
50
|
|
|
@@ -52,7 +56,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
52
56
|
|
|
53
57
|
const guides: GuideFeatureCollection = {
|
|
54
58
|
type: 'FeatureCollection',
|
|
55
|
-
features: []
|
|
59
|
+
features: []
|
|
56
60
|
};
|
|
57
61
|
|
|
58
62
|
const tentativeFeature = this.createTentativeFeature(props);
|
|
@@ -66,12 +70,12 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
66
70
|
guideType: 'editHandle',
|
|
67
71
|
editHandleType: 'existing',
|
|
68
72
|
featureIndex: -1,
|
|
69
|
-
positionIndexes: [index]
|
|
73
|
+
positionIndexes: [index]
|
|
70
74
|
},
|
|
71
75
|
geometry: {
|
|
72
76
|
type: 'Point',
|
|
73
|
-
coordinates: clickedCoord
|
|
74
|
-
}
|
|
77
|
+
coordinates: clickedCoord
|
|
78
|
+
}
|
|
75
79
|
}));
|
|
76
80
|
|
|
77
81
|
guides.features.push(...editHandles);
|
|
@@ -79,8 +83,9 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
79
83
|
return guides;
|
|
80
84
|
}
|
|
81
85
|
|
|
86
|
+
// eslint-disable-next-line complexity
|
|
82
87
|
handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>) {
|
|
83
|
-
const {
|
|
88
|
+
const {picks} = event;
|
|
84
89
|
const clickedEditHandle = getPickedEditHandle(picks);
|
|
85
90
|
const clickSequence = this.getClickSequence();
|
|
86
91
|
|
|
@@ -88,7 +93,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
88
93
|
if (clickSequence.length > 2 && props.modeConfig && props.modeConfig.preventOverlappingLines) {
|
|
89
94
|
const currentLine = turfLineString([
|
|
90
95
|
clickSequence[clickSequence.length - 1],
|
|
91
|
-
event.mapCoords
|
|
96
|
+
event.mapCoords
|
|
92
97
|
]);
|
|
93
98
|
const otherLines = turfLineString([...clickSequence.slice(0, clickSequence.length - 1)]);
|
|
94
99
|
const intersectingPoints = lineIntersect(currentLine, otherLines);
|
|
@@ -116,7 +121,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
116
121
|
// Remove the hovered position
|
|
117
122
|
const polygonToAdd: Polygon = {
|
|
118
123
|
type: 'Polygon',
|
|
119
|
-
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
124
|
+
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
120
125
|
};
|
|
121
126
|
|
|
122
127
|
this.resetClickSequence();
|
|
@@ -132,8 +137,8 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
132
137
|
updatedData: props.data,
|
|
133
138
|
editType: 'addTentativePosition',
|
|
134
139
|
editContext: {
|
|
135
|
-
position: event.mapCoords
|
|
136
|
-
}
|
|
140
|
+
position: event.mapCoords
|
|
141
|
+
}
|
|
137
142
|
});
|
|
138
143
|
}
|
|
139
144
|
}
|
|
@@ -144,7 +149,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
144
149
|
if (clickSequence.length > 2) {
|
|
145
150
|
const polygonToAdd: Polygon = {
|
|
146
151
|
type: 'Polygon',
|
|
147
|
-
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
152
|
+
coordinates: [[...clickSequence, clickSequence[0]]]
|
|
148
153
|
};
|
|
149
154
|
this.resetClickSequence();
|
|
150
155
|
|
|
@@ -159,7 +164,7 @@ export class DrawPolygonMode extends GeoJsonEditMode {
|
|
|
159
164
|
// Because the new drawing feature is dropped, so the data will keep as the same.
|
|
160
165
|
updatedData: props.data,
|
|
161
166
|
editType: 'cancelFeature',
|
|
162
|
-
editContext: {}
|
|
167
|
+
editContext: {}
|
|
163
168
|
});
|
|
164
169
|
}
|
|
165
170
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
1
5
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
6
|
+
import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
|
|
7
|
+
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
4
8
|
|
|
5
9
|
export class DrawRectangleFromCenterMode extends TwoClickPolygonMode {
|
|
6
10
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon> {
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
1
5
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
6
|
+
import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
|
|
7
|
+
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
4
8
|
|
|
5
9
|
export class DrawRectangleMode extends TwoClickPolygonMode {
|
|
6
10
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon> {
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import {generatePointsParallelToLinePoints} from './utils';
|
|
6
|
+
import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
|
|
7
|
+
import {ThreeClickPolygonMode} from './three-click-polygon-mode';
|
|
4
8
|
|
|
5
9
|
export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
6
10
|
getThreeClickPolygon(
|
|
@@ -14,7 +18,7 @@ export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
|
14
18
|
return {
|
|
15
19
|
type: 'Feature',
|
|
16
20
|
properties: {
|
|
17
|
-
shape: 'Rectangle'
|
|
21
|
+
shape: 'Rectangle'
|
|
18
22
|
},
|
|
19
23
|
geometry: {
|
|
20
24
|
type: 'Polygon',
|
|
@@ -27,10 +31,10 @@ export class DrawRectangleUsingThreePointsMode extends ThreeClickPolygonMode {
|
|
|
27
31
|
coord2,
|
|
28
32
|
p3,
|
|
29
33
|
p4,
|
|
30
|
-
coord1
|
|
31
|
-
]
|
|
32
|
-
]
|
|
33
|
-
}
|
|
34
|
+
coord1
|
|
35
|
+
]
|
|
36
|
+
]
|
|
37
|
+
}
|
|
34
38
|
};
|
|
35
39
|
}
|
|
36
40
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
1
5
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
2
6
|
import turfDistance from '@turf/distance';
|
|
3
7
|
import turfAlong from '@turf/along';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
8
|
+
import {point, lineString as turfLineString} from '@turf/helpers';
|
|
9
|
+
import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
|
|
10
|
+
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
7
11
|
|
|
8
12
|
export class DrawSquareFromCenterMode extends TwoClickPolygonMode {
|
|
9
13
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon> {
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
1
5
|
import bboxPolygon from '@turf/bbox-polygon';
|
|
2
6
|
import turfDistance from '@turf/distance';
|
|
3
7
|
import turfAlong from '@turf/along';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
8
|
+
import {point, lineString as turfLineString} from '@turf/helpers';
|
|
9
|
+
import {Position, Polygon, FeatureOf} from '../utils/geojson-types';
|
|
10
|
+
import {TwoClickPolygonMode} from './two-click-polygon-mode';
|
|
7
11
|
|
|
8
12
|
export class DrawSquareMode extends TwoClickPolygonMode {
|
|
9
13
|
getTwoClickPolygon(coord1: Position, coord2: Position, modeConfig: any): FeatureOf<Polygon> {
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import {StartDraggingEvent, ModeProps} from './types';
|
|
6
|
+
import {FeatureCollection} from '../utils/geojson-types';
|
|
7
|
+
import {TranslateMode} from './translate-mode';
|
|
4
8
|
|
|
5
9
|
export class DuplicateMode extends TranslateMode {
|
|
6
10
|
handleStartDragging(event: StartDraggingEvent, props: ModeProps<FeatureCollection>) {
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
1
5
|
/* istanbul ignore file */
|
|
2
6
|
|
|
3
7
|
import {
|
|
@@ -7,7 +11,7 @@ import {
|
|
|
7
11
|
StopDraggingEvent,
|
|
8
12
|
DraggingEvent,
|
|
9
13
|
Tooltip,
|
|
10
|
-
ModeProps
|
|
14
|
+
ModeProps
|
|
11
15
|
} from './types';
|
|
12
16
|
|
|
13
17
|
export interface EditMode<TData, TGuides> {
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import {ModeProps, PointerMoveEvent, StopDraggingEvent} from './types';
|
|
6
|
+
import {Position, FeatureCollection} from '../utils/geojson-types';
|
|
7
|
+
import {getPickedEditHandle} from './utils';
|
|
8
|
+
import {ModifyMode} from './modify-mode';
|
|
5
9
|
|
|
6
10
|
function defaultCalculateElevationChange({
|
|
7
11
|
pointerDownScreenCoords,
|
|
8
|
-
screenCoords
|
|
12
|
+
screenCoords
|
|
9
13
|
}: {
|
|
10
14
|
pointerDownScreenCoords: Position;
|
|
11
15
|
screenCoords: Position;
|
|
@@ -22,7 +26,7 @@ export class ElevationMode extends ModifyMode {
|
|
|
22
26
|
const {
|
|
23
27
|
minElevation = 0,
|
|
24
28
|
maxElevation = 20000,
|
|
25
|
-
calculateElevationChange = defaultCalculateElevationChange
|
|
29
|
+
calculateElevationChange = defaultCalculateElevationChange
|
|
26
30
|
} = props.modeConfig || {};
|
|
27
31
|
|
|
28
32
|
if (!event.pointerDownScreenCoords) {
|
|
@@ -35,13 +39,13 @@ export class ElevationMode extends ModifyMode {
|
|
|
35
39
|
// calculateElevationChange is configurable because (at this time) modes are not aware of the viewport
|
|
36
40
|
elevation += calculateElevationChange({
|
|
37
41
|
pointerDownScreenCoords: event.pointerDownScreenCoords,
|
|
38
|
-
screenCoords: event.screenCoords
|
|
42
|
+
screenCoords: event.screenCoords
|
|
39
43
|
});
|
|
40
44
|
elevation = Math.min(elevation, maxElevation);
|
|
41
45
|
elevation = Math.max(elevation, minElevation);
|
|
42
46
|
|
|
43
47
|
return Object.assign({}, event, {
|
|
44
|
-
mapCoords: [position[0], position[1], elevation]
|
|
48
|
+
mapCoords: [position[0], position[1], elevation]
|
|
45
49
|
});
|
|
46
50
|
}
|
|
47
51
|
|
|
@@ -71,7 +75,7 @@ export class ElevationMode extends ModifyMode {
|
|
|
71
75
|
viewport: any,
|
|
72
76
|
{
|
|
73
77
|
pointerDownScreenCoords,
|
|
74
|
-
screenCoords
|
|
78
|
+
screenCoords
|
|
75
79
|
}: {
|
|
76
80
|
pointerDownScreenCoords: Position;
|
|
77
81
|
screenCoords: Position;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import {Position, LineString, FeatureCollection} from '../utils/geojson-types';
|
|
6
|
+
import {ClickEvent, PointerMoveEvent, ModeProps, GuideFeatureCollection} from './types';
|
|
7
|
+
import {GeoJsonEditMode} from './geojson-edit-mode';
|
|
8
|
+
import {ImmutableFeatureCollection} from './immutable-feature-collection';
|
|
5
9
|
|
|
6
10
|
export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
7
11
|
getSingleSelectedLineString(props: ModeProps<FeatureCollection>): LineString | null | undefined {
|
|
@@ -14,7 +18,7 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
|
14
18
|
}
|
|
15
19
|
|
|
16
20
|
handleClick(event: ClickEvent, props: ModeProps<FeatureCollection>) {
|
|
17
|
-
const {
|
|
21
|
+
const {selectedIndexes} = props;
|
|
18
22
|
const selectedLineString = this.getSingleSelectedLineString(props);
|
|
19
23
|
|
|
20
24
|
if (!selectedLineString) {
|
|
@@ -40,15 +44,15 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
|
40
44
|
editContext: {
|
|
41
45
|
featureIndexes: [featureIndex],
|
|
42
46
|
positionIndexes,
|
|
43
|
-
position: event.mapCoords
|
|
44
|
-
}
|
|
47
|
+
position: event.mapCoords
|
|
48
|
+
}
|
|
45
49
|
});
|
|
46
50
|
}
|
|
47
51
|
|
|
48
52
|
getGuides(props: ModeProps<FeatureCollection>): GuideFeatureCollection {
|
|
49
53
|
const guides: GuideFeatureCollection = {
|
|
50
54
|
type: 'FeatureCollection',
|
|
51
|
-
features: []
|
|
55
|
+
features: []
|
|
52
56
|
};
|
|
53
57
|
|
|
54
58
|
const selectedLineString = this.getSingleSelectedLineString(props);
|
|
@@ -60,7 +64,7 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
|
60
64
|
|
|
61
65
|
// Draw an extension line starting from one end of the selected LineString to the cursor
|
|
62
66
|
let startPosition: Position | null | undefined = null;
|
|
63
|
-
const {
|
|
67
|
+
const {modeConfig} = props;
|
|
64
68
|
if (modeConfig && modeConfig.drawAtFront) {
|
|
65
69
|
startPosition = selectedLineString.coordinates[0];
|
|
66
70
|
} else {
|
|
@@ -70,12 +74,12 @@ export class ExtendLineStringMode extends GeoJsonEditMode {
|
|
|
70
74
|
guides.features.push({
|
|
71
75
|
type: 'Feature',
|
|
72
76
|
properties: {
|
|
73
|
-
guideType: 'tentative'
|
|
77
|
+
guideType: 'tentative'
|
|
74
78
|
},
|
|
75
79
|
geometry: {
|
|
76
80
|
type: 'LineString',
|
|
77
|
-
coordinates: [startPosition, mapCoords]
|
|
78
|
-
}
|
|
81
|
+
coordinates: [startPosition, mapCoords]
|
|
82
|
+
}
|
|
79
83
|
});
|
|
80
84
|
|
|
81
85
|
return guides;
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
+
// deck.gl-community
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
1
5
|
import bearing from '@turf/bearing';
|
|
2
6
|
import {
|
|
3
7
|
generatePointsParallelToLinePoints,
|
|
4
8
|
getPickedEditHandle,
|
|
5
|
-
getPickedIntermediateEditHandle
|
|
9
|
+
getPickedIntermediateEditHandle
|
|
6
10
|
} from './utils';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
+
import {FeatureCollection} from '../utils/geojson-types';
|
|
12
|
+
import {ModeProps, StartDraggingEvent, StopDraggingEvent, DraggingEvent} from './types';
|
|
13
|
+
import {ModifyMode} from './modify-mode';
|
|
14
|
+
import {ImmutableFeatureCollection} from './immutable-feature-collection';
|
|
11
15
|
|
|
12
16
|
export class ExtrudeMode extends ModifyMode {
|
|
13
17
|
// this mode is busted =(
|
|
@@ -18,8 +22,8 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
18
22
|
const editHandle = getPickedEditHandle(event.pointerDownPicks);
|
|
19
23
|
|
|
20
24
|
if (editHandle) {
|
|
21
|
-
const {
|
|
22
|
-
let {
|
|
25
|
+
const {featureIndex} = editHandle.properties;
|
|
26
|
+
let {positionIndexes} = editHandle.properties;
|
|
23
27
|
|
|
24
28
|
const size = this.coordinatesSize(positionIndexes, featureIndex, props.data);
|
|
25
29
|
positionIndexes = this.isPointAdded
|
|
@@ -47,8 +51,8 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
47
51
|
editContext: {
|
|
48
52
|
featureIndexes: [featureIndex],
|
|
49
53
|
positionIndexes: this.nextPositionIndexes(positionIndexes, size),
|
|
50
|
-
position: p3
|
|
51
|
-
}
|
|
54
|
+
position: p3
|
|
55
|
+
}
|
|
52
56
|
});
|
|
53
57
|
|
|
54
58
|
event.cancelPan();
|
|
@@ -61,7 +65,7 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
61
65
|
|
|
62
66
|
const editHandle = getPickedIntermediateEditHandle(event.picks);
|
|
63
67
|
if (selectedFeatureIndexes.length && editHandle) {
|
|
64
|
-
const {
|
|
68
|
+
const {positionIndexes, featureIndex} = editHandle.properties;
|
|
65
69
|
|
|
66
70
|
const size = this.coordinatesSize(positionIndexes, featureIndex, props.data);
|
|
67
71
|
// p1 and p1 are end points for edge
|
|
@@ -95,8 +99,8 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
95
99
|
editContext: {
|
|
96
100
|
featureIndexes: [featureIndex],
|
|
97
101
|
positionIndexes,
|
|
98
|
-
position: p1
|
|
99
|
-
}
|
|
102
|
+
position: p1
|
|
103
|
+
}
|
|
100
104
|
});
|
|
101
105
|
}
|
|
102
106
|
}
|
|
@@ -106,8 +110,8 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
106
110
|
const selectedFeatureIndexes = props.selectedIndexes;
|
|
107
111
|
const editHandle = getPickedEditHandle(event.pointerDownPicks);
|
|
108
112
|
if (selectedFeatureIndexes.length && editHandle) {
|
|
109
|
-
const {
|
|
110
|
-
let {
|
|
113
|
+
const {featureIndex} = editHandle.properties;
|
|
114
|
+
let {positionIndexes} = editHandle.properties;
|
|
111
115
|
|
|
112
116
|
const size = this.coordinatesSize(positionIndexes, featureIndex, props.data);
|
|
113
117
|
positionIndexes = this.isPointAdded
|
|
@@ -136,8 +140,8 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
136
140
|
editContext: {
|
|
137
141
|
featureIndexes: [featureIndex],
|
|
138
142
|
positionIndexes,
|
|
139
|
-
position: p3
|
|
140
|
-
}
|
|
143
|
+
position: p3
|
|
144
|
+
}
|
|
141
145
|
});
|
|
142
146
|
}
|
|
143
147
|
}
|
|
@@ -147,7 +151,7 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
147
151
|
coordinatesSize(
|
|
148
152
|
positionIndexes: number[] | null | undefined,
|
|
149
153
|
featureIndex: number,
|
|
150
|
-
{
|
|
154
|
+
{features}: FeatureCollection
|
|
151
155
|
) {
|
|
152
156
|
let size = 0;
|
|
153
157
|
if (Array.isArray(positionIndexes)) {
|
|
@@ -230,7 +234,7 @@ export class ExtrudeMode extends ModifyMode {
|
|
|
230
234
|
getPointForPositionIndexes(
|
|
231
235
|
positionIndexes: number[] | null | undefined,
|
|
232
236
|
featureIndex: number,
|
|
233
|
-
{
|
|
237
|
+
{features}: FeatureCollection
|
|
234
238
|
) {
|
|
235
239
|
let p1;
|
|
236
240
|
if (Array.isArray(positionIndexes)) {
|