@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.
- package/dist/cjs/{config-6e330a82.js → config-4a86ae0b.js} +1 -1
- package/dist/cjs/{entities-7b2e8c03.js → entities-496b61cd.js} +2 -2
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{mapper-0f2294a6.js → mapper-216603b0.js} +1 -1
- package/dist/cjs/{scene-56438693.js → scene-0ce59b26.js} +28 -1
- package/dist/cjs/{streamAttributes-c64aee75.js → streamAttributes-7725f5c4.js} +976 -4
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +245 -0
- package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +1 -1
- 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 +2 -2
- package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer.cjs.entry.js +3 -3
- package/dist/cjs/viewer.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +74 -0
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +191 -0
- package/dist/collection/lib/scenes/mapper.js +12 -1
- package/dist/collection/lib/scenes/queries.js +17 -1
- package/dist/collection/lib/volume-intersection/controller.js +48 -0
- package/dist/collection/lib/volume-intersection/interactions.js +37 -0
- package/dist/collection/lib/volume-intersection/model.js +67 -0
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +1241 -5
- package/dist/esm/{config-49688db8.js → config-6cdeb6ca.js} +1 -1
- package/dist/esm/{entities-a5bfef48.js → entities-6f3c5437.js} +2 -2
- package/dist/esm/index.js +4 -4
- package/dist/esm/index.mjs +4 -4
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loader.mjs +1 -1
- package/dist/esm/{mapper-5894c2a4.js → mapper-941ff03c.js} +1 -1
- package/dist/esm/{scene-5b919078.js → scene-970f5000.js} +28 -1
- package/dist/esm/{streamAttributes-7e8565be.js → streamAttributes-24bd7b3a.js} +976 -4
- package/dist/esm/vertex-scene-tree.entry.js +2 -2
- package/dist/esm/vertex-viewer-box-query-tool.entry.js +241 -0
- package/dist/esm/vertex-viewer-dom-element_2.entry.js +1 -1
- package/dist/esm/vertex-viewer-measurement-details.entry.js +1 -1
- package/dist/esm/vertex-viewer-measurement-distance.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +4 -4
- package/dist/esm/vertex-viewer-pin-group.entry.js +2 -2
- package/dist/esm/vertex-viewer-transform-widget.entry.js +1 -1
- package/dist/esm/vertex-viewer-view-cube.entry.js +1 -1
- package/dist/esm/vertex-viewer.entry.js +3 -3
- package/dist/esm/viewer.js +1 -1
- package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +60 -0
- package/dist/types/components.d.ts +48 -0
- package/dist/types/lib/scenes/queries.d.ts +14 -2
- package/dist/types/lib/volume-intersection/controller.d.ts +17 -0
- package/dist/types/lib/volume-intersection/interactions.d.ts +13 -0
- package/dist/types/lib/volume-intersection/model.d.ts +26 -0
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/{p-1e0dd2e9.js → p-10145045.js} +1 -1
- package/dist/viewer/{p-a6558bb2.entry.js → p-1bba9ade.entry.js} +1 -1
- package/dist/viewer/{p-3f6f2457.entry.js → p-24cda14a.entry.js} +1 -1
- package/dist/viewer/{p-b7e170ac.entry.js → p-2b58afc3.entry.js} +1 -1
- package/dist/viewer/{p-22ae6785.entry.js → p-51966cef.entry.js} +1 -1
- package/dist/viewer/{p-1fc24ec6.js → p-52ab9ec0.js} +1 -1
- package/dist/viewer/{p-927b528b.js → p-597cc9b5.js} +1 -1
- package/dist/viewer/{p-61e50e11.entry.js → p-608925c5.entry.js} +1 -1
- package/dist/viewer/p-68e192b9.js +4 -0
- package/dist/viewer/{p-d34ad2b2.entry.js → p-69a3fce8.entry.js} +1 -1
- package/dist/viewer/{p-7579e2a1.entry.js → p-74c772bb.entry.js} +1 -1
- package/dist/viewer/{p-40a9dd7d.js → p-9e1384c9.js} +1 -1
- package/dist/viewer/{p-d64c1e14.entry.js → p-a107b65e.entry.js} +2 -2
- package/dist/viewer/p-bb425931.entry.js +4 -0
- package/dist/viewer/{p-920c9a88.entry.js → p-bfacbaa8.entry.js} +1 -1
- package/dist/viewer/{p-f3ea0c2b.entry.js → p-c72da0fb.entry.js} +1 -1
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +8 -8
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWJveC1xdWVyeS10b29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld2VyLWJveC1xdWVyeS10b29sL3ZpZXdlci1ib3gtcXVlcnktdG9vbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RyxPQUFPLEVBR0wsNEJBQTRCLEdBQzdCLE1BQU0scUNBQXFDLENBQUM7QUFJN0M7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8sa0JBQWtCO0VBNEM3QjtJQXJCQTs7Ozs7OztPQU9HO0lBRUksa0JBQWEsR0FBZ0MsUUFBUSxDQUFDO0lBYTNELElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0VBQzdFLENBQUM7RUFFTSxpQkFBaUI7O0lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBQSxJQUFJLENBQUMsS0FBSyxtQ0FBSSxJQUFJLDRCQUE0QixFQUFFLENBQUM7SUFFOUQsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQ25FLElBQUksQ0FBQyx5QkFBeUIsQ0FDL0IsQ0FBQztJQUVGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7RUFDeEMsQ0FBQztFQUVNLG9CQUFvQjs7SUFDekIsTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxLQUFLLEVBQUUsQ0FBQztJQUNwQixNQUFBLElBQUksQ0FB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
|
|
@@ -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,
|
|
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,
|
|
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;
|