@vertexvis/viewer 0.15.2-testing.3 → 0.15.2
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/_commonjsHelpers-dcc4cf71.js +1 -1
- package/dist/cjs/app-globals-2035678d.js +1 -1
- package/dist/cjs/browser.esm-5d246754.js +1 -1
- package/dist/cjs/bundle.esm-22b6f2d6.js +1 -1
- package/dist/cjs/bundle.esm-b43c197a.js +38280 -0
- package/dist/cjs/{config-6e330a82.js → config-3fc1c093.js} +2 -2
- package/dist/cjs/{cursors-85d403e9.js → cursors-02a06ec9.js} +7 -1
- package/dist/cjs/dom-8d90bfaf.js +1 -1
- package/dist/cjs/dom-92728e58.js +1 -1
- package/dist/cjs/dom-d1bbd67c.js +1 -1
- package/dist/cjs/dom-d57d3c3b.js +1 -1
- package/dist/cjs/elementRectObserver-9b28f182.js +1 -1
- package/dist/cjs/entities-9eb7e608.js +1 -1
- package/dist/cjs/{entities-7b2e8c03.js → entities-c1c3c6a3.js} +3 -3
- package/dist/cjs/errors-1b37642b.js +97 -0
- package/dist/cjs/grpc-web-client.umd-2af20c1b.js +1 -1
- package/dist/cjs/index-70db349e.js +1 -1
- package/dist/cjs/index-b9d13137.js +1 -1
- package/dist/cjs/index.cjs.js +9 -6
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{mapper-0f2294a6.js → mapper-d4145b72.js} +2 -2
- package/dist/cjs/markup-4a2fc281.js +1 -1
- package/dist/cjs/{model-b61f4d20.js → model-19fb560a.js} +27 -6
- package/dist/cjs/model-20a70d27.js +1 -1
- package/dist/cjs/overlays-b03ec80b.js +1 -1
- package/dist/cjs/png-decoder-ef097f37.js +1 -1
- package/dist/cjs/results-178e89a3.js +1 -1
- package/dist/cjs/{scene-56438693.js → scene-a94e6fa5.js} +293 -215
- package/dist/cjs/shadow-css-6b9daa41.js +1 -1
- package/dist/cjs/stencil-fc92b387.js +1 -1
- package/dist/cjs/{streamAttributes-c64aee75.js → streamAttributes-cf0c513d.js} +8424 -41995
- package/dist/cjs/templates-e57b3741.js +1 -1
- package/dist/cjs/utils-2c8e2aa3.js +1 -1
- package/dist/cjs/utils-ea359796.js +1 -1
- package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +1 -1
- 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 +158 -37
- package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +425 -0
- 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_2.cjs.entry.js +3 -2
- package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
- 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 +3 -2
- package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +5 -4
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +4 -3
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +7 -6
- package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +10 -5
- package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +15 -13
- package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +20 -9
- package/dist/cjs/vertex-viewer-spinner.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +6 -4
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +5 -4
- package/dist/cjs/vertex-viewer.cjs.entry.js +80 -53
- package/dist/cjs/viewer.cjs.js +2 -2
- package/dist/cjs/viewport-5ca619f7.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/scene-tree/lib/controller.js +108 -28
- package/dist/collection/components/scene-tree/lib/errors.js +35 -2
- package/dist/collection/components/scene-tree/scene-tree.js +12 -5
- package/dist/collection/components/viewer/viewer.js +17 -15
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +79 -0
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +278 -0
- package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +5 -1
- package/dist/collection/components/viewer-pin-label/viewer-pin-label.css +1 -1
- package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +14 -12
- package/dist/collection/components/viewer-pin-tool/utils.js +25 -4
- package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.css +12 -0
- package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +9 -2
- package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +3 -2
- package/dist/collection/components/viewer-view-cube/viewer-view-cube.js +5 -5
- package/dist/collection/lib/cursors.js +6 -1
- package/dist/collection/lib/interactions/baseInteractionHandler.js +12 -2
- package/dist/collection/lib/interactions/mouseInteractions.js +5 -4
- package/dist/collection/lib/mappers/frameStreaming.js +11 -11
- package/dist/collection/lib/pins/interactions.js +9 -5
- package/dist/collection/lib/pins/model.js +2 -2
- package/dist/collection/lib/rendering/matrices.js +2 -4
- package/dist/collection/lib/scenes/camera.js +4 -2
- package/dist/collection/lib/scenes/mapper.js +103 -30
- package/dist/collection/lib/scenes/queries.js +101 -46
- package/dist/collection/lib/scenes/scene.js +15 -7
- package/dist/collection/lib/stream/stream.js +24 -12
- package/dist/collection/lib/transforms/drawable.js +2 -2
- package/dist/collection/lib/types/frame.js +4 -3
- package/dist/collection/lib/types/frameCamera.js +6 -1
- package/dist/collection/lib/types/index.js +3 -2
- package/dist/collection/lib/types/loadableResource.js +24 -4
- package/dist/collection/lib/types/sceneViewStateIdentifier.js +7 -0
- package/dist/collection/lib/volume-intersection/controller.js +104 -0
- package/dist/collection/lib/volume-intersection/interactions.js +82 -0
- package/dist/collection/lib/volume-intersection/model.js +84 -0
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +23825 -18358
- package/dist/custom-elements/png-decoder.js +1 -1
- package/dist/esm/_commonjsHelpers-11ca3be1.js +1 -1
- package/dist/esm/app-globals-40df99a0.js +1 -1
- package/dist/esm/{browser.esm-ae4ca1f1.js → browser.esm-07e7db8f.js} +2 -2
- package/dist/esm/bundle.esm-91404853.js +38273 -0
- package/dist/esm/{bundle.esm-ce2c7ad3.js → bundle.esm-92e615bf.js} +2 -2
- package/dist/esm/{config-49688db8.js → config-25384fe6.js} +3 -3
- package/dist/esm/{cursors-a8d4b3f4.js → cursors-127a3bb7.js} +8 -3
- package/dist/esm/dom-0440435d.js +1 -1
- package/dist/esm/dom-be140992.js +1 -1
- package/dist/esm/dom-e19ee80b.js +1 -1
- package/dist/esm/{dom-5b164305.js → dom-e436f0c0.js} +2 -2
- package/dist/esm/elementRectObserver-39cf7b95.js +1 -1
- package/dist/esm/{entities-a5bfef48.js → entities-0e325765.js} +4 -4
- package/dist/esm/entities-ce81dd7f.js +1 -1
- package/dist/esm/errors-a4cc9caa.js +85 -0
- package/dist/esm/grpc-web-client.umd-5409853c.js +1 -1
- package/dist/esm/index-26dfb2d0.js +1 -1
- package/dist/esm/index-e841d91b.js +1 -1
- package/dist/esm/index.js +15 -13
- package/dist/esm/index.mjs +15 -13
- package/dist/esm/loader.js +2 -2
- package/dist/esm/loader.mjs +2 -2
- package/dist/esm/{mapper-5894c2a4.js → mapper-dd937684.js} +3 -3
- package/dist/esm/{markup-3c2900f3.js → markup-2dde1f10.js} +3 -3
- package/dist/esm/{model-fa9af61a.js → model-3cd8cd47.js} +2 -2
- package/dist/esm/{model-40bd1711.js → model-bfe1c4d8.js} +29 -8
- package/dist/esm/{overlays-cc3efc30.js → overlays-8f195eb3.js} +3 -3
- package/dist/esm/{png-decoder-d4b65417.js → png-decoder-45f38ea3.js} +2 -2
- package/dist/esm/{results-3b4df2cf.js → results-38baef59.js} +2 -2
- package/dist/esm/{scene-5b919078.js → scene-2543b3bd.js} +254 -168
- package/dist/esm/shadow-css-51dd7708.js +1 -1
- package/dist/esm/stencil-bfbf099f.js +1 -1
- package/dist/esm/{streamAttributes-7e8565be.js → streamAttributes-23270e27.js} +8429 -41994
- package/dist/esm/templates-022199c1.js +1 -1
- package/dist/esm/{utils-81347571.js → utils-2306c744.js} +2 -2
- package/dist/esm/{utils-559e1632.js → utils-f03802ef.js} +2 -2
- 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 +160 -39
- package/dist/esm/vertex-viewer-box-query-tool.entry.js +421 -0
- 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_2.entry.js +6 -5
- package/dist/esm/vertex-viewer-dom-group.entry.js +3 -3
- 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 +5 -4
- package/dist/esm/vertex-viewer-measurement-distance.entry.js +13 -12
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +8 -7
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +12 -11
- package/dist/esm/vertex-viewer-pin-group.entry.js +13 -8
- package/dist/esm/vertex-viewer-pin-label_2.entry.js +18 -16
- package/dist/esm/vertex-viewer-pin-tool.entry.js +23 -12
- package/dist/esm/vertex-viewer-spinner.entry.js +1 -1
- package/dist/esm/vertex-viewer-transform-widget.entry.js +9 -7
- package/dist/esm/vertex-viewer-view-cube.entry.js +7 -6
- package/dist/esm/vertex-viewer.entry.js +65 -38
- package/dist/esm/viewer.js +2 -2
- package/dist/esm/{viewport-e39e2eba.js → viewport-f19fc583.js} +2 -2
- package/dist/types/components/scene-tree/lib/controller.d.ts +18 -3
- package/dist/types/components/scene-tree/lib/errors.d.ts +17 -2
- package/dist/types/components/viewer/viewer.d.ts +2 -0
- package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +94 -0
- package/dist/types/components/viewer-pin-tool/utils.d.ts +1 -1
- package/dist/types/components.d.ts +56 -0
- package/dist/types/lib/cursors.d.ts +5 -0
- package/dist/types/lib/interactions/baseInteractionHandler.d.ts +1 -0
- package/dist/types/lib/interactions/mouseInteractions.d.ts +2 -1
- package/dist/types/lib/pins/interactions.d.ts +4 -2
- package/dist/types/lib/pins/model.d.ts +1 -1
- package/dist/types/lib/scenes/camera.d.ts +1 -1
- package/dist/types/lib/scenes/mapper.d.ts +5 -1
- package/dist/types/lib/scenes/queries.d.ts +55 -28
- package/dist/types/lib/scenes/scene.d.ts +10 -1
- package/dist/types/lib/types/frame.d.ts +1 -1
- package/dist/types/lib/types/index.d.ts +2 -1
- package/dist/types/lib/types/loadableResource.d.ts +8 -2
- package/dist/types/lib/types/sceneViewStateIdentifier.d.ts +15 -0
- package/dist/types/lib/volume-intersection/controller.d.ts +45 -0
- package/dist/types/lib/volume-intersection/interactions.d.ts +24 -0
- package/dist/types/lib/volume-intersection/model.d.ts +33 -0
- package/dist/viewer/index.esm.js +2 -2
- package/dist/viewer/{p-ad09c92e.entry.js → p-029fba92.entry.js} +1 -1
- package/dist/viewer/p-07aeee89.js +1 -1
- package/dist/viewer/{p-29986489.js → p-0a017be7.js} +2 -2
- package/dist/viewer/p-0c583cad.entry.js +4 -0
- package/dist/viewer/p-0d494d01.js +4 -0
- package/dist/viewer/p-0fdad1a5.js +1 -1
- package/dist/viewer/{p-3ca4a7c1.js → p-1812c82d.js} +2 -2
- package/dist/viewer/{p-7663a603.entry.js → p-191156ad.entry.js} +1 -1
- package/dist/viewer/{p-a57dc6e4.entry.js → p-1998284a.entry.js} +2 -2
- package/dist/viewer/p-27f715f8.entry.js +4 -0
- package/dist/viewer/{p-7f6251da.js → p-283aeac4.js} +2 -2
- package/dist/viewer/p-298b63c2.entry.js +4 -0
- package/dist/viewer/p-2ace066b.entry.js +4 -0
- package/dist/viewer/{p-927b528b.js → p-2b60a8b0.js} +2 -2
- package/dist/viewer/{p-050f912b.entry.js → p-2fd123c8.entry.js} +1 -1
- package/dist/viewer/p-305a8be6.entry.js +4 -0
- package/dist/viewer/p-31724d24.js +4 -0
- package/dist/viewer/p-32cc2209.js +4 -0
- package/dist/viewer/p-3829dd99.entry.js +4 -0
- package/dist/viewer/{p-6da8a28f.entry.js → p-3aae4bf1.entry.js} +2 -2
- package/dist/viewer/{p-99352cf0.js → p-42760392.js} +2 -2
- package/dist/viewer/p-440c8174.js +4 -0
- package/dist/viewer/{p-e422deaf.entry.js → p-4f25e367.entry.js} +2 -2
- package/dist/viewer/{p-d64c1e14.entry.js → p-507b5aeb.entry.js} +3 -3
- package/dist/viewer/{p-1fc24ec6.js → p-51401063.js} +2 -2
- package/dist/viewer/{p-426970b3.entry.js → p-533b1c63.entry.js} +1 -1
- package/dist/viewer/{p-dcb9804c.entry.js → p-569ed94a.entry.js} +2 -2
- package/dist/viewer/p-5809b400.js +1 -1
- package/dist/viewer/p-6072cf84.js +4 -0
- package/dist/viewer/{p-e4a26a32.entry.js → p-6406a70a.entry.js} +1 -1
- package/dist/viewer/p-6bf0594b.entry.js +4 -0
- package/dist/viewer/p-72c59115.entry.js +4 -0
- package/dist/viewer/{p-d71652b0.entry.js → p-8ac7290a.entry.js} +1 -1
- package/dist/viewer/{p-f184bcab.entry.js → p-8afcbd99.entry.js} +1 -1
- package/dist/viewer/p-92fe4417.js +1 -1
- package/dist/viewer/{p-5746931d.entry.js → p-952a217d.entry.js} +1 -1
- package/dist/viewer/p-98e6a50e.js +1 -1
- package/dist/viewer/{p-99fd27e0.entry.js → p-9cb99ea8.entry.js} +1 -1
- package/dist/viewer/p-a2e9e8a5.js +4 -0
- package/dist/viewer/p-a380f0c2.js +1 -1
- package/dist/viewer/{p-661b5234.js → p-acfc5c50.js} +2 -2
- package/dist/viewer/{p-82bd25e8.entry.js → p-b3540dce.entry.js} +1 -1
- package/dist/viewer/p-b5ca30cd.js +4 -0
- package/dist/viewer/p-b74242dc.js +1 -1
- package/dist/viewer/p-bc1160cf.entry.js +4 -0
- package/dist/viewer/{p-c5e67a1e.entry.js → p-bd5a302c.entry.js} +2 -2
- package/dist/viewer/p-c738296e.js +1 -1
- package/dist/viewer/p-c8c4343b.js +1 -1
- package/dist/viewer/p-cd9ccb9e.entry.js +4 -0
- package/dist/viewer/{p-40a9dd7d.js → p-cf689bbd.js} +2 -2
- package/dist/viewer/{p-70e5e8a8.js → p-d216a866.js} +2 -2
- package/dist/viewer/p-d4ed7b8d.js +4 -0
- package/dist/viewer/p-d6d5d5de.entry.js +4 -0
- package/dist/viewer/p-d6fce4c1.js +1 -1
- package/dist/viewer/p-df8fbe56.js +1 -1
- package/dist/viewer/p-dfe5a97d.js +1 -1
- package/dist/viewer/{p-00ce31a0.js → p-e1896ce4.js} +2 -2
- package/dist/viewer/p-e23af70c.js +4 -0
- package/dist/viewer/p-e4aa9cdb.js +1 -1
- package/dist/viewer/p-e929dd63.entry.js +4 -0
- package/dist/viewer/{p-65af7a89.js → p-fc7d8c03.js} +3 -3
- package/dist/viewer/viewer.esm.js +2 -2
- package/package.json +9 -9
- package/readme.md +4 -4
- package/dist/viewer/p-096e60bd.js +0 -4
- package/dist/viewer/p-0cf4f05d.entry.js +0 -4
- package/dist/viewer/p-0fcafbf9.js +0 -4
- package/dist/viewer/p-1abfe4bf.js +0 -4
- package/dist/viewer/p-1e0dd2e9.js +0 -4
- package/dist/viewer/p-22ae6785.entry.js +0 -4
- package/dist/viewer/p-27dbc865.js +0 -4
- package/dist/viewer/p-31b87b90.js +0 -4
- package/dist/viewer/p-3f6f2457.entry.js +0 -4
- package/dist/viewer/p-61e50e11.entry.js +0 -4
- package/dist/viewer/p-7579e2a1.entry.js +0 -4
- package/dist/viewer/p-920c9a88.entry.js +0 -4
- package/dist/viewer/p-990f98c2.js +0 -4
- package/dist/viewer/p-9dfe0b43.entry.js +0 -4
- package/dist/viewer/p-a6558bb2.entry.js +0 -4
- package/dist/viewer/p-b7e170ac.entry.js +0 -4
- package/dist/viewer/p-d34ad2b2.entry.js +0 -4
- package/dist/viewer/p-f3ea0c2b.entry.js +0 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/**!
|
|
2
|
+
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import{h as t,r as i,c as e,H as s,g as n}from"./p-d6fce4c1.js";import{v as r,c as a,p as o,l as h}from"./p-d216a866.js";import{m as l}from"./p-1812c82d.js";import{a as d,g as c}from"./p-42760392.js";import"./p-51401063.js";import"./p-92fe4417.js";import{i as u,D as m}from"./p-6072cf84.js";import{M as v}from"./p-acfc5c50.js";import{M as p}from"./p-283aeac4.js";import{m as w}from"./p-a2e9e8a5.js";import"./p-df8fbe56.js";import{V as f}from"./p-0a017be7.js";import{E as b,m as g}from"./p-fc7d8c03.js";import{g as y}from"./p-b5ca30cd.js";import{c as P}from"./p-07aeee89.js";import"./p-dfe5a97d.js";import"./p-32cc2209.js";class E{constructor(t,i,e,s){this.stencil=t,this.depthBuffer=i,this.viewport=e,this.camera=s}hitTest(t){const i=this.viewport.transformPointToFrame(t,this.depthBuffer);if(null!=this.stencil){const e=this.viewport.transformPointToFrame(t,this.stencil);return this.stencil.hitTest(e)||this.depthBuffer.hitTest(i)}return this.depthBuffer.hitTest(i)}snapToNearestPixel(t,i){if(null!=this.stencil){const e=this.viewport.transformPointToFrame(t,this.stencil),s=this.stencil.snapToNearestPixel(e,i);return this.viewport.transformPointToViewport(s,this.stencil)}return t}transformPointToWorld(t,{ignoreHitTest:i=!1}={}){const e=this.pickDepthBuffer(t);return null!=e?null==this.camera||this.camera.isPerspective()?this.viewport.transformPointToWorldSpace(t,e):this.viewport.transformPointToOrthographicWorldSpace(t,e):i?null==this.camera||this.camera.isPerspective()?this.viewport.transformPointToWorldSpace(t,this.depthBuffer):this.viewport.transformPointToOrthographicWorldSpace(t,this.depthBuffer):void 0}pickDepthBuffer(t){if(null!=this.stencil){const i=this.viewport.transformPointToFrame(t,this.stencil);if(this.stencil.hitTest(i))return this.stencil.depthBuffer}const i=this.viewport.transformPointToFrame(t,this.depthBuffer);return this.depthBuffer.hitTest(i)?this.depthBuffer:void 0}}class C{constructor(t){this.model=t}newMeasurement(t,i){const e=i.hitTester().transformPointToWorld(t);return null!=e?new x(t,e,this.model):void 0}editMeasurement(t){const i=this.model.getMeasurement();if(null==i)throw new Error("Cannot edit measurement. Measurement is empty.");return"start"===t?new I(i,this.model):new A(i,this.model)}clearIndicator(){this.model.setIndicator(void 0)}moveIndicator(t,i){const e=i.hitTester().transformPointToWorld(t);return this.model.setIndicator(e),null!=e}}class M{constructor(){this.measurementChanged=new b,this.indicatorChanged=new b}static empty(){return new M}getMeasurement(){return this.measurement}setMeasurement(t){this.measurement!==t&&(this.measurement=t,this.measurementChanged.emit(t))}setMeasurementFromValues(t,i,e){if(null!=t&&null!=i){const s=e?k(t,i):S(t,i);this.setMeasurement(s)}else this.setMeasurement(void 0)}onMeasurementChanged(t){return this.measurementChanged.on(t)}getIndicator(){return this.indicator}setIndicator(t){this.indicator!==t&&(this.indicator=t,this.indicatorChanged.emit(t))}onIndicatorChanged(t){return this.indicatorChanged.on(t)}}class x{constructor(t,i,e){this.pt=t,this.world=i,this.model=e,this.hitWorldValid=!0,this.preventUpdate=!1}fetchStartIfMissing(t){null==this.pendingStart&&(this.pendingStart=this.fetchStart(t))}async fetchStart(t){const i=await t.raycaster(),e=await D(i,this.pt);if(null==e){const i=t.hitTester().transformPointToWorld(this.pt);this.hitWorld=i,this.hitWorldValid=!1}else this.hitWorld=e,this.hitWorldValid=!0}update(t,i){var e;if(!this.preventUpdate){this.fetchStartIfMissing(i);const s=i.hitTester().transformPointToWorld(t,{ignoreHitTest:!0}),n=i.hitTester().hitTest(t),r=null!==(e=this.hitWorld)&&void 0!==e?e:this.world;if(null==s)throw new Error("Cannot update new measurement interaction. End point is empty.");this.hitWorldValid&&n?(this.model.setIndicator(s),this.setMeasurement(k(r,s))):(this.model.setIndicator(s),this.setMeasurement(S(r,s)))}}async finish(t,i){var e;this.preventUpdate=!0,this.fetchStartIfMissing(i),await this.pendingStart,this.model.setIndicator(void 0);const s=await i.raycaster(),n=await D(s,t),r=null!==(e=this.hitWorld)&&void 0!==e?e:this.world;if(this.preventUpdate=!1,null==n){const e=i.hitTester().transformPointToWorld(t,{ignoreHitTest:!0});if(null==e)throw new Error("Cannot complete new measurement interaction. End point is empty.");return this.setMeasurement(S(r,e))}return this.setMeasurement(this.hitWorldValid?k(r,n):S(r,n))}setMeasurement(t){return this.model.setMeasurement(t),t}}class j{constructor(t,i){this.measurement=t,this.model=i}update(t,i){const e=i.hitTester().transformPointToWorld(t,{ignoreHitTest:!0}),s=i.hitTester().hitTest(t);if(null==e)throw new Error("Cannot update new measurement interaction. End point is empty.");s?(this.model.setIndicator(e),this.setMeasurement(this.getValidMeasurement(e))):(this.model.setIndicator(e),this.setMeasurement(this.getInvalidMeasurement(e)))}async finish(t,i){const e=await i.raycaster(),s=await D(e,t);if(this.model.setIndicator(void 0),null==s){const e=i.hitTester().transformPointToWorld(t,{ignoreHitTest:!0});if(null==e)throw new Error("Cannot complete edit measurement interaction. End point is empty.");return this.setMeasurement(this.getInvalidMeasurement(e))}return this.setMeasurement(this.getValidMeasurement(s))}setMeasurement(t){return this.model.setMeasurement(t),t}}class I extends j{constructor(t,i){super(t,i)}getInvalidMeasurement(t){return S(t,this.measurement.end)}getValidMeasurement(t){return k(t,this.measurement.end)}}class A extends j{constructor(t,i){super(t,i)}getInvalidMeasurement(t){return S(this.measurement.start,t)}getValidMeasurement(t){return k(this.measurement.start,t)}}async function D(t,i){var e;const s=await t.hitItems(i),[n]=null!==(e=null==s?void 0:s.hits)&&void 0!==e?e:[];if(null!=(null==n?void 0:n.hitPoint)){const t=u(n.hitPoint);if(g.isInvalid(t))throw new Error(`Invalid hit response [${t.errors.join(",")}]`);return t}}function k(t,i){return{start:t,end:i,distance:r.distance(t,i),valid:!0}}function S(t,i){return{start:t,end:i,valid:!1}}const L=({startPt:i,endPt:e,centerPt:s,indicatorPt:n,distance:r,anchorLabelOffset:h,lineCapLength:l,linePointerEvents:c,hideStartAnchor:u,hideEndAnchor:m,onStartAnchorPointerDown:v,onEndAnchorPointerDown:p})=>{const w=null!=i&&null!=e?a.fromPoints(i,e):void 0,f=null!=w&&null!=i&&null!=h?o.add(i,o.polar(-h,w)):void 0,b=null!=w&&null!=e&&null!=h?o.add(e,o.polar(h,w)):void 0;return t("div",null,null!=i&&null!=e&&t("vertex-viewer-measurement-line",{class:P("line",{"hide-start-line-cap":u,"hide-end-line-cap":m}),start:i,end:e,capLength:l,pointerEvents:c}),!u&&null!=i&&t("div",{id:"start-anchor",class:"anchor anchor-start",style:{transform:d(i)},onPointerDown:v},t("slot",{name:"start-anchor"},t("div",{class:"anchor-placeholder"}))),!u&&f&&t("div",{class:"anchor-label anchor-label-start",style:{transform:d(f)}},t("slot",{name:"start-label"})),!m&&null!=e&&t("div",{id:"end-anchor",class:"anchor anchor-end",style:{transform:d(e)},onPointerDown:p},t("slot",{name:"end-anchor"},t("div",{class:"anchor-placeholder"}))),!m&&b&&t("div",{class:"anchor-label anchor-label-end",style:{transform:d(b)}},t("slot",{name:"end-label"})),null!=s&&t("div",{id:"label",class:"distance-label",style:{transform:d(s)}},r),null!=n&&t("div",{class:"indicator",style:{transform:d(n)}},t("slot",{name:"indicator"},t("div",{class:"indicator-placeholder"}))))},T=class{constructor(t){i(this,t),this.editBegin=e(this,"editBegin",7),this.editEnd=e(this,"editEnd",7),this.showAxisReferenceLines=!1,this.snapDistance=16,this.units="millimeters",this.fractionalDigits=2,this.anchorLabelOffset=20,this.lineCapLength=10,this.mode="",this.interactingAnchor="none",this.invalid=!1,this.measurementModel=new v,this.viewport=new f(0,0),this.interactionCount=0,this.invalidateStateCounter=0,this.stateMap={},this.measurementUnits=new m(this.units),this.model=M.empty(),this.controller=new C(this.model),this.overlays=new p,this.isUserInteractingWithModel=!1,this.handleFrameDrawn=()=>{this.invalidateState()},this.clearIndicator=()=>{this.controller.clearIndicator()},this.updateStartAnchor=async t=>{if(this.getStencilBuffer(),0===this.interactionCount){const i=c(t,this.elementBounds),e=this.snapPoint(i,t);this.updateIndicator(e)}},this.newMeasurement=t=>{if(0===this.interactionCount&&0===t.button){const i=t=>{const i=()=>{window.removeEventListener("pointerup",e),window.removeEventListener("pointermove",s)},e=async()=>{i(),t()},s=t=>{t.buttons>0&&i()};window.addEventListener("pointermove",s),window.addEventListener("pointerup",e)},e=t=>{let i=o.create(0,0);const e=e=>{o.distance(i,c(e))>=3&&t()},s=()=>(window.removeEventListener("pointermove",e),void window.removeEventListener("pointerup",s)),n=t=>{i=c(t),window.addEventListener("pointermove",e),window.addEventListener("pointerup",s)};return window.addEventListener("pointerdown",n),{dispose:()=>window.removeEventListener("pointerdown",n)}},s=()=>{const t=e((()=>{var t;this.isUserInteractingWithModel=!0,null===(t=this.stateMap.hoverCursor)||void 0===t||t.dispose()})),i=()=>{window.removeEventListener("pointermove",s),window.removeEventListener("pointerup",n),t.dispose()},s=this.createInteractionMoveHandler(),n=async t=>{var e;if(0===t.button)if(this.isUserInteractingWithModel)this.isUserInteractingWithModel=!1;else{const s=this.getHitProvider();if(null!=s){const n=c(t,this.elementBounds),r=this.snapPoint(n,t);await(null===(e=this.interaction)||void 0===e?void 0:e.finish(r,s)),i(),this.updateMeasurementPropsFromModel(),this.endEditing()}}};this.beginEditing("replace","end"),this.newInteractionHandler={dispose:i},window.addEventListener("pointermove",s),window.addEventListener("pointerup",n)},n=this.getHitProvider();if(null!=n){const e=c(t,this.elementBounds),r=this.snapPoint(e,t);this.interaction=this.controller.newMeasurement(r,n),null!=this.interaction&&i(s)}}}}async computeElementMetrics(){var t,i,e;const s=null===(t=this.hostEl.shadowRoot)||void 0===t?void 0:t.getElementById("start-anchor"),n=null===(i=this.hostEl.shadowRoot)||void 0===i?void 0:i.getElementById("end-anchor"),r=null===(e=this.hostEl.shadowRoot)||void 0===e?void 0:e.getElementById("label");return null!=s&&null!=n&&null!=r?{startAnchor:s.getBoundingClientRect(),endAnchor:n.getBoundingClientRect(),label:r.getBoundingClientRect()}:void 0}disconnectedCallback(){var t,i;null===(t=this.stateMap.hoverCursor)||void 0===t||t.dispose(),null===(i=this.newInteractionHandler)||void 0===i||i.dispose()}componentWillLoad(){this.updatePropsFromJson(),this.model.setMeasurementFromValues(this.start,this.end,!this.invalid),this.getStencilBuffer(),this.updateViewport(),this.handleViewerChanged(this.viewer),this.handleModeChanged(),this.computePropsAndState(),this.model.onIndicatorChanged((t=>{this.indicatorPt=t}))}componentDidLoad(){new ResizeObserver((()=>this.updateViewport())).observe(this.hostEl)}componentWillUpdate(){this.computePropsAndState()}render(){return t(s,null,this.showAxisReferenceLines&&t("vertex-viewer-measurement-overlays",{measurementOverlays:this.overlays,viewer:this.viewer}),this.renderMeasurement())}renderMeasurement(){const i=this.computeElementPositions(),{startPt:e,endPt:s,labelPt:n,indicatorPt:r,hideStart:a,hideEnd:o}=i,h=this.formatDistance(this.distance);return t(L,"edit"===this.mode||"replace"===this.mode?{startPt:e,endPt:s,centerPt:n,indicatorPt:r,distance:h,anchorLabelOffset:this.anchorLabelOffset,lineCapLength:this.lineCapLength,hideStartAnchor:a,hideEndAnchor:o,onStartAnchorPointerDown:this.handleEditAnchor("start"),onEndAnchorPointerDown:this.handleEditAnchor("end")}:{startPt:e,endPt:s,centerPt:n,indicatorPt:this.indicatorPt,distance:h,hideStartAnchor:a,hideEndAnchor:o,anchorLabelOffset:this.anchorLabelOffset,lineCapLength:this.lineCapLength,linePointerEvents:"painted"})}handleViewerChanged(t,i){null!=i&&(i.removeEventListener("frameDrawn",this.handleFrameDrawn),this.removeInteractionListeners(i)),null!=t&&(t.addEventListener("frameDrawn",this.handleFrameDrawn),this.addInteractionListeners(t))}handleUnitsChanged(){this.measurementUnits=new m(this.units)}handleCameraChanged(){this.updateCamera()}handleModeChanged(){this.warnIfDepthBuffersDisabled(),null!=this.viewer&&(this.removeInteractionListeners(this.viewer),this.addInteractionListeners(this.viewer))}handleStartChanged(){this.updateInteractionModel()}handleEndChanged(){this.updateInteractionModel()}handleInvalidChanged(){this.updateInteractionModel()}computePropsAndState(){this.updateCamera(),this.updateDepthBuffer(),this.updateMeasurementPropsFromModel(),this.updateOverlays()}updateOverlays(){var t;null===(t=this.overlay)||void 0===t||t.dispose(),this.showAxisReferenceLines&&0===this.interactionCount&&!this.invalid&&null!=this.start&&null!=this.end&&(this.overlay=this.overlays.addDistanceVector(this.start,this.end))}async setCursor(t){var i,e;null===(i=this.stateMap.hoverCursor)||void 0===i||i.dispose(),this.isUserInteractingWithModel||(this.stateMap.hoverCursor=await(null===(e=this.viewer)||void 0===e?void 0:e.addCursor(t)))}computeElementPositions(){return"replace"===this.mode?this.computeReplaceElementPositions():this.computeEditOrViewElementPositions()}computeEditOrViewElementPositions(){const t=this.model.getMeasurement();return null!=this.internalCamera&&null!=t?this.computeLineElementPositions(h.create(t)):{}}computeReplaceElementPositions(){if(null!=this.internalCamera){const t=this.model.getMeasurement(),i=null!=t?this.computeLineElementPositions(h.create(t)):{},e=null!=this.indicatorPt?{indicatorPt:this.viewport.transformWorldToViewport(this.indicatorPt,this.internalCamera.projectionViewMatrix)}:{};return Object.assign(Object.assign({},i),e)}return{}}computeLineElementPositions(t){return null!=this.internalCamera?y(t,this.interactingAnchor,{viewport:this.viewport,camera:this.internalCamera}):{}}updateCamera(){var t,i;this.internalCamera=this.camera||(null===(i=null===(t=this.viewer)||void 0===t?void 0:t.frame)||void 0===i?void 0:i.scene.camera)}async updateDepthBuffer(){var t,i;this.stateMap.depthBuffer=await(null===(i=null===(t=this.viewer)||void 0===t?void 0:t.frame)||void 0===i?void 0:i.depthBuffer())}updateViewport(){const t=this.hostEl.getBoundingClientRect();this.viewport=new f(t.width,t.height),this.elementBounds=t}updatePropsFromJson(){var t,i;this.start=H(null!==(t=this.startJson)&&void 0!==t?t:this.start),this.end=H(null!==(i=this.endJson)&&void 0!==i?i:this.end)}updateInteractionModel(){this.model.setMeasurementFromValues(this.start,this.end,!this.invalid)}invalidateState(){this.invalidateStateCounter=this.invalidateStateCounter+1}async addInteractionListeners(t){const i=await t.getInteractionTarget_DEPRECATED();"replace"===this.mode&&(i.addEventListener("pointermove",this.updateStartAnchor),i.addEventListener("pointerdown",this.newMeasurement),i.addEventListener("pointerleave",this.clearIndicator))}async removeInteractionListeners(t){const i=await t.getInteractionTarget_DEPRECATED();i.removeEventListener("pointermove",this.updateStartAnchor),i.removeEventListener("pointerdown",this.newMeasurement),i.removeEventListener("pointerleave",this.clearIndicator)}handleEditAnchor(t){if("edit"===this.mode||"replace"===this.mode){const i=this.createInteractionMoveHandler(),e=async t=>{var s;const n=this.getHitProvider();if(null!=n){window.removeEventListener("pointermove",i),window.removeEventListener("pointerup",e);const r=c(t,this.elementBounds),a=this.snapPoint(r,t);await(null===(s=this.interaction)||void 0===s?void 0:s.finish(a,n)),this.updateMeasurementPropsFromModel(),this.endEditing()}};return s=>{this.getStencilBuffer(),0===s.button&&(this.beginEditing("edit",t),this.interaction=this.controller.editMeasurement(t),window.addEventListener("pointermove",i),window.addEventListener("pointerup",e))}}}createInteractionMoveHandler(){return t=>{var i;const e=this.getHitProvider();if(null!=this.elementBounds&&null!=e){t.preventDefault(),this.getStencilBuffer();const s=c(t,this.elementBounds),n=this.snapPoint(s,t);null===(i=this.interaction)||void 0===i||i.update(n,e),this.updateMeasurementPropsFromModel()}}}async getStencilBuffer(){var t;const i=await(null===(t=this.viewer)||void 0===t?void 0:t.stencilBuffer.latestAfterInteraction());this.stateMap.stencil=i}snapPoint(t,i){const e=this.getHitProvider();if(null!=e&&!i.shiftKey){const i=Math.max(0,this.snapDistance);return e.hitTester().snapToNearestPixel(t,i)}return t}formatDistance(t){const i=null!=t?this.measurementUnits.convertWorldValueToReal(t):void 0;if(null!=this.labelFormatter)return this.labelFormatter(i);{const t=this.measurementUnits.unit.abbreviatedName;return null==i?"---":`~${i.toFixed(this.fractionalDigits)} ${t}`}}beginEditing(t,i){0===this.interactionCount&&(this.interactingAnchor=i,this.editBegin.emit({type:t,anchor:i})),this.interactionCount=this.interactionCount+1}endEditing(){if(1===this.interactionCount){const t=this.model.getMeasurement();this.interactingAnchor="none",this.updateMeasurementModel(),null!=t&&this.editEnd.emit(t)}this.interactionCount=this.interactionCount-1}updateMeasurementModel(){this.measurementModel.clearOutcome(),this.invalid||null==this.start||null==this.end||this.measurementModel.setOutcome({isApproximate:!0,results:[w(this.start,this.end)]})}getHitProvider(){if(null!=this.hitProvider)return this.hitProvider;{const t=this.getHitTester(),i=this.viewer;if(null!=i&&null!=t)return{hitTester:()=>t,raycaster:async()=>(await i.scene()).raycaster()}}}getHitTester(){const{stencil:t,depthBuffer:i}=this.stateMap;if(null!=i)return new E(t,i,this.viewport,this.internalCamera)}updateMeasurementPropsFromModel(){const t=this.model.getMeasurement();this.start=null==t?void 0:t.start,this.end=null==t?void 0:t.end,this.distance=null==t?void 0:t.distance,this.invalid=null!=t&&!t.valid}updateIndicator(t){var i;const e=this.getHitProvider();null!=e&&this.controller.moveIndicator(t,e)?this.setCursor(l):null===(i=this.stateMap.hoverCursor)||void 0===i||i.dispose()}warnIfDepthBuffersDisabled(){null!=this.viewer&&null==this.viewer.depthBuffers&&console.warn("Measurement editing is disabled. <vertex-viewer> must have its `depth-buffers` attribute set.")}get hostEl(){return n(this)}static get watchers(){return{viewer:["handleViewerChanged"],units:["handleUnitsChanged"],camera:["handleCameraChanged"],mode:["handleModeChanged"],start:["handleStartChanged"],end:["handleEndChanged"],invalid:["handleInvalidChanged"]}}};function H(t){return"string"==typeof t?r.fromJson(t):t}T.style=":host{--viewer-measurement-distance-accent-color:var(--neutral-900);--viewer-measurement-distance-contrast-color:var(--white);--viewer-measurement-distance-invalid-accent-color:var(--red-600);--viewer-measurement-distance-invalid-contrast-color:var(--white);--viewer-measurement-distance-line-stroke-width:1.25px;--viewer-measurement-distance-line-fill-width:2px;--viewer-measurement-distance-distance-border:1px solid\n var(--viewer-measurement-distance-accent-color);--viewer-measurement-distance-distance-border-radius:0.25rem;--viewer-measurement-distance-distance-padding:0.375rem 0.5rem;color:var(--viewer-measurement-distance-accent-color);font-size:0.75rem;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none}:host([invalid]:not([invalid='false'])){--viewer-measurement-distance-accent-color:var(\n --viewer-measurement-distance-invalid-accent-color\n ) !important;--viewer-measurement-distance-contrast-color:var(\n --viewer-measurement-distance-invalid-contrast-color\n ) !important}.line{--viewer-measurement-line-stroke:var(\n --viewer-measurement-distance-contrast-color\n );--viewer-measurement-line-stroke-opacity:0.75;--viewer-measurement-line-stroke-width:var(\n --viewer-measurement-distance-line-stroke-width\n );--viewer-measurement-line-fill:var(\n --viewer-measurement-distance-accent-color\n );--viewer-measurement-line-fill-width:var(\n --viewer-measurement-distance-line-fill-width\n );position:absolute;width:100%;height:100%}.anchor{position:absolute;border-radius:50%;transform:translate(-50%, -50%);display:block;pointer-events:auto}:host([interacting-anchor='start']) .anchor-start,:host([interacting-anchor='start']) .anchor-label-start{visibility:hidden}.hide-start-line-cap,:host([interacting-anchor='start']) .line{--viewer-measurement-line-start-cap-visibility:hidden}:host([interacting-anchor='end']) .anchor-end,:host([interacting-anchor='end']) .anchor-label-end{visibility:hidden}.hide-end-line-cap,:host([interacting-anchor='end']) .line{--viewer-measurement-line-end-cap-visibility:hidden}.anchor-label{position:absolute;border-radius:50%;transform:translate(-50%, -50%);display:block;pointer-events:auto}:host(:not([mode=''])){cursor:inherit}:host(:not([mode=''])) .anchor{cursor:move}:host([mode='']) .anchor{visibility:hidden}.anchor-placeholder{background:var(--viewer-measurement-distance-contrast-color);width:12px;height:12px;border-radius:50%;box-sizing:border-box}:host(:not([mode=''])) .anchor-placeholder{border:2px solid var(--viewer-measurement-distance-accent-color);background:var(--viewer-measurement-distance-contrast-color)}:host([mode='']) .distance-label{color:var(--viewer-measurement-distance-contrast-color);background:var(--viewer-measurement-distance-accent-color)}.distance-label{position:absolute;background:var(--viewer-measurement-distance-contrast-color);border:var(--viewer-measurement-distance-distance-border);border-radius:var(--viewer-measurement-distance-distance-border-radius);padding:var(--viewer-measurement-distance-distance-padding);pointer-events:auto}.indicator{position:absolute}.indicator-placeholder{background:var(--viewer-measurement-distance-accent-color);border:1px solid var(--viewer-measurement-distance-contrast-color);width:6px;height:6px;border-radius:50%;box-sizing:border-box}";export{T as vertex_viewer_measurement_distance}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,c as t,h as r,H as n,g as i}from"./p-d6fce4c1.js";import{s}from"./p-c738296e.js";import{F as o,C as a,A as l}from"./p-
|
|
4
|
+
import{r as e,c as t,h as r,H as n,g as i}from"./p-d6fce4c1.js";import{s}from"./p-c738296e.js";import{F as o,C as a,A as l}from"./p-0d494d01.js";import{b as h,a as d,i as c}from"./p-e1896ce4.js";import"./p-d216a866.js";import"./p-fc7d8c03.js";const m=class{constructor(r){e(this,r),this.markupBegin=t(this,"markupBegin",7),this.markupEnd=t(this,"markupEnd",7),this.tool="arrow",this.disabled=!1,this.stateMap={},this.handleMarkupEditBegin=()=>{this.markupBegin.emit()},this.handleMarkupEditEnd=()=>{const{markupElement:e}=this.stateMap;if(h(e)){const{points:t,bounds:r}=e;null!=t&&t.length>0&&null!=r&&this.markupEnd.emit(new o({points:t,bounds:r}))}else if(d(e)){const{bounds:t}=e;null!=t&&this.markupEnd.emit(new a({bounds:t}))}else if(c(e)){const{start:t,end:r}=e;null!=t&&null!=r&&this.markupEnd.emit(new l({start:t,end:r}))}}}async handleViewerChanged(){null!=this.stateMap.markupElement&&(this.stateMap.markupElement.viewer=this.viewer)}handleToolChanged(){this.updateMarkupElement()}handleArrowTemplateIdChanged(){this.updateMarkupElement()}handleCircleTemplateIdChanged(){this.updateMarkupElement()}handleFreeformTemplateIdChanged(){this.updateMarkupElement()}handleDisabledChanged(){this.updateMarkupElement()}componentDidLoad(){this.updateMarkupElement()}async reset(){const{markupElement:e}=this.stateMap;h(e)?(e.points=void 0,e.bounds=void 0,e.mode="create"):d(e)?(e.bounds=void 0,e.mode="create"):c(e)&&(e.start=void 0,e.end=void 0,e.mode="create")}render(){return this.disabled?r(n,null):r(n,null,"arrow"===this.tool||"circle"===this.tool||"freeform"===this.tool?r("slot",null):`Unsupported tool type '${this.tool}'.`)}createArrowMarkupElement(){if(null!=this.arrowTemplateId){const e=s(window.document.body,this.arrowTemplateId,c,(()=>console.warn(`Arrow template with ID ${this.arrowTemplateId} not found. Using default arrow element.`)),(()=>console.warn("Arrow template does not contain a vertex-viewer-markup-arrow. Using default arrow element.")));if(null!=e)return e}return document.createElement("vertex-viewer-markup-arrow")}createCircleMarkupElement(){if(null!=this.circleTemplateId){const e=s(window.document.body,this.circleTemplateId,d,(()=>console.warn(`Circle template with ID ${this.circleTemplateId} not found. Using default circle element.`)),(()=>console.warn("Circle template does not contain a vertex-viewer-markup-circle. Using default circle element.")));if(null!=e)return e}return document.createElement("vertex-viewer-markup-circle")}createFreeformMarkupElement(){if(null!=this.freeformTemplateId){const e=s(window.document.body,this.freeformTemplateId,h,(()=>console.warn(`Freeform template with ID ${this.freeformTemplateId} not found. Using default freeform element.`)),(()=>console.warn("Freeform template does not contain a vertex-viewer-markup-freeform. Using default freeform element.")));if(null!=e)return e}return document.createElement("vertex-viewer-markup-freeform")}createNewMarkupElement(){switch(this.tool){case"arrow":return this.createArrowMarkupElement();case"circle":return this.createCircleMarkupElement();case"freeform":return this.createFreeformMarkupElement()}}updateMarkupElement(){const{markupElement:e}=this.stateMap;if(null!=e&&(e.remove(),e.dispose(),e.viewer=void 0,e.removeEventListener("editBegin",this.handleMarkupEditBegin),e.removeEventListener("editEnd",this.handleMarkupEditEnd)),!this.disabled){const e=this.createNewMarkupElement();e.mode="create",e.viewer=this.viewer,e.addEventListener("editBegin",this.handleMarkupEditBegin),e.addEventListener("editEnd",this.handleMarkupEditEnd),this.stateMap.markupElement=e,this.hostEl.append(e)}}get hostEl(){return i(this)}static get watchers(){return{viewer:["handleViewerChanged"],tool:["handleToolChanged"],arrowTemplateId:["handleArrowTemplateIdChanged"],circleTemplateId:["handleCircleTemplateIdChanged"],freeformTemplateId:["handleFreeformTemplateIdChanged"],disabled:["handleDisabledChanged"]}}};m.style=':host{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}:host([elevated=""]){z-index:100}';export{m as vertex_viewer_markup_tool}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{p as n}from"./p-
|
|
4
|
+
import{p as n}from"./p-d216a866.js";function t(t,r){const a=n.create(t.clientX,t.clientY);return null==r?a:n.subtract(a,n.create(r.left,r.top))}function r(n){const{x:t,y:r}=n;return`translate(-50%, -50%) translate(${t}px, ${r}px)`}function a(n){var t,r;return"string"==typeof n?n:[`url("${n.url}")`,null!==(t=n.offsetX)&&void 0!==t?t:0,null!==(r=n.offsetY)&&void 0!==r?r:0,", auto"].join(" ")}export{r as a,a as c,t as g}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/**!
|
|
2
|
+
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
class s extends Error{constructor(t,e){super(),this.message=t,this.stack=null==e?void 0:e.stack,this.name=this.constructor.name,Object.setPrototypeOf(this,s.prototype)}}class t extends s{constructor(s,e){super(s,e),Object.setPrototypeOf(this,t.prototype)}}class e extends s{constructor(s,t){super(s,t),Object.setPrototypeOf(this,e.prototype)}}class c extends s{constructor(s,t){super(s,t),Object.setPrototypeOf(this,c.prototype)}}class r extends s{constructor(s,t){super(s,t),Object.setPrototypeOf(this,r.prototype)}}class o extends s{constructor(s,t){super(s,t),Object.setPrototypeOf(this,o.prototype)}}class a extends s{constructor(s,t){super(s,t),Object.setPrototypeOf(this,a.prototype)}}class n extends s{constructor(s,t){super(s,t),Object.setPrototypeOf(this,n.prototype)}}class u extends s{constructor(s,t){super(s,t),Object.setPrototypeOf(this,u.prototype)}}class i extends s{constructor(s,t){super(s,t),Object.setPrototypeOf(this,i.prototype)}}class h extends s{constructor(s,t){super(s,t),Object.setPrototypeOf(this,h.prototype)}}export{s as C,t as I,r as S,e as V,o as W,h as a,i as b,n as c,a as d,c as e,u as f}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,c as t,h as i,H as n,g as r}from"./p-d6fce4c1.js";import{p as s}from"./p-
|
|
4
|
+
import{r as e,c as t,h as i,H as n,g as r}from"./p-d6fce4c1.js";import{p as s}from"./p-d216a866.js";import{s as a}from"./p-c738296e.js";import{A as o,C as l,F as h}from"./p-0d494d01.js";import{i as d,a as u,b as p}from"./p-e1896ce4.js";import"./p-fc7d8c03.js";const c=class{constructor(i){e(this,i),this.markupAdded=t(this,"markupAdded",7),this.markupRemoved=t(this,"markupRemoved",7),this.markupSelectionChanged=t(this,"markupSelectionChanged",7),this.tool="arrow",this.disabled=!1,this.selectNew=!1,this.handlePointerMove=e=>{null!=this.pointerDownPosition&&s.distance(this.pointerDownPosition,s.create(e.clientX,e.clientY))>2&&(this.toSelectMarkupId=void 0)},this.handlePointerUp=async e=>{if(!this.disabled){const t=e.target,i=(await this.getMarkupElements()).find((e=>e===t));null!=(null==i?void 0:i.id)&&""!==i.id&&i.id===this.toSelectMarkupId?this.selectedMarkupId=t.id:null!=this.pointerDownPosition&&s.distance(this.pointerDownPosition,s.create(e.clientX,e.clientY))<=2&&(this.selectedMarkupId=void 0),this.toSelectMarkupId=void 0,this.pointerDownPosition=void 0}window.removeEventListener("pointerup",this.handlePointerUp),window.removeEventListener("pointermove",this.handlePointerMove)}}disconnectedCallback(){window.removeEventListener("pointerup",this.handlePointerUp),window.removeEventListener("pointermove",this.handlePointerMove)}async addMarkup(e){if(e instanceof o){const{start:t,end:i,id:n}=e,r=this.createArrowMarkupElement();return r.id=n,r.start=t,r.end=i,this.appendMarkupElement(r)}if(e instanceof l){const{bounds:t,id:i}=e,n=this.createCircleMarkupElement();return n.id=i,n.bounds=t,this.appendMarkupElement(n)}if(e instanceof h){const{bounds:t,points:i,id:n}=e,r=this.createFreeformMarkupElement();return r.id=n,r.points=i,r.bounds=t,this.appendMarkupElement(r)}throw new Error(`Cannot add markup. Unknown type '${e}'.`)}async removeMarkup(e){const t=await this.getMarkupElement(e);return null!=t&&(t.remove(),this.markupRemoved.emit(t)),t}async getMarkupElements(){return Array.from(this.hostEl.children).filter((e=>d(e)||u(e)||p(e)))}async getMarkupElement(e){return(await this.getMarkupElements()).find((t=>t.id===e))}async handleSelectedMarkupIdChanged(){(await this.getMarkupElements()).forEach((e=>{e.id===this.selectedMarkupId?(e.mode="edit",this.markupSelectionChanged.emit(e)):e.mode=""})),null==this.selectedMarkupId&&this.markupSelectionChanged.emit(void 0)}handleToolChanged(){this.updatePropsOnMarkupTool()}handleArrowTemplateIdChanged(){this.updatePropsOnMarkupTool()}handleCircleTemplateIdChanged(){this.updatePropsOnMarkupTool()}handleFreeformTemplateIdChanged(){this.updatePropsOnMarkupTool()}async handleViewerChanged(e){this.updatePropsOnMarkupTool(),this.updatePropsOnMarkups()}handleDisabledChanged(){this.updatePropsOnMarkupTool()}async handleMarkupEnd(e){var t;const i=e,n=await this.addMarkup(i.detail);await new Promise((e=>{const t=()=>{n.removeEventListener("viewRendered",t),e()};n.addEventListener("viewRendered",t)})),this.selectNew&&(this.selectedMarkupId=i.detail.id),null===(t=this.getMarkupTool())||void 0===t||t.reset()}async handleMarkupPointerDown(e){if(!this.disabled){const t=e.target,i=(await this.getMarkupElements()).find((e=>e===t));null!=(null==i?void 0:i.id)&&""!==(null==i?void 0:i.id)&&(this.toSelectMarkupId=t.id),this.pointerDownPosition=s.create(e.clientX,e.clientY),window.addEventListener("pointermove",this.handlePointerMove),window.addEventListener("pointerup",this.handlePointerUp)}}componentDidLoad(){this.updatePropsOnMarkupTool()}render(){return i(n,null,i("slot",null))}appendMarkupElement(e){return this.updatePropsOnMarkup(e),this.hostEl.appendChild(e),this.markupAdded.emit(e),e}createArrowMarkupElement(){if(null!=this.arrowTemplateId){const e=a(window.document.body,this.arrowTemplateId,d,(()=>console.warn(`Arrow template with ID ${this.arrowTemplateId} not found. Using default arrow element.`)),(()=>console.warn("Arrow template does not contain a vertex-viewer-markup-arrow. Using default arrow element.")));if(null!=e)return e}return document.createElement("vertex-viewer-markup-arrow")}createCircleMarkupElement(){if(null!=this.circleTemplateId){const e=a(window.document.body,this.circleTemplateId,u,(()=>console.warn(`Circle template with ID ${this.circleTemplateId} not found. Using default circle element.`)),(()=>console.warn("Circle template does not contain a vertex-viewer-markup-circle. Using default circle element.")));if(null!=e)return e}return document.createElement("vertex-viewer-markup-circle")}createFreeformMarkupElement(){if(null!=this.freeformTemplateId){const e=a(window.document.body,this.freeformTemplateId,p,(()=>console.warn(`Freeform template with ID ${this.freeformTemplateId} not found. Using default freeform element.`)),(()=>console.warn("Freeform template does not contain a vertex-viewer-markup-freeform. Using default freeform element.")));if(null!=e)return e}return document.createElement("vertex-viewer-markup-freeform")}async updatePropsOnMarkups(){(await this.getMarkupElements()).forEach((e=>this.updatePropsOnMarkup(e)))}updatePropsOnMarkup(e){e.viewer=this.viewer,e.classList.add("viewer-markup__markup")}updatePropsOnMarkupTool(){const e=this.getMarkupTool();null!=e&&(e.disabled=this.disabled,e.arrowTemplateId=this.arrowTemplateId,e.circleTemplateId=this.circleTemplateId,e.freeformTemplateId=this.freeformTemplateId,e.tool=this.tool,e.viewer=this.viewer)}getMarkupTool(){return this.hostEl.querySelector("vertex-viewer-markup-tool")}get hostEl(){return r(this)}static get watchers(){return{selectedMarkupId:["handleSelectedMarkupIdChanged"],tool:["handleToolChanged"],arrowTemplateId:["handleArrowTemplateIdChanged"],circleTemplateId:["handleCircleTemplateIdChanged"],freeformTemplateId:["handleFreeformTemplateIdChanged"],viewer:["handleViewerChanged"],disabled:["handleDisabledChanged"]}}};c.style=":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}";export{c as vertex_viewer_markup}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**!
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{h as e,F as t,r,H as s}from"./p-d6fce4c1.js";import{D as i,A as n,f as a}from"./p-
|
|
4
|
+
import{h as e,F as t,r,H as s}from"./p-d6fce4c1.js";import{D as i,A as n,f as a}from"./p-6072cf84.js";import"./p-df8fbe56.js";import{o as l,v as o}from"./p-d216a866.js";import{c as h}from"./p-07aeee89.js";import"./p-32cc2209.js";import"./p-fc7d8c03.js";import"./p-dfe5a97d.js";
|
|
5
5
|
/*! *****************************************************************************
|
|
6
6
|
Copyright (c) Microsoft Corporation.
|
|
7
7
|
|
|
@@ -29,4 +29,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
29
29
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
30
30
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
31
31
|
PERFORMANCE OF THIS SOFTWARE.
|
|
32
|
-
***************************************************************************** */function v(e){return e.toLowerCase()}var m=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],c=/[^A-Z0-9]+/gi;function f(e,t,r){return t instanceof RegExp?e.replace(t,r):t.reduce((function(e,t){return e.replace(t,r)}),e)}function y(e,t){return void 0===t&&(t={}),function(e,t){void 0===t&&(t={});for(var r=t.splitRegexp,s=t.stripRegexp,i=void 0===s?c:s,n=t.transform,a=void 0===n?v:n,l=t.delimiter,o=void 0===l?" ":l,h=f(f(e,void 0===r?m:r,"$1\0$2"),i,"\0"),u=0,d=h.length;"\0"===h.charAt(u);)u++;for(;"\0"===h.charAt(d-1);)d--;return h.slice(u,d).split("\0").map(a).join(o)}(e,d({delimiter:"."},t))}const p=(t,r)=>{var s,i,{label:n}=t,a=l(t,["label"]);return e("div",Object.assign({},a,{class:"measurement-details-entry"}),e("div",{class:h("measurement-details-entry-label",(s=n,void 0===i&&(i={}),y(s,u({delimiter:"-"},i))))},n,":"),r)},
|
|
32
|
+
***************************************************************************** */function v(e){return e.toLowerCase()}var m=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],c=/[^A-Z0-9]+/gi;function f(e,t,r){return t instanceof RegExp?e.replace(t,r):t.reduce((function(e,t){return e.replace(t,r)}),e)}function y(e,t){return void 0===t&&(t={}),function(e,t){void 0===t&&(t={});for(var r=t.splitRegexp,s=t.stripRegexp,i=void 0===s?c:s,n=t.transform,a=void 0===n?v:n,l=t.delimiter,o=void 0===l?" ":l,h=f(f(e,void 0===r?m:r,"$1\0$2"),i,"\0"),u=0,d=h.length;"\0"===h.charAt(u);)u++;for(;"\0"===h.charAt(d-1);)d--;return h.slice(u,d).split("\0").map(a).join(o)}(e,d({delimiter:"."},t))}const p=(t,r)=>{var s,i,{label:n}=t,a=l(t,["label"]);return e("div",Object.assign({},a,{class:"measurement-details-entry"}),e("div",{class:h("measurement-details-entry-label",(s=n,void 0===i&&(i={}),y(s,u({delimiter:"-"},i))))},n,":"),r)},g=({result:r,formatter:s,overlays:i,onShowOverlay:n,onHideOverlay:a})=>{const l=o.subtract(r.point1,r.point2);return e(t,null,e(p,{label:"Dist",onMouseEnter:()=>n(null==i?void 0:i.addLineFromResult(r)),onMouseLeave:a},s(r.distance)),e(p,{label:"X",onMouseEnter:()=>n(null==i?void 0:i.addDistanceVectorFromResult(r)),onMouseLeave:a},s(l.x)),e(p,{label:"Y",onMouseEnter:()=>n(null==i?void 0:i.addDistanceVectorFromResult(r)),onMouseLeave:a},s(l.y)),e(p,{label:"Z",onMouseEnter:()=>n(null==i?void 0:i.addDistanceVectorFromResult(r)),onMouseLeave:a},s(l.z)))},b=({result:t,formatter:r})=>e(p,{label:"Angle"},r(t.angle)),w=({result:t,formatter:r})=>e(p,{label:"Parallel Dist"},r(t.distance)),O=({result:t,formatter:r})=>e(p,{label:"Area"},r(t.area)),M=class{constructor(e){r(this,e),this.distanceUnits="millimeters",this.angleUnits="degrees",this.fractionalDigits=2,this.distanceMeasurementUnits=new i(this.distanceUnits),this.angleMeasurementUnits=new n(this.angleUnits),this.areaMeasurementUnits=new a(this.distanceUnits),this.handleShowOverlay=e=>{this.overlay=e},this.handleHideOverlay=()=>{var e;null===(e=this.overlay)||void 0===e||e.dispose()},this.handleOutcomeChange=()=>{this.updateStateFromModel()}}connectedCallback(){var e;this.onOutcomeChangedHandler=null===(e=this.measurementModel)||void 0===e?void 0:e.onOutcomeChanged(this.handleOutcomeChange),this.updateStateFromModel()}disconnectedCallback(){var e;null===(e=this.onOutcomeChangedHandler)||void 0===e||e.dispose()}handleDistanceUnitsChanged(){this.distanceMeasurementUnits=new i(this.distanceUnits),this.areaMeasurementUnits=new a(this.distanceUnits)}handleAngleUnitsChanged(){this.angleMeasurementUnits=new n(this.angleUnits)}handleMeasurementModelChanged(){var e,t;null===(e=this.onOutcomeChangedHandler)||void 0===e||e.dispose(),this.onOutcomeChangedHandler=null===(t=this.measurementModel)||void 0===t?void 0:t.onOutcomeChanged(this.handleOutcomeChange),this.updateStateFromModel()}handleResultTypesChanged(){this.updateStateFromModel()}render(){var t,r;const i=(null!==(r=null===(t=this.measurementOutcome)||void 0===t?void 0:t.results)&&void 0!==r?r:[]).filter((e=>{var t,r;return null===(r=null===(t=this.resultTypes)||void 0===t?void 0:t.includes(e.type))||void 0===r||r}));return e(s,null,this.renderResult("planar-angle",i,(t=>e(b,{result:t,overlays:this.measurementOverlays,formatter:this.makeAngleFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))),this.renderResult("planar-distance",i,(t=>e(w,{result:t,overlays:this.measurementOverlays,formatter:this.makeDistanceFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))),this.renderResult("surface-area",i,(t=>e(O,{result:t,overlays:this.measurementOverlays,formatter:this.makeAreaFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))),this.renderResult("minimum-distance",i,(t=>e(g,{result:t,overlays:this.measurementOverlays,formatter:this.makeDistanceFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))))}updateStateFromModel(){var e;this.measurementOutcome=null===(e=this.measurementModel)||void 0===e?void 0:e.getOutcome()}renderResult(e,t,r){const s=this.getResultForType(e,t);return null!=s?r(s):void 0}getResultForType(e,t){return t.find((t=>t.type===e))}makeDistanceFormatter(){return this.makeFormatter((e=>this.distanceMeasurementUnits.convertWorldValueToReal(e)),this.distanceMeasurementUnits.unit,this.distanceFormatter)}makeAngleFormatter(){return this.makeFormatter((e=>this.angleMeasurementUnits.convertTo(e)),this.angleMeasurementUnits.unit,this.angleFormatter)}makeAreaFormatter(){return this.makeFormatter((e=>this.areaMeasurementUnits.convertWorldValueToReal(e)),this.areaMeasurementUnits.unit,this.areaFormatter)}makeFormatter(e,t,r){return s=>{const i=e(s);return null!=r?r(i):this.formatValue(i,t)}}formatValue(e,t){var r,s;const i=e.toFixed(this.fractionalDigits);return`${null!==(s=null===(r=this.measurementOutcome)||void 0===r?void 0:r.isApproximate)&&void 0!==s&&s?"~"+i:i} ${t.abbreviatedName}`}static get watchers(){return{distanceUnits:["handleDistanceUnitsChanged"],angleUnits:["handleAngleUnitsChanged"],measurementModel:["handleMeasurementModelChanged"],resultTypes:["handleResultTypesChanged"]}}};M.style=":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)}";export{M as vertex_viewer_measurement_details}
|