@vertexvis/viewer 0.15.2-testing.3 → 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-6e330a82.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-7b2e8c03.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-0f2294a6.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-56438693.js → scene-a94e6fa5.js} +293 -215
- package/dist/cjs/shadow-css-6b9daa41.js +1 -1
- package/dist/cjs/stencil-fc92b387.js +1 -1
- package/dist/cjs/{streamAttributes-c64aee75.js → streamAttributes-cf0c513d.js} +8424 -41995
- 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 +425 -0
- 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/collection-manifest.json +1 -0
- 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 +79 -0
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +278 -0
- 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 +103 -30
- package/dist/collection/lib/scenes/queries.js +101 -46
- 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 +104 -0
- package/dist/collection/lib/volume-intersection/interactions.js +82 -0
- package/dist/collection/lib/volume-intersection/model.js +84 -0
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +23825 -18358
- 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-49688db8.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-a5bfef48.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-5894c2a4.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-5b919078.js → scene-2543b3bd.js} +254 -168
- package/dist/esm/shadow-css-51dd7708.js +1 -1
- package/dist/esm/stencil-bfbf099f.js +1 -1
- package/dist/esm/{streamAttributes-7e8565be.js → streamAttributes-23270e27.js} +8429 -41994
- 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 +421 -0
- 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 +94 -0
- package/dist/types/components/viewer-pin-tool/utils.d.ts +1 -1
- package/dist/types/components.d.ts +56 -0
- 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 +55 -28
- 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 +45 -0
- package/dist/types/lib/volume-intersection/interactions.d.ts +24 -0
- package/dist/types/lib/volume-intersection/model.d.ts +33 -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-927b528b.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-d64c1e14.entry.js → p-507b5aeb.entry.js} +3 -3
- package/dist/viewer/{p-1fc24ec6.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-40a9dd7d.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-1abfe4bf.js +0 -4
- package/dist/viewer/p-1e0dd2e9.js +0 -4
- package/dist/viewer/p-22ae6785.entry.js +0 -4
- package/dist/viewer/p-27dbc865.js +0 -4
- package/dist/viewer/p-31b87b90.js +0 -4
- package/dist/viewer/p-3f6f2457.entry.js +0 -4
- package/dist/viewer/p-61e50e11.entry.js +0 -4
- package/dist/viewer/p-7579e2a1.entry.js +0 -4
- package/dist/viewer/p-920c9a88.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-a6558bb2.entry.js +0 -4
- package/dist/viewer/p-b7e170ac.entry.js +0 -4
- package/dist/viewer/p-d34ad2b2.entry.js +0 -4
- package/dist/viewer/p-f3ea0c2b.entry.js +0 -4
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
/**!
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
const browser_esm = require('./browser.esm-5d246754.js');
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const errors = require('./errors-1b37642b.js');
|
|
8
|
+
const bundle_esm$1 = require('./bundle.esm-22b6f2d6.js');
|
|
9
|
+
const streamAttributes = require('./streamAttributes-cf0c513d.js');
|
|
9
10
|
require('./entities-9eb7e608.js');
|
|
11
|
+
const bundle_esm = require('./bundle.esm-b43c197a.js');
|
|
10
12
|
|
|
11
13
|
const defaultColor = {
|
|
12
14
|
opacity: 255,
|
|
@@ -98,104 +100,41 @@ const colorMaterial = /*#__PURE__*/Object.freeze({
|
|
|
98
100
|
defaultSelectionMaterial: defaultSelectionMaterial
|
|
99
101
|
});
|
|
100
102
|
|
|
101
|
-
class CustomError extends Error {
|
|
102
|
-
constructor(message, e) {
|
|
103
|
-
super();
|
|
104
|
-
this.message = message;
|
|
105
|
-
this.stack = e === null || e === void 0 ? void 0 : e.stack;
|
|
106
|
-
this.name = this.constructor.name;
|
|
107
|
-
// Allows for `instanceof` checks.
|
|
108
|
-
Object.setPrototypeOf(this, CustomError.prototype);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
class InvalidResourceUrnError extends CustomError {
|
|
112
|
-
constructor(message, e) {
|
|
113
|
-
super(message, e);
|
|
114
|
-
// Allows for `instanceof` checks.
|
|
115
|
-
Object.setPrototypeOf(this, InvalidResourceUrnError.prototype);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
class ViewerInitializationError extends CustomError {
|
|
119
|
-
constructor(message, e) {
|
|
120
|
-
super(message, e);
|
|
121
|
-
// Allows for `instanceof` checks.
|
|
122
|
-
Object.setPrototypeOf(this, ViewerInitializationError.prototype);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
class ComponentInitializationError extends CustomError {
|
|
126
|
-
constructor(message, e) {
|
|
127
|
-
super(message, e);
|
|
128
|
-
// Allows for `instanceof` checks.
|
|
129
|
-
Object.setPrototypeOf(this, ComponentInitializationError.prototype);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
class SceneRenderError extends CustomError {
|
|
133
|
-
constructor(message, e) {
|
|
134
|
-
super(message, e);
|
|
135
|
-
// Allows for `instanceof` checks.
|
|
136
|
-
Object.setPrototypeOf(this, SceneRenderError.prototype);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
class WebsocketConnectionError extends CustomError {
|
|
140
|
-
constructor(message, e) {
|
|
141
|
-
super(message, e);
|
|
142
|
-
// Allows for `instanceof` checks.
|
|
143
|
-
Object.setPrototypeOf(this, WebsocketConnectionError.prototype);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
class InteractionHandlerError extends CustomError {
|
|
147
|
-
constructor(message, e) {
|
|
148
|
-
super(message, e);
|
|
149
|
-
// Allows for `instanceof` checks.
|
|
150
|
-
Object.setPrototypeOf(this, InteractionHandlerError.prototype);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
class ImageLoadError extends CustomError {
|
|
154
|
-
constructor(message, e) {
|
|
155
|
-
super(message, e);
|
|
156
|
-
// Allows for `instanceof` checks.
|
|
157
|
-
Object.setPrototypeOf(this, ImageLoadError.prototype);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
class IllegalStateError extends CustomError {
|
|
161
|
-
constructor(message, e) {
|
|
162
|
-
super(message, e);
|
|
163
|
-
// Allows for `instanceof` checks.
|
|
164
|
-
Object.setPrototypeOf(this, IllegalStateError.prototype);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
class InvalidArgumentError extends CustomError {
|
|
168
|
-
constructor(message, e) {
|
|
169
|
-
super(message, e);
|
|
170
|
-
// Allows for `instanceof` checks.
|
|
171
|
-
Object.setPrototypeOf(this, InvalidArgumentError.prototype);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
class InvalidCameraError extends CustomError {
|
|
175
|
-
constructor(message, e) {
|
|
176
|
-
super(message, e);
|
|
177
|
-
// Allows for `instanceof` checks.
|
|
178
|
-
Object.setPrototypeOf(this, InvalidCameraError.prototype);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
103
|
function fromUrn(urn) {
|
|
104
|
+
var _a;
|
|
183
105
|
const uri = browser_esm.uri.parse(urn);
|
|
184
106
|
if (uri.scheme !== 'urn' || uri.path == null) {
|
|
185
107
|
throw new Error('Invalid URN. Expected URN scheme.');
|
|
186
108
|
}
|
|
187
|
-
const [nid, resourceType, resourceId] = uri.path.split(
|
|
109
|
+
const [nid, resourceType, resourceId, ...subResourcePath] = uri.path.split(/[:/]/);
|
|
188
110
|
if (nid !== 'vertexvis') {
|
|
189
111
|
throw new Error('Invalid URN. Expected URN to be vertexvis namespace');
|
|
190
112
|
}
|
|
191
113
|
switch (resourceType) {
|
|
192
114
|
case 'stream-key':
|
|
115
|
+
const queries = fromQuery(uri.query);
|
|
116
|
+
const subResource = (_a = fromSubResourcePath(subResourcePath.join('/'))) !== null && _a !== void 0 ? _a : queries.find((q) => q.type === 'scene-view-state');
|
|
193
117
|
return {
|
|
194
118
|
resource: { type: 'stream-key', id: resourceId },
|
|
195
|
-
|
|
119
|
+
subResource,
|
|
120
|
+
queries: queries.filter((q) => q.type !== 'scene-view-state'),
|
|
196
121
|
};
|
|
197
122
|
default:
|
|
198
|
-
throw new InvalidResourceUrnError(`Invalid URN. Unknown resource type ${resourceType}`);
|
|
123
|
+
throw new errors.InvalidResourceUrnError(`Invalid URN. Unknown resource type ${resourceType}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function fromSubResourcePath(path) {
|
|
127
|
+
if (path != null) {
|
|
128
|
+
const [subResourceType, subResourceId] = path.split('/');
|
|
129
|
+
switch (subResourceType) {
|
|
130
|
+
case 'scene-view-states':
|
|
131
|
+
return {
|
|
132
|
+
type: 'scene-view-state',
|
|
133
|
+
id: subResourceId,
|
|
134
|
+
};
|
|
135
|
+
default:
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
199
138
|
}
|
|
200
139
|
}
|
|
201
140
|
function fromQuery(query) {
|
|
@@ -203,10 +142,12 @@ function fromQuery(query) {
|
|
|
203
142
|
return query.split('&').map((queryFragment) => {
|
|
204
143
|
const [resourceType, resourceId] = queryFragment.split('=');
|
|
205
144
|
switch (resourceType) {
|
|
145
|
+
case 'supplied-id':
|
|
146
|
+
return { type: 'supplied-id', id: resourceId };
|
|
206
147
|
case 'scene-view-state':
|
|
207
148
|
return { type: 'scene-view-state', id: resourceId };
|
|
208
149
|
default:
|
|
209
|
-
throw new Error('Invalid URN. Unknown query
|
|
150
|
+
throw new Error('Invalid URN. Unknown query value type');
|
|
210
151
|
}
|
|
211
152
|
});
|
|
212
153
|
}
|
|
@@ -220,6 +161,13 @@ const loadableResource = /*#__PURE__*/Object.freeze({
|
|
|
220
161
|
fromUrn: fromUrn
|
|
221
162
|
});
|
|
222
163
|
|
|
164
|
+
function isSceneViewStateId(identifier) {
|
|
165
|
+
return identifier.id != null;
|
|
166
|
+
}
|
|
167
|
+
function isSceneViewStateSuppliedId(identifier) {
|
|
168
|
+
return identifier.suppliedId != null;
|
|
169
|
+
}
|
|
170
|
+
|
|
223
171
|
/**
|
|
224
172
|
* A `SynchronizedClock` allows for approximating the time on a remote machine.
|
|
225
173
|
*
|
|
@@ -370,68 +318,114 @@ class CameraRenderResult {
|
|
|
370
318
|
}
|
|
371
319
|
}
|
|
372
320
|
|
|
373
|
-
function
|
|
374
|
-
|
|
321
|
+
function buildSceneViewStateIdentifier(identifier) {
|
|
322
|
+
if (typeof identifier === 'string') {
|
|
323
|
+
return { sceneViewStateId: { hex: identifier } };
|
|
324
|
+
}
|
|
325
|
+
else if (isSceneViewStateId(identifier)) {
|
|
326
|
+
return { sceneViewStateId: { hex: identifier.id } };
|
|
327
|
+
}
|
|
328
|
+
else if (isSceneViewStateSuppliedId(identifier)) {
|
|
329
|
+
return { sceneViewStateSuppliedId: { value: identifier.suppliedId } };
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
throw new Error('Unable to build scene view state identifier, input must be a string or `SceneViewStateIdentifier`.');
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
function buildQueryExpression(query, context) {
|
|
375
336
|
switch (query.type) {
|
|
376
337
|
case 'and':
|
|
377
338
|
case 'or':
|
|
378
339
|
return {
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
340
|
+
operand: {
|
|
341
|
+
itemCollection: {
|
|
342
|
+
queries: query.expressions.map((exp) => ({
|
|
343
|
+
sceneItemQuery: buildSceneItemQuery(exp),
|
|
344
|
+
})),
|
|
345
|
+
},
|
|
346
|
+
},
|
|
347
|
+
};
|
|
348
|
+
case 'not':
|
|
349
|
+
return {
|
|
350
|
+
not: {
|
|
351
|
+
expression: buildQueryExpression(query.query, context),
|
|
383
352
|
},
|
|
384
|
-
operationTypes,
|
|
385
353
|
};
|
|
386
354
|
case 'item-id':
|
|
387
355
|
case 'supplied-id':
|
|
388
356
|
return {
|
|
389
|
-
|
|
390
|
-
|
|
357
|
+
operand: {
|
|
358
|
+
item: {
|
|
359
|
+
sceneItemQuery: buildSceneItemQuery(query),
|
|
360
|
+
},
|
|
391
361
|
},
|
|
392
|
-
operationTypes,
|
|
393
362
|
};
|
|
394
363
|
case 'all':
|
|
395
364
|
return {
|
|
396
|
-
|
|
397
|
-
|
|
365
|
+
operand: {
|
|
366
|
+
root: {},
|
|
367
|
+
},
|
|
398
368
|
};
|
|
399
369
|
case 'scene-tree-range':
|
|
400
370
|
return {
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
371
|
+
operand: {
|
|
372
|
+
sceneTreeRange: {
|
|
373
|
+
start: query.range.start,
|
|
374
|
+
end: query.range.end,
|
|
375
|
+
},
|
|
404
376
|
},
|
|
405
|
-
operationTypes,
|
|
406
377
|
};
|
|
407
378
|
case 'metadata':
|
|
408
379
|
return {
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
380
|
+
operand: {
|
|
381
|
+
metadata: {
|
|
382
|
+
valueFilter: query.filter,
|
|
383
|
+
keys: query.keys,
|
|
384
|
+
exactMatch: query.exactMatch,
|
|
385
|
+
},
|
|
413
386
|
},
|
|
414
|
-
operationTypes,
|
|
415
387
|
};
|
|
416
388
|
case 'all-selected':
|
|
417
389
|
return {
|
|
418
|
-
|
|
419
|
-
|
|
390
|
+
operand: {
|
|
391
|
+
override: {
|
|
392
|
+
selection: {},
|
|
393
|
+
},
|
|
420
394
|
},
|
|
421
|
-
operationTypes,
|
|
422
395
|
};
|
|
423
396
|
case 'point':
|
|
424
397
|
return {
|
|
425
|
-
|
|
426
|
-
point:
|
|
427
|
-
|
|
398
|
+
operand: {
|
|
399
|
+
point: {
|
|
400
|
+
point: query.point,
|
|
401
|
+
viewport: context.dimensions,
|
|
402
|
+
},
|
|
403
|
+
},
|
|
404
|
+
};
|
|
405
|
+
case 'volume-intersection':
|
|
406
|
+
return {
|
|
407
|
+
operand: {
|
|
408
|
+
volume: {
|
|
409
|
+
frustumByRectangle: {
|
|
410
|
+
rectangle: query.rectangle,
|
|
411
|
+
},
|
|
412
|
+
exclusive: query.exclusive,
|
|
413
|
+
viewport: context.dimensions,
|
|
414
|
+
},
|
|
428
415
|
},
|
|
429
|
-
operationTypes,
|
|
430
416
|
};
|
|
431
417
|
default:
|
|
432
418
|
return {};
|
|
433
419
|
}
|
|
434
420
|
}
|
|
421
|
+
function buildSceneOperation(query, operations, context) {
|
|
422
|
+
const operationTypes = buildOperationTypes(operations);
|
|
423
|
+
const queryExpression = buildQueryExpression(query, context);
|
|
424
|
+
return {
|
|
425
|
+
queryExpression,
|
|
426
|
+
operationTypes,
|
|
427
|
+
};
|
|
428
|
+
}
|
|
435
429
|
function buildSceneItemQuery(item) {
|
|
436
430
|
switch (item.type) {
|
|
437
431
|
case 'item-id':
|
|
@@ -455,7 +449,7 @@ function buildFlyToOperation(frameCorrelationId, options, animation) {
|
|
|
455
449
|
},
|
|
456
450
|
animation: animation
|
|
457
451
|
? {
|
|
458
|
-
duration:
|
|
452
|
+
duration: bundle_esm.toProtoDuration(animation.milliseconds),
|
|
459
453
|
}
|
|
460
454
|
: undefined,
|
|
461
455
|
};
|
|
@@ -551,6 +545,33 @@ function buildOperationTypes(operations) {
|
|
|
551
545
|
}
|
|
552
546
|
});
|
|
553
547
|
}
|
|
548
|
+
function toPbSceneViewStateFeatures(features) {
|
|
549
|
+
return features.map((feature) => {
|
|
550
|
+
switch (feature) {
|
|
551
|
+
case 'camera':
|
|
552
|
+
return streamAttributes.vertexvis.protobuf.stream.SceneViewStateFeature
|
|
553
|
+
.SCENE_VIEW_STATE_FEATURE_CAMERA;
|
|
554
|
+
case 'material_overrides':
|
|
555
|
+
return streamAttributes.vertexvis.protobuf.stream.SceneViewStateFeature
|
|
556
|
+
.SCENE_VIEW_STATE_FEATURE_MATERIAL_OVERRIDE;
|
|
557
|
+
case 'selection':
|
|
558
|
+
return streamAttributes.vertexvis.protobuf.stream.SceneViewStateFeature
|
|
559
|
+
.SCENE_VIEW_STATE_FEATURE_SELECTION;
|
|
560
|
+
case 'visibility':
|
|
561
|
+
return streamAttributes.vertexvis.protobuf.stream.SceneViewStateFeature
|
|
562
|
+
.SCENE_VIEW_STATE_FEATURE_VISIBILITY;
|
|
563
|
+
case 'transforms':
|
|
564
|
+
return streamAttributes.vertexvis.protobuf.stream.SceneViewStateFeature
|
|
565
|
+
.SCENE_VIEW_STATE_FEATURE_TRANSFORM;
|
|
566
|
+
case 'cross_section':
|
|
567
|
+
return streamAttributes.vertexvis.protobuf.stream.SceneViewStateFeature
|
|
568
|
+
.SCENE_VIEW_STATE_FEATURE_CROSS_SECTION;
|
|
569
|
+
default:
|
|
570
|
+
return streamAttributes.vertexvis.protobuf.stream.SceneViewStateFeature
|
|
571
|
+
.SCENE_VIEW_STATE_FEATURE_INVALID;
|
|
572
|
+
}
|
|
573
|
+
});
|
|
574
|
+
}
|
|
554
575
|
|
|
555
576
|
const PI_OVER_360 = 0.008726646259972;
|
|
556
577
|
class TerminalFlyToExecutor {
|
|
@@ -618,9 +639,9 @@ class Camera {
|
|
|
618
639
|
this.flyToOptions = flyToOptions;
|
|
619
640
|
}
|
|
620
641
|
fitCameraToBoundingBox(boundingBox, distance, viewVector) {
|
|
621
|
-
const vvec = bundle_esm.vector3.scale(distance, bundle_esm.vector3.normalize(viewVector));
|
|
622
|
-
const lookAt = bundle_esm.boundingBox.center(boundingBox);
|
|
623
|
-
const position = bundle_esm.vector3.subtract(lookAt, vvec);
|
|
642
|
+
const vvec = bundle_esm$1.vector3.scale(distance, bundle_esm$1.vector3.normalize(viewVector));
|
|
643
|
+
const lookAt = bundle_esm$1.boundingBox.center(boundingBox);
|
|
644
|
+
const position = bundle_esm$1.vector3.subtract(lookAt, vvec);
|
|
624
645
|
return this.update({ lookAt, position, viewVector: vvec });
|
|
625
646
|
}
|
|
626
647
|
/**
|
|
@@ -631,9 +652,9 @@ class Camera {
|
|
|
631
652
|
*/
|
|
632
653
|
signedDistanceToBoundingBoxCenter(boundingBox) {
|
|
633
654
|
const { position, viewVector } = streamAttributes.withPositionAndViewVector(this.data);
|
|
634
|
-
const boundingBoxCenter = bundle_esm.boundingBox.center(boundingBox !== null && boundingBox !== void 0 ? boundingBox : this.boundingBox);
|
|
635
|
-
const cameraToCenter = bundle_esm.vector3.subtract(boundingBoxCenter, position);
|
|
636
|
-
return (bundle_esm.vector3.dot(viewVector, cameraToCenter) / bundle_esm.vector3.magnitude(viewVector));
|
|
655
|
+
const boundingBoxCenter = bundle_esm$1.boundingBox.center(boundingBox !== null && boundingBox !== void 0 ? boundingBox : this.boundingBox);
|
|
656
|
+
const cameraToCenter = bundle_esm$1.vector3.subtract(boundingBoxCenter, position);
|
|
657
|
+
return (bundle_esm$1.vector3.dot(viewVector, cameraToCenter) / bundle_esm$1.vector3.magnitude(viewVector));
|
|
637
658
|
}
|
|
638
659
|
/**
|
|
639
660
|
* Specifies that the next render of the camera will be repositioned to one of
|
|
@@ -715,22 +736,22 @@ class Camera {
|
|
|
715
736
|
* @param normal The normal of the plane to align to.
|
|
716
737
|
*/
|
|
717
738
|
alignTo(position, normal) {
|
|
718
|
-
const worldX = bundle_esm.vector3.normalize(bundle_esm.vector3.cross(this.up, bundle_esm.vector3.normalize(this.viewVector)));
|
|
719
|
-
const positiveWorldY = bundle_esm.vector3.normalize(bundle_esm.vector3.cross(bundle_esm.vector3.normalize(this.viewVector), worldX));
|
|
739
|
+
const worldX = bundle_esm$1.vector3.normalize(bundle_esm$1.vector3.cross(this.up, bundle_esm$1.vector3.normalize(this.viewVector)));
|
|
740
|
+
const positiveWorldY = bundle_esm$1.vector3.normalize(bundle_esm$1.vector3.cross(bundle_esm$1.vector3.normalize(this.viewVector), worldX));
|
|
720
741
|
// Invert the world y axis if the provided normal is more than 90 degrees from it
|
|
721
742
|
// to compute a proper angle to rotate the view vector by
|
|
722
|
-
const worldY = bundle_esm.vector3.angleTo(normal, positiveWorldY) > Math.PI / 2
|
|
723
|
-
? bundle_esm.vector3.negate(positiveWorldY)
|
|
743
|
+
const worldY = bundle_esm$1.vector3.angleTo(normal, positiveWorldY) > Math.PI / 2
|
|
744
|
+
? bundle_esm$1.vector3.negate(positiveWorldY)
|
|
724
745
|
: positiveWorldY;
|
|
725
|
-
const localX = bundle_esm.vector3.isEqual(worldY, normal)
|
|
746
|
+
const localX = bundle_esm$1.vector3.isEqual(worldY, normal)
|
|
726
747
|
? worldX
|
|
727
|
-
: bundle_esm.vector3.normalize(bundle_esm.vector3.cross(worldY, normal));
|
|
728
|
-
const transformedViewVector = bundle_esm.vector3.transformMatrix(this.viewVector, bundle_esm.matrix4.makeRotation(bundle_esm.quaternion.fromAxisAngle(localX, bundle_esm.vector3.angleTo(normal, worldY))));
|
|
729
|
-
const lookAtRay = bundle_esm.ray.create({
|
|
748
|
+
: bundle_esm$1.vector3.normalize(bundle_esm$1.vector3.cross(worldY, normal));
|
|
749
|
+
const transformedViewVector = bundle_esm$1.vector3.transformMatrix(this.viewVector, bundle_esm$1.matrix4.makeRotation(bundle_esm$1.quaternion.fromAxisAngle(localX, bundle_esm$1.vector3.angleTo(normal, worldY))));
|
|
750
|
+
const lookAtRay = bundle_esm$1.ray.create({
|
|
730
751
|
origin: position,
|
|
731
|
-
direction: bundle_esm.vector3.normalize(transformedViewVector),
|
|
752
|
+
direction: bundle_esm$1.vector3.normalize(transformedViewVector),
|
|
732
753
|
});
|
|
733
|
-
const lookAt = bundle_esm.ray.at(lookAtRay, bundle_esm.vector3.magnitude(this.viewVector));
|
|
754
|
+
const lookAt = bundle_esm$1.ray.at(lookAtRay, bundle_esm$1.vector3.magnitude(this.viewVector));
|
|
734
755
|
return this.update({
|
|
735
756
|
position,
|
|
736
757
|
lookAt,
|
|
@@ -747,8 +768,8 @@ class Camera {
|
|
|
747
768
|
standardView(standardView) {
|
|
748
769
|
return this.update({
|
|
749
770
|
position: standardView.position,
|
|
750
|
-
viewVector: bundle_esm.vector3.subtract(bundle_esm.vector3.origin(), standardView.position),
|
|
751
|
-
lookAt: bundle_esm.vector3.origin(),
|
|
771
|
+
viewVector: bundle_esm$1.vector3.subtract(bundle_esm$1.vector3.origin(), standardView.position),
|
|
772
|
+
lookAt: bundle_esm$1.vector3.origin(),
|
|
752
773
|
up: standardView.up,
|
|
753
774
|
});
|
|
754
775
|
}
|
|
@@ -786,21 +807,21 @@ class PerspectiveCamera extends Camera {
|
|
|
786
807
|
*/
|
|
787
808
|
moveBy(delta) {
|
|
788
809
|
return this.update({
|
|
789
|
-
position: bundle_esm.vector3.add(this.position, delta),
|
|
790
|
-
lookAt: bundle_esm.vector3.add(this.lookAt, delta),
|
|
810
|
+
position: bundle_esm$1.vector3.add(this.position, delta),
|
|
811
|
+
lookAt: bundle_esm$1.vector3.add(this.lookAt, delta),
|
|
791
812
|
});
|
|
792
813
|
}
|
|
793
814
|
rotateAroundAxisAtPoint(angleInRadians, point, axis) {
|
|
794
815
|
return this.update({
|
|
795
|
-
position: bundle_esm.vector3.rotateAboutAxis(angleInRadians, this.position, axis, point),
|
|
796
|
-
lookAt: bundle_esm.vector3.rotateAboutAxis(angleInRadians, this.lookAt, axis, point),
|
|
797
|
-
up: bundle_esm.vector3.rotateAboutAxis(angleInRadians, this.up, axis, bundle_esm.vector3.origin()),
|
|
816
|
+
position: bundle_esm$1.vector3.rotateAboutAxis(angleInRadians, this.position, axis, point),
|
|
817
|
+
lookAt: bundle_esm$1.vector3.rotateAboutAxis(angleInRadians, this.lookAt, axis, point),
|
|
818
|
+
up: bundle_esm$1.vector3.rotateAboutAxis(angleInRadians, this.up, axis, bundle_esm$1.vector3.origin()),
|
|
798
819
|
});
|
|
799
820
|
}
|
|
800
821
|
fitToBoundingBox(boundingBox) {
|
|
801
822
|
var _a;
|
|
802
823
|
const radius = 1.1 *
|
|
803
|
-
bundle_esm.vector3.magnitude(bundle_esm.vector3.subtract(boundingBox.max, bundle_esm.boundingBox.center(boundingBox)));
|
|
824
|
+
bundle_esm$1.vector3.magnitude(bundle_esm$1.vector3.subtract(boundingBox.max, bundle_esm$1.boundingBox.center(boundingBox)));
|
|
804
825
|
// ratio of the height of the frustum to the distance along the view vector
|
|
805
826
|
let hOverD = Math.tan(((_a = this.fovY) !== null && _a !== void 0 ? _a : 45) * PI_OVER_360);
|
|
806
827
|
if (this.aspect < 1.0) {
|
|
@@ -810,14 +831,16 @@ class PerspectiveCamera extends Camera {
|
|
|
810
831
|
return super.fitCameraToBoundingBox(boundingBox, distance, this.viewVector);
|
|
811
832
|
}
|
|
812
833
|
update(camera) {
|
|
813
|
-
|
|
834
|
+
var _a;
|
|
835
|
+
const fovY = (_a = camera.fovY) !== null && _a !== void 0 ? _a : this.fovY;
|
|
836
|
+
return new PerspectiveCamera(this.stream, this.aspect, Object.assign(Object.assign(Object.assign({}, this.perspectiveData), camera), { fovY }), this.boundingBox, this.decodeFrame, this.flyToOptions);
|
|
814
837
|
}
|
|
815
838
|
toFrameCamera() {
|
|
816
839
|
var _a;
|
|
817
840
|
return new streamAttributes.FramePerspectiveCamera(this.position, this.lookAt, this.up, this.near, this.far, this.aspectRatio, (_a = this.fovY) !== null && _a !== void 0 ? _a : 45);
|
|
818
841
|
}
|
|
819
842
|
get viewVector() {
|
|
820
|
-
return bundle_esm.vector3.subtract(this.lookAt, this.position);
|
|
843
|
+
return bundle_esm$1.vector3.subtract(this.lookAt, this.position);
|
|
821
844
|
}
|
|
822
845
|
/**
|
|
823
846
|
* The position vector for the camera, in world space coordinates.
|
|
@@ -880,21 +903,21 @@ class OrthographicCamera extends Camera {
|
|
|
880
903
|
*/
|
|
881
904
|
moveBy(delta) {
|
|
882
905
|
return this.update({
|
|
883
|
-
lookAt: bundle_esm.vector3.add(this.lookAt, delta),
|
|
906
|
+
lookAt: bundle_esm$1.vector3.add(this.lookAt, delta),
|
|
884
907
|
});
|
|
885
908
|
}
|
|
886
909
|
rotateAroundAxisAtPoint(angleInRadians, point, axis) {
|
|
887
|
-
const updatedLookAt = bundle_esm.vector3.rotateAboutAxis(angleInRadians, this.lookAt, axis, point);
|
|
888
|
-
const updatedPosition = bundle_esm.vector3.rotateAboutAxis(angleInRadians, this.position, axis, point);
|
|
889
|
-
const viewVector = streamAttributes.constrainViewVector(bundle_esm.vector3.subtract(updatedLookAt, updatedPosition), bundle_esm.boundingSphere.create(this.boundingBox));
|
|
910
|
+
const updatedLookAt = bundle_esm$1.vector3.rotateAboutAxis(angleInRadians, this.lookAt, axis, point);
|
|
911
|
+
const updatedPosition = bundle_esm$1.vector3.rotateAboutAxis(angleInRadians, this.position, axis, point);
|
|
912
|
+
const viewVector = streamAttributes.constrainViewVector(bundle_esm$1.vector3.subtract(updatedLookAt, updatedPosition), bundle_esm$1.boundingSphere.create(this.boundingBox));
|
|
890
913
|
return this.update({
|
|
891
914
|
viewVector: viewVector,
|
|
892
915
|
lookAt: updatedLookAt,
|
|
893
|
-
up: bundle_esm.vector3.rotateAboutAxis(angleInRadians, this.up, axis, bundle_esm.vector3.origin()),
|
|
916
|
+
up: bundle_esm$1.vector3.rotateAboutAxis(angleInRadians, this.up, axis, bundle_esm$1.vector3.origin()),
|
|
894
917
|
});
|
|
895
918
|
}
|
|
896
919
|
fitToBoundingBox(boundingBox) {
|
|
897
|
-
const boundingSphere = bundle_esm.boundingSphere.create(boundingBox);
|
|
920
|
+
const boundingSphere = bundle_esm$1.boundingSphere.create(boundingBox);
|
|
898
921
|
const fitAll = super.fitCameraToBoundingBox(boundingBox, boundingSphere.radius, this.viewVector);
|
|
899
922
|
return this.update({
|
|
900
923
|
lookAt: fitAll.lookAt,
|
|
@@ -906,13 +929,13 @@ class OrthographicCamera extends Camera {
|
|
|
906
929
|
return new OrthographicCamera(this.stream, this.aspect, Object.assign(Object.assign({}, this.orthographicData), camera), this.boundingBox, this.decodeFrame, this.flyToOptions);
|
|
907
930
|
}
|
|
908
931
|
toFrameCamera() {
|
|
909
|
-
return new streamAttributes.FrameOrthographicCamera(streamAttributes.constrainViewVector(this.viewVector, bundle_esm.boundingSphere.create(this.boundingBox)), this.lookAt, this.up, this.near, this.far, this.aspectRatio, this.fovHeight);
|
|
932
|
+
return new streamAttributes.FrameOrthographicCamera(streamAttributes.constrainViewVector(this.viewVector, bundle_esm$1.boundingSphere.create(this.boundingBox)), this.lookAt, this.up, this.near, this.far, this.aspectRatio, this.fovHeight);
|
|
910
933
|
}
|
|
911
934
|
get viewVector() {
|
|
912
935
|
return Object.assign({}, this.orthographicData.viewVector);
|
|
913
936
|
}
|
|
914
937
|
get position() {
|
|
915
|
-
return bundle_esm.vector3.add(this.lookAt, bundle_esm.vector3.negate(this.viewVector));
|
|
938
|
+
return bundle_esm$1.vector3.add(this.lookAt, bundle_esm$1.vector3.negate(this.viewVector));
|
|
916
939
|
}
|
|
917
940
|
/**
|
|
918
941
|
* A normalized vector representing the up direction.
|
|
@@ -974,7 +997,7 @@ class Raycaster {
|
|
|
974
997
|
async hitItems(point, options) {
|
|
975
998
|
const scale = this.imageScaleProvider();
|
|
976
999
|
const res = await this.stream.hitItems({
|
|
977
|
-
point: bundle_esm.point.scale(point, (scale === null || scale === void 0 ? void 0 : scale.x) || 1, (scale === null || scale === void 0 ? void 0 : scale.y) || 1),
|
|
1000
|
+
point: bundle_esm$1.point.scale(point, (scale === null || scale === void 0 ? void 0 : scale.x) || 1, (scale === null || scale === void 0 ? void 0 : scale.y) || 1),
|
|
978
1001
|
includeMetadata: options === null || options === void 0 ? void 0 : options.includeMetadata,
|
|
979
1002
|
}, true);
|
|
980
1003
|
return res.hitItems || undefined;
|
|
@@ -1043,58 +1066,97 @@ class SceneOperationBuilder {
|
|
|
1043
1066
|
}
|
|
1044
1067
|
}
|
|
1045
1068
|
|
|
1069
|
+
/**
|
|
1070
|
+
* An interface that represents a query is "complete" and can be turned into an
|
|
1071
|
+
* expression.
|
|
1072
|
+
*/
|
|
1073
|
+
class TerminalQuery {
|
|
1074
|
+
constructor(inverted) {
|
|
1075
|
+
this.inverted = inverted;
|
|
1076
|
+
}
|
|
1077
|
+
build() {
|
|
1078
|
+
if (this.inverted) {
|
|
1079
|
+
return {
|
|
1080
|
+
type: 'not',
|
|
1081
|
+
query: this.queryExpressionBuilder(),
|
|
1082
|
+
};
|
|
1083
|
+
}
|
|
1084
|
+
else {
|
|
1085
|
+
return this.queryExpressionBuilder();
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
}
|
|
1046
1089
|
class RootQuery {
|
|
1090
|
+
constructor(inverted = false) {
|
|
1091
|
+
this.inverted = inverted;
|
|
1092
|
+
}
|
|
1047
1093
|
all() {
|
|
1048
1094
|
return new AllQuery();
|
|
1049
1095
|
}
|
|
1096
|
+
not() {
|
|
1097
|
+
return new NotQuery(!this.inverted);
|
|
1098
|
+
}
|
|
1050
1099
|
withItemIds(ids) {
|
|
1051
|
-
return new BulkQuery(ids, 'item-id');
|
|
1100
|
+
return new BulkQuery(ids, 'item-id', this.inverted);
|
|
1052
1101
|
}
|
|
1053
1102
|
withSuppliedIds(ids) {
|
|
1054
|
-
return new BulkQuery(ids, 'supplied-id');
|
|
1103
|
+
return new BulkQuery(ids, 'supplied-id', this.inverted);
|
|
1055
1104
|
}
|
|
1056
1105
|
withItemId(id) {
|
|
1057
|
-
return new SingleQuery({ type: 'item-id', value: id });
|
|
1106
|
+
return new SingleQuery({ type: 'item-id', value: id }, this.inverted);
|
|
1058
1107
|
}
|
|
1059
1108
|
withSuppliedId(id) {
|
|
1060
|
-
return new SingleQuery({ type: 'supplied-id', value: id });
|
|
1109
|
+
return new SingleQuery({ type: 'supplied-id', value: id }, this.inverted);
|
|
1061
1110
|
}
|
|
1062
1111
|
withSceneTreeRange(range) {
|
|
1063
|
-
return new SceneTreeRangeQuery(range);
|
|
1112
|
+
return new SceneTreeRangeQuery(range, this.inverted);
|
|
1064
1113
|
}
|
|
1065
1114
|
withMetadata(filter, keys, exactMatch) {
|
|
1066
|
-
return new MetadataQuery(filter, keys, exactMatch);
|
|
1115
|
+
return new MetadataQuery(filter, keys, exactMatch, this.inverted);
|
|
1067
1116
|
}
|
|
1068
1117
|
withSelected() {
|
|
1069
|
-
return new AllSelectedQuery();
|
|
1118
|
+
return new AllSelectedQuery(this.inverted);
|
|
1070
1119
|
}
|
|
1071
1120
|
withPoint(point) {
|
|
1072
|
-
return new PointQuery(point);
|
|
1121
|
+
return new PointQuery(point, this.inverted);
|
|
1122
|
+
}
|
|
1123
|
+
withVolumeIntersection(rectangle, exclusive) {
|
|
1124
|
+
return new VolumeIntersectionQuery(rectangle, this.inverted, exclusive);
|
|
1073
1125
|
}
|
|
1074
1126
|
}
|
|
1075
|
-
class
|
|
1076
|
-
|
|
1127
|
+
class NotQuery extends RootQuery {
|
|
1128
|
+
constructor(inverted) {
|
|
1129
|
+
super(inverted);
|
|
1130
|
+
}
|
|
1131
|
+
}
|
|
1132
|
+
class AllQuery extends TerminalQuery {
|
|
1133
|
+
constructor(inverted = false) {
|
|
1134
|
+
super(inverted);
|
|
1135
|
+
}
|
|
1136
|
+
queryExpressionBuilder() {
|
|
1077
1137
|
return { type: 'all' };
|
|
1078
1138
|
}
|
|
1079
1139
|
}
|
|
1080
|
-
class SceneTreeRangeQuery {
|
|
1081
|
-
constructor(range) {
|
|
1140
|
+
class SceneTreeRangeQuery extends TerminalQuery {
|
|
1141
|
+
constructor(range, inverted) {
|
|
1142
|
+
super(inverted);
|
|
1082
1143
|
this.range = range;
|
|
1083
1144
|
}
|
|
1084
|
-
|
|
1145
|
+
queryExpressionBuilder() {
|
|
1085
1146
|
return {
|
|
1086
1147
|
type: 'scene-tree-range',
|
|
1087
1148
|
range: this.range,
|
|
1088
1149
|
};
|
|
1089
1150
|
}
|
|
1090
1151
|
}
|
|
1091
|
-
class MetadataQuery {
|
|
1092
|
-
constructor(filter, keys, exactMatch) {
|
|
1152
|
+
class MetadataQuery extends TerminalQuery {
|
|
1153
|
+
constructor(filter, keys, exactMatch, inverted) {
|
|
1154
|
+
super(inverted);
|
|
1093
1155
|
this.filter = filter;
|
|
1094
1156
|
this.keys = keys;
|
|
1095
1157
|
this.exactMatch = exactMatch;
|
|
1096
1158
|
}
|
|
1097
|
-
|
|
1159
|
+
queryExpressionBuilder() {
|
|
1098
1160
|
return {
|
|
1099
1161
|
type: 'metadata',
|
|
1100
1162
|
filter: this.filter,
|
|
@@ -1103,30 +1165,49 @@ class MetadataQuery {
|
|
|
1103
1165
|
};
|
|
1104
1166
|
}
|
|
1105
1167
|
}
|
|
1106
|
-
class AllSelectedQuery {
|
|
1107
|
-
|
|
1168
|
+
class AllSelectedQuery extends TerminalQuery {
|
|
1169
|
+
constructor(inverted) {
|
|
1170
|
+
super(inverted);
|
|
1171
|
+
}
|
|
1172
|
+
queryExpressionBuilder() {
|
|
1108
1173
|
return {
|
|
1109
1174
|
type: 'all-selected',
|
|
1110
1175
|
};
|
|
1111
1176
|
}
|
|
1112
1177
|
}
|
|
1113
|
-
class PointQuery {
|
|
1114
|
-
constructor(point) {
|
|
1178
|
+
class PointQuery extends TerminalQuery {
|
|
1179
|
+
constructor(point, inverted) {
|
|
1180
|
+
super(inverted);
|
|
1115
1181
|
this.point = point;
|
|
1116
1182
|
}
|
|
1117
|
-
|
|
1183
|
+
queryExpressionBuilder() {
|
|
1118
1184
|
return {
|
|
1119
1185
|
type: 'point',
|
|
1120
1186
|
point: this.point,
|
|
1121
1187
|
};
|
|
1122
1188
|
}
|
|
1123
1189
|
}
|
|
1124
|
-
class
|
|
1125
|
-
constructor(
|
|
1190
|
+
class VolumeIntersectionQuery extends TerminalQuery {
|
|
1191
|
+
constructor(rectangle, inverted, exclusive) {
|
|
1192
|
+
super(inverted);
|
|
1193
|
+
this.rectangle = rectangle;
|
|
1194
|
+
this.exclusive = exclusive;
|
|
1195
|
+
}
|
|
1196
|
+
queryExpressionBuilder() {
|
|
1197
|
+
return {
|
|
1198
|
+
type: 'volume-intersection',
|
|
1199
|
+
rectangle: this.rectangle,
|
|
1200
|
+
exclusive: !!this.exclusive,
|
|
1201
|
+
};
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
1204
|
+
class BulkQuery extends TerminalQuery {
|
|
1205
|
+
constructor(ids, type, inverted) {
|
|
1206
|
+
super(inverted);
|
|
1126
1207
|
this.ids = ids;
|
|
1127
1208
|
this.type = type;
|
|
1128
1209
|
}
|
|
1129
|
-
|
|
1210
|
+
queryExpressionBuilder() {
|
|
1130
1211
|
return {
|
|
1131
1212
|
type: 'or',
|
|
1132
1213
|
expressions: this.ids.map((id) => {
|
|
@@ -1138,55 +1219,52 @@ class BulkQuery {
|
|
|
1138
1219
|
};
|
|
1139
1220
|
}
|
|
1140
1221
|
}
|
|
1141
|
-
class SingleQuery {
|
|
1142
|
-
constructor(query) {
|
|
1222
|
+
class SingleQuery extends TerminalQuery {
|
|
1223
|
+
constructor(query, inverted) {
|
|
1224
|
+
super(inverted);
|
|
1143
1225
|
this.query = query;
|
|
1144
1226
|
}
|
|
1145
|
-
|
|
1227
|
+
queryExpressionBuilder() {
|
|
1146
1228
|
return Object.assign({}, this.query);
|
|
1147
1229
|
}
|
|
1148
1230
|
and() {
|
|
1149
|
-
return new AndQuery([this.query]);
|
|
1231
|
+
return new AndQuery([this.query], this.inverted);
|
|
1150
1232
|
}
|
|
1151
1233
|
or() {
|
|
1152
|
-
return new OrQuery([this.query]);
|
|
1234
|
+
return new OrQuery([this.query], this.inverted);
|
|
1153
1235
|
}
|
|
1154
1236
|
}
|
|
1155
|
-
class OrQuery {
|
|
1156
|
-
constructor(expressions) {
|
|
1237
|
+
class OrQuery extends TerminalQuery {
|
|
1238
|
+
constructor(expressions, inverted) {
|
|
1239
|
+
super(inverted);
|
|
1157
1240
|
this.expressions = expressions;
|
|
1158
1241
|
}
|
|
1159
|
-
|
|
1242
|
+
queryExpressionBuilder() {
|
|
1160
1243
|
return { type: 'or', expressions: [...this.expressions] };
|
|
1161
1244
|
}
|
|
1162
1245
|
withItemId(id) {
|
|
1163
|
-
return new OrQuery([...this.expressions, { type: 'item-id', value: id }]);
|
|
1246
|
+
return new OrQuery([...this.expressions, { type: 'item-id', value: id }], this.inverted);
|
|
1164
1247
|
}
|
|
1165
1248
|
withSuppliedId(id) {
|
|
1166
|
-
return new OrQuery([
|
|
1167
|
-
...this.expressions,
|
|
1168
|
-
{ type: 'supplied-id', value: id },
|
|
1169
|
-
]);
|
|
1249
|
+
return new OrQuery([...this.expressions, { type: 'supplied-id', value: id }], this.inverted);
|
|
1170
1250
|
}
|
|
1171
1251
|
or() {
|
|
1172
1252
|
return this;
|
|
1173
1253
|
}
|
|
1174
1254
|
}
|
|
1175
|
-
class AndQuery {
|
|
1176
|
-
constructor(expressions) {
|
|
1255
|
+
class AndQuery extends TerminalQuery {
|
|
1256
|
+
constructor(expressions, inverted) {
|
|
1257
|
+
super(inverted);
|
|
1177
1258
|
this.expressions = expressions;
|
|
1178
1259
|
}
|
|
1179
|
-
|
|
1260
|
+
queryExpressionBuilder() {
|
|
1180
1261
|
return { type: 'and', expressions: [...this.expressions] };
|
|
1181
1262
|
}
|
|
1182
1263
|
withItemId(id) {
|
|
1183
|
-
return new AndQuery([...this.expressions, { type: 'item-id', value: id }]);
|
|
1264
|
+
return new AndQuery([...this.expressions, { type: 'item-id', value: id }], this.inverted);
|
|
1184
1265
|
}
|
|
1185
1266
|
withSuppliedId(id) {
|
|
1186
|
-
return new AndQuery([
|
|
1187
|
-
...this.expressions,
|
|
1188
|
-
{ type: 'supplied-id', value: id },
|
|
1189
|
-
]);
|
|
1267
|
+
return new AndQuery([...this.expressions, { type: 'supplied-id', value: id }], this.inverted);
|
|
1190
1268
|
}
|
|
1191
1269
|
and() {
|
|
1192
1270
|
return this;
|
|
@@ -1245,7 +1323,7 @@ class SceneItemOperationsBuilder {
|
|
|
1245
1323
|
transform(matrix) {
|
|
1246
1324
|
if (Array.isArray(matrix)) {
|
|
1247
1325
|
if (matrix.length !== 16) {
|
|
1248
|
-
throw new InvalidArgumentError('Matrix provided must contain exactly 16 values (4x4).');
|
|
1326
|
+
throw new errors.InvalidArgumentError('Matrix provided must contain exactly 16 values (4x4).');
|
|
1249
1327
|
}
|
|
1250
1328
|
return new SceneItemOperationsBuilder(this.query, this.defaultSelectionMaterial, this.builder.transform({
|
|
1251
1329
|
r0: {
|
|
@@ -1334,12 +1412,20 @@ class Scene {
|
|
|
1334
1412
|
* Applies the provided scene view state to the scene.
|
|
1335
1413
|
*/
|
|
1336
1414
|
async applySceneViewState(sceneViewStateId, opts = {}) {
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
frameCorrelationId: opts.suppliedCorrelationId
|
|
1415
|
+
const pbIdField = buildSceneViewStateIdentifier(sceneViewStateId);
|
|
1416
|
+
return await this.stream.loadSceneViewState(Object.assign(Object.assign({}, pbIdField), { frameCorrelationId: opts.suppliedCorrelationId
|
|
1340
1417
|
? { value: opts.suppliedCorrelationId }
|
|
1341
|
-
: undefined,
|
|
1342
|
-
|
|
1418
|
+
: undefined }), true);
|
|
1419
|
+
}
|
|
1420
|
+
/**
|
|
1421
|
+
* Applies the specified features of the provided scene view state to the scene.
|
|
1422
|
+
*/
|
|
1423
|
+
async applyPartialSceneViewState(sceneViewStateId, featuresToApply, opts = {}) {
|
|
1424
|
+
const pbIdField = buildSceneViewStateIdentifier(sceneViewStateId);
|
|
1425
|
+
const pbFeatures = toPbSceneViewStateFeatures(featuresToApply);
|
|
1426
|
+
return await this.stream.loadSceneViewState(Object.assign(Object.assign({}, pbIdField), { frameCorrelationId: opts.suppliedCorrelationId
|
|
1427
|
+
? { value: opts.suppliedCorrelationId }
|
|
1428
|
+
: undefined, sceneViewStateFeatureSubset: pbFeatures }), true);
|
|
1343
1429
|
}
|
|
1344
1430
|
/**
|
|
1345
1431
|
* Resets the view to its default state, with the ability to reset the camera to that of the base scene.
|
|
@@ -1371,7 +1457,7 @@ class Scene {
|
|
|
1371
1457
|
camera() {
|
|
1372
1458
|
const { scene } = this.frame;
|
|
1373
1459
|
if (scene.camera.isOrthographic()) {
|
|
1374
|
-
return new OrthographicCamera(this.stream, bundle_esm.dimensions.aspectRatio(this.viewport()), {
|
|
1460
|
+
return new OrthographicCamera(this.stream, bundle_esm$1.dimensions.aspectRatio(this.viewport()), {
|
|
1375
1461
|
viewVector: scene.camera.viewVector,
|
|
1376
1462
|
lookAt: scene.camera.lookAt,
|
|
1377
1463
|
up: scene.camera.up,
|
|
@@ -1379,7 +1465,7 @@ class Scene {
|
|
|
1379
1465
|
}, this.frame.scene.boundingBox, this.decodeFrame);
|
|
1380
1466
|
}
|
|
1381
1467
|
else if (scene.camera.isPerspective()) {
|
|
1382
|
-
return new PerspectiveCamera(this.stream, bundle_esm.dimensions.aspectRatio(this.viewport()), {
|
|
1468
|
+
return new PerspectiveCamera(this.stream, bundle_esm$1.dimensions.aspectRatio(this.viewport()), {
|
|
1383
1469
|
position: scene.camera.position,
|
|
1384
1470
|
lookAt: scene.camera.lookAt,
|
|
1385
1471
|
up: scene.camera.up,
|
|
@@ -1387,7 +1473,7 @@ class Scene {
|
|
|
1387
1473
|
}, this.frame.scene.boundingBox, this.decodeFrame);
|
|
1388
1474
|
}
|
|
1389
1475
|
else {
|
|
1390
|
-
throw new InvalidCameraError('Cannot retrieve camera. Scene has an unknown or invalid camera type.');
|
|
1476
|
+
throw new errors.InvalidCameraError('Cannot retrieve camera. Scene has an unknown or invalid camera type.');
|
|
1391
1477
|
}
|
|
1392
1478
|
}
|
|
1393
1479
|
boundingBox() {
|
|
@@ -1415,20 +1501,12 @@ class Scene {
|
|
|
1415
1501
|
* The current x and y scale of the rendered image.
|
|
1416
1502
|
*/
|
|
1417
1503
|
scale() {
|
|
1418
|
-
return this.imageScaleProvider() || bundle_esm.point.create(1, 1);
|
|
1504
|
+
return this.imageScaleProvider() || bundle_esm$1.point.create(1, 1);
|
|
1419
1505
|
}
|
|
1420
1506
|
}
|
|
1421
1507
|
|
|
1422
|
-
exports.ComponentInitializationError = ComponentInitializationError;
|
|
1423
|
-
exports.CustomError = CustomError;
|
|
1424
|
-
exports.IllegalStateError = IllegalStateError;
|
|
1425
|
-
exports.ImageLoadError = ImageLoadError;
|
|
1426
|
-
exports.InteractionHandlerError = InteractionHandlerError;
|
|
1427
1508
|
exports.Scene = Scene;
|
|
1428
|
-
exports.SceneRenderError = SceneRenderError;
|
|
1429
1509
|
exports.SynchronizedClock = SynchronizedClock;
|
|
1430
|
-
exports.ViewerInitializationError = ViewerInitializationError;
|
|
1431
|
-
exports.WebsocketConnectionError = WebsocketConnectionError;
|
|
1432
1510
|
exports.colorMaterial = colorMaterial;
|
|
1433
1511
|
exports.defaultSelectionMaterial = defaultSelectionMaterial;
|
|
1434
1512
|
exports.fromHex = fromHex;
|