@vertexvis/viewer 0.15.2-testing.3 → 0.15.2-testing.4

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.
Files changed (76) hide show
  1. package/dist/cjs/{config-6e330a82.js → config-4a86ae0b.js} +1 -1
  2. package/dist/cjs/{entities-7b2e8c03.js → entities-496b61cd.js} +2 -2
  3. package/dist/cjs/index.cjs.js +4 -4
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{mapper-0f2294a6.js → mapper-216603b0.js} +1 -1
  6. package/dist/cjs/{scene-56438693.js → scene-0ce59b26.js} +28 -1
  7. package/dist/cjs/{streamAttributes-c64aee75.js → streamAttributes-7725f5c4.js} +976 -4
  8. package/dist/cjs/vertex-scene-tree.cjs.entry.js +2 -2
  9. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +245 -0
  10. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +1 -1
  11. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +1 -1
  12. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +2 -2
  13. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +2 -2
  14. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +4 -4
  15. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +2 -2
  16. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +1 -1
  17. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +1 -1
  18. package/dist/cjs/vertex-viewer.cjs.entry.js +3 -3
  19. package/dist/cjs/viewer.cjs.js +1 -1
  20. package/dist/collection/collection-manifest.json +1 -0
  21. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +74 -0
  22. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +191 -0
  23. package/dist/collection/lib/scenes/mapper.js +12 -1
  24. package/dist/collection/lib/scenes/queries.js +17 -1
  25. package/dist/collection/lib/volume-intersection/controller.js +48 -0
  26. package/dist/collection/lib/volume-intersection/interactions.js +37 -0
  27. package/dist/collection/lib/volume-intersection/model.js +67 -0
  28. package/dist/custom-elements/index.d.ts +6 -0
  29. package/dist/custom-elements/index.js +1241 -5
  30. package/dist/esm/{config-49688db8.js → config-6cdeb6ca.js} +1 -1
  31. package/dist/esm/{entities-a5bfef48.js → entities-6f3c5437.js} +2 -2
  32. package/dist/esm/index.js +4 -4
  33. package/dist/esm/index.mjs +4 -4
  34. package/dist/esm/loader.js +1 -1
  35. package/dist/esm/loader.mjs +1 -1
  36. package/dist/esm/{mapper-5894c2a4.js → mapper-941ff03c.js} +1 -1
  37. package/dist/esm/{scene-5b919078.js → scene-970f5000.js} +28 -1
  38. package/dist/esm/{streamAttributes-7e8565be.js → streamAttributes-24bd7b3a.js} +976 -4
  39. package/dist/esm/vertex-scene-tree.entry.js +2 -2
  40. package/dist/esm/vertex-viewer-box-query-tool.entry.js +241 -0
  41. package/dist/esm/vertex-viewer-dom-element_2.entry.js +1 -1
  42. package/dist/esm/vertex-viewer-measurement-details.entry.js +1 -1
  43. package/dist/esm/vertex-viewer-measurement-distance.entry.js +2 -2
  44. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +2 -2
  45. package/dist/esm/vertex-viewer-measurement-precise.entry.js +4 -4
  46. package/dist/esm/vertex-viewer-pin-group.entry.js +2 -2
  47. package/dist/esm/vertex-viewer-transform-widget.entry.js +1 -1
  48. package/dist/esm/vertex-viewer-view-cube.entry.js +1 -1
  49. package/dist/esm/vertex-viewer.entry.js +3 -3
  50. package/dist/esm/viewer.js +1 -1
  51. package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +60 -0
  52. package/dist/types/components.d.ts +48 -0
  53. package/dist/types/lib/scenes/queries.d.ts +14 -2
  54. package/dist/types/lib/volume-intersection/controller.d.ts +17 -0
  55. package/dist/types/lib/volume-intersection/interactions.d.ts +13 -0
  56. package/dist/types/lib/volume-intersection/model.d.ts +26 -0
  57. package/dist/viewer/index.esm.js +1 -1
  58. package/dist/viewer/{p-1e0dd2e9.js → p-10145045.js} +1 -1
  59. package/dist/viewer/{p-a6558bb2.entry.js → p-1bba9ade.entry.js} +1 -1
  60. package/dist/viewer/{p-3f6f2457.entry.js → p-24cda14a.entry.js} +1 -1
  61. package/dist/viewer/{p-b7e170ac.entry.js → p-2b58afc3.entry.js} +1 -1
  62. package/dist/viewer/{p-22ae6785.entry.js → p-51966cef.entry.js} +1 -1
  63. package/dist/viewer/{p-1fc24ec6.js → p-52ab9ec0.js} +1 -1
  64. package/dist/viewer/{p-927b528b.js → p-597cc9b5.js} +1 -1
  65. package/dist/viewer/{p-61e50e11.entry.js → p-608925c5.entry.js} +1 -1
  66. package/dist/viewer/p-68e192b9.js +4 -0
  67. package/dist/viewer/{p-d34ad2b2.entry.js → p-69a3fce8.entry.js} +1 -1
  68. package/dist/viewer/{p-7579e2a1.entry.js → p-74c772bb.entry.js} +1 -1
  69. package/dist/viewer/{p-40a9dd7d.js → p-9e1384c9.js} +1 -1
  70. package/dist/viewer/{p-d64c1e14.entry.js → p-a107b65e.entry.js} +2 -2
  71. package/dist/viewer/p-bb425931.entry.js +4 -0
  72. package/dist/viewer/{p-920c9a88.entry.js → p-bfacbaa8.entry.js} +1 -1
  73. package/dist/viewer/{p-f3ea0c2b.entry.js → p-c72da0fb.entry.js} +1 -1
  74. package/dist/viewer/viewer.esm.js +1 -1
  75. package/package.json +8 -8
  76. package/dist/viewer/p-31b87b90.js +0 -4
@@ -0,0 +1,191 @@
1
+ import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';
2
+ import { VolumeIntersectionQueryController } from '../../lib/volume-intersection/controller';
3
+ import { VolumeIntersectionQueryInteractionHandler } from '../../lib/volume-intersection/interactions';
4
+ import { VolumeIntersectionQueryModel, } from '../../lib/volume-intersection/model';
5
+ /**
6
+ * The `ViewerBoxQueryTool` allows for the drawing of a "box" on screen to represent
7
+ * a query for items in a specific area of the viewer. This tool then allows for an
8
+ * operation to be performed on the items contained (exclusive) by the box or both
9
+ * contained by and intersecting with (inclusive) the box.
10
+ */
11
+ export class ViewerBoxQueryTool {
12
+ constructor() {
13
+ /**
14
+ * The default operation to perform when a drag has completed and the intersection
15
+ * query will be run. Defaults to `select`, and can be changed to `deselect`.
16
+ *
17
+ * The operation behavior for this intersection query tool can also be changed by
18
+ * providing a custom implementation of the `VolumeIntersectionQueryController`, or
19
+ * by using the `setOperationTransform` method of the default controller.
20
+ */
21
+ this.operationType = 'select';
22
+ this.handleScreenBoundsChanged = this.handleScreenBoundsChanged.bind(this);
23
+ }
24
+ componentWillLoad() {
25
+ var _a;
26
+ this.model = (_a = this.model) !== null && _a !== void 0 ? _a : new VolumeIntersectionQueryModel();
27
+ this.screenBoundsChangedDisposable = this.model.onScreenBoundsChanged(this.handleScreenBoundsChanged);
28
+ this.handleViewerChanged(this.viewer);
29
+ }
30
+ disconnectedCallback() {
31
+ var _a, _b, _c;
32
+ (_a = this.model) === null || _a === void 0 ? void 0 : _a.reset();
33
+ (_b = this.screenBoundsChangedDisposable) === null || _b === void 0 ? void 0 : _b.dispose();
34
+ (_c = this.interactionHandler) === null || _c === void 0 ? void 0 : _c.dispose();
35
+ }
36
+ /**
37
+ * @ignore
38
+ */
39
+ handleViewerChanged(newViewer) {
40
+ this.deregisterInteractionHandler();
41
+ if (this.model != null && newViewer != null) {
42
+ this.controller = new VolumeIntersectionQueryController(this.model, newViewer);
43
+ this.handleDefaultOperationChange(this.operationType);
44
+ this.registerInteractionHandler(this.controller, newViewer);
45
+ }
46
+ }
47
+ /**
48
+ * @ignore
49
+ */
50
+ handleDefaultOperationChange(updatedOperationType) {
51
+ var _a;
52
+ (_a = this.controller) === null || _a === void 0 ? void 0 : _a.setOperationTransform(updatedOperationType === 'select'
53
+ ? (builder) => builder.select()
54
+ : (builder) => builder.deselect());
55
+ }
56
+ /**
57
+ * @ignore
58
+ */
59
+ render() {
60
+ return (h(Host, null,
61
+ h("vertex-viewer-layer", null, this.details != null && (h("div", { class: "bounds", style: {
62
+ left: `${this.details.screenBounds.x}px`,
63
+ top: `${this.details.screenBounds.y}px`,
64
+ width: `${this.details.screenBounds.width}px`,
65
+ height: `${this.details.screenBounds.height}px`,
66
+ } },
67
+ h("slot", { name: "bounds" },
68
+ h("div", { class: "outline" },
69
+ h("div", { class: "fill" }))))))));
70
+ }
71
+ handleScreenBoundsChanged(details) {
72
+ this.details = details;
73
+ this.updateTypeAttribute(details === null || details === void 0 ? void 0 : details.type);
74
+ }
75
+ registerInteractionHandler(controller, viewer) {
76
+ this.interactionHandler = new VolumeIntersectionQueryInteractionHandler(controller);
77
+ viewer.registerInteractionHandler(this.interactionHandler);
78
+ }
79
+ deregisterInteractionHandler() {
80
+ var _a;
81
+ (_a = this.interactionHandler) === null || _a === void 0 ? void 0 : _a.dispose();
82
+ this.interactionHandler = undefined;
83
+ }
84
+ updateTypeAttribute(type) {
85
+ this.hostEl.setAttribute('inclusive', `${type === 'inclusive'}`);
86
+ this.hostEl.setAttribute('exclusive', `${type === 'exclusive'}`);
87
+ }
88
+ static get is() { return "vertex-viewer-box-query-tool"; }
89
+ static get encapsulation() { return "shadow"; }
90
+ static get originalStyleUrls() { return {
91
+ "$": ["viewer-box-query-tool.css"]
92
+ }; }
93
+ static get styleUrls() { return {
94
+ "$": ["viewer-box-query-tool.css"]
95
+ }; }
96
+ static get properties() { return {
97
+ "viewer": {
98
+ "type": "unknown",
99
+ "mutable": false,
100
+ "complexType": {
101
+ "original": "HTMLVertexViewerElement",
102
+ "resolved": "HTMLVertexViewerElement | undefined",
103
+ "references": {
104
+ "HTMLVertexViewerElement": {
105
+ "location": "global"
106
+ }
107
+ }
108
+ },
109
+ "required": false,
110
+ "optional": true,
111
+ "docs": {
112
+ "tags": [],
113
+ "text": "The viewer that this component is bound to. This is automatically assigned\nif added to the light-dom of a parent viewer element."
114
+ }
115
+ },
116
+ "controller": {
117
+ "type": "unknown",
118
+ "mutable": true,
119
+ "complexType": {
120
+ "original": "VolumeIntersectionQueryController",
121
+ "resolved": "VolumeIntersectionQueryController | undefined",
122
+ "references": {
123
+ "VolumeIntersectionQueryController": {
124
+ "location": "import",
125
+ "path": "../../lib/volume-intersection/controller"
126
+ }
127
+ }
128
+ },
129
+ "required": false,
130
+ "optional": true,
131
+ "docs": {
132
+ "tags": [],
133
+ "text": "The controller that is responsible for performing operations using the\nvolume intersection query defined by the drawn box and updating the model."
134
+ }
135
+ },
136
+ "model": {
137
+ "type": "unknown",
138
+ "mutable": true,
139
+ "complexType": {
140
+ "original": "VolumeIntersectionQueryModel",
141
+ "resolved": "VolumeIntersectionQueryModel | undefined",
142
+ "references": {
143
+ "VolumeIntersectionQueryModel": {
144
+ "location": "import",
145
+ "path": "../../lib/volume-intersection/model"
146
+ }
147
+ }
148
+ },
149
+ "required": false,
150
+ "optional": true,
151
+ "docs": {
152
+ "tags": [],
153
+ "text": "The model that contains the points representing the corners of the box\ndisplayed on screen, the type of the query to be performed, and methods\nfor setting these values."
154
+ }
155
+ },
156
+ "operationType": {
157
+ "type": "string",
158
+ "mutable": false,
159
+ "complexType": {
160
+ "original": "VolumeIntersectionQueryType",
161
+ "resolved": "\"deselect\" | \"select\"",
162
+ "references": {
163
+ "VolumeIntersectionQueryType": {
164
+ "location": "local"
165
+ }
166
+ }
167
+ },
168
+ "required": false,
169
+ "optional": false,
170
+ "docs": {
171
+ "tags": [],
172
+ "text": "The default operation to perform when a drag has completed and the intersection\nquery will be run. Defaults to `select`, and can be changed to `deselect`.\n\nThe operation behavior for this intersection query tool can also be changed by\nproviding a custom implementation of the `VolumeIntersectionQueryController`, or\nby using the `setOperationTransform` method of the default controller."
173
+ },
174
+ "attribute": "operation-type",
175
+ "reflect": false,
176
+ "defaultValue": "'select'"
177
+ }
178
+ }; }
179
+ static get states() { return {
180
+ "details": {}
181
+ }; }
182
+ static get elementRef() { return "hostEl"; }
183
+ static get watchers() { return [{
184
+ "propName": "viewer",
185
+ "methodName": "handleViewerChanged"
186
+ }, {
187
+ "propName": "operationType",
188
+ "methodName": "handleDefaultOperationChange"
189
+ }]; }
190
+ }
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWJveC1xdWVyeS10b29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld2VyLWJveC1xdWVyeS10b29sL3ZpZXdlci1ib3gtcXVlcnktdG9vbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RyxPQUFPLEVBR0wsNEJBQTRCLEdBQzdCLE1BQU0scUNBQXFDLENBQUM7QUFJN0M7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8sa0JBQWtCO0VBNEM3QjtJQXJCQTs7Ozs7OztPQU9HO0lBRUksa0JBQWEsR0FBZ0MsUUFBUSxDQUFDO0lBYTNELElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0VBQzdFLENBQUM7RUFFTSxpQkFBaUI7O0lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBQSxJQUFJLENBQUMsS0FBSyxtQ0FBSSxJQUFJLDRCQUE0QixFQUFFLENBQUM7SUFFOUQsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQ25FLElBQUksQ0FBQyx5QkFBeUIsQ0FDL0IsQ0FBQztJQUVGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7RUFDeEMsQ0FBQztFQUVNLG9CQUFvQjs7SUFDekIsTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxLQUFLLEVBQUUsQ0FBQztJQUNwQixNQUFBLElBQUksQ0FBQyw2QkFBNkIsMENBQUUsT0FBTyxFQUFFLENBQUM7SUFDOUMsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLE9BQU8sRUFBRSxDQUFDO0VBQ3JDLENBQUM7RUFFRDs7S0FFRztFQUVPLG1CQUFtQixDQUFDLFNBQW1DO0lBQy9ELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBRXBDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksU0FBUyxJQUFJLElBQUksRUFBRTtNQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksaUNBQWlDLENBQ3JELElBQUksQ0FBQyxLQUFLLEVBQ1YsU0FBUyxDQUNWLENBQUM7TUFDRixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO01BQ3RELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQzdEO0VBQ0gsQ0FBQztFQUVEOztLQUVHO0VBRU8sNEJBQTRCLENBQ3BDLG9CQUFpRDs7SUFFakQsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxxQkFBcUIsQ0FDcEMsb0JBQW9CLEtBQUssUUFBUTtNQUMvQixDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7TUFDL0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQ3BDLENBQUM7RUFDSixDQUFDO0VBRUQ7O0tBRUc7RUFDTyxNQUFNO0lBQ2QsT0FBTyxDQUNMLEVBQUMsSUFBSTtNQUNILCtCQUNHLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLENBQ3ZCLFdBQ0UsS0FBSyxFQUFDLFFBQVEsRUFDZCxLQUFLLEVBQUU7VUFDTCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUk7VUFDeEMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJO1VBQ3ZDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSTtVQUM3QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUk7U0FDaEQ7UUFFRCxZQUFNLElBQUksRUFBQyxRQUFRO1VBQ2pCLFdBQUssS0FBSyxFQUFDLFNBQVM7WUFDbEIsV0FBSyxLQUFLLEVBQUMsTUFBTSxHQUFHLENBQ2hCLENBQ0QsQ0FDSCxDQUNQLENBQ21CLENBQ2pCLENBQ1IsQ0FBQztFQUNKLENBQUM7RUFFTyx5QkFBeUIsQ0FDL0IsT0FBd0M7SUFFeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFFdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxJQUFJLENBQUMsQ0FBQztFQUMxQyxDQUFDO0VBRU8sMEJBQTBCLENBQ2hDLFVBQTZDLEVBQzdDLE1BQStCO0lBRS9CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLHlDQUF5QyxDQUNyRSxVQUFVLENBQ1gsQ0FBQztJQUNGLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztFQUM3RCxDQUFDO0VBRU8sNEJBQTRCOztJQUNsQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsT0FBTyxFQUFFLENBQUM7SUFDbkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztFQUN0QyxDQUFDO0VBRU8sbUJBQW1CLENBQUMsSUFBZ0I7SUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDLENBQUM7RUFDbkUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUNGIn0=
@@ -59,6 +59,17 @@ export function buildSceneOperation(query, operations, context) {
59
59
  },
60
60
  operationTypes,
61
61
  };
62
+ case 'volume-intersection':
63
+ return {
64
+ volume: {
65
+ frustumByRectangle: {
66
+ rectangle: query.rectangle,
67
+ },
68
+ exclusive: query.exclusive,
69
+ viewport: context.dimensions,
70
+ },
71
+ operationTypes,
72
+ };
62
73
  default:
63
74
  return {};
64
75
  }
@@ -182,4 +193,4 @@ function buildOperationTypes(operations) {
182
193
  }
183
194
  });
184
195
  }
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zY2VuZXMvbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHeEQsT0FBTyxFQUFvQixXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFRekQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxLQUFzQixFQUN0QixVQUEyQixFQUMzQixPQUFtQztFQUVuQyxNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztFQUV2RCxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7SUFDbEIsS0FBSyxLQUFLLENBQUM7SUFDWCxLQUFLLElBQUk7TUFDUCxPQUFPO1FBQ0wsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7VUFDWixPQUFPLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLEdBQUcsQ0FBQztXQUN6QyxDQUFDLENBQUM7U0FDSjtRQUNELGNBQWM7T0FDZixDQUFDO0lBQ0osS0FBSyxTQUFTLENBQUM7SUFDZixLQUFLLGFBQWE7TUFDaEIsT0FBTztRQUNMLElBQUksRUFBRTtVQUNKLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7U0FDM0M7UUFDRCxjQUFjO09BQ2YsQ0FBQztJQUNKLEtBQUssS0FBSztNQUNSLE9BQU87UUFDTCxHQUFHLEVBQUUsRUFBRTtRQUNQLGNBQWM7T0FDZixDQUFDO0lBQ0osS0FBSyxrQkFBa0I7TUFDckIsT0FBTztRQUNMLGNBQWMsRUFBRTtVQUNkLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUs7VUFDeEIsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRztTQUNyQjtRQUNELGNBQWM7T0FDZixDQUFDO0lBQ0osS0FBSyxVQUFVO01BQ2IsT0FBTztRQUNMLFFBQVEsRUFBRTtVQUNSLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTTtVQUN6QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7VUFDaEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1NBQzdCO1FBQ0QsY0FBYztPQUNmLENBQUM7SUFDSixLQUFLLGNBQWM7TUFDakIsT0FBTztRQUNMLFFBQVEsRUFBRTtVQUNSLFNBQVMsRUFBRSxFQUFFO1NBQ2Q7UUFDRCxjQUFjO09BQ2YsQ0FBQztJQUNKLEtBQUssT0FBTztNQUNWLE9BQU87UUFDTCxLQUFLLEVBQUU7VUFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7VUFDbEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1NBQzdCO1FBQ0QsY0FBYztPQUNmLENBQUM7SUFDSjtNQUNFLE9BQU8sRUFBRSxDQUFDO0dBQ2I7QUFDSCxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FDMUIsSUFBcUI7RUFFckIsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO0lBQ2pCLEtBQUssU0FBUztNQUNaLE9BQU87UUFDTCxFQUFFLEVBQUUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7VUFDbkMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2hCLENBQUM7T0FDSCxDQUFDO0lBQ0osS0FBSyxhQUFhO01BQ2hCLE9BQU87UUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUs7T0FDdkIsQ0FBQztJQUNKO01BQ0UsT0FBTyxFQUFFLENBQUM7R0FDYjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLGtCQUE2QixFQUM3QixPQUEyQixFQUMzQixTQUErQjtFQUUvQixNQUFNLE9BQU8sR0FBRztJQUNkLGtCQUFrQixFQUFFO01BQ2xCLEtBQUssRUFBRSxrQkFBa0I7S0FDMUI7SUFDRCxTQUFTLEVBQUUsU0FBUztNQUNsQixDQUFDLENBQUM7UUFDRSxRQUFRLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7T0FDbEQ7TUFDSCxDQUFDLENBQUMsU0FBUztHQUNkLENBQUM7RUFFRixRQUFRLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO0lBQzFCLEtBQUssVUFBVSxDQUFDLENBQUM7TUFDZix1Q0FDSyxPQUFPLEtBQ1YsY0FBYyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUNsQztLQUNIO0lBQ0QsS0FBSyxVQUFVLENBQUMsQ0FBQztNQUNmLHVDQUNLLE9BQU8sS0FDVixNQUFNLEVBQUUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7VUFDdkMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSTtTQUN4QixDQUFDLElBQ0Y7S0FDSDtJQUNELEtBQUssUUFBUSxDQUFDLENBQUM7TUFDYix1Q0FDSyxPQUFPLEtBQ1YsTUFBTSxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFDbEQ7S0FDSDtJQUVELEtBQUssY0FBYyxDQUFDLENBQUM7TUFDbkIsdUNBQ0ssT0FBTyxLQUNWLFdBQVcsRUFBRTtVQUNYLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztVQUM5QixJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7VUFDOUIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1VBQzlCLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztVQUM5QixJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7VUFDOUIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQy9CLElBQ0Q7S0FDSDtJQUNEO01BQ0UsT0FBTyxFQUFFLENBQUM7R0FDYjtBQUNILENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUMxQixVQUEyQjtFQUUzQixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtJQUMzQixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUU7TUFDZixLQUFLLGlCQUFpQjtRQUNwQixPQUFPO1VBQ0wsY0FBYyxFQUFFO1lBQ2QsUUFBUSxFQUFFO2NBQ1IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTztjQUN0QixFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVO2NBQzFCLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU87Y0FDdkIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTztjQUN2QixFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRO2NBQ3hCLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVE7YUFDekI7V0FDRjtTQUNGLENBQUM7TUFDSixLQUFLLGdCQUFnQjtRQUNuQixPQUFPO1VBQ0wsY0FBYyxFQUFFLEVBQUU7U0FDbkIsQ0FBQztNQUNKLEtBQUssa0JBQWtCO1FBQ3JCLE9BQU87VUFDTCxlQUFlLEVBQUU7WUFDZixTQUFTLG9CQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUU7V0FDL0I7U0FDRixDQUFDO01BQ0osS0FBSyxpQkFBaUI7UUFDcEIsT0FBTztVQUNMLGNBQWMsRUFBRTtZQUNkLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTztXQUNwQjtTQUNGLENBQUM7TUFDSixLQUFLLE1BQU07UUFDVCxPQUFPO1VBQ0wsZ0JBQWdCLEVBQUU7WUFDaEIsT0FBTyxFQUFFLEtBQUs7V0FDZjtTQUNGLENBQUM7TUFDSixLQUFLLE1BQU07UUFDVCxPQUFPO1VBQ0wsZ0JBQWdCLEVBQUU7WUFDaEIsT0FBTyxFQUFFLElBQUk7V0FDZDtTQUNGLENBQUM7TUFDSixLQUFLLFFBQVE7UUFDWCxPQUFPO1VBQ0wsZUFBZSxFQUFFO1lBQ2YsUUFBUSxFQUFFO2NBQ1IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTztjQUN0QixFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVO2NBQzFCLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU87Y0FDdkIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTztjQUN2QixFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRO2NBQ3hCLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVE7YUFDekI7V0FDRjtTQUNGLENBQUM7TUFDSixLQUFLLFVBQVU7UUFDYixPQUFPO1VBQ0wsZUFBZSxFQUFFLEVBQUU7U0FDcEIsQ0FBQztNQUNKO1FBQ0UsT0FBTyxFQUFFLENBQUM7S0FDYjtFQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyJ9
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zY2VuZXMvbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHeEQsT0FBTyxFQUFvQixXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFRekQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxLQUFzQixFQUN0QixVQUEyQixFQUMzQixPQUFtQztFQUVuQyxNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztFQUV2RCxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7SUFDbEIsS0FBSyxLQUFLLENBQUM7SUFDWCxLQUFLLElBQUk7TUFDUCxPQUFPO1FBQ0wsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7VUFDWixPQUFPLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLEdBQUcsQ0FBQztXQUN6QyxDQUFDLENBQUM7U0FDSjtRQUNELGNBQWM7T0FDZixDQUFDO0lBQ0osS0FBSyxTQUFTLENBQUM7SUFDZixLQUFLLGFBQWE7TUFDaEIsT0FBTztRQUNMLElBQUksRUFBRTtVQUNKLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7U0FDM0M7UUFDRCxjQUFjO09BQ2YsQ0FBQztJQUNKLEtBQUssS0FBSztNQUNSLE9BQU87UUFDTCxHQUFHLEVBQUUsRUFBRTtRQUNQLGNBQWM7T0FDZixDQUFDO0lBQ0osS0FBSyxrQkFBa0I7TUFDckIsT0FBTztRQUNMLGNBQWMsRUFBRTtVQUNkLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUs7VUFDeEIsR0FB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
@@ -27,6 +27,9 @@ export class RootQuery {
27
27
  withPoint(point) {
28
28
  return new PointQuery(point);
29
29
  }
30
+ withVolumeIntersection(rectangle, exclusive) {
31
+ return new VolumeIntersectionQuery(rectangle, exclusive);
32
+ }
30
33
  }
31
34
  export class AllQuery {
32
35
  build() {
@@ -77,6 +80,19 @@ export class PointQuery {
77
80
  };
78
81
  }
79
82
  }
83
+ export class VolumeIntersectionQuery {
84
+ constructor(rectangle, exclusive) {
85
+ this.rectangle = rectangle;
86
+ this.exclusive = exclusive;
87
+ }
88
+ build() {
89
+ return {
90
+ type: 'volume-intersection',
91
+ rectangle: this.rectangle,
92
+ exclusive: !!this.exclusive,
93
+ };
94
+ }
95
+ }
80
96
  export class BulkQuery {
81
97
  constructor(ids, type) {
82
98
  this.ids = ids;
@@ -157,4 +173,4 @@ export class SceneItemQueryExecutor {
157
173
  return new SceneItemOperationsBuilder(expression, this.defaultSelectionMaterial);
158
174
  }
159
175
  }
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2NlbmVzL3F1ZXJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBK0VyRCxNQUFNLE9BQU8sU0FBUztFQUNiLEdBQUc7SUFDUixPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7RUFDeEIsQ0FBQztFQUVNLFdBQVcsQ0FBQyxHQUFhO0lBQzlCLE9BQU8sSUFBSSxTQUFTLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0VBQ3ZDLENBQUM7RUFFTSxlQUFlLENBQUMsR0FBYTtJQUNsQyxPQUFPLElBQUksU0FBUyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztFQUMzQyxDQUFDO0VBRU0sVUFBVSxDQUFDLEVBQVU7SUFDMUIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7RUFDekQsQ0FBQztFQUVNLGNBQWMsQ0FBQyxFQUFVO0lBQzlCLE9BQU8sSUFBSSxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0VBQzdELENBQUM7RUFFTSxrQkFBa0IsQ0FBQyxLQUFxQjtJQUM3QyxPQUFPLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7RUFDeEMsQ0FBQztFQUVNLFlBQVksQ0FDakIsTUFBYyxFQUNkLElBQWMsRUFDZCxVQUFtQjtJQUVuQixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7RUFDckQsQ0FBQztFQUVNLFlBQVk7SUFDakIsT0FBTyxJQUFJLGdCQUFnQixFQUFFLENBQUM7RUFDaEMsQ0FBQztFQUVNLFNBQVMsQ0FBQyxLQUFrQjtJQUNqQyxPQUFP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
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2NlbmVzL3F1ZXJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBc0ZyRCxNQUFNLE9BQU8sU0FBUztFQUNiLEdBQUc7SUFDUixPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7RUFDeEIsQ0FBQztFQUVNLFdBQVcsQ0FBQyxHQUFhO0lBQzlCLE9BQU8sSUFBSSxTQUFTLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0VBQ3ZDLENBQUM7RUFFTSxlQUFlLENBQUMsR0FBYTtJQUNsQyxPQUFPLElBQUksU0FBUyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztFQUMzQyxDQUFDO0VBRU0sVUFBVSxDQUFDLEVBQVU7SUFDMUIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7RUFDekQsQ0FBQztFQUVNLGNBQWMsQ0FBQyxFQUFVO0lBQzlCLE9BQU8sSUFBSSxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0VBQzdELENBQUM7RUFFTSxrQkFBa0IsQ0FBQyxLQUFxQjtJQUM3QyxPQUFPLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7RUFDeEMsQ0FBQztFQUVNLFlBQVksQ0FDakIsTUFBYyxFQUNkLElBQWMsRUFDZCxVQUFtQjtJQUVuQixPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7RUFDckQsQ0FBQztFQUVNLFlBQVk7SUFDakIsT0FBTyxJQUFJLGdCQUFnQixFQUFFLENBQUM7RUFDaEMsQ0FBQztFQUVNLFNBQVMsQ0FBQyxLQUFrQjtJQUNqQyxPQUFP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
@@ -0,0 +1,48 @@
1
+ export const DEFAULT_CONCURRENT_VOLUME_QUERY_LIMIT = 5;
2
+ export class VolumeIntersectionQueryController {
3
+ constructor(model, viewer) {
4
+ this.model = model;
5
+ this.viewer = viewer;
6
+ this.inFlightOperations = 0;
7
+ this.operationTransform = (builder) => builder.select();
8
+ }
9
+ setStartPoint(point) {
10
+ this.previousViewerCameraControls = this.viewer.cameraControls;
11
+ this.viewer.cameraControls = false;
12
+ this.model.setStartPoint(point);
13
+ }
14
+ setEndPoint(point) {
15
+ this.model.setEndPoint(point);
16
+ }
17
+ setOperationTransform(operationTransform) {
18
+ this.operationTransform = operationTransform;
19
+ }
20
+ async execute() {
21
+ var _a;
22
+ const screenBounds = this.model.getScreenBounds();
23
+ const type = this.model.getType();
24
+ this.viewer.cameraControls = (_a = this.previousViewerCameraControls) !== null && _a !== void 0 ? _a : true;
25
+ this.model.complete();
26
+ if (screenBounds != null &&
27
+ this.inFlightOperations < DEFAULT_CONCURRENT_VOLUME_QUERY_LIMIT) {
28
+ this.inFlightOperations = this.inFlightOperations + 1;
29
+ try {
30
+ const scene = await this.viewer.scene();
31
+ await scene
32
+ .items((op) => this.operationTransform(op.where((q) => q.withVolumeIntersection(screenBounds, type === 'exclusive'))))
33
+ .execute();
34
+ }
35
+ catch (e) {
36
+ console.error('Failed to perform volume intersection query', e);
37
+ throw e;
38
+ }
39
+ finally {
40
+ this.inFlightOperations = this.inFlightOperations - 1;
41
+ }
42
+ }
43
+ else if (this.inFlightOperations >= DEFAULT_CONCURRENT_VOLUME_QUERY_LIMIT) {
44
+ throw new Error(`Unable to perform volume intersection query due to the limit of ${DEFAULT_CONCURRENT_VOLUME_QUERY_LIMIT}.`);
45
+ }
46
+ }
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdm9sdW1lLWludGVyc2VjdGlvbi9jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLENBQUMsQ0FBQztBQU12RCxNQUFNLE9BQU8saUNBQWlDO0VBSzVDLFlBQ1UsS0FBbUMsRUFDbkMsTUFBK0I7SUFEL0IsVUFBSyxHQUFMLEtBQUssQ0FBOEI7SUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7SUFKakMsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBTTdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0VBQzFELENBQUM7RUFFTSxhQUFhLENBQUMsS0FBa0I7SUFDckMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO0lBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUVuQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztFQUNsQyxDQUFDO0VBRU0sV0FBVyxDQUFDLEtBQWtCO0lBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQ2hDLENBQUM7RUFFTSxxQkFBcUIsQ0FDMUIsa0JBRStCO0lBRS9CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztFQUMvQyxDQUFDO0VBRU0sS0FBSyxDQUFDLE9BQU87O0lBQ2xCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsR0FBRyxNQUFBLElBQUksQ0FBQyw0QkFBNEIsbUNBQUksSUFBSSxDQUFDO0lBQ3ZFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFdEIsSUFDRSxZQUFZLElBQUksSUFBSTtNQUNwQixJQUFJLENBQUMsa0JBQWtCLEdBQUcscUNBQXFDLEVBQy9EO01BQ0EsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7TUFDdEQsSUFBSTtRQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QyxNQUFNLEtBQUs7V0FDUixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FDckIsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2IsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxJQUFJLEtBQUssV0FBVyxDQUFDLENBQzdELENBQ0YsQ0FDRjtXQUNBLE9BQU8sRUFBRSxDQUFDO09BQ2Q7TUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEUsTUFBTSxDQUFDLENBQUM7T0FDVDtjQUFTO1FBQ1IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7T0FDdkQ7S0FDRjtTQUFNLElBQ0wsSUFBSSxDQUFDLGtCQUFrQixJQUFJLHFDQUFxQyxFQUNoRTtNQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2IsbUVBQW1FLHFDQUFxQyxHQUFHLENBQzVHLENBQUM7S0FDSDtFQUNILENBQUM7Q0FDRiJ9
@@ -0,0 +1,37 @@
1
+ import { Point } from '@vertexvis/geometry';
2
+ export class VolumeIntersectionQueryInteractionHandler {
3
+ constructor(controller) {
4
+ this.controller = controller;
5
+ this.handleDragBegin = this.handleDragBegin.bind(this);
6
+ this.handleDrag = this.handleDrag.bind(this);
7
+ this.handleDragEnd = this.handleDragEnd.bind(this);
8
+ }
9
+ initialize(element) {
10
+ this.element = element;
11
+ this.element.addEventListener('pointerdown', this.handleDragBegin);
12
+ }
13
+ dispose() {
14
+ var _a;
15
+ (_a = this.element) === null || _a === void 0 ? void 0 : _a.removeEventListener('pointerdown', this.handleDragBegin);
16
+ window.removeEventListener('pointermove', this.handleDrag);
17
+ window.removeEventListener('pointerup', this.handleDragEnd);
18
+ }
19
+ handleDragBegin(event) {
20
+ if (event.buttons === 1 && !this.isInteracting) {
21
+ this.isInteracting = true;
22
+ this.controller.setStartPoint(Point.create(event.offsetX, event.offsetY));
23
+ window.addEventListener('pointermove', this.handleDrag);
24
+ window.addEventListener('pointerup', this.handleDragEnd);
25
+ }
26
+ }
27
+ handleDrag(event) {
28
+ this.controller.setEndPoint(Point.create(event.offsetX, event.offsetY));
29
+ }
30
+ handleDragEnd() {
31
+ this.controller.execute();
32
+ this.isInteracting = false;
33
+ window.removeEventListener('pointermove', this.handleDrag);
34
+ window.removeEventListener('pointerup', this.handleDragEnd);
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi92b2x1bWUtaW50ZXJzZWN0aW9uL2ludGVyYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLNUMsTUFBTSxPQUFPLHlDQUF5QztFQU1wRCxZQUEyQixVQUE2QztJQUE3QyxlQUFVLEdBQVYsVUFBVSxDQUFtQztJQUN0RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztFQUNyRCxDQUFDO0VBRU0sVUFBVSxDQUFDLE9BQW9CO0lBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRXZCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztFQUNyRSxDQUFDO0VBRU0sT0FBTzs7SUFDWixNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0QsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7RUFDOUQsQ0FBQztFQUVPLGVBQWUsQ0FBQyxLQUFtQjtJQUN6QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtNQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztNQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7TUFFMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7TUFDeEQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDMUQ7RUFDSCxDQUFDO0VBRU8sVUFBVSxDQUFDLEtBQW1CO0lBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztFQUMxRSxDQUFDO0VBRU8sYUFBYTtJQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBRTNCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0VBQzlELENBQUM7Q0FDRiJ9
@@ -0,0 +1,67 @@
1
+ import { Point, Rectangle } from '@vertexvis/geometry';
2
+ import { EventDispatcher } from '@vertexvis/utils';
3
+ export class VolumeIntersectionQueryModel {
4
+ constructor() {
5
+ this.dragStarted = new EventDispatcher();
6
+ this.dragComplete = new EventDispatcher();
7
+ this.screenBoundsChanged = new EventDispatcher();
8
+ }
9
+ setStartPoint(point) {
10
+ this.startPoint = point;
11
+ this.dragStarted.emit();
12
+ }
13
+ setEndPoint(point) {
14
+ this.endPoint = point;
15
+ this.updateQueryType();
16
+ this.screenBoundsChanged.emit(this.getQueryDetails());
17
+ }
18
+ complete() {
19
+ if (this.startPoint != null && this.endPoint != null) {
20
+ this.screenBoundsChanged.emit(undefined);
21
+ this.dragComplete.emit(this.getQueryDetails());
22
+ this.reset();
23
+ }
24
+ }
25
+ reset() {
26
+ this.startPoint = undefined;
27
+ this.endPoint = undefined;
28
+ this.type = undefined;
29
+ }
30
+ getScreenBounds() {
31
+ return this.startPoint != null && this.endPoint != null
32
+ ? Rectangle.fromPoints(this.startPoint, this.endPoint)
33
+ : undefined;
34
+ }
35
+ getType() {
36
+ return this.type;
37
+ }
38
+ onScreenBoundsChanged(listener) {
39
+ return this.screenBoundsChanged.on(listener);
40
+ }
41
+ onDragStarted(listener) {
42
+ return this.dragStarted.on(listener);
43
+ }
44
+ onDragComplete(listener) {
45
+ return this.dragComplete.on(listener);
46
+ }
47
+ getQueryDetails() {
48
+ if (this.startPoint != null && this.endPoint != null && this.type != null) {
49
+ return {
50
+ screenBounds: Rectangle.fromPoints(this.startPoint, this.endPoint),
51
+ type: this.type,
52
+ };
53
+ }
54
+ else {
55
+ throw new Error('Failed to create query details, the start and end points must be set.');
56
+ }
57
+ }
58
+ updateQueryType() {
59
+ if (this.startPoint != null && this.endPoint) {
60
+ this.type =
61
+ Point.subtract(this.endPoint, this.startPoint).x > 0
62
+ ? 'exclusive'
63
+ : 'inclusive';
64
+ }
65
+ }
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ZvbHVtZS1pbnRlcnNlY3Rpb24vbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQWMsZUFBZSxFQUFZLE1BQU0sa0JBQWtCLENBQUM7QUFTekUsTUFBTSxPQUFPLDRCQUE0QjtFQUF6QztJQUtVLGdCQUFXLEdBQUcsSUFBSSxlQUFlLEVBQVEsQ0FBQztJQUMxQyxpQkFBWSxHQUFHLElBQUksZUFBZSxFQUFrQyxDQUFDO0lBRXJFLHdCQUFtQixHQUFHLElBQUksZUFBZSxFQUU5QyxDQUFDO0VBNEVOLENBQUM7RUExRVEsYUFBYSxDQUFDLEtBQWtCO0lBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRXhCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7RUFDMUIsQ0FBQztFQUVNLFdBQVcsQ0FBQyxLQUFrQjtJQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV0QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztFQUN4RCxDQUFDO0VBRU0sUUFBUTtJQUNiLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7TUFDcEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztNQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztNQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7S0FDZDtFQUNILENBQUM7RUFFTSxLQUFLO0lBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7RUFDeEIsQ0FBQztFQUVNLGVBQWU7SUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUk7TUFDckQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO01BQ3RELENBQUMsQ0FBQyxTQUFTLENBQUM7RUFDaEIsQ0FBQztFQUVNLE9BQU87SUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDbkIsQ0FBQztFQUVNLHFCQUFxQixDQUMxQixRQUE4RDtJQUU5RCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDL0MsQ0FBQztFQUVNLGFBQWEsQ0FBQyxRQUF3QjtJQUMzQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQ3ZDLENBQUM7RUFFTSxjQUFjLENBQ25CLFFBQWtEO0lBRWxELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7RUFDeEMsQ0FBQztFQUVPLGVBQWU7SUFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTtNQUN6RSxPQUFPO1FBQ0wsWUFBWSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2xFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtPQUNoQixDQUFDO0tBQ0g7U0FBTTtNQUNMLE1BQU0sSUFBSSxLQUFLLENBQ2IsdUVBQXVFLENBQ3hFLENBQUM7S0FDSDtFQUNILENBQUM7RUFFTyxlQUFlO0lBQ3JCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtNQUM1QyxJQUFJLENBQUMsSUFBSTtRQUNQLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7VUFDbEQsQ0FBQyxDQUFDLFdBQVc7VUFDYixDQUFDLENBQUMsV0FBVyxDQUFDO0tBQ25CO0VBQ0gsQ0FBQztDQUNGIn0=
@@ -62,6 +62,12 @@ export const VertexViewer: {
62
62
  new (): VertexViewer;
63
63
  };
64
64
 
65
+ interface VertexViewerBoxQueryTool extends Components.VertexViewerBoxQueryTool, HTMLElement {}
66
+ export const VertexViewerBoxQueryTool: {
67
+ prototype: VertexViewerBoxQueryTool;
68
+ new (): VertexViewerBoxQueryTool;
69
+ };
70
+
65
71
  interface VertexViewerButton extends Components.VertexViewerButton, HTMLElement {}
66
72
  export const VertexViewerButton: {
67
73
  prototype: VertexViewerButton;