@vertexvis/viewer 1.0.0-testing.3 → 1.0.0-testing.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{config-CBFIZ5gy.js → config-C1xbl3Qa.js} +3 -3
- package/dist/cjs/{config-CBFIZ5gy.js.map → config-C1xbl3Qa.js.map} +1 -1
- package/dist/cjs/{entities-CAphDi6v.js → entities-D6AUMclh.js} +4 -4
- package/dist/cjs/{entities-CAphDi6v.js.map → entities-D6AUMclh.js.map} +1 -1
- package/dist/cjs/{geometry_pb-DW53co_-.js → geometry_pb-Ctp-Gcjm.js} +3 -3
- package/dist/cjs/{geometry_pb-DW53co_-.js.map → geometry_pb-Ctp-Gcjm.js.map} +1 -1
- package/dist/cjs/index.cjs.js +5 -5
- package/dist/cjs/{queries-uJfbbPWV.js → queries-CZmukyhu.js} +4 -4
- package/dist/cjs/{queries-uJfbbPWV.js.map → queries-CZmukyhu.js.map} +1 -1
- package/dist/cjs/{regl-component-CF41rUUv.js → regl-component-DOa8eHGy.js} +3 -3
- package/dist/cjs/{regl-component-CF41rUUv.js.map → regl-component-DOa8eHGy.js.map} +1 -1
- package/dist/cjs/{representation_pb-u7t5FI12.js → representation_pb-BrMsFavQ.js} +3 -3
- package/dist/cjs/{representation_pb-u7t5FI12.js.map → representation_pb-BrMsFavQ.js.map} +1 -1
- package/dist/cjs/{streamAttributes-BX291dI6.js → streamAttributes-DQm8yx7F.js} +6 -4
- package/dist/cjs/streamAttributes-DQm8yx7F.js.map +1 -0
- package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-hit-result-indicator.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +4 -4
- package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +3 -3
- package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer.cjs.entry.js +27 -7
- package/dist/cjs/vertex-viewer.cjs.entry.js.map +1 -1
- package/dist/collection/lib/meters.js +15 -1
- package/dist/collection/lib/meters.js.map +1 -1
- package/dist/collection/lib/storage.js +8 -2
- package/dist/collection/lib/storage.js.map +1 -1
- package/dist/collection/workers/png-decoder-pool.js +4 -2
- package/dist/collection/workers/png-decoder-pool.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-BhgrvpJL.js → p-BLSuslo8.js} +2 -2
- package/dist/components/{p-D7rQku5u.js → p-Bmj32MLp.js} +2 -2
- package/dist/components/{p-MYlndA6B.js → p-Bo49wgwt.js} +2 -2
- package/dist/components/{p-BjcO9U8D.js → p-BvOB1WAv.js} +2 -2
- package/dist/components/{p-DSeOWYJ_.js → p-BygjJ1WP.js} +2 -2
- package/dist/components/{p-CJuOe1O1.js → p-CGpWfqFr.js} +2 -2
- package/dist/components/{p-uwvTj3Cw.js → p-CHQ7ZKZd.js} +2 -2
- package/dist/components/{p-Lx4iaHhY.js → p-CYhNWr6k.js} +2 -2
- package/dist/components/{p-JSB7V_jW.js → p-DLV-gg65.js} +2 -2
- package/dist/components/{p-JSB7V_jW.js.map → p-DLV-gg65.js.map} +1 -1
- package/dist/components/{p-DyPaZtSF.js → p-gFMW2KYT.js} +2 -2
- package/dist/components/vertex-scene-tree-table-cell.js +1 -1
- package/dist/components/vertex-scene-tree.js +1 -1
- package/dist/components/vertex-viewer-dom-renderer.js +1 -1
- package/dist/components/vertex-viewer-hit-result-indicator.js +1 -1
- package/dist/components/vertex-viewer-measurement-details.js +1 -1
- package/dist/components/vertex-viewer-measurement-distance.js +1 -1
- package/dist/components/vertex-viewer-measurement-overlays.js +1 -1
- package/dist/components/vertex-viewer-measurement-precise.js +1 -1
- package/dist/components/vertex-viewer-measurement-precise.js.map +1 -1
- package/dist/components/vertex-viewer-pin-group.js +1 -1
- package/dist/components/vertex-viewer-pin-tool.js +1 -1
- package/dist/components/vertex-viewer-transform-widget.js +1 -1
- package/dist/components/vertex-viewer-transform-widget.js.map +1 -1
- package/dist/components/vertex-viewer-view-cube.js +1 -1
- package/dist/components/vertex-viewer.js +1 -1
- package/dist/components/vertex-viewer.js.map +1 -1
- package/dist/esm/{config-_vT0BdS-.js → config-BrYuY-7v.js} +3 -3
- package/dist/esm/{config-_vT0BdS-.js.map → config-BrYuY-7v.js.map} +1 -1
- package/dist/esm/{entities-8QCEsVRy.js → entities-DxpPFj9w.js} +4 -4
- package/dist/esm/{entities-8QCEsVRy.js.map → entities-DxpPFj9w.js.map} +1 -1
- package/dist/esm/{geometry_pb-Dj0yGTFi.js → geometry_pb-BLGp5Nq8.js} +3 -3
- package/dist/esm/{geometry_pb-Dj0yGTFi.js.map → geometry_pb-BLGp5Nq8.js.map} +1 -1
- package/dist/esm/index.js +5 -5
- package/dist/esm/index.mjs +5 -5
- package/dist/esm/{queries-W4aeN1vv.js → queries-Coo1RH5H.js} +4 -4
- package/dist/esm/{queries-W4aeN1vv.js.map → queries-Coo1RH5H.js.map} +1 -1
- package/dist/esm/{regl-component-Rio5LpoO.js → regl-component-B30675op.js} +3 -3
- package/dist/esm/{regl-component-Rio5LpoO.js.map → regl-component-B30675op.js.map} +1 -1
- package/dist/esm/{representation_pb-CCDsiQtg.js → representation_pb-DYkJtHQo.js} +3 -3
- package/dist/esm/{representation_pb-CCDsiQtg.js.map → representation_pb-DYkJtHQo.js.map} +1 -1
- package/dist/esm/{streamAttributes-DhQVsxJf.js → streamAttributes-Cfp9UX5m.js} +6 -4
- package/dist/esm/streamAttributes-Cfp9UX5m.js.map +1 -0
- package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
- package/dist/esm/vertex-scene-tree.entry.js +2 -2
- package/dist/esm/vertex-viewer-dom-element_2.entry.js +1 -1
- package/dist/esm/vertex-viewer-hit-result-indicator.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-details.entry.js +1 -1
- package/dist/esm/vertex-viewer-measurement-distance.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +2 -2
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +4 -4
- package/dist/esm/vertex-viewer-pin-group.entry.js +3 -3
- package/dist/esm/vertex-viewer-transform-widget.entry.js +2 -2
- package/dist/esm/vertex-viewer-view-cube.entry.js +1 -1
- package/dist/esm/vertex-viewer.entry.js +27 -7
- package/dist/esm/vertex-viewer.entry.js.map +1 -1
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/{p-baec8489.entry.js → p-0287e1ba.entry.js} +2 -2
- package/dist/viewer/{p-2bd6cd13.entry.js → p-380e0112.entry.js} +2 -2
- package/dist/viewer/{p-101825c2.entry.js → p-40d90c6e.entry.js} +2 -2
- package/dist/viewer/{p-317da1b6.entry.js → p-6a546084.entry.js} +2 -2
- package/dist/viewer/p-7189eb18.entry.js +5 -0
- package/dist/viewer/p-7189eb18.entry.js.map +1 -0
- package/dist/viewer/{p-807aa9d0.entry.js → p-72fa9fba.entry.js} +2 -2
- package/dist/viewer/{p-0bf39fff.entry.js → p-81391d86.entry.js} +2 -2
- package/dist/viewer/{p-5VxzXVFc.js → p-B7mOY-Vi.js} +2 -2
- package/dist/viewer/{p-5VxzXVFc.js.map → p-B7mOY-Vi.js.map} +1 -1
- package/dist/viewer/{p-B9AGwrOP.js → p-CVRW2Plt.js} +2 -2
- package/dist/viewer/{p-B9AGwrOP.js.map → p-CVRW2Plt.js.map} +1 -1
- package/dist/viewer/{p-C0bm56qJ.js → p-CrcoZmKt.js} +2 -2
- package/dist/viewer/p-CrcoZmKt.js.map +1 -0
- package/dist/viewer/{p-BNiP3SE7.js → p-DKKHW33X.js} +2 -2
- package/dist/viewer/{p-BNiP3SE7.js.map → p-DKKHW33X.js.map} +1 -1
- package/dist/viewer/p-F9YPK1I7.js +5 -0
- package/dist/viewer/{p-DOMCeSTr.js.map → p-F9YPK1I7.js.map} +1 -1
- package/dist/viewer/p-Nk8SgPHE.js +5 -0
- package/dist/viewer/{p-CrwKMz5f.js.map → p-Nk8SgPHE.js.map} +1 -1
- package/dist/viewer/{p-BoFi-Uyu.js → p-_19YlCN5.js} +2 -2
- package/dist/viewer/{p-BoFi-Uyu.js.map → p-_19YlCN5.js.map} +1 -1
- package/dist/viewer/{p-dd2f92e3.entry.js → p-c7eb05ec.entry.js} +2 -2
- package/dist/viewer/{p-fade0dba.entry.js → p-c9d71f1e.entry.js} +2 -2
- package/dist/viewer/{p-49b9bba2.entry.js → p-d50b2449.entry.js} +2 -2
- package/dist/viewer/{p-0fa89933.entry.js → p-e80260d3.entry.js} +2 -2
- package/dist/viewer/{p-71c08a04.entry.js → p-fc082185.entry.js} +2 -2
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +8 -7
- package/dist/cjs/streamAttributes-BX291dI6.js.map +0 -1
- package/dist/esm/streamAttributes-DhQVsxJf.js.map +0 -1
- package/dist/viewer/p-C0bm56qJ.js.map +0 -1
- package/dist/viewer/p-CrwKMz5f.js +0 -5
- package/dist/viewer/p-DOMCeSTr.js +0 -5
- package/dist/viewer/p-ea736bd1.entry.js +0 -5
- package/dist/viewer/p-ea736bd1.entry.js.map +0 -1
- /package/dist/components/{p-BhgrvpJL.js.map → p-BLSuslo8.js.map} +0 -0
- /package/dist/components/{p-D7rQku5u.js.map → p-Bmj32MLp.js.map} +0 -0
- /package/dist/components/{p-MYlndA6B.js.map → p-Bo49wgwt.js.map} +0 -0
- /package/dist/components/{p-BjcO9U8D.js.map → p-BvOB1WAv.js.map} +0 -0
- /package/dist/components/{p-DSeOWYJ_.js.map → p-BygjJ1WP.js.map} +0 -0
- /package/dist/components/{p-CJuOe1O1.js.map → p-CGpWfqFr.js.map} +0 -0
- /package/dist/components/{p-uwvTj3Cw.js.map → p-CHQ7ZKZd.js.map} +0 -0
- /package/dist/components/{p-Lx4iaHhY.js.map → p-CYhNWr6k.js.map} +0 -0
- /package/dist/components/{p-DyPaZtSF.js.map → p-gFMW2KYT.js.map} +0 -0
- /package/dist/viewer/{p-baec8489.entry.js.map → p-0287e1ba.entry.js.map} +0 -0
- /package/dist/viewer/{p-2bd6cd13.entry.js.map → p-380e0112.entry.js.map} +0 -0
- /package/dist/viewer/{p-101825c2.entry.js.map → p-40d90c6e.entry.js.map} +0 -0
- /package/dist/viewer/{p-317da1b6.entry.js.map → p-6a546084.entry.js.map} +0 -0
- /package/dist/viewer/{p-807aa9d0.entry.js.map → p-72fa9fba.entry.js.map} +0 -0
- /package/dist/viewer/{p-0bf39fff.entry.js.map → p-81391d86.entry.js.map} +0 -0
- /package/dist/viewer/{p-dd2f92e3.entry.js.map → p-c7eb05ec.entry.js.map} +0 -0
- /package/dist/viewer/{p-fade0dba.entry.js.map → p-c9d71f1e.entry.js.map} +0 -0
- /package/dist/viewer/{p-49b9bba2.entry.js.map → p-d50b2449.entry.js.map} +0 -0
- /package/dist/viewer/{p-0fa89933.entry.js.map → p-e80260d3.entry.js.map} +0 -0
- /package/dist/viewer/{p-71c08a04.entry.js.map → p-fc082185.entry.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (c) 2026 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{r as i,c as e,h as t,H as s,a as n}from"./p-EpnuuCxl.js";import{d as o}from"./p-CPk-nchx.js";import"./p-C0bm56qJ.js";import"./p-BAhfr1Nx.js";import{b as l}from"./p-DC86ZXai.js";import"./p-DfdVaPrt.js";import"./p-DGi1icY2.js";import"./p-CG9AChtV.js";import"./p-BTXMTkTi.js";const d=()=>`button{border:none;background:transparent;cursor:pointer;margin:0;padding:0}:host{display:flex;align-items:center;box-sizing:border-box;--scene-tree-cell-background-hover:var(--blue-200);--scene-tree-cell-background-selected:var(--blue-300);--scene-tree-cell-text-positioning:left;--scene-tree-cell-padding:0.25rem 0;font-size:var(--scene-tree-default-font-size, unset);font-family:var(--scene-tree-default-font-family, unset);color:var(--scene-tree-default-font-color, #444444)}:host([is-hovered]){background:var(--scene-tree-cell-background-hover)}:host([is-selected]){background:var(--scene-tree-cell-background-selected)}.wrapper{display:flex;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:var(--scene-tree-cell-padding)}.content{width:100%;text-align:var(--scene-tree-cell-text-positioning);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.column-spacer{width:var(--scene-tree-table-column-gap)}.expand-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}:host([is-leaf]) .expand-btn,:host([is-end-item]) .expand-btn{visibility:hidden;cursor:default}.no-shrink{flex-shrink:0}.end-item-btn{cursor:default;display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}:host(:not([is-end-item])) .end-item-btn{visibility:hidden;cursor:default}.end-item-icon{width:14px;height:14px;fill:var(--scene-tree-secondary-font-color, var(--neutral-600))}.visibility-btn,.isolate-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.icon{width:14px;height:14px;fill:var(--scene-tree-default-font-color, currentColor)}`;const r=class{constructor(t){i(this,t);this.expandToggled=e(this,"expandToggled");this.visibilityToggled=e(this,"visibilityToggled");this.selectionToggled=e(this,"selectionToggled");this.isolatePressed=e(this,"isolatePressed");this.cellLoaded=e(this,"cellLoaded");this.placeholder="--";this.alwaysShowIcons=false;this.hovered=false;this.displayValue=()=>{const i=this.value==null||this.value.trim()===""?this.placeholder:this.value;return i};this.handleCellPointerEnter=()=>{var i,e,t;(i=this.hoverController)===null||i===void 0?void 0:i.setHovered((t=(e=this.node)===null||e===void 0?void 0:e.id)===null||t===void 0?void 0:t.hex)};this.handleCellPointerLeave=()=>{var i;(i=this.hoverController)===null||i===void 0?void 0:i.setHovered(undefined)};this.handleCellPointerUp=i=>{if(!this.isScrolling&&this.node!=null&&this.tree!=null&&this.longPressTimer!=null){if(this.selectionHandler!=null){this.selectionHandler(i,this.node,this.tree)}else{this.performDefaultSelectionOperation(i)}this.selectionToggled.emit({node:this.node,originalEvent:i})}this.clearLongPressTimer()};this.handleCellPointerDown=i=>{this.restartLongPressTimer()};this.createActionPointerUpHandler=i=>e=>{e.preventDefault();e.stopPropagation();l(this.hostEl);i(e)};this.toggleExpansion=async i=>{if(this.tree!=null&&this.node!=null){if(this.expansionHandler!=null){this.expansionHandler(i,this.node,this.tree)}else{await this.performDefaultExpansionOperation(this.node,this.tree)}this.expandToggled.emit({node:this.node,originalEvent:i})}};this.toggleVisibility=async i=>{if(this.tree!=null&&this.node!=null){if(this.visibilityHandler!=null){this.visibilityHandler(i,this.node,this.tree)}else{await this.performDefaultVisibilityOperation(this.node,this.tree)}this.visibilityToggled.emit({node:this.node,originalEvent:i})}};this.isolate=async i=>{if(this.tree!=null&&this.node!=null){if(this.isolateHandler!=null){this.isolateHandler(i,this.node,this.tree)}else{await this.performDefaultIsolateOperation(this.node,this.tree)}this.isolatePressed.emit({node:this.node,originalEvent:i})}};this.performDefaultSelectionOperation=i=>{var e,t,s,n,o,l;if(!i.defaultPrevented&&i.button===0){if((i.ctrlKey||i.metaKey)&&((e=this.node)===null||e===void 0?void 0:e.selected)){(t=this.tree)===null||t===void 0?void 0:t.deselectItem(this.node)}else if((s=this.node)===null||s===void 0?void 0:s.selected){(n=this.tree)===null||n===void 0?void 0:n.selectItem(this.node,{recurseParent:true})}else if(!((o=this.node)===null||o===void 0?void 0:o.selected)){(l=this.tree)===null||l===void 0?void 0:l.selectItem(this.node,{append:i.ctrlKey||i.metaKey,range:i.shiftKey})}}};this.performDefaultVisibilityOperation=async(i,e)=>{await e.toggleItemVisibility(i)};this.performDefaultIsolateOperation=async(i,e)=>{await e.isolateItem(i)};this.performDefaultExpansionOperation=async(i,e)=>{await e.toggleExpandItem(i)}}componentDidLoad(){var i;this.hoverListener=(i=this.hoverController)===null||i===void 0?void 0:i.stateChanged((i=>{var e,t;this.hovered=i===((t=(e=this.node)===null||e===void 0?void 0:e.id)===null||t===void 0?void 0:t.hex)}));this.cellLoaded.emit();this.clearLongPressTimer()}disconnectedCallback(){var i;(i=this.hoverListener)===null||i===void 0?void 0:i.dispose();this.clearLongPressTimer()}componentWillRender(){var i,e,t,s,n,o;this.toggleAttribute("is-hovered",this.hovered);this.toggleAttribute("is-hidden",!((i=this.node)===null||i===void 0?void 0:i.visible));this.toggleAttribute("is-selected",!!((e=this.node)===null||e===void 0?void 0:e.selected));this.toggleAttribute("is-partial",!!((t=this.node)===null||t===void 0?void 0:t.partiallyVisible));this.toggleAttribute("is-leaf",!!((s=this.node)===null||s===void 0?void 0:s.isLeaf));this.toggleAttribute("is-end-item",!!((n=this.node)===null||n===void 0?void 0:n.endItem));this.toggleAttribute("is-filter-hit",!!((o=this.node)===null||o===void 0?void 0:o.filterHit))}render(){var i,e,n,o;const l=this.node==null?{visibility:"hidden"}:undefined;const d=this.getBackgroundColorStyle();const r=this.getEndItemIcon();const h=this.getExpansionIcon();const a=this.getIsolateIcon();const c=this.getVisibilityIcon();const v=this.expandToggle&&!r;const u=r&&!v;return t(s,{key:"703090cacf3d026e220ead0a051d70b186fa056e",onPointerEnter:this.handleCellPointerEnter,onPointerLeave:this.handleCellPointerLeave,onPointerUp:this.handleCellPointerUp,onPointerDown:this.handleCellPointerDown,style:{...l,"background-color":d}},t("div",{key:"25a45f3cebed75a1d0e469cce01e1cabec5450c4",class:"wrapper"},t("div",{key:"7ba2f3c1b9a5551287f6683f87de841f0717e87b",class:"no-shrink"},t("slot",{key:"04bd203d0e034aa4fce3a0b64d24718ab0ba50af",name:"left-gutter"})),v&&t("button",{key:"9dfa16123e24eeb90e208aa0d5936b9bacd9d8f4",class:"expand-btn no-shrink","data-test-id":"expand-"+((i=this.node)===null||i===void 0?void 0:i.name),onPointerUp:this.createActionPointerUpHandler(this.toggleExpansion)},h&&t("vertex-viewer-icon",{key:"dd3c2a86b90d627b3234b76075dafef393418945",class:"icon",name:h,size:"sm"})),u&&t("button",{key:"4ba96f6f5d8c0ec7559698b11bfa798a695f8504",class:"end-item-btn no-shrink","data-test-id":"end-item-"+((e=this.node)===null||e===void 0?void 0:e.name)},r&&t("vertex-viewer-icon",{key:"57f13de85747c6b1534ea0523e48d73b18125524",class:"end-item-icon",name:r,size:"sm"})),t("div",{key:"0757b6b02df6b48a90b8eaedf3755756f64e53c3",class:"content"},this.value!=null&&this.value.trim()!==""?t("slot",null,this.displayValue()):t("slot",{name:"placeholder"},this.placeholder)),this.isolateButton&&t("button",{key:"780fc0d60ddf630f9f2f60579bb9f9d25decf59c",class:"isolate-btn no-shrink","data-test-id":"isolate-btn-"+((n=this.node)===null||n===void 0?void 0:n.name),onPointerUp:this.createActionPointerUpHandler(this.isolate)},a&&t("vertex-viewer-icon",{key:"14c460641f97b7486d5393274a1ac53aad8dc62f",class:"icon",name:"locate",size:"sm"})),this.visibilityToggle&&t("button",{key:"b2455e14dc5325e713e2eab8730c7f5d9526336f",class:"visibility-btn no-shrink","data-test-id":"visibility-btn-"+((o=this.node)===null||o===void 0?void 0:o.name),onPointerUp:this.createActionPointerUpHandler(this.toggleVisibility)},c&&t("vertex-viewer-icon",{key:"2c761416d88693cea84490468680c1d39ed27d36",class:"icon",name:c,size:"sm"})),t("div",{key:"a5728a0c22cea6fea12e3a4b54a4f07e5ccbf768",class:"no-shrink"},t("slot",{key:"76cc87ec6b2f154324de09f261d4337d6c81ae0c",name:"right-gutter"})),!this.visibilityToggle&&!this.isolateButton&&t("div",{key:"477726d5ac236b87eecaa5652f67d65a7c28108f",class:"column-spacer"})))}toggleAttribute(i,e){if(e){this.hostEl.setAttribute(i,"")}else{this.hostEl.removeAttribute(i)}}clearLongPressTimer(){if(this.longPressTimer!=null){window.clearTimeout(this.longPressTimer)}this.longPressTimer=undefined}restartLongPressTimer(){this.clearLongPressTimer();this.longPressTimer=window.setTimeout((()=>{this.clearLongPressTimer()}),o.longPressThreshold)}getBackgroundColorStyle(){var i,e;const t=this.getCssVariableWithFallbacks(`--scene-tree-row-background-color-depth-${(i=this.node)===null||i===void 0?void 0:i.depth}`,"--scene-tree-row-background-color");const s=this.getCssVariableWithFallbacks("--scene-tree-selected-row-background-color","--scene-tree-cell-background-selected");const n=this.getCssVariableWithFallbacks("--scene-tree-hovered-row-background-color","--scene-tree-cell-background-hover");if(!!((e=this.node)===null||e===void 0?void 0:e.selected)){return s}else if(this.hovered){return n}return t}getCssVariableWithFallbacks(i,...e){const t=[...e].reverse();return[...t,i].reduce(((i,e)=>`var(${e}, ${i})`),"unset")}getIsolateIcon(){if(this.hovered||this.alwaysShowIcons){return"locate"}return undefined}getExpansionIcon(){var i,e,t;if(!((i=this.node)===null||i===void 0?void 0:i.isLeaf)&&!((e=this.node)===null||e===void 0?void 0:e.endItem)){return((t=this.node)===null||t===void 0?void 0:t.expanded)?"chevron-down":"chevron-right"}return undefined}getEndItemIcon(){var i,e,t;if(this.endItemIndicator&&((i=this.node)===null||i===void 0?void 0:i.endItem)&&(!((e=this.node)===null||e===void 0?void 0:e.isLeaf)||((t=this.node)===null||t===void 0?void 0:t.filterHit))){return"lock"}return undefined}getVisibilityIcon(){var i,e,t,s,n;if((this.hovered||this.alwaysShowIcons)&&!((i=this.node)===null||i===void 0?void 0:i.partiallyVisible)&&((e=this.node)===null||e===void 0?void 0:e.visible)){return"eye-open"}else if(!((t=this.node)===null||t===void 0?void 0:t.partiallyVisible)&&!((s=this.node)===null||s===void 0?void 0:s.visible)){return"eye-half"}else if((n=this.node)===null||n===void 0?void 0:n.partiallyVisible){return"eye-half-dotted"}return undefined}get hostEl(){return n(this)}};r.style=d();export{r as vertex_scene_tree_table_cell};
|
|
5
|
-
//# sourceMappingURL=p-
|
|
4
|
+
import{r as i,c as e,h as t,H as s,a as n}from"./p-EpnuuCxl.js";import{d as o}from"./p-CPk-nchx.js";import"./p-CrcoZmKt.js";import"./p-BAhfr1Nx.js";import{b as l}from"./p-DC86ZXai.js";import"./p-DfdVaPrt.js";import"./p-DGi1icY2.js";import"./p-CG9AChtV.js";import"./p-BTXMTkTi.js";const d=()=>`button{border:none;background:transparent;cursor:pointer;margin:0;padding:0}:host{display:flex;align-items:center;box-sizing:border-box;--scene-tree-cell-background-hover:var(--blue-200);--scene-tree-cell-background-selected:var(--blue-300);--scene-tree-cell-text-positioning:left;--scene-tree-cell-padding:0.25rem 0;font-size:var(--scene-tree-default-font-size, unset);font-family:var(--scene-tree-default-font-family, unset);color:var(--scene-tree-default-font-color, #444444)}:host([is-hovered]){background:var(--scene-tree-cell-background-hover)}:host([is-selected]){background:var(--scene-tree-cell-background-selected)}.wrapper{display:flex;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:var(--scene-tree-cell-padding)}.content{width:100%;text-align:var(--scene-tree-cell-text-positioning);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.column-spacer{width:var(--scene-tree-table-column-gap)}.expand-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}:host([is-leaf]) .expand-btn,:host([is-end-item]) .expand-btn{visibility:hidden;cursor:default}.no-shrink{flex-shrink:0}.end-item-btn{cursor:default;display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}:host(:not([is-end-item])) .end-item-btn{visibility:hidden;cursor:default}.end-item-icon{width:14px;height:14px;fill:var(--scene-tree-secondary-font-color, var(--neutral-600))}.visibility-btn,.isolate-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.icon{width:14px;height:14px;fill:var(--scene-tree-default-font-color, currentColor)}`;const r=class{constructor(t){i(this,t);this.expandToggled=e(this,"expandToggled");this.visibilityToggled=e(this,"visibilityToggled");this.selectionToggled=e(this,"selectionToggled");this.isolatePressed=e(this,"isolatePressed");this.cellLoaded=e(this,"cellLoaded");this.placeholder="--";this.alwaysShowIcons=false;this.hovered=false;this.displayValue=()=>{const i=this.value==null||this.value.trim()===""?this.placeholder:this.value;return i};this.handleCellPointerEnter=()=>{var i,e,t;(i=this.hoverController)===null||i===void 0?void 0:i.setHovered((t=(e=this.node)===null||e===void 0?void 0:e.id)===null||t===void 0?void 0:t.hex)};this.handleCellPointerLeave=()=>{var i;(i=this.hoverController)===null||i===void 0?void 0:i.setHovered(undefined)};this.handleCellPointerUp=i=>{if(!this.isScrolling&&this.node!=null&&this.tree!=null&&this.longPressTimer!=null){if(this.selectionHandler!=null){this.selectionHandler(i,this.node,this.tree)}else{this.performDefaultSelectionOperation(i)}this.selectionToggled.emit({node:this.node,originalEvent:i})}this.clearLongPressTimer()};this.handleCellPointerDown=i=>{this.restartLongPressTimer()};this.createActionPointerUpHandler=i=>e=>{e.preventDefault();e.stopPropagation();l(this.hostEl);i(e)};this.toggleExpansion=async i=>{if(this.tree!=null&&this.node!=null){if(this.expansionHandler!=null){this.expansionHandler(i,this.node,this.tree)}else{await this.performDefaultExpansionOperation(this.node,this.tree)}this.expandToggled.emit({node:this.node,originalEvent:i})}};this.toggleVisibility=async i=>{if(this.tree!=null&&this.node!=null){if(this.visibilityHandler!=null){this.visibilityHandler(i,this.node,this.tree)}else{await this.performDefaultVisibilityOperation(this.node,this.tree)}this.visibilityToggled.emit({node:this.node,originalEvent:i})}};this.isolate=async i=>{if(this.tree!=null&&this.node!=null){if(this.isolateHandler!=null){this.isolateHandler(i,this.node,this.tree)}else{await this.performDefaultIsolateOperation(this.node,this.tree)}this.isolatePressed.emit({node:this.node,originalEvent:i})}};this.performDefaultSelectionOperation=i=>{var e,t,s,n,o,l;if(!i.defaultPrevented&&i.button===0){if((i.ctrlKey||i.metaKey)&&((e=this.node)===null||e===void 0?void 0:e.selected)){(t=this.tree)===null||t===void 0?void 0:t.deselectItem(this.node)}else if((s=this.node)===null||s===void 0?void 0:s.selected){(n=this.tree)===null||n===void 0?void 0:n.selectItem(this.node,{recurseParent:true})}else if(!((o=this.node)===null||o===void 0?void 0:o.selected)){(l=this.tree)===null||l===void 0?void 0:l.selectItem(this.node,{append:i.ctrlKey||i.metaKey,range:i.shiftKey})}}};this.performDefaultVisibilityOperation=async(i,e)=>{await e.toggleItemVisibility(i)};this.performDefaultIsolateOperation=async(i,e)=>{await e.isolateItem(i)};this.performDefaultExpansionOperation=async(i,e)=>{await e.toggleExpandItem(i)}}componentDidLoad(){var i;this.hoverListener=(i=this.hoverController)===null||i===void 0?void 0:i.stateChanged((i=>{var e,t;this.hovered=i===((t=(e=this.node)===null||e===void 0?void 0:e.id)===null||t===void 0?void 0:t.hex)}));this.cellLoaded.emit();this.clearLongPressTimer()}disconnectedCallback(){var i;(i=this.hoverListener)===null||i===void 0?void 0:i.dispose();this.clearLongPressTimer()}componentWillRender(){var i,e,t,s,n,o;this.toggleAttribute("is-hovered",this.hovered);this.toggleAttribute("is-hidden",!((i=this.node)===null||i===void 0?void 0:i.visible));this.toggleAttribute("is-selected",!!((e=this.node)===null||e===void 0?void 0:e.selected));this.toggleAttribute("is-partial",!!((t=this.node)===null||t===void 0?void 0:t.partiallyVisible));this.toggleAttribute("is-leaf",!!((s=this.node)===null||s===void 0?void 0:s.isLeaf));this.toggleAttribute("is-end-item",!!((n=this.node)===null||n===void 0?void 0:n.endItem));this.toggleAttribute("is-filter-hit",!!((o=this.node)===null||o===void 0?void 0:o.filterHit))}render(){var i,e,n,o;const l=this.node==null?{visibility:"hidden"}:undefined;const d=this.getBackgroundColorStyle();const r=this.getEndItemIcon();const h=this.getExpansionIcon();const a=this.getIsolateIcon();const c=this.getVisibilityIcon();const v=this.expandToggle&&!r;const u=r&&!v;return t(s,{key:"703090cacf3d026e220ead0a051d70b186fa056e",onPointerEnter:this.handleCellPointerEnter,onPointerLeave:this.handleCellPointerLeave,onPointerUp:this.handleCellPointerUp,onPointerDown:this.handleCellPointerDown,style:{...l,"background-color":d}},t("div",{key:"25a45f3cebed75a1d0e469cce01e1cabec5450c4",class:"wrapper"},t("div",{key:"7ba2f3c1b9a5551287f6683f87de841f0717e87b",class:"no-shrink"},t("slot",{key:"04bd203d0e034aa4fce3a0b64d24718ab0ba50af",name:"left-gutter"})),v&&t("button",{key:"9dfa16123e24eeb90e208aa0d5936b9bacd9d8f4",class:"expand-btn no-shrink","data-test-id":"expand-"+((i=this.node)===null||i===void 0?void 0:i.name),onPointerUp:this.createActionPointerUpHandler(this.toggleExpansion)},h&&t("vertex-viewer-icon",{key:"dd3c2a86b90d627b3234b76075dafef393418945",class:"icon",name:h,size:"sm"})),u&&t("button",{key:"4ba96f6f5d8c0ec7559698b11bfa798a695f8504",class:"end-item-btn no-shrink","data-test-id":"end-item-"+((e=this.node)===null||e===void 0?void 0:e.name)},r&&t("vertex-viewer-icon",{key:"57f13de85747c6b1534ea0523e48d73b18125524",class:"end-item-icon",name:r,size:"sm"})),t("div",{key:"0757b6b02df6b48a90b8eaedf3755756f64e53c3",class:"content"},this.value!=null&&this.value.trim()!==""?t("slot",null,this.displayValue()):t("slot",{name:"placeholder"},this.placeholder)),this.isolateButton&&t("button",{key:"780fc0d60ddf630f9f2f60579bb9f9d25decf59c",class:"isolate-btn no-shrink","data-test-id":"isolate-btn-"+((n=this.node)===null||n===void 0?void 0:n.name),onPointerUp:this.createActionPointerUpHandler(this.isolate)},a&&t("vertex-viewer-icon",{key:"14c460641f97b7486d5393274a1ac53aad8dc62f",class:"icon",name:"locate",size:"sm"})),this.visibilityToggle&&t("button",{key:"b2455e14dc5325e713e2eab8730c7f5d9526336f",class:"visibility-btn no-shrink","data-test-id":"visibility-btn-"+((o=this.node)===null||o===void 0?void 0:o.name),onPointerUp:this.createActionPointerUpHandler(this.toggleVisibility)},c&&t("vertex-viewer-icon",{key:"2c761416d88693cea84490468680c1d39ed27d36",class:"icon",name:c,size:"sm"})),t("div",{key:"a5728a0c22cea6fea12e3a4b54a4f07e5ccbf768",class:"no-shrink"},t("slot",{key:"76cc87ec6b2f154324de09f261d4337d6c81ae0c",name:"right-gutter"})),!this.visibilityToggle&&!this.isolateButton&&t("div",{key:"477726d5ac236b87eecaa5652f67d65a7c28108f",class:"column-spacer"})))}toggleAttribute(i,e){if(e){this.hostEl.setAttribute(i,"")}else{this.hostEl.removeAttribute(i)}}clearLongPressTimer(){if(this.longPressTimer!=null){window.clearTimeout(this.longPressTimer)}this.longPressTimer=undefined}restartLongPressTimer(){this.clearLongPressTimer();this.longPressTimer=window.setTimeout((()=>{this.clearLongPressTimer()}),o.longPressThreshold)}getBackgroundColorStyle(){var i,e;const t=this.getCssVariableWithFallbacks(`--scene-tree-row-background-color-depth-${(i=this.node)===null||i===void 0?void 0:i.depth}`,"--scene-tree-row-background-color");const s=this.getCssVariableWithFallbacks("--scene-tree-selected-row-background-color","--scene-tree-cell-background-selected");const n=this.getCssVariableWithFallbacks("--scene-tree-hovered-row-background-color","--scene-tree-cell-background-hover");if(!!((e=this.node)===null||e===void 0?void 0:e.selected)){return s}else if(this.hovered){return n}return t}getCssVariableWithFallbacks(i,...e){const t=[...e].reverse();return[...t,i].reduce(((i,e)=>`var(${e}, ${i})`),"unset")}getIsolateIcon(){if(this.hovered||this.alwaysShowIcons){return"locate"}return undefined}getExpansionIcon(){var i,e,t;if(!((i=this.node)===null||i===void 0?void 0:i.isLeaf)&&!((e=this.node)===null||e===void 0?void 0:e.endItem)){return((t=this.node)===null||t===void 0?void 0:t.expanded)?"chevron-down":"chevron-right"}return undefined}getEndItemIcon(){var i,e,t;if(this.endItemIndicator&&((i=this.node)===null||i===void 0?void 0:i.endItem)&&(!((e=this.node)===null||e===void 0?void 0:e.isLeaf)||((t=this.node)===null||t===void 0?void 0:t.filterHit))){return"lock"}return undefined}getVisibilityIcon(){var i,e,t,s,n;if((this.hovered||this.alwaysShowIcons)&&!((i=this.node)===null||i===void 0?void 0:i.partiallyVisible)&&((e=this.node)===null||e===void 0?void 0:e.visible)){return"eye-open"}else if(!((t=this.node)===null||t===void 0?void 0:t.partiallyVisible)&&!((s=this.node)===null||s===void 0?void 0:s.visible)){return"eye-half"}else if((n=this.node)===null||n===void 0?void 0:n.partiallyVisible){return"eye-half-dotted"}return undefined}get hostEl(){return n(this)}};r.style=d();export{r as vertex_scene_tree_table_cell};
|
|
5
|
+
//# sourceMappingURL=p-72fa9fba.entry.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (c) 2026 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{h as e,F as t,r as i,H as o}from"./p-EpnuuCxl.js";import{q as a,v as r,h as c}from"./p-DfdVaPrt.js";import{r as n}from"./p-GU8pShT_.js";import{O as d,f as s,S as f}from"./p-C0bm56qJ.js";import"./p-BAhfr1Nx.js";import{c as b}from"./p-Dw4-tG-V.js";import"./p-DGi1icY2.js";import"./p-CG9AChtV.js";import"./p-BTXMTkTi.js";const l={front:{direction:r.back(),quaternion:a.create()},back:{direction:r.forward(),quaternion:a.fromAxisAngle(r.up(),Math.PI)},left:{direction:r.left(),quaternion:a.fromAxisAngle(r.down(),Math.PI/2)},right:{direction:r.right(),quaternion:a.fromAxisAngle(r.up(),Math.PI/2)},top:{direction:r.up(),quaternion:a.fromAxisAngle(r.right(),-Math.PI/2)},bottom:{direction:r.down(),quaternion:a.fromAxisAngle(r.left(),-Math.PI/2)}};const h=({label:i,length:o,rotationAxis:n})=>{const d={width:`${o+5}px`};const s=a.fromAxisAngle(n,Math.PI/2);const f=r.scale(o+15,r.right());return e(t,null,e("vertex-viewer-dom-group",{quaternion:s},e("vertex-viewer-dom-element",{style:d,billboardOff:true,interactionsOff:true},e("div",{class:`triad-axis triad-axis-${i.toLowerCase()}`})),e("vertex-viewer-dom-element",{rotation:c.create({x:Math.PI/2,y:0,z:0}),style:d,billboardOff:true,interactionsOff:true},e("div",{class:`triad-axis triad-axis-${i.toLowerCase()}`})),e("vertex-viewer-dom-element",{position:f,interactionsOff:true},e("div",{class:`triad-label triad-label-${i.toLowerCase()}`},i))))};const g=({label:t,length:i,side:o,disabled:a,onPointerDown:c})=>{const{direction:n,quaternion:d}=l[o];const s=r.scale(i/2-.1,n);return e("vertex-viewer-dom-element",{class:b("cube-side",{disabled:a}),position:s,quaternion:d,style:{width:`${i}px`,height:`${i}px`},onPointerDown:c,billboardOff:true},e("div",{class:`cube-side-face cube-side-face-${t.toLowerCase()}`},t))};const v=({length:t,face1Side:i,face1Corner:o,face2Side:a,face2Corner:c,face3Side:n,face3Corner:d,disabled:s,onPointerDown:f})=>{const{direction:h,quaternion:g}=l[i];const{direction:v,quaternion:u}=l[a];const{direction:w,quaternion:p}=l[n];const m=r.scale(t/2,h);const x=r.scale(t/2,v);const y=r.scale(t/2,w);const k={width:`${t}px`,height:`${t}px`};return e("vertex-viewer-dom-group",{class:b("cube-corner",{disabled:s}),onPointerDown:f},e("vertex-viewer-dom-element",{position:m,quaternion:g,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${o}`})),e("vertex-viewer-dom-element",{position:x,quaternion:u,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${c}`})),e("vertex-viewer-dom-element",{position:y,quaternion:p,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${d}`})))};const u=({length:t,face1Side:i,face2Side:o,face1Edge:a,face2Edge:c,disabled:n,onPointerDown:d})=>{const{direction:s,quaternion:f}=l[i];const{direction:h,quaternion:g}=l[o];const v=r.scale(t/2,s);const u=r.scale(t/2,h);const w={width:`${t}px`,height:`${t}px`};return e("vertex-viewer-dom-group",{class:b("cube-edge",{disabled:n}),onPointerDown:d},e("vertex-viewer-dom-element",{position:v,quaternion:f,style:w,billboardOff:true},e("div",{class:`cube-edge-face ${a}`})),e("vertex-viewer-dom-element",{position:u,quaternion:g,style:w,billboardOff:true},e("div",{class:`cube-edge-face ${c}`})))};const w=({length:t})=>{const{direction:i,quaternion:o}=l.top;const a=r.scale(-t/2,i);return e("vertex-viewer-dom-element",{class:"cube-shadow",position:a,quaternion:o,style:{width:`${t}px`,height:`${t}px`},billboardOff:true,interactionsOff:true},e("div",{class:"cube-shadow-face"}))};const p=()=>`:host{--viewer-view-cube-side-background:var(--white);--viewer-view-cube-side-background-hover:var(--blue-500);--viewer-view-cube-side-background-hover-opacity:0.25;--viewer-view-cube-side-border:1.5px solid var(--neutral-500);--viewer-view-cube-edge-length:12px;--viewer-view-cube-opacity:0.8;--viewer-view-cube-triad-x-axis-color:var(--x-axis-color);--viewer-view-cube-triad-y-axis-color:var(--y-axis-color);--viewer-view-cube-triad-z-axis-color:var(--z-axis-color);color:var(--neutral-700);width:80px;height:80px;margin:20px;position:relative;display:flex;align-items:center;justify-content:center;user-select:none}.renderer{position:unset;width:100%;height:100%;overflow:visible !important}.reference-point{width:5px;height:5px;border-radius:50%;background-color:black}.triad{pointer-events:none}.triad-axis{width:100%;height:1.5px;outline:1px solid transparent;transform:translateX(50%)}.triad-axis-x{background-color:#ea3324}.triad-axis-y{background-color:#4faf32}.triad-axis-z{background-color:#0000ff}.triad-label{font-family:Arial, Helvetica, sans-serif;font-size:0.6875rem}.triad-label-x{color:var(--viewer-view-cube-triad-x-axis-color)}.triad-label-y{color:var(--viewer-view-cube-triad-y-axis-color)}.triad-label-z{color:var(--viewer-view-cube-triad-z-axis-color)}.cube{pointer-events:initial}.cube:hover .cube-side-face{opacity:1}.cube-side{backface-visibility:hidden;-webkit-backface-visibility:hidden}.cube-side-face{box-sizing:border-box;font-size:0.875rem;text-transform:uppercase;width:100%;height:100%;background-color:var(--viewer-view-cube-side-background);border:var(--viewer-view-cube-side-border);display:flex;align-items:center;justify-content:center;outline:1px solid transparent;opacity:var(--viewer-view-cube-opacity);transition:opacity 0.2s ease-in-out}.cube-side-face::before{content:'';position:absolute;left:calc(var(--viewer-view-cube-edge-length) - 4px);right:calc(var(--viewer-view-cube-edge-length) - 4px);top:calc(var(--viewer-view-cube-edge-length) - 4px);bottom:calc(var(--viewer-view-cube-edge-length) - 4px)}.cube-corner,.cube-edge{position:relative}.cube-corner-face,.cube-edge-face{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden}.cube-edge-face.top{top:0;left:var(--viewer-view-cube-edge-length);right:var(--viewer-view-cube-edge-length);height:var(--viewer-view-cube-edge-length)}.cube-edge-face.bottom{bottom:0;left:var(--viewer-view-cube-edge-length);right:var(--viewer-view-cube-edge-length);height:var(--viewer-view-cube-edge-length)}.cube-edge-face.left{left:0;top:var(--viewer-view-cube-edge-length);bottom:var(--viewer-view-cube-edge-length);width:var(--viewer-view-cube-edge-length)}.cube-edge-face.right{right:0;top:var(--viewer-view-cube-edge-length);bottom:var(--viewer-view-cube-edge-length);width:var(--viewer-view-cube-edge-length)}.cube-corner-face{width:var(--viewer-view-cube-edge-length);height:var(--viewer-view-cube-edge-length)}.cube-corner-face.top-left{top:0;left:0}.cube-corner-face.top-right{top:0;right:0}.cube-corner-face.bottom-right{bottom:0;right:0}.cube-corner-face.bottom-left{bottom:0;left:0}.cube-shadow{backface-visibility:hidden;-webkit-backface-visibility:hidden}.cube-shadow-face{position:absolute;left:4px;right:4px;top:4px;bottom:4px;background-color:black;opacity:0.12;filter:blur(4px)}.cube-side-face,.cube-corner-face,.cube-edge-face{pointer-events:initial}.cube-corner .cube-corner-face,.cube-edge .cube-edge-face,.cube-side .cube-side-face::before{background:var(--viewer-view-cube-side-background-hover);opacity:0}.cube-corner:hover .cube-corner-face,.cube-edge:hover .cube-edge-face,.cube-side:hover .cube-side-face::before{opacity:var(--viewer-view-cube-side-background-hover-opacity)}.cube-corner.disabled,.cube-edge.disabled,.cube-side.disabled{pointer-events:none}`;const m=class{constructor(e){i(this,e);this.boxLength=80;this.triadPosition=r.origin();this.xPositiveLabel="Right";this.xNegativeLabel="Left";this.yPositiveLabel="Top";this.yNegativeLabel="Bottom";this.zPositiveLabel="Front";this.zNegativeLabel="Back";this.standardViewsOff=false;this.viewAll=true;this.animationDuration=500;this.triadOff=false;this.worldOrientation=d.DEFAULT;this.updateMatrices=()=>{var e;if(((e=this.viewer)===null||e===void 0?void 0:e.frame)!=null){const{camera:e}=this.viewer.frame.scene;const t=this.boxLength/2;this.triadPosition=r.create(-t-5,-t-5,-t-5);const i=3.125;const o=this.boxLength*i;const a=21.5;this.camera=new s(r.scale(o,r.negate(e.direction)),r.origin(),e.up,.1,100,1,a);this.worldOrientation=this.viewer.frame.scene.worldOrientation}}}handleViewerChanged(e,t){t===null||t===void 0?void 0:t.removeEventListener("frameDrawn",this.updateMatrices);e===null||e===void 0?void 0:e.addEventListener("frameDrawn",this.updateMatrices);this.updateMatrices()}handleStandardView(e){if(this.standardViewsOff){return async()=>undefined}else{return async()=>{if(this.viewer!=null){const t=await this.viewer.scene();const i=this.animationDuration>0?{animation:{milliseconds:this.animationDuration}}:{};const o=e.transformMatrix(this.worldOrientation.matrix);const a=t.boundingBox();if(!this.viewAll){t.camera().standardViewFixedLookAt(o).render(i)}else if((a===null||a===void 0?void 0:a.max)!=null&&r.isEqual(a.max,r.origin())&&r.isEqual(a.min,r.origin())){t.camera().standardView(o).render(i)}else{t.camera().standardView(o).viewAll().render(i)}}}}}componentWillLoad(){this.handleViewerChanged(this.viewer)}componentDidLoad(){if(this.rendererEl!=null){const e=new ResizeObserver((()=>this.handleRendererResized()));e.observe(this.rendererEl);this.handleRendererResized()}}handleRendererResized(){n((()=>{if(this.rendererEl!=null){const e=this.rendererEl.getBoundingClientRect();this.boxLength=Math.min(e.width,e.height)}}))}render(){return e(o,{key:"3e723ac47709db472f6f53e96679139fae0e3f58"},e("vertex-viewer-dom-renderer",{key:"f6cd68e61014aedc6978ec4590d3b8af6bacc39a",ref:e=>this.rendererEl=e,class:"renderer",camera:this.camera},!this.triadOff&&e("vertex-viewer-dom-group",{key:"77bd1b532d5cddeffddfa933716926e4cd97d858",class:"triad",position:this.triadPosition},e(h,{key:"fc954790f8b1e94a0fcbce27a877438f70f690b3",label:"X",length:this.boxLength,rotationAxis:r.origin()}),e(h,{key:"55f8abd997774fa75b59cc25ee367f97e26d8d0e",label:"Y",length:this.boxLength,rotationAxis:r.back()}),e(h,{key:"0edd14df8831e142e7b716c19195372d0ca9b540",label:"Z",length:this.boxLength,rotationAxis:r.down()})),e("vertex-viewer-dom-group",{key:"44c2aa6567000ff3a8b605bfcacff9edea99ad49",class:"cube",matrix:this.worldOrientation.matrix},e(w,{key:"6d332b76534a1792e476d5af4c9928b655245699",length:this.boxLength+10}),e(g,{key:"e912dbdcfd3587e6d889b314da97d4831a5f5820",label:this.zPositiveLabel,length:this.boxLength,side:"front",onPointerDown:this.handleStandardView(f.FRONT),disabled:this.standardViewsOff}),e(g,{key:"9018644613e72bf4f605893e8b802e54e49d7a60",label:this.zNegativeLabel,length:this.boxLength,side:"back",onPointerDown:this.handleStandardView(f.BACK),disabled:this.standardViewsOff}),e(g,{key:"6f3018e38983ee92dd0d237e1f5e8d583ffc5868",label:this.xNegativeLabel,length:this.boxLength,side:"left",onPointerDown:this.handleStandardView(f.LEFT),disabled:this.standardViewsOff}),e(g,{key:"6ad9a228a8f08ed5834e817eb251459a2b790228",label:this.xPositiveLabel,length:this.boxLength,side:"right",onPointerDown:this.handleStandardView(f.RIGHT),disabled:this.standardViewsOff}),e(g,{key:"65444fe7463cc93010f697895259616e2c951185",label:this.yPositiveLabel,length:this.boxLength,side:"top",onPointerDown:this.handleStandardView(f.TOP),disabled:this.standardViewsOff}),e(g,{key:"69bd39a0e0c282d7699fbc43bb8162b5058b2725",label:this.yNegativeLabel,length:this.boxLength,side:"bottom",onPointerDown:this.handleStandardView(f.BOTTOM),disabled:this.standardViewsOff}),e(u,{key:"bff49b1af1febb826d2566f78f44e198e724980a",length:this.boxLength,face1Side:"top",face1Edge:"bottom",face2Side:"front",face2Edge:"top",onPointerDown:this.handleStandardView(f.TOP_FRONT),disabled:this.standardViewsOff}),e(u,{key:"d218a084a54b52b791b6ee905d572fc4c5f2067e",length:this.boxLength,face1Side:"front",face1Edge:"right",face2Side:"right",face2Edge:"left",onPointerDown:this.handleStandardView(f.FRONT_LEFT),disabled:this.standardViewsOff}),e(u,{key:"55cdc6e8ed92a5d04605648cfba59e503d74b17a",length:this.boxLength,face1Side:"bottom",face1Edge:"top",face2Side:"front",face2Edge:"bottom",onPointerDown:this.handleStandardView(f.BOTTOM_FRONT),disabled:this.standardViewsOff}),e(u,{key:"e560d8a890575295b0b66391ef6edfa86a352479",length:this.boxLength,face1Side:"front",face1Edge:"left",face2Side:"left",face2Edge:"right",onPointerDown:this.handleStandardView(f.FRONT_RIGHT),disabled:this.standardViewsOff}),e(u,{key:"92175bcdb02a1ac0c69ecf060bf7ab8276bba30b",length:this.boxLength,face1Side:"top",face1Edge:"right",face2Side:"right",face2Edge:"top",onPointerDown:this.handleStandardView(f.TOP_LEFT),disabled:this.standardViewsOff}),e(u,{key:"5c25934c6add8941aeffebf91e5d2755f736171a",length:this.boxLength,face1Side:"back",face1Edge:"left",face2Side:"right",face2Edge:"right",onPointerDown:this.handleStandardView(f.BACK_LEFT),disabled:this.standardViewsOff}),e(u,{key:"573f648180a2ded37d05f53d54a09b594a745838",length:this.boxLength,face1Side:"bottom",face1Edge:"right",face2Side:"right",face2Edge:"bottom",onPointerDown:this.handleStandardView(f.BOTTOM_LEFT),disabled:this.standardViewsOff}),e(u,{key:"0736e5ce0c74c217eb597d05d9cb322176c6c26e",length:this.boxLength,face1Side:"top",face1Edge:"top",face2Side:"back",face2Edge:"top",onPointerDown:this.handleStandardView(f.TOP_BACK),disabled:this.standardViewsOff}),e(u,{key:"2621bf73adcbdcbed213ebf1bff5c0441066dfde",length:this.boxLength,face1Side:"back",face1Edge:"right",face2Side:"left",face2Edge:"left",onPointerDown:this.handleStandardView(f.BACK_RIGHT),disabled:this.standardViewsOff}),e(u,{key:"a7ce12b7104292548a2f39c3c21be1bbfb741008",length:this.boxLength,face1Side:"bottom",face1Edge:"bottom",face2Side:"back",face2Edge:"bottom",onPointerDown:this.handleStandardView(f.BOTTOM_BACK),disabled:this.standardViewsOff}),e(u,{key:"6d51d0af13c7f6058e43d87b3b74c7f79dcd6372",length:this.boxLength,face1Side:"top",face1Edge:"left",face2Side:"left",face2Edge:"top",onPointerDown:this.handleStandardView(f.TOP_RIGHT),disabled:this.standardViewsOff}),e(u,{key:"6391a20b84bf91a6e6a8bce623fa402d02992b1b",length:this.boxLength,face1Side:"bottom",face1Edge:"left",face2Side:"left",face2Edge:"bottom",onPointerDown:this.handleStandardView(f.BOTTOM_RIGHT),disabled:this.standardViewsOff}),e(v,{key:"119cdae569b4ac1abdc5929be9e789d7459b3d4d",length:this.boxLength,face1Side:"top",face1Corner:"bottom-left",face2Side:"front",face2Corner:"top-left",face3Side:"left",face3Corner:"top-right",onPointerDown:this.handleStandardView(f.TOP_FRONT_RIGHT),disabled:this.standardViewsOff}),e(v,{key:"607d1c0db03091fe6fe49ff8bb3f1d2e4e9ee737",length:this.boxLength,face1Side:"top",face1Corner:"bottom-right",face2Side:"front",face2Corner:"top-right",face3Side:"right",face3Corner:"top-left",onPointerDown:this.handleStandardView(f.TOP_FRONT_LEFT),disabled:this.standardViewsOff}),e(v,{key:"bf417c48dc652d2692d6a122cd8aa4f9aae65331",length:this.boxLength,face1Side:"bottom",face1Corner:"top-right",face2Side:"front",face2Corner:"bottom-right",face3Side:"right",face3Corner:"bottom-left",onPointerDown:this.handleStandardView(f.BOTTOM_FRONT_LEFT),disabled:this.standardViewsOff}),e(v,{key:"59f7db859f9d06921e2fa3c30fa2527bc95ff3ce",length:this.boxLength,face1Side:"bottom",face1Corner:"top-left",face2Side:"front",face2Corner:"bottom-left",face3Side:"left",face3Corner:"bottom-right",onPointerDown:this.handleStandardView(f.BOTTOM_FRONT_RIGHT),disabled:this.standardViewsOff}),e(v,{key:"f8eb7ba2b8b9384c6fed7f1e930eb872599b7372",length:this.boxLength,face1Side:"top",face1Corner:"top-right",face2Side:"back",face2Corner:"top-left",face3Side:"right",face3Corner:"top-right",onPointerDown:this.handleStandardView(f.TOP_BACK_LEFT),disabled:this.standardViewsOff}),e(v,{key:"122f91a6146b62e145d0e710b8d1b7605b744073",length:this.boxLength,face1Side:"top",face1Corner:"top-left",face2Side:"back",face2Corner:"top-right",face3Side:"left",face3Corner:"top-left",onPointerDown:this.handleStandardView(f.TOP_BACK_RIGHT),disabled:this.standardViewsOff}),e(v,{key:"4114134608fa6903bd0226a541d153175418102b",length:this.boxLength,face1Side:"bottom",face1Corner:"bottom-left",face2Side:"back",face2Corner:"bottom-right",face3Side:"left",face3Corner:"bottom-left",onPointerDown:this.handleStandardView(f.BOTTOM_BACK_RIGHT),disabled:this.standardViewsOff}),e(v,{key:"1d4fd46fb9edf0821e3e611c863837d1e9bc7ec8",length:this.boxLength,face1Side:"bottom",face1Corner:"bottom-right",face2Side:"back",face2Corner:"bottom-left",face3Side:"right",face3Corner:"bottom-right",onPointerDown:this.handleStandardView(f.BOTTOM_BACK_LEFT),disabled:this.standardViewsOff}))))}static get watchers(){return{viewer:[{handleViewerChanged:0}]}}};m.style=p();export{m as vertex_viewer_view_cube};
|
|
5
|
-
//# sourceMappingURL=p-
|
|
4
|
+
import{h as e,F as t,r as i,H as o}from"./p-EpnuuCxl.js";import{q as a,v as r,h as c}from"./p-DfdVaPrt.js";import{r as n}from"./p-GU8pShT_.js";import{O as d,f as s,S as f}from"./p-CrcoZmKt.js";import"./p-BAhfr1Nx.js";import{c as b}from"./p-Dw4-tG-V.js";import"./p-DGi1icY2.js";import"./p-CG9AChtV.js";import"./p-BTXMTkTi.js";const l={front:{direction:r.back(),quaternion:a.create()},back:{direction:r.forward(),quaternion:a.fromAxisAngle(r.up(),Math.PI)},left:{direction:r.left(),quaternion:a.fromAxisAngle(r.down(),Math.PI/2)},right:{direction:r.right(),quaternion:a.fromAxisAngle(r.up(),Math.PI/2)},top:{direction:r.up(),quaternion:a.fromAxisAngle(r.right(),-Math.PI/2)},bottom:{direction:r.down(),quaternion:a.fromAxisAngle(r.left(),-Math.PI/2)}};const h=({label:i,length:o,rotationAxis:n})=>{const d={width:`${o+5}px`};const s=a.fromAxisAngle(n,Math.PI/2);const f=r.scale(o+15,r.right());return e(t,null,e("vertex-viewer-dom-group",{quaternion:s},e("vertex-viewer-dom-element",{style:d,billboardOff:true,interactionsOff:true},e("div",{class:`triad-axis triad-axis-${i.toLowerCase()}`})),e("vertex-viewer-dom-element",{rotation:c.create({x:Math.PI/2,y:0,z:0}),style:d,billboardOff:true,interactionsOff:true},e("div",{class:`triad-axis triad-axis-${i.toLowerCase()}`})),e("vertex-viewer-dom-element",{position:f,interactionsOff:true},e("div",{class:`triad-label triad-label-${i.toLowerCase()}`},i))))};const g=({label:t,length:i,side:o,disabled:a,onPointerDown:c})=>{const{direction:n,quaternion:d}=l[o];const s=r.scale(i/2-.1,n);return e("vertex-viewer-dom-element",{class:b("cube-side",{disabled:a}),position:s,quaternion:d,style:{width:`${i}px`,height:`${i}px`},onPointerDown:c,billboardOff:true},e("div",{class:`cube-side-face cube-side-face-${t.toLowerCase()}`},t))};const v=({length:t,face1Side:i,face1Corner:o,face2Side:a,face2Corner:c,face3Side:n,face3Corner:d,disabled:s,onPointerDown:f})=>{const{direction:h,quaternion:g}=l[i];const{direction:v,quaternion:u}=l[a];const{direction:w,quaternion:p}=l[n];const m=r.scale(t/2,h);const x=r.scale(t/2,v);const y=r.scale(t/2,w);const k={width:`${t}px`,height:`${t}px`};return e("vertex-viewer-dom-group",{class:b("cube-corner",{disabled:s}),onPointerDown:f},e("vertex-viewer-dom-element",{position:m,quaternion:g,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${o}`})),e("vertex-viewer-dom-element",{position:x,quaternion:u,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${c}`})),e("vertex-viewer-dom-element",{position:y,quaternion:p,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${d}`})))};const u=({length:t,face1Side:i,face2Side:o,face1Edge:a,face2Edge:c,disabled:n,onPointerDown:d})=>{const{direction:s,quaternion:f}=l[i];const{direction:h,quaternion:g}=l[o];const v=r.scale(t/2,s);const u=r.scale(t/2,h);const w={width:`${t}px`,height:`${t}px`};return e("vertex-viewer-dom-group",{class:b("cube-edge",{disabled:n}),onPointerDown:d},e("vertex-viewer-dom-element",{position:v,quaternion:f,style:w,billboardOff:true},e("div",{class:`cube-edge-face ${a}`})),e("vertex-viewer-dom-element",{position:u,quaternion:g,style:w,billboardOff:true},e("div",{class:`cube-edge-face ${c}`})))};const w=({length:t})=>{const{direction:i,quaternion:o}=l.top;const a=r.scale(-t/2,i);return e("vertex-viewer-dom-element",{class:"cube-shadow",position:a,quaternion:o,style:{width:`${t}px`,height:`${t}px`},billboardOff:true,interactionsOff:true},e("div",{class:"cube-shadow-face"}))};const p=()=>`:host{--viewer-view-cube-side-background:var(--white);--viewer-view-cube-side-background-hover:var(--blue-500);--viewer-view-cube-side-background-hover-opacity:0.25;--viewer-view-cube-side-border:1.5px solid var(--neutral-500);--viewer-view-cube-edge-length:12px;--viewer-view-cube-opacity:0.8;--viewer-view-cube-triad-x-axis-color:var(--x-axis-color);--viewer-view-cube-triad-y-axis-color:var(--y-axis-color);--viewer-view-cube-triad-z-axis-color:var(--z-axis-color);color:var(--neutral-700);width:80px;height:80px;margin:20px;position:relative;display:flex;align-items:center;justify-content:center;user-select:none}.renderer{position:unset;width:100%;height:100%;overflow:visible !important}.reference-point{width:5px;height:5px;border-radius:50%;background-color:black}.triad{pointer-events:none}.triad-axis{width:100%;height:1.5px;outline:1px solid transparent;transform:translateX(50%)}.triad-axis-x{background-color:#ea3324}.triad-axis-y{background-color:#4faf32}.triad-axis-z{background-color:#0000ff}.triad-label{font-family:Arial, Helvetica, sans-serif;font-size:0.6875rem}.triad-label-x{color:var(--viewer-view-cube-triad-x-axis-color)}.triad-label-y{color:var(--viewer-view-cube-triad-y-axis-color)}.triad-label-z{color:var(--viewer-view-cube-triad-z-axis-color)}.cube{pointer-events:initial}.cube:hover .cube-side-face{opacity:1}.cube-side{backface-visibility:hidden;-webkit-backface-visibility:hidden}.cube-side-face{box-sizing:border-box;font-size:0.875rem;text-transform:uppercase;width:100%;height:100%;background-color:var(--viewer-view-cube-side-background);border:var(--viewer-view-cube-side-border);display:flex;align-items:center;justify-content:center;outline:1px solid transparent;opacity:var(--viewer-view-cube-opacity);transition:opacity 0.2s ease-in-out}.cube-side-face::before{content:'';position:absolute;left:calc(var(--viewer-view-cube-edge-length) - 4px);right:calc(var(--viewer-view-cube-edge-length) - 4px);top:calc(var(--viewer-view-cube-edge-length) - 4px);bottom:calc(var(--viewer-view-cube-edge-length) - 4px)}.cube-corner,.cube-edge{position:relative}.cube-corner-face,.cube-edge-face{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden}.cube-edge-face.top{top:0;left:var(--viewer-view-cube-edge-length);right:var(--viewer-view-cube-edge-length);height:var(--viewer-view-cube-edge-length)}.cube-edge-face.bottom{bottom:0;left:var(--viewer-view-cube-edge-length);right:var(--viewer-view-cube-edge-length);height:var(--viewer-view-cube-edge-length)}.cube-edge-face.left{left:0;top:var(--viewer-view-cube-edge-length);bottom:var(--viewer-view-cube-edge-length);width:var(--viewer-view-cube-edge-length)}.cube-edge-face.right{right:0;top:var(--viewer-view-cube-edge-length);bottom:var(--viewer-view-cube-edge-length);width:var(--viewer-view-cube-edge-length)}.cube-corner-face{width:var(--viewer-view-cube-edge-length);height:var(--viewer-view-cube-edge-length)}.cube-corner-face.top-left{top:0;left:0}.cube-corner-face.top-right{top:0;right:0}.cube-corner-face.bottom-right{bottom:0;right:0}.cube-corner-face.bottom-left{bottom:0;left:0}.cube-shadow{backface-visibility:hidden;-webkit-backface-visibility:hidden}.cube-shadow-face{position:absolute;left:4px;right:4px;top:4px;bottom:4px;background-color:black;opacity:0.12;filter:blur(4px)}.cube-side-face,.cube-corner-face,.cube-edge-face{pointer-events:initial}.cube-corner .cube-corner-face,.cube-edge .cube-edge-face,.cube-side .cube-side-face::before{background:var(--viewer-view-cube-side-background-hover);opacity:0}.cube-corner:hover .cube-corner-face,.cube-edge:hover .cube-edge-face,.cube-side:hover .cube-side-face::before{opacity:var(--viewer-view-cube-side-background-hover-opacity)}.cube-corner.disabled,.cube-edge.disabled,.cube-side.disabled{pointer-events:none}`;const m=class{constructor(e){i(this,e);this.boxLength=80;this.triadPosition=r.origin();this.xPositiveLabel="Right";this.xNegativeLabel="Left";this.yPositiveLabel="Top";this.yNegativeLabel="Bottom";this.zPositiveLabel="Front";this.zNegativeLabel="Back";this.standardViewsOff=false;this.viewAll=true;this.animationDuration=500;this.triadOff=false;this.worldOrientation=d.DEFAULT;this.updateMatrices=()=>{var e;if(((e=this.viewer)===null||e===void 0?void 0:e.frame)!=null){const{camera:e}=this.viewer.frame.scene;const t=this.boxLength/2;this.triadPosition=r.create(-t-5,-t-5,-t-5);const i=3.125;const o=this.boxLength*i;const a=21.5;this.camera=new s(r.scale(o,r.negate(e.direction)),r.origin(),e.up,.1,100,1,a);this.worldOrientation=this.viewer.frame.scene.worldOrientation}}}handleViewerChanged(e,t){t===null||t===void 0?void 0:t.removeEventListener("frameDrawn",this.updateMatrices);e===null||e===void 0?void 0:e.addEventListener("frameDrawn",this.updateMatrices);this.updateMatrices()}handleStandardView(e){if(this.standardViewsOff){return async()=>undefined}else{return async()=>{if(this.viewer!=null){const t=await this.viewer.scene();const i=this.animationDuration>0?{animation:{milliseconds:this.animationDuration}}:{};const o=e.transformMatrix(this.worldOrientation.matrix);const a=t.boundingBox();if(!this.viewAll){t.camera().standardViewFixedLookAt(o).render(i)}else if((a===null||a===void 0?void 0:a.max)!=null&&r.isEqual(a.max,r.origin())&&r.isEqual(a.min,r.origin())){t.camera().standardView(o).render(i)}else{t.camera().standardView(o).viewAll().render(i)}}}}}componentWillLoad(){this.handleViewerChanged(this.viewer)}componentDidLoad(){if(this.rendererEl!=null){const e=new ResizeObserver((()=>this.handleRendererResized()));e.observe(this.rendererEl);this.handleRendererResized()}}handleRendererResized(){n((()=>{if(this.rendererEl!=null){const e=this.rendererEl.getBoundingClientRect();this.boxLength=Math.min(e.width,e.height)}}))}render(){return e(o,{key:"3e723ac47709db472f6f53e96679139fae0e3f58"},e("vertex-viewer-dom-renderer",{key:"f6cd68e61014aedc6978ec4590d3b8af6bacc39a",ref:e=>this.rendererEl=e,class:"renderer",camera:this.camera},!this.triadOff&&e("vertex-viewer-dom-group",{key:"77bd1b532d5cddeffddfa933716926e4cd97d858",class:"triad",position:this.triadPosition},e(h,{key:"fc954790f8b1e94a0fcbce27a877438f70f690b3",label:"X",length:this.boxLength,rotationAxis:r.origin()}),e(h,{key:"55f8abd997774fa75b59cc25ee367f97e26d8d0e",label:"Y",length:this.boxLength,rotationAxis:r.back()}),e(h,{key:"0edd14df8831e142e7b716c19195372d0ca9b540",label:"Z",length:this.boxLength,rotationAxis:r.down()})),e("vertex-viewer-dom-group",{key:"44c2aa6567000ff3a8b605bfcacff9edea99ad49",class:"cube",matrix:this.worldOrientation.matrix},e(w,{key:"6d332b76534a1792e476d5af4c9928b655245699",length:this.boxLength+10}),e(g,{key:"e912dbdcfd3587e6d889b314da97d4831a5f5820",label:this.zPositiveLabel,length:this.boxLength,side:"front",onPointerDown:this.handleStandardView(f.FRONT),disabled:this.standardViewsOff}),e(g,{key:"9018644613e72bf4f605893e8b802e54e49d7a60",label:this.zNegativeLabel,length:this.boxLength,side:"back",onPointerDown:this.handleStandardView(f.BACK),disabled:this.standardViewsOff}),e(g,{key:"6f3018e38983ee92dd0d237e1f5e8d583ffc5868",label:this.xNegativeLabel,length:this.boxLength,side:"left",onPointerDown:this.handleStandardView(f.LEFT),disabled:this.standardViewsOff}),e(g,{key:"6ad9a228a8f08ed5834e817eb251459a2b790228",label:this.xPositiveLabel,length:this.boxLength,side:"right",onPointerDown:this.handleStandardView(f.RIGHT),disabled:this.standardViewsOff}),e(g,{key:"65444fe7463cc93010f697895259616e2c951185",label:this.yPositiveLabel,length:this.boxLength,side:"top",onPointerDown:this.handleStandardView(f.TOP),disabled:this.standardViewsOff}),e(g,{key:"69bd39a0e0c282d7699fbc43bb8162b5058b2725",label:this.yNegativeLabel,length:this.boxLength,side:"bottom",onPointerDown:this.handleStandardView(f.BOTTOM),disabled:this.standardViewsOff}),e(u,{key:"bff49b1af1febb826d2566f78f44e198e724980a",length:this.boxLength,face1Side:"top",face1Edge:"bottom",face2Side:"front",face2Edge:"top",onPointerDown:this.handleStandardView(f.TOP_FRONT),disabled:this.standardViewsOff}),e(u,{key:"d218a084a54b52b791b6ee905d572fc4c5f2067e",length:this.boxLength,face1Side:"front",face1Edge:"right",face2Side:"right",face2Edge:"left",onPointerDown:this.handleStandardView(f.FRONT_LEFT),disabled:this.standardViewsOff}),e(u,{key:"55cdc6e8ed92a5d04605648cfba59e503d74b17a",length:this.boxLength,face1Side:"bottom",face1Edge:"top",face2Side:"front",face2Edge:"bottom",onPointerDown:this.handleStandardView(f.BOTTOM_FRONT),disabled:this.standardViewsOff}),e(u,{key:"e560d8a890575295b0b66391ef6edfa86a352479",length:this.boxLength,face1Side:"front",face1Edge:"left",face2Side:"left",face2Edge:"right",onPointerDown:this.handleStandardView(f.FRONT_RIGHT),disabled:this.standardViewsOff}),e(u,{key:"92175bcdb02a1ac0c69ecf060bf7ab8276bba30b",length:this.boxLength,face1Side:"top",face1Edge:"right",face2Side:"right",face2Edge:"top",onPointerDown:this.handleStandardView(f.TOP_LEFT),disabled:this.standardViewsOff}),e(u,{key:"5c25934c6add8941aeffebf91e5d2755f736171a",length:this.boxLength,face1Side:"back",face1Edge:"left",face2Side:"right",face2Edge:"right",onPointerDown:this.handleStandardView(f.BACK_LEFT),disabled:this.standardViewsOff}),e(u,{key:"573f648180a2ded37d05f53d54a09b594a745838",length:this.boxLength,face1Side:"bottom",face1Edge:"right",face2Side:"right",face2Edge:"bottom",onPointerDown:this.handleStandardView(f.BOTTOM_LEFT),disabled:this.standardViewsOff}),e(u,{key:"0736e5ce0c74c217eb597d05d9cb322176c6c26e",length:this.boxLength,face1Side:"top",face1Edge:"top",face2Side:"back",face2Edge:"top",onPointerDown:this.handleStandardView(f.TOP_BACK),disabled:this.standardViewsOff}),e(u,{key:"2621bf73adcbdcbed213ebf1bff5c0441066dfde",length:this.boxLength,face1Side:"back",face1Edge:"right",face2Side:"left",face2Edge:"left",onPointerDown:this.handleStandardView(f.BACK_RIGHT),disabled:this.standardViewsOff}),e(u,{key:"a7ce12b7104292548a2f39c3c21be1bbfb741008",length:this.boxLength,face1Side:"bottom",face1Edge:"bottom",face2Side:"back",face2Edge:"bottom",onPointerDown:this.handleStandardView(f.BOTTOM_BACK),disabled:this.standardViewsOff}),e(u,{key:"6d51d0af13c7f6058e43d87b3b74c7f79dcd6372",length:this.boxLength,face1Side:"top",face1Edge:"left",face2Side:"left",face2Edge:"top",onPointerDown:this.handleStandardView(f.TOP_RIGHT),disabled:this.standardViewsOff}),e(u,{key:"6391a20b84bf91a6e6a8bce623fa402d02992b1b",length:this.boxLength,face1Side:"bottom",face1Edge:"left",face2Side:"left",face2Edge:"bottom",onPointerDown:this.handleStandardView(f.BOTTOM_RIGHT),disabled:this.standardViewsOff}),e(v,{key:"119cdae569b4ac1abdc5929be9e789d7459b3d4d",length:this.boxLength,face1Side:"top",face1Corner:"bottom-left",face2Side:"front",face2Corner:"top-left",face3Side:"left",face3Corner:"top-right",onPointerDown:this.handleStandardView(f.TOP_FRONT_RIGHT),disabled:this.standardViewsOff}),e(v,{key:"607d1c0db03091fe6fe49ff8bb3f1d2e4e9ee737",length:this.boxLength,face1Side:"top",face1Corner:"bottom-right",face2Side:"front",face2Corner:"top-right",face3Side:"right",face3Corner:"top-left",onPointerDown:this.handleStandardView(f.TOP_FRONT_LEFT),disabled:this.standardViewsOff}),e(v,{key:"bf417c48dc652d2692d6a122cd8aa4f9aae65331",length:this.boxLength,face1Side:"bottom",face1Corner:"top-right",face2Side:"front",face2Corner:"bottom-right",face3Side:"right",face3Corner:"bottom-left",onPointerDown:this.handleStandardView(f.BOTTOM_FRONT_LEFT),disabled:this.standardViewsOff}),e(v,{key:"59f7db859f9d06921e2fa3c30fa2527bc95ff3ce",length:this.boxLength,face1Side:"bottom",face1Corner:"top-left",face2Side:"front",face2Corner:"bottom-left",face3Side:"left",face3Corner:"bottom-right",onPointerDown:this.handleStandardView(f.BOTTOM_FRONT_RIGHT),disabled:this.standardViewsOff}),e(v,{key:"f8eb7ba2b8b9384c6fed7f1e930eb872599b7372",length:this.boxLength,face1Side:"top",face1Corner:"top-right",face2Side:"back",face2Corner:"top-left",face3Side:"right",face3Corner:"top-right",onPointerDown:this.handleStandardView(f.TOP_BACK_LEFT),disabled:this.standardViewsOff}),e(v,{key:"122f91a6146b62e145d0e710b8d1b7605b744073",length:this.boxLength,face1Side:"top",face1Corner:"top-left",face2Side:"back",face2Corner:"top-right",face3Side:"left",face3Corner:"top-left",onPointerDown:this.handleStandardView(f.TOP_BACK_RIGHT),disabled:this.standardViewsOff}),e(v,{key:"4114134608fa6903bd0226a541d153175418102b",length:this.boxLength,face1Side:"bottom",face1Corner:"bottom-left",face2Side:"back",face2Corner:"bottom-right",face3Side:"left",face3Corner:"bottom-left",onPointerDown:this.handleStandardView(f.BOTTOM_BACK_RIGHT),disabled:this.standardViewsOff}),e(v,{key:"1d4fd46fb9edf0821e3e611c863837d1e9bc7ec8",length:this.boxLength,face1Side:"bottom",face1Corner:"bottom-right",face2Side:"back",face2Corner:"bottom-left",face3Side:"right",face3Corner:"bottom-right",onPointerDown:this.handleStandardView(f.BOTTOM_BACK_LEFT),disabled:this.standardViewsOff}))))}static get watchers(){return{viewer:[{handleViewerChanged:0}]}}};m.style=p();export{m as vertex_viewer_view_cube};
|
|
5
|
+
//# sourceMappingURL=p-81391d86.entry.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (c) 2026 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{m as t,a as s,g as i}from"./p-
|
|
5
|
-
//# sourceMappingURL=p-
|
|
4
|
+
import{m as t,a as s,g as i}from"./p-F9YPK1I7.js";import{s as n,w as e}from"./p-CndtfiJ3.js";import{r,c as o}from"./p-CjG1fMh1.js";import{v as h}from"./p-DGi1icY2.js";import{m as a}from"./p-BTXMTkTi.js";import{n as c}from"./p-CrcoZmKt.js";class m{constructor(t,s,i,n){this.model=t;this.client=s;this.jwtProvider=i;this.deviceId=n;this.outcome=Promise.resolve(undefined)}addEntity(t){return this.performMeasurement((()=>this.model.addEntity(t)))}clearEntities(){return this.performMeasurement((()=>{this.model.clearEntities();this.model.clearOutcome();return true}))}removeEntity(t){return this.performMeasurement((()=>this.model.removeEntity(t)))}setEntities(t){return this.performMeasurement((()=>this.model.setEntities(t)))}performMeasurement(t){const s=this.model.getEntities();const i=t();const n=this.model.getEntities();if(i){this.measureAndUpdateModel(n);this.highlightEntities(s,n)}return this.outcome}measureAndUpdateModel(t){if(t.length>0){this.outcome=this.measureEntities(t).then((t=>{this.model.setOutcome(t);return this.model.getOutcome()}))}else{this.outcome=Promise.resolve(undefined)}}async measureEntities(s){if(s.length>0){const i=await r((async t=>{const i=await o(this.jwtProvider,this.deviceId);const e=new n.MeasureRequest;e.setEntitiesList(s.map((t=>t.toProto())));this.client.measure(e,i,t)}));return t(i.toObject())}else{return undefined}}async highlightEntities(t,i){await r((async r=>{const h=await o(this.jwtProvider,this.deviceId);const a=new Set(i);const c=t.filter((t=>!a.has(t)));const m=c.map((t=>{const i=new n.ModelEntityUpdate;i.setModelEntity(s.ModelEntity.deserializeBinary(t.modelEntity));i.setHighlight((new e.BoolValue).setValue(false));return i}));const u=i.map((t=>{const i=new n.ModelEntityUpdate;i.setModelEntity(s.ModelEntity.deserializeBinary(t.modelEntity));i.setHighlight((new e.BoolValue).setValue(true));return i}));const f=new n.UpdateModelEntitiesRequest;f.setUpdatesList([...m,...u]);this.client.updateModelEntities(f,h,r)}))}}class u{constructor(t,s){this.point=t;this.modelEntity=s}static fromHit(t){if(t.hitPoint!=null&&t.modelEntity!=null){const s=a.ifInvalidThrow(c)(t.hitPoint);const i=h.protobuf.core.ModelEntity.encode(t.modelEntity).finish();return new u(s,i)}else{throw new Error("Cannot create MeasurementEntity from Hit. Hit is missing hit point and model entity")}}toProto(){const t=new n.MeasureEntity;const e=new i.Vector3f;e.setX(this.point.x);e.setY(this.point.y);e.setZ(this.point.z);t.setPoint(e);const r=s.ModelEntity.deserializeBinary(this.modelEntity);t.setModelEntity(r);return t}}export{m as M,u as a};
|
|
5
|
+
//# sourceMappingURL=p-B7mOY-Vi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-5VxzXVFc.js","sources":["src/lib/measurement/controller.ts","src/lib/measurement/entities.ts"],"sourcesContent":["import { ModelEntity } from '@vertexvis/scene-view-protos/core/protos/model_entity_pb';\nimport {\n MeasureRequest,\n MeasureResponse,\n ModelEntityUpdate,\n UpdateModelEntitiesRequest,\n} from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { SceneViewAPIClient } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb_service';\nimport { BoolValue } from 'google-protobuf/google/protobuf/wrappers_pb';\n\nimport { createMetadata, JwtProvider, requestUnary } from '../grpc';\nimport { MeasurementEntity } from './entities';\nimport { mapMeasureResponseOrThrow } from './mapper';\nimport { MeasurementModel } from './model';\nimport { MeasurementOutcome } from './outcomes';\n\n/**\n * The `MeasurementController` is responsible for performing measurements of\n * registered entities, and updating the model with their measurement results.\n */\nexport class MeasurementController {\n private outcome = Promise.resolve<MeasurementOutcome | undefined>(undefined);\n\n public constructor(\n private model: MeasurementModel,\n private client: SceneViewAPIClient,\n private jwtProvider: JwtProvider,\n private deviceId: string | undefined\n ) {}\n\n /**\n * Registers an entity to measure and performs a measurement if this entity\n * has not been previously registered.\n *\n * @param entity The entity to measure.\n * @returns A promise that resolves with the results after registering this\n * entity.\n */\n public addEntity(\n entity: MeasurementEntity\n ): Promise<MeasurementOutcome | undefined> {\n return this.performMeasurement(() => this.model.addEntity(entity));\n }\n\n /**\n * Clears all entities and returns a promise that resolves with an empty list\n * of measurement results.\n */\n public clearEntities(): Promise<MeasurementOutcome | undefined> {\n return this.performMeasurement(() => {\n this.model.clearEntities();\n this.model.clearOutcome();\n return true;\n });\n }\n\n /**\n * Deregisters an entity and performs a measurement if this entity was\n * removed.\n *\n * @param entity The entity to remove.\n * @returns A promise that resolves with the results after removing this\n * entity.\n */\n public removeEntity(\n entity: MeasurementEntity\n ): Promise<MeasurementOutcome | undefined> {\n return this.performMeasurement(() => this.model.removeEntity(entity));\n }\n\n /**\n * Registers a set of entities and performs a measurement\n *\n * @param entities The entities to measure.\n * @returns A promise that resolves with the results after registering these\n * entities.\n */\n public setEntities(\n entities: Set<MeasurementEntity>\n ): Promise<MeasurementOutcome | undefined> {\n return this.performMeasurement(() => this.model.setEntities(entities));\n }\n\n private performMeasurement(\n effect: () => boolean\n ): Promise<MeasurementOutcome | undefined> {\n const previous = this.model.getEntities();\n const changed = effect();\n const entities = this.model.getEntities();\n if (changed) {\n this.measureAndUpdateModel(entities);\n this.highlightEntities(previous, entities);\n }\n return this.outcome;\n }\n\n private measureAndUpdateModel(entities: MeasurementEntity[]): void {\n if (entities.length > 0) {\n this.outcome = this.measureEntities(entities).then((outcome) => {\n this.model.setOutcome(outcome);\n return this.model.getOutcome();\n });\n } else {\n this.outcome = Promise.resolve(undefined);\n }\n }\n\n private async measureEntities(\n entities: MeasurementEntity[]\n ): Promise<MeasurementOutcome | undefined> {\n if (entities.length > 0) {\n const res = await requestUnary<MeasureResponse>(async (handler) => {\n const meta = await createMetadata(this.jwtProvider, this.deviceId);\n const req = new MeasureRequest();\n req.setEntitiesList(entities.map((e) => e.toProto()));\n\n this.client.measure(req, meta, handler);\n });\n\n return mapMeasureResponseOrThrow(res.toObject());\n } else {\n return undefined;\n }\n }\n\n private async highlightEntities(\n previous: MeasurementEntity[],\n entities: MeasurementEntity[]\n ): Promise<void> {\n await requestUnary(async (handler) => {\n const meta = await createMetadata(this.jwtProvider, this.deviceId);\n\n const entitySet = new Set(entities);\n const newPrevious = previous.filter((e) => !entitySet.has(e));\n\n const clearEntities = newPrevious.map((e) => {\n const update = new ModelEntityUpdate();\n update.setModelEntity(ModelEntity.deserializeBinary(e.modelEntity));\n update.setHighlight(new BoolValue().setValue(false));\n return update;\n });\n const highlightEntities = entities.map((e) => {\n const update = new ModelEntityUpdate();\n update.setModelEntity(ModelEntity.deserializeBinary(e.modelEntity));\n update.setHighlight(new BoolValue().setValue(true));\n return update;\n });\n\n const req = new UpdateModelEntitiesRequest();\n req.setUpdatesList([...clearEntities, ...highlightEntities]);\n this.client.updateModelEntities(req, meta, handler);\n });\n }\n}\n","import { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { Vector3 } from '@vertexvis/geometry';\nimport { Vector3f } from '@vertexvis/scene-view-protos/core/protos/geometry_pb';\nimport { ModelEntity } from '@vertexvis/scene-view-protos/core/protos/model_entity_pb';\nimport { MeasureEntity } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { Mapper } from '@vertexvis/utils';\n\nimport { fromPbVector3f } from '../mappers';\n\nexport class MeasurementEntity {\n public constructor(\n public readonly point: Vector3.Vector3,\n public readonly modelEntity: Uint8Array\n ) {}\n\n public static fromHit(\n hit: vertexvis.protobuf.stream.IHit\n ): MeasurementEntity {\n if (hit.hitPoint != null && hit.modelEntity != null) {\n const hitPoint = Mapper.ifInvalidThrow(fromPbVector3f)(hit.hitPoint);\n const modelEntity = vertexvis.protobuf.core.ModelEntity.encode(\n hit.modelEntity\n ).finish();\n return new MeasurementEntity(hitPoint, modelEntity);\n } else {\n throw new Error(\n 'Cannot create MeasurementEntity from Hit. Hit is missing hit point and model entity'\n );\n }\n }\n\n public toProto(): MeasureEntity {\n const entity = new MeasureEntity();\n\n const point = new Vector3f();\n point.setX(this.point.x);\n point.setY(this.point.y);\n point.setZ(this.point.z);\n entity.setPoint(point);\n\n const modelEntity = ModelEntity.deserializeBinary(this.modelEntity);\n entity.setModelEntity(modelEntity);\n\n return entity;\n }\n}\n"],"names":["MeasureRequest","ModelEntityUpdate","ModelEntity","BoolValue","UpdateModelEntitiesRequest","Mapper","MeasureEntity","Vector3f"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-B7mOY-Vi.js","sources":["src/lib/measurement/controller.ts","src/lib/measurement/entities.ts"],"sourcesContent":["import { ModelEntity } from '@vertexvis/scene-view-protos/core/protos/model_entity_pb';\nimport {\n MeasureRequest,\n MeasureResponse,\n ModelEntityUpdate,\n UpdateModelEntitiesRequest,\n} from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { SceneViewAPIClient } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb_service';\nimport { BoolValue } from 'google-protobuf/google/protobuf/wrappers_pb';\n\nimport { createMetadata, JwtProvider, requestUnary } from '../grpc';\nimport { MeasurementEntity } from './entities';\nimport { mapMeasureResponseOrThrow } from './mapper';\nimport { MeasurementModel } from './model';\nimport { MeasurementOutcome } from './outcomes';\n\n/**\n * The `MeasurementController` is responsible for performing measurements of\n * registered entities, and updating the model with their measurement results.\n */\nexport class MeasurementController {\n private outcome = Promise.resolve<MeasurementOutcome | undefined>(undefined);\n\n public constructor(\n private model: MeasurementModel,\n private client: SceneViewAPIClient,\n private jwtProvider: JwtProvider,\n private deviceId: string | undefined\n ) {}\n\n /**\n * Registers an entity to measure and performs a measurement if this entity\n * has not been previously registered.\n *\n * @param entity The entity to measure.\n * @returns A promise that resolves with the results after registering this\n * entity.\n */\n public addEntity(\n entity: MeasurementEntity\n ): Promise<MeasurementOutcome | undefined> {\n return this.performMeasurement(() => this.model.addEntity(entity));\n }\n\n /**\n * Clears all entities and returns a promise that resolves with an empty list\n * of measurement results.\n */\n public clearEntities(): Promise<MeasurementOutcome | undefined> {\n return this.performMeasurement(() => {\n this.model.clearEntities();\n this.model.clearOutcome();\n return true;\n });\n }\n\n /**\n * Deregisters an entity and performs a measurement if this entity was\n * removed.\n *\n * @param entity The entity to remove.\n * @returns A promise that resolves with the results after removing this\n * entity.\n */\n public removeEntity(\n entity: MeasurementEntity\n ): Promise<MeasurementOutcome | undefined> {\n return this.performMeasurement(() => this.model.removeEntity(entity));\n }\n\n /**\n * Registers a set of entities and performs a measurement\n *\n * @param entities The entities to measure.\n * @returns A promise that resolves with the results after registering these\n * entities.\n */\n public setEntities(\n entities: Set<MeasurementEntity>\n ): Promise<MeasurementOutcome | undefined> {\n return this.performMeasurement(() => this.model.setEntities(entities));\n }\n\n private performMeasurement(\n effect: () => boolean\n ): Promise<MeasurementOutcome | undefined> {\n const previous = this.model.getEntities();\n const changed = effect();\n const entities = this.model.getEntities();\n if (changed) {\n this.measureAndUpdateModel(entities);\n this.highlightEntities(previous, entities);\n }\n return this.outcome;\n }\n\n private measureAndUpdateModel(entities: MeasurementEntity[]): void {\n if (entities.length > 0) {\n this.outcome = this.measureEntities(entities).then((outcome) => {\n this.model.setOutcome(outcome);\n return this.model.getOutcome();\n });\n } else {\n this.outcome = Promise.resolve(undefined);\n }\n }\n\n private async measureEntities(\n entities: MeasurementEntity[]\n ): Promise<MeasurementOutcome | undefined> {\n if (entities.length > 0) {\n const res = await requestUnary<MeasureResponse>(async (handler) => {\n const meta = await createMetadata(this.jwtProvider, this.deviceId);\n const req = new MeasureRequest();\n req.setEntitiesList(entities.map((e) => e.toProto()));\n\n this.client.measure(req, meta, handler);\n });\n\n return mapMeasureResponseOrThrow(res.toObject());\n } else {\n return undefined;\n }\n }\n\n private async highlightEntities(\n previous: MeasurementEntity[],\n entities: MeasurementEntity[]\n ): Promise<void> {\n await requestUnary(async (handler) => {\n const meta = await createMetadata(this.jwtProvider, this.deviceId);\n\n const entitySet = new Set(entities);\n const newPrevious = previous.filter((e) => !entitySet.has(e));\n\n const clearEntities = newPrevious.map((e) => {\n const update = new ModelEntityUpdate();\n update.setModelEntity(ModelEntity.deserializeBinary(e.modelEntity));\n update.setHighlight(new BoolValue().setValue(false));\n return update;\n });\n const highlightEntities = entities.map((e) => {\n const update = new ModelEntityUpdate();\n update.setModelEntity(ModelEntity.deserializeBinary(e.modelEntity));\n update.setHighlight(new BoolValue().setValue(true));\n return update;\n });\n\n const req = new UpdateModelEntitiesRequest();\n req.setUpdatesList([...clearEntities, ...highlightEntities]);\n this.client.updateModelEntities(req, meta, handler);\n });\n }\n}\n","import { vertexvis } from '@vertexvis/frame-streaming-protos';\nimport { Vector3 } from '@vertexvis/geometry';\nimport { Vector3f } from '@vertexvis/scene-view-protos/core/protos/geometry_pb';\nimport { ModelEntity } from '@vertexvis/scene-view-protos/core/protos/model_entity_pb';\nimport { MeasureEntity } from '@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb';\nimport { Mapper } from '@vertexvis/utils';\n\nimport { fromPbVector3f } from '../mappers';\n\nexport class MeasurementEntity {\n public constructor(\n public readonly point: Vector3.Vector3,\n public readonly modelEntity: Uint8Array\n ) {}\n\n public static fromHit(\n hit: vertexvis.protobuf.stream.IHit\n ): MeasurementEntity {\n if (hit.hitPoint != null && hit.modelEntity != null) {\n const hitPoint = Mapper.ifInvalidThrow(fromPbVector3f)(hit.hitPoint);\n const modelEntity = vertexvis.protobuf.core.ModelEntity.encode(\n hit.modelEntity\n ).finish();\n return new MeasurementEntity(hitPoint, modelEntity);\n } else {\n throw new Error(\n 'Cannot create MeasurementEntity from Hit. Hit is missing hit point and model entity'\n );\n }\n }\n\n public toProto(): MeasureEntity {\n const entity = new MeasureEntity();\n\n const point = new Vector3f();\n point.setX(this.point.x);\n point.setY(this.point.y);\n point.setZ(this.point.z);\n entity.setPoint(point);\n\n const modelEntity = ModelEntity.deserializeBinary(this.modelEntity);\n entity.setModelEntity(modelEntity);\n\n return entity;\n }\n}\n"],"names":["MeasureRequest","ModelEntityUpdate","ModelEntity","BoolValue","UpdateModelEntitiesRequest","Mapper","MeasureEntity","Vector3f"],"mappings":"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"}
|