@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,6 +1,6 @@
|
|
|
1
1
|
import { Node } from '@vertexvis/scene-tree-protos/scenetree/protos/domain_pb';
|
|
2
|
-
import { GetTreeResponse } from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb';
|
|
3
|
-
import { SceneTreeAPIClient } from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb_service';
|
|
2
|
+
import { GetTreeResponse, SubscribeResponse } from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb';
|
|
3
|
+
import { ResponseStream, SceneTreeAPIClient } from '@vertexvis/scene-tree-protos/scenetree/protos/scene_tree_api_pb_service';
|
|
4
4
|
import { Disposable, EventDispatcher, Listener } from '@vertexvis/utils';
|
|
5
5
|
import { MetadataKey } from '../interfaces';
|
|
6
6
|
import { SceneTreeErrorDetails } from './errors';
|
|
@@ -36,11 +36,16 @@ export interface ConnectingState {
|
|
|
36
36
|
jwtProvider: JwtProvider;
|
|
37
37
|
sceneViewId: string;
|
|
38
38
|
}
|
|
39
|
+
export interface SubscriptionStatusState {
|
|
40
|
+
attempt: number;
|
|
41
|
+
stream: ResponseStream<SubscribeResponse>;
|
|
42
|
+
}
|
|
39
43
|
export interface ConnectedState {
|
|
40
44
|
type: 'connected';
|
|
41
45
|
jwtProvider: JwtProvider;
|
|
42
46
|
sceneViewId: string;
|
|
43
47
|
subscription: Disposable;
|
|
48
|
+
subscriptionStatusState?: SubscriptionStatusState;
|
|
44
49
|
}
|
|
45
50
|
export interface ConnectionFailedState {
|
|
46
51
|
type: 'failure';
|
|
@@ -48,6 +53,11 @@ export interface ConnectionFailedState {
|
|
|
48
53
|
jwtProvider: JwtProvider;
|
|
49
54
|
sceneViewId: string;
|
|
50
55
|
}
|
|
56
|
+
export interface ConnectionCancelledState {
|
|
57
|
+
type: 'cancelled';
|
|
58
|
+
jwtProvider?: JwtProvider;
|
|
59
|
+
sceneViewId?: string;
|
|
60
|
+
}
|
|
51
61
|
/**
|
|
52
62
|
* A set of options to configure tree filtering behavior.
|
|
53
63
|
*/
|
|
@@ -66,7 +76,7 @@ export interface FilterTreeOptions {
|
|
|
66
76
|
*/
|
|
67
77
|
columns?: MetadataKey[];
|
|
68
78
|
}
|
|
69
|
-
declare type ConnectionState = DisconnectedState | ConnectingState | ConnectedState | ConnectionFailedState;
|
|
79
|
+
declare type ConnectionState = DisconnectedState | ConnectingState | ConnectedState | ConnectionFailedState | ConnectionCancelledState;
|
|
70
80
|
/**
|
|
71
81
|
* The `SceneTreeController` is responsible for coordinating interactions of the
|
|
72
82
|
* view, fetching and mutating tree data on the server, maintaining state and
|
|
@@ -78,6 +88,7 @@ export declare class SceneTreeController {
|
|
|
78
88
|
private connectOptions;
|
|
79
89
|
private static IDLE_RECONNECT_IN_SECONDS;
|
|
80
90
|
private static LOST_CONNECTION_RECONNECT_IN_SECONDS;
|
|
91
|
+
private static MAX_SUBSCRIPTION_RETRY_COUNT;
|
|
81
92
|
private nextPageId;
|
|
82
93
|
private pages;
|
|
83
94
|
private activeRowRange;
|
|
@@ -109,6 +120,7 @@ export declare class SceneTreeController {
|
|
|
109
120
|
*/
|
|
110
121
|
stateChanged(listener: Listener<SceneTreeState | undefined>): Disposable;
|
|
111
122
|
setDebugLogs(debugLogs: boolean): void;
|
|
123
|
+
private handleSubscriptionHandshakeTimeout;
|
|
112
124
|
connect(jwtProvider: JwtProvider): Promise<void>;
|
|
113
125
|
private clearReconnectTimer;
|
|
114
126
|
private clearHandshakeTimer;
|
|
@@ -117,6 +129,7 @@ export declare class SceneTreeController {
|
|
|
117
129
|
private startReconnectTimer;
|
|
118
130
|
connectToViewer(viewer: HTMLVertexViewerElement): Disposable;
|
|
119
131
|
disconnect(reset?: boolean): void;
|
|
132
|
+
cancel(): void;
|
|
120
133
|
/**
|
|
121
134
|
* Collapses a node with the given node ID.
|
|
122
135
|
*
|
|
@@ -248,11 +261,13 @@ export declare class SceneTreeController {
|
|
|
248
261
|
private requestServerStream;
|
|
249
262
|
private createJwtMetadata;
|
|
250
263
|
private ifConnectionHasJwt;
|
|
264
|
+
private ifErrorIsFatal;
|
|
251
265
|
private getConnectionError;
|
|
252
266
|
private constrainPageRange;
|
|
253
267
|
private constrainPageIndex;
|
|
254
268
|
private constrainRowOffsets;
|
|
255
269
|
private get maxPages();
|
|
256
270
|
private log;
|
|
271
|
+
private isConnectedState;
|
|
257
272
|
}
|
|
258
273
|
export {};
|
|
@@ -1,13 +1,28 @@
|
|
|
1
|
+
import { CustomError } from '../../../lib/errors';
|
|
1
2
|
export declare enum SceneTreeErrorCode {
|
|
2
3
|
UNKNOWN = 0,
|
|
3
4
|
SCENE_TREE_DISABLED = 1,
|
|
4
5
|
MISSING_VIEWER = 2,
|
|
5
6
|
DISCONNECTED = 3,
|
|
6
|
-
SUBSCRIPTION_FAILURE = 4
|
|
7
|
+
SUBSCRIPTION_FAILURE = 4,
|
|
8
|
+
UNAUTHORIZED = 5
|
|
7
9
|
}
|
|
8
10
|
export declare class SceneTreeErrorDetails {
|
|
11
|
+
readonly name: keyof typeof SceneTreeErrorCode;
|
|
9
12
|
readonly code: SceneTreeErrorCode;
|
|
10
13
|
readonly link?: string | undefined;
|
|
11
14
|
readonly message: string;
|
|
12
|
-
constructor(code: SceneTreeErrorCode, link?: string | undefined);
|
|
15
|
+
constructor(name: keyof typeof SceneTreeErrorCode, code: SceneTreeErrorCode, link?: string | undefined);
|
|
16
|
+
}
|
|
17
|
+
export declare class SceneTreeError extends CustomError {
|
|
18
|
+
constructor(message: string, e?: Error);
|
|
19
|
+
}
|
|
20
|
+
export declare class SceneTreeUnauthorizedError extends SceneTreeError {
|
|
21
|
+
constructor(message: string, e?: Error);
|
|
22
|
+
}
|
|
23
|
+
export declare class SceneTreeConnectionCancelledError extends SceneTreeError {
|
|
24
|
+
constructor(message: string, e?: Error);
|
|
25
|
+
}
|
|
26
|
+
export declare class SceneTreeOperationFailedError extends SceneTreeError {
|
|
27
|
+
constructor(message: string, e?: Error);
|
|
13
28
|
}
|
|
@@ -264,6 +264,7 @@ export declare class Viewer {
|
|
|
264
264
|
private resizeTimer?;
|
|
265
265
|
private interactionHandlers;
|
|
266
266
|
private defaultInteractionHandlerDisposables;
|
|
267
|
+
private tapHandlerDisposable?;
|
|
267
268
|
private interactionApi;
|
|
268
269
|
private tapKeyInteractions;
|
|
269
270
|
private defaultTapKeyInteractions;
|
|
@@ -489,6 +490,7 @@ export declare class Viewer {
|
|
|
489
490
|
private clearDefaultKeyboardInteractions;
|
|
490
491
|
private initializeDefaultCameraInteractionHandlers;
|
|
491
492
|
private initializeDefaultKeyboardInteractionHandlers;
|
|
493
|
+
private initializeDefaultTapInteractionHandler;
|
|
492
494
|
private initializeInteractionHandler;
|
|
493
495
|
private createInteractionApi;
|
|
494
496
|
private handleCursorChanged;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { h } from '../../stencil-public-runtime';
|
|
2
|
+
import { VolumeIntersectionQueryController } from '../../lib/volume-intersection/controller';
|
|
3
|
+
import { VolumeIntersectionQueryModel } from '../../lib/volume-intersection/model';
|
|
4
|
+
export declare type VolumeIntersectionQueryType = 'clearAndSelect' | 'select' | 'deselect';
|
|
5
|
+
export declare type VolumeIntersectionQueryMode = 'exclusive' | 'inclusive';
|
|
6
|
+
/**
|
|
7
|
+
* The `ViewerBoxQueryTool` allows for the drawing of a "box" on screen to represent
|
|
8
|
+
* a query for items in a specific area of the viewer. This tool then allows for an
|
|
9
|
+
* operation to be performed on the items contained (exclusive) by the box or both
|
|
10
|
+
* contained by and intersecting with (inclusive) the box.
|
|
11
|
+
*/
|
|
12
|
+
export declare class ViewerBoxQueryTool {
|
|
13
|
+
/**
|
|
14
|
+
* The viewer that this component is bound to. This is automatically assigned
|
|
15
|
+
* if added to the light-dom of a parent viewer element.
|
|
16
|
+
*/
|
|
17
|
+
viewer?: HTMLVertexViewerElement;
|
|
18
|
+
/**
|
|
19
|
+
* The controller that is responsible for performing operations using the
|
|
20
|
+
* volume intersection query defined by the drawn box and updating the model.
|
|
21
|
+
*/
|
|
22
|
+
controller?: VolumeIntersectionQueryController;
|
|
23
|
+
/**
|
|
24
|
+
* The model that contains the points representing the corners of the box
|
|
25
|
+
* displayed on screen, the type of the query to be performed, and methods
|
|
26
|
+
* for setting these values.
|
|
27
|
+
*/
|
|
28
|
+
model?: VolumeIntersectionQueryModel;
|
|
29
|
+
/**
|
|
30
|
+
* The default operation to perform when a drag has completed and the intersection
|
|
31
|
+
* query will be run. Defaults to `clearAndSelect`, and can be changed to `select` or `deselect`.
|
|
32
|
+
*
|
|
33
|
+
* `clearAndSelect` will clear all existing selection, and select the results of the query.
|
|
34
|
+
* `select` will maintain existing selection, and select the results of the query.
|
|
35
|
+
* `deselect` will maintain existing selection, and deselect the results of the query.
|
|
36
|
+
*
|
|
37
|
+
* The operation behavior for this intersection query tool can also be changed by
|
|
38
|
+
* providing a custom implementation of the `VolumeIntersectionQueryController`, or
|
|
39
|
+
* by using the `setOperationTransform` method of the default controller.
|
|
40
|
+
*/
|
|
41
|
+
operationType: VolumeIntersectionQueryType;
|
|
42
|
+
/**
|
|
43
|
+
* An optional value to specify a singular mode of intersection query. This value
|
|
44
|
+
* defaults to `undefined`, which will indicate that both `exclusive` and `inclusive`
|
|
45
|
+
* queries should be made, with `inclusive` being represented by a left to right
|
|
46
|
+
* drag behavior and `exclusive` being represented by a right to left drag.
|
|
47
|
+
*
|
|
48
|
+
* Setting this value to `inclusive` will cause dragging left to right and left to right
|
|
49
|
+
* to result in an `inclusive` query, and the box will only be styled for `inclusive` queries.
|
|
50
|
+
*
|
|
51
|
+
* Setting this value to `exclusive` will cause dragging left to right and left to right
|
|
52
|
+
* to result in an `exclusive` query, and the box will only be styled for `exclusive` queries.
|
|
53
|
+
*/
|
|
54
|
+
mode?: VolumeIntersectionQueryMode;
|
|
55
|
+
private details?;
|
|
56
|
+
private hostEl;
|
|
57
|
+
private interactionHandler?;
|
|
58
|
+
private interactionHandlerDisposable?;
|
|
59
|
+
private operationStartedDisposable?;
|
|
60
|
+
private operationCompleteDisposable?;
|
|
61
|
+
private screenBoundsChangedDisposable?;
|
|
62
|
+
constructor();
|
|
63
|
+
componentWillLoad(): void;
|
|
64
|
+
disconnectedCallback(): void;
|
|
65
|
+
/**
|
|
66
|
+
* @ignore
|
|
67
|
+
*/
|
|
68
|
+
protected handleViewerChanged(newViewer?: HTMLVertexViewerElement): void;
|
|
69
|
+
/**
|
|
70
|
+
* @ignore
|
|
71
|
+
*/
|
|
72
|
+
protected handleDefaultOperationChange(updatedOperationType: VolumeIntersectionQueryType): void;
|
|
73
|
+
/**
|
|
74
|
+
* @ignore
|
|
75
|
+
*/
|
|
76
|
+
protected handleModeChange(updatedMode?: VolumeIntersectionQueryMode): void;
|
|
77
|
+
/**
|
|
78
|
+
* @ignore
|
|
79
|
+
*/
|
|
80
|
+
protected handleControllerChange(controller?: VolumeIntersectionQueryController): void;
|
|
81
|
+
/**
|
|
82
|
+
* @ignore
|
|
83
|
+
*/
|
|
84
|
+
protected render(): h.JSX.IntrinsicElements;
|
|
85
|
+
private handleScreenBoundsChanged;
|
|
86
|
+
private handleExecuteStarted;
|
|
87
|
+
private handleExecuteComplete;
|
|
88
|
+
private registerInteractionHandler;
|
|
89
|
+
private deregisterInteractionHandler;
|
|
90
|
+
private updateTypeAttribute;
|
|
91
|
+
private setDefaultClearAndSelectOperation;
|
|
92
|
+
private setDefaultSelectOperation;
|
|
93
|
+
private setDefaultDeselectOperation;
|
|
94
|
+
}
|
|
@@ -8,4 +8,4 @@ export declare function translatePointToScreen(pt: Point.Point, canvasDimensions
|
|
|
8
8
|
/**
|
|
9
9
|
* Translates a point in screen units to a point in relative units.
|
|
10
10
|
*/
|
|
11
|
-
export declare function translatePointToRelative(pt: Point.Point, canvasDimensions: Dimensions.Dimensions): Point.Point;
|
|
11
|
+
export declare function translatePointToRelative(pt: Point.Point, canvasDimensions: Dimensions.Dimensions, includeOffset?: boolean, xOffset?: number, yOffset?: number): Point.Point;
|
|
@@ -33,6 +33,9 @@ import { KeyInteraction } from "./lib/interactions/keyInteraction";
|
|
|
33
33
|
import { Cursor } from "./lib/cursors";
|
|
34
34
|
import { BaseInteractionHandler } from "./lib/interactions/baseInteractionHandler";
|
|
35
35
|
import { Scene } from "./lib/scenes/scene";
|
|
36
|
+
import { VolumeIntersectionQueryController } from "./lib/volume-intersection/controller";
|
|
37
|
+
import { VolumeIntersectionQueryModel } from "./lib/volume-intersection/model";
|
|
38
|
+
import { VolumeIntersectionQueryMode, VolumeIntersectionQueryType } from "./components/viewer-box-query-tool/viewer-box-query-tool";
|
|
36
39
|
import { ViewerToolbarPlacement } from "./components/viewer-toolbar/viewer-toolbar";
|
|
37
40
|
import { ViewerToolbarGroupDirection } from "./components/viewer-toolbar-group/viewer-toolbar-group";
|
|
38
41
|
import { ViewerDomRendererDrawMode } from "./components/viewer-dom-renderer/viewer-dom-renderer";
|
|
@@ -464,6 +467,28 @@ export namespace Components {
|
|
|
464
467
|
*/
|
|
465
468
|
"viewport": Viewport;
|
|
466
469
|
}
|
|
470
|
+
interface VertexViewerBoxQueryTool {
|
|
471
|
+
/**
|
|
472
|
+
* The controller that is responsible for performing operations using the volume intersection query defined by the drawn box and updating the model.
|
|
473
|
+
*/
|
|
474
|
+
"controller"?: VolumeIntersectionQueryController;
|
|
475
|
+
/**
|
|
476
|
+
* An optional value to specify a singular mode of intersection query. This value defaults to `undefined`, which will indicate that both `exclusive` and `inclusive` queries should be made, with `inclusive` being represented by a left to right drag behavior and `exclusive` being represented by a right to left drag. Setting this value to `inclusive` will cause dragging left to right and left to right to result in an `inclusive` query, and the box will only be styled for `inclusive` queries. Setting this value to `exclusive` will cause dragging left to right and left to right to result in an `exclusive` query, and the box will only be styled for `exclusive` queries.
|
|
477
|
+
*/
|
|
478
|
+
"mode"?: VolumeIntersectionQueryMode;
|
|
479
|
+
/**
|
|
480
|
+
* The model that contains the points representing the corners of the box displayed on screen, the type of the query to be performed, and methods for setting these values.
|
|
481
|
+
*/
|
|
482
|
+
"model"?: VolumeIntersectionQueryModel;
|
|
483
|
+
/**
|
|
484
|
+
* The default operation to perform when a drag has completed and the intersection query will be run. Defaults to `clearAndSelect`, and can be changed to `select` or `deselect`. `clearAndSelect` will clear all existing selection, and select the results of the query. `select` will maintain existing selection, and select the results of the query. `deselect` will maintain existing selection, and deselect the results of the query. The operation behavior for this intersection query tool can also be changed by providing a custom implementation of the `VolumeIntersectionQueryController`, or by using the `setOperationTransform` method of the default controller.
|
|
485
|
+
*/
|
|
486
|
+
"operationType": VolumeIntersectionQueryType;
|
|
487
|
+
/**
|
|
488
|
+
* The viewer that this component is bound to. This is automatically assigned if added to the light-dom of a parent viewer element.
|
|
489
|
+
*/
|
|
490
|
+
"viewer"?: HTMLVertexViewerElement;
|
|
491
|
+
}
|
|
467
492
|
interface VertexViewerButton {
|
|
468
493
|
}
|
|
469
494
|
interface VertexViewerDefaultToolbar {
|
|
@@ -1244,6 +1269,12 @@ declare global {
|
|
|
1244
1269
|
prototype: HTMLVertexViewerElement;
|
|
1245
1270
|
new (): HTMLVertexViewerElement;
|
|
1246
1271
|
};
|
|
1272
|
+
interface HTMLVertexViewerBoxQueryToolElement extends Components.VertexViewerBoxQueryTool, HTMLStencilElement {
|
|
1273
|
+
}
|
|
1274
|
+
var HTMLVertexViewerBoxQueryToolElement: {
|
|
1275
|
+
prototype: HTMLVertexViewerBoxQueryToolElement;
|
|
1276
|
+
new (): HTMLVertexViewerBoxQueryToolElement;
|
|
1277
|
+
};
|
|
1247
1278
|
interface HTMLVertexViewerButtonElement extends Components.VertexViewerButton, HTMLStencilElement {
|
|
1248
1279
|
}
|
|
1249
1280
|
var HTMLVertexViewerButtonElement: {
|
|
@@ -1411,6 +1442,7 @@ declare global {
|
|
|
1411
1442
|
"vertex-scene-tree-toolbar": HTMLVertexSceneTreeToolbarElement;
|
|
1412
1443
|
"vertex-scene-tree-toolbar-group": HTMLVertexSceneTreeToolbarGroupElement;
|
|
1413
1444
|
"vertex-viewer": HTMLVertexViewerElement;
|
|
1445
|
+
"vertex-viewer-box-query-tool": HTMLVertexViewerBoxQueryToolElement;
|
|
1414
1446
|
"vertex-viewer-button": HTMLVertexViewerButtonElement;
|
|
1415
1447
|
"vertex-viewer-default-toolbar": HTMLVertexViewerDefaultToolbarElement;
|
|
1416
1448
|
"vertex-viewer-dom-element": HTMLVertexViewerDomElementElement;
|
|
@@ -1724,6 +1756,28 @@ declare namespace LocalJSX {
|
|
|
1724
1756
|
*/
|
|
1725
1757
|
"viewport"?: Viewport;
|
|
1726
1758
|
}
|
|
1759
|
+
interface VertexViewerBoxQueryTool {
|
|
1760
|
+
/**
|
|
1761
|
+
* The controller that is responsible for performing operations using the volume intersection query defined by the drawn box and updating the model.
|
|
1762
|
+
*/
|
|
1763
|
+
"controller"?: VolumeIntersectionQueryController;
|
|
1764
|
+
/**
|
|
1765
|
+
* An optional value to specify a singular mode of intersection query. This value defaults to `undefined`, which will indicate that both `exclusive` and `inclusive` queries should be made, with `inclusive` being represented by a left to right drag behavior and `exclusive` being represented by a right to left drag. Setting this value to `inclusive` will cause dragging left to right and left to right to result in an `inclusive` query, and the box will only be styled for `inclusive` queries. Setting this value to `exclusive` will cause dragging left to right and left to right to result in an `exclusive` query, and the box will only be styled for `exclusive` queries.
|
|
1766
|
+
*/
|
|
1767
|
+
"mode"?: VolumeIntersectionQueryMode;
|
|
1768
|
+
/**
|
|
1769
|
+
* The model that contains the points representing the corners of the box displayed on screen, the type of the query to be performed, and methods for setting these values.
|
|
1770
|
+
*/
|
|
1771
|
+
"model"?: VolumeIntersectionQueryModel;
|
|
1772
|
+
/**
|
|
1773
|
+
* The default operation to perform when a drag has completed and the intersection query will be run. Defaults to `clearAndSelect`, and can be changed to `select` or `deselect`. `clearAndSelect` will clear all existing selection, and select the results of the query. `select` will maintain existing selection, and select the results of the query. `deselect` will maintain existing selection, and deselect the results of the query. The operation behavior for this intersection query tool can also be changed by providing a custom implementation of the `VolumeIntersectionQueryController`, or by using the `setOperationTransform` method of the default controller.
|
|
1774
|
+
*/
|
|
1775
|
+
"operationType"?: VolumeIntersectionQueryType;
|
|
1776
|
+
/**
|
|
1777
|
+
* The viewer that this component is bound to. This is automatically assigned if added to the light-dom of a parent viewer element.
|
|
1778
|
+
*/
|
|
1779
|
+
"viewer"?: HTMLVertexViewerElement;
|
|
1780
|
+
}
|
|
1727
1781
|
interface VertexViewerButton {
|
|
1728
1782
|
}
|
|
1729
1783
|
interface VertexViewerDefaultToolbar {
|
|
@@ -2440,6 +2494,7 @@ declare namespace LocalJSX {
|
|
|
2440
2494
|
"vertex-scene-tree-toolbar": VertexSceneTreeToolbar;
|
|
2441
2495
|
"vertex-scene-tree-toolbar-group": VertexSceneTreeToolbarGroup;
|
|
2442
2496
|
"vertex-viewer": VertexViewer;
|
|
2497
|
+
"vertex-viewer-box-query-tool": VertexViewerBoxQueryTool;
|
|
2443
2498
|
"vertex-viewer-button": VertexViewerButton;
|
|
2444
2499
|
"vertex-viewer-default-toolbar": VertexViewerDefaultToolbar;
|
|
2445
2500
|
"vertex-viewer-dom-element": VertexViewerDomElement;
|
|
@@ -2482,6 +2537,7 @@ declare module "@stencil/core" {
|
|
|
2482
2537
|
"vertex-scene-tree-toolbar": LocalJSX.VertexSceneTreeToolbar & JSXBase.HTMLAttributes<HTMLVertexSceneTreeToolbarElement>;
|
|
2483
2538
|
"vertex-scene-tree-toolbar-group": LocalJSX.VertexSceneTreeToolbarGroup & JSXBase.HTMLAttributes<HTMLVertexSceneTreeToolbarGroupElement>;
|
|
2484
2539
|
"vertex-viewer": LocalJSX.VertexViewer & JSXBase.HTMLAttributes<HTMLVertexViewerElement>;
|
|
2540
|
+
"vertex-viewer-box-query-tool": LocalJSX.VertexViewerBoxQueryTool & JSXBase.HTMLAttributes<HTMLVertexViewerBoxQueryToolElement>;
|
|
2485
2541
|
"vertex-viewer-button": LocalJSX.VertexViewerButton & JSXBase.HTMLAttributes<HTMLVertexViewerButtonElement>;
|
|
2486
2542
|
"vertex-viewer-default-toolbar": LocalJSX.VertexViewerDefaultToolbar & JSXBase.HTMLAttributes<HTMLVertexViewerDefaultToolbarElement>;
|
|
2487
2543
|
"vertex-viewer-dom-element": LocalJSX.VertexViewerDomElement & JSXBase.HTMLAttributes<HTMLVertexViewerDomElementElement>;
|
|
@@ -24,6 +24,7 @@ export declare abstract class BaseInteractionHandler implements InteractionHandl
|
|
|
24
24
|
private primaryInteraction;
|
|
25
25
|
private currentInteraction?;
|
|
26
26
|
private draggingInteraction;
|
|
27
|
+
private lastPrimaryRotateInteraction?;
|
|
27
28
|
private isDragging;
|
|
28
29
|
private lastMoveEvent?;
|
|
29
30
|
private interactionTimer?;
|
|
@@ -53,7 +53,8 @@ export declare class PanInteraction extends MouseInteraction {
|
|
|
53
53
|
}
|
|
54
54
|
export declare class TwistInteraction extends MouseInteraction {
|
|
55
55
|
type: InteractionType;
|
|
56
|
-
|
|
56
|
+
private canvasRect?;
|
|
57
|
+
beginDrag(event: MouseEvent, canvasPosition: Point.Point, api: InteractionApi, element: HTMLElement): void;
|
|
57
58
|
drag(event: MouseEvent, api: InteractionApi): void;
|
|
58
59
|
endDrag(event: MouseEvent, api: InteractionApi): void;
|
|
59
60
|
}
|
|
@@ -7,16 +7,18 @@ export declare class PinsInteractionHandler implements InteractionHandler {
|
|
|
7
7
|
private element?;
|
|
8
8
|
private api?;
|
|
9
9
|
private cursor?;
|
|
10
|
+
private xOffset?;
|
|
11
|
+
private yOffset?;
|
|
10
12
|
private rectObserver;
|
|
11
13
|
private droppableSurfaces;
|
|
12
14
|
private get elementRect();
|
|
13
|
-
constructor(controller: PinController);
|
|
15
|
+
constructor(controller: PinController, xOffset: number, yOffset: number);
|
|
14
16
|
initialize(element: HTMLElement, api: InteractionApi): void;
|
|
15
17
|
dispose(): void;
|
|
16
18
|
getWorldPositionForPoint(pt: Point.Point): Promise<Vector3.Vector3 | undefined>;
|
|
17
19
|
handlePlacePin(pt: Point.Point, existingPin?: Pin): Promise<void>;
|
|
18
20
|
private handlePointerMove;
|
|
19
|
-
private
|
|
21
|
+
private getCursorType;
|
|
20
22
|
private handleDrag;
|
|
21
23
|
private handlePointerDown;
|
|
22
24
|
private handlePointerUp;
|
|
@@ -54,7 +54,7 @@ export declare class PinModel {
|
|
|
54
54
|
* @param pin A pin entity to draw.
|
|
55
55
|
* @returns `true` if the entity has been added.
|
|
56
56
|
*/
|
|
57
|
-
addPin(pin: Pin,
|
|
57
|
+
addPin(pin: Pin, suppressEvent?: boolean): boolean;
|
|
58
58
|
/**
|
|
59
59
|
* Clears all registered entities from the model.
|
|
60
60
|
*/
|
|
@@ -146,7 +146,7 @@ export declare class PerspectiveCamera extends Camera implements FrameCamera.Per
|
|
|
146
146
|
moveBy(delta: Vector3.Vector3): Camera;
|
|
147
147
|
rotateAroundAxisAtPoint(angleInRadians: number, point: Vector3.Vector3, axis: Vector3.Vector3): Camera;
|
|
148
148
|
fitToBoundingBox(boundingBox: BoundingBox.BoundingBox): Camera;
|
|
149
|
-
update(camera: Partial<FrameCamera.
|
|
149
|
+
update(camera: Partial<FrameCamera.PerspectiveFrameCamera>): Camera;
|
|
150
150
|
toFrameCamera(): FramePerspectiveCamera;
|
|
151
151
|
get viewVector(): Vector3.Vector3;
|
|
152
152
|
/**
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { vertexvis } from '@vertexvis/frame-streaming-protos';
|
|
2
2
|
import { Dimensions } from '@vertexvis/geometry';
|
|
3
3
|
import { UUID } from '@vertexvis/utils';
|
|
4
|
-
import { Animation, FlyTo } from '../types';
|
|
4
|
+
import { Animation, FlyTo, SceneViewStateIdentifier } from '../types';
|
|
5
5
|
import { ItemOperation } from './operations';
|
|
6
6
|
import { QueryExpression } from './queries';
|
|
7
|
+
import { SceneViewStateFeature } from './scene';
|
|
7
8
|
export interface BuildSceneOperationContext {
|
|
8
9
|
dimensions: Dimensions.Dimensions;
|
|
9
10
|
}
|
|
11
|
+
export declare function buildSceneViewStateIdentifier(identifier: UUID.UUID | SceneViewStateIdentifier.SceneViewStateIdentifier): Pick<vertexvis.protobuf.stream.ILoadSceneViewStatePayload, 'sceneViewStateId'> | Pick<vertexvis.protobuf.stream.ILoadSceneViewStatePayload, 'sceneViewStateSuppliedId'>;
|
|
12
|
+
export declare function buildQueryExpression(query: QueryExpression, context: BuildSceneOperationContext): vertexvis.protobuf.stream.IQueryExpression;
|
|
10
13
|
export declare function buildSceneOperation(query: QueryExpression, operations: ItemOperation[], context: BuildSceneOperationContext): vertexvis.protobuf.stream.ISceneOperation;
|
|
11
14
|
export declare function buildFlyToOperation(frameCorrelationId: UUID.UUID, options: FlyTo.FlyToOptions, animation?: Animation.Animation): vertexvis.protobuf.stream.IFlyToPayload;
|
|
15
|
+
export declare function toPbSceneViewStateFeatures(features: SceneViewStateFeature[]): vertexvis.protobuf.stream.SceneViewStateFeature[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Point } from '@vertexvis/geometry';
|
|
1
|
+
import { Point, Rectangle } from '@vertexvis/geometry';
|
|
2
2
|
import { ColorMaterial } from './colorMaterial';
|
|
3
3
|
import { SceneItemOperationsBuilder } from './scene';
|
|
4
4
|
interface AllQueryExpression {
|
|
@@ -24,6 +24,10 @@ interface SceneTreeRangeQueryExpression {
|
|
|
24
24
|
type: 'scene-tree-range';
|
|
25
25
|
range: SceneTreeRange;
|
|
26
26
|
}
|
|
27
|
+
interface NotQueryExpression {
|
|
28
|
+
type: 'not';
|
|
29
|
+
query: QueryExpression;
|
|
30
|
+
}
|
|
27
31
|
interface MetadataQueryExpression {
|
|
28
32
|
type: 'metadata';
|
|
29
33
|
filter: string;
|
|
@@ -37,16 +41,24 @@ interface PointQueryExpression {
|
|
|
37
41
|
type: 'point';
|
|
38
42
|
point: Point.Point;
|
|
39
43
|
}
|
|
44
|
+
interface VolumeIntersectionQueryExpression {
|
|
45
|
+
type: 'volume-intersection';
|
|
46
|
+
rectangle: Rectangle.Rectangle;
|
|
47
|
+
exclusive: boolean;
|
|
48
|
+
}
|
|
40
49
|
/**
|
|
41
50
|
* Represents the sum of all possible types of expressions.
|
|
42
51
|
*/
|
|
43
|
-
export declare type QueryExpression = AllQueryExpression | ItemQueryExpression | AndExpression | OrExpression | SceneTreeRangeQueryExpression | PointQueryExpression | MetadataQueryExpression | AllSelectedQueryExpression;
|
|
52
|
+
export declare type QueryExpression = AllQueryExpression | ItemQueryExpression | AndExpression | OrExpression | SceneTreeRangeQueryExpression | PointQueryExpression | VolumeIntersectionQueryExpression | MetadataQueryExpression | AllSelectedQueryExpression | NotQueryExpression;
|
|
44
53
|
/**
|
|
45
54
|
* An interface that represents a query is "complete" and can be turned into an
|
|
46
55
|
* expression.
|
|
47
56
|
*/
|
|
48
|
-
|
|
57
|
+
declare abstract class TerminalQuery {
|
|
58
|
+
protected inverted: boolean;
|
|
59
|
+
constructor(inverted: boolean);
|
|
49
60
|
build(): QueryExpression;
|
|
61
|
+
abstract queryExpressionBuilder(): QueryExpression;
|
|
50
62
|
}
|
|
51
63
|
interface ItemQuery<N> {
|
|
52
64
|
withItemId(id: string): N;
|
|
@@ -57,7 +69,10 @@ interface BooleanQuery {
|
|
|
57
69
|
or(): OrQuery;
|
|
58
70
|
}
|
|
59
71
|
export declare class RootQuery implements ItemQuery<SingleQuery> {
|
|
72
|
+
private inverted;
|
|
73
|
+
constructor(inverted?: boolean);
|
|
60
74
|
all(): AllQuery;
|
|
75
|
+
not(): RootQuery;
|
|
61
76
|
withItemIds(ids: string[]): BulkQuery;
|
|
62
77
|
withSuppliedIds(ids: string[]): BulkQuery;
|
|
63
78
|
withItemId(id: string): SingleQuery;
|
|
@@ -66,55 +81,67 @@ export declare class RootQuery implements ItemQuery<SingleQuery> {
|
|
|
66
81
|
withMetadata(filter: string, keys: string[], exactMatch: boolean): MetadataQuery;
|
|
67
82
|
withSelected(): AllSelectedQuery;
|
|
68
83
|
withPoint(point: Point.Point): PointQuery;
|
|
84
|
+
withVolumeIntersection(rectangle: Rectangle.Rectangle, exclusive?: boolean): VolumeIntersectionQuery;
|
|
69
85
|
}
|
|
70
|
-
export declare class
|
|
71
|
-
|
|
86
|
+
export declare class NotQuery extends RootQuery {
|
|
87
|
+
constructor(inverted: boolean);
|
|
72
88
|
}
|
|
73
|
-
export declare class
|
|
89
|
+
export declare class AllQuery extends TerminalQuery {
|
|
90
|
+
constructor(inverted?: boolean);
|
|
91
|
+
queryExpressionBuilder(): QueryExpression;
|
|
92
|
+
}
|
|
93
|
+
export declare class SceneTreeRangeQuery extends TerminalQuery {
|
|
74
94
|
private range;
|
|
75
|
-
constructor(range: SceneTreeRange);
|
|
76
|
-
|
|
95
|
+
constructor(range: SceneTreeRange, inverted: boolean);
|
|
96
|
+
queryExpressionBuilder(): SceneTreeRangeQueryExpression;
|
|
77
97
|
}
|
|
78
|
-
export declare class MetadataQuery
|
|
98
|
+
export declare class MetadataQuery extends TerminalQuery {
|
|
79
99
|
private filter;
|
|
80
100
|
private keys;
|
|
81
101
|
private exactMatch;
|
|
82
|
-
constructor(filter: string, keys: string[], exactMatch: boolean);
|
|
83
|
-
|
|
102
|
+
constructor(filter: string, keys: string[], exactMatch: boolean, inverted: boolean);
|
|
103
|
+
queryExpressionBuilder(): MetadataQueryExpression;
|
|
84
104
|
}
|
|
85
|
-
export declare class AllSelectedQuery
|
|
86
|
-
|
|
105
|
+
export declare class AllSelectedQuery extends TerminalQuery {
|
|
106
|
+
constructor(inverted: boolean);
|
|
107
|
+
queryExpressionBuilder(): AllSelectedQueryExpression;
|
|
87
108
|
}
|
|
88
|
-
export declare class PointQuery
|
|
109
|
+
export declare class PointQuery extends TerminalQuery {
|
|
89
110
|
private point;
|
|
90
|
-
constructor(point: Point.Point);
|
|
91
|
-
|
|
111
|
+
constructor(point: Point.Point, inverted: boolean);
|
|
112
|
+
queryExpressionBuilder(): PointQueryExpression;
|
|
113
|
+
}
|
|
114
|
+
export declare class VolumeIntersectionQuery extends TerminalQuery {
|
|
115
|
+
private rectangle;
|
|
116
|
+
private exclusive?;
|
|
117
|
+
constructor(rectangle: Rectangle.Rectangle, inverted: boolean, exclusive?: boolean | undefined);
|
|
118
|
+
queryExpressionBuilder(): VolumeIntersectionQueryExpression;
|
|
92
119
|
}
|
|
93
|
-
export declare class BulkQuery
|
|
120
|
+
export declare class BulkQuery extends TerminalQuery {
|
|
94
121
|
private ids;
|
|
95
122
|
private type;
|
|
96
|
-
constructor(ids: string[], type: 'item-id' | 'supplied-id');
|
|
97
|
-
|
|
123
|
+
constructor(ids: string[], type: 'item-id' | 'supplied-id', inverted: boolean);
|
|
124
|
+
queryExpressionBuilder(): QueryExpression;
|
|
98
125
|
}
|
|
99
|
-
declare class SingleQuery
|
|
126
|
+
declare class SingleQuery extends TerminalQuery implements BooleanQuery {
|
|
100
127
|
private query;
|
|
101
|
-
constructor(query: QueryExpression);
|
|
102
|
-
|
|
128
|
+
constructor(query: QueryExpression, inverted: boolean);
|
|
129
|
+
queryExpressionBuilder(): QueryExpression;
|
|
103
130
|
and(): AndQuery;
|
|
104
131
|
or(): OrQuery;
|
|
105
132
|
}
|
|
106
|
-
export declare class OrQuery
|
|
133
|
+
export declare class OrQuery extends TerminalQuery implements ItemQuery<OrQuery> {
|
|
107
134
|
private expressions;
|
|
108
|
-
constructor(expressions: QueryExpression[]);
|
|
109
|
-
|
|
135
|
+
constructor(expressions: QueryExpression[], inverted: boolean);
|
|
136
|
+
queryExpressionBuilder(): QueryExpression;
|
|
110
137
|
withItemId(id: string): OrQuery;
|
|
111
138
|
withSuppliedId(id: string): OrQuery;
|
|
112
139
|
or(): OrQuery;
|
|
113
140
|
}
|
|
114
|
-
export declare class AndQuery
|
|
141
|
+
export declare class AndQuery extends TerminalQuery implements ItemQuery<AndQuery> {
|
|
115
142
|
private expressions;
|
|
116
|
-
constructor(expressions: QueryExpression[]);
|
|
117
|
-
|
|
143
|
+
constructor(expressions: QueryExpression[], inverted: boolean);
|
|
144
|
+
queryExpressionBuilder(): QueryExpression;
|
|
118
145
|
withItemId(id: string): AndQuery;
|
|
119
146
|
withSuppliedId(id: string): AndQuery;
|
|
120
147
|
and(): AndQuery;
|
|
@@ -3,6 +3,7 @@ import { BoundingBox, Dimensions, Point } from '@vertexvis/geometry';
|
|
|
3
3
|
import { StreamApi } from '@vertexvis/stream-api';
|
|
4
4
|
import { UUID } from '@vertexvis/utils';
|
|
5
5
|
import { FrameDecoder } from '../mappers';
|
|
6
|
+
import { SceneViewStateIdentifier } from '../types';
|
|
6
7
|
import { Frame } from '../types/frame';
|
|
7
8
|
import { Camera } from '.';
|
|
8
9
|
import { ColorMaterial } from './colorMaterial';
|
|
@@ -51,6 +52,10 @@ export declare class ItemsOperationExecutor {
|
|
|
51
52
|
}
|
|
52
53
|
export declare type TerminalItemOperationBuilder = SceneItemOperationsBuilder | SceneItemOperationsBuilder[];
|
|
53
54
|
export declare type ImageScaleProvider = () => Point.Point | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* The features of a scene view state that can be applied to the current scene
|
|
57
|
+
*/
|
|
58
|
+
export declare type SceneViewStateFeature = 'camera' | 'cross_section' | 'material_overrides' | 'selection' | 'transforms' | 'visibility';
|
|
54
59
|
/**
|
|
55
60
|
* A class that represents the `Scene` that has been loaded into the viewer. On
|
|
56
61
|
* it, you can retrieve attributes of the scene, such as the camera. It also
|
|
@@ -70,7 +75,11 @@ export declare class Scene {
|
|
|
70
75
|
/**
|
|
71
76
|
* Applies the provided scene view state to the scene.
|
|
72
77
|
*/
|
|
73
|
-
applySceneViewState(sceneViewStateId: UUID.UUID, opts?: SceneExecutionOptions): Promise<vertexvis.protobuf.stream.ILoadSceneViewStateResult | undefined>;
|
|
78
|
+
applySceneViewState(sceneViewStateId: UUID.UUID | SceneViewStateIdentifier.SceneViewStateIdentifier, opts?: SceneExecutionOptions): Promise<vertexvis.protobuf.stream.ILoadSceneViewStateResult | undefined>;
|
|
79
|
+
/**
|
|
80
|
+
* Applies the specified features of the provided scene view state to the scene.
|
|
81
|
+
*/
|
|
82
|
+
applyPartialSceneViewState(sceneViewStateId: UUID.UUID | SceneViewStateIdentifier.SceneViewStateIdentifier, featuresToApply: SceneViewStateFeature[], opts?: SceneExecutionOptions): Promise<vertexvis.protobuf.stream.ILoadSceneViewStateResult | undefined>;
|
|
74
83
|
/**
|
|
75
84
|
* Resets the view to its default state, with the ability to reset the camera to that of the base scene.
|
|
76
85
|
*/
|
|
@@ -129,7 +129,7 @@ export declare class FramePerspectiveCamera extends FrameCameraBase implements F
|
|
|
129
129
|
readonly far: number;
|
|
130
130
|
readonly aspectRatio: number;
|
|
131
131
|
readonly fovY: number;
|
|
132
|
-
constructor(position: Vector3.Vector3, lookAt: Vector3.Vector3, up: Vector3.Vector3, near: number, far: number, aspectRatio: number, fovY
|
|
132
|
+
constructor(position: Vector3.Vector3, lookAt: Vector3.Vector3, up: Vector3.Vector3, near: number, far: number, aspectRatio: number, fovY: number);
|
|
133
133
|
/**
|
|
134
134
|
* Converts this `FramePerspectiveCamera` to a `FrameOrthographicCamera` using
|
|
135
135
|
* the provided `boundingBox` to compute the viewing frustum.
|
|
@@ -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,4 +23,4 @@ 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
|
+
export { Animation, ClippingPlanes, CrossSectioning, Events, Flags, FlyTo, FrameCamera, Interactions, LoadableResource, SceneViewStateIdentifier, };
|
|
@@ -5,12 +5,18 @@ interface StreamKeyResource {
|
|
|
5
5
|
export declare type LoadableResource = StreamKeyResource;
|
|
6
6
|
export interface Resource {
|
|
7
7
|
resource: LoadableResource;
|
|
8
|
-
|
|
8
|
+
subResource?: PathResource;
|
|
9
|
+
queries: QueryValue[];
|
|
9
10
|
}
|
|
10
11
|
export declare function fromUrn(urn: string): Resource;
|
|
11
12
|
export interface SceneViewStateResource {
|
|
12
13
|
type: 'scene-view-state';
|
|
14
|
+
id?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare type PathResource = SceneViewStateResource;
|
|
17
|
+
export interface SuppliedIdQueryValue {
|
|
18
|
+
type: 'supplied-id';
|
|
13
19
|
id: string;
|
|
14
20
|
}
|
|
15
|
-
export declare type
|
|
21
|
+
export declare type QueryValue = SceneViewStateResource | SuppliedIdQueryValue;
|
|
16
22
|
export {};
|