@vertexvis/viewer 0.12.0 → 0.13.0-canary.0
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-acd7cea9.js → config-90ee43d5.js} +1 -1
- package/dist/cjs/{cursors-399a9648.js → cursors-ad2fd395.js} +7 -0
- package/dist/cjs/{controller-8cbcdd8d.js → entities-aa59890e.js} +57 -22
- package/dist/cjs/{index-cc65325e.js → index-e100709a.js} +64 -3
- package/dist/cjs/index.cjs.js +21 -11
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{model-18ef3363.js → mapper-f6e6cafe.js} +37 -191
- package/dist/cjs/model-4ec0c36e.js +134 -0
- package/dist/cjs/overlays-8a582edf.js +76 -0
- package/dist/cjs/results-bc325974.js +24 -0
- package/dist/cjs/{scene-ffee07ee.js → scene-f4040800.js} +1 -1
- package/dist/cjs/{stencil-bd453a38.js → stencil-a664cd10.js} +1 -1
- package/dist/cjs/{streamAttributes-9d6226ac.js → streamAttributes-d6236448.js} +87 -30
- package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +2 -2
- 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 +3 -3
- 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_3.cjs.entry.js +4 -4
- 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 +221 -75
- package/dist/cjs/{vertex-viewer-measurement-distance_2.cjs.entry.js → vertex-viewer-measurement-distance.cjs.entry.js} +30 -69
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +170 -0
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +163 -55
- package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +33 -4
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +4 -4
- package/dist/cjs/vertex-viewer.cjs.entry.js +58 -10
- package/dist/cjs/viewer.cjs.js +2 -2
- package/dist/cjs/{viewport-51aa05ab.js → viewport-8c39089f.js} +11 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/viewer/viewer.js +2 -2
- package/dist/collection/components/viewer-dom-renderer/viewer-dom-renderer.js +2 -2
- package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-entry.js +14 -0
- package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-results.js +22 -0
- package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.css +3 -10
- package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.js +125 -188
- package/dist/collection/components/viewer-measurement-distance/interactions.js +3 -14
- package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js +41 -1
- package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays-components.js +30 -0
- package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.css +51 -0
- package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.js +149 -0
- package/dist/collection/components/viewer-measurement-precise/viewer-measurement-precise.js +118 -26
- package/dist/collection/components/viewer-measurements/viewer-measurements.js +67 -2
- package/dist/collection/components/viewer-view-cube/viewer-view-cube.css +21 -3
- package/dist/collection/index.js +2 -2
- package/dist/collection/lib/cursors.js +7 -1
- package/dist/collection/lib/elementRectObserver.js +19 -0
- package/dist/collection/lib/interactions/interactionApi.js +53 -4
- package/dist/collection/lib/mappers/frameStreaming.js +2 -4
- package/dist/collection/lib/measurement/controller.js +21 -17
- package/dist/collection/lib/measurement/entities.js +34 -0
- package/dist/collection/lib/measurement/index.js +4 -2
- package/dist/collection/lib/measurement/interactions.js +74 -28
- package/dist/collection/lib/measurement/mapper.js +5 -5
- package/dist/collection/lib/measurement/model.js +24 -85
- package/dist/collection/lib/measurement/outcomes.js +2 -0
- package/dist/collection/lib/measurement/overlays.js +69 -0
- package/dist/collection/lib/measurement/results.js +17 -0
- package/dist/collection/lib/types/entities.js +5 -1
- package/dist/collection/lib/types/featureMap.js +14 -5
- package/dist/collection/lib/types/frame.js +3 -3
- package/dist/collection/lib/types/measurementUnits.js +7 -7
- package/dist/collection/lib/types/viewport.js +12 -1
- package/dist/collection/testing/eventually.js +30 -0
- package/dist/collection/testing/fixtures.js +11 -4
- package/dist/collection/testing/index.js +2 -1
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +851 -287
- package/dist/esm/{browser.esm-e6827921.js → browser.esm-59e914f6.js} +1 -1
- package/dist/esm/{bundle.esm-8f14ac60.js → bundle.esm-d899b2d5.js} +1 -1
- package/dist/esm/{config-a200c227.js → config-604c644e.js} +2 -2
- package/dist/esm/{cursors-5157d29d.js → cursors-a7ec4adb.js} +8 -2
- package/dist/esm/{dom-2d6a1e1e.js → dom-780d25be.js} +1 -1
- package/dist/esm/{controller-a756cf9c.js → entities-759d97cd.js} +52 -18
- package/dist/esm/{index-f0053642.js → index-10c1495a.js} +64 -3
- package/dist/esm/index.js +13 -11
- package/dist/esm/index.mjs +13 -11
- package/dist/esm/loader.js +2 -2
- package/dist/esm/loader.mjs +2 -2
- package/dist/esm/{model-f711a825.js → mapper-4b815e31.js} +37 -190
- package/dist/esm/{markup-e46623b3.js → markup-1d177b4a.js} +2 -2
- package/dist/esm/{measurement-702d6b8c.js → measurement-12cdbf5c.js} +2 -2
- package/dist/esm/model-e5a4f00f.js +132 -0
- package/dist/esm/overlays-dbe5d652.js +74 -0
- package/dist/esm/{png-decoder-59a0e9c2.js → png-decoder-3f1fa486.js} +1 -1
- package/dist/esm/results-994bdb50.js +22 -0
- package/dist/esm/{scene-16490983.js → scene-9ac8a484.js} +3 -3
- package/dist/esm/{stencil-7d04d41a.js → stencil-9bf7fb9e.js} +1 -1
- package/dist/esm/{streamAttributes-7aa486b2.js → streamAttributes-d623bb60.js} +77 -20
- package/dist/esm/{utils-8070900a.js → utils-01e4f587.js} +1 -1
- package/dist/esm/{utils-953a1619.js → utils-5e57bf24.js} +1 -1
- 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 +5 -5
- 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_3.entry.js +6 -6
- 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 +221 -75
- package/dist/esm/{vertex-viewer-measurement-distance_2.entry.js → vertex-viewer-measurement-distance.entry.js} +35 -73
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +165 -0
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +160 -52
- package/dist/esm/vertex-viewer-measurement-tool.entry.js +6 -6
- package/dist/esm/vertex-viewer-measurements.entry.js +36 -7
- package/dist/esm/vertex-viewer-view-cube.entry.js +6 -6
- package/dist/esm/vertex-viewer.entry.js +61 -13
- package/dist/esm/viewer.js +2 -2
- package/dist/esm/{viewport-bb7c46d9.js → viewport-01c886ea.js} +12 -1
- package/dist/types/components/viewer-dom-renderer/viewer-dom-renderer.d.ts +1 -1
- package/dist/types/components/viewer-measurement-details/viewer-measurement-details-entry.d.ts +8 -0
- package/dist/types/components/viewer-measurement-details/viewer-measurement-details-results.d.ts +15 -0
- package/dist/types/components/viewer-measurement-details/viewer-measurement-details.d.ts +44 -42
- package/dist/types/components/viewer-measurement-distance/interactions.d.ts +23 -1
- package/dist/types/components/viewer-measurement-distance/viewer-measurement-distance.d.ts +8 -0
- package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays-components.d.ts +10 -0
- package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays.d.ts +41 -0
- package/dist/types/components/viewer-measurement-precise/viewer-measurement-precise.d.ts +62 -6
- package/dist/types/components/viewer-measurements/viewer-measurements.d.ts +12 -0
- package/dist/types/components.d.ts +103 -40
- package/dist/types/index.d.ts +1 -1
- package/dist/types/lib/cursors.d.ts +5 -0
- package/dist/types/lib/elementRectObserver.d.ts +8 -0
- package/dist/types/lib/interactions/interactionApi.d.ts +32 -5
- package/dist/types/lib/measurement/controller.d.ts +8 -7
- package/dist/types/lib/measurement/entities.d.ts +10 -0
- package/dist/types/lib/measurement/index.d.ts +3 -1
- package/dist/types/lib/measurement/interactions.d.ts +19 -5
- package/dist/types/lib/measurement/mapper.d.ts +1 -1
- package/dist/types/lib/measurement/model.d.ts +18 -153
- package/dist/types/lib/measurement/outcomes.d.ts +8 -0
- package/dist/types/lib/measurement/overlays.d.ts +38 -0
- package/dist/types/lib/measurement/results.d.ts +90 -0
- package/dist/types/lib/types/entities.d.ts +5 -1
- package/dist/types/lib/types/featureMap.d.ts +2 -2
- package/dist/types/lib/types/measurementUnits.d.ts +1 -1
- package/dist/types/lib/types/viewport.d.ts +9 -1
- package/dist/types/testing/eventually.d.ts +15 -0
- package/dist/types/testing/fixtures.d.ts +2 -2
- package/dist/types/testing/index.d.ts +1 -0
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/p-081e6873.js +4 -0
- package/dist/viewer/{p-5d82c131.entry.js → p-099fe6ca.entry.js} +1 -1
- package/dist/viewer/{p-784914e4.js → p-0aba71fd.js} +1 -1
- package/dist/viewer/p-0aeab3fc.js +4 -0
- package/dist/viewer/p-0eb195dd.entry.js +4 -0
- package/dist/viewer/p-1a7df99a.entry.js +4 -0
- package/dist/viewer/{p-f70d8def.js → p-301660cf.js} +1 -1
- package/dist/viewer/{p-a0e49d10.entry.js → p-31658489.entry.js} +1 -1
- package/dist/viewer/{p-95f3a81c.entry.js → p-353cfc7a.entry.js} +1 -1
- package/dist/viewer/p-364ce21c.js +4 -0
- package/dist/viewer/{p-a5a0bf86.js → p-3f6ac74f.js} +1 -1
- package/dist/viewer/p-423410be.js +4 -0
- package/dist/viewer/{p-6f71f0f2.js → p-439220c6.js} +1 -1
- package/dist/viewer/{p-e84ed098.entry.js → p-46459921.entry.js} +1 -1
- package/dist/viewer/{p-c23a8b34.entry.js → p-4717c98e.entry.js} +1 -1
- package/dist/viewer/p-4985fad5.js +4 -0
- package/dist/viewer/{p-ba393340.entry.js → p-61b1097b.entry.js} +1 -1
- package/dist/viewer/{p-011eecd5.entry.js → p-6370098c.entry.js} +1 -1
- package/dist/viewer/p-67446e35.js +4 -0
- package/dist/viewer/p-7006fd4e.entry.js +4 -0
- package/dist/viewer/{p-a20e4ea1.entry.js → p-70ca1ea7.entry.js} +1 -1
- package/dist/viewer/p-76ec0245.js +4 -0
- package/dist/viewer/p-7cad9bf4.js +4 -0
- package/dist/viewer/p-7f25dcb5.entry.js +4 -0
- package/dist/viewer/{p-ca6bbe53.entry.js → p-8decee06.entry.js} +1 -1
- package/dist/viewer/{p-b7ffa306.entry.js → p-915d95ad.entry.js} +1 -1
- package/dist/viewer/{p-4485ac6d.js → p-a0df0e0c.js} +1 -1
- package/dist/viewer/{p-cc9888be.entry.js → p-a455ae02.entry.js} +1 -1
- package/dist/viewer/{p-a6a8026f.js → p-acf22d3e.js} +1 -1
- package/dist/viewer/{p-653aca1b.entry.js → p-b2b48a42.entry.js} +1 -1
- package/dist/viewer/p-bc9b1e67.entry.js +4 -0
- package/dist/viewer/p-c458f191.entry.js +32 -0
- package/dist/viewer/p-cafa57a6.js +4 -0
- package/dist/viewer/p-d00e9203.js +4 -0
- package/dist/viewer/{p-3e96bd62.entry.js → p-d2bcf788.entry.js} +1 -1
- package/dist/viewer/p-d90f2f6d.entry.js +4 -0
- package/dist/viewer/p-da2f4a56.js +4 -0
- package/dist/viewer/{p-5a2e34e1.entry.js → p-e07377fa.entry.js} +1 -1
- package/dist/viewer/{p-40800e8d.entry.js → p-f755af5a.entry.js} +1 -1
- package/dist/viewer/p-f7cb7e59.js +4 -0
- package/dist/viewer/p-fad9693e.js +4 -0
- package/dist/viewer/p-fe11d694.js +4 -0
- package/dist/viewer/{p-b92a3ac2.entry.js → p-fec1a8d0.entry.js} +1 -1
- package/dist/viewer/viewer.css +1 -1
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +11 -10
- package/dist/cjs/summary-7bbdb4c9.js +0 -45
- package/dist/collection/lib/measurement/summary.js +0 -38
- package/dist/esm/summary-0a3d0bf9.js +0 -43
- package/dist/types/lib/measurement/summary.d.ts +0 -11
- package/dist/viewer/p-03e482ff.js +0 -4
- package/dist/viewer/p-0c052bc8.entry.js +0 -4
- package/dist/viewer/p-148cd792.js +0 -4
- package/dist/viewer/p-26d99e2d.entry.js +0 -4
- package/dist/viewer/p-38eeacc5.js +0 -4
- package/dist/viewer/p-39d1720c.js +0 -4
- package/dist/viewer/p-5dc17b8b.js +0 -4
- package/dist/viewer/p-5fea3491.js +0 -4
- package/dist/viewer/p-6b700561.entry.js +0 -4
- package/dist/viewer/p-6cd7a6e0.js +0 -4
- package/dist/viewer/p-75337d0b.js +0 -4
- package/dist/viewer/p-b83cc8a9.js +0 -4
- package/dist/viewer/p-d2a9e047.js +0 -4
- package/dist/viewer/p-d40bd835.entry.js +0 -4
- package/dist/viewer/p-e10b1526.js +0 -4
- package/dist/viewer/p-ec8a1a68.entry.js +0 -4
- package/dist/viewer/p-f4a8c901.js +0 -4
- package/dist/viewer/p-f77dde26.entry.js +0 -4
|
@@ -5,16 +5,147 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
|
|
8
|
+
const index = require('./index-e100709a.js');
|
|
9
|
+
require('./mapper-f6e6cafe.js');
|
|
10
10
|
require('./grpc-web-client.umd-60a79aae.js');
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
require('./
|
|
14
|
-
require('./
|
|
11
|
+
const streamAttributes = require('./streamAttributes-d6236448.js');
|
|
12
|
+
const model = require('./model-4ec0c36e.js');
|
|
13
|
+
const bundle_esm = require('./bundle.esm-dc0a8361.js');
|
|
14
|
+
const index$1 = require('./index-3bc6bac0.js');
|
|
15
15
|
require('./_commonjsHelpers-537d719a.js');
|
|
16
|
+
require('./browser.esm-31b03292.js');
|
|
17
|
+
|
|
18
|
+
/*! *****************************************************************************
|
|
19
|
+
Copyright (c) Microsoft Corporation.
|
|
20
|
+
|
|
21
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
22
|
+
purpose with or without fee is hereby granted.
|
|
23
|
+
|
|
24
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
25
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
26
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
27
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
28
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
29
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
30
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
31
|
+
***************************************************************************** */
|
|
32
|
+
|
|
33
|
+
var __assign$1 = function() {
|
|
34
|
+
__assign$1 = Object.assign || function __assign(t) {
|
|
35
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
36
|
+
s = arguments[i];
|
|
37
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
38
|
+
}
|
|
39
|
+
return t;
|
|
40
|
+
};
|
|
41
|
+
return __assign$1.apply(this, arguments);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/*! *****************************************************************************
|
|
45
|
+
Copyright (c) Microsoft Corporation.
|
|
46
|
+
|
|
47
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
48
|
+
purpose with or without fee is hereby granted.
|
|
49
|
+
|
|
50
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
51
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
52
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
53
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
54
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
55
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
56
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
57
|
+
***************************************************************************** */
|
|
58
|
+
|
|
59
|
+
var __assign = function() {
|
|
60
|
+
__assign = Object.assign || function __assign(t) {
|
|
61
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
62
|
+
s = arguments[i];
|
|
63
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
64
|
+
}
|
|
65
|
+
return t;
|
|
66
|
+
};
|
|
67
|
+
return __assign.apply(this, arguments);
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt
|
|
72
|
+
*/
|
|
73
|
+
/**
|
|
74
|
+
* Lower case as a function.
|
|
75
|
+
*/
|
|
76
|
+
function lowerCase(str) {
|
|
77
|
+
return str.toLowerCase();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Support camel case ("camelCase" -> "camel Case" and "CAMELCase" -> "CAMEL Case").
|
|
81
|
+
var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];
|
|
82
|
+
// Remove all non-word characters.
|
|
83
|
+
var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;
|
|
84
|
+
/**
|
|
85
|
+
* Normalize the string into something other libraries can manipulate easier.
|
|
86
|
+
*/
|
|
87
|
+
function noCase(input, options) {
|
|
88
|
+
if (options === void 0) { options = {}; }
|
|
89
|
+
var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d;
|
|
90
|
+
var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0");
|
|
91
|
+
var start = 0;
|
|
92
|
+
var end = result.length;
|
|
93
|
+
// Trim the delimiter from around the output string.
|
|
94
|
+
while (result.charAt(start) === "\0")
|
|
95
|
+
start++;
|
|
96
|
+
while (result.charAt(end - 1) === "\0")
|
|
97
|
+
end--;
|
|
98
|
+
// Transform each token independently.
|
|
99
|
+
return result.slice(start, end).split("\0").map(transform).join(delimiter);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Replace `re` in the input string with the replacement value.
|
|
103
|
+
*/
|
|
104
|
+
function replace(input, re, value) {
|
|
105
|
+
if (re instanceof RegExp)
|
|
106
|
+
return input.replace(re, value);
|
|
107
|
+
return re.reduce(function (input, re) { return input.replace(re, value); }, input);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function dotCase(input, options) {
|
|
111
|
+
if (options === void 0) { options = {}; }
|
|
112
|
+
return noCase(input, __assign({ delimiter: "." }, options));
|
|
113
|
+
}
|
|
16
114
|
|
|
17
|
-
|
|
115
|
+
function paramCase(input, options) {
|
|
116
|
+
if (options === void 0) { options = {}; }
|
|
117
|
+
return dotCase(input, __assign$1({ delimiter: "-" }, options));
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const MeasurementDetailsEntry = (_a, children) => {
|
|
121
|
+
var { label } = _a, props = bundle_esm.__rest(_a, ["label"]);
|
|
122
|
+
return (index.h("div", Object.assign({}, props, { class: "measurement-details-entry" }),
|
|
123
|
+
index.h("div", { class: index$1.classnames('measurement-details-entry-label', paramCase(label)) },
|
|
124
|
+
label,
|
|
125
|
+
":"),
|
|
126
|
+
children));
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
130
|
+
const MinimumDistanceResultEntry = ({ result, formatter, overlays, onShowOverlay, onHideOverlay }) => {
|
|
131
|
+
const v = bundle_esm.vector3.subtract(result.point1, result.point2);
|
|
132
|
+
return (index.h(index.Fragment, null,
|
|
133
|
+
index.h(MeasurementDetailsEntry, { label: "Min Dist", onMouseEnter: () => onShowOverlay(overlays === null || overlays === void 0 ? void 0 : overlays.addLineFromResult(result)), onMouseLeave: onHideOverlay }, formatter(result.distance)),
|
|
134
|
+
index.h(MeasurementDetailsEntry, { label: "X", onMouseEnter: () => onShowOverlay(overlays === null || overlays === void 0 ? void 0 : overlays.addDistanceVectorFromResult(result)), onMouseLeave: onHideOverlay }, formatter(v.x)),
|
|
135
|
+
index.h(MeasurementDetailsEntry, { label: "Y", onMouseEnter: () => onShowOverlay(overlays === null || overlays === void 0 ? void 0 : overlays.addDistanceVectorFromResult(result)), onMouseLeave: onHideOverlay }, formatter(v.y)),
|
|
136
|
+
index.h(MeasurementDetailsEntry, { label: "Z", onMouseEnter: () => onShowOverlay(overlays === null || overlays === void 0 ? void 0 : overlays.addDistanceVectorFromResult(result)), onMouseLeave: onHideOverlay }, formatter(v.z))));
|
|
137
|
+
};
|
|
138
|
+
const PlanarAngleResultEntry = ({ result, formatter }) => {
|
|
139
|
+
return (index.h(MeasurementDetailsEntry, { label: "Angle" }, formatter(result.angle)));
|
|
140
|
+
};
|
|
141
|
+
const PlanarDistanceResultEntry = ({ result, formatter }) => {
|
|
142
|
+
return (index.h(MeasurementDetailsEntry, { label: "Parallel Dist" }, formatter(result.distance)));
|
|
143
|
+
};
|
|
144
|
+
const SurfaceAreaResultEntry = ({ result, formatter }) => {
|
|
145
|
+
return (index.h(MeasurementDetailsEntry, { label: "Area" }, formatter(result.area)));
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
const viewerMeasurementDetailsCss = ":host{display:flex;flex-direction:column;--viewer-measurement-details-x-color:red;--viewer-measurement-details-y-color:var(--green-500);--viewer-measurement-details-z-color:blue}.measurement-details-entry{display:flex;align-items:center}.measurement-details-entry-label{user-select:none;padding-right:0.25rem}.measurement-details-entry-label.x{color:var(--viewer-measurement-details-x-color)}.measurement-details-entry-label.y{color:var(--viewer-measurement-details-y-color)}.measurement-details-entry-label.z{color:var(--viewer-measurement-details-z-color)}";
|
|
18
149
|
|
|
19
150
|
let ViewerMeasurementDetails = class {
|
|
20
151
|
constructor(hostRef) {
|
|
@@ -37,106 +168,121 @@ let ViewerMeasurementDetails = class {
|
|
|
37
168
|
* The number of fraction digits to display.
|
|
38
169
|
*/
|
|
39
170
|
this.fractionalDigits = 2;
|
|
40
|
-
/**
|
|
41
|
-
* The current `MeasurementResult` displayed.
|
|
42
|
-
*
|
|
43
|
-
* @readonly
|
|
44
|
-
*/
|
|
45
171
|
this.results = [];
|
|
172
|
+
this.isApproximate = false;
|
|
46
173
|
this.distanceMeasurementUnits = new streamAttributes.DistanceUnits(this.distanceUnits);
|
|
47
174
|
this.angleMeasurementUnits = new streamAttributes.AngleUnits(this.angleUnits);
|
|
48
175
|
this.areaMeasurementUnits = new streamAttributes.AreaUnits(this.distanceUnits);
|
|
49
|
-
this.
|
|
50
|
-
this.
|
|
51
|
-
this.createSummary();
|
|
176
|
+
this.handleShowOverlay = (overlay) => {
|
|
177
|
+
this.overlay = overlay;
|
|
52
178
|
};
|
|
53
|
-
this.
|
|
54
|
-
const realDistance = Math.abs(this.distanceMeasurementUnits.convertWorldValueToReal(distance));
|
|
55
|
-
if (this.distanceFormatter != null) {
|
|
56
|
-
return this.distanceFormatter(realDistance);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
const abbreviated = this.distanceMeasurementUnits.unit.abbreviatedName;
|
|
60
|
-
return realDistance == null
|
|
61
|
-
? '---'
|
|
62
|
-
: `${realDistance.toFixed(this.fractionalDigits)} ${abbreviated}`;
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
this.formatAngle = (angleInRadians) => {
|
|
66
|
-
if (this.angleFormatter != null) {
|
|
67
|
-
return this.angleFormatter(angleInRadians);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
const value = this.angleMeasurementUnits
|
|
71
|
-
.convertTo(angleInRadians)
|
|
72
|
-
.toFixed(this.fractionalDigits);
|
|
73
|
-
return `${value} ${this.angleMeasurementUnits.unit.abbreviatedName}`;
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
this.formatArea = (area) => {
|
|
77
|
-
const realArea = this.areaMeasurementUnits.convertWorldValueToReal(area);
|
|
78
|
-
if (this.areaFormatter != null) {
|
|
79
|
-
return this.areaFormatter(area);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
const abbreviated = this.areaMeasurementUnits.unit.abbreviatedName;
|
|
83
|
-
return realArea == null
|
|
84
|
-
? '---'
|
|
85
|
-
: `${realArea.toFixed(this.fractionalDigits)} ${abbreviated}`;
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
this.createSummary = () => {
|
|
179
|
+
this.handleHideOverlay = () => {
|
|
89
180
|
var _a;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
this.
|
|
94
|
-
.filter((k) => !hidden.includes(k))
|
|
95
|
-
.reduce((reducedSummary, key) => (Object.assign(Object.assign({}, reducedSummary), { [key]: baseSummary[key] })), {});
|
|
181
|
+
(_a = this.overlay) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
182
|
+
};
|
|
183
|
+
this.handleOutcomeChange = () => {
|
|
184
|
+
this.updateStateFromModel();
|
|
96
185
|
};
|
|
97
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* @internal
|
|
189
|
+
*/
|
|
98
190
|
connectedCallback() {
|
|
99
|
-
this.
|
|
100
|
-
|
|
101
|
-
componentWillLoad() {
|
|
102
|
-
this.parseHiddenDetails();
|
|
103
|
-
}
|
|
104
|
-
componentWillUpdate() {
|
|
105
|
-
this.parseHiddenDetails();
|
|
191
|
+
this.onOutcomeChangedHandler = this.measurementModel.onOutcomeChanged(this.handleOutcomeChange);
|
|
192
|
+
this.updateStateFromModel();
|
|
106
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* @internal
|
|
196
|
+
*/
|
|
107
197
|
disconnectedCallback() {
|
|
108
198
|
var _a;
|
|
109
|
-
(_a = this.
|
|
199
|
+
(_a = this.onOutcomeChangedHandler) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
110
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* @internal
|
|
203
|
+
*/
|
|
111
204
|
handleDistanceUnitsChanged() {
|
|
112
205
|
this.distanceMeasurementUnits = new streamAttributes.DistanceUnits(this.distanceUnits);
|
|
113
206
|
this.areaMeasurementUnits = new streamAttributes.AreaUnits(this.distanceUnits);
|
|
114
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* @internal
|
|
210
|
+
*/
|
|
115
211
|
handleAngleUnitsChanged() {
|
|
116
212
|
this.angleMeasurementUnits = new streamAttributes.AngleUnits(this.angleUnits);
|
|
117
213
|
}
|
|
214
|
+
/**
|
|
215
|
+
* @internal
|
|
216
|
+
*/
|
|
118
217
|
handleMeasurementModelChanged() {
|
|
119
218
|
var _a;
|
|
120
|
-
(_a = this.
|
|
121
|
-
this.
|
|
219
|
+
(_a = this.onOutcomeChangedHandler) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
220
|
+
this.onOutcomeChangedHandler = this.measurementModel.onOutcomeChanged(this.handleOutcomeChange);
|
|
221
|
+
this.updateStateFromModel();
|
|
122
222
|
}
|
|
123
|
-
|
|
124
|
-
|
|
223
|
+
/**
|
|
224
|
+
* @internal
|
|
225
|
+
*/
|
|
226
|
+
handleResultTypesChanged() {
|
|
227
|
+
this.updateStateFromModel();
|
|
125
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* @internal
|
|
231
|
+
*/
|
|
126
232
|
render() {
|
|
127
|
-
|
|
128
|
-
return this.visibleSummary != null ? (index.h(index.Host, null, ((_a = this.visibleSummary) === null || _a === void 0 ? void 0 : _a.angle) != null && (index.h("div", { class: "measurement-details-entry" }, index.h("div", { class: "measurement-details-entry-label" }, "Angle:"), this.formatAngle(this.visibleSummary.angle))), ((_b = this.visibleSummary) === null || _b === void 0 ? void 0 : _b.parallelDistance) != null && (index.h("div", { class: "measurement-details-entry" }, index.h("div", { class: "measurement-details-entry-label" }, "Parallel Dist:"), this.formatDistance(this.visibleSummary.parallelDistance))), ((_c = this.visibleSummary) === null || _c === void 0 ? void 0 : _c.minDistance) != null && (index.h("div", { class: "measurement-details-entry" }, index.h("div", { class: "measurement-details-entry-label" }, "Min Dist:"), this.formatDistance(this.visibleSummary.minDistance))), ((_d = this.visibleSummary) === null || _d === void 0 ? void 0 : _d.area) != null && (index.h("div", { class: "measurement-details-entry" }, index.h("div", { class: "measurement-details-entry-label" }, "Area:"), index.h("div", { innerHTML: this.formatArea(this.visibleSummary.area) }))), ((_f = (_e = this.visibleSummary) === null || _e === void 0 ? void 0 : _e.distanceVector) === null || _f === void 0 ? void 0 : _f.x) != null && (index.h("div", { class: "measurement-details-entry" }, index.h("div", { class: "measurement-details-entry-label x-label" }, "X:"), this.formatDistance((_g = this.visibleSummary.distanceVector) === null || _g === void 0 ? void 0 : _g.x))), ((_j = (_h = this.visibleSummary) === null || _h === void 0 ? void 0 : _h.distanceVector) === null || _j === void 0 ? void 0 : _j.y) != null && (index.h("div", { class: "measurement-details-entry" }, index.h("div", { class: "measurement-details-entry-label y-label" }, "Y:"), this.formatDistance((_k = this.visibleSummary.distanceVector) === null || _k === void 0 ? void 0 : _k.y))), ((_m = (_l = this.visibleSummary) === null || _l === void 0 ? void 0 : _l.distanceVector) === null || _m === void 0 ? void 0 : _m.z) != null && (index.h("div", { class: "measurement-details-entry" }, index.h("div", { class: "measurement-details-entry-label z-label" }, "Z:"), this.formatDistance((_o = this.visibleSummary.distanceVector) === null || _o === void 0 ? void 0 : _o.z))))) : (index.h(index.Host, null));
|
|
233
|
+
return (index.h(index.Host, null, this.renderResult('planar-angle', (result) => (index.h(PlanarAngleResultEntry, { result: result, overlays: this.measurementOverlays, formatter: this.makeAngleFormatter(), onShowOverlay: this.handleShowOverlay, onHideOverlay: this.handleHideOverlay }))), this.renderResult('planar-distance', (result) => (index.h(PlanarDistanceResultEntry, { result: result, overlays: this.measurementOverlays, formatter: this.makeDistanceFormatter(), onShowOverlay: this.handleShowOverlay, onHideOverlay: this.handleHideOverlay }))), this.renderResult('surface-area', (result) => (index.h(SurfaceAreaResultEntry, { result: result, overlays: this.measurementOverlays, formatter: this.makeAreaFormatter(), onShowOverlay: this.handleShowOverlay, onHideOverlay: this.handleHideOverlay }))), this.renderResult('minimum-distance', (result) => (index.h(MinimumDistanceResultEntry, { result: result, overlays: this.measurementOverlays, formatter: this.makeDistanceFormatter(), onShowOverlay: this.handleShowOverlay, onHideOverlay: this.handleHideOverlay })))));
|
|
129
234
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
235
|
+
updateStateFromModel() {
|
|
236
|
+
const isFilteredResultType = (result) => {
|
|
237
|
+
var _a, _b;
|
|
238
|
+
return (_b = (_a = this.resultTypes) === null || _a === void 0 ? void 0 : _a.includes(result.type)) !== null && _b !== void 0 ? _b : true;
|
|
239
|
+
};
|
|
240
|
+
const outcome = this.measurementModel.getOutcome();
|
|
241
|
+
if (outcome != null) {
|
|
242
|
+
this.results = outcome.results.filter(isFilteredResultType);
|
|
243
|
+
this.isApproximate = outcome.isApproximate;
|
|
133
244
|
}
|
|
245
|
+
else {
|
|
246
|
+
this.results = [];
|
|
247
|
+
this.isApproximate = false;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
renderResult(type, render) {
|
|
251
|
+
const result = this.getResultForType(type);
|
|
252
|
+
return result != null ? render(result) : undefined;
|
|
253
|
+
}
|
|
254
|
+
getResultForType(type) {
|
|
255
|
+
return this.results.find((result) => result.type === type);
|
|
256
|
+
}
|
|
257
|
+
makeDistanceFormatter() {
|
|
258
|
+
return this.makeFormatter((value) => this.distanceMeasurementUnits.convertWorldValueToReal(value), this.distanceMeasurementUnits.unit, this.distanceFormatter);
|
|
259
|
+
}
|
|
260
|
+
makeAngleFormatter() {
|
|
261
|
+
return this.makeFormatter((value) => this.angleMeasurementUnits.convertTo(value), this.angleMeasurementUnits.unit, this.angleFormatter);
|
|
262
|
+
}
|
|
263
|
+
makeAreaFormatter() {
|
|
264
|
+
return this.makeFormatter((value) => this.areaMeasurementUnits.convertWorldValueToReal(value), this.areaMeasurementUnits.unit, this.areaFormatter);
|
|
265
|
+
}
|
|
266
|
+
makeFormatter(convert, units, customFormatter) {
|
|
267
|
+
return (value) => {
|
|
268
|
+
const v = convert(value);
|
|
269
|
+
if (customFormatter != null) {
|
|
270
|
+
return customFormatter(v);
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
return this.formatValue(v, units);
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
formatValue(value, unit) {
|
|
278
|
+
const val = value.toFixed(this.fractionalDigits);
|
|
279
|
+
return `${this.isApproximate ? '~' + val : val} ${unit.abbreviatedName}`;
|
|
134
280
|
}
|
|
135
281
|
static get watchers() { return {
|
|
136
282
|
"distanceUnits": ["handleDistanceUnitsChanged"],
|
|
137
283
|
"angleUnits": ["handleAngleUnitsChanged"],
|
|
138
284
|
"measurementModel": ["handleMeasurementModelChanged"],
|
|
139
|
-
"
|
|
285
|
+
"resultTypes": ["handleResultTypesChanged"]
|
|
140
286
|
}; }
|
|
141
287
|
};
|
|
142
288
|
ViewerMeasurementDetails.style = viewerMeasurementDetailsCss;
|
|
@@ -5,13 +5,16 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-e100709a.js');
|
|
9
9
|
const bundle_esm = require('./bundle.esm-dc0a8361.js');
|
|
10
10
|
const utils = require('./utils-235cd490.js');
|
|
11
|
-
const cursors = require('./cursors-
|
|
11
|
+
const cursors = require('./cursors-ad2fd395.js');
|
|
12
12
|
const dom = require('./dom-dd265f48.js');
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
require('./mapper-f6e6cafe.js');
|
|
14
|
+
require('./grpc-web-client.umd-60a79aae.js');
|
|
15
|
+
const streamAttributes = require('./streamAttributes-d6236448.js');
|
|
16
|
+
const overlays = require('./overlays-8a582edf.js');
|
|
17
|
+
const viewport = require('./viewport-8c39089f.js');
|
|
15
18
|
const browser_esm = require('./browser.esm-31b03292.js');
|
|
16
19
|
const index$1 = require('./index-3bc6bac0.js');
|
|
17
20
|
require('./_commonjsHelpers-537d719a.js');
|
|
@@ -364,21 +367,10 @@ async function getHit(raycaster, pt) {
|
|
|
364
367
|
return undefined;
|
|
365
368
|
}
|
|
366
369
|
function validMeasurement(start, end) {
|
|
367
|
-
return {
|
|
368
|
-
type: 'point-to-point',
|
|
369
|
-
start,
|
|
370
|
-
end,
|
|
371
|
-
distance: bundle_esm.vector3.distance(start, end),
|
|
372
|
-
valid: true,
|
|
373
|
-
};
|
|
370
|
+
return { start, end, distance: bundle_esm.vector3.distance(start, end), valid: true };
|
|
374
371
|
}
|
|
375
372
|
function invalidMeasurement(start, end) {
|
|
376
|
-
return {
|
|
377
|
-
type: 'point-to-point',
|
|
378
|
-
start,
|
|
379
|
-
end,
|
|
380
|
-
valid: false,
|
|
381
|
-
};
|
|
373
|
+
return { start, end, valid: false };
|
|
382
374
|
}
|
|
383
375
|
|
|
384
376
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -420,6 +412,11 @@ let ViewerMeasurementDistance = class {
|
|
|
420
412
|
index.registerInstance(this, hostRef);
|
|
421
413
|
this.editBegin = index.createEvent(this, "editBegin", 7);
|
|
422
414
|
this.editEnd = index.createEvent(this, "editEnd", 7);
|
|
415
|
+
/**
|
|
416
|
+
* Enables the display of axis reference lines between the start and end
|
|
417
|
+
* point.
|
|
418
|
+
*/
|
|
419
|
+
this.showAxisReferenceLines = false;
|
|
423
420
|
/**
|
|
424
421
|
* The distance, in pixels, between the mouse and nearest snappable edge. A
|
|
425
422
|
* value of 0 disables snapping.
|
|
@@ -464,6 +461,7 @@ let ViewerMeasurementDistance = class {
|
|
|
464
461
|
this.stateMap = {};
|
|
465
462
|
this.model = PointToPointInteractionModel.empty();
|
|
466
463
|
this.controller = new PointToPointInteractionController(this.model);
|
|
464
|
+
this.overlays = new overlays.MeasurementOverlayManager();
|
|
467
465
|
this.measurementUnits = new streamAttributes.DistanceUnits(this.units);
|
|
468
466
|
this.isUserInteractingWithModel = false;
|
|
469
467
|
this.handleFrameDrawn = () => {
|
|
@@ -622,13 +620,13 @@ let ViewerMeasurementDistance = class {
|
|
|
622
620
|
const { startPt, endPt, labelPt, indicatorPt, hideStart, hideEnd } = positions;
|
|
623
621
|
const distance = this.formatDistance(this.distance);
|
|
624
622
|
if (this.mode === 'edit') {
|
|
625
|
-
return (index.h(index.Host, null, index.h("div", { class: "measurement" }, index.h(DistanceMeasurementRenderer, { startPt: startPt, endPt: endPt, centerPt: labelPt, indicatorPt: indicatorPt, distance: distance, anchorLabelOffset: this.anchorLabelOffset, lineCapLength: this.lineCapLength, hideStartAnchor: hideStart, hideEndAnchor: hideEnd, onStartAnchorPointerDown: this.handleEditAnchor('start'), onEndAnchorPointerDown: this.handleEditAnchor('end') }))));
|
|
623
|
+
return (index.h(index.Host, null, this.showAxisReferenceLines && (index.h("vertex-viewer-measurement-overlays", { measurementOverlays: this.overlays, viewer: this.viewer })), index.h("div", { class: "measurement" }, index.h(DistanceMeasurementRenderer, { startPt: startPt, endPt: endPt, centerPt: labelPt, indicatorPt: indicatorPt, distance: distance, anchorLabelOffset: this.anchorLabelOffset, lineCapLength: this.lineCapLength, hideStartAnchor: hideStart, hideEndAnchor: hideEnd, onStartAnchorPointerDown: this.handleEditAnchor('start'), onEndAnchorPointerDown: this.handleEditAnchor('end') }))));
|
|
626
624
|
}
|
|
627
625
|
else if (this.mode === 'replace') {
|
|
628
|
-
return (index.h(index.Host, null, index.h("div", { class: "measurement" }, index.h(DistanceMeasurementRenderer, { startPt: startPt, endPt: endPt, centerPt: labelPt, indicatorPt: indicatorPt, distance: distance, hideStartAnchor: hideStart, hideEndAnchor: hideEnd, anchorLabelOffset: this.anchorLabelOffset, lineCapLength: this.lineCapLength }))));
|
|
626
|
+
return (index.h(index.Host, null, this.showAxisReferenceLines && (index.h("vertex-viewer-measurement-overlays", { measurementOverlays: this.overlays, viewer: this.viewer })), index.h("div", { class: "measurement" }, index.h(DistanceMeasurementRenderer, { startPt: startPt, endPt: endPt, centerPt: labelPt, indicatorPt: indicatorPt, distance: distance, hideStartAnchor: hideStart, hideEndAnchor: hideEnd, anchorLabelOffset: this.anchorLabelOffset, lineCapLength: this.lineCapLength }))));
|
|
629
627
|
}
|
|
630
628
|
else {
|
|
631
|
-
return (index.h(index.Host, null, index.h("div", { class: "measurement" }, index.h(DistanceMeasurementRenderer, { startPt: startPt, endPt: endPt, centerPt: labelPt, indicatorPt: this.indicatorPt, distance: distance, hideStartAnchor: hideStart, hideEndAnchor: hideEnd, anchorLabelOffset: this.anchorLabelOffset, lineCapLength: this.lineCapLength, linePointerEvents: "painted" }))));
|
|
629
|
+
return (index.h(index.Host, null, this.showAxisReferenceLines && (index.h("vertex-viewer-measurement-overlays", { measurementOverlays: this.overlays, viewer: this.viewer })), index.h("div", { class: "measurement" }, index.h(DistanceMeasurementRenderer, { startPt: startPt, endPt: endPt, centerPt: labelPt, indicatorPt: this.indicatorPt, distance: distance, hideStartAnchor: hideStart, hideEndAnchor: hideEnd, anchorLabelOffset: this.anchorLabelOffset, lineCapLength: this.lineCapLength, linePointerEvents: "painted" }))));
|
|
632
630
|
}
|
|
633
631
|
}
|
|
634
632
|
/**
|
|
@@ -675,6 +673,18 @@ let ViewerMeasurementDistance = class {
|
|
|
675
673
|
this.updateCamera();
|
|
676
674
|
this.updateDepthBuffer();
|
|
677
675
|
this.updateMeasurementPropsFromModel();
|
|
676
|
+
this.updateOverlays();
|
|
677
|
+
}
|
|
678
|
+
updateOverlays() {
|
|
679
|
+
var _a;
|
|
680
|
+
(_a = this.overlay) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
681
|
+
if (this.showAxisReferenceLines &&
|
|
682
|
+
this.interactionCount === 0 &&
|
|
683
|
+
!this.invalid &&
|
|
684
|
+
this.start != null &&
|
|
685
|
+
this.end != null) {
|
|
686
|
+
this.overlay = this.overlays.addDistanceVector(this.start, this.end);
|
|
687
|
+
}
|
|
678
688
|
}
|
|
679
689
|
async setCursor(cursor) {
|
|
680
690
|
var _a, _b;
|
|
@@ -908,53 +918,4 @@ function parseVector3(value) {
|
|
|
908
918
|
}
|
|
909
919
|
ViewerMeasurementDistance.style = viewerMeasurementDistanceCss;
|
|
910
920
|
|
|
911
|
-
const viewerMeasurementLineCss = ":host{display:block;--viewer-measurement-line-stroke:var(--white);--viewer-measurement-line-stroke-opacity:0.75;--viewer-measurement-line-stroke-width:1.25px;--viewer-measurement-line-fill:var(--neutral-900);--viewer-measurement-line-fill-width:2px;--viewer-measurement-line-start-cap-visibility:initial;--viewer-measurement-line-end-cap-visibility:initial}svg{width:100%;height:100%}.line-stroke{stroke-width:calc(\n var(--viewer-measurement-line-fill-width) +\n var(--viewer-measurement-line-stroke-width)\n );stroke:var(--viewer-measurement-line-stroke);opacity:var(--viewer-measurement-line-stroke-opacity)}.line-fill{stroke-width:var(--viewer-measurement-line-fill-width);stroke:var(--viewer-measurement-line-fill)}.start-cap{visibility:var(--viewer-measurement-line-start-cap-visibility)}.end-cap{visibility:var(--viewer-measurement-line-end-cap-visibility)}";
|
|
912
|
-
|
|
913
|
-
let ViewerMeasurementLine = class {
|
|
914
|
-
constructor(hostRef) {
|
|
915
|
-
index.registerInstance(this, hostRef);
|
|
916
|
-
/**
|
|
917
|
-
* A point that specifies the starting point of the line.
|
|
918
|
-
*/
|
|
919
|
-
this.start = bundle_esm.point.create();
|
|
920
|
-
/**
|
|
921
|
-
* A point that specifies the ending point of the line.
|
|
922
|
-
*/
|
|
923
|
-
this.end = bundle_esm.point.create();
|
|
924
|
-
/**
|
|
925
|
-
* A length of the line cap. The line cap is a line at each end of a line.
|
|
926
|
-
*/
|
|
927
|
-
this.capLength = 0;
|
|
928
|
-
/**
|
|
929
|
-
* The type of [SVG pointer
|
|
930
|
-
* events](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointer-events)
|
|
931
|
-
* that the line should respond to.
|
|
932
|
-
*/
|
|
933
|
-
this.pointerEvents = 'none';
|
|
934
|
-
}
|
|
935
|
-
/**
|
|
936
|
-
* @ignore
|
|
937
|
-
*/
|
|
938
|
-
render() {
|
|
939
|
-
const angle = bundle_esm.angle.fromPoints(this.start, this.end);
|
|
940
|
-
const lineFillEndCaps = getEndCapPoints(this.start, this.end, angle, this.capLength);
|
|
941
|
-
const lineStrokeEndCaps = getEndCapPoints(this.start, this.end, angle, this.capLength + 1);
|
|
942
|
-
return (index.h("svg", null, index.h("g", { class: "line-stroke", "pointer-events": this.pointerEvents }, index.h("line", { class: "line", x1: this.start.x, y1: this.start.y, x2: this.end.x, y2: this.end.y }), index.h("line", { class: "start-cap", x1: lineStrokeEndCaps.startEndCap.start.x, y1: lineStrokeEndCaps.startEndCap.start.y, x2: lineStrokeEndCaps.startEndCap.end.x, y2: lineStrokeEndCaps.startEndCap.end.y }), index.h("line", { class: "end-cap", x1: lineStrokeEndCaps.endEndCap.start.x, y1: lineStrokeEndCaps.endEndCap.start.y, x2: lineStrokeEndCaps.endEndCap.end.x, y2: lineStrokeEndCaps.endEndCap.end.y })), index.h("g", { class: "line-fill", "pointer-events": this.pointerEvents }, index.h("line", { class: "line", x1: this.start.x, y1: this.start.y, x2: this.end.x, y2: this.end.y }), index.h("line", { class: "start-cap", x1: lineFillEndCaps.startEndCap.start.x, y1: lineFillEndCaps.startEndCap.start.y, x2: lineFillEndCaps.startEndCap.end.x, y2: lineFillEndCaps.startEndCap.end.y }), index.h("line", { class: "end-cap", x1: lineFillEndCaps.endEndCap.start.x, y1: lineFillEndCaps.endEndCap.start.y, x2: lineFillEndCaps.endEndCap.end.x, y2: lineFillEndCaps.endEndCap.end.y }))));
|
|
943
|
-
}
|
|
944
|
-
};
|
|
945
|
-
function getEndCapPoints(start, end, angle, length) {
|
|
946
|
-
return {
|
|
947
|
-
startEndCap: getPerpendicularLine(start, angle, length),
|
|
948
|
-
endEndCap: getPerpendicularLine(end, angle, length),
|
|
949
|
-
};
|
|
950
|
-
}
|
|
951
|
-
function getPerpendicularLine(pt, angle, length) {
|
|
952
|
-
const perpAngle = angle + Math.PI / 2;
|
|
953
|
-
const start = bundle_esm.point.add(pt, bundle_esm.point.polar(length / 2, perpAngle));
|
|
954
|
-
const end = bundle_esm.point.add(pt, bundle_esm.point.polar(length / 2, perpAngle + Math.PI));
|
|
955
|
-
return { start, end };
|
|
956
|
-
}
|
|
957
|
-
ViewerMeasurementLine.style = viewerMeasurementLineCss;
|
|
958
|
-
|
|
959
921
|
exports.vertex_viewer_measurement_distance = ViewerMeasurementDistance;
|
|
960
|
-
exports.vertex_viewer_measurement_line = ViewerMeasurementLine;
|