@vertexvis/viewer 0.16.0 → 0.16.1-canary.1
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/README.template.md +19 -0
- package/dist/cjs/controller-383147c5.js +111 -0
- package/dist/cjs/controller-917f9ebf.js +7508 -0
- package/dist/cjs/dom-d162f898.js +14 -0
- package/dist/cjs/{entities-053d1e65.js → entities-98b08d8a.js} +5 -5
- package/dist/cjs/index.cjs.js +10 -3
- package/dist/cjs/{mapper-767b5f6d.js → mapper-d3855fc8.js} +583 -583
- package/dist/cjs/{dom-92728e58.js → row-3a1861d4.js} +0 -9
- package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +5 -4
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +19 -7510
- package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +9 -110
- package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +4 -4
- package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +6 -3
- package/dist/collection/collection-manifest.json +4 -4
- package/dist/collection/components/scene-tree/lib/index.js +3 -0
- package/dist/collection/components/scene-tree/scene-tree.js +30 -17
- package/dist/collection/components/scene-tree/types.js +2 -0
- package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.js +1 -1
- package/dist/collection/components/viewer-box-query-tool/types.js +2 -0
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +5 -3
- package/dist/collection/components/viewer-default-toolbar/viewer-default-toolbar.js +2 -2
- package/dist/collection/components/viewer-toolbar/types.js +2 -0
- package/dist/collection/components/viewer-toolbar/viewer-toolbar.js +5 -3
- package/dist/collection/components/viewer-toolbar-group/types.js +2 -0
- package/dist/collection/components/viewer-toolbar-group/viewer-toolbar-group.js +3 -2
- package/dist/collection/index.js +8 -1
- package/dist/collection/lib/pins/index.js +2 -0
- package/dist/collection/lib/volume-intersection/index.js +2 -0
- package/dist/custom-elements/index.js +71942 -71942
- package/dist/esm/{bundle.esm-b51ea7fc.js → bundle.esm-c0b261c8.js} +1 -1
- package/dist/esm/{config-def96227.js → config-5a3235d2.js} +1 -1
- package/dist/esm/controller-37e0b32a.js +109 -0
- package/dist/esm/controller-8e9e0b43.js +7503 -0
- package/dist/esm/dom-2111ed19.js +11 -0
- package/dist/esm/{entities-3ff1a7ee.js → entities-f0128903.js} +3 -3
- package/dist/esm/index.js +9 -6
- package/dist/esm/index.mjs +9 -6
- package/dist/esm/{mapper-b2f3424f.js → mapper-36404f5d.js} +2 -2
- package/dist/esm/{dom-e19ee80b.js → row-5ebb8f09.js} +1 -8
- package/dist/esm/{scene-ed248e56.js → scene-d23dff71.js} +2 -2
- package/dist/esm/{streamAttributes-90bcdb58.js → streamAttributes-7bd73748.js} +1 -1
- package/dist/esm/vertex-scene-tree-search_3.entry.js +2 -1
- package/dist/esm/vertex-scene-tree.entry.js +13 -7504
- package/dist/esm/vertex-viewer-box-query-tool.entry.js +3 -104
- package/dist/esm/vertex-viewer-dom-element_2.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-details.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-distance.entry.js +4 -4
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +4 -4
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +6 -6
- package/dist/esm/vertex-viewer-pin-group.entry.js +8 -5
- package/dist/esm/vertex-viewer-transform-widget.entry.js +2 -2
- package/dist/esm/vertex-viewer-view-cube.entry.js +2 -2
- package/dist/esm/vertex-viewer.entry.js +4 -4
- package/dist/esm/{grpc-web-client.umd-5409853c.js → wrappers_pb-e7a5f842.js} +5 -5
- package/dist/types/components/scene-tree/lib/controller.d.ts +1 -1
- package/dist/types/components/scene-tree/lib/index.d.ts +2 -0
- package/dist/types/components/scene-tree/lib/row.d.ts +1 -1
- package/dist/types/components/scene-tree/scene-tree.d.ts +1 -31
- package/dist/types/components/scene-tree/types.d.ts +32 -0
- package/dist/types/components/scene-tree-table-layout/scene-tree-table-layout.d.ts +1 -1
- package/dist/types/components/viewer-box-query-tool/types.d.ts +2 -0
- package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +1 -2
- package/dist/types/components/viewer-default-toolbar/viewer-default-toolbar.d.ts +2 -2
- package/dist/types/components/viewer-toolbar/types.d.ts +5 -0
- package/dist/types/components/viewer-toolbar/viewer-toolbar.d.ts +1 -5
- package/dist/types/components/viewer-toolbar-group/types.d.ts +1 -0
- package/dist/types/components/viewer-toolbar-group/viewer-toolbar-group.d.ts +1 -1
- package/dist/types/components.d.ts +6 -10
- package/dist/types/index.d.ts +7 -0
- package/dist/types/lib/pins/index.d.ts +2 -0
- package/dist/types/lib/volume-intersection/index.d.ts +1 -0
- package/dist/types/lib/volume-intersection/model.d.ts +1 -1
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/{p-9f805c70.js → p-2c07b773.js} +1 -1
- package/dist/viewer/p-39535bb0.entry.js +4 -0
- package/dist/viewer/p-3a6fa239.js +4 -0
- package/dist/viewer/{p-e24dbb45.entry.js → p-42acbbaf.entry.js} +1 -1
- package/dist/viewer/p-43f7a708.entry.js +4 -0
- package/dist/viewer/{p-bd314501.js → p-5632192b.js} +1 -1
- package/dist/viewer/{p-01012fee.entry.js → p-58b30f31.entry.js} +1 -1
- package/dist/viewer/{p-f6b6b3d5.entry.js → p-6a4d8fb9.entry.js} +1 -1
- package/dist/viewer/p-6f47fcb9.js +4 -0
- package/dist/viewer/p-76c414a4.js +4 -0
- package/dist/viewer/{p-b283a36b.js → p-787c2987.js} +1 -1
- package/dist/viewer/{p-46f40a43.js → p-817743a4.js} +1 -1
- package/dist/viewer/{p-13e6c657.entry.js → p-886fb3a9.entry.js} +2 -2
- package/dist/viewer/{p-b629cebb.entry.js → p-92a65d2c.entry.js} +1 -1
- package/dist/viewer/p-9cc361f6.entry.js +4 -0
- package/dist/viewer/{p-934cbb97.js → p-a7c29e95.js} +1 -1
- package/dist/viewer/{p-47c4b430.entry.js → p-b4321377.entry.js} +1 -1
- package/dist/viewer/p-bfae3945.js +4 -0
- package/dist/viewer/{p-86759ae2.entry.js → p-d8c578a9.entry.js} +1 -1
- package/dist/viewer/{p-ea183d6e.entry.js → p-db8948a9.entry.js} +1 -1
- package/dist/viewer/{p-a12791aa.js → p-dde5650a.js} +1 -1
- package/dist/viewer/{p-bf688622.entry.js → p-ecd99a3e.entry.js} +1 -1
- package/dist/viewer/p-f5aaf680.js +4 -0
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +7 -7
- package/readme.md +19 -0
- package/dist/collection/components/scene-tree/interfaces.js +0 -2
- package/dist/types/components/scene-tree/interfaces.d.ts +0 -1
- package/dist/viewer/p-3296fdf1.entry.js +0 -4
- package/dist/viewer/p-569ed94a.entry.js +0 -4
- package/dist/viewer/p-7ef7d9ce.entry.js +0 -4
- package/dist/viewer/p-92fe4417.js +0 -4
- package/dist/viewer/p-c8c4343b.js +0 -4
- package/dist/cjs/{grpc-web-client.umd-2af20c1b.js → wrappers_pb-04573f90.js} +4 -4
|
@@ -38530,4 +38530,4 @@ var StreamApi = /** @class */ (function () {
|
|
|
38530
38530
|
return StreamApi;
|
|
38531
38531
|
}());
|
|
38532
38532
|
|
|
38533
|
-
export {
|
|
38533
|
+
export { StreamRequestError as S, WebSocketClientImpl as W, StreamApi as a, currentDateAsProtoTimestamp as c, protoToDate as p, toProtoDuration as t };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
4
|
import { o as objects } from './browser.esm-07e7db8f.js';
|
|
5
|
-
import './streamAttributes-
|
|
5
|
+
import './streamAttributes-7bd73748.js';
|
|
6
6
|
import './entities-ce81dd7f.js';
|
|
7
7
|
|
|
8
8
|
const DEFAULT_ANIMATION_DURATION = 500;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**!
|
|
2
|
+
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { S as StreamRequestError } from './bundle.esm-c0b261c8.js';
|
|
5
|
+
import { E as EventDispatcher } from './browser.esm-07e7db8f.js';
|
|
6
|
+
|
|
7
|
+
class VolumeIntersectionQueryController {
|
|
8
|
+
constructor(model, viewer) {
|
|
9
|
+
this.model = model;
|
|
10
|
+
this.viewer = viewer;
|
|
11
|
+
this.additionalTransforms = [];
|
|
12
|
+
this.operationInFlight = false;
|
|
13
|
+
this.operationAborted = false;
|
|
14
|
+
this.executeStarted = new EventDispatcher();
|
|
15
|
+
this.executeComplete = new EventDispatcher();
|
|
16
|
+
this.executeAborted = new EventDispatcher();
|
|
17
|
+
this.additionalTransforms = [(op) => op.where((q) => q.all()).deselect()];
|
|
18
|
+
this.operationTransform = (builder) => builder.select();
|
|
19
|
+
}
|
|
20
|
+
setStartPoint(point) {
|
|
21
|
+
this.previousViewerCameraControls = this.viewer.cameraControls;
|
|
22
|
+
this.viewer.cameraControls = false;
|
|
23
|
+
this.model.setStartPoint(point);
|
|
24
|
+
}
|
|
25
|
+
setEndPoint(point) {
|
|
26
|
+
this.model.setEndPoint(point);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Updates the operation that will be applied based on the volume intersection
|
|
30
|
+
* query. Defaults to `(builder) => builder.select()`, which will select any
|
|
31
|
+
* of the results of the query.
|
|
32
|
+
*/
|
|
33
|
+
setOperationTransform(operationTransform) {
|
|
34
|
+
this.operationTransform = operationTransform;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Updates any additional operations that should be performed independent of
|
|
38
|
+
* the volume intersection query. This can be used to perform an operation on
|
|
39
|
+
* the entirety of the scene prior to the operation on the result of the
|
|
40
|
+
* volume intersection query.
|
|
41
|
+
* Defaults to `[(op) => op.where((q) => q.all()).deselect()]`, which will
|
|
42
|
+
* clear any prior selection before the default selection.
|
|
43
|
+
*/
|
|
44
|
+
setAdditionalTransforms(additionalTransforms) {
|
|
45
|
+
this.additionalTransforms = additionalTransforms;
|
|
46
|
+
}
|
|
47
|
+
onExecuteStarted(listener) {
|
|
48
|
+
return this.executeStarted.on(listener);
|
|
49
|
+
}
|
|
50
|
+
onExecuteComplete(listener) {
|
|
51
|
+
return this.executeComplete.on(listener);
|
|
52
|
+
}
|
|
53
|
+
onExecuteAborted(listener) {
|
|
54
|
+
return this.executeAborted.on(listener);
|
|
55
|
+
}
|
|
56
|
+
async execute() {
|
|
57
|
+
var _a, _b, _c;
|
|
58
|
+
const screenBounds = this.model.getScreenBounds();
|
|
59
|
+
const type = this.model.getType();
|
|
60
|
+
if (screenBounds != null && !this.operationInFlight) {
|
|
61
|
+
this.model.complete();
|
|
62
|
+
try {
|
|
63
|
+
this.operationInFlight = true;
|
|
64
|
+
this.executeStarted.emit();
|
|
65
|
+
const additionalTransforms = (op) => this.additionalTransforms.map((t) => t(op)).flat();
|
|
66
|
+
const operationTransforms = (op) => [
|
|
67
|
+
this.operationTransform(op.where((q) => q.withVolumeIntersection(screenBounds, type === 'exclusive'))),
|
|
68
|
+
].flat();
|
|
69
|
+
const scene = await this.viewer.scene();
|
|
70
|
+
await scene
|
|
71
|
+
.items((op) => [
|
|
72
|
+
...additionalTransforms(op),
|
|
73
|
+
...operationTransforms(op),
|
|
74
|
+
])
|
|
75
|
+
.execute();
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
if (e instanceof StreamRequestError &&
|
|
79
|
+
((_a = e.summary) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase().includes('operation aborted'))) {
|
|
80
|
+
this.executeAborted.emit(e);
|
|
81
|
+
this.operationAborted = true;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
console.error('Failed to perform volume intersection query', e);
|
|
85
|
+
throw e;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
this.viewer.cameraControls = (_b = this.previousViewerCameraControls) !== null && _b !== void 0 ? _b : true;
|
|
90
|
+
this.previousViewerCameraControls = undefined;
|
|
91
|
+
this.operationInFlight = false;
|
|
92
|
+
this.executeComplete.emit({
|
|
93
|
+
aborted: this.operationAborted,
|
|
94
|
+
});
|
|
95
|
+
this.operationAborted = false;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
else if (this.operationInFlight) {
|
|
99
|
+
this.model.cancel();
|
|
100
|
+
throw new Error(`Unable to perform volume intersection query as there is already one in-flight.`);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this.model.cancel();
|
|
104
|
+
this.viewer.cameraControls = (_c = this.previousViewerCameraControls) !== null && _c !== void 0 ? _c : true;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export { VolumeIntersectionQueryController as V };
|