@vertexvis/viewer 0.15.2-testing.4 → 0.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_commonjsHelpers-dcc4cf71.js +1 -1
- package/dist/cjs/app-globals-2035678d.js +1 -1
- package/dist/cjs/browser.esm-5d246754.js +1 -1
- package/dist/cjs/bundle.esm-22b6f2d6.js +1 -1
- package/dist/cjs/bundle.esm-b43c197a.js +38280 -0
- package/dist/cjs/{config-4a86ae0b.js → config-3fc1c093.js} +2 -2
- package/dist/cjs/{cursors-85d403e9.js → cursors-02a06ec9.js} +7 -1
- package/dist/cjs/dom-8d90bfaf.js +1 -1
- package/dist/cjs/dom-92728e58.js +1 -1
- package/dist/cjs/dom-d1bbd67c.js +1 -1
- package/dist/cjs/dom-d57d3c3b.js +1 -1
- package/dist/cjs/elementRectObserver-9b28f182.js +1 -1
- package/dist/cjs/entities-9eb7e608.js +1 -1
- package/dist/cjs/{entities-496b61cd.js → entities-c1c3c6a3.js} +3 -3
- package/dist/cjs/errors-1b37642b.js +97 -0
- package/dist/cjs/grpc-web-client.umd-2af20c1b.js +1 -1
- package/dist/cjs/index-70db349e.js +1 -1
- package/dist/cjs/index-b9d13137.js +1 -1
- package/dist/cjs/index.cjs.js +9 -6
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{mapper-216603b0.js → mapper-d4145b72.js} +2 -2
- package/dist/cjs/markup-4a2fc281.js +1 -1
- package/dist/cjs/{model-b61f4d20.js → model-19fb560a.js} +27 -6
- package/dist/cjs/model-20a70d27.js +1 -1
- package/dist/cjs/overlays-b03ec80b.js +1 -1
- package/dist/cjs/png-decoder-ef097f37.js +1 -1
- package/dist/cjs/results-178e89a3.js +1 -1
- package/dist/cjs/{scene-0ce59b26.js → scene-a94e6fa5.js} +276 -225
- package/dist/cjs/shadow-css-6b9daa41.js +1 -1
- package/dist/cjs/stencil-fc92b387.js +1 -1
- package/dist/cjs/{streamAttributes-7725f5c4.js → streamAttributes-cf0c513d.js} +5408 -39951
- package/dist/cjs/templates-e57b3741.js +1 -1
- package/dist/cjs/utils-2c8e2aa3.js +1 -1
- package/dist/cjs/utils-ea359796.js +1 -1
- package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +158 -37
- package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +229 -49
- package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +3 -2
- package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-icon.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +3 -2
- package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +5 -4
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +4 -3
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +7 -6
- package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +10 -5
- package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +15 -13
- package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +20 -9
- package/dist/cjs/vertex-viewer-spinner.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +6 -4
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +5 -4
- package/dist/cjs/vertex-viewer.cjs.entry.js +80 -53
- package/dist/cjs/viewer.cjs.js +2 -2
- package/dist/cjs/viewport-5ca619f7.js +1 -1
- package/dist/collection/components/scene-tree/lib/controller.js +108 -28
- package/dist/collection/components/scene-tree/lib/errors.js +35 -2
- package/dist/collection/components/scene-tree/scene-tree.js +12 -5
- package/dist/collection/components/viewer/viewer.js +17 -15
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +7 -2
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +105 -18
- package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +5 -1
- package/dist/collection/components/viewer-pin-label/viewer-pin-label.css +1 -1
- package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +14 -12
- package/dist/collection/components/viewer-pin-tool/utils.js +25 -4
- package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.css +12 -0
- package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +9 -2
- package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +3 -2
- package/dist/collection/components/viewer-view-cube/viewer-view-cube.js +5 -5
- package/dist/collection/lib/cursors.js +6 -1
- package/dist/collection/lib/interactions/baseInteractionHandler.js +12 -2
- package/dist/collection/lib/interactions/mouseInteractions.js +5 -4
- package/dist/collection/lib/mappers/frameStreaming.js +11 -11
- package/dist/collection/lib/pins/interactions.js +9 -5
- package/dist/collection/lib/pins/model.js +2 -2
- package/dist/collection/lib/rendering/matrices.js +2 -4
- package/dist/collection/lib/scenes/camera.js +4 -2
- package/dist/collection/lib/scenes/mapper.js +98 -36
- package/dist/collection/lib/scenes/queries.js +89 -50
- package/dist/collection/lib/scenes/scene.js +15 -7
- package/dist/collection/lib/stream/stream.js +24 -12
- package/dist/collection/lib/transforms/drawable.js +2 -2
- package/dist/collection/lib/types/frame.js +4 -3
- package/dist/collection/lib/types/frameCamera.js +6 -1
- package/dist/collection/lib/types/index.js +3 -2
- package/dist/collection/lib/types/loadableResource.js +24 -4
- package/dist/collection/lib/types/sceneViewStateIdentifier.js +7 -0
- package/dist/collection/lib/volume-intersection/controller.js +71 -15
- package/dist/collection/lib/volume-intersection/interactions.js +54 -9
- package/dist/collection/lib/volume-intersection/model.js +27 -10
- package/dist/custom-elements/index.js +20207 -15976
- package/dist/custom-elements/png-decoder.js +1 -1
- package/dist/esm/_commonjsHelpers-11ca3be1.js +1 -1
- package/dist/esm/app-globals-40df99a0.js +1 -1
- package/dist/esm/{browser.esm-ae4ca1f1.js → browser.esm-07e7db8f.js} +2 -2
- package/dist/esm/bundle.esm-91404853.js +38273 -0
- package/dist/esm/{bundle.esm-ce2c7ad3.js → bundle.esm-92e615bf.js} +2 -2
- package/dist/esm/{config-6cdeb6ca.js → config-25384fe6.js} +3 -3
- package/dist/esm/{cursors-a8d4b3f4.js → cursors-127a3bb7.js} +8 -3
- package/dist/esm/dom-0440435d.js +1 -1
- package/dist/esm/dom-be140992.js +1 -1
- package/dist/esm/dom-e19ee80b.js +1 -1
- package/dist/esm/{dom-5b164305.js → dom-e436f0c0.js} +2 -2
- package/dist/esm/elementRectObserver-39cf7b95.js +1 -1
- package/dist/esm/{entities-6f3c5437.js → entities-0e325765.js} +4 -4
- package/dist/esm/entities-ce81dd7f.js +1 -1
- package/dist/esm/errors-a4cc9caa.js +85 -0
- package/dist/esm/grpc-web-client.umd-5409853c.js +1 -1
- package/dist/esm/index-26dfb2d0.js +1 -1
- package/dist/esm/index-e841d91b.js +1 -1
- package/dist/esm/index.js +15 -13
- package/dist/esm/index.mjs +15 -13
- package/dist/esm/loader.js +2 -2
- package/dist/esm/loader.mjs +2 -2
- package/dist/esm/{mapper-941ff03c.js → mapper-dd937684.js} +3 -3
- package/dist/esm/{markup-3c2900f3.js → markup-2dde1f10.js} +3 -3
- package/dist/esm/{model-fa9af61a.js → model-3cd8cd47.js} +2 -2
- package/dist/esm/{model-40bd1711.js → model-bfe1c4d8.js} +29 -8
- package/dist/esm/{overlays-cc3efc30.js → overlays-8f195eb3.js} +3 -3
- package/dist/esm/{png-decoder-d4b65417.js → png-decoder-45f38ea3.js} +2 -2
- package/dist/esm/{results-3b4df2cf.js → results-38baef59.js} +2 -2
- package/dist/esm/{scene-970f5000.js → scene-2543b3bd.js} +237 -178
- package/dist/esm/shadow-css-51dd7708.js +1 -1
- package/dist/esm/stencil-bfbf099f.js +1 -1
- package/dist/esm/{streamAttributes-24bd7b3a.js → streamAttributes-23270e27.js} +5419 -39956
- package/dist/esm/templates-022199c1.js +1 -1
- package/dist/esm/{utils-81347571.js → utils-2306c744.js} +2 -2
- package/dist/esm/{utils-559e1632.js → utils-f03802ef.js} +2 -2
- package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -3
- package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
- package/dist/esm/vertex-scene-tree.entry.js +160 -39
- package/dist/esm/vertex-viewer-box-query-tool.entry.js +229 -49
- package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
- package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
- package/dist/esm/vertex-viewer-dom-element_2.entry.js +6 -5
- package/dist/esm/vertex-viewer-dom-group.entry.js +3 -3
- package/dist/esm/vertex-viewer-icon.entry.js +1 -1
- package/dist/esm/vertex-viewer-layer.entry.js +1 -1
- package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +4 -4
- package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
- package/dist/esm/vertex-viewer-markup.entry.js +5 -5
- package/dist/esm/vertex-viewer-measurement-details.entry.js +5 -4
- package/dist/esm/vertex-viewer-measurement-distance.entry.js +13 -12
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +8 -7
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +12 -11
- package/dist/esm/vertex-viewer-pin-group.entry.js +13 -8
- package/dist/esm/vertex-viewer-pin-label_2.entry.js +18 -16
- package/dist/esm/vertex-viewer-pin-tool.entry.js +23 -12
- package/dist/esm/vertex-viewer-spinner.entry.js +1 -1
- package/dist/esm/vertex-viewer-transform-widget.entry.js +9 -7
- package/dist/esm/vertex-viewer-view-cube.entry.js +7 -6
- package/dist/esm/vertex-viewer.entry.js +65 -38
- package/dist/esm/viewer.js +2 -2
- package/dist/esm/{viewport-e39e2eba.js → viewport-f19fc583.js} +2 -2
- package/dist/types/components/scene-tree/lib/controller.d.ts +18 -3
- package/dist/types/components/scene-tree/lib/errors.d.ts +17 -2
- package/dist/types/components/viewer/viewer.d.ts +2 -0
- package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +36 -2
- package/dist/types/components/viewer-pin-tool/utils.d.ts +1 -1
- package/dist/types/components.d.ts +11 -3
- package/dist/types/lib/cursors.d.ts +5 -0
- package/dist/types/lib/interactions/baseInteractionHandler.d.ts +1 -0
- package/dist/types/lib/interactions/mouseInteractions.d.ts +2 -1
- package/dist/types/lib/pins/interactions.d.ts +4 -2
- package/dist/types/lib/pins/model.d.ts +1 -1
- package/dist/types/lib/scenes/camera.d.ts +1 -1
- package/dist/types/lib/scenes/mapper.d.ts +5 -1
- package/dist/types/lib/scenes/queries.d.ts +45 -30
- package/dist/types/lib/scenes/scene.d.ts +10 -1
- package/dist/types/lib/types/frame.d.ts +1 -1
- package/dist/types/lib/types/index.d.ts +2 -1
- package/dist/types/lib/types/loadableResource.d.ts +8 -2
- package/dist/types/lib/types/sceneViewStateIdentifier.d.ts +15 -0
- package/dist/types/lib/volume-intersection/controller.d.ts +33 -5
- package/dist/types/lib/volume-intersection/interactions.d.ts +12 -1
- package/dist/types/lib/volume-intersection/model.d.ts +7 -0
- package/dist/viewer/index.esm.js +2 -2
- package/dist/viewer/{p-ad09c92e.entry.js → p-029fba92.entry.js} +1 -1
- package/dist/viewer/p-07aeee89.js +1 -1
- package/dist/viewer/{p-29986489.js → p-0a017be7.js} +2 -2
- package/dist/viewer/p-0c583cad.entry.js +4 -0
- package/dist/viewer/p-0d494d01.js +4 -0
- package/dist/viewer/p-0fdad1a5.js +1 -1
- package/dist/viewer/{p-3ca4a7c1.js → p-1812c82d.js} +2 -2
- package/dist/viewer/{p-7663a603.entry.js → p-191156ad.entry.js} +1 -1
- package/dist/viewer/{p-a57dc6e4.entry.js → p-1998284a.entry.js} +2 -2
- package/dist/viewer/p-27f715f8.entry.js +4 -0
- package/dist/viewer/{p-7f6251da.js → p-283aeac4.js} +2 -2
- package/dist/viewer/p-298b63c2.entry.js +4 -0
- package/dist/viewer/p-2ace066b.entry.js +4 -0
- package/dist/viewer/{p-597cc9b5.js → p-2b60a8b0.js} +2 -2
- package/dist/viewer/{p-050f912b.entry.js → p-2fd123c8.entry.js} +1 -1
- package/dist/viewer/p-305a8be6.entry.js +4 -0
- package/dist/viewer/p-31724d24.js +4 -0
- package/dist/viewer/p-32cc2209.js +4 -0
- package/dist/viewer/p-3829dd99.entry.js +4 -0
- package/dist/viewer/{p-6da8a28f.entry.js → p-3aae4bf1.entry.js} +2 -2
- package/dist/viewer/{p-99352cf0.js → p-42760392.js} +2 -2
- package/dist/viewer/p-440c8174.js +4 -0
- package/dist/viewer/{p-e422deaf.entry.js → p-4f25e367.entry.js} +2 -2
- package/dist/viewer/{p-a107b65e.entry.js → p-507b5aeb.entry.js} +2 -2
- package/dist/viewer/{p-52ab9ec0.js → p-51401063.js} +2 -2
- package/dist/viewer/{p-426970b3.entry.js → p-533b1c63.entry.js} +1 -1
- package/dist/viewer/{p-dcb9804c.entry.js → p-569ed94a.entry.js} +2 -2
- package/dist/viewer/p-5809b400.js +1 -1
- package/dist/viewer/p-6072cf84.js +4 -0
- package/dist/viewer/{p-e4a26a32.entry.js → p-6406a70a.entry.js} +1 -1
- package/dist/viewer/p-6bf0594b.entry.js +4 -0
- package/dist/viewer/p-72c59115.entry.js +4 -0
- package/dist/viewer/{p-d71652b0.entry.js → p-8ac7290a.entry.js} +1 -1
- package/dist/viewer/{p-f184bcab.entry.js → p-8afcbd99.entry.js} +1 -1
- package/dist/viewer/p-92fe4417.js +1 -1
- package/dist/viewer/{p-5746931d.entry.js → p-952a217d.entry.js} +1 -1
- package/dist/viewer/p-98e6a50e.js +1 -1
- package/dist/viewer/{p-99fd27e0.entry.js → p-9cb99ea8.entry.js} +1 -1
- package/dist/viewer/p-a2e9e8a5.js +4 -0
- package/dist/viewer/p-a380f0c2.js +1 -1
- package/dist/viewer/{p-661b5234.js → p-acfc5c50.js} +2 -2
- package/dist/viewer/{p-82bd25e8.entry.js → p-b3540dce.entry.js} +1 -1
- package/dist/viewer/p-b5ca30cd.js +4 -0
- package/dist/viewer/p-b74242dc.js +1 -1
- package/dist/viewer/p-bc1160cf.entry.js +4 -0
- package/dist/viewer/{p-c5e67a1e.entry.js → p-bd5a302c.entry.js} +2 -2
- package/dist/viewer/p-c738296e.js +1 -1
- package/dist/viewer/p-c8c4343b.js +1 -1
- package/dist/viewer/p-cd9ccb9e.entry.js +4 -0
- package/dist/viewer/{p-9e1384c9.js → p-cf689bbd.js} +2 -2
- package/dist/viewer/{p-70e5e8a8.js → p-d216a866.js} +2 -2
- package/dist/viewer/p-d4ed7b8d.js +4 -0
- package/dist/viewer/p-d6d5d5de.entry.js +4 -0
- package/dist/viewer/p-d6fce4c1.js +1 -1
- package/dist/viewer/p-df8fbe56.js +1 -1
- package/dist/viewer/p-dfe5a97d.js +1 -1
- package/dist/viewer/{p-00ce31a0.js → p-e1896ce4.js} +2 -2
- package/dist/viewer/p-e23af70c.js +4 -0
- package/dist/viewer/p-e4aa9cdb.js +1 -1
- package/dist/viewer/p-e929dd63.entry.js +4 -0
- package/dist/viewer/{p-65af7a89.js → p-fc7d8c03.js} +3 -3
- package/dist/viewer/viewer.esm.js +2 -2
- package/package.json +9 -9
- package/readme.md +4 -4
- package/dist/viewer/p-096e60bd.js +0 -4
- package/dist/viewer/p-0cf4f05d.entry.js +0 -4
- package/dist/viewer/p-0fcafbf9.js +0 -4
- package/dist/viewer/p-10145045.js +0 -4
- package/dist/viewer/p-1abfe4bf.js +0 -4
- package/dist/viewer/p-1bba9ade.entry.js +0 -4
- package/dist/viewer/p-24cda14a.entry.js +0 -4
- package/dist/viewer/p-27dbc865.js +0 -4
- package/dist/viewer/p-2b58afc3.entry.js +0 -4
- package/dist/viewer/p-51966cef.entry.js +0 -4
- package/dist/viewer/p-608925c5.entry.js +0 -4
- package/dist/viewer/p-68e192b9.js +0 -4
- package/dist/viewer/p-69a3fce8.entry.js +0 -4
- package/dist/viewer/p-74c772bb.entry.js +0 -4
- package/dist/viewer/p-990f98c2.js +0 -4
- package/dist/viewer/p-9dfe0b43.entry.js +0 -4
- package/dist/viewer/p-bb425931.entry.js +0 -4
- package/dist/viewer/p-bfacbaa8.entry.js +0 -4
- package/dist/viewer/p-c72da0fb.entry.js +0 -4
|
@@ -75,6 +75,11 @@ export function toProtobuf(camera) {
|
|
|
75
75
|
position: Object.assign({}, camera.position),
|
|
76
76
|
lookAt: Object.assign({}, camera.lookAt),
|
|
77
77
|
up: Object.assign({}, camera.up),
|
|
78
|
+
fovY: camera.fovY
|
|
79
|
+
? {
|
|
80
|
+
value: camera.fovY,
|
|
81
|
+
}
|
|
82
|
+
: null,
|
|
78
83
|
},
|
|
79
84
|
position: Object.assign({}, camera.position),
|
|
80
85
|
lookAt: Object.assign({}, camera.lookAt),
|
|
@@ -85,4 +90,4 @@ export function toProtobuf(camera) {
|
|
|
85
90
|
return Object.assign({}, camera);
|
|
86
91
|
}
|
|
87
92
|
}
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVDYW1lcmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzL2ZyYW1lQ2FtZXJhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxLQUFLLEVBRUwsY0FBYyxFQUNkLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBb0I3QixNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLE1BQTRCO0VBRTVCLE9BQU8sQ0FDSixNQUFpQyxDQUFDLFFBQVEsSUFBSSxJQUFJO0lBQ2xELE1BQWtDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FDdEQsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLE1BQTRCO0VBRTVCLE1BQU0sT0FBTyxHQUFHLE1BQWlDLENBQUM7RUFDbEQsT0FBTyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztBQUNqRSxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE1BQW1CO0VBSTNELElBQUkseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUU7SUFDckMsdUNBQ0ssTUFBTSxLQUNULFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsSUFDdkU7R0FDSDtPQUFNO0lBQ0wsdUNBQ0ssTUFBTSxLQUNULFVBQVUsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUM1RDtHQUNIO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsT0FBd0MsRUFBRTs7RUFFMUMsT0FBTztJQUNMLFFBQVEsRUFBRSxNQUFBLElBQUksQ0FBQyxRQUFRLG1DQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7SUFD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
|
|
@@ -10,6 +10,7 @@ import * as FlyTo from './flyToOptions';
|
|
|
10
10
|
import * as FrameCamera from './frameCamera';
|
|
11
11
|
import * as Interactions from './interactions';
|
|
12
12
|
import * as LoadableResource from './loadableResource';
|
|
13
|
+
import * as SceneViewStateIdentifier from './sceneViewStateIdentifier';
|
|
13
14
|
export * from './depthBuffer';
|
|
14
15
|
export * from './entities';
|
|
15
16
|
export * from './featureMap';
|
|
@@ -22,5 +23,5 @@ export * from './stencilBuffer';
|
|
|
22
23
|
export * from './synchronizedClock';
|
|
23
24
|
export * from './typeGuards';
|
|
24
25
|
export * from './viewport';
|
|
25
|
-
export { Animation, ClippingPlanes, CrossSectioning, Events, Flags, FlyTo, FrameCamera, Interactions, LoadableResource, };
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
export { Animation, ClippingPlanes, CrossSectioning, Events, Flags, FlyTo, FrameCamera, Interactions, LoadableResource, SceneViewStateIdentifier, };
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxLQUFLLFNBQVMsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxLQUFLLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEtBQUssZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxLQUFLLFlBQVksTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxLQUFLLHdCQUF3QixNQUFNLDRCQUE0QixDQUFDO0FBRXZFLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFFM0IsT0FBTyxFQUNMLFNBQVMsRUFDVCxjQUFjLEVBQ2QsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLHdCQUF3QixHQUN6QixDQUFDIn0=
|
|
@@ -1,33 +1,53 @@
|
|
|
1
1
|
import { Uri } from '@vertexvis/utils';
|
|
2
2
|
import { InvalidResourceUrnError } from '../errors';
|
|
3
3
|
export function fromUrn(urn) {
|
|
4
|
+
var _a;
|
|
4
5
|
const uri = Uri.parse(urn);
|
|
5
6
|
if (uri.scheme !== 'urn' || uri.path == null) {
|
|
6
7
|
throw new Error('Invalid URN. Expected URN scheme.');
|
|
7
8
|
}
|
|
8
|
-
const [nid, resourceType, resourceId] = uri.path.split(
|
|
9
|
+
const [nid, resourceType, resourceId, ...subResourcePath] = uri.path.split(/[:/]/);
|
|
9
10
|
if (nid !== 'vertexvis') {
|
|
10
11
|
throw new Error('Invalid URN. Expected URN to be vertexvis namespace');
|
|
11
12
|
}
|
|
12
13
|
switch (resourceType) {
|
|
13
14
|
case 'stream-key':
|
|
15
|
+
const queries = fromQuery(uri.query);
|
|
16
|
+
const subResource = (_a = fromSubResourcePath(subResourcePath.join('/'))) !== null && _a !== void 0 ? _a : queries.find((q) => q.type === 'scene-view-state');
|
|
14
17
|
return {
|
|
15
18
|
resource: { type: 'stream-key', id: resourceId },
|
|
16
|
-
|
|
19
|
+
subResource,
|
|
20
|
+
queries: queries.filter((q) => q.type !== 'scene-view-state'),
|
|
17
21
|
};
|
|
18
22
|
default:
|
|
19
23
|
throw new InvalidResourceUrnError(`Invalid URN. Unknown resource type ${resourceType}`);
|
|
20
24
|
}
|
|
21
25
|
}
|
|
26
|
+
function fromSubResourcePath(path) {
|
|
27
|
+
if (path != null) {
|
|
28
|
+
const [subResourceType, subResourceId] = path.split('/');
|
|
29
|
+
switch (subResourceType) {
|
|
30
|
+
case 'scene-view-states':
|
|
31
|
+
return {
|
|
32
|
+
type: 'scene-view-state',
|
|
33
|
+
id: subResourceId,
|
|
34
|
+
};
|
|
35
|
+
default:
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
22
40
|
function fromQuery(query) {
|
|
23
41
|
if (query != null) {
|
|
24
42
|
return query.split('&').map((queryFragment) => {
|
|
25
43
|
const [resourceType, resourceId] = queryFragment.split('=');
|
|
26
44
|
switch (resourceType) {
|
|
45
|
+
case 'supplied-id':
|
|
46
|
+
return { type: 'supplied-id', id: resourceId };
|
|
27
47
|
case 'scene-view-state':
|
|
28
48
|
return { type: 'scene-view-state', id: resourceId };
|
|
29
49
|
default:
|
|
30
|
-
throw new Error('Invalid URN. Unknown query
|
|
50
|
+
throw new Error('Invalid URN. Unknown query value type');
|
|
31
51
|
}
|
|
32
52
|
});
|
|
33
53
|
}
|
|
@@ -35,4 +55,4 @@ function fromQuery(query) {
|
|
|
35
55
|
return [];
|
|
36
56
|
}
|
|
37
57
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGFibGVSZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHlwZXMvbG9hZGFibGVSZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBZXBELE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBVzs7RUFDakMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUUzQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFO0lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztHQUN0RDtFQUVELE1BQU0sQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxHQUFHLGVBQWUsQ0FBQyxHQUN2RCxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztFQUV6QixJQUFJLEdBQUcsS0FBSyxXQUFXLEVBQUU7SUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0dBQ3hFO0VBRUQsUUFBUSxZQUFZLEVBQUU7SUFDcEIsS0FBSyxZQUFZO01BQ2YsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztNQUNyQyxNQUFNLFdBQVcsR0FDZixNQUFBLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsbUNBQzdDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBRXBDLENBQUM7TUFFakIsT0FBTztRQUNMLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtRQUNoRCxXQUFXO1FBQ1gsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUM7T0FDOUQsQ0FBQztJQUNKO01BQ0UsTUFBTSxJQUFJLHVCQUF1QixDQUMvQixzQ0FBc0MsWUFBWSxFQUFFLENBQ3JELENBQUM7R0FDTDtBQUNILENBQUM7QUFTRCxTQUFTLG1CQUFtQixDQUFDLElBQWE7RUFDeEMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO0lBQ2hCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV6RCxRQUFRLGVBQWUsRUFBRTtNQUN2QixLQUFLLG1CQUFtQjtRQUN0QixPQUFPO1VBQ0wsSUFBSSxFQUFFLGtCQUFrQjtVQUN4QixFQUFFLEVBQUUsYUFBYTtTQUNsQixDQUFDO01BQ0o7UUFDRSxPQUFPLFNBQVMsQ0FBQztLQUNwQjtHQUNGO0FBQ0gsQ0FBQztBQVNELFNBQVMsU0FBUyxDQUFDLEtBQWM7RUFDL0IsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO0lBQ2pCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtNQUM1QyxNQUFNLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7TUFFNUQsUUFBUSxZQUFZLEVBQUU7UUFDcEIsS0FBSyxhQUFhO1VBQ2hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUNqRCxLQUFLLGtCQUFrQjtVQUNyQixPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUN0RDtVQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztPQUM1RDtJQUNILENBQUMsQ0FBQyxDQUFDO0dBQ0o7T0FBTTtJQUNMLE9BQU8sRUFBRSxDQUFDO0dBQ1g7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function isSceneViewStateId(identifier) {
|
|
2
|
+
return identifier.id != null;
|
|
3
|
+
}
|
|
4
|
+
export function isSceneViewStateSuppliedId(identifier) {
|
|
5
|
+
return identifier.suppliedId != null;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmVWaWV3U3RhdGVJZGVudGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90eXBlcy9zY2VuZVZpZXdTdGF0ZUlkZW50aWZpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsVUFBb0M7RUFFcEMsT0FBUSxVQUErQixDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsVUFBb0M7RUFFcEMsT0FBUSxVQUF1QyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7QUFDckUsQ0FBQyJ9
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { StreamRequestError } from '@vertexvis/stream-api';
|
|
2
|
+
import { EventDispatcher } from '@vertexvis/utils';
|
|
2
3
|
export class VolumeIntersectionQueryController {
|
|
3
4
|
constructor(model, viewer) {
|
|
4
5
|
this.model = model;
|
|
5
6
|
this.viewer = viewer;
|
|
6
|
-
this.
|
|
7
|
+
this.additionalTransforms = [];
|
|
8
|
+
this.operationInFlight = false;
|
|
9
|
+
this.operationAborted = false;
|
|
10
|
+
this.executeStarted = new EventDispatcher();
|
|
11
|
+
this.executeComplete = new EventDispatcher();
|
|
12
|
+
this.executeAborted = new EventDispatcher();
|
|
13
|
+
this.additionalTransforms = [(op) => op.where((q) => q.all()).deselect()];
|
|
7
14
|
this.operationTransform = (builder) => builder.select();
|
|
8
15
|
}
|
|
9
16
|
setStartPoint(point) {
|
|
@@ -14,35 +21,84 @@ export class VolumeIntersectionQueryController {
|
|
|
14
21
|
setEndPoint(point) {
|
|
15
22
|
this.model.setEndPoint(point);
|
|
16
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Updates the operation that will be applied based on the volume intersection
|
|
26
|
+
* query. Defaults to `(builder) => builder.select()`, which will select any
|
|
27
|
+
* of the results of the query.
|
|
28
|
+
*/
|
|
17
29
|
setOperationTransform(operationTransform) {
|
|
18
30
|
this.operationTransform = operationTransform;
|
|
19
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Updates any additional operations that should be performed independent of
|
|
34
|
+
* the volume intersection query. This can be used to perform an operation on
|
|
35
|
+
* the entirety of the scene prior to the operation on the result of the
|
|
36
|
+
* volume intersection query.
|
|
37
|
+
* Defaults to `[(op) => op.where((q) => q.all()).deselect()]`, which will
|
|
38
|
+
* clear any prior selection before the default selection.
|
|
39
|
+
*/
|
|
40
|
+
setAdditionalTransforms(additionalTransforms) {
|
|
41
|
+
this.additionalTransforms = additionalTransforms;
|
|
42
|
+
}
|
|
43
|
+
onExecuteStarted(listener) {
|
|
44
|
+
return this.executeStarted.on(listener);
|
|
45
|
+
}
|
|
46
|
+
onExecuteComplete(listener) {
|
|
47
|
+
return this.executeComplete.on(listener);
|
|
48
|
+
}
|
|
49
|
+
onExecuteAborted(listener) {
|
|
50
|
+
return this.executeAborted.on(listener);
|
|
51
|
+
}
|
|
20
52
|
async execute() {
|
|
21
|
-
var _a;
|
|
53
|
+
var _a, _b, _c;
|
|
22
54
|
const screenBounds = this.model.getScreenBounds();
|
|
23
55
|
const type = this.model.getType();
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (screenBounds != null &&
|
|
27
|
-
this.inFlightOperations < DEFAULT_CONCURRENT_VOLUME_QUERY_LIMIT) {
|
|
28
|
-
this.inFlightOperations = this.inFlightOperations + 1;
|
|
56
|
+
if (screenBounds != null && !this.operationInFlight) {
|
|
57
|
+
this.model.complete();
|
|
29
58
|
try {
|
|
59
|
+
this.operationInFlight = true;
|
|
60
|
+
this.executeStarted.emit();
|
|
61
|
+
const additionalTransforms = (op) => this.additionalTransforms.map((t) => t(op)).flat();
|
|
62
|
+
const operationTransforms = (op) => [
|
|
63
|
+
this.operationTransform(op.where((q) => q.withVolumeIntersection(screenBounds, type === 'exclusive'))),
|
|
64
|
+
].flat();
|
|
30
65
|
const scene = await this.viewer.scene();
|
|
31
66
|
await scene
|
|
32
|
-
.items((op) =>
|
|
67
|
+
.items((op) => [
|
|
68
|
+
...additionalTransforms(op),
|
|
69
|
+
...operationTransforms(op),
|
|
70
|
+
])
|
|
33
71
|
.execute();
|
|
34
72
|
}
|
|
35
73
|
catch (e) {
|
|
36
|
-
|
|
37
|
-
|
|
74
|
+
if (e instanceof StreamRequestError &&
|
|
75
|
+
((_a = e.summary) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase().includes('operation aborted'))) {
|
|
76
|
+
this.executeAborted.emit(e);
|
|
77
|
+
this.operationAborted = true;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
console.error('Failed to perform volume intersection query', e);
|
|
81
|
+
throw e;
|
|
82
|
+
}
|
|
38
83
|
}
|
|
39
84
|
finally {
|
|
40
|
-
this.
|
|
85
|
+
this.viewer.cameraControls = (_b = this.previousViewerCameraControls) !== null && _b !== void 0 ? _b : true;
|
|
86
|
+
this.previousViewerCameraControls = undefined;
|
|
87
|
+
this.operationInFlight = false;
|
|
88
|
+
this.executeComplete.emit({
|
|
89
|
+
aborted: this.operationAborted,
|
|
90
|
+
});
|
|
91
|
+
this.operationAborted = false;
|
|
41
92
|
}
|
|
42
93
|
}
|
|
43
|
-
else if (this.
|
|
44
|
-
|
|
94
|
+
else if (this.operationInFlight) {
|
|
95
|
+
this.model.cancel();
|
|
96
|
+
throw new Error(`Unable to perform volume intersection query as there is already one in-flight.`);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.model.cancel();
|
|
100
|
+
this.viewer.cameraControls = (_c = this.previousViewerCameraControls) !== null && _c !== void 0 ? _c : true;
|
|
45
101
|
}
|
|
46
102
|
}
|
|
47
103
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdm9sdW1lLWludGVyc2VjdGlvbi9jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBYyxlQUFlLEVBQVksTUFBTSxrQkFBa0IsQ0FBQztBQW9CekUsTUFBTSxPQUFPLGlDQUFpQztFQVc1QyxZQUNVLEtBQW1DLEVBQ25DLE1BQStCO0lBRC9CLFVBQUssR0FBTCxLQUFLLENBQThCO0lBQ25DLFdBQU0sR0FBTixNQUFNLENBQXlCO0lBVmpDLHlCQUFvQixHQUEwQixFQUFFLENBQUM7SUFDakQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQUV6QixtQkFBYyxHQUFHLElBQUksZUFBZSxFQUFRLENBQUM7SUFDN0Msb0JBQWUsR0FBRyxJQUFJLGVBQWUsRUFBNEIsQ0FBQztJQUNsRSxtQkFBYyxHQUFHLElBQUksZUFBZSxFQUFzQixDQUFDO0lBTWpFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0VBQzFELENBQUM7RUFFTSxhQUFhLENBQUMsS0FBa0I7SUFDckMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO0lBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJ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
|
|
@@ -1,37 +1,82 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { boxQueryCursor } from '../cursors';
|
|
2
|
+
import { getMouseClientPosition } from '../dom';
|
|
2
3
|
export class VolumeIntersectionQueryInteractionHandler {
|
|
3
4
|
constructor(controller) {
|
|
4
5
|
this.controller = controller;
|
|
5
6
|
this.handleDragBegin = this.handleDragBegin.bind(this);
|
|
6
7
|
this.handleDrag = this.handleDrag.bind(this);
|
|
7
8
|
this.handleDragEnd = this.handleDragEnd.bind(this);
|
|
9
|
+
this.enabled = true;
|
|
8
10
|
}
|
|
9
|
-
initialize(element) {
|
|
11
|
+
initialize(element, api) {
|
|
10
12
|
this.element = element;
|
|
13
|
+
this.api = api;
|
|
11
14
|
this.element.addEventListener('pointerdown', this.handleDragBegin);
|
|
15
|
+
this.addCrosshairCursor();
|
|
12
16
|
}
|
|
13
17
|
dispose() {
|
|
14
|
-
var _a;
|
|
18
|
+
var _a, _b, _c;
|
|
15
19
|
(_a = this.element) === null || _a === void 0 ? void 0 : _a.removeEventListener('pointerdown', this.handleDragBegin);
|
|
16
20
|
window.removeEventListener('pointermove', this.handleDrag);
|
|
17
21
|
window.removeEventListener('pointerup', this.handleDragEnd);
|
|
22
|
+
(_b = this.crosshairCursorDisposable) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
23
|
+
(_c = this.waitCursorDisposable) === null || _c === void 0 ? void 0 : _c.dispose();
|
|
24
|
+
this.element = undefined;
|
|
25
|
+
this.api = undefined;
|
|
26
|
+
this.enabled = true;
|
|
27
|
+
}
|
|
28
|
+
disable() {
|
|
29
|
+
this.enabled = false;
|
|
30
|
+
}
|
|
31
|
+
enable() {
|
|
32
|
+
this.enabled = true;
|
|
18
33
|
}
|
|
19
34
|
handleDragBegin(event) {
|
|
20
|
-
|
|
35
|
+
var _a;
|
|
36
|
+
if (this.enabled &&
|
|
37
|
+
this.isPrimaryMouseButtonClick(event) &&
|
|
38
|
+
!this.isInteracting) {
|
|
39
|
+
this.elementBounds = (_a = this.element) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
|
21
40
|
this.isInteracting = true;
|
|
22
|
-
this.controller.setStartPoint(
|
|
41
|
+
this.controller.setStartPoint(getMouseClientPosition(event, this.elementBounds));
|
|
23
42
|
window.addEventListener('pointermove', this.handleDrag);
|
|
24
43
|
window.addEventListener('pointerup', this.handleDragEnd);
|
|
25
44
|
}
|
|
26
45
|
}
|
|
27
46
|
handleDrag(event) {
|
|
28
|
-
this.
|
|
47
|
+
if (this.enabled) {
|
|
48
|
+
this.controller.setEndPoint(getMouseClientPosition(event, this.elementBounds));
|
|
49
|
+
}
|
|
29
50
|
}
|
|
30
|
-
handleDragEnd() {
|
|
31
|
-
|
|
51
|
+
async handleDragEnd() {
|
|
52
|
+
var _a, _b;
|
|
32
53
|
this.isInteracting = false;
|
|
33
54
|
window.removeEventListener('pointermove', this.handleDrag);
|
|
34
55
|
window.removeEventListener('pointerup', this.handleDragEnd);
|
|
56
|
+
(_a = this.crosshairCursorDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
57
|
+
if (this.enabled) {
|
|
58
|
+
this.addWaitCursor();
|
|
59
|
+
try {
|
|
60
|
+
await this.controller.execute();
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
(_b = this.waitCursorDisposable) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
64
|
+
this.addCrosshairCursor();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
isPrimaryMouseButtonClick(event) {
|
|
69
|
+
return event.buttons === 1;
|
|
70
|
+
}
|
|
71
|
+
addCrosshairCursor() {
|
|
72
|
+
var _a, _b;
|
|
73
|
+
(_a = this.crosshairCursorDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
74
|
+
this.crosshairCursorDisposable = (_b = this.api) === null || _b === void 0 ? void 0 : _b.addCursor(boxQueryCursor);
|
|
75
|
+
}
|
|
76
|
+
addWaitCursor() {
|
|
77
|
+
var _a, _b;
|
|
78
|
+
(_a = this.waitCursorDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
79
|
+
this.waitCursorDisposable = (_b = this.api) === null || _b === void 0 ? void 0 : _b.addCursor('wait');
|
|
35
80
|
}
|
|
36
81
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi92b2x1bWUtaW50ZXJzZWN0aW9uL2ludGVyYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUtoRCxNQUFNLE9BQU8seUNBQXlDO0VBV3BELFlBQTJCLFVBQTZDO0lBQTdDLGVBQVUsR0FBVixVQUFVLENBQW1DO0lBQ3RFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRW5ELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0VBQ3RCLENBQUM7RUFFTSxVQUFVLENBQUMsT0FBb0IsRUFBRSxHQUFtQjtJQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUVmLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztFQUM1QixDQUFDO0VBRU0sT0FBTzs7SUFDWixNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFB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
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Point, Rectangle } from '@vertexvis/geometry';
|
|
2
2
|
import { EventDispatcher } from '@vertexvis/utils';
|
|
3
3
|
export class VolumeIntersectionQueryModel {
|
|
4
|
-
constructor() {
|
|
4
|
+
constructor(mode) {
|
|
5
|
+
this.mode = mode;
|
|
5
6
|
this.dragStarted = new EventDispatcher();
|
|
6
7
|
this.dragComplete = new EventDispatcher();
|
|
8
|
+
this.dragCancelled = new EventDispatcher();
|
|
7
9
|
this.screenBoundsChanged = new EventDispatcher();
|
|
8
10
|
}
|
|
9
11
|
setStartPoint(point) {
|
|
@@ -11,9 +13,15 @@ export class VolumeIntersectionQueryModel {
|
|
|
11
13
|
this.dragStarted.emit();
|
|
12
14
|
}
|
|
13
15
|
setEndPoint(point) {
|
|
14
|
-
this.
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
if (this.startPoint != null &&
|
|
17
|
+
Point.distance(this.startPoint, point) >= 2) {
|
|
18
|
+
this.endPoint = point;
|
|
19
|
+
this.updateQueryType();
|
|
20
|
+
this.screenBoundsChanged.emit(this.getQueryDetails());
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
setMode(mode) {
|
|
24
|
+
this.mode = mode;
|
|
17
25
|
}
|
|
18
26
|
complete() {
|
|
19
27
|
if (this.startPoint != null && this.endPoint != null) {
|
|
@@ -22,6 +30,11 @@ export class VolumeIntersectionQueryModel {
|
|
|
22
30
|
this.reset();
|
|
23
31
|
}
|
|
24
32
|
}
|
|
33
|
+
cancel() {
|
|
34
|
+
this.screenBoundsChanged.emit(undefined);
|
|
35
|
+
this.dragCancelled.emit();
|
|
36
|
+
this.reset();
|
|
37
|
+
}
|
|
25
38
|
reset() {
|
|
26
39
|
this.startPoint = undefined;
|
|
27
40
|
this.endPoint = undefined;
|
|
@@ -44,6 +57,9 @@ export class VolumeIntersectionQueryModel {
|
|
|
44
57
|
onDragComplete(listener) {
|
|
45
58
|
return this.dragComplete.on(listener);
|
|
46
59
|
}
|
|
60
|
+
onDragCancelled(listener) {
|
|
61
|
+
return this.dragCancelled.on(listener);
|
|
62
|
+
}
|
|
47
63
|
getQueryDetails() {
|
|
48
64
|
if (this.startPoint != null && this.endPoint != null && this.type != null) {
|
|
49
65
|
return {
|
|
@@ -56,12 +72,13 @@ export class VolumeIntersectionQueryModel {
|
|
|
56
72
|
}
|
|
57
73
|
}
|
|
58
74
|
updateQueryType() {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
75
|
+
var _a;
|
|
76
|
+
if (this.startPoint != null && this.endPoint != null) {
|
|
77
|
+
const directionalType = Point.subtract(this.endPoint, this.startPoint).x > 0
|
|
78
|
+
? 'exclusive'
|
|
79
|
+
: 'inclusive';
|
|
80
|
+
this.type = (_a = this.mode) !== null && _a !== void 0 ? _a : directionalType;
|
|
64
81
|
}
|
|
65
82
|
}
|
|
66
83
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ZvbHVtZS1pbnRlcnNlY3Rpb24vbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQWMsZUFBZSxFQUFZLE1BQU0sa0JBQWtCLENBQUM7QUFXekUsTUFBTSxPQUFPLDRCQUE0QjtFQWF2QyxZQUEyQixJQUFrQztJQUFsQyxTQUFJLEdBQUosSUFBSSxDQUE4QjtJQVJyRCxnQkFBVyxHQUFHLElBQUksZUFBZSxFQUFRLENBQUM7SUFDMUMsaUJBQVksR0FBRyxJQUFJLGVBQWUsRUFBa0MsQ0FBQztJQUNyRSxrQkFBYSxHQUFHLElBQUksZUFBZSxFQUFRLENBQUM7SUFFNUMsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLEVBRTlDLENBQUM7RUFFNEQsQ0FBQztFQUUxRCxhQUFhLENBQUMsS0FBa0I7SUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztFQUMxQixDQUFDO0VBRU0sV0FBVyxDQUFDLEtBQWtCO0lBQ25DLElBQ0UsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJO01BQ3ZCLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQzNDO01BQ0EsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7TUFFdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO01BQ3ZCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7S0FDdkQ7RUFDSCxDQUFDO0VBRU0sT0FBTyxDQUFDLElBQWtDO0lBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFD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
|