@vertexvis/viewer 1.0.2-canary.1 → 1.0.2-canary.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/{multiElementInteractionHandler-DCKBIy58.js → multiElementInteractionHandler-BHvRKVIp.js} +20 -21
- package/dist/cjs/multiElementInteractionHandler-BHvRKVIp.js.map +1 -0
- package/dist/cjs/{queries-XG1IeRYE.js → queries-Da9I-xMf.js} +12 -12
- package/dist/cjs/queries-Da9I-xMf.js.map +1 -0
- package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-teleport-tool.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-teleport-tool.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer.cjs.entry.js +27 -18
- package/dist/cjs/vertex-viewer.cjs.entry.js.map +1 -1
- package/dist/collection/lib/interactions/baseInteractionHandler.js +18 -19
- package/dist/collection/lib/interactions/baseInteractionHandler.js.map +1 -1
- package/dist/collection/lib/interactions/interactionApi.js +17 -8
- package/dist/collection/lib/interactions/interactionApi.js.map +1 -1
- package/dist/collection/lib/interactions/mouseInteractions.js +8 -8
- package/dist/collection/lib/interactions/mouseInteractions.js.map +1 -1
- package/dist/collection/lib/scenes/camera.js +10 -10
- package/dist/collection/lib/scenes/camera.js.map +1 -1
- package/dist/collection/lib/teleportation/interactions.js +1 -1
- package/dist/collection/lib/teleportation/interactions.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-BR7cFxzj.js → p-3DqRAYgO.js} +2 -2
- package/dist/components/p-3DqRAYgO.js.map +1 -0
- package/dist/components/{p-Bkhr6gno.js → p-BCOD9yfw.js} +2 -2
- package/dist/components/p-CAugdB_8.js +5 -0
- package/dist/components/p-CAugdB_8.js.map +1 -0
- package/dist/components/p-CGCJ5hbJ.js +5 -0
- package/dist/components/p-CGCJ5hbJ.js.map +1 -0
- package/dist/components/vertex-viewer-dom-renderer.js +1 -1
- package/dist/components/vertex-viewer-pin-tool.js +1 -1
- package/dist/components/vertex-viewer-teleport-tool.js +1 -1
- package/dist/components/vertex-viewer-view-cube.js +1 -1
- package/dist/components/vertex-viewer-walk-mode-tool.js +1 -1
- package/dist/components/vertex-viewer.js +1 -1
- package/dist/components/vertex-viewer.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/{multiElementInteractionHandler-C3A6SPxu.js → multiElementInteractionHandler-DwjL-r55.js} +20 -21
- package/dist/esm/multiElementInteractionHandler-DwjL-r55.js.map +1 -0
- package/dist/esm/{queries-CsBLqW1v.js → queries-DEzCmbTD.js} +12 -12
- package/dist/esm/queries-DEzCmbTD.js.map +1 -0
- package/dist/esm/vertex-viewer-dom-element_2.entry.js +1 -1
- package/dist/esm/vertex-viewer-teleport-tool.entry.js +1 -1
- package/dist/esm/vertex-viewer-teleport-tool.entry.js.map +1 -1
- package/dist/esm/vertex-viewer.entry.js +27 -18
- package/dist/esm/vertex-viewer.entry.js.map +1 -1
- package/dist/types/lib/interactions/baseInteractionHandler.d.ts +1 -1
- package/dist/types/lib/interactions/interactionApi.d.ts +2 -2
- package/dist/types/lib/interactions/mouseInteractions.d.ts +2 -2
- package/dist/types/lib/scenes/camera.d.ts +1 -0
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/p-07b99ac9.entry.js +5 -0
- package/dist/viewer/p-07b99ac9.entry.js.map +1 -0
- package/dist/viewer/{p-5ced98d5.entry.js → p-29d14611.entry.js} +2 -2
- package/dist/viewer/{p-72a0588f.entry.js → p-89544066.entry.js} +2 -2
- package/dist/viewer/p-89544066.entry.js.map +1 -0
- package/dist/viewer/p-D6eJC1q4.js +5 -0
- package/dist/viewer/p-D6eJC1q4.js.map +1 -0
- package/dist/viewer/{p-5U-3M0jx.js → p-EsKoKfmx.js} +2 -2
- package/dist/viewer/p-EsKoKfmx.js.map +1 -0
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +7 -7
- package/dist/cjs/multiElementInteractionHandler-DCKBIy58.js.map +0 -1
- package/dist/cjs/queries-XG1IeRYE.js.map +0 -1
- package/dist/components/p-BQrJ-Yrs.js +0 -5
- package/dist/components/p-BQrJ-Yrs.js.map +0 -1
- package/dist/components/p-BR7cFxzj.js.map +0 -1
- package/dist/components/p-DizXmW54.js +0 -5
- package/dist/components/p-DizXmW54.js.map +0 -1
- package/dist/esm/multiElementInteractionHandler-C3A6SPxu.js.map +0 -1
- package/dist/esm/queries-CsBLqW1v.js.map +0 -1
- package/dist/viewer/p-5U-3M0jx.js.map +0 -1
- package/dist/viewer/p-72a0588f.entry.js.map +0 -1
- package/dist/viewer/p-77a0c7b7.entry.js +0 -5
- package/dist/viewer/p-77a0c7b7.entry.js.map +0 -1
- package/dist/viewer/p-CxLXWk2n.js +0 -5
- package/dist/viewer/p-CxLXWk2n.js.map +0 -1
- /package/dist/components/{p-Bkhr6gno.js.map → p-BCOD9yfw.js.map} +0 -0
- /package/dist/viewer/{p-5ced98d5.entry.js.map → p-29d14611.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{t as i,p as t,H as e,h as s,e as n}from"./p-Bb32XUUS.js";import{a as o,d as l,P as r}from"./p-DVW2WZTq.js";import{p as h}from"./p-DDQcM-So.js";import{b as d}from"./p-CHdoymO5.js";import{l as a,p as u}from"./p-B-ToCp8-.js";import{g as v}from"./p-bal2RLiw.js";import{E as c}from"./p-CFus3r7d.js";import{E as p}from"./p-B9R0QWr4.js";import{P as f}from"./p-BWUNIo7P.js";import{g as m}from"./p-Bg-uS9BH.js";import{d as w}from"./p-BopQW1sA.js";import{d as C}from"./p-Bkhr6gno.js";import{d as b}from"./p-Bkm6H5uq.js";import{d as y}from"./p-B80hfIq6.js";import{d as g}from"./p-B5FnyWQm.js";class x{get elementRect(){return this.rectObserver.rect}constructor(i,t,e){this.rectObserver=new c;this.droppableSurfaces=[p.PRECISE_SURFACE,p.IMPRECISE_SURFACE,p.GENERIC_GEOMETRY];this.handlePointerMove=async i=>{const t=await this.isDroppableSurface(i);const e=this.controller.getDraggable();if(e!=null&&t){this.handleDrag(e,i)}if(this.controller.getDraggable()==null&&this.controller.getToolMode()==="edit"&&t){this.addCursor(this.getCursorType())}else{this.clearCursor()}};this.handleDrag=async(i,t)=>{const e=v(t,this.elementRect);const s=await this.getWorldPositionForPoint(e);if(s!=null){this.controller.updateDraggable({...i,lastPoint:e},s)}};this.handlePointerDown=async i=>{const t=t=>{const s=h.distance(h.create(i.clientX,t.clientY),h.create(t.clientX,t.clientY));if(s<=2&&i.buttons!==2){if(this.controller.getToolMode()==="edit"){const t=v(i,this.elementRect);this.handlePlacePin(t)}}e()};const e=()=>{window.removeEventListener("pointerup",t)};window.addEventListener("pointerup",t);return{dispose:e}};this.handlePointerUp=async()=>{const i=this.controller.getDraggable();const t=i===null||i===void 0?void 0:i.lastPoint;this.controller.setDraggable(undefined);if(t!=null&&i!=null){this.ifInitialized((async({api:e})=>{var s,n,o,l,r,h;const[d]=await e.hitItems(t);if((d===null||d===void 0?void 0:d.hitPoint)!=null&&((s=d===null||d===void 0?void 0:d.hitPoint)===null||s===void 0?void 0:s.x)!=null&&((n=d===null||d===void 0?void 0:d.hitPoint)===null||n===void 0?void 0:n.y)!=null&&((o=d===null||d===void 0?void 0:d.hitPoint)===null||o===void 0?void 0:o.z)!=null){this.controller.updateDraggable({...i,lastPoint:t},{x:(l=d===null||d===void 0?void 0:d.hitPoint)===null||l===void 0?void 0:l.x,y:d===null||d===void 0?void 0:d.hitPoint.y,z:d===null||d===void 0?void 0:d.hitPoint.z},(h=(r=d===null||d===void 0?void 0:d.partId)===null||r===void 0?void 0:r.hex)!==null&&h!==void 0?h:undefined)}}))}};this.controller=i;this.xOffset=t;this.yOffset=e}initialize(i,t){this.element=i;this.api=t;this.rectObserver.observe(i);i.addEventListener("pointermove",this.handlePointerMove);i.addEventListener("pointerdown",this.handlePointerDown);window.addEventListener("pointerup",this.handlePointerUp)}dispose(){var i,t;this.rectObserver.disconnect();this.clearCursor();(i=this.element)===null||i===void 0?void 0:i.removeEventListener("pointermove",this.handlePointerMove);(t=this.element)===null||t===void 0?void 0:t.removeEventListener("pointerdown",this.handlePointerDown);window.removeEventListener("pointerup",this.handlePointerUp);this.element=undefined;this.api=undefined}async getWorldPositionForPoint(i){return this.ifInitialized((async({api:t})=>{const e=await t.getWorldPointFromViewport(i);return e}))}async handlePlacePin(i,t){this.ifInitialized((async({api:e})=>{var s,n,l,r,h,a;const[u]=await e.hitItems(i);if((u===null||u===void 0?void 0:u.hitPoint)!=null&&this.elementRect!=null){if((u===null||u===void 0?void 0:u.hitPoint)!=null&&(u===null||u===void 0?void 0:u.hitPoint.x)!=null&&(u===null||u===void 0?void 0:u.hitPoint.y)!=null&&(u===null||u===void 0?void 0:u.hitPoint.z)!=null){const e=t!=null?t.id:d.create();const v=this.controller.getStyleAttributes()!=null?{style:this.controller.getStyleAttributes()}:undefined;switch(this.controller.getToolType()){case"pin-icon":this.controller.setPin({type:"icon",id:e,worldPosition:{x:(s=u===null||u===void 0?void 0:u.hitPoint)===null||s===void 0?void 0:s.x,y:u===null||u===void 0?void 0:u.hitPoint.y,z:u===null||u===void 0?void 0:u.hitPoint.z},partId:(l=(n=u===null||u===void 0?void 0:u.itemId)===null||n===void 0?void 0:n.hex)!==null&&l!==void 0?l:undefined,attributes:v});break;case"pin-text":const d=t==null;const c=o(i,this.elementRect,d,this.xOffset,this.yOffset);this.controller.setPin({type:"text",id:e,worldPosition:{x:(r=u===null||u===void 0?void 0:u.hitPoint)===null||r===void 0?void 0:r.x,y:u===null||u===void 0?void 0:u.hitPoint.y,z:u===null||u===void 0?void 0:u.hitPoint.z},partId:(a=(h=u===null||u===void 0?void 0:u.itemId)===null||h===void 0?void 0:h.hex)!==null&&a!==void 0?a:undefined,label:{point:c},attributes:v});this.controller.setSelectedPinId(e);break}}}else{this.controller.setSelectedPinId()}}))}getCursorType(){switch(this.controller.getToolType()){case"pin-icon":return u;case"pin-text":return a}}addCursor(i){this.clearCursor();this.cursor=this.ifInitialized((({api:t})=>t.addCursor(i)))}async isDroppableSurface(i){var t;const e=v(i,this.elementRect);const s=await((t=this.api)===null||t===void 0?void 0:t.getEntityTypeAtPoint(e));return s!=null&&this.droppableSurfaces.includes(s)}ifInitialized(i){if(this.element!=null&&this.api!=null){return i({element:this.element,api:this.api})}else{throw new Error("Pins interaction handler not initialized.")}}clearCursor(){var i;(i=this.cursor)===null||i===void 0?void 0:i.dispose();this.cursor=undefined}}const P=()=>`:host{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none;--viewer-pin-tool-initial-label-offset-x:20;--viewer-pin-tool-initial-label-offset-y:20}`;const j=t(class i extends e{constructor(i){super();if(i!==false){this.__registerHost()}this.__attachShadow();this.pinModel=new f;this.tool="pin-icon";this.mode="view";this.pins=[];this.stateMap={};this.handleSetProjectionMatrix=()=>{var i,t;this.projectionViewMatrix=(t=(i=this.viewer)===null||i===void 0?void 0:i.frame)===null||t===void 0?void 0:t.scene.camera.projectionViewMatrix}}watchModeChange(){var i;(i=this.pinController)===null||i===void 0?void 0:i.setToolMode(this.mode);this.setupInteractionHandler();if(this.mode==="edit"){this.setFeatureMaps();this.setCameraAndKeyboardControls()}else{this.resetFeatureMaps();this.resetCameraAndKeyboardControls()}}watchTypeChange(){var i;(i=this.pinController)===null||i===void 0?void 0:i.setToolType(this.tool);this.setupInteractionHandler()}watchAccentColorChange(){var i;(i=this.pinController)===null||i===void 0?void 0:i.setAccentColor(this.accentColor);this.setupInteractionHandler()}watchPrimaryColorChange(){var i;(i=this.pinController)===null||i===void 0?void 0:i.setPrimaryColor(this.primaryColor);this.setupInteractionHandler()}watchPinsChange(){if(this.pins.length>0){this.setDepthBuffers();this.setFeatureMaps()}else{this.resetDepthBuffers();this.resetFeatureMaps()}}connectedCallback(){this.setupInteractionHandler();this.setDepthBuffers();this.setFeatureMaps();this.setCameraAndKeyboardControls()}componentWillLoad(){this.updateViewport();this.setupController();this.setupInteractionHandler();this.setDepthBuffers();this.setFeatureMaps();this.setCameraAndKeyboardControls();this.pinModel.onEntitiesChanged((i=>{this.pins=i}));this.pinModel.onSelectionChange((i=>{this.selectedPinId=i}));this.handleViewerChanged(this.viewer,undefined)}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.updateViewport()));this.resizeObserver.observe(this.hostEl)}disconnectedCallback(){this.clearInteractionHandler();this.clearModelListeners();this.resetDepthBuffers();this.resetFeatureMaps();this.resetCameraAndKeyboardControls()}handleViewerChanged(i,t){this.setupInteractionHandler();this.setDepthBuffers();this.setFeatureMaps();this.setCameraAndKeyboardControls();if(t!=null){t.removeEventListener("frameDrawn",this.handleSetProjectionMatrix)}if(i!=null){i.addEventListener("frameDrawn",this.handleSetProjectionMatrix)}this.handleSetProjectionMatrix()}render(){return s(n,{key:"311442b0cc3d62c485b81526fde10692b560af93"},s("vertex-viewer-dom-renderer",{key:"e4fe9d022a717db444590a6c2d2239d233bbe2ce",viewer:this.viewer,drawMode:"2d"},this.pins.map((i=>s("vertex-viewer-pin-group",{id:`pin-group-${i.id}`,"data-is-dom-group-element":true,pin:i,elementBounds:this.elementBounds,pinModel:this.pinModel,pinController:this.pinController,projectionViewMatrix:this.projectionViewMatrix,selected:this.selectedPinId===i.id})))))}setupController(){const i=this.accentColor||this.primaryColor?{accentColor:this.accentColor,primaryColor:this.primaryColor}:undefined;this.pinController=new r(this.pinModel,this.mode,this.tool,i)}clearInteractionHandler(){var i;(i=this.registeredInteractionHandler)===null||i===void 0?void 0:i.then((i=>i.dispose()));this.registeredInteractionHandler=undefined}setupInteractionHandler(){var i;const t=window.getComputedStyle(this.hostEl);const e=t.getPropertyValue("--viewer-pin-tool-initial-label-offset-x").trim();const s=Number.isFinite(Number.parseInt(e))?Number.parseInt(e):20;const n=t.getPropertyValue("--viewer-pin-tool-initial-label-offset-y").trim();const o=Number.isFinite(Number.parseInt(n))?Number.parseInt(n):20;this.clearInteractionHandler();if(this.pinController!=null){this.registeredInteractionHandler=(i=this.viewer)===null||i===void 0?void 0:i.registerInteractionHandler(new x(this.pinController,s,o))}}clearModelListeners(){var i,t,e;(i=this.onEntitiesChangedHandler)===null||i===void 0?void 0:i.dispose();this.onEntitiesChangedHandler=undefined;(t=this.onEntityAddedHandler)===null||t===void 0?void 0:t.dispose();this.onEntityAddedHandler=undefined;(e=this.resizeObserver)===null||e===void 0?void 0:e.disconnect()}updateViewport(){this.elementBounds=m(this.hostEl)}setDepthBuffers(){if(this.pins.length>0&&this.viewer!=null&&this.viewer.depthBuffers==null){this.stateMap.shouldClearDepthBuffers=true;this.viewer.depthBuffers="final"}}resetDepthBuffers(){if(this.stateMap.shouldClearDepthBuffers&&this.viewer!=null){this.viewer.depthBuffers=undefined;this.stateMap.shouldClearDepthBuffers=undefined}}setFeatureMaps(){if((this.pins.length>0||this.mode==="edit")&&this.viewer!=null&&this.viewer.featureMaps==null){this.stateMap.shouldClearFeatureMaps=true;this.viewer.featureMaps="final"}}resetFeatureMaps(){if(this.stateMap.shouldClearFeatureMaps&&this.viewer!=null){this.viewer.featureMaps=undefined;this.stateMap.shouldClearFeatureMaps=undefined}}setCameraAndKeyboardControls(){if(this.mode==="edit"&&this.viewer!=null){if(this.viewer.cameraControls){this.stateMap.shouldClearCameraControls=true;this.viewer.cameraControls=false}if(this.viewer.keyboardControls){this.stateMap.shouldClearKeyboardControls=true;this.viewer.keyboardControls=false}}}resetCameraAndKeyboardControls(){if(this.viewer!=null){if(this.stateMap.shouldClearCameraControls){this.viewer.cameraControls=true;this.stateMap.shouldClearCameraControls=undefined}if(this.stateMap.shouldClearKeyboardControls){this.viewer.keyboardControls=true;this.stateMap.shouldClearKeyboardControls=undefined}}}get hostEl(){return this}static get watchers(){return{mode:[{watchModeChange:0}],tool:[{watchTypeChange:0}],accentColor:[{watchAccentColorChange:0}],primaryColor:[{watchPrimaryColorChange:0}],pins:[{watchPinsChange:0}],viewer:[{handleViewerChanged:0}]}}static get style(){return P()}},[1,"vertex-viewer-pin-tool",{pinController:[1040],pinModel:[16],viewer:[16],tool:[1025],mode:[1025],primaryColor:[1025,"primary-color"],accentColor:[1025,"accent-color"],pins:[32],selectedPinId:[32],elementBounds:[32],projectionViewMatrix:[32]},undefined,{mode:[{watchModeChange:0}],tool:[{watchTypeChange:0}],accentColor:[{watchAccentColorChange:0}],primaryColor:[{watchPrimaryColorChange:0}],pins:[{watchPinsChange:0}],viewer:[{handleViewerChanged:0}]}]);function k(){if(typeof customElements==="undefined"){return}const t=["vertex-viewer-pin-tool","vertex-viewer-dom-element","vertex-viewer-dom-renderer","vertex-viewer-icon","vertex-viewer-pin-group","vertex-viewer-pin-label","vertex-viewer-pin-label-line"];t.forEach((t=>{switch(t){case"vertex-viewer-pin-tool":if(!customElements.get(i(t))){customElements.define(i(t),j)}break;case"vertex-viewer-dom-element":if(!customElements.get(i(t))){w()}break;case"vertex-viewer-dom-renderer":if(!customElements.get(i(t))){C()}break;case"vertex-viewer-icon":if(!customElements.get(i(t))){b()}break;case"vertex-viewer-pin-group":if(!customElements.get(i(t))){y()}break;case"vertex-viewer-pin-label":if(!customElements.get(i(t))){l()}break;case"vertex-viewer-pin-label-line":if(!customElements.get(i(t))){g()}break}}))}k();const B=j;const E=k;export{B as VertexViewerPinTool,E as defineCustomElement};
|
|
4
|
+
import{t as i,p as t,H as e,h as s,e as n}from"./p-Bb32XUUS.js";import{a as o,d as l,P as r}from"./p-DVW2WZTq.js";import{p as h}from"./p-DDQcM-So.js";import{b as d}from"./p-CHdoymO5.js";import{l as a,p as u}from"./p-B-ToCp8-.js";import{g as v}from"./p-bal2RLiw.js";import{E as c}from"./p-CFus3r7d.js";import{E as p}from"./p-B9R0QWr4.js";import{P as f}from"./p-BWUNIo7P.js";import{g as m}from"./p-Bg-uS9BH.js";import{d as w}from"./p-BopQW1sA.js";import{d as C}from"./p-BCOD9yfw.js";import{d as b}from"./p-Bkm6H5uq.js";import{d as y}from"./p-B80hfIq6.js";import{d as g}from"./p-B5FnyWQm.js";class x{get elementRect(){return this.rectObserver.rect}constructor(i,t,e){this.rectObserver=new c;this.droppableSurfaces=[p.PRECISE_SURFACE,p.IMPRECISE_SURFACE,p.GENERIC_GEOMETRY];this.handlePointerMove=async i=>{const t=await this.isDroppableSurface(i);const e=this.controller.getDraggable();if(e!=null&&t){this.handleDrag(e,i)}if(this.controller.getDraggable()==null&&this.controller.getToolMode()==="edit"&&t){this.addCursor(this.getCursorType())}else{this.clearCursor()}};this.handleDrag=async(i,t)=>{const e=v(t,this.elementRect);const s=await this.getWorldPositionForPoint(e);if(s!=null){this.controller.updateDraggable({...i,lastPoint:e},s)}};this.handlePointerDown=async i=>{const t=t=>{const s=h.distance(h.create(i.clientX,t.clientY),h.create(t.clientX,t.clientY));if(s<=2&&i.buttons!==2){if(this.controller.getToolMode()==="edit"){const t=v(i,this.elementRect);this.handlePlacePin(t)}}e()};const e=()=>{window.removeEventListener("pointerup",t)};window.addEventListener("pointerup",t);return{dispose:e}};this.handlePointerUp=async()=>{const i=this.controller.getDraggable();const t=i===null||i===void 0?void 0:i.lastPoint;this.controller.setDraggable(undefined);if(t!=null&&i!=null){this.ifInitialized((async({api:e})=>{var s,n,o,l,r,h;const[d]=await e.hitItems(t);if((d===null||d===void 0?void 0:d.hitPoint)!=null&&((s=d===null||d===void 0?void 0:d.hitPoint)===null||s===void 0?void 0:s.x)!=null&&((n=d===null||d===void 0?void 0:d.hitPoint)===null||n===void 0?void 0:n.y)!=null&&((o=d===null||d===void 0?void 0:d.hitPoint)===null||o===void 0?void 0:o.z)!=null){this.controller.updateDraggable({...i,lastPoint:t},{x:(l=d===null||d===void 0?void 0:d.hitPoint)===null||l===void 0?void 0:l.x,y:d===null||d===void 0?void 0:d.hitPoint.y,z:d===null||d===void 0?void 0:d.hitPoint.z},(h=(r=d===null||d===void 0?void 0:d.partId)===null||r===void 0?void 0:r.hex)!==null&&h!==void 0?h:undefined)}}))}};this.controller=i;this.xOffset=t;this.yOffset=e}initialize(i,t){this.element=i;this.api=t;this.rectObserver.observe(i);i.addEventListener("pointermove",this.handlePointerMove);i.addEventListener("pointerdown",this.handlePointerDown);window.addEventListener("pointerup",this.handlePointerUp)}dispose(){var i,t;this.rectObserver.disconnect();this.clearCursor();(i=this.element)===null||i===void 0?void 0:i.removeEventListener("pointermove",this.handlePointerMove);(t=this.element)===null||t===void 0?void 0:t.removeEventListener("pointerdown",this.handlePointerDown);window.removeEventListener("pointerup",this.handlePointerUp);this.element=undefined;this.api=undefined}async getWorldPositionForPoint(i){return this.ifInitialized((async({api:t})=>{const e=await t.getWorldPointFromViewport(i);return e}))}async handlePlacePin(i,t){this.ifInitialized((async({api:e})=>{var s,n,l,r,h,a;const[u]=await e.hitItems(i);if((u===null||u===void 0?void 0:u.hitPoint)!=null&&this.elementRect!=null){if((u===null||u===void 0?void 0:u.hitPoint)!=null&&(u===null||u===void 0?void 0:u.hitPoint.x)!=null&&(u===null||u===void 0?void 0:u.hitPoint.y)!=null&&(u===null||u===void 0?void 0:u.hitPoint.z)!=null){const e=t!=null?t.id:d.create();const v=this.controller.getStyleAttributes()!=null?{style:this.controller.getStyleAttributes()}:undefined;switch(this.controller.getToolType()){case"pin-icon":this.controller.setPin({type:"icon",id:e,worldPosition:{x:(s=u===null||u===void 0?void 0:u.hitPoint)===null||s===void 0?void 0:s.x,y:u===null||u===void 0?void 0:u.hitPoint.y,z:u===null||u===void 0?void 0:u.hitPoint.z},partId:(l=(n=u===null||u===void 0?void 0:u.itemId)===null||n===void 0?void 0:n.hex)!==null&&l!==void 0?l:undefined,attributes:v});break;case"pin-text":const d=t==null;const c=o(i,this.elementRect,d,this.xOffset,this.yOffset);this.controller.setPin({type:"text",id:e,worldPosition:{x:(r=u===null||u===void 0?void 0:u.hitPoint)===null||r===void 0?void 0:r.x,y:u===null||u===void 0?void 0:u.hitPoint.y,z:u===null||u===void 0?void 0:u.hitPoint.z},partId:(a=(h=u===null||u===void 0?void 0:u.itemId)===null||h===void 0?void 0:h.hex)!==null&&a!==void 0?a:undefined,label:{point:c},attributes:v});this.controller.setSelectedPinId(e);break}}}else{this.controller.setSelectedPinId()}}))}getCursorType(){switch(this.controller.getToolType()){case"pin-icon":return u;case"pin-text":return a}}addCursor(i){this.clearCursor();this.cursor=this.ifInitialized((({api:t})=>t.addCursor(i)))}async isDroppableSurface(i){var t;const e=v(i,this.elementRect);const s=await((t=this.api)===null||t===void 0?void 0:t.getEntityTypeAtPoint(e));return s!=null&&this.droppableSurfaces.includes(s)}ifInitialized(i){if(this.element!=null&&this.api!=null){return i({element:this.element,api:this.api})}else{throw new Error("Pins interaction handler not initialized.")}}clearCursor(){var i;(i=this.cursor)===null||i===void 0?void 0:i.dispose();this.cursor=undefined}}const P=()=>`:host{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none;--viewer-pin-tool-initial-label-offset-x:20;--viewer-pin-tool-initial-label-offset-y:20}`;const j=t(class i extends e{constructor(i){super();if(i!==false){this.__registerHost()}this.__attachShadow();this.pinModel=new f;this.tool="pin-icon";this.mode="view";this.pins=[];this.stateMap={};this.handleSetProjectionMatrix=()=>{var i,t;this.projectionViewMatrix=(t=(i=this.viewer)===null||i===void 0?void 0:i.frame)===null||t===void 0?void 0:t.scene.camera.projectionViewMatrix}}watchModeChange(){var i;(i=this.pinController)===null||i===void 0?void 0:i.setToolMode(this.mode);this.setupInteractionHandler();if(this.mode==="edit"){this.setFeatureMaps();this.setCameraAndKeyboardControls()}else{this.resetFeatureMaps();this.resetCameraAndKeyboardControls()}}watchTypeChange(){var i;(i=this.pinController)===null||i===void 0?void 0:i.setToolType(this.tool);this.setupInteractionHandler()}watchAccentColorChange(){var i;(i=this.pinController)===null||i===void 0?void 0:i.setAccentColor(this.accentColor);this.setupInteractionHandler()}watchPrimaryColorChange(){var i;(i=this.pinController)===null||i===void 0?void 0:i.setPrimaryColor(this.primaryColor);this.setupInteractionHandler()}watchPinsChange(){if(this.pins.length>0){this.setDepthBuffers();this.setFeatureMaps()}else{this.resetDepthBuffers();this.resetFeatureMaps()}}connectedCallback(){this.setupInteractionHandler();this.setDepthBuffers();this.setFeatureMaps();this.setCameraAndKeyboardControls()}componentWillLoad(){this.updateViewport();this.setupController();this.setupInteractionHandler();this.setDepthBuffers();this.setFeatureMaps();this.setCameraAndKeyboardControls();this.pinModel.onEntitiesChanged((i=>{this.pins=i}));this.pinModel.onSelectionChange((i=>{this.selectedPinId=i}));this.handleViewerChanged(this.viewer,undefined)}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.updateViewport()));this.resizeObserver.observe(this.hostEl)}disconnectedCallback(){this.clearInteractionHandler();this.clearModelListeners();this.resetDepthBuffers();this.resetFeatureMaps();this.resetCameraAndKeyboardControls()}handleViewerChanged(i,t){this.setupInteractionHandler();this.setDepthBuffers();this.setFeatureMaps();this.setCameraAndKeyboardControls();if(t!=null){t.removeEventListener("frameDrawn",this.handleSetProjectionMatrix)}if(i!=null){i.addEventListener("frameDrawn",this.handleSetProjectionMatrix)}this.handleSetProjectionMatrix()}render(){return s(n,{key:"311442b0cc3d62c485b81526fde10692b560af93"},s("vertex-viewer-dom-renderer",{key:"e4fe9d022a717db444590a6c2d2239d233bbe2ce",viewer:this.viewer,drawMode:"2d"},this.pins.map((i=>s("vertex-viewer-pin-group",{id:`pin-group-${i.id}`,"data-is-dom-group-element":true,pin:i,elementBounds:this.elementBounds,pinModel:this.pinModel,pinController:this.pinController,projectionViewMatrix:this.projectionViewMatrix,selected:this.selectedPinId===i.id})))))}setupController(){const i=this.accentColor||this.primaryColor?{accentColor:this.accentColor,primaryColor:this.primaryColor}:undefined;this.pinController=new r(this.pinModel,this.mode,this.tool,i)}clearInteractionHandler(){var i;(i=this.registeredInteractionHandler)===null||i===void 0?void 0:i.then((i=>i.dispose()));this.registeredInteractionHandler=undefined}setupInteractionHandler(){var i;const t=window.getComputedStyle(this.hostEl);const e=t.getPropertyValue("--viewer-pin-tool-initial-label-offset-x").trim();const s=Number.isFinite(Number.parseInt(e))?Number.parseInt(e):20;const n=t.getPropertyValue("--viewer-pin-tool-initial-label-offset-y").trim();const o=Number.isFinite(Number.parseInt(n))?Number.parseInt(n):20;this.clearInteractionHandler();if(this.pinController!=null){this.registeredInteractionHandler=(i=this.viewer)===null||i===void 0?void 0:i.registerInteractionHandler(new x(this.pinController,s,o))}}clearModelListeners(){var i,t,e;(i=this.onEntitiesChangedHandler)===null||i===void 0?void 0:i.dispose();this.onEntitiesChangedHandler=undefined;(t=this.onEntityAddedHandler)===null||t===void 0?void 0:t.dispose();this.onEntityAddedHandler=undefined;(e=this.resizeObserver)===null||e===void 0?void 0:e.disconnect()}updateViewport(){this.elementBounds=m(this.hostEl)}setDepthBuffers(){if(this.pins.length>0&&this.viewer!=null&&this.viewer.depthBuffers==null){this.stateMap.shouldClearDepthBuffers=true;this.viewer.depthBuffers="final"}}resetDepthBuffers(){if(this.stateMap.shouldClearDepthBuffers&&this.viewer!=null){this.viewer.depthBuffers=undefined;this.stateMap.shouldClearDepthBuffers=undefined}}setFeatureMaps(){if((this.pins.length>0||this.mode==="edit")&&this.viewer!=null&&this.viewer.featureMaps==null){this.stateMap.shouldClearFeatureMaps=true;this.viewer.featureMaps="final"}}resetFeatureMaps(){if(this.stateMap.shouldClearFeatureMaps&&this.viewer!=null){this.viewer.featureMaps=undefined;this.stateMap.shouldClearFeatureMaps=undefined}}setCameraAndKeyboardControls(){if(this.mode==="edit"&&this.viewer!=null){if(this.viewer.cameraControls){this.stateMap.shouldClearCameraControls=true;this.viewer.cameraControls=false}if(this.viewer.keyboardControls){this.stateMap.shouldClearKeyboardControls=true;this.viewer.keyboardControls=false}}}resetCameraAndKeyboardControls(){if(this.viewer!=null){if(this.stateMap.shouldClearCameraControls){this.viewer.cameraControls=true;this.stateMap.shouldClearCameraControls=undefined}if(this.stateMap.shouldClearKeyboardControls){this.viewer.keyboardControls=true;this.stateMap.shouldClearKeyboardControls=undefined}}}get hostEl(){return this}static get watchers(){return{mode:[{watchModeChange:0}],tool:[{watchTypeChange:0}],accentColor:[{watchAccentColorChange:0}],primaryColor:[{watchPrimaryColorChange:0}],pins:[{watchPinsChange:0}],viewer:[{handleViewerChanged:0}]}}static get style(){return P()}},[1,"vertex-viewer-pin-tool",{pinController:[1040],pinModel:[16],viewer:[16],tool:[1025],mode:[1025],primaryColor:[1025,"primary-color"],accentColor:[1025,"accent-color"],pins:[32],selectedPinId:[32],elementBounds:[32],projectionViewMatrix:[32]},undefined,{mode:[{watchModeChange:0}],tool:[{watchTypeChange:0}],accentColor:[{watchAccentColorChange:0}],primaryColor:[{watchPrimaryColorChange:0}],pins:[{watchPinsChange:0}],viewer:[{handleViewerChanged:0}]}]);function B(){if(typeof customElements==="undefined"){return}const t=["vertex-viewer-pin-tool","vertex-viewer-dom-element","vertex-viewer-dom-renderer","vertex-viewer-icon","vertex-viewer-pin-group","vertex-viewer-pin-label","vertex-viewer-pin-label-line"];t.forEach((t=>{switch(t){case"vertex-viewer-pin-tool":if(!customElements.get(i(t))){customElements.define(i(t),j)}break;case"vertex-viewer-dom-element":if(!customElements.get(i(t))){w()}break;case"vertex-viewer-dom-renderer":if(!customElements.get(i(t))){C()}break;case"vertex-viewer-icon":if(!customElements.get(i(t))){b()}break;case"vertex-viewer-pin-group":if(!customElements.get(i(t))){y()}break;case"vertex-viewer-pin-label":if(!customElements.get(i(t))){l()}break;case"vertex-viewer-pin-label-line":if(!customElements.get(i(t))){g()}break}}))}B();const k=j;const E=B;export{k as VertexViewerPinTool,E as defineCustomElement};
|
|
5
5
|
//# sourceMappingURL=vertex-viewer-pin-tool.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (c) 2026 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{V as o,d as s}from"./p-
|
|
4
|
+
import{V as o,d as s}from"./p-CGCJ5hbJ.js";const t=o;const p=s;export{t as VertexViewerTeleportTool,p as defineCustomElement};
|
|
5
5
|
//# sourceMappingURL=vertex-viewer-teleport-tool.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,t as i,p as o,H as a,e as r}from"./p-Bb32XUUS.js";import{q as c,v as n,h as d}from"./p-DDQcM-So.js";import{r as s}from"./p-Cd7kap5W.js";import{O as f,f as b,S as l}from"./p-B9R0QWr4.js";import{c as h}from"./p-C6gMOKYg.js";import{d as v}from"./p-BopQW1sA.js";import{d as g}from"./p-St4ctu2K.js";import{d as u}from"./p-Bkhr6gno.js";const w={front:{direction:n.back(),quaternion:c.create()},back:{direction:n.forward(),quaternion:c.fromAxisAngle(n.up(),Math.PI)},left:{direction:n.left(),quaternion:c.fromAxisAngle(n.down(),Math.PI/2)},right:{direction:n.right(),quaternion:c.fromAxisAngle(n.up(),Math.PI/2)},top:{direction:n.up(),quaternion:c.fromAxisAngle(n.right(),-Math.PI/2)},bottom:{direction:n.down(),quaternion:c.fromAxisAngle(n.left(),-Math.PI/2)}};const p=({label:i,length:o,rotationAxis:a})=>{const r={width:`${o+5}px`};const s=c.fromAxisAngle(a,Math.PI/2);const f=n.scale(o+15,n.right());return e(t,null,e("vertex-viewer-dom-group",{quaternion:s},e("vertex-viewer-dom-element",{style:r,billboardOff:true,interactionsOff:true},e("div",{class:`triad-axis triad-axis-${i.toLowerCase()}`})),e("vertex-viewer-dom-element",{rotation:d.create({x:Math.PI/2,y:0,z:0}),style:r,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 m=({label:t,length:i,side:o,disabled:a,onPointerDown:r})=>{const{direction:c,quaternion:d}=w[o];const s=n.scale(i/2-.1,c);return e("vertex-viewer-dom-element",{class:h("cube-side",{disabled:a}),position:s,quaternion:d,style:{width:`${i}px`,height:`${i}px`},onPointerDown:r,billboardOff:true},e("div",{class:`cube-side-face cube-side-face-${t.toLowerCase()}`},t))};const x=({length:t,face1Side:i,face1Corner:o,face2Side:a,face2Corner:r,face3Side:c,face3Corner:d,disabled:s,onPointerDown:f})=>{const{direction:b,quaternion:l}=w[i];const{direction:v,quaternion:g}=w[a];const{direction:u,quaternion:p}=w[c];const m=n.scale(t/2,b);const x=n.scale(t/2,v);const y=n.scale(t/2,u);const k={width:`${t}px`,height:`${t}px`};return e("vertex-viewer-dom-group",{class:h("cube-corner",{disabled:s}),onPointerDown:f},e("vertex-viewer-dom-element",{position:m,quaternion:l,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${o}`})),e("vertex-viewer-dom-element",{position:x,quaternion:g,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${r}`})),e("vertex-viewer-dom-element",{position:y,quaternion:p,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${d}`})))};const y=({length:t,face1Side:i,face2Side:o,face1Edge:a,face2Edge:r,disabled:c,onPointerDown:d})=>{const{direction:s,quaternion:f}=w[i];const{direction:b,quaternion:l}=w[o];const v=n.scale(t/2,s);const g=n.scale(t/2,b);const u={width:`${t}px`,height:`${t}px`};return e("vertex-viewer-dom-group",{class:h("cube-edge",{disabled:c}),onPointerDown:d},e("vertex-viewer-dom-element",{position:v,quaternion:f,style:u,billboardOff:true},e("div",{class:`cube-edge-face ${a}`})),e("vertex-viewer-dom-element",{position:g,quaternion:l,style:u,billboardOff:true},e("div",{class:`cube-edge-face ${r}`})))};const k=({length:t})=>{const{direction:i,quaternion:o}=w.top;const a=n.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 S=()=>`: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 D=o(class t extends a{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow();this.boxLength=80;this.triadPosition=n.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=f.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=n.create(-t-5,-t-5,-t-5);const i=3.125;const o=this.boxLength*i;const a=21.5;this.camera=new b(n.scale(o,n.negate(e.direction)),n.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&&n.isEqual(a.max,n.origin())&&n.isEqual(a.min,n.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(){s((()=>{if(this.rendererEl!=null){const e=this.rendererEl.getBoundingClientRect();this.boxLength=Math.min(e.width,e.height)}}))}render(){return e(r,{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(p,{key:"fc954790f8b1e94a0fcbce27a877438f70f690b3",label:"X",length:this.boxLength,rotationAxis:n.origin()}),e(p,{key:"55f8abd997774fa75b59cc25ee367f97e26d8d0e",label:"Y",length:this.boxLength,rotationAxis:n.back()}),e(p,{key:"0edd14df8831e142e7b716c19195372d0ca9b540",label:"Z",length:this.boxLength,rotationAxis:n.down()})),e("vertex-viewer-dom-group",{key:"44c2aa6567000ff3a8b605bfcacff9edea99ad49",class:"cube",matrix:this.worldOrientation.matrix},e(k,{key:"6d332b76534a1792e476d5af4c9928b655245699",length:this.boxLength+10}),e(m,{key:"e912dbdcfd3587e6d889b314da97d4831a5f5820",label:this.zPositiveLabel,length:this.boxLength,side:"front",onPointerDown:this.handleStandardView(l.FRONT),disabled:this.standardViewsOff}),e(m,{key:"9018644613e72bf4f605893e8b802e54e49d7a60",label:this.zNegativeLabel,length:this.boxLength,side:"back",onPointerDown:this.handleStandardView(l.BACK),disabled:this.standardViewsOff}),e(m,{key:"6f3018e38983ee92dd0d237e1f5e8d583ffc5868",label:this.xNegativeLabel,length:this.boxLength,side:"left",onPointerDown:this.handleStandardView(l.LEFT),disabled:this.standardViewsOff}),e(m,{key:"6ad9a228a8f08ed5834e817eb251459a2b790228",label:this.xPositiveLabel,length:this.boxLength,side:"right",onPointerDown:this.handleStandardView(l.RIGHT),disabled:this.standardViewsOff}),e(m,{key:"65444fe7463cc93010f697895259616e2c951185",label:this.yPositiveLabel,length:this.boxLength,side:"top",onPointerDown:this.handleStandardView(l.TOP),disabled:this.standardViewsOff}),e(m,{key:"69bd39a0e0c282d7699fbc43bb8162b5058b2725",label:this.yNegativeLabel,length:this.boxLength,side:"bottom",onPointerDown:this.handleStandardView(l.BOTTOM),disabled:this.standardViewsOff}),e(y,{key:"bff49b1af1febb826d2566f78f44e198e724980a",length:this.boxLength,face1Side:"top",face1Edge:"bottom",face2Side:"front",face2Edge:"top",onPointerDown:this.handleStandardView(l.TOP_FRONT),disabled:this.standardViewsOff}),e(y,{key:"d218a084a54b52b791b6ee905d572fc4c5f2067e",length:this.boxLength,face1Side:"front",face1Edge:"right",face2Side:"right",face2Edge:"left",onPointerDown:this.handleStandardView(l.FRONT_LEFT),disabled:this.standardViewsOff}),e(y,{key:"55cdc6e8ed92a5d04605648cfba59e503d74b17a",length:this.boxLength,face1Side:"bottom",face1Edge:"top",face2Side:"front",face2Edge:"bottom",onPointerDown:this.handleStandardView(l.BOTTOM_FRONT),disabled:this.standardViewsOff}),e(y,{key:"e560d8a890575295b0b66391ef6edfa86a352479",length:this.boxLength,face1Side:"front",face1Edge:"left",face2Side:"left",face2Edge:"right",onPointerDown:this.handleStandardView(l.FRONT_RIGHT),disabled:this.standardViewsOff}),e(y,{key:"92175bcdb02a1ac0c69ecf060bf7ab8276bba30b",length:this.boxLength,face1Side:"top",face1Edge:"right",face2Side:"right",face2Edge:"top",onPointerDown:this.handleStandardView(l.TOP_LEFT),disabled:this.standardViewsOff}),e(y,{key:"5c25934c6add8941aeffebf91e5d2755f736171a",length:this.boxLength,face1Side:"back",face1Edge:"left",face2Side:"right",face2Edge:"right",onPointerDown:this.handleStandardView(l.BACK_LEFT),disabled:this.standardViewsOff}),e(y,{key:"573f648180a2ded37d05f53d54a09b594a745838",length:this.boxLength,face1Side:"bottom",face1Edge:"right",face2Side:"right",face2Edge:"bottom",onPointerDown:this.handleStandardView(l.BOTTOM_LEFT),disabled:this.standardViewsOff}),e(y,{key:"0736e5ce0c74c217eb597d05d9cb322176c6c26e",length:this.boxLength,face1Side:"top",face1Edge:"top",face2Side:"back",face2Edge:"top",onPointerDown:this.handleStandardView(l.TOP_BACK),disabled:this.standardViewsOff}),e(y,{key:"2621bf73adcbdcbed213ebf1bff5c0441066dfde",length:this.boxLength,face1Side:"back",face1Edge:"right",face2Side:"left",face2Edge:"left",onPointerDown:this.handleStandardView(l.BACK_RIGHT),disabled:this.standardViewsOff}),e(y,{key:"a7ce12b7104292548a2f39c3c21be1bbfb741008",length:this.boxLength,face1Side:"bottom",face1Edge:"bottom",face2Side:"back",face2Edge:"bottom",onPointerDown:this.handleStandardView(l.BOTTOM_BACK),disabled:this.standardViewsOff}),e(y,{key:"6d51d0af13c7f6058e43d87b3b74c7f79dcd6372",length:this.boxLength,face1Side:"top",face1Edge:"left",face2Side:"left",face2Edge:"top",onPointerDown:this.handleStandardView(l.TOP_RIGHT),disabled:this.standardViewsOff}),e(y,{key:"6391a20b84bf91a6e6a8bce623fa402d02992b1b",length:this.boxLength,face1Side:"bottom",face1Edge:"left",face2Side:"left",face2Edge:"bottom",onPointerDown:this.handleStandardView(l.BOTTOM_RIGHT),disabled:this.standardViewsOff}),e(x,{key:"119cdae569b4ac1abdc5929be9e789d7459b3d4d",length:this.boxLength,face1Side:"top",face1Corner:"bottom-left",face2Side:"front",face2Corner:"top-left",face3Side:"left",face3Corner:"top-right",onPointerDown:this.handleStandardView(l.TOP_FRONT_RIGHT),disabled:this.standardViewsOff}),e(x,{key:"607d1c0db03091fe6fe49ff8bb3f1d2e4e9ee737",length:this.boxLength,face1Side:"top",face1Corner:"bottom-right",face2Side:"front",face2Corner:"top-right",face3Side:"right",face3Corner:"top-left",onPointerDown:this.handleStandardView(l.TOP_FRONT_LEFT),disabled:this.standardViewsOff}),e(x,{key:"bf417c48dc652d2692d6a122cd8aa4f9aae65331",length:this.boxLength,face1Side:"bottom",face1Corner:"top-right",face2Side:"front",face2Corner:"bottom-right",face3Side:"right",face3Corner:"bottom-left",onPointerDown:this.handleStandardView(l.BOTTOM_FRONT_LEFT),disabled:this.standardViewsOff}),e(x,{key:"59f7db859f9d06921e2fa3c30fa2527bc95ff3ce",length:this.boxLength,face1Side:"bottom",face1Corner:"top-left",face2Side:"front",face2Corner:"bottom-left",face3Side:"left",face3Corner:"bottom-right",onPointerDown:this.handleStandardView(l.BOTTOM_FRONT_RIGHT),disabled:this.standardViewsOff}),e(x,{key:"f8eb7ba2b8b9384c6fed7f1e930eb872599b7372",length:this.boxLength,face1Side:"top",face1Corner:"top-right",face2Side:"back",face2Corner:"top-left",face3Side:"right",face3Corner:"top-right",onPointerDown:this.handleStandardView(l.TOP_BACK_LEFT),disabled:this.standardViewsOff}),e(x,{key:"122f91a6146b62e145d0e710b8d1b7605b744073",length:this.boxLength,face1Side:"top",face1Corner:"top-left",face2Side:"back",face2Corner:"top-right",face3Side:"left",face3Corner:"top-left",onPointerDown:this.handleStandardView(l.TOP_BACK_RIGHT),disabled:this.standardViewsOff}),e(x,{key:"4114134608fa6903bd0226a541d153175418102b",length:this.boxLength,face1Side:"bottom",face1Corner:"bottom-left",face2Side:"back",face2Corner:"bottom-right",face3Side:"left",face3Corner:"bottom-left",onPointerDown:this.handleStandardView(l.BOTTOM_BACK_RIGHT),disabled:this.standardViewsOff}),e(x,{key:"1d4fd46fb9edf0821e3e611c863837d1e9bc7ec8",length:this.boxLength,face1Side:"bottom",face1Corner:"bottom-right",face2Side:"back",face2Corner:"bottom-left",face3Side:"right",face3Corner:"bottom-right",onPointerDown:this.handleStandardView(l.BOTTOM_BACK_LEFT),disabled:this.standardViewsOff}))))}static get watchers(){return{viewer:[{handleViewerChanged:0}]}}static get style(){return S()}},[1,"vertex-viewer-view-cube",{xPositiveLabel:[1,"x-positive-label"],xNegativeLabel:[1,"x-negative-label"],yPositiveLabel:[1,"y-positive-label"],yNegativeLabel:[1,"y-negative-label"],zPositiveLabel:[1,"z-positive-label"],zNegativeLabel:[1,"z-negative-label"],standardViewsOff:[4,"standard-views-off"],viewAll:[4,"view-all"],animationDuration:[2,"animation-duration"],triadOff:[4,"triad-off"],worldOrientation:[1040],camera:[1040],viewer:[16],boxLength:[32],triadPosition:[32]},undefined,{viewer:[{handleViewerChanged:0}]}]);function P(){if(typeof customElements==="undefined"){return}const e=["vertex-viewer-view-cube","vertex-viewer-dom-element","vertex-viewer-dom-group","vertex-viewer-dom-renderer"];e.forEach((e=>{switch(e){case"vertex-viewer-view-cube":if(!customElements.get(i(e))){customElements.define(i(e),D)}break;case"vertex-viewer-dom-element":if(!customElements.get(i(e))){v()}break;case"vertex-viewer-dom-group":if(!customElements.get(i(e))){g()}break;case"vertex-viewer-dom-renderer":if(!customElements.get(i(e))){u()}break}}))}P();const C=D;const E=P;export{C as VertexViewerViewCube,E as defineCustomElement};
|
|
4
|
+
import{h as e,F as t,t as i,p as o,H as a,e as r}from"./p-Bb32XUUS.js";import{q as c,v as n,h as d}from"./p-DDQcM-So.js";import{r as s}from"./p-Cd7kap5W.js";import{O as f,f as b,S as l}from"./p-B9R0QWr4.js";import{c as h}from"./p-C6gMOKYg.js";import{d as v}from"./p-BopQW1sA.js";import{d as g}from"./p-St4ctu2K.js";import{d as u}from"./p-BCOD9yfw.js";const w={front:{direction:n.back(),quaternion:c.create()},back:{direction:n.forward(),quaternion:c.fromAxisAngle(n.up(),Math.PI)},left:{direction:n.left(),quaternion:c.fromAxisAngle(n.down(),Math.PI/2)},right:{direction:n.right(),quaternion:c.fromAxisAngle(n.up(),Math.PI/2)},top:{direction:n.up(),quaternion:c.fromAxisAngle(n.right(),-Math.PI/2)},bottom:{direction:n.down(),quaternion:c.fromAxisAngle(n.left(),-Math.PI/2)}};const p=({label:i,length:o,rotationAxis:a})=>{const r={width:`${o+5}px`};const s=c.fromAxisAngle(a,Math.PI/2);const f=n.scale(o+15,n.right());return e(t,null,e("vertex-viewer-dom-group",{quaternion:s},e("vertex-viewer-dom-element",{style:r,billboardOff:true,interactionsOff:true},e("div",{class:`triad-axis triad-axis-${i.toLowerCase()}`})),e("vertex-viewer-dom-element",{rotation:d.create({x:Math.PI/2,y:0,z:0}),style:r,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 m=({label:t,length:i,side:o,disabled:a,onPointerDown:r})=>{const{direction:c,quaternion:d}=w[o];const s=n.scale(i/2-.1,c);return e("vertex-viewer-dom-element",{class:h("cube-side",{disabled:a}),position:s,quaternion:d,style:{width:`${i}px`,height:`${i}px`},onPointerDown:r,billboardOff:true},e("div",{class:`cube-side-face cube-side-face-${t.toLowerCase()}`},t))};const x=({length:t,face1Side:i,face1Corner:o,face2Side:a,face2Corner:r,face3Side:c,face3Corner:d,disabled:s,onPointerDown:f})=>{const{direction:b,quaternion:l}=w[i];const{direction:v,quaternion:g}=w[a];const{direction:u,quaternion:p}=w[c];const m=n.scale(t/2,b);const x=n.scale(t/2,v);const y=n.scale(t/2,u);const k={width:`${t}px`,height:`${t}px`};return e("vertex-viewer-dom-group",{class:h("cube-corner",{disabled:s}),onPointerDown:f},e("vertex-viewer-dom-element",{position:m,quaternion:l,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${o}`})),e("vertex-viewer-dom-element",{position:x,quaternion:g,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${r}`})),e("vertex-viewer-dom-element",{position:y,quaternion:p,style:k,billboardOff:true},e("div",{class:`cube-corner-face ${d}`})))};const y=({length:t,face1Side:i,face2Side:o,face1Edge:a,face2Edge:r,disabled:c,onPointerDown:d})=>{const{direction:s,quaternion:f}=w[i];const{direction:b,quaternion:l}=w[o];const v=n.scale(t/2,s);const g=n.scale(t/2,b);const u={width:`${t}px`,height:`${t}px`};return e("vertex-viewer-dom-group",{class:h("cube-edge",{disabled:c}),onPointerDown:d},e("vertex-viewer-dom-element",{position:v,quaternion:f,style:u,billboardOff:true},e("div",{class:`cube-edge-face ${a}`})),e("vertex-viewer-dom-element",{position:g,quaternion:l,style:u,billboardOff:true},e("div",{class:`cube-edge-face ${r}`})))};const k=({length:t})=>{const{direction:i,quaternion:o}=w.top;const a=n.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 S=()=>`: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 D=o(class t extends a{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow();this.boxLength=80;this.triadPosition=n.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=f.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=n.create(-t-5,-t-5,-t-5);const i=3.125;const o=this.boxLength*i;const a=21.5;this.camera=new b(n.scale(o,n.negate(e.direction)),n.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&&n.isEqual(a.max,n.origin())&&n.isEqual(a.min,n.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(){s((()=>{if(this.rendererEl!=null){const e=this.rendererEl.getBoundingClientRect();this.boxLength=Math.min(e.width,e.height)}}))}render(){return e(r,{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(p,{key:"fc954790f8b1e94a0fcbce27a877438f70f690b3",label:"X",length:this.boxLength,rotationAxis:n.origin()}),e(p,{key:"55f8abd997774fa75b59cc25ee367f97e26d8d0e",label:"Y",length:this.boxLength,rotationAxis:n.back()}),e(p,{key:"0edd14df8831e142e7b716c19195372d0ca9b540",label:"Z",length:this.boxLength,rotationAxis:n.down()})),e("vertex-viewer-dom-group",{key:"44c2aa6567000ff3a8b605bfcacff9edea99ad49",class:"cube",matrix:this.worldOrientation.matrix},e(k,{key:"6d332b76534a1792e476d5af4c9928b655245699",length:this.boxLength+10}),e(m,{key:"e912dbdcfd3587e6d889b314da97d4831a5f5820",label:this.zPositiveLabel,length:this.boxLength,side:"front",onPointerDown:this.handleStandardView(l.FRONT),disabled:this.standardViewsOff}),e(m,{key:"9018644613e72bf4f605893e8b802e54e49d7a60",label:this.zNegativeLabel,length:this.boxLength,side:"back",onPointerDown:this.handleStandardView(l.BACK),disabled:this.standardViewsOff}),e(m,{key:"6f3018e38983ee92dd0d237e1f5e8d583ffc5868",label:this.xNegativeLabel,length:this.boxLength,side:"left",onPointerDown:this.handleStandardView(l.LEFT),disabled:this.standardViewsOff}),e(m,{key:"6ad9a228a8f08ed5834e817eb251459a2b790228",label:this.xPositiveLabel,length:this.boxLength,side:"right",onPointerDown:this.handleStandardView(l.RIGHT),disabled:this.standardViewsOff}),e(m,{key:"65444fe7463cc93010f697895259616e2c951185",label:this.yPositiveLabel,length:this.boxLength,side:"top",onPointerDown:this.handleStandardView(l.TOP),disabled:this.standardViewsOff}),e(m,{key:"69bd39a0e0c282d7699fbc43bb8162b5058b2725",label:this.yNegativeLabel,length:this.boxLength,side:"bottom",onPointerDown:this.handleStandardView(l.BOTTOM),disabled:this.standardViewsOff}),e(y,{key:"bff49b1af1febb826d2566f78f44e198e724980a",length:this.boxLength,face1Side:"top",face1Edge:"bottom",face2Side:"front",face2Edge:"top",onPointerDown:this.handleStandardView(l.TOP_FRONT),disabled:this.standardViewsOff}),e(y,{key:"d218a084a54b52b791b6ee905d572fc4c5f2067e",length:this.boxLength,face1Side:"front",face1Edge:"right",face2Side:"right",face2Edge:"left",onPointerDown:this.handleStandardView(l.FRONT_LEFT),disabled:this.standardViewsOff}),e(y,{key:"55cdc6e8ed92a5d04605648cfba59e503d74b17a",length:this.boxLength,face1Side:"bottom",face1Edge:"top",face2Side:"front",face2Edge:"bottom",onPointerDown:this.handleStandardView(l.BOTTOM_FRONT),disabled:this.standardViewsOff}),e(y,{key:"e560d8a890575295b0b66391ef6edfa86a352479",length:this.boxLength,face1Side:"front",face1Edge:"left",face2Side:"left",face2Edge:"right",onPointerDown:this.handleStandardView(l.FRONT_RIGHT),disabled:this.standardViewsOff}),e(y,{key:"92175bcdb02a1ac0c69ecf060bf7ab8276bba30b",length:this.boxLength,face1Side:"top",face1Edge:"right",face2Side:"right",face2Edge:"top",onPointerDown:this.handleStandardView(l.TOP_LEFT),disabled:this.standardViewsOff}),e(y,{key:"5c25934c6add8941aeffebf91e5d2755f736171a",length:this.boxLength,face1Side:"back",face1Edge:"left",face2Side:"right",face2Edge:"right",onPointerDown:this.handleStandardView(l.BACK_LEFT),disabled:this.standardViewsOff}),e(y,{key:"573f648180a2ded37d05f53d54a09b594a745838",length:this.boxLength,face1Side:"bottom",face1Edge:"right",face2Side:"right",face2Edge:"bottom",onPointerDown:this.handleStandardView(l.BOTTOM_LEFT),disabled:this.standardViewsOff}),e(y,{key:"0736e5ce0c74c217eb597d05d9cb322176c6c26e",length:this.boxLength,face1Side:"top",face1Edge:"top",face2Side:"back",face2Edge:"top",onPointerDown:this.handleStandardView(l.TOP_BACK),disabled:this.standardViewsOff}),e(y,{key:"2621bf73adcbdcbed213ebf1bff5c0441066dfde",length:this.boxLength,face1Side:"back",face1Edge:"right",face2Side:"left",face2Edge:"left",onPointerDown:this.handleStandardView(l.BACK_RIGHT),disabled:this.standardViewsOff}),e(y,{key:"a7ce12b7104292548a2f39c3c21be1bbfb741008",length:this.boxLength,face1Side:"bottom",face1Edge:"bottom",face2Side:"back",face2Edge:"bottom",onPointerDown:this.handleStandardView(l.BOTTOM_BACK),disabled:this.standardViewsOff}),e(y,{key:"6d51d0af13c7f6058e43d87b3b74c7f79dcd6372",length:this.boxLength,face1Side:"top",face1Edge:"left",face2Side:"left",face2Edge:"top",onPointerDown:this.handleStandardView(l.TOP_RIGHT),disabled:this.standardViewsOff}),e(y,{key:"6391a20b84bf91a6e6a8bce623fa402d02992b1b",length:this.boxLength,face1Side:"bottom",face1Edge:"left",face2Side:"left",face2Edge:"bottom",onPointerDown:this.handleStandardView(l.BOTTOM_RIGHT),disabled:this.standardViewsOff}),e(x,{key:"119cdae569b4ac1abdc5929be9e789d7459b3d4d",length:this.boxLength,face1Side:"top",face1Corner:"bottom-left",face2Side:"front",face2Corner:"top-left",face3Side:"left",face3Corner:"top-right",onPointerDown:this.handleStandardView(l.TOP_FRONT_RIGHT),disabled:this.standardViewsOff}),e(x,{key:"607d1c0db03091fe6fe49ff8bb3f1d2e4e9ee737",length:this.boxLength,face1Side:"top",face1Corner:"bottom-right",face2Side:"front",face2Corner:"top-right",face3Side:"right",face3Corner:"top-left",onPointerDown:this.handleStandardView(l.TOP_FRONT_LEFT),disabled:this.standardViewsOff}),e(x,{key:"bf417c48dc652d2692d6a122cd8aa4f9aae65331",length:this.boxLength,face1Side:"bottom",face1Corner:"top-right",face2Side:"front",face2Corner:"bottom-right",face3Side:"right",face3Corner:"bottom-left",onPointerDown:this.handleStandardView(l.BOTTOM_FRONT_LEFT),disabled:this.standardViewsOff}),e(x,{key:"59f7db859f9d06921e2fa3c30fa2527bc95ff3ce",length:this.boxLength,face1Side:"bottom",face1Corner:"top-left",face2Side:"front",face2Corner:"bottom-left",face3Side:"left",face3Corner:"bottom-right",onPointerDown:this.handleStandardView(l.BOTTOM_FRONT_RIGHT),disabled:this.standardViewsOff}),e(x,{key:"f8eb7ba2b8b9384c6fed7f1e930eb872599b7372",length:this.boxLength,face1Side:"top",face1Corner:"top-right",face2Side:"back",face2Corner:"top-left",face3Side:"right",face3Corner:"top-right",onPointerDown:this.handleStandardView(l.TOP_BACK_LEFT),disabled:this.standardViewsOff}),e(x,{key:"122f91a6146b62e145d0e710b8d1b7605b744073",length:this.boxLength,face1Side:"top",face1Corner:"top-left",face2Side:"back",face2Corner:"top-right",face3Side:"left",face3Corner:"top-left",onPointerDown:this.handleStandardView(l.TOP_BACK_RIGHT),disabled:this.standardViewsOff}),e(x,{key:"4114134608fa6903bd0226a541d153175418102b",length:this.boxLength,face1Side:"bottom",face1Corner:"bottom-left",face2Side:"back",face2Corner:"bottom-right",face3Side:"left",face3Corner:"bottom-left",onPointerDown:this.handleStandardView(l.BOTTOM_BACK_RIGHT),disabled:this.standardViewsOff}),e(x,{key:"1d4fd46fb9edf0821e3e611c863837d1e9bc7ec8",length:this.boxLength,face1Side:"bottom",face1Corner:"bottom-right",face2Side:"back",face2Corner:"bottom-left",face3Side:"right",face3Corner:"bottom-right",onPointerDown:this.handleStandardView(l.BOTTOM_BACK_LEFT),disabled:this.standardViewsOff}))))}static get watchers(){return{viewer:[{handleViewerChanged:0}]}}static get style(){return S()}},[1,"vertex-viewer-view-cube",{xPositiveLabel:[1,"x-positive-label"],xNegativeLabel:[1,"x-negative-label"],yPositiveLabel:[1,"y-positive-label"],yNegativeLabel:[1,"y-negative-label"],zPositiveLabel:[1,"z-positive-label"],zNegativeLabel:[1,"z-negative-label"],standardViewsOff:[4,"standard-views-off"],viewAll:[4,"view-all"],animationDuration:[2,"animation-duration"],triadOff:[4,"triad-off"],worldOrientation:[1040],camera:[1040],viewer:[16],boxLength:[32],triadPosition:[32]},undefined,{viewer:[{handleViewerChanged:0}]}]);function P(){if(typeof customElements==="undefined"){return}const e=["vertex-viewer-view-cube","vertex-viewer-dom-element","vertex-viewer-dom-group","vertex-viewer-dom-renderer"];e.forEach((e=>{switch(e){case"vertex-viewer-view-cube":if(!customElements.get(i(e))){customElements.define(i(e),D)}break;case"vertex-viewer-dom-element":if(!customElements.get(i(e))){v()}break;case"vertex-viewer-dom-group":if(!customElements.get(i(e))){g()}break;case"vertex-viewer-dom-renderer":if(!customElements.get(i(e))){u()}break}}))}P();const C=D;const E=P;export{C as VertexViewerViewCube,E as defineCustomElement};
|
|
5
5
|
//# sourceMappingURL=vertex-viewer-view-cube.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (c) 2026 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{t,p as i,H as e,d as s,h,e as o}from"./p-Bb32XUUS.js";import{a as n,d as l,W as d,b as a}from"./p-
|
|
4
|
+
import{t,p as i,H as e,d as s,h,e as o}from"./p-Bb32XUUS.js";import{a as n,d as l,W as d,b as a}from"./p-CGCJ5hbJ.js";import{v as r}from"./p-DDQcM-So.js";function v(t){return t instanceof Element}class c{constructor(t){this.model=t;this.pressed={};this.handleKeyUp=async t=>{const i=t.key.toLocaleLowerCase();this.pressed=Object.keys(this.pressed).filter((t=>t!==i)).reduce(((t,i)=>({...t,[i]:true})),{});if(Object.keys(this.pressed).length===0&&this.interval!=null){this.endInteraction()}};this.endInteraction=async()=>{var t;this.clearInterval();await((t=this.api)===null||t===void 0?void 0:t.endInteraction())};this.handleKeyDown=this.handleKeyDown.bind(this);this.handleKeyUp=this.handleKeyUp.bind(this);this.handleEnabledChange=this.handleEnabledChange.bind(this);this.restartInteraction=this.restartInteraction.bind(this);this.updateCamera=this.updateCamera.bind(this);this.handlers={[n.MOVE_DOWN]:this.moveDown.bind(this),[n.MOVE_UP]:this.moveUp.bind(this),[n.PIVOT_DOWN]:this.pivotDown.bind(this),[n.PIVOT_LEFT]:this.pivotLeft.bind(this),[n.PIVOT_RIGHT]:this.pivotRight.bind(this),[n.PIVOT_UP]:this.pivotUp.bind(this),[n.WALK_BACKWARD]:this.walkBackward.bind(this),[n.WALK_FORWARD]:this.walkForward.bind(this),[n.WALK_LEFT]:this.walkLeft.bind(this),[n.WALK_RIGHT]:this.walkRight.bind(this)};this.enabledChangeDisposable=this.model.onEnabledChange(this.handleEnabledChange);this.keyBindingsChangeDisposable=this.model.onKeyBindingsChange(this.restartInteraction);this.configurationChangeDisposable=this.model.onConfigurationChange(this.restartInteraction)}dispose(){var t,i,e;this.disable();(t=this.enabledChangeDisposable)===null||t===void 0?void 0:t.dispose();(i=this.keyBindingsChangeDisposable)===null||i===void 0?void 0:i.dispose();(e=this.configurationChangeDisposable)===null||e===void 0?void 0:e.dispose();window.removeEventListener("keydown",this.handleKeyDown);window.removeEventListener("keyup",this.handleKeyUp)}initialize(t,i){this.api=i;this.handleEnabledChange(this.model.getEnabled())}enable(){this.disable();window.addEventListener("keydown",this.handleKeyDown);window.addEventListener("keyup",this.handleKeyUp)}disable(){window.removeEventListener("keydown",this.handleKeyDown);window.removeEventListener("keyup",this.handleKeyUp)}handleKeyDown(t){const i=t.key.toLowerCase();const e=v(t.target)&&this.model.isElementExcluded(t.target);if(!t.repeat&&!e){this.pressed={...this.pressed,[i]:true};this.tryBeginInteraction()}}handleEnabledChange(t){if(t){this.enable()}else{this.disable()}}restartInteraction(){this.clearInterval();this.tryBeginInteraction()}tryBeginInteraction(){if(Object.keys(this.pressed).length>0&&this.someOperationMatches()){this.beginInteraction()}}beginInteraction(){var t,i;if(!((t=this.api)===null||t===void 0?void 0:t.isInteracting())){(i=this.api)===null||i===void 0?void 0:i.beginInteraction()}if(this.interval==null){this.interval=setInterval(this.updateCamera,this.model.getKeyboardRepeatInterval())}}clearInterval(){if(this.interval!=null){clearInterval(this.interval);this.interval=undefined}}updateCamera(){Object.keys(this.handlers).forEach((t=>{const i=t;if(this.model.operationMatches(i,this.pressed)){this.handlers[i]()}}))}someOperationMatches(){return Object.keys(this.handlers).some((t=>this.model.operationMatches(t,this.pressed)))}pivotLeft(){var t;(t=this.api)===null||t===void 0?void 0:t.pivotCamera(0,this.model.getKeyboardPivotDegrees())}pivotRight(){var t;(t=this.api)===null||t===void 0?void 0:t.pivotCamera(0,-this.model.getKeyboardPivotDegrees())}pivotUp(){var t;(t=this.api)===null||t===void 0?void 0:t.pivotCamera(-this.model.getKeyboardPivotDegrees(),0)}pivotDown(){var t;(t=this.api)===null||t===void 0?void 0:t.pivotCamera(this.model.getKeyboardPivotDegrees(),0)}walkForward(){var t;(t=this.api)===null||t===void 0?void 0:t.walk(r.scale(this.relativeWalkSpeed(),r.forward()))}walkBackward(){var t;(t=this.api)===null||t===void 0?void 0:t.walk(r.scale(this.relativeWalkSpeed(),r.back()))}walkLeft(){var t;(t=this.api)===null||t===void 0?void 0:t.walk(r.scale(this.relativeWalkSpeed(),r.left()))}walkRight(){var t;(t=this.api)===null||t===void 0?void 0:t.walk(r.scale(this.relativeWalkSpeed(),r.right()))}moveUp(){var t;(t=this.api)===null||t===void 0?void 0:t.walk(r.scale(this.relativeWalkSpeed(),r.down()))}moveDown(){var t;(t=this.api)===null||t===void 0?void 0:t.walk(r.scale(this.relativeWalkSpeed(),r.up()))}relativeWalkSpeed(){return this.model.getKeyboardWalkSpeed()/500}}const u=()=>`:host{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}`;const w=i(class t extends e{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.controllerChanged=s(this,"controllerChanged");this.model=new d;this.enabled=true;this.stateMap={}}componentWillLoad(){this.setupController();this.setupInteractionHandler()}async componentDidLoad(){await this.ensureTeleportToolConfigured();this.updateTeleportTool();await this.setPivotInteractionMode()}connectedCallback(){this.setupInteractionHandler();this.setPivotInteractionMode()}disconnectedCallback(){this.clearInteractionHandler();this.resetInteractionMode()}handleEnabledChanged(){var t;(t=this.controller)===null||t===void 0?void 0:t.setEnabled(this.enabled);this.toggleInteractionMode()}handleViewerChanged(){this.clearInteractionHandler();this.setupInteractionHandler();this.updateTeleportTool();this.toggleInteractionMode()}handleTeleportModeChanged(){this.updateTeleportTool()}handleControllerChanged(){this.updateTeleportTool();this.controllerChanged.emit(this.controller)}handleModelChanged(){this.setupController();this.clearInteractionHandler();this.setupInteractionHandler()}render(){return h(o,{key:"b5a66d1f87a5d1eed77092c0dc1ff295587b3d01"},h("slot",{key:"91809a5501b34953821955c791bc0a497765209f",name:"teleport-tool",onSlotchange:async()=>{await this.ensureTeleportToolConfigured();this.updateTeleportTool()}}))}setupController(){if(this.controller==null){this.controller=new a(this.model);this.controllerChanged.emit(this.controller)}else{this.controller.updateModel(this.model)}}clearInteractionHandler(){var t,i;(t=this.interactionHandlerDisposable)===null||t===void 0?void 0:t.dispose();this.interactionHandlerDisposable=undefined;(i=this.interactionHandler)===null||i===void 0?void 0:i.dispose();this.interactionHandler=undefined}async setupInteractionHandler(){var t;if(this.interactionHandler==null){this.interactionHandler=new c(this.model);this.interactionHandlerDisposable=await((t=this.viewer)===null||t===void 0?void 0:t.registerInteractionHandler(this.interactionHandler))}}async ensureTeleportToolConfigured(){var t,i,e;if(this.hostEl!=null){const s=(i=(t=this.hostEl)===null||t===void 0?void 0:t.querySelector('vertex-viewer-teleport-tool[slot="teleport-tool"]'))!==null&&i!==void 0?i:undefined;const h=(s===null||s===void 0?void 0:s.tagName)==="VERTEX-VIEWER-TELEPORT-TOOL"?s:undefined;if(h!=null){this.stateMap.teleportTool=h}else{this.stateMap.teleportTool=document.createElement("vertex-viewer-teleport-tool");this.stateMap.teleportTool.slot="teleport-tool";(e=this.hostEl)===null||e===void 0?void 0:e.appendChild(this.stateMap.teleportTool)}}}updateTeleportTool(){if(this.stateMap.teleportTool!=null){this.stateMap.teleportTool.viewer=this.viewer;this.stateMap.teleportTool.controller=this.controller;this.stateMap.teleportTool.model=this.model;this.stateMap.teleportTool.mode=this.teleportMode}}toggleInteractionMode(){if(this.enabled){this.setPivotInteractionMode()}else{this.resetInteractionMode()}}async setPivotInteractionMode(){var t;const i=await((t=this.viewer)===null||t===void 0?void 0:t.getBaseInteractionHandler());if(this.enabled&&i!=null){const t=i.getPrimaryInteractionType();this.stateMap.previousPrimaryInteractionType=t==="pivot"?this.stateMap.previousPrimaryInteractionType:t;i.setPrimaryInteractionType("pivot")}}async resetInteractionMode(){var t;const i=await((t=this.viewer)===null||t===void 0?void 0:t.getBaseInteractionHandler());if(i!=null&&i.getPrimaryInteractionType()==="pivot"&&this.stateMap.previousPrimaryInteractionType!=null){i.setPrimaryInteractionType(this.stateMap.previousPrimaryInteractionType);this.stateMap.previousPrimaryInteractionType=undefined}}get hostEl(){return this}static get watchers(){return{enabled:[{handleEnabledChanged:0}],viewer:[{handleViewerChanged:0}],teleportMode:[{handleTeleportModeChanged:0}],controller:[{handleControllerChanged:0}],model:[{handleModelChanged:0}]}}static get style(){return u()}},[257,"vertex-viewer-walk-mode-tool",{viewer:[16],controller:[1040],model:[1040],teleportMode:[1,"teleport-mode"],enabled:[4]},undefined,{enabled:[{handleEnabledChanged:0}],viewer:[{handleViewerChanged:0}],teleportMode:[{handleTeleportModeChanged:0}],controller:[{handleControllerChanged:0}],model:[{handleModelChanged:0}]}]);function p(){if(typeof customElements==="undefined"){return}const i=["vertex-viewer-walk-mode-tool","vertex-viewer-teleport-tool"];i.forEach((i=>{switch(i){case"vertex-viewer-walk-mode-tool":if(!customElements.get(t(i))){customElements.define(t(i),w)}break;case"vertex-viewer-teleport-tool":if(!customElements.get(t(i))){l()}break}}))}p();const f=w;const m=p;export{f as VertexViewerWalkModeTool,m as defineCustomElement};
|
|
5
5
|
//# sourceMappingURL=vertex-viewer-walk-mode-tool.js.map
|