@vertexvis/viewer 0.13.2-canary.9 → 0.14.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/{_commonjsHelpers-537d719a.js → _commonjsHelpers-dcc4cf71.js} +21 -0
- package/dist/cjs/{app-globals-3671e828.js → app-globals-2035678d.js} +1 -1
- package/dist/cjs/{browser.esm-075810bf.js → browser.esm-0bcdc581.js} +1 -1
- package/dist/cjs/{bundle.esm-618a5fe9.js → bundle.esm-22b6f2d6.js} +35 -1
- package/dist/cjs/{config-fb124bac.js → config-c63caa4f.js} +3 -2
- package/dist/cjs/{cursors-d71f6a74.js → cursors-f5d3c9a6.js} +13 -1
- package/dist/cjs/{dom-57ef84e9.js → dom-8d90bfaf.js} +1 -1
- package/dist/cjs/dom-d1bbd67c.js +10 -0
- package/dist/cjs/elementRectObserver-9b28f182.js +25 -0
- package/dist/cjs/entities-9eb7e608.js +41 -0
- package/dist/cjs/{entities-90f1347a.js → entities-e71231d8.js} +4 -4
- package/dist/cjs/{grpc-web-client.umd-60a79aae.js → grpc-web-client.umd-2af20c1b.js} +1 -1
- package/dist/cjs/{index-e100709a.js → index-4138aa2c.js} +1 -0
- package/dist/cjs/{index-3bc6bac0.js → index-b9d13137.js} +1 -1
- package/dist/cjs/index.cjs.js +25 -22
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{mapper-80ee2957.js → mapper-08bbab48.js} +4 -4
- package/dist/cjs/{markup-7f7de5f2.js → markup-f7e61d16.js} +2 -2
- package/dist/cjs/{measurement-f1ae9248.js → measurement-3367e9b7.js} +2 -2
- package/dist/cjs/{model-55abd9ab.js → model-5ca87867.js} +1 -1
- package/dist/cjs/model-a9cfd037.js +246 -0
- package/dist/cjs/{overlays-68e8eff2.js → overlays-b0ba69fd.js} +2 -2
- package/dist/cjs/{png-decoder-076131d8.js → png-decoder-ef097f37.js} +2 -2
- package/dist/cjs/{results-e9496869.js → results-178e89a3.js} +1 -1
- package/dist/cjs/{scene-92728420.js → scene-b6b78909.js} +49 -12
- package/dist/cjs/{stencil-a664cd10.js → stencil-ef19638e.js} +5 -1
- package/dist/cjs/{streamAttributes-81eb52f2.js → streamAttributes-c343bdc8.js} +1993 -78
- package/dist/cjs/utils-78928e4e.js +162 -0
- package/dist/cjs/{utils-6397efca.js → utils-b157b0af.js} +1 -1
- package/dist/cjs/{utils-463cd52e.js → utils-c74b8bf0.js} +1 -1
- package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +16 -6
- package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +16 -14
- 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 +3 -3
- package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +154 -27
- package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +3 -3
- package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/{vertex-viewer-dom-element_3.cjs.entry.js → vertex-viewer-dom-element_2.cjs.entry.js} +20 -178
- package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +191 -0
- package/dist/cjs/vertex-viewer-icon.cjs.entry.js +6 -3
- package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +49 -196
- package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +5 -5
- package/dist/cjs/vertex-viewer-markup.cjs.entry.js +5 -5
- package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +8 -7
- package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +16 -15
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +10 -9
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +18 -35
- package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +8 -7
- package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +12 -11
- package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +167 -0
- package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +276 -0
- package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +322 -0
- package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +13272 -0
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +8 -7
- package/dist/cjs/vertex-viewer.cjs.entry.js +119 -52
- package/dist/cjs/viewer.cjs.js +4 -4
- package/dist/cjs/{viewport-54b1389d.js → viewport-5ca619f7.js} +14 -4
- package/dist/collection/__mocks__/regl-shape.js +6 -0
- package/dist/collection/__mocks__/regl.js +3 -0
- package/dist/collection/collection-manifest.json +5 -0
- package/dist/collection/components/scene-tree/lib/controller.js +17 -5
- package/dist/collection/components/scene-tree/lib/errors.js +7 -1
- package/dist/collection/components/scene-tree/lib/viewer-ops.js +12 -1
- package/dist/collection/components/scene-tree/scene-tree.js +112 -22
- package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.css +0 -7
- package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.js +34 -12
- package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.js +14 -2
- package/dist/collection/components/viewer/viewer.js +79 -14
- package/dist/collection/components/viewer-dom-element/viewer-dom-element.js +32 -4
- package/dist/collection/components/viewer-dom-group/utils.js +3 -2
- package/dist/collection/components/viewer-dom-group/viewer-dom-group.js +30 -2
- package/dist/collection/components/viewer-icon/viewer-icon.js +5 -2
- package/dist/collection/components/viewer-markup/utils.js +3 -2
- package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-results.js +2 -2
- package/dist/collection/components/viewer-pin-group/pin-renderer.js +12 -0
- package/dist/collection/components/viewer-pin-group/utils.js +24 -0
- package/dist/collection/components/viewer-pin-group/viewer-pin-group.css +83 -0
- package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +276 -0
- package/dist/collection/components/viewer-pin-label/utils.js +4 -0
- package/dist/collection/components/viewer-pin-label/viewer-pin-label.css +154 -0
- package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +410 -0
- package/dist/collection/components/viewer-pin-label-line/viewer-pin-label-line.css +36 -0
- package/dist/collection/components/viewer-pin-label-line/viewer-pin-label-line.js +61 -0
- package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.css +9 -0
- package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +277 -0
- package/dist/collection/components/viewer-transform-widget/__mocks__/widget.js +21 -0
- package/dist/collection/components/viewer-transform-widget/util.js +78 -0
- package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.css +48 -0
- package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +442 -0
- package/dist/collection/components/viewer-transform-widget/widget.js +259 -0
- package/dist/collection/lib/cursors.js +11 -1
- package/dist/collection/lib/interactions/baseInteractionHandler.js +9 -2
- package/dist/collection/lib/interactions/flyToPositionKeyInteraction.js +4 -3
- package/dist/collection/lib/interactions/interactionApi.js +21 -1
- package/dist/collection/lib/interactions/interactionApiOrthographic.js +18 -1
- package/dist/collection/lib/interactions/mouseInteractionHandler.js +4 -4
- package/dist/collection/lib/interactions/mouseInteractions.js +24 -1
- package/dist/collection/lib/interactions/multiTouchInteractionHandler.js +1 -2
- package/dist/collection/lib/interactions/pointerInteractionHandler.js +3 -3
- package/dist/collection/lib/mappers/streamAttributes.js +4 -2
- package/dist/collection/lib/pins/controller.js +100 -0
- package/dist/collection/lib/pins/interactions.js +183 -0
- package/dist/collection/lib/pins/model.js +136 -0
- package/dist/collection/lib/rendering/canvas.js +6 -28
- package/dist/collection/lib/scenes/camera.js +34 -2
- package/dist/collection/lib/scenes/colorMaterial.js +8 -8
- package/dist/collection/lib/scenes/mapper.js +2 -1
- package/dist/collection/lib/scenes/queries.js +6 -4
- package/dist/collection/lib/transforms/axis-lines.js +31 -0
- package/dist/collection/lib/transforms/axis-rotation.js +34 -0
- package/dist/collection/lib/transforms/axis-translation.js +30 -0
- package/dist/collection/lib/transforms/controller.js +117 -0
- package/dist/collection/lib/transforms/drawable.js +47 -0
- package/dist/collection/lib/transforms/hits.js +51 -0
- package/dist/collection/lib/transforms/line.js +58 -0
- package/dist/collection/lib/transforms/mesh.js +35 -0
- package/dist/collection/lib/transforms/shape.js +2 -0
- package/dist/collection/lib/transforms/util.js +4 -0
- package/dist/collection/lib/types/depthBuffer.js +2 -2
- package/dist/collection/lib/types/frameCamera.js +4 -6
- package/dist/collection/lib/types/viewport.js +14 -4
- package/dist/custom-elements/index.d.ts +30 -0
- package/dist/custom-elements/index.js +16835 -335
- package/dist/esm/{_commonjsHelpers-9943807e.js → _commonjsHelpers-11ca3be1.js} +20 -1
- package/dist/esm/{app-globals-3a04a531.js → app-globals-40df99a0.js} +1 -1
- package/dist/esm/{browser.esm-e72d80ad.js → browser.esm-1ddb69c9.js} +1 -1
- package/dist/esm/{bundle.esm-8ceccb91.js → bundle.esm-ce2c7ad3.js} +36 -2
- package/dist/esm/{config-fb7cd8ff.js → config-7075833a.js} +3 -2
- package/dist/esm/{cursors-fc2deed7.js → cursors-98b7d89d.js} +12 -2
- package/dist/esm/{dom-2cd18856.js → dom-5b164305.js} +1 -1
- package/dist/esm/dom-be140992.js +8 -0
- package/dist/esm/elementRectObserver-39cf7b95.js +23 -0
- package/dist/esm/{entities-78557270.js → entities-46be90d5.js} +4 -4
- package/dist/esm/entities-ce81dd7f.js +41 -0
- package/dist/esm/{grpc-web-client.umd-5982b7b0.js → grpc-web-client.umd-5409853c.js} +1 -1
- package/dist/esm/{index-10c1495a.js → index-a9fb8318.js} +1 -1
- package/dist/esm/{index-455380d0.js → index-e841d91b.js} +1 -1
- package/dist/esm/index.js +15 -14
- package/dist/esm/index.mjs +15 -14
- package/dist/esm/loader.js +4 -4
- package/dist/esm/loader.mjs +4 -4
- package/dist/esm/{mapper-da36de17.js → mapper-bde6c607.js} +4 -4
- package/dist/esm/{markup-c313d99c.js → markup-8904f2fe.js} +2 -2
- package/dist/esm/{measurement-544b69d5.js → measurement-3f9b0ae0.js} +2 -2
- package/dist/esm/{model-2a34b443.js → model-e54b081f.js} +1 -1
- package/dist/esm/model-f679c493.js +241 -0
- package/dist/esm/{overlays-354e275c.js → overlays-ea2d45ec.js} +2 -2
- package/dist/esm/{png-decoder-07de80d1.js → png-decoder-d4b65417.js} +2 -2
- package/dist/esm/{results-4d0c3568.js → results-3b4df2cf.js} +1 -1
- package/dist/esm/{scene-2bfcce74.js → scene-22ebacfd.js} +49 -12
- package/dist/esm/{stencil-9bf7fb9e.js → stencil-8b20e5a8.js} +5 -2
- package/dist/esm/{streamAttributes-d0b384b3.js → streamAttributes-72a92676.js} +1982 -67
- package/dist/esm/{utils-3ea0acdd.js → utils-0b980078.js} +1 -1
- package/dist/esm/utils-c714e2f7.js +153 -0
- package/dist/esm/{utils-e0941c61.js → utils-f11bd6f7.js} +1 -1
- package/dist/esm/vertex-scene-tree-search_3.entry.js +16 -6
- package/dist/esm/vertex-scene-tree-table-cell.entry.js +16 -14
- 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 +3 -3
- package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
- package/dist/esm/vertex-scene-tree.entry.js +154 -27
- package/dist/esm/vertex-viewer-button_3.entry.js +3 -3
- package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
- package/dist/esm/{vertex-viewer-dom-element_3.entry.js → vertex-viewer-dom-element_2.entry.js} +21 -178
- package/dist/esm/vertex-viewer-dom-group.entry.js +187 -0
- package/dist/esm/vertex-viewer-icon.entry.js +6 -3
- package/dist/esm/vertex-viewer-layer.entry.js +1 -1
- package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +8 -155
- 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 +8 -7
- package/dist/esm/vertex-viewer-measurement-distance.entry.js +16 -15
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +10 -9
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +15 -32
- package/dist/esm/vertex-viewer-measurement-tool.entry.js +8 -7
- package/dist/esm/vertex-viewer-measurements.entry.js +12 -11
- package/dist/esm/vertex-viewer-pin-group.entry.js +163 -0
- package/dist/esm/vertex-viewer-pin-label_2.entry.js +271 -0
- package/dist/esm/vertex-viewer-pin-tool.entry.js +318 -0
- package/dist/esm/vertex-viewer-transform-widget.entry.js +13268 -0
- package/dist/esm/vertex-viewer-view-cube.entry.js +8 -7
- package/dist/esm/vertex-viewer.entry.js +118 -51
- package/dist/esm/viewer.js +4 -4
- package/dist/esm/{viewport-5cc7b128.js → viewport-e39e2eba.js} +14 -4
- package/dist/types/__mocks__/regl-shape.d.ts +5 -0
- package/dist/types/__mocks__/regl.d.ts +5 -0
- package/dist/types/components/scene-tree/lib/controller.d.ts +13 -1
- package/dist/types/components/scene-tree/lib/errors.d.ts +3 -1
- package/dist/types/components/scene-tree/lib/viewer-ops.d.ts +1 -0
- package/dist/types/components/scene-tree/scene-tree.d.ts +16 -4
- package/dist/types/components/scene-tree-table-cell/scene-tree-table-cell.d.ts +6 -2
- package/dist/types/components/scene-tree-table-layout/scene-tree-table-layout.d.ts +2 -0
- package/dist/types/components/viewer/viewer.d.ts +13 -1
- package/dist/types/components/viewer-dom-element/viewer-dom-element.d.ts +10 -2
- package/dist/types/components/viewer-dom-group/viewer-dom-group.d.ts +9 -1
- package/dist/types/components/viewer-icon/viewer-icon.d.ts +1 -1
- package/dist/types/components/viewer-pin-group/pin-renderer.d.ts +8 -0
- package/dist/types/components/viewer-pin-group/utils.d.ts +2 -0
- package/dist/types/components/viewer-pin-group/viewer-pin-group.d.ts +49 -0
- package/dist/types/components/viewer-pin-label/utils.d.ts +1 -0
- package/dist/types/components/viewer-pin-label/viewer-pin-label.d.ts +77 -0
- package/dist/types/components/viewer-pin-label-line/viewer-pin-label-line.d.ts +7 -0
- package/dist/types/components/viewer-pin-tool/viewer-pin-tool.d.ts +68 -0
- package/dist/types/components/viewer-transform-widget/__mocks__/widget.d.ts +11 -0
- package/dist/types/components/viewer-transform-widget/util.d.ts +5 -0
- package/dist/types/components/viewer-transform-widget/viewer-transform-widget.d.ts +81 -0
- package/dist/types/components/viewer-transform-widget/widget.d.ts +74 -0
- package/dist/types/components.d.ts +303 -12
- package/dist/types/interfaces.d.ts +1 -0
- package/dist/types/lib/cursors.d.ts +10 -0
- package/dist/types/lib/interactions/baseInteractionHandler.d.ts +4 -3
- package/dist/types/lib/interactions/interactionApi.d.ts +10 -1
- package/dist/types/lib/interactions/interactionApiOrthographic.d.ts +7 -0
- package/dist/types/lib/interactions/mouseInteractionHandler.d.ts +2 -2
- package/dist/types/lib/interactions/mouseInteractions.d.ts +6 -0
- package/dist/types/lib/pins/controller.d.ts +70 -0
- package/dist/types/lib/pins/interactions.d.ts +30 -0
- package/dist/types/lib/pins/model.d.ts +104 -0
- package/dist/types/lib/rendering/canvas.d.ts +1 -2
- package/dist/types/lib/scenes/camera.d.ts +10 -0
- package/dist/types/lib/scenes/colorMaterial.d.ts +1 -0
- package/dist/types/lib/scenes/queries.d.ts +4 -2
- package/dist/types/lib/transforms/axis-lines.d.ts +6 -0
- package/dist/types/lib/transforms/axis-rotation.d.ts +6 -0
- package/dist/types/lib/transforms/axis-translation.d.ts +6 -0
- package/dist/types/lib/transforms/controller.d.ts +17 -0
- package/dist/types/lib/transforms/drawable.d.ts +26 -0
- package/dist/types/lib/transforms/hits.d.ts +10 -0
- package/dist/types/lib/transforms/line.d.ts +31 -0
- package/dist/types/lib/transforms/mesh.d.ts +23 -0
- package/dist/types/lib/transforms/shape.d.ts +3 -0
- package/dist/types/lib/transforms/util.d.ts +2 -0
- package/dist/types/lib/types/frameCamera.d.ts +1 -0
- package/dist/types/lib/types/viewport.d.ts +8 -0
- package/dist/types/regl-shape.d.ts +26 -0
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/p-058632f4.js +4 -0
- package/dist/viewer/p-07aeee89.js +10 -0
- package/dist/viewer/{p-e75bba97.js → p-083f427e.js} +1 -1
- package/dist/viewer/{p-a455ae02.entry.js → p-08eda2b2.entry.js} +1 -1
- package/dist/viewer/{p-bcb66f97.js → p-096e60bd.js} +1 -1
- package/dist/viewer/p-0bc4b3f7.js +4 -0
- package/dist/viewer/p-148c5f1a.js +4 -0
- package/dist/viewer/p-1db9bd1a.entry.js +4 -0
- package/dist/viewer/{p-70ca1ea7.entry.js → p-1f251549.entry.js} +1 -1
- package/dist/viewer/p-29986489.js +4 -0
- package/dist/viewer/{p-cafa57a6.js → p-2e581b2a.js} +1 -1
- package/dist/viewer/{p-d2bcf788.entry.js → p-33daeb09.entry.js} +1 -1
- package/dist/viewer/p-39803f8f.js +4 -0
- package/dist/viewer/p-465a92d9.entry.js +4 -0
- package/dist/viewer/p-4a65ddb3.entry.js +4 -0
- package/dist/viewer/{p-099fe6ca.entry.js → p-4aaf02b4.entry.js} +1 -1
- package/dist/viewer/{p-31658489.entry.js → p-4c3a3738.entry.js} +1 -1
- package/dist/viewer/{p-e38458da.js → p-4d37d97c.js} +1 -1
- package/dist/viewer/p-4fdf8553.entry.js +4 -0
- package/dist/viewer/p-5679f46b.entry.js +4 -0
- package/dist/viewer/p-5809b400.js +4 -0
- package/dist/viewer/{p-fa9a0bed.js → p-58dacdce.js} +1 -1
- package/dist/viewer/p-61a042f0.entry.js +4 -0
- package/dist/viewer/{p-b8774c9c.js → p-6c377932.js} +1 -1
- package/dist/viewer/p-6d379d4a.js +4 -0
- package/dist/viewer/p-6d70b198.entry.js +4 -0
- package/dist/viewer/p-6e7e094a.entry.js +4 -0
- package/dist/viewer/{p-661f0612.js → p-70e5e8a8.js} +1 -1
- package/dist/viewer/p-74102b29.entry.js +32 -0
- package/dist/viewer/p-7a5a9a93.entry.js +4 -0
- package/dist/viewer/p-7c755e0e.entry.js +4 -0
- package/dist/viewer/{p-3a20a038.js → p-92fe4417.js} +1 -1
- package/dist/viewer/{p-7e0328aa.js → p-98e6a50e.js} +1 -1
- package/dist/viewer/{p-388a43f7.js → p-990f98c2.js} +1 -1
- package/dist/viewer/{p-487e054a.js → p-99352cf0.js} +1 -1
- package/dist/viewer/{p-1ca95f9a.entry.js → p-99799a71.entry.js} +1 -1
- package/dist/viewer/p-9acd1b44.js +4 -0
- package/dist/viewer/{p-69058178.js → p-9bcde9c8.js} +1 -1
- package/dist/viewer/{p-5b342e97.js → p-a2ef15e5.js} +1 -1
- package/dist/viewer/{p-61b1097b.entry.js → p-a32cc378.entry.js} +1 -1
- package/dist/viewer/p-a380f0c2.js +4 -0
- package/dist/viewer/{p-41028d3b.entry.js → p-af37b63e.entry.js} +1 -1
- package/dist/viewer/p-b6b727a6.entry.js +4 -0
- package/dist/viewer/p-c2e3312b.js +4 -0
- package/dist/viewer/{p-4717c98e.entry.js → p-c9f91798.entry.js} +1 -1
- package/dist/viewer/p-ca518dcb.entry.js +4 -0
- package/dist/viewer/p-d828fd18.entry.js +4 -0
- package/dist/viewer/p-d996b1d2.entry.js +4 -0
- package/dist/viewer/{p-3f0f83ad.js → p-db01460a.js} +1 -1
- package/dist/viewer/p-db716103.entry.js +4 -0
- package/dist/viewer/p-df8fbe56.js +4 -0
- package/dist/viewer/p-dfe5a97d.js +4 -0
- package/dist/viewer/p-e42cb163.js +4 -0
- package/dist/viewer/p-eb8e5db5.js +4 -0
- package/dist/viewer/{p-46459921.entry.js → p-ebb801c3.entry.js} +1 -1
- package/dist/viewer/p-ebd85d58.entry.js +4 -0
- package/dist/viewer/p-eefae62a.entry.js +4 -0
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +12 -10
- package/readme.md +4 -4
- package/dist/viewer/p-0a189e62.entry.js +0 -4
- package/dist/viewer/p-112455b1.js +0 -4
- package/dist/viewer/p-3561d910.js +0 -4
- package/dist/viewer/p-49d36e94.entry.js +0 -4
- package/dist/viewer/p-73a5eacc.entry.js +0 -4
- package/dist/viewer/p-77be081a.js +0 -4
- package/dist/viewer/p-809d09d9.js +0 -4
- package/dist/viewer/p-858bd2c7.entry.js +0 -4
- package/dist/viewer/p-89b66838.entry.js +0 -32
- package/dist/viewer/p-90bb0a1f.entry.js +0 -4
- package/dist/viewer/p-a93a63a9.js +0 -4
- package/dist/viewer/p-b043b076.entry.js +0 -4
- package/dist/viewer/p-b0ac6b3c.entry.js +0 -4
- package/dist/viewer/p-bcde5521.entry.js +0 -4
- package/dist/viewer/p-d1584404.js +0 -4
- package/dist/viewer/p-d32b54cb.js +0 -4
- package/dist/viewer/p-d3a20af4.entry.js +0 -4
- package/dist/viewer/p-d9f99f4d.entry.js +0 -4
- package/dist/viewer/p-ebd55df7.entry.js +0 -4
- package/dist/viewer/p-f0411993.entry.js +0 -4
- package/dist/viewer/p-f482325b.js +0 -10
- package/dist/viewer/p-fad9693e.js +0 -4
- package/dist/viewer/p-ffdeb08c.js +0 -4
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Point, Vector3 } from '@vertexvis/geometry';
|
|
2
|
+
import { Pin, PinModel, ViewerPinToolMode, ViewerPinToolType } from './model';
|
|
3
|
+
export interface Draggable {
|
|
4
|
+
id: string;
|
|
5
|
+
lastPoint?: Point.Point;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* The `PinController` is responsible for adding pin entities to the viewer canvas
|
|
9
|
+
*/
|
|
10
|
+
export declare class PinController {
|
|
11
|
+
private model;
|
|
12
|
+
private mode;
|
|
13
|
+
private type;
|
|
14
|
+
private draggable?;
|
|
15
|
+
constructor(model: PinModel, mode?: ViewerPinToolMode, type?: ViewerPinToolType);
|
|
16
|
+
/**
|
|
17
|
+
* Registers an entity to place on the canvas and places the pin on the associated part.
|
|
18
|
+
*
|
|
19
|
+
* @param pin The pin entity
|
|
20
|
+
* @returns A void promise
|
|
21
|
+
*/
|
|
22
|
+
addPin(pin: Pin): void;
|
|
23
|
+
/**
|
|
24
|
+
* Clears all entities and returns a promise that resolves with an empty list
|
|
25
|
+
* of pin results.
|
|
26
|
+
*/
|
|
27
|
+
clearPins(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Deregisters an entity and performs a pin if this entity was
|
|
30
|
+
* removed.
|
|
31
|
+
*
|
|
32
|
+
* @param entity The entity to remove.
|
|
33
|
+
* @returns A promise that resolves with the results after removing this
|
|
34
|
+
* entity.
|
|
35
|
+
*/
|
|
36
|
+
removePin(pin: Pin): void;
|
|
37
|
+
/**
|
|
38
|
+
* Registers a set of entities and adds a pin
|
|
39
|
+
*
|
|
40
|
+
* @param entities The pin entities to draw.
|
|
41
|
+
* @returns A promise that resolves with the results after registering these
|
|
42
|
+
* entities.
|
|
43
|
+
*/
|
|
44
|
+
setPins(pins: Set<Pin>): void;
|
|
45
|
+
/**
|
|
46
|
+
* Sets the set of entities to be placed with the model.
|
|
47
|
+
*
|
|
48
|
+
* @param pin A pin to set
|
|
49
|
+
* @returns `true` if the entity has been added.
|
|
50
|
+
*/
|
|
51
|
+
setPin(pin: Pin): void;
|
|
52
|
+
/**
|
|
53
|
+
* Updates an existing pin
|
|
54
|
+
* @param pin A pin to set
|
|
55
|
+
* @returns `true` if the entity has been updated, false otherwise
|
|
56
|
+
*/
|
|
57
|
+
updatePin(pin: Pin): void;
|
|
58
|
+
/**
|
|
59
|
+
* Tells the controller which pin is selected in the model
|
|
60
|
+
* @param pinId
|
|
61
|
+
*/
|
|
62
|
+
setSelectedPinId(pinId?: string): void;
|
|
63
|
+
getToolMode(): ViewerPinToolMode;
|
|
64
|
+
getToolType(): ViewerPinToolType;
|
|
65
|
+
setToolMode(mode: ViewerPinToolMode): void;
|
|
66
|
+
setToolType(type: ViewerPinToolType): void;
|
|
67
|
+
getDraggable(): Draggable | undefined;
|
|
68
|
+
setDraggable(draggable: Draggable | undefined): void;
|
|
69
|
+
updateDraggable(draggable: Draggable, worldPosition: Vector3.Vector3, partId?: string): void;
|
|
70
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Point, Vector3 } from '@vertexvis/geometry';
|
|
2
|
+
import { InteractionApi, InteractionHandler } from '../interactions';
|
|
3
|
+
import { PinController } from './controller';
|
|
4
|
+
import { Pin } from './model';
|
|
5
|
+
export declare class PinsInteractionHandler implements InteractionHandler {
|
|
6
|
+
private controller;
|
|
7
|
+
private element?;
|
|
8
|
+
private api?;
|
|
9
|
+
private cursor?;
|
|
10
|
+
private rectObserver;
|
|
11
|
+
private droppableSurfaces;
|
|
12
|
+
private get elementRect();
|
|
13
|
+
constructor(controller: PinController);
|
|
14
|
+
initialize(element: HTMLElement, api: InteractionApi): void;
|
|
15
|
+
dispose(): void;
|
|
16
|
+
getWorldPositionForPoint(pt: Point.Point): Promise<Vector3.Vector3 | undefined>;
|
|
17
|
+
handlePlacePin(pt: Point.Point, existingPin?: Pin): Promise<void>;
|
|
18
|
+
private handlePointerMove;
|
|
19
|
+
private getCusorType;
|
|
20
|
+
private handleDrag;
|
|
21
|
+
private handlePointerDown;
|
|
22
|
+
private handlePointerUp;
|
|
23
|
+
private addCursor;
|
|
24
|
+
private isDroppableSurface;
|
|
25
|
+
protected ifInitialized<R>(f: (data: {
|
|
26
|
+
element: HTMLElement;
|
|
27
|
+
api: InteractionApi;
|
|
28
|
+
}) => R): R;
|
|
29
|
+
private clearCursor;
|
|
30
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Disposable, Listener } from '@vertexvis/utils';
|
|
2
|
+
/**
|
|
3
|
+
* The types of pins that can be performed by this tool.
|
|
4
|
+
*/
|
|
5
|
+
export declare type ViewerPinToolType = 'pin' | 'pin-label';
|
|
6
|
+
/**
|
|
7
|
+
* The mode of the pin tool
|
|
8
|
+
*/
|
|
9
|
+
export declare type ViewerPinToolMode = 'edit' | 'view';
|
|
10
|
+
/**
|
|
11
|
+
* A model representing the state of pins.
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
import { Point, Vector3 } from '@vertexvis/geometry';
|
|
15
|
+
export interface SimplePin {
|
|
16
|
+
id: string;
|
|
17
|
+
worldPosition: Vector3.Vector3;
|
|
18
|
+
partId?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface PinLabel {
|
|
21
|
+
point: Point.Point;
|
|
22
|
+
text?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface TextPin extends SimplePin {
|
|
25
|
+
label: PinLabel;
|
|
26
|
+
}
|
|
27
|
+
export declare type Pin = TextPin | SimplePin;
|
|
28
|
+
export declare function isTextPin(pin?: Pin): pin is TextPin;
|
|
29
|
+
export declare function isDefaultPin(pin?: Pin): pin is Pin;
|
|
30
|
+
export declare class PinModel {
|
|
31
|
+
private entities;
|
|
32
|
+
private selectedPinId?;
|
|
33
|
+
private entitiesChanged;
|
|
34
|
+
private selectionChanged;
|
|
35
|
+
/**
|
|
36
|
+
* Registers an entity to be drawn in the canvas
|
|
37
|
+
*
|
|
38
|
+
* @param pin A pin entity to draw.
|
|
39
|
+
* @returns `true` if the entity has been added.
|
|
40
|
+
*/
|
|
41
|
+
addPin(pin: Pin, surpressEvent?: boolean): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Clears all registered entities from the model.
|
|
44
|
+
*/
|
|
45
|
+
clearPins(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Returns all the entities registered with the model.
|
|
48
|
+
*/
|
|
49
|
+
getPins(): Pin[];
|
|
50
|
+
/**
|
|
51
|
+
* Returns single entity by id if present in the model.
|
|
52
|
+
*/
|
|
53
|
+
getPinById(id: string): Pin | undefined;
|
|
54
|
+
getSelectedPinId(): string | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Unregisters an entity from the model.
|
|
57
|
+
*
|
|
58
|
+
* @param entity The entity to remove.
|
|
59
|
+
* @returns `true` if the entity was removed.
|
|
60
|
+
*/
|
|
61
|
+
removePin(entity: Pin): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Sets the set of entities to be placed with the model.
|
|
64
|
+
*
|
|
65
|
+
* @param entities A set of entities to draw.
|
|
66
|
+
* @returns `true` if the entity has been added.
|
|
67
|
+
*/
|
|
68
|
+
setPins(pins: Set<Pin>): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Sets the set of entities to be placed with the model.
|
|
71
|
+
*
|
|
72
|
+
* @param pin A pin to set
|
|
73
|
+
* @returns `true` if the entity has been set
|
|
74
|
+
*/
|
|
75
|
+
setPin(pin: Pin): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Sets the set of entities to be placed with the model.
|
|
78
|
+
*
|
|
79
|
+
* @param pin A pin to set
|
|
80
|
+
* @returns `true` if the entity has been set
|
|
81
|
+
*/
|
|
82
|
+
updatePin(pin: Pin): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Registers an event listener that will be invoked when the model's
|
|
85
|
+
* pin entities change.
|
|
86
|
+
*
|
|
87
|
+
* @param listener The listener to add.
|
|
88
|
+
* @returns A disposable that can be used to remove the listener.
|
|
89
|
+
*/
|
|
90
|
+
onEntitiesChanged(listener: Listener<Pin[]>): Disposable;
|
|
91
|
+
/**
|
|
92
|
+
* Registers an event listener that will be invoked when the model's
|
|
93
|
+
* pin selection changes
|
|
94
|
+
*
|
|
95
|
+
* @param listener The listener to add.
|
|
96
|
+
* @returns A disposable that can be used to remove the listener.
|
|
97
|
+
*/
|
|
98
|
+
onSelectionChange(listener: Listener<string | undefined>): Disposable;
|
|
99
|
+
/**
|
|
100
|
+
* Sets the selected pin Id
|
|
101
|
+
* @param pinId
|
|
102
|
+
*/
|
|
103
|
+
setSelectedPin(pinId?: string): void;
|
|
104
|
+
}
|
|
@@ -6,14 +6,13 @@ import { FrameRenderer } from './renderer';
|
|
|
6
6
|
export interface DrawFrame {
|
|
7
7
|
canvas: CanvasRenderingContext2D;
|
|
8
8
|
canvasDimensions: Dimensions.Dimensions;
|
|
9
|
-
dimensions?: Dimensions.Dimensions;
|
|
10
9
|
frame: Frame;
|
|
11
10
|
viewport: Viewport;
|
|
11
|
+
predicate?: () => boolean;
|
|
12
12
|
beforeDraw?: VoidFunction;
|
|
13
13
|
}
|
|
14
14
|
export declare type CanvasRenderer = FrameRenderer<DrawFrame, Frame>;
|
|
15
15
|
export declare type ReportTimingsCallback = (timing: Timing[]) => void;
|
|
16
16
|
export declare function measureCanvasRenderer(meter: TimingMeter, renderer: CanvasRenderer, logFrameRate: boolean, callback: ReportTimingsCallback, intervalMs?: number): CanvasRenderer;
|
|
17
17
|
export declare function createCanvasRenderer(): CanvasRenderer;
|
|
18
|
-
export declare function createHiddenCanvasRenderer(): CanvasRenderer;
|
|
19
18
|
export declare function debugStencilBuffer(stencilManager: StencilBufferManager, drawStencil: () => boolean, renderer: CanvasRenderer): CanvasRenderer;
|
|
@@ -72,6 +72,16 @@ export declare abstract class Camera {
|
|
|
72
72
|
* @param axis A normalized vector to rotate around.
|
|
73
73
|
*/
|
|
74
74
|
rotateAroundAxis(angleInRadians: number, axis: Vector3.Vector3): Camera;
|
|
75
|
+
/**
|
|
76
|
+
* Aligns the camera to the plane defined by the provided position and normal.
|
|
77
|
+
* This will place the camera at the provided position, set the up vector to
|
|
78
|
+
* the provided normal, and place the lookAt on the defined plane. The point
|
|
79
|
+
* chosen for the lookAt will be determined using the current view vector.
|
|
80
|
+
*
|
|
81
|
+
* @param position The position to place the camera at.
|
|
82
|
+
* @param normal The normal of the plane to align to.
|
|
83
|
+
*/
|
|
84
|
+
alignTo(position: Vector3.Vector3, normal: Vector3.Vector3): Camera;
|
|
75
85
|
/**
|
|
76
86
|
* Updates the `position` and `up` vectors of the camera to the given standard
|
|
77
87
|
* view.
|
|
@@ -28,6 +28,7 @@ interface MetadataQueryExpression {
|
|
|
28
28
|
type: 'metadata';
|
|
29
29
|
filter: string;
|
|
30
30
|
keys: string[];
|
|
31
|
+
exactMatch: boolean;
|
|
31
32
|
}
|
|
32
33
|
interface AllSelectedQueryExpression {
|
|
33
34
|
type: 'all-selected';
|
|
@@ -62,7 +63,7 @@ export declare class RootQuery implements ItemQuery<SingleQuery> {
|
|
|
62
63
|
withItemId(id: string): SingleQuery;
|
|
63
64
|
withSuppliedId(id: string): SingleQuery;
|
|
64
65
|
withSceneTreeRange(range: SceneTreeRange): SceneTreeRangeQuery;
|
|
65
|
-
withMetadata(filter: string, keys: string[]): MetadataQuery;
|
|
66
|
+
withMetadata(filter: string, keys: string[], exactMatch: boolean): MetadataQuery;
|
|
66
67
|
withSelected(): AllSelectedQuery;
|
|
67
68
|
withPoint(point: Point.Point): PointQuery;
|
|
68
69
|
}
|
|
@@ -77,7 +78,8 @@ export declare class SceneTreeRangeQuery implements TerminalQuery {
|
|
|
77
78
|
export declare class MetadataQuery implements TerminalQuery {
|
|
78
79
|
private filter;
|
|
79
80
|
private keys;
|
|
80
|
-
|
|
81
|
+
private exactMatch;
|
|
82
|
+
constructor(filter: string, keys: string[], exactMatch: boolean);
|
|
81
83
|
build(): MetadataQueryExpression;
|
|
82
84
|
}
|
|
83
85
|
export declare class AllSelectedQuery implements TerminalQuery {
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Matrix4, Vector3 } from '@vertexvis/geometry';
|
|
2
|
+
import { FrameCameraBase } from '../types';
|
|
3
|
+
import { AxisLinePoints, RotationLinePoints } from './line';
|
|
4
|
+
import { TriangleMesh } from './mesh';
|
|
5
|
+
export declare function axisPositions(widgetTransform: Matrix4.Matrix4, camera: FrameCameraBase, arrowMesh: TriangleMesh): AxisLinePoints;
|
|
6
|
+
export declare function rotationAxisPositions(camera: FrameCameraBase, rotationMesh?: TriangleMesh, towardPoint?: Vector3.Vector3, triangleSize?: number): RotationLinePoints | undefined;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Matrix4 } from '@vertexvis/geometry';
|
|
2
|
+
import { FrameCameraBase } from '../types';
|
|
3
|
+
import { TriangleMeshPoints } from './mesh';
|
|
4
|
+
export declare function xAxisRotationPositions(widgetTransform: Matrix4.Matrix4, camera: FrameCameraBase, triangleSize?: number): TriangleMeshPoints;
|
|
5
|
+
export declare function yAxisRotationPositions(widgetTransform: Matrix4.Matrix4, camera: FrameCameraBase, triangleSize?: number): TriangleMeshPoints;
|
|
6
|
+
export declare function zAxisRotationPositions(widgetTransform: Matrix4.Matrix4, camera: FrameCameraBase, triangleSize?: number): TriangleMeshPoints;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Matrix4 } from '@vertexvis/geometry';
|
|
2
|
+
import { FrameCameraBase } from '../types';
|
|
3
|
+
import { TriangleMeshPoints } from './mesh';
|
|
4
|
+
export declare function xAxisArrowPositions(widgetTransform: Matrix4.Matrix4, camera: FrameCameraBase, triangleSize?: number): TriangleMeshPoints;
|
|
5
|
+
export declare function yAxisArrowPositions(widgetTransform: Matrix4.Matrix4, camera: FrameCameraBase, triangleSize?: number): TriangleMeshPoints;
|
|
6
|
+
export declare function zAxisArrowPositions(widgetTransform: Matrix4.Matrix4, camera: FrameCameraBase, triangleSize?: number): TriangleMeshPoints;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Matrix4, Vector3 } from '@vertexvis/geometry';
|
|
2
|
+
import { StreamApi } from '@vertexvis/stream-api';
|
|
3
|
+
export declare class TransformController {
|
|
4
|
+
private stream;
|
|
5
|
+
private isTransforming;
|
|
6
|
+
private currentDelta;
|
|
7
|
+
constructor(stream: StreamApi);
|
|
8
|
+
dispose(): Promise<void>;
|
|
9
|
+
beginTransform(delta?: Matrix4.Matrix4): Promise<void>;
|
|
10
|
+
updateTransform(delta: Matrix4.Matrix4): Promise<void>;
|
|
11
|
+
updateTranslation(delta: Vector3.Vector3): Promise<void>;
|
|
12
|
+
getCurrentDelta(): Matrix4.Matrix4 | undefined;
|
|
13
|
+
endTransform(): Promise<void>;
|
|
14
|
+
endInteraction(): Promise<void>;
|
|
15
|
+
clearTransform(): void;
|
|
16
|
+
private toDeltaTransform;
|
|
17
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Point, Rectangle, Vector3 } from '@vertexvis/geometry';
|
|
2
|
+
import { Color } from '@vertexvis/utils';
|
|
3
|
+
import { ShapeProps } from 'regl-shape';
|
|
4
|
+
import { CreateShape, DrawShape } from '../../lib/transforms/shape';
|
|
5
|
+
import { Viewport } from '../types';
|
|
6
|
+
export interface DrawablePoints {
|
|
7
|
+
valid: boolean;
|
|
8
|
+
shortestDistanceFrom(vector: Vector3.Vector3): number;
|
|
9
|
+
toWorldArray(): Vector3.Vector3[];
|
|
10
|
+
toArray(): Point.Point[];
|
|
11
|
+
}
|
|
12
|
+
export declare abstract class Drawable<T extends DrawablePoints = DrawablePoints> {
|
|
13
|
+
protected createShape: CreateShape;
|
|
14
|
+
identifier: string;
|
|
15
|
+
points: T;
|
|
16
|
+
outlineColor: string;
|
|
17
|
+
fillColor?: string | undefined;
|
|
18
|
+
shapeProps: Partial<ShapeProps>;
|
|
19
|
+
protected pointsArray: Float64Array;
|
|
20
|
+
initialFillColor?: string;
|
|
21
|
+
draw: DrawShape;
|
|
22
|
+
constructor(createShape: CreateShape, identifier: string, points: T, outlineColor: string, fillColor?: string | undefined, shapeProps?: Partial<ShapeProps>);
|
|
23
|
+
updateFillColor(color?: Color.Color | string): void;
|
|
24
|
+
updatePoints(points?: T): void;
|
|
25
|
+
}
|
|
26
|
+
export declare function computeDrawable2dBounds(viewport: Viewport, ...elements: Drawable[]): Rectangle.Rectangle;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Point, Vector3 } from '@vertexvis/geometry';
|
|
2
|
+
import { Frame, Viewport } from '../../lib/types';
|
|
3
|
+
import { Drawable } from './drawable';
|
|
4
|
+
import { TriangleMesh } from './mesh';
|
|
5
|
+
export declare function testDrawable(drawable: Drawable, frame: Frame, viewport: Viewport, point: Point.Point): boolean;
|
|
6
|
+
export declare function testTriangleMesh(mesh: TriangleMesh, frame: Frame, viewport: Viewport, point: Point.Point): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Adapted from https://en.wikipedia.org/wiki/M%C3%B6ller%E2%80%93Trumbore_intersection_algorithm.
|
|
9
|
+
*/
|
|
10
|
+
export declare function testTriangle(points: Vector3.Vector3[], frame: Frame, viewport: Viewport, point: Point.Point): boolean;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Point, Vector3 } from '@vertexvis/geometry';
|
|
2
|
+
import { Color } from '@vertexvis/utils';
|
|
3
|
+
import { ShapeProps } from 'regl-shape';
|
|
4
|
+
import { CreateShape } from '../../lib/transforms/shape';
|
|
5
|
+
import { Drawable, DrawablePoints } from './drawable';
|
|
6
|
+
export declare class AxisLinePoints implements DrawablePoints {
|
|
7
|
+
valid: boolean;
|
|
8
|
+
worldOrigin: Vector3.Vector3;
|
|
9
|
+
worldEnd: Vector3.Vector3;
|
|
10
|
+
origin: Point.Point;
|
|
11
|
+
end: Point.Point;
|
|
12
|
+
constructor(valid: boolean, worldOrigin: Vector3.Vector3, worldEnd: Vector3.Vector3, origin: Point.Point, end: Point.Point);
|
|
13
|
+
shortestDistanceFrom(vector: Vector3.Vector3): number;
|
|
14
|
+
toWorldArray(): Vector3.Vector3[];
|
|
15
|
+
toArray(): Point.Point[];
|
|
16
|
+
}
|
|
17
|
+
export declare class AxisLine extends Drawable<AxisLinePoints> {
|
|
18
|
+
constructor(createShape: CreateShape, identifier: string, points: AxisLinePoints, outlineColor?: Color.Color | string, fillColor?: Color.Color | string, shapeProps?: Partial<ShapeProps>);
|
|
19
|
+
}
|
|
20
|
+
export declare class RotationLinePoints implements DrawablePoints {
|
|
21
|
+
valid: boolean;
|
|
22
|
+
world: Vector3.Vector3[];
|
|
23
|
+
ndc: Vector3.Vector3[];
|
|
24
|
+
constructor(valid: boolean, world: Vector3.Vector3[], ndc: Vector3.Vector3[]);
|
|
25
|
+
shortestDistanceFrom(vector: Vector3.Vector3): number;
|
|
26
|
+
toWorldArray(): Vector3.Vector3[];
|
|
27
|
+
toArray(): Point.Point[];
|
|
28
|
+
}
|
|
29
|
+
export declare class RotationLine extends Drawable<RotationLinePoints> {
|
|
30
|
+
constructor(createShape: CreateShape, identifier: string, points: RotationLinePoints, outlineColor?: Color.Color | string, shapeProps?: Partial<ShapeProps>);
|
|
31
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Point, Vector3 } from '@vertexvis/geometry';
|
|
2
|
+
import { Color } from '@vertexvis/utils';
|
|
3
|
+
import { ShapeProps } from 'regl-shape';
|
|
4
|
+
import { CreateShape } from '../../lib/transforms/shape';
|
|
5
|
+
import { Drawable, DrawablePoints } from './drawable';
|
|
6
|
+
export declare class TriangleMeshPoints implements DrawablePoints {
|
|
7
|
+
valid: boolean;
|
|
8
|
+
worldBase: Vector3.Vector3;
|
|
9
|
+
worldLeft: Vector3.Vector3;
|
|
10
|
+
worldRight: Vector3.Vector3;
|
|
11
|
+
worldTip: Vector3.Vector3;
|
|
12
|
+
base: Point.Point;
|
|
13
|
+
left: Point.Point;
|
|
14
|
+
right: Point.Point;
|
|
15
|
+
tip: Point.Point;
|
|
16
|
+
constructor(valid: boolean, worldBase: Vector3.Vector3, worldLeft: Vector3.Vector3, worldRight: Vector3.Vector3, worldTip: Vector3.Vector3, base: Point.Point, left: Point.Point, right: Point.Point, tip: Point.Point);
|
|
17
|
+
shortestDistanceFrom(vector: Vector3.Vector3): number;
|
|
18
|
+
toWorldArray(): Vector3.Vector3[];
|
|
19
|
+
toArray(): Point.Point[];
|
|
20
|
+
}
|
|
21
|
+
export declare class TriangleMesh extends Drawable<TriangleMeshPoints> {
|
|
22
|
+
constructor(createShape: CreateShape, identifier: string, points: TriangleMeshPoints, outlineColor?: Color.Color | string, fillColor?: Color.Color | string, shapeProps?: Partial<ShapeProps>);
|
|
23
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { vertexvis } from '@vertexvis/frame-streaming-protos';
|
|
2
2
|
import { BoundingBox, Vector3 } from '@vertexvis/geometry';
|
|
3
|
+
export declare type FrameCameraType = 'perspective' | 'orthographic';
|
|
3
4
|
export interface PerspectiveFrameCamera {
|
|
4
5
|
position: Vector3.Vector3;
|
|
5
6
|
lookAt: Vector3.Vector3;
|
|
@@ -39,6 +39,14 @@ export declare class Viewport implements Dimensions.Dimensions {
|
|
|
39
39
|
* @returns A new viewport.
|
|
40
40
|
*/
|
|
41
41
|
static fromDimensions(dimensions: Dimensions.Dimensions): Viewport;
|
|
42
|
+
/**
|
|
43
|
+
* Transforms a normalized device coordinate to a 2D point within the
|
|
44
|
+
* viewport.
|
|
45
|
+
*
|
|
46
|
+
* @param ndc A 2D point in NDC.
|
|
47
|
+
* @returns A 2D point in the coordinate space of the viewport.
|
|
48
|
+
*/
|
|
49
|
+
transformNdcPointToViewport(ndc: Point.Point): Point.Point;
|
|
42
50
|
/**
|
|
43
51
|
* Transforms a normalized device coordinate to a 2D point within the
|
|
44
52
|
* viewport.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
declare module 'array-bounds' {
|
|
2
|
+
export type Bounds = [number, number, number, number];
|
|
3
|
+
const getBounds: (array: Float64Array, dimension: number) => Bounds;
|
|
4
|
+
export default getBounds;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
declare module 'array-normalize' {
|
|
8
|
+
import { Bounds } from 'array-bounds';
|
|
9
|
+
const normalize: (
|
|
10
|
+
array: Float64Array,
|
|
11
|
+
dimension: number,
|
|
12
|
+
bounds: Bounds
|
|
13
|
+
) => void;
|
|
14
|
+
export default normalize;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
declare module 'color-normalize' {
|
|
18
|
+
export type InputColor =
|
|
19
|
+
| string
|
|
20
|
+
| Float32Array
|
|
21
|
+
| Uint8Array
|
|
22
|
+
| number[]
|
|
23
|
+
| number;
|
|
24
|
+
const rgba: (color: InputColor, type: 'uint8') => Uint8Array;
|
|
25
|
+
export default rgba;
|
|
26
|
+
}
|
package/dist/viewer/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
2
|
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
export{c as ColorMaterial,l as LoadableResource,S as Scene,a as SynchronizedClock}from"./p-
|
|
4
|
+
export{c as ColorMaterial,l as LoadableResource,S as Scene,a as SynchronizedClock}from"./p-6d379d4a.js";export{C as CursorManager,l as labelPinCursor,m as measurementCursor,a as measurementWithArrowCursor,p as pinCursor}from"./p-058632f4.js";export{M as MeasurementController,a as MeasurementEntity}from"./p-9bcde9c8.js";export{M as MeasurementModel}from"./p-a2ef15e5.js";export{M as MeasurementOverlayManager}from"./p-db01460a.js";export{m as makeMinimumDistanceResult}from"./p-096e60bd.js";export{A as AngleUnits,f as AreaUnits,D as DistanceUnits,F as FrameCameraBase,a as ReceivedFrame,b as ReceivedFrameImage,c as ReceivedFrameScene,d as ReceivedOrthographicCamera,e as ReceivedPerspectiveCamera}from"./p-e42cb163.js";export{E as EntityType}from"./p-df8fbe56.js";export{A as ArrowMarkup,C as CircleMarkup,F as FreeformMarkup}from"./p-4d37d97c.js";export{V as Viewport}from"./p-29986489.js";import"./p-083f427e.js";import"./p-70e5e8a8.js";import"./p-6c377932.js";import"./p-dfe5a97d.js";import"./p-92fe4417.js";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/**!
|
|
2
|
+
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import{E as s}from"./p-083f427e.js";class t{constructor(){this.onChanged=new s,this.cursors=[],this.nextId=0}add(s,a=t.NORMAL_PRIORITY){const h=++this.nextId,i={id:h,cursor:s,priority:a,dispose:()=>this.remove(h)};return this.cursors.push(i),this.onChanged.emit(),i}remove(s){const t=this.cursors.findIndex((({id:t})=>t===s));t>=0&&(this.cursors.splice(t,1),this.onChanged.emit())}getActiveCursor(){var s;return null===(s=this.cursors.concat().reverse().sort(((s,t)=>t.priority-s.priority))[0])||void 0===s?void 0:s.cursor}}t.LOW_PRIORITY=0,t.NORMAL_PRIORITY=10,t.HIGH_PRIORITY=20;const a={url:"data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M21.5 8h-19a.5.5 0 00-.5.5v6a.5.5 0 00.5.5h19a.5.5 0 00.5-.5v-6a.5.5 0 00-.5-.5zm-.5 6H3V9h3v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2z' stroke='%23fff' stroke-width='1.25' stroke-opacity='0.5' stroke-miterlimit='10' shape-rendering='crispEdges'/%3E%3Cpath d='M21.5 8h-19a.5.5 0 00-.5.5v6a.5.5 0 00.5.5h19a.5.5 0 00.5-.5v-6a.5.5 0 00-.5-.5zm-.5 6H3V9h3v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2z' shape-rendering='crispEdges'/%3E%3C/svg%3E",offsetX:-24,offsetY:-24},h={url:"data:image/svg+xml;utf8,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bstroke:%23fff;stroke-miterlimit:10;stroke-width:2px;%7D.cls-2%7Bfill:%23fff;%7D.cls-2,.cls-3%7Bfill-rule:evenodd;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M27.46,21h-19a.5.5,0,0,0-.5.5v6a.5.5,0,0,0,.5.5h19a.5.5,0,0,0,.5-.5v-6A.5.5,0,0,0,27.46,21ZM27,27H9V22h3v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2Z'/%3E%3Cpath d='M27.46,21h-19a.5.5,0,0,0-.5.5v6a.5.5,0,0,0,.5.5h19a.5.5,0,0,0,.5-.5v-6A.5.5,0,0,0,27.46,21ZM27,27H9V22h3v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2Z'/%3E%3Cpath class='cls-2' d='M1,17V1L12.59,12.62H5.81l-.41.12Z'/%3E%3Cpath class='cls-2' d='M10.08,17.69l-3.6,1.53L1.8,8.14,5.48,6.58Z'/%3E%3Cpath class='cls-3' d='M8.75,17l-1.84.77-3.1-7.37,1.84-.78Z'/%3E%3Cpath class='cls-3' d='M2,3.41V14.6l3-2.87.43-.14h4.76Z'/%3E%3C/svg%3E",offsetX:-30,offsetY:-30},i={url:"data:image/svg+xml,%3Csvg width='36px' height='36px' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M12,2 C7.581722,2 4,5.581722 4,10 C4.00435812,11.7714969 4.41127263,13.5188357 5.19,15.11 C6.15517666,17.0237439 7.49502409,18.7240579 9.13,20.11 C9.86916736,20.7592093 10.6620019,21.3446357 11.5,21.86 L12,22.14 L12.5,21.86 C13.8750156,21.0120029 15.1296156,19.9827599 16.23,18.8 C17.2698142,17.7023203 18.1394508,16.4551671 18.81,15.1 C19.5872532,13.5118707 19.9941287,11.7681184 20,10 C20,5.581722 16.418278,2 12,2 Z M12,13 C10.3431458,13 9,11.6568542 9,10 C9,8.34314575 10.3431458,7 12,7 C13.6568542,7 15,8.34314575 15,10 C15,10.7956495 14.6839295,11.5587112 14.1213203,12.1213203 C13.5587112,12.6839295 12.7956495,13 12,13 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='icons/pin-filled' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cmask id='mask-2' fill='white'%3E%3Cuse xlink:href='%23path-1'%3E%3C/use%3E%3C/mask%3E%3Cuse id='Shape' stroke='%23FAFAFA' fill='%23BDBDBD' fill-rule='nonzero' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/svg%3E",offsetX:17,offsetY:22},e={url:"data:image/svg+xml,%3Csvg width='36px' height='36px' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 16 24' %3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;%7D.cls-2%7Bfill:%23616161;%7D.cls-3%7Bclip-path:url(%23clip-path);%7D%3C/style%3E%3CclipPath id='clip-path'%3E%3Ccircle cx='-576.76' cy='-107.26' r='4'/%3E%3C/clipPath%3E%3C/defs%3E%3Cpath d='M8,16H8a.48.48,0,0,1-.42-.23L5.75,13H3.51A1.5,1.5,0,0,1,2,11.5v-8A1.5,1.5,0,0,1,3.51,2h9A1.51,1.51,0,0,1,14,3.5v8a1.5,1.5,0,0,1-1.5,1.5H10.22L8.39,15.81A.5.5,0,0,1,8,16ZM3.51,3a.5.5,0,0,0-.5.5v8a.5.5,0,0,0,.5.5H6a.5.5,0,0,1,.42.23L8,14.61l1.55-2.38A.5.5,0,0,1,10,12h2.56a.5.5,0,0,0,.5-.5v-8a.51.51,0,0,0-.5-.5Z'/%3E%3Ccircle cx='8.01' cy='20' r='2'/%3E%3C/svg%3E%0A",offsetX:17,offsetY:29};export{t as C,h as a,e as l,a as m,i as p}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**!
|
|
2
|
+
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import{c as r}from"./p-dfe5a97d.js";var f=r((function(r){
|
|
5
|
+
/*!
|
|
6
|
+
Copyright (c) 2018 Jed Watson.
|
|
7
|
+
Licensed under the MIT License (MIT), see
|
|
8
|
+
http://jedwatson.github.io/classnames
|
|
9
|
+
*/
|
|
10
|
+
!function(){var f={}.hasOwnProperty;function e(){for(var r=[],i=0;i<arguments.length;i++){var n=arguments[i];if(n){var a=typeof n;if("string"===a||"number"===a)r.push(n);else if(Array.isArray(n)){if(n.length){var o=e.apply(null,n);o&&r.push(o)}}else if("object"===a)if(n.toString===Object.prototype.toString)for(var t in n)f.call(n,t)&&n[t]&&r.push(t);else r.push(n.toString())}}return r.join(" ")}r.exports?(e.default=e,r.exports=e):window.classNames=e}()}));export{f as c}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**!
|
|
2
2
|
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{_ as r,n,g as t,f as e,c as u,e as i}from"./p-
|
|
4
|
+
import{_ as r,n,g as t,f as e,c as u,e as i}from"./p-70e5e8a8.js";function o(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return u(this,void 0,void 0,(function(){var n,t,e;return i(this,(function(u){switch(u.label){case 0:return"number"!=typeof(n=r[0])?[3,4]:(t=r[1],e=new Promise((function(r){return setTimeout(r,n)})),null==t?[3,2]:[4,e]);case 1:return u.sent(),[2,t];case 2:return[2,e];case 3:return[3,5];case 4:return[2,Promise.reject(new TypeError("First argument to `delay` must be a number"))];case 5:return[2]}}))}))}var c=Object.freeze({__proto__:null,delay:o,timeout:function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return u(this,void 0,void 0,(function(){var n,t,e,u,o;return i(this,(function(i){switch(i.label){case 0:return"number"!=typeof(n=r[0])?[3,4]:(t=r[1],u=new Promise((function(r,t){e=setTimeout((function(){return t(new Error("Promise timed out after ".concat(n,"ms")))}),n)})),null==t?[3,2]:[4,Promise.race([t,u])]);case 1:return o=i.sent(),clearTimeout(e),[2,o];case 2:return[2,u];case 3:return[3,5];case 4:return[2,Promise.reject("First argument to `timeout` must be a number")];case 5:return[2]}}))}))},retry:function(r,n){return void 0===n&&(n={}),u(this,void 0,void 0,(function(){function t(r,n,e){return u(this,void 0,void 0,(function(){var u,c,f,a,s;return i(this,(function(i){switch(i.label){case 0:c=void 0===(u=e.delaysInMs)?[]:u,a=void 0===(f=e.maxRetries)?1:f,i.label=1;case 1:return i.trys.push([1,4,,8]),[4,o(0===r||0===c.length?0:c[Math.min(r-1,c.length-1)])];case 2:return i.sent(),[4,n()];case 3:return[2,i.sent()];case 4:return s=i.sent(),r<a?[4,t(r+1,n,e)]:[3,6];case 5:return[2,i.sent()];case 6:throw s;case 7:return[3,8];case 8:return[2]}}))}))}return i(this,(function(){return[2,t(0,r,n)]}))}))},abort:function(r,n){return u(this,void 0,void 0,(function(){var t,e,o;return i(this,(function(c){switch(c.label){case 0:return t=new AbortController,e=function(r,n,t){return u(this,void 0,void 0,(function(){return i(this,(function(){return[2,new Promise((function(e){r.addEventListener(n,(function t(u){r.removeEventListener(n,t),e(u)}),t)}))]}))}))}(r,"abort",{signal:t.signal}),[4,Promise.race([n,e])];case 1:return(f=o=c.sent())instanceof Event&&"abort"===f.type?[2,{aborted:!0}]:(t.abort(),[2,{aborted:!1,result:o}])}var f}))}))}}),f=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/,a=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(.+)\s*\)/,s=/^(#|0x)?([A-Fa-f0-9]{6})$/,v=function(r,n,t,e){return void 0===e&&(e=255),{r,g:n,b:t,a:e}},l=function(r){var n=16777215&r;return v(n>>16&255,n>>8&255,255&n)},d=function(r){var n=s.exec(r);if(null!=n)return l(parseInt(n[2],16))},h=function(r){var n=r.toString(16);return 1===n.length?"0"+n:n},p=Object.freeze({__proto__:null,create:v,fromNumber:l,fromHexString:d,fromCss:function(r){var n=f.exec(r);if(null!=n)return v(parseInt(n[1]),parseInt(n[2]),parseInt(n[3]));var t=a.exec(r);return null!=t?v(parseInt(t[1]),parseInt(t[2]),parseInt(t[3]),Math.floor(255*parseFloat(t[4]))):s.test(r)?d(r):void 0},fromArray:function(r){return v(r[0],r[1],r[2],r[3])},isInvisible:function(r){return 0===r.a},isOpaque:function(r){return 255===r.a},toHexString:function(r){return"#".concat(h(r.r)).concat(h(r.g)).concat(h(r.b))}}),b=function(n){function t(r){var e=n.call(this,"Validation error mapping object.")||this;return e.errors=r,Object.setPrototypeOf(e,t.prototype),e}return r(t,n),t}(Error);function y(r){return function(n){return null!=n?n:{errors:["".concat(r," is required.")]}}}function m(r,n){return function(t){return n(t[r])}}function j(r){return null!=r&&r.hasOwnProperty("errors")}function w(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return function(n){return r.reduce((function(r,n){return j(r)?r:n(r)}),n)}}var _=Object.freeze({__proto__:null,MapperValidationError:b,required:y,requiredProp:function(r){return function(n){var t=n[r];return null!=t?t:{errors:["".concat(r," is required")]}}},ifDefined:function(r){return function(n){return null!=n?r(n):n}},getProp:function(r){return function(n){return n[r]}},mapProp:m,mapRequiredProp:function(r,n){return m(r,w(y(r.toString()),n))},mapArray:function(r){return function(e){if(e.length>0){var u=n(e),i=u[0],o=u.slice(1),c=r(i);return o.reduce((function(e,u){var i=r(u);return j(i)?j(e)?{errors:t(t([],n(e.errors),!1),n(i.errors),!1)}:i:j(e)?e:t(t([],n(e),!1),[i],!1)}),j(c)?c:[c])}return[]}},isInvalid:j,ifInvalidThrow:function(r){return function(n){var t=r(n);if(j(t))throw new b(t.errors);return t}},read:function(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return function(e){return r.reduce((function(r,u){var i=u(e);return j(i)?j(r)?{errors:t(t([],n(r.errors),!1),n(i.errors),!1)}:i:j(r)?r:t(t([],n(r),!1),[i],!1)}),[])}},defineMapper:function(r,n){return function(t){var e,u,i=r(t);return u=n,j(e=i)?e:u(e)}},compose:w,pickFirst:function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return function(n){return r.reduce((function(r,t){return void 0===r?t(n):r}),void 0)}}});
|
|
5
5
|
/*!
|
|
6
6
|
* isobject <https://github.com/jonschlinkert/isobject>
|
|
7
7
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
2
|
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{r,h as o}from"./p-
|
|
4
|
+
import{r,h as o}from"./p-2e581b2a.js";let t=class{constructor(o){r(this,o),this.placement="bottom-center",this.direction="horizontal",this.animationsDisabled=!1,this.animationMs=1e3}render(){return o("vertex-viewer-toolbar",{placement:this.placement,direction:this.direction},o("vertex-viewer-toolbar-group",{class:"group",direction:this.direction,"data-direction":this.direction},o("vertex-viewer-button",{class:"group-item btn","data-test-id":"fit-all-btn",onClick:()=>this.viewAll()},o("vertex-viewer-icon",{class:"icon",name:"fit-all",size:"md"}))))}async viewAll(){var r;const o=await(null===(r=this.viewer)||void 0===r?void 0:r.scene()),t=this.animationsDisabled?void 0:{milliseconds:this.animationMs};null==o||o.camera().viewAll().render({animation:t})}};t.style=":host{--viewer-toolbar-group-gap:0.5rem;--viewer-toolbar-group-background:rgba(245, 245, 245, 0.95);--viewer-toolbar-group-border-radius:0.25rem;--viewer-toolbar-group-box-shadow:-1px 0 2px rgba(0, 0, 0, 0.12),\n 1px 0 2px rgba(0, 0, 0, 0.13);--viewer-toolbar-group-padding:0.25rem;--viewer-toolbar-group-item-gap:0.25rem}.group{background:var(--viewer-toolbar-group-background);border-radius:var(--viewer-toolbar-group-border-radius);box-shadow:var(--viewer-toolbar-group-box-shadow);padding:var(--viewer-toolbar-group-padding)}.group[data-direction='horizontal']:not(:first-child){margin-left:var(--viewer-toolbar-group-gap)}.group[data-direction='horizontal'] .group-item:not(:first-child){margin-left:var(--viewer-toolbar-group-item-gap)}.group[data-direction='vertical']:not(:first-child){margin-top:var(--viewer-toolbar-group-gap)}.group[data-direction='vertical'] .group-item:not(:first-child){margin-top:var(--viewer-toolbar-group-item-gap)}.btn{color:var(--neutral-800);padding:0.125rem;border-radius:0.125rem}.btn:hover{background:var(--neutral-300)}";export{t as vertex_viewer_default_toolbar}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
2
|
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{v as t}from"./p-
|
|
4
|
+
import{v as t}from"./p-70e5e8a8.js";function i(i,n){return{type:"minimum-distance",point1:i,point2:n,distance:t.distance(i,n)}}export{i as m}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/**!
|
|
2
|
+
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import{v as t}from"./p-70e5e8a8.js";import{b as s}from"./p-083f427e.js";class i{constructor(i){var e,r,o,l;this.start=null!==(e=i.start)&&void 0!==e?e:t.origin(),this.end=null!==(r=i.end)&&void 0!==r?r:t.origin(),this.invalid=null!==(o=i.invalid)&&void 0!==o&&o,this.id=null!==(l=i.id)&&void 0!==l?l:`measurement--${s.create()}`}getWorldDistance(){return t.distance(this.start,this.end)}getRealDistance(t){return t.convertRealValueToWorld(this.getWorldDistance())}}export{i as D}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/**!
|
|
2
|
+
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import{E as t}from"./p-083f427e.js";class s{constructor(t,s="view",i="pin"){this.model=t,this.mode=s,this.type=i}addPin(t){this.model.addPin(t)}clearPins(){this.model.clearPins()}removePin(t){this.model.removePin(t)}setPins(t){this.model.setPins(t)}setPin(t){this.model.setPin(t)}updatePin(t){this.model.updatePin(t)}setSelectedPinId(t){this.model.setSelectedPin(t)}getToolMode(){return this.mode}getToolType(){return this.type}setToolMode(t){this.mode=t}setToolType(t){this.type=t}getDraggable(){return this.draggable}setDraggable(t){this.draggable=t}updateDraggable(t,s,i){null!=this.draggable&&(this.draggable=t);const e=this.model.getPinById(t.id);null!=e&&this.updatePin(Object.assign(Object.assign({},e),{worldPosition:s,partId:i}))}}function i(t){return null!=t&&null!=t.label}function e(t){return null!=t&&null==t.label}class h{constructor(){this.entities={},this.entitiesChanged=new t,this.selectionChanged=new t}addPin(t,s=!1){return null==this.entities[t.id]&&(this.entities=Object.assign(Object.assign({},this.entities),{[t.id]:t}),s||this.entitiesChanged.emit(this.getPins()),!0)}clearPins(){this.getPins().forEach((t=>this.removePin(t)))}getPins(){return Object.keys(this.entities).map((t=>this.entities[t]))}getPinById(t){return this.entities[t]}getSelectedPinId(){return this.selectedPinId}removePin(t){return null!=this.entities[t.id]&&(delete this.entities[t.id],this.entitiesChanged.emit(this.getPins()),!0)}setPins(t){return this.clearPins(),t.forEach((t=>this.addPin(t,!0))),this.entitiesChanged.emit(this.getPins()),!0}setPin(t){return this.entities=Object.assign(Object.assign({},this.entities),{[t.id]:t}),this.entitiesChanged.emit(this.getPins()),!0}updatePin(t){return null!=this.getPinById(t.id)&&(this.entities=Object.assign(Object.assign({},this.entities),{[t.id]:t}),this.entitiesChanged.emit(this.getPins()),!0)}onEntitiesChanged(t){return this.entitiesChanged.on(t)}onSelectionChange(t){return this.selectionChanged.on(t)}setSelectedPin(t){this.selectedPinId=t,this.selectionChanged.emit(this.selectedPinId)}}export{h as P,s as a,i as b,e as i}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/**!
|
|
2
|
+
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import{r as e,c as t,h as s,H as n,g as a}from"./p-2e581b2a.js";import{M as i}from"./p-849bd025.js";import"./p-6c377932.js";import"./p-92fe4417.js";import"./p-e42cb163.js";import{M as r}from"./p-a2ef15e5.js";import{m as h}from"./p-096e60bd.js";import{s as d}from"./p-c738296e.js";import"./p-df8fbe56.js";import{D as o}from"./p-0bc4b3f7.js";import{i as m}from"./p-58dacdce.js";import"./p-dfe5a97d.js";import"./p-083f427e.js";import"./p-70e5e8a8.js";let l=class{constructor(s){e(this,s),this.measurementAdded=t(this,"measurementAdded",7),this.measurementRemoved=t(this,"measurementRemoved",7),this.tool="distance",this.units="millimeters",this.fractionalDigits=2,this.disabled=!1,this.snapDistance=i,this.showAxisReferenceLines=!1,this.measurementModel=new r}async addMeasurement(e){if(e instanceof o){const{start:t,end:s,invalid:n,id:a}=e,i=this.createDistanceMeasurementElement();return i.id=a,i.start=t,i.end=s,i.invalid=n,this.updatePropsOnMeasurement(i),this.hostEl.appendChild(i),this.measurementAdded.emit(i),i}throw new Error(`Cannot add measurement. Unknown type '${e}'.`)}async removeMeasurement(e){const t=(await this.getMeasurementElements()).find((t=>t.id===e));return null!=t&&(t.remove(),this.measurementRemoved.emit(t)),t}async getMeasurementElement(e){return(await this.getMeasurementElements()).find((t=>t.id===e))}async getMeasurementElements(){return Array.from(this.hostEl.children).filter(m)}async handleSelectedMeasurementIdChanged(){this.measurementModel.clearOutcome(),(await this.getMeasurementElements()).forEach((e=>{e.id===this.selectedMeasurementId?(e.mode="edit",e.showAxisReferenceLines=this.showAxisReferenceLines,null!=e.start&&null!=e.end&&this.measurementModel.setOutcome({isApproximate:!0,results:[h(e.start,e.end)]})):(e.mode="",e.showAxisReferenceLines=!1)}))}handleToolChanged(){this.updatePropsOnMeasurementTool()}async handleViewerChanged(e){this.updatePropsOnMeasurementTool(),this.updatePropsOnMeasurements()}handleDisabledChanged(){this.updatePropsOnMeasurementTool()}handleDistanceTemplateIdChanged(){this.updatePropsOnMeasurementTool()}handleUnitsChanged(){this.updatePropsOnMeasurementTool(),this.updatePropsOnMeasurements()}handleFractionalDigitsChanged(){this.updatePropsOnMeasurementTool(),this.updatePropsOnMeasurements()}handleSnapDistanceChanged(){this.updatePropsOnMeasurementTool(),this.updatePropsOnMeasurements()}async handleMeasureEnd(e){const t=e;await this.addMeasurement(t.detail),this.selectedMeasurementId=t.detail.id}async handleMeasurementPointerDown(e){if(!this.disabled){const t=e.target,s=(await this.getMeasurementElements()).find((e=>e===t));null!=(null==s?void 0:s.id)&&""!==(null==s?void 0:s.id)&&(this.selectedMeasurementId=t.id)}}componentDidLoad(){this.updatePropsOnMeasurementTool()}render(){return s(n,null,s("slot",null))}createDistanceMeasurementElement(){if(null!=this.distanceTemplateId){const e=d(window.document.body,this.distanceTemplateId,m,(()=>console.warn(`Distance template with ID ${this.distanceTemplateId} not found. Using default distance element.`)),(()=>console.warn("Distance template does not contain a vertex-viewer-measurement-distance. Using default distance element.")));if(null!=e)return e}return document.createElement("vertex-viewer-measurement-distance")}async updatePropsOnMeasurements(){(await this.getMeasurementElements()).forEach((e=>this.updatePropsOnMeasurement(e)))}updatePropsOnMeasurement(e){e.fractionalDigits=this.fractionalDigits,e.units=this.units,e.snapDistance=this.snapDistance,e.viewer=this.viewer,e.classList.add("viewer-measurements__measurement")}updatePropsOnMeasurementTool(){const e=this.getMeasurementTool();null!=e&&(e.disabled=this.disabled,e.distanceTemplateId=this.distanceTemplateId,e.tool=this.tool,e.fractionalDigits=this.fractionalDigits,e.units=this.units,e.snapDistance=this.snapDistance,e.viewer=this.viewer)}getMeasurementTool(){return this.hostEl.querySelector("vertex-viewer-measurement-tool")}get hostEl(){return a(this)}static get watchers(){return{selectedMeasurementId:["handleSelectedMeasurementIdChanged"],tool:["handleToolChanged"],viewer:["handleViewerChanged"],disabled:["handleDisabledChanged"],distanceTemplateId:["handleDistanceTemplateIdChanged"],units:["handleUnitsChanged"],fractionalDigits:["handleFractionalDigitsChanged"],snapDistance:["handleSnapDistanceChanged"]}}};l.style=":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}::slotted(.viewer-measurements__measurement[mode='']){cursor:pointer}::slotted(.viewer-measurements__measurement[mode='edit']){z-index:1}::slotted(.viewer-measurements__measurement[interacting-anchor='start']),::slotted(.viewer-measurements__measurement[interacting-anchor='end']),::slotted(vertex-viewer-measurement-tool[is-measuring]){z-index:2}";export{l as vertex_viewer_measurements}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
2
|
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as i,H as t}from"./p-
|
|
4
|
+
import{r as e,h as i,H as t}from"./p-2e581b2a.js";let l=class{constructor(i){e(this,i)}render(){return i(t,null,i("div",{class:"hidden"},i("slot",{name:"header"})),i("div",{class:"column"},i("slot",null)))}};l.style=":host{width:100%;height:100%;position:relative}.hidden{visibility:hidden;pointer-events:none}.column{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}";export{l as vertex_scene_tree_table_column}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/**!
|
|
2
|
+
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
import{d as t,p as r,v as o,r as s,i as n}from"./p-70e5e8a8.js";class i{constructor(r,o){this.width=r,this.height=o,this.center=t.center(this.dimensions)}static fromDimensions(t){return new i(t.width,t.height)}transformNdcPointToViewport(t){return r.create(t.x*this.center.x+this.center.x,-t.y*this.center.y+this.center.y)}transformVectorToViewport(t){return this.transformNdcPointToViewport(t)}transformWorldToViewport(t,r){const s=o.transformMatrix(t,r);return this.transformVectorToViewport(s)}transformPointToViewport(t,o){const{x:s,y:n}=this.calculateFrameScale(o);return r.scale(t,1*s,1*n)}transformPointToFrame(t,o){const{x:s,y:n}=this.calculateFrameScale(o);return r.scale(t,1/s,1/n)}transformPointToWorldSpace(t,r,o){const s=this.transformPointToFrame(t,r),n=this.transformPointToRay(t,r,r.camera);return r.getWorldPoint(s,n,o)}transformPointToOrthographicWorldSpace(t,r,o){const s=this.transformPointToFrame(t,r),n=this.transformPointToOrthographicRay(t,r,r.camera);return r.getOrthographicWorldPoint(s,n,o)}transformPointToRay(t,r,n){const i=this.transformScreenPointToNdc(t,r),e=o.fromMatrixPosition(n.worldMatrix),a=o.transformNdcToWorldSpace(o.create(i.x,i.y,.5),n.worldMatrix,n.projectionMatrixInverse),c=o.normalize(o.subtract(a,e));return s.create({origin:e,direction:c})}transformPointToOrthographicRay(t,r,n){const i=this.transformScreenPointToNdc(t,r),e=o.transformNdcToWorldSpace(o.create(i.x,i.y,0),n.worldMatrix,n.projectionMatrixInverse);return s.create({origin:e,direction:o.normalize(n.viewVector)})}transformScreenPointToNdc(t,o){const s=this.transformPointToFrame(t,o);return r.create(s.x/o.imageAttr.frameDimensions.width*2-1,-s.y/o.imageAttr.frameDimensions.height*2+1)}calculateDrawRect(t){const{x:r,y:o}=this.calculateFrameScale(t);return n.scale(t.imageAttr.imageRect,r,o)}calculateFrameScale(t){const{frameDimensions:o}=t.imageAttr,s=n.fromDimensions(o),i=n.fromDimensions(this.dimensions),e=n.containFit(i,s);return r.create(e.width/s.width,e.height/s.height)}get dimensions(){return t.create(this.width,this.height)}}export{i as V}
|