@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
|
@@ -1,16 +1,147 @@
|
|
|
1
1
|
/**!
|
|
2
2
|
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance,
|
|
5
|
-
import
|
|
4
|
+
import { h, F as Fragment, r as registerInstance, H as Host } from './index-10c1495a.js';
|
|
5
|
+
import './mapper-4b815e31.js';
|
|
6
6
|
import './grpc-web-client.umd-5982b7b0.js';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import './
|
|
10
|
-
import './
|
|
7
|
+
import { D as DistanceUnits, A as AngleUnits, d as AreaUnits } from './streamAttributes-d623bb60.js';
|
|
8
|
+
import { M as MeasurementModel } from './model-e5a4f00f.js';
|
|
9
|
+
import { n as __rest, v as vector3 } from './bundle.esm-d899b2d5.js';
|
|
10
|
+
import { c as classnames } from './index-455380d0.js';
|
|
11
11
|
import './_commonjsHelpers-9943807e.js';
|
|
12
|
+
import './browser.esm-59e914f6.js';
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
/*! *****************************************************************************
|
|
15
|
+
Copyright (c) Microsoft Corporation.
|
|
16
|
+
|
|
17
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
18
|
+
purpose with or without fee is hereby granted.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
21
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
22
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
23
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
24
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
25
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
26
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
27
|
+
***************************************************************************** */
|
|
28
|
+
|
|
29
|
+
var __assign$1 = function() {
|
|
30
|
+
__assign$1 = Object.assign || function __assign(t) {
|
|
31
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
32
|
+
s = arguments[i];
|
|
33
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
34
|
+
}
|
|
35
|
+
return t;
|
|
36
|
+
};
|
|
37
|
+
return __assign$1.apply(this, arguments);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/*! *****************************************************************************
|
|
41
|
+
Copyright (c) Microsoft Corporation.
|
|
42
|
+
|
|
43
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
44
|
+
purpose with or without fee is hereby granted.
|
|
45
|
+
|
|
46
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
47
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
48
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
49
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
50
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
51
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
52
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
53
|
+
***************************************************************************** */
|
|
54
|
+
|
|
55
|
+
var __assign = function() {
|
|
56
|
+
__assign = Object.assign || function __assign(t) {
|
|
57
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
58
|
+
s = arguments[i];
|
|
59
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
60
|
+
}
|
|
61
|
+
return t;
|
|
62
|
+
};
|
|
63
|
+
return __assign.apply(this, arguments);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt
|
|
68
|
+
*/
|
|
69
|
+
/**
|
|
70
|
+
* Lower case as a function.
|
|
71
|
+
*/
|
|
72
|
+
function lowerCase(str) {
|
|
73
|
+
return str.toLowerCase();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Support camel case ("camelCase" -> "camel Case" and "CAMELCase" -> "CAMEL Case").
|
|
77
|
+
var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];
|
|
78
|
+
// Remove all non-word characters.
|
|
79
|
+
var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;
|
|
80
|
+
/**
|
|
81
|
+
* Normalize the string into something other libraries can manipulate easier.
|
|
82
|
+
*/
|
|
83
|
+
function noCase(input, options) {
|
|
84
|
+
if (options === void 0) { options = {}; }
|
|
85
|
+
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;
|
|
86
|
+
var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0");
|
|
87
|
+
var start = 0;
|
|
88
|
+
var end = result.length;
|
|
89
|
+
// Trim the delimiter from around the output string.
|
|
90
|
+
while (result.charAt(start) === "\0")
|
|
91
|
+
start++;
|
|
92
|
+
while (result.charAt(end - 1) === "\0")
|
|
93
|
+
end--;
|
|
94
|
+
// Transform each token independently.
|
|
95
|
+
return result.slice(start, end).split("\0").map(transform).join(delimiter);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Replace `re` in the input string with the replacement value.
|
|
99
|
+
*/
|
|
100
|
+
function replace(input, re, value) {
|
|
101
|
+
if (re instanceof RegExp)
|
|
102
|
+
return input.replace(re, value);
|
|
103
|
+
return re.reduce(function (input, re) { return input.replace(re, value); }, input);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function dotCase(input, options) {
|
|
107
|
+
if (options === void 0) { options = {}; }
|
|
108
|
+
return noCase(input, __assign({ delimiter: "." }, options));
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function paramCase(input, options) {
|
|
112
|
+
if (options === void 0) { options = {}; }
|
|
113
|
+
return dotCase(input, __assign$1({ delimiter: "-" }, options));
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const MeasurementDetailsEntry = (_a, children) => {
|
|
117
|
+
var { label } = _a, props = __rest(_a, ["label"]);
|
|
118
|
+
return (h("div", Object.assign({}, props, { class: "measurement-details-entry" }),
|
|
119
|
+
h("div", { class: classnames('measurement-details-entry-label', paramCase(label)) },
|
|
120
|
+
label,
|
|
121
|
+
":"),
|
|
122
|
+
children));
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
126
|
+
const MinimumDistanceResultEntry = ({ result, formatter, overlays, onShowOverlay, onHideOverlay }) => {
|
|
127
|
+
const v = vector3.subtract(result.point1, result.point2);
|
|
128
|
+
return (h(Fragment, null,
|
|
129
|
+
h(MeasurementDetailsEntry, { label: "Min Dist", onMouseEnter: () => onShowOverlay(overlays === null || overlays === void 0 ? void 0 : overlays.addLineFromResult(result)), onMouseLeave: onHideOverlay }, formatter(result.distance)),
|
|
130
|
+
h(MeasurementDetailsEntry, { label: "X", onMouseEnter: () => onShowOverlay(overlays === null || overlays === void 0 ? void 0 : overlays.addDistanceVectorFromResult(result)), onMouseLeave: onHideOverlay }, formatter(v.x)),
|
|
131
|
+
h(MeasurementDetailsEntry, { label: "Y", onMouseEnter: () => onShowOverlay(overlays === null || overlays === void 0 ? void 0 : overlays.addDistanceVectorFromResult(result)), onMouseLeave: onHideOverlay }, formatter(v.y)),
|
|
132
|
+
h(MeasurementDetailsEntry, { label: "Z", onMouseEnter: () => onShowOverlay(overlays === null || overlays === void 0 ? void 0 : overlays.addDistanceVectorFromResult(result)), onMouseLeave: onHideOverlay }, formatter(v.z))));
|
|
133
|
+
};
|
|
134
|
+
const PlanarAngleResultEntry = ({ result, formatter }) => {
|
|
135
|
+
return (h(MeasurementDetailsEntry, { label: "Angle" }, formatter(result.angle)));
|
|
136
|
+
};
|
|
137
|
+
const PlanarDistanceResultEntry = ({ result, formatter }) => {
|
|
138
|
+
return (h(MeasurementDetailsEntry, { label: "Parallel Dist" }, formatter(result.distance)));
|
|
139
|
+
};
|
|
140
|
+
const SurfaceAreaResultEntry = ({ result, formatter }) => {
|
|
141
|
+
return (h(MeasurementDetailsEntry, { label: "Area" }, formatter(result.area)));
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
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)}";
|
|
14
145
|
|
|
15
146
|
let ViewerMeasurementDetails = class {
|
|
16
147
|
constructor(hostRef) {
|
|
@@ -33,106 +164,121 @@ let ViewerMeasurementDetails = class {
|
|
|
33
164
|
* The number of fraction digits to display.
|
|
34
165
|
*/
|
|
35
166
|
this.fractionalDigits = 2;
|
|
36
|
-
/**
|
|
37
|
-
* The current `MeasurementResult` displayed.
|
|
38
|
-
*
|
|
39
|
-
* @readonly
|
|
40
|
-
*/
|
|
41
167
|
this.results = [];
|
|
168
|
+
this.isApproximate = false;
|
|
42
169
|
this.distanceMeasurementUnits = new DistanceUnits(this.distanceUnits);
|
|
43
170
|
this.angleMeasurementUnits = new AngleUnits(this.angleUnits);
|
|
44
171
|
this.areaMeasurementUnits = new AreaUnits(this.distanceUnits);
|
|
45
|
-
this.
|
|
46
|
-
this.
|
|
47
|
-
this.createSummary();
|
|
48
|
-
};
|
|
49
|
-
this.formatDistance = (distance) => {
|
|
50
|
-
const realDistance = Math.abs(this.distanceMeasurementUnits.convertWorldValueToReal(distance));
|
|
51
|
-
if (this.distanceFormatter != null) {
|
|
52
|
-
return this.distanceFormatter(realDistance);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
const abbreviated = this.distanceMeasurementUnits.unit.abbreviatedName;
|
|
56
|
-
return realDistance == null
|
|
57
|
-
? '---'
|
|
58
|
-
: `${realDistance.toFixed(this.fractionalDigits)} ${abbreviated}`;
|
|
59
|
-
}
|
|
172
|
+
this.handleShowOverlay = (overlay) => {
|
|
173
|
+
this.overlay = overlay;
|
|
60
174
|
};
|
|
61
|
-
this.
|
|
62
|
-
if (this.angleFormatter != null) {
|
|
63
|
-
return this.angleFormatter(angleInRadians);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
const value = this.angleMeasurementUnits
|
|
67
|
-
.convertTo(angleInRadians)
|
|
68
|
-
.toFixed(this.fractionalDigits);
|
|
69
|
-
return `${value} ${this.angleMeasurementUnits.unit.abbreviatedName}`;
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
this.formatArea = (area) => {
|
|
73
|
-
const realArea = this.areaMeasurementUnits.convertWorldValueToReal(area);
|
|
74
|
-
if (this.areaFormatter != null) {
|
|
75
|
-
return this.areaFormatter(area);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
const abbreviated = this.areaMeasurementUnits.unit.abbreviatedName;
|
|
79
|
-
return realArea == null
|
|
80
|
-
? '---'
|
|
81
|
-
: `${realArea.toFixed(this.fractionalDigits)} ${abbreviated}`;
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
this.createSummary = () => {
|
|
175
|
+
this.handleHideOverlay = () => {
|
|
85
176
|
var _a;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
this.
|
|
90
|
-
.filter((k) => !hidden.includes(k))
|
|
91
|
-
.reduce((reducedSummary, key) => (Object.assign(Object.assign({}, reducedSummary), { [key]: baseSummary[key] })), {});
|
|
177
|
+
(_a = this.overlay) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
178
|
+
};
|
|
179
|
+
this.handleOutcomeChange = () => {
|
|
180
|
+
this.updateStateFromModel();
|
|
92
181
|
};
|
|
93
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* @internal
|
|
185
|
+
*/
|
|
94
186
|
connectedCallback() {
|
|
95
|
-
this.
|
|
96
|
-
|
|
97
|
-
componentWillLoad() {
|
|
98
|
-
this.parseHiddenDetails();
|
|
99
|
-
}
|
|
100
|
-
componentWillUpdate() {
|
|
101
|
-
this.parseHiddenDetails();
|
|
187
|
+
this.onOutcomeChangedHandler = this.measurementModel.onOutcomeChanged(this.handleOutcomeChange);
|
|
188
|
+
this.updateStateFromModel();
|
|
102
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* @internal
|
|
192
|
+
*/
|
|
103
193
|
disconnectedCallback() {
|
|
104
194
|
var _a;
|
|
105
|
-
(_a = this.
|
|
195
|
+
(_a = this.onOutcomeChangedHandler) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
106
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* @internal
|
|
199
|
+
*/
|
|
107
200
|
handleDistanceUnitsChanged() {
|
|
108
201
|
this.distanceMeasurementUnits = new DistanceUnits(this.distanceUnits);
|
|
109
202
|
this.areaMeasurementUnits = new AreaUnits(this.distanceUnits);
|
|
110
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* @internal
|
|
206
|
+
*/
|
|
111
207
|
handleAngleUnitsChanged() {
|
|
112
208
|
this.angleMeasurementUnits = new AngleUnits(this.angleUnits);
|
|
113
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* @internal
|
|
212
|
+
*/
|
|
114
213
|
handleMeasurementModelChanged() {
|
|
115
214
|
var _a;
|
|
116
|
-
(_a = this.
|
|
117
|
-
this.
|
|
215
|
+
(_a = this.onOutcomeChangedHandler) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
216
|
+
this.onOutcomeChangedHandler = this.measurementModel.onOutcomeChanged(this.handleOutcomeChange);
|
|
217
|
+
this.updateStateFromModel();
|
|
118
218
|
}
|
|
119
|
-
|
|
120
|
-
|
|
219
|
+
/**
|
|
220
|
+
* @internal
|
|
221
|
+
*/
|
|
222
|
+
handleResultTypesChanged() {
|
|
223
|
+
this.updateStateFromModel();
|
|
121
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* @internal
|
|
227
|
+
*/
|
|
122
228
|
render() {
|
|
123
|
-
|
|
124
|
-
return this.visibleSummary != null ? (h(Host, null, ((_a = this.visibleSummary) === null || _a === void 0 ? void 0 : _a.angle) != null && (h("div", { class: "measurement-details-entry" }, 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 && (h("div", { class: "measurement-details-entry" }, 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 && (h("div", { class: "measurement-details-entry" }, 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 && (h("div", { class: "measurement-details-entry" }, h("div", { class: "measurement-details-entry-label" }, "Area:"), 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 && (h("div", { class: "measurement-details-entry" }, 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 && (h("div", { class: "measurement-details-entry" }, 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 && (h("div", { class: "measurement-details-entry" }, h("div", { class: "measurement-details-entry-label z-label" }, "Z:"), this.formatDistance((_o = this.visibleSummary.distanceVector) === null || _o === void 0 ? void 0 : _o.z))))) : (h(Host, null));
|
|
229
|
+
return (h(Host, null, this.renderResult('planar-angle', (result) => (h(PlanarAngleResultEntry, { result: result, overlays: this.measurementOverlays, formatter: this.makeAngleFormatter(), onShowOverlay: this.handleShowOverlay, onHideOverlay: this.handleHideOverlay }))), this.renderResult('planar-distance', (result) => (h(PlanarDistanceResultEntry, { result: result, overlays: this.measurementOverlays, formatter: this.makeDistanceFormatter(), onShowOverlay: this.handleShowOverlay, onHideOverlay: this.handleHideOverlay }))), this.renderResult('surface-area', (result) => (h(SurfaceAreaResultEntry, { result: result, overlays: this.measurementOverlays, formatter: this.makeAreaFormatter(), onShowOverlay: this.handleShowOverlay, onHideOverlay: this.handleHideOverlay }))), this.renderResult('minimum-distance', (result) => (h(MinimumDistanceResultEntry, { result: result, overlays: this.measurementOverlays, formatter: this.makeDistanceFormatter(), onShowOverlay: this.handleShowOverlay, onHideOverlay: this.handleHideOverlay })))));
|
|
125
230
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
231
|
+
updateStateFromModel() {
|
|
232
|
+
const isFilteredResultType = (result) => {
|
|
233
|
+
var _a, _b;
|
|
234
|
+
return (_b = (_a = this.resultTypes) === null || _a === void 0 ? void 0 : _a.includes(result.type)) !== null && _b !== void 0 ? _b : true;
|
|
235
|
+
};
|
|
236
|
+
const outcome = this.measurementModel.getOutcome();
|
|
237
|
+
if (outcome != null) {
|
|
238
|
+
this.results = outcome.results.filter(isFilteredResultType);
|
|
239
|
+
this.isApproximate = outcome.isApproximate;
|
|
129
240
|
}
|
|
241
|
+
else {
|
|
242
|
+
this.results = [];
|
|
243
|
+
this.isApproximate = false;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
renderResult(type, render) {
|
|
247
|
+
const result = this.getResultForType(type);
|
|
248
|
+
return result != null ? render(result) : undefined;
|
|
249
|
+
}
|
|
250
|
+
getResultForType(type) {
|
|
251
|
+
return this.results.find((result) => result.type === type);
|
|
252
|
+
}
|
|
253
|
+
makeDistanceFormatter() {
|
|
254
|
+
return this.makeFormatter((value) => this.distanceMeasurementUnits.convertWorldValueToReal(value), this.distanceMeasurementUnits.unit, this.distanceFormatter);
|
|
255
|
+
}
|
|
256
|
+
makeAngleFormatter() {
|
|
257
|
+
return this.makeFormatter((value) => this.angleMeasurementUnits.convertTo(value), this.angleMeasurementUnits.unit, this.angleFormatter);
|
|
258
|
+
}
|
|
259
|
+
makeAreaFormatter() {
|
|
260
|
+
return this.makeFormatter((value) => this.areaMeasurementUnits.convertWorldValueToReal(value), this.areaMeasurementUnits.unit, this.areaFormatter);
|
|
261
|
+
}
|
|
262
|
+
makeFormatter(convert, units, customFormatter) {
|
|
263
|
+
return (value) => {
|
|
264
|
+
const v = convert(value);
|
|
265
|
+
if (customFormatter != null) {
|
|
266
|
+
return customFormatter(v);
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
return this.formatValue(v, units);
|
|
270
|
+
}
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
formatValue(value, unit) {
|
|
274
|
+
const val = value.toFixed(this.fractionalDigits);
|
|
275
|
+
return `${this.isApproximate ? '~' + val : val} ${unit.abbreviatedName}`;
|
|
130
276
|
}
|
|
131
277
|
static get watchers() { return {
|
|
132
278
|
"distanceUnits": ["handleDistanceUnitsChanged"],
|
|
133
279
|
"angleUnits": ["handleAngleUnitsChanged"],
|
|
134
280
|
"measurementModel": ["handleMeasurementModelChanged"],
|
|
135
|
-
"
|
|
281
|
+
"resultTypes": ["handleResultTypesChanged"]
|
|
136
282
|
}; }
|
|
137
283
|
};
|
|
138
284
|
ViewerMeasurementDetails.style = viewerMeasurementDetailsCss;
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
/**!
|
|
2
2
|
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-
|
|
5
|
-
import { v as vector3,
|
|
6
|
-
import { M as MEASUREMENT_SNAP_DISTANCE, a as MEASUREMENT_LINE_CAP_LENGTH, t as translateWorldPtToViewport, g as getViewingElementPositions } from './utils-
|
|
7
|
-
import { m as measurementCursor } from './cursors-
|
|
8
|
-
import { a as cssTransformCenterAt, g as getMouseClientPosition } from './dom-
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
4
|
+
import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-10c1495a.js';
|
|
5
|
+
import { v as vector3, i as angle, p as point, l as line3 } from './bundle.esm-d899b2d5.js';
|
|
6
|
+
import { M as MEASUREMENT_SNAP_DISTANCE, a as MEASUREMENT_LINE_CAP_LENGTH, t as translateWorldPtToViewport, g as getViewingElementPositions } from './utils-01e4f587.js';
|
|
7
|
+
import { m as measurementCursor } from './cursors-a7ec4adb.js';
|
|
8
|
+
import { a as cssTransformCenterAt, g as getMouseClientPosition } from './dom-780d25be.js';
|
|
9
|
+
import './mapper-4b815e31.js';
|
|
10
|
+
import './grpc-web-client.umd-5982b7b0.js';
|
|
11
|
+
import { e as fromPbVector3f, D as DistanceUnits } from './streamAttributes-d623bb60.js';
|
|
12
|
+
import { M as MeasurementOverlayManager } from './overlays-dbe5d652.js';
|
|
13
|
+
import { V as Viewport } from './viewport-01c886ea.js';
|
|
14
|
+
import { E as EventDispatcher, m as mapper } from './browser.esm-59e914f6.js';
|
|
12
15
|
import { c as classnames } from './index-455380d0.js';
|
|
13
16
|
import './_commonjsHelpers-9943807e.js';
|
|
14
17
|
|
|
@@ -360,21 +363,10 @@ async function getHit(raycaster, pt) {
|
|
|
360
363
|
return undefined;
|
|
361
364
|
}
|
|
362
365
|
function validMeasurement(start, end) {
|
|
363
|
-
return {
|
|
364
|
-
type: 'point-to-point',
|
|
365
|
-
start,
|
|
366
|
-
end,
|
|
367
|
-
distance: vector3.distance(start, end),
|
|
368
|
-
valid: true,
|
|
369
|
-
};
|
|
366
|
+
return { start, end, distance: vector3.distance(start, end), valid: true };
|
|
370
367
|
}
|
|
371
368
|
function invalidMeasurement(start, end) {
|
|
372
|
-
return {
|
|
373
|
-
type: 'point-to-point',
|
|
374
|
-
start,
|
|
375
|
-
end,
|
|
376
|
-
valid: false,
|
|
377
|
-
};
|
|
369
|
+
return { start, end, valid: false };
|
|
378
370
|
}
|
|
379
371
|
|
|
380
372
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -416,6 +408,11 @@ let ViewerMeasurementDistance = class {
|
|
|
416
408
|
registerInstance(this, hostRef);
|
|
417
409
|
this.editBegin = createEvent(this, "editBegin", 7);
|
|
418
410
|
this.editEnd = createEvent(this, "editEnd", 7);
|
|
411
|
+
/**
|
|
412
|
+
* Enables the display of axis reference lines between the start and end
|
|
413
|
+
* point.
|
|
414
|
+
*/
|
|
415
|
+
this.showAxisReferenceLines = false;
|
|
419
416
|
/**
|
|
420
417
|
* The distance, in pixels, between the mouse and nearest snappable edge. A
|
|
421
418
|
* value of 0 disables snapping.
|
|
@@ -460,6 +457,7 @@ let ViewerMeasurementDistance = class {
|
|
|
460
457
|
this.stateMap = {};
|
|
461
458
|
this.model = PointToPointInteractionModel.empty();
|
|
462
459
|
this.controller = new PointToPointInteractionController(this.model);
|
|
460
|
+
this.overlays = new MeasurementOverlayManager();
|
|
463
461
|
this.measurementUnits = new DistanceUnits(this.units);
|
|
464
462
|
this.isUserInteractingWithModel = false;
|
|
465
463
|
this.handleFrameDrawn = () => {
|
|
@@ -618,13 +616,13 @@ let ViewerMeasurementDistance = class {
|
|
|
618
616
|
const { startPt, endPt, labelPt, indicatorPt, hideStart, hideEnd } = positions;
|
|
619
617
|
const distance = this.formatDistance(this.distance);
|
|
620
618
|
if (this.mode === 'edit') {
|
|
621
|
-
return (h(Host, null, h("div", { class: "measurement" }, 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') }))));
|
|
619
|
+
return (h(Host, null, this.showAxisReferenceLines && (h("vertex-viewer-measurement-overlays", { measurementOverlays: this.overlays, viewer: this.viewer })), h("div", { class: "measurement" }, 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') }))));
|
|
622
620
|
}
|
|
623
621
|
else if (this.mode === 'replace') {
|
|
624
|
-
return (h(Host, null, h("div", { class: "measurement" }, h(DistanceMeasurementRenderer, { startPt: startPt, endPt: endPt, centerPt: labelPt, indicatorPt: indicatorPt, distance: distance, hideStartAnchor: hideStart, hideEndAnchor: hideEnd, anchorLabelOffset: this.anchorLabelOffset, lineCapLength: this.lineCapLength }))));
|
|
622
|
+
return (h(Host, null, this.showAxisReferenceLines && (h("vertex-viewer-measurement-overlays", { measurementOverlays: this.overlays, viewer: this.viewer })), h("div", { class: "measurement" }, h(DistanceMeasurementRenderer, { startPt: startPt, endPt: endPt, centerPt: labelPt, indicatorPt: indicatorPt, distance: distance, hideStartAnchor: hideStart, hideEndAnchor: hideEnd, anchorLabelOffset: this.anchorLabelOffset, lineCapLength: this.lineCapLength }))));
|
|
625
623
|
}
|
|
626
624
|
else {
|
|
627
|
-
return (h(Host, null, h("div", { class: "measurement" }, 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" }))));
|
|
625
|
+
return (h(Host, null, this.showAxisReferenceLines && (h("vertex-viewer-measurement-overlays", { measurementOverlays: this.overlays, viewer: this.viewer })), h("div", { class: "measurement" }, 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" }))));
|
|
628
626
|
}
|
|
629
627
|
}
|
|
630
628
|
/**
|
|
@@ -671,6 +669,18 @@ let ViewerMeasurementDistance = class {
|
|
|
671
669
|
this.updateCamera();
|
|
672
670
|
this.updateDepthBuffer();
|
|
673
671
|
this.updateMeasurementPropsFromModel();
|
|
672
|
+
this.updateOverlays();
|
|
673
|
+
}
|
|
674
|
+
updateOverlays() {
|
|
675
|
+
var _a;
|
|
676
|
+
(_a = this.overlay) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
677
|
+
if (this.showAxisReferenceLines &&
|
|
678
|
+
this.interactionCount === 0 &&
|
|
679
|
+
!this.invalid &&
|
|
680
|
+
this.start != null &&
|
|
681
|
+
this.end != null) {
|
|
682
|
+
this.overlay = this.overlays.addDistanceVector(this.start, this.end);
|
|
683
|
+
}
|
|
674
684
|
}
|
|
675
685
|
async setCursor(cursor) {
|
|
676
686
|
var _a, _b;
|
|
@@ -904,52 +914,4 @@ function parseVector3(value) {
|
|
|
904
914
|
}
|
|
905
915
|
ViewerMeasurementDistance.style = viewerMeasurementDistanceCss;
|
|
906
916
|
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
let ViewerMeasurementLine = class {
|
|
910
|
-
constructor(hostRef) {
|
|
911
|
-
registerInstance(this, hostRef);
|
|
912
|
-
/**
|
|
913
|
-
* A point that specifies the starting point of the line.
|
|
914
|
-
*/
|
|
915
|
-
this.start = point.create();
|
|
916
|
-
/**
|
|
917
|
-
* A point that specifies the ending point of the line.
|
|
918
|
-
*/
|
|
919
|
-
this.end = point.create();
|
|
920
|
-
/**
|
|
921
|
-
* A length of the line cap. The line cap is a line at each end of a line.
|
|
922
|
-
*/
|
|
923
|
-
this.capLength = 0;
|
|
924
|
-
/**
|
|
925
|
-
* The type of [SVG pointer
|
|
926
|
-
* events](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointer-events)
|
|
927
|
-
* that the line should respond to.
|
|
928
|
-
*/
|
|
929
|
-
this.pointerEvents = 'none';
|
|
930
|
-
}
|
|
931
|
-
/**
|
|
932
|
-
* @ignore
|
|
933
|
-
*/
|
|
934
|
-
render() {
|
|
935
|
-
const angle$1 = angle.fromPoints(this.start, this.end);
|
|
936
|
-
const lineFillEndCaps = getEndCapPoints(this.start, this.end, angle$1, this.capLength);
|
|
937
|
-
const lineStrokeEndCaps = getEndCapPoints(this.start, this.end, angle$1, this.capLength + 1);
|
|
938
|
-
return (h("svg", null, h("g", { class: "line-stroke", "pointer-events": this.pointerEvents }, h("line", { class: "line", x1: this.start.x, y1: this.start.y, x2: this.end.x, y2: this.end.y }), 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 }), 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 })), h("g", { class: "line-fill", "pointer-events": this.pointerEvents }, h("line", { class: "line", x1: this.start.x, y1: this.start.y, x2: this.end.x, y2: this.end.y }), 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 }), 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 }))));
|
|
939
|
-
}
|
|
940
|
-
};
|
|
941
|
-
function getEndCapPoints(start, end, angle, length) {
|
|
942
|
-
return {
|
|
943
|
-
startEndCap: getPerpendicularLine(start, angle, length),
|
|
944
|
-
endEndCap: getPerpendicularLine(end, angle, length),
|
|
945
|
-
};
|
|
946
|
-
}
|
|
947
|
-
function getPerpendicularLine(pt, angle, length) {
|
|
948
|
-
const perpAngle = angle + Math.PI / 2;
|
|
949
|
-
const start = point.add(pt, point.polar(length / 2, perpAngle));
|
|
950
|
-
const end = point.add(pt, point.polar(length / 2, perpAngle + Math.PI));
|
|
951
|
-
return { start, end };
|
|
952
|
-
}
|
|
953
|
-
ViewerMeasurementLine.style = viewerMeasurementLineCss;
|
|
954
|
-
|
|
955
|
-
export { ViewerMeasurementDistance as vertex_viewer_measurement_distance, ViewerMeasurementLine as vertex_viewer_measurement_line };
|
|
917
|
+
export { ViewerMeasurementDistance as vertex_viewer_measurement_distance };
|