@vertexvis/viewer 0.22.1-testing.0 → 0.22.1-testing.1

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.
Files changed (119) hide show
  1. package/dist/cjs/{entities-a0db2d78.js → entities-9fad8808.js} +2 -2
  2. package/dist/cjs/{entities-a0db2d78.js.map → entities-9fad8808.js.map} +1 -1
  3. package/dist/cjs/index.cjs.js +5 -4
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/mapper-ac34f608.js +27 -0
  7. package/dist/cjs/mapper-ac34f608.js.map +1 -0
  8. package/dist/cjs/{queries-d31d23d4.js → queries-ea895dd6.js} +34 -3
  9. package/dist/cjs/queries-ea895dd6.js.map +1 -0
  10. package/dist/cjs/{scene_view_api_pb-0c5fdc13.js → scene_view_api_pb-61f663af.js} +605 -1
  11. package/dist/cjs/scene_view_api_pb-61f663af.js.map +1 -0
  12. package/dist/cjs/{scene_view_api_pb_service-4f9e3f90.js → scene_view_api_pb_service-bd6f25d0.js} +42 -2
  13. package/dist/cjs/scene_view_api_pb_service-bd6f25d0.js.map +1 -0
  14. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +1 -1
  15. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +1 -1
  16. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +3 -3
  17. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +2 -2
  18. package/dist/cjs/vertex-viewer.cjs.entry.js +5 -4
  19. package/dist/cjs/vertex-viewer.cjs.entry.js.map +1 -1
  20. package/dist/cjs/viewer.cjs.js +1 -1
  21. package/dist/collection/components/viewer/viewer.js +25 -0
  22. package/dist/collection/components/viewer/viewer.js.map +1 -1
  23. package/dist/collection/index.js +1 -0
  24. package/dist/collection/index.js.map +1 -1
  25. package/dist/collection/lib/pmi/controller.js +39 -0
  26. package/dist/collection/lib/pmi/controller.js.map +1 -0
  27. package/dist/collection/lib/pmi/index.js +6 -0
  28. package/dist/collection/lib/pmi/index.js.map +1 -0
  29. package/dist/collection/lib/pmi/mapper.js +9 -0
  30. package/dist/collection/lib/pmi/mapper.js.map +1 -0
  31. package/dist/collection/lib/pmi/types.js +5 -0
  32. package/dist/collection/lib/pmi/types.js.map +1 -0
  33. package/dist/collection/testing/pmi.js +20 -0
  34. package/dist/collection/testing/pmi.js.map +1 -0
  35. package/dist/components/index.js +1 -1
  36. package/dist/components/mapper2.js +7 -3
  37. package/dist/components/mapper2.js.map +1 -1
  38. package/dist/components/queries.js +32 -2
  39. package/dist/components/queries.js.map +1 -1
  40. package/dist/components/scene_view_api_pb.js +604 -0
  41. package/dist/components/scene_view_api_pb.js.map +1 -1
  42. package/dist/components/scene_view_api_pb_service.js +40 -0
  43. package/dist/components/scene_view_api_pb_service.js.map +1 -1
  44. package/dist/components/vertex-viewer.js +3 -1
  45. package/dist/components/vertex-viewer.js.map +1 -1
  46. package/dist/esm/{entities-632f31f3.js → entities-9d4e336b.js} +2 -2
  47. package/dist/esm/{entities-632f31f3.js.map → entities-9d4e336b.js.map} +1 -1
  48. package/dist/esm/index.js +4 -4
  49. package/dist/esm/index.mjs +4 -4
  50. package/dist/esm/loader.js +1 -1
  51. package/dist/esm/loader.mjs +1 -1
  52. package/dist/esm/mapper-b3a6eca5.js +23 -0
  53. package/dist/esm/mapper-b3a6eca5.js.map +1 -0
  54. package/dist/esm/{queries-40a25625.js → queries-f2b5a440.js} +34 -4
  55. package/dist/esm/queries-f2b5a440.js.map +1 -0
  56. package/dist/esm/{scene_view_api_pb-1d91cc93.js → scene_view_api_pb-c030fd23.js} +605 -1
  57. package/dist/esm/scene_view_api_pb-c030fd23.js.map +1 -0
  58. package/dist/esm/{scene_view_api_pb_service-9f20d437.js → scene_view_api_pb_service-65caee11.js} +42 -2
  59. package/dist/esm/scene_view_api_pb_service-65caee11.js.map +1 -0
  60. package/dist/esm/vertex-viewer-measurement-distance.entry.js +1 -1
  61. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +1 -1
  62. package/dist/esm/vertex-viewer-measurement-precise.entry.js +3 -3
  63. package/dist/esm/vertex-viewer-pin-group.entry.js +2 -2
  64. package/dist/esm/vertex-viewer.entry.js +5 -4
  65. package/dist/esm/vertex-viewer.entry.js.map +1 -1
  66. package/dist/esm/viewer.js +1 -1
  67. package/dist/types/components/viewer/viewer.d.ts +7 -0
  68. package/dist/types/components.d.ts +11 -0
  69. package/dist/types/index.d.ts +1 -0
  70. package/dist/types/lib/pmi/controller.d.ts +16 -0
  71. package/dist/types/lib/pmi/index.d.ts +2 -0
  72. package/dist/types/lib/pmi/mapper.d.ts +4 -0
  73. package/dist/types/lib/pmi/types.d.ts +10 -0
  74. package/dist/types/testing/pmi.d.ts +5 -0
  75. package/dist/viewer/index.esm.js +1 -1
  76. package/dist/viewer/index.esm.js.map +1 -1
  77. package/dist/viewer/p-187f783f.entry.js +5 -0
  78. package/dist/viewer/p-187f783f.entry.js.map +1 -0
  79. package/dist/viewer/p-32bff740.js +5 -0
  80. package/dist/viewer/p-32bff740.js.map +1 -0
  81. package/dist/viewer/{p-9d0c84ab.entry.js → p-4b7b629a.entry.js} +2 -2
  82. package/dist/viewer/p-8af6917b.js +5 -0
  83. package/dist/viewer/p-8af6917b.js.map +1 -0
  84. package/dist/viewer/{p-34dce39f.js → p-90bbb5f6.js} +2 -2
  85. package/dist/viewer/{p-9094c563.entry.js → p-9de90d0e.entry.js} +2 -2
  86. package/dist/viewer/{p-b9965b9b.entry.js → p-b3257f48.entry.js} +2 -2
  87. package/dist/viewer/{p-076e9e65.entry.js → p-d10f7459.entry.js} +2 -2
  88. package/dist/viewer/p-d36d5971.js +5 -0
  89. package/dist/viewer/p-d36d5971.js.map +1 -0
  90. package/dist/viewer/p-f0c0cf0b.js +5 -0
  91. package/dist/viewer/p-f0c0cf0b.js.map +1 -0
  92. package/dist/viewer/viewer.esm.js +1 -1
  93. package/dist/viewer/viewer.esm.js.map +1 -1
  94. package/package.json +8 -8
  95. package/dist/cjs/mapper-f168a1a5.js +0 -22
  96. package/dist/cjs/mapper-f168a1a5.js.map +0 -1
  97. package/dist/cjs/queries-d31d23d4.js.map +0 -1
  98. package/dist/cjs/scene_view_api_pb-0c5fdc13.js.map +0 -1
  99. package/dist/cjs/scene_view_api_pb_service-4f9e3f90.js.map +0 -1
  100. package/dist/esm/mapper-826430a2.js +0 -19
  101. package/dist/esm/mapper-826430a2.js.map +0 -1
  102. package/dist/esm/queries-40a25625.js.map +0 -1
  103. package/dist/esm/scene_view_api_pb-1d91cc93.js.map +0 -1
  104. package/dist/esm/scene_view_api_pb_service-9f20d437.js.map +0 -1
  105. package/dist/viewer/p-2800111a.js +0 -5
  106. package/dist/viewer/p-2800111a.js.map +0 -1
  107. package/dist/viewer/p-2924ed4a.entry.js +0 -5
  108. package/dist/viewer/p-2924ed4a.entry.js.map +0 -1
  109. package/dist/viewer/p-9f190847.js +0 -5
  110. package/dist/viewer/p-9f190847.js.map +0 -1
  111. package/dist/viewer/p-a297836a.js +0 -5
  112. package/dist/viewer/p-a297836a.js.map +0 -1
  113. package/dist/viewer/p-aeaafe7f.js +0 -5
  114. package/dist/viewer/p-aeaafe7f.js.map +0 -1
  115. /package/dist/viewer/{p-9d0c84ab.entry.js.map → p-4b7b629a.entry.js.map} +0 -0
  116. /package/dist/viewer/{p-34dce39f.js.map → p-90bbb5f6.js.map} +0 -0
  117. /package/dist/viewer/{p-9094c563.entry.js.map → p-9de90d0e.entry.js.map} +0 -0
  118. /package/dist/viewer/{p-b9965b9b.entry.js.map → p-b3257f48.entry.js.map} +0 -0
  119. /package/dist/viewer/{p-076e9e65.entry.js.map → p-d10f7459.entry.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Copyright (c) 2024 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{s as t,m as s,g as i}from"./p-9f190847.js";import{w as n}from"./p-df8d721e.js";import{r as e,c as r}from"./p-d3001337.js";import{m as o}from"./p-cc62eb80.js";import{j as h,v as a}from"./p-56c17536.js";import{m as c}from"./p-6022ae29.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 e((async i=>{const n=await r(this.jwtProvider,this.deviceId);const e=new t.MeasureRequest;e.setEntitiesList(s.map((t=>t.toProto())));this.client.measure(e,n,i)}));return o(i.toObject())}else{return undefined}}async highlightEntities(i,o){await e((async e=>{const h=await r(this.jwtProvider,this.deviceId);const a=new Set(o);const c=i.filter((t=>!a.has(t)));const m=c.map((i=>{const e=new t.ModelEntityUpdate;e.setModelEntity(s.ModelEntity.deserializeBinary(i.modelEntity));e.setHighlight((new n.BoolValue).setValue(false));return e}));const u=o.map((i=>{const e=new t.ModelEntityUpdate;e.setModelEntity(s.ModelEntity.deserializeBinary(i.modelEntity));e.setHighlight((new n.BoolValue).setValue(true));return e}));const f=new t.UpdateModelEntitiesRequest;f.setUpdatesList([...m,...u]);this.client.updateModelEntities(f,h,e)}))}}class u{constructor(t,s){this.point=t;this.modelEntity=s}static fromHit(t){if(t.hitPoint!=null&&t.modelEntity!=null){const s=c.ifInvalidThrow(h)(t.hitPoint);const i=a.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 n=new t.MeasureEntity;const e=new i.Vector3f;e.setX(this.point.x);e.setY(this.point.y);e.setZ(this.point.z);n.setPoint(e);const r=s.ModelEntity.deserializeBinary(this.modelEntity);n.setModelEntity(r);return n}}export{m as M,u as a};
5
- //# sourceMappingURL=p-34dce39f.js.map
4
+ import{s as t,m as s,g as i}from"./p-8af6917b.js";import{w as n}from"./p-df8d721e.js";import{r as e,c as r}from"./p-d3001337.js";import{m as o}from"./p-cc62eb80.js";import{j as a,v as h}from"./p-56c17536.js";import{m as c}from"./p-6022ae29.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 e((async i=>{const n=await r(this.jwtProvider,this.deviceId);const e=new t.MeasureRequest;e.setEntitiesList(s.map((t=>t.toProto())));this.client.measure(e,n,i)}));return o(i.toObject())}else{return undefined}}async highlightEntities(i,o){await e((async e=>{const a=await r(this.jwtProvider,this.deviceId);const h=new Set(o);const c=i.filter((t=>!h.has(t)));const m=c.map((i=>{const e=new t.ModelEntityUpdate;e.setModelEntity(s.ModelEntity.deserializeBinary(i.modelEntity));e.setHighlight((new n.BoolValue).setValue(false));return e}));const u=o.map((i=>{const e=new t.ModelEntityUpdate;e.setModelEntity(s.ModelEntity.deserializeBinary(i.modelEntity));e.setHighlight((new n.BoolValue).setValue(true));return e}));const f=new t.UpdateModelEntitiesRequest;f.setUpdatesList([...m,...u]);this.client.updateModelEntities(f,a,e)}))}}class u{constructor(t,s){this.point=t;this.modelEntity=s}static fromHit(t){if(t.hitPoint!=null&&t.modelEntity!=null){const s=c.ifInvalidThrow(a)(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 n=new t.MeasureEntity;const e=new i.Vector3f;e.setX(this.point.x);e.setY(this.point.y);e.setZ(this.point.z);n.setPoint(e);const r=s.ModelEntity.deserializeBinary(this.modelEntity);n.setModelEntity(r);return n}}export{m as M,u as a};
5
+ //# sourceMappingURL=p-90bbb5f6.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Copyright (c) 2024 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{h as i,F as t,r as n}from"./p-e541044a.js";import{p as e,m as o,v as s}from"./p-26198b53.js";import"./p-d6a4202f.js";import"./p-2bf5e719.js";import"./p-9f190847.js";import"./p-df8d721e.js";import"./p-cc62eb80.js";import"./p-56c17536.js";import"./p-a297836a.js";import"./p-d312d59a.js";import{V as r}from"./p-f6f74387.js";import{g as a,i as l,b as d,P as p,a as h,c}from"./p-a5cc49d8.js";import{c as v}from"./p-efd3d00e.js";import"./p-8ac79dd1.js";import"./p-4922b6c9.js";import"./p-6022ae29.js";import"./p-67acaae6.js";import"./p-55e6df3c.js";const u=({pin:n,selected:e,occluded:o,detached:s})=>{const{primaryColor:r}=a(n);return i(t,null,d(n)&&i("div",{id:"pin-anchor",class:v("pin-anchor",{selected:e,"pin-occluded":o,"pin-detached":s}),style:{background:r}}),l(n)&&i("vertex-viewer-icon",{name:"pin-fill",size:"lg",class:v("pin",{"pin-selected":e,"pin-occluded":o,"pin-detached":s}),style:{color:r}}))};function w(i,t,n){const o={x:i.x+n.width/2,y:i.y};const s={x:i.x+n.width/2,y:i.y+n.height};const r={x:i.x+n.width,y:i.y+n.height/2};const a={x:i.x,y:i.y+n.height/2};const l=[o,s,a,r];const d=l.map((i=>e.distance(i,t)));const p=d.indexOf(Math.min(...d));return l[p]}const b=":host{--viewer-annotations-pin-primary-color:var(--blue-700);--viewer-annotations-pin-accent-color:var(--blue-200);--viewer-annotations-pin-dot-color:var(--viewer-annotations-pin-primary-color);--viewer-annotations-pin-color:var(--viewer-annotations-pin-primary-color);--viewer-annotations-pin-font-size:0.75rem;--viewer-annotations-pin-selected-stroke:var(--white);--viewer-annotations-pin-selected-border:2px solid var(--white);--viewer-annotations-pin-label-border:2px solid var(--black);--viewer-annotations-pin-selected-stroke:var(--white);font-size:var(--viewer-annotations-pin-font-size);position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none}.pin-anchor{position:absolute;border-radius:50%;transform:translate(-50%, -50%);display:block;width:9px;height:9px;box-sizing:border-box;border:var(--viewer-annotations-pin-label-border);background:var(--viewer-annotations-pin-dot-color);pointer-events:auto;cursor:pointer}.selected{width:13px;height:13px;border:var(--viewer-annotations-pin-selected-border)}.pin{color:var(--viewer-annotations-pin-color);cursor:pointer;transition:opacity 0.3s ease-in}.pin-selected{stroke-width:1;stroke:var(--viewer-annotations-pin-selected-stroke)}.pin-occluded{opacity:.3;transition:opacity 0.3s ease-in}.pin-detached{visibility:hidden}";const m=class{constructor(i){n(this,i);this.matrix=o.makeIdentity();this.projectionViewMatrix=o.makeIdentity();this.pinModel=new p;this.selected=false;this.occluded=false;this.detached=false;this.invalidateStateCounter=0;this.invalidateState=()=>{this.invalidateStateCounter=this.invalidateStateCounter+1}}componentDidLoad(){var i;this.setLabelObserver();if(this.pinController==null){this.pinController=new h(this.pinModel)}if(this.selected){(i=this.labelEl)===null||i===void 0?void 0:i.setFocus()}}async handleOcclusionStateChanged(i){this.occluded=i.detail}async handleDetachedStateChanged(i){this.detached=i.detail}disconnectedCallback(){var i,t;(i=this.labelEl)===null||i===void 0?void 0:i.removeEventListener("labelChanged",this.invalidateState);(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}render(){var n;if(this.pin==null){throw new Error("Unable to draw pin")}const{pinPoint:e,labelPoint:o}=this.computePinPoints(this.pin);return i(t,null,i("vertex-viewer-dom-element",{"data-testid":`drawn-pin-${this.pin.id}`,position:this.pin.worldPosition,onPointerDown:async()=>{var i;await((i=this.labelEl)===null||i===void 0?void 0:i.submit());this.selectPin();this.handleAnchorPointerDown()},detachedOff:false},i(u,{pin:this.pin,selected:this.selected,occluded:this.occluded,detached:this.detached})),d(this.pin)&&!this.occluded&&!this.detached&&i(t,null,i("vertex-viewer-pin-label-line",{id:`pin-label-line-${(n=this.pin)===null||n===void 0?void 0:n.id}`,pinPoint:e,pin:this.pin,labelPoint:o,onPointerDown:()=>this.selectPin()}),i("vertex-viewer-pin-label",{pin:this.pin,ref:i=>this.labelEl=i,elementBounds:this.elementBounds,pinController:this.pinController,onPointerDown:()=>this.selectPin()})))}setLabelObserver(){if(this.labelEl!=null){this.labelEl.addEventListener("labelChanged",this.invalidateState);this.resizeObserver=new ResizeObserver((()=>this.invalidateState()));this.resizeObserver.observe(this.labelEl)}}computePinPoints(i){if(this.elementBounds!=null&&this.pin!=null){return d(this.pin)&&this.pin.label.point!=null?this.computeTextPinPoints(this.pin,this.elementBounds):this.computeDefaultPinPoints(this.pin,this.elementBounds)}return{pinPoint:i.worldPosition}}computeDefaultPinPoints(i,t){return{pinPoint:this.getFromWorldPosition(i.worldPosition,this.projectionViewMatrix,t)}}computeTextPinPoints(i,t){var n,e,o,s;const{pinPoint:r}=this.computeDefaultPinPoints(i,t);const a=c(i.label.point,t);const l=((e=(n=this.labelEl)===null||n===void 0?void 0:n.firstElementChild)===null||e===void 0?void 0:e.clientWidth)||0;const d=((s=(o=this.labelEl)===null||o===void 0?void 0:o.firstElementChild)===null||s===void 0?void 0:s.clientHeight)||0;return{pinPoint:r,labelPoint:w(a,r,{width:l,height:d})}}handleAnchorPointerDown(){var i,t;if(this.elementBounds!=null&&((i=this.pinController)===null||i===void 0?void 0:i.getToolMode())==="edit"&&this.pin!=null){(t=this.pinController)===null||t===void 0?void 0:t.setDraggable({id:this.pin.id})}}selectPin(){var i,t;(i=this.pinController)===null||i===void 0?void 0:i.setSelectedPinId((t=this.pin)===null||t===void 0?void 0:t.id)}getFromWorldPosition(i,t,n){const e=s.transformMatrix(i,t);return r.fromDimensions(n).transformVectorToViewport(e)}};m.style=b;export{m as vertex_viewer_pin_group};
5
- //# sourceMappingURL=p-9094c563.entry.js.map
4
+ import{h as i,F as t,r as n}from"./p-e541044a.js";import{p as e,m as o,v as s}from"./p-26198b53.js";import"./p-d6a4202f.js";import"./p-2bf5e719.js";import"./p-8af6917b.js";import"./p-df8d721e.js";import"./p-cc62eb80.js";import"./p-56c17536.js";import"./p-32bff740.js";import"./p-d312d59a.js";import{V as r}from"./p-f6f74387.js";import{g as a,i as l,b as d,P as p,a as h,c}from"./p-a5cc49d8.js";import{c as v}from"./p-efd3d00e.js";import"./p-8ac79dd1.js";import"./p-4922b6c9.js";import"./p-6022ae29.js";import"./p-67acaae6.js";import"./p-55e6df3c.js";const u=({pin:n,selected:e,occluded:o,detached:s})=>{const{primaryColor:r}=a(n);return i(t,null,d(n)&&i("div",{id:"pin-anchor",class:v("pin-anchor",{selected:e,"pin-occluded":o,"pin-detached":s}),style:{background:r}}),l(n)&&i("vertex-viewer-icon",{name:"pin-fill",size:"lg",class:v("pin",{"pin-selected":e,"pin-occluded":o,"pin-detached":s}),style:{color:r}}))};function b(i,t,n){const o={x:i.x+n.width/2,y:i.y};const s={x:i.x+n.width/2,y:i.y+n.height};const r={x:i.x+n.width,y:i.y+n.height/2};const a={x:i.x,y:i.y+n.height/2};const l=[o,s,a,r];const d=l.map((i=>e.distance(i,t)));const p=d.indexOf(Math.min(...d));return l[p]}const w=":host{--viewer-annotations-pin-primary-color:var(--blue-700);--viewer-annotations-pin-accent-color:var(--blue-200);--viewer-annotations-pin-dot-color:var(--viewer-annotations-pin-primary-color);--viewer-annotations-pin-color:var(--viewer-annotations-pin-primary-color);--viewer-annotations-pin-font-size:0.75rem;--viewer-annotations-pin-selected-stroke:var(--white);--viewer-annotations-pin-selected-border:2px solid var(--white);--viewer-annotations-pin-label-border:2px solid var(--black);--viewer-annotations-pin-selected-stroke:var(--white);font-size:var(--viewer-annotations-pin-font-size);position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none}.pin-anchor{position:absolute;border-radius:50%;transform:translate(-50%, -50%);display:block;width:9px;height:9px;box-sizing:border-box;border:var(--viewer-annotations-pin-label-border);background:var(--viewer-annotations-pin-dot-color);pointer-events:auto;cursor:pointer}.selected{width:13px;height:13px;border:var(--viewer-annotations-pin-selected-border)}.pin{color:var(--viewer-annotations-pin-color);cursor:pointer;transition:opacity 0.3s ease-in}.pin-selected{stroke-width:1;stroke:var(--viewer-annotations-pin-selected-stroke)}.pin-occluded{opacity:.3;transition:opacity 0.3s ease-in}.pin-detached{visibility:hidden}";const m=class{constructor(i){n(this,i);this.matrix=o.makeIdentity();this.projectionViewMatrix=o.makeIdentity();this.pinModel=new p;this.selected=false;this.occluded=false;this.detached=false;this.invalidateStateCounter=0;this.invalidateState=()=>{this.invalidateStateCounter=this.invalidateStateCounter+1}}componentDidLoad(){var i;this.setLabelObserver();if(this.pinController==null){this.pinController=new h(this.pinModel)}if(this.selected){(i=this.labelEl)===null||i===void 0?void 0:i.setFocus()}}async handleOcclusionStateChanged(i){this.occluded=i.detail}async handleDetachedStateChanged(i){this.detached=i.detail}disconnectedCallback(){var i,t;(i=this.labelEl)===null||i===void 0?void 0:i.removeEventListener("labelChanged",this.invalidateState);(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}render(){var n;if(this.pin==null){throw new Error("Unable to draw pin")}const{pinPoint:e,labelPoint:o}=this.computePinPoints(this.pin);return i(t,null,i("vertex-viewer-dom-element",{"data-testid":`drawn-pin-${this.pin.id}`,position:this.pin.worldPosition,onPointerDown:async()=>{var i;await((i=this.labelEl)===null||i===void 0?void 0:i.submit());this.selectPin();this.handleAnchorPointerDown()},detachedOff:false},i(u,{pin:this.pin,selected:this.selected,occluded:this.occluded,detached:this.detached})),d(this.pin)&&!this.occluded&&!this.detached&&i(t,null,i("vertex-viewer-pin-label-line",{id:`pin-label-line-${(n=this.pin)===null||n===void 0?void 0:n.id}`,pinPoint:e,pin:this.pin,labelPoint:o,onPointerDown:()=>this.selectPin()}),i("vertex-viewer-pin-label",{pin:this.pin,ref:i=>this.labelEl=i,elementBounds:this.elementBounds,pinController:this.pinController,onPointerDown:()=>this.selectPin()})))}setLabelObserver(){if(this.labelEl!=null){this.labelEl.addEventListener("labelChanged",this.invalidateState);this.resizeObserver=new ResizeObserver((()=>this.invalidateState()));this.resizeObserver.observe(this.labelEl)}}computePinPoints(i){if(this.elementBounds!=null&&this.pin!=null){return d(this.pin)&&this.pin.label.point!=null?this.computeTextPinPoints(this.pin,this.elementBounds):this.computeDefaultPinPoints(this.pin,this.elementBounds)}return{pinPoint:i.worldPosition}}computeDefaultPinPoints(i,t){return{pinPoint:this.getFromWorldPosition(i.worldPosition,this.projectionViewMatrix,t)}}computeTextPinPoints(i,t){var n,e,o,s;const{pinPoint:r}=this.computeDefaultPinPoints(i,t);const a=c(i.label.point,t);const l=((e=(n=this.labelEl)===null||n===void 0?void 0:n.firstElementChild)===null||e===void 0?void 0:e.clientWidth)||0;const d=((s=(o=this.labelEl)===null||o===void 0?void 0:o.firstElementChild)===null||s===void 0?void 0:s.clientHeight)||0;return{pinPoint:r,labelPoint:b(a,r,{width:l,height:d})}}handleAnchorPointerDown(){var i,t;if(this.elementBounds!=null&&((i=this.pinController)===null||i===void 0?void 0:i.getToolMode())==="edit"&&this.pin!=null){(t=this.pinController)===null||t===void 0?void 0:t.setDraggable({id:this.pin.id})}}selectPin(){var i,t;(i=this.pinController)===null||i===void 0?void 0:i.setSelectedPinId((t=this.pin)===null||t===void 0?void 0:t.id)}getFromWorldPosition(i,t,n){const e=s.transformMatrix(i,t);return r.fromDimensions(n).transformVectorToViewport(e)}};m.style=w;export{m as vertex_viewer_pin_group};
5
+ //# sourceMappingURL=p-9de90d0e.entry.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Copyright (c) 2024 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{h as t,r as e,c as i,H as n,g as s}from"./p-e541044a.js";import{v as r,c as o,p as a,l as h}from"./p-26198b53.js";import{m as l}from"./p-2bf5e719.js";import{a as d,g as c}from"./p-47b8b98d.js";import"./p-9f190847.js";import"./p-df8d721e.js";import"./p-cc62eb80.js";import{j as u,D as m}from"./p-56c17536.js";import{M as v}from"./p-b31ff46f.js";import{M as p}from"./p-8749268e.js";import{m as w}from"./p-5a3c2d38.js";import"./p-d312d59a.js";import{V as f}from"./p-f6f74387.js";import{E as b,m as g}from"./p-6022ae29.js";import{g as y}from"./p-9f3af021.js";import{c as P}from"./p-efd3d00e.js";import"./p-8ac79dd1.js";import"./p-55e6df3c.js";const E=16;const C=10;function M(t){return t.getBoundingClientRect()}class x{constructor(t,e,i,n){this.stencil=t;this.depthBuffer=e;this.viewport=i;this.camera=n}hitTest(t){const e=this.viewport.transformPointToFrame(t,this.depthBuffer);if(this.stencil!=null){const i=this.viewport.transformPointToFrame(t,this.stencil);return this.stencil.hitTest(i)||this.depthBuffer.hitTest(e)}else{return this.depthBuffer.hitTest(e)}}snapToNearestPixel(t,e){if(this.stencil!=null){const i=this.viewport.transformPointToFrame(t,this.stencil);const n=this.stencil.snapToNearestPixel(i,e);return this.viewport.transformPointToViewport(n,this.stencil)}else{return t}}transformPointToWorld(t,{ignoreHitTest:e=false}={}){const i=this.pickDepthBuffer(t);if(i!=null){return this.viewport.transformPointToWorldSpace(t,i)}else if(e){return this.viewport.transformPointToWorldSpace(t,this.depthBuffer)}}pickDepthBuffer(t){if(this.stencil!=null){const e=this.viewport.transformPointToFrame(t,this.stencil);if(this.stencil.hitTest(e)){return this.stencil.depthBuffer}}const e=this.viewport.transformPointToFrame(t,this.depthBuffer);return this.depthBuffer.hitTest(e)?this.depthBuffer:undefined}}class j{constructor(t){this.model=t}newMeasurement(t,e){const i=e.hitTester().transformPointToWorld(t);return i!=null?new A(t,i,this.model):undefined}editMeasurement(t){const e=this.model.getMeasurement();if(e==null){throw new Error("Cannot edit measurement. Measurement is empty.")}return t==="start"?new k(e,this.model):new S(e,this.model)}clearIndicator(){this.model.setIndicator(undefined)}moveIndicator(t,e){const i=e.hitTester().transformPointToWorld(t);this.model.setIndicator(i);return i!=null}}class I{constructor(){this.measurementChanged=new b;this.indicatorChanged=new b}static empty(){return new I}getMeasurement(){return this.measurement}setMeasurement(t){if(this.measurement!==t){this.measurement=t;this.measurementChanged.emit(t)}}setMeasurementFromValues(t,e,i){if(t!=null&&e!=null){const n=i?T(t,e):H(t,e);this.setMeasurement(n)}else{this.setMeasurement(undefined)}}onMeasurementChanged(t){return this.measurementChanged.on(t)}getIndicator(){return this.indicator}setIndicator(t){if(this.indicator!==t){this.indicator=t;this.indicatorChanged.emit(t)}}onIndicatorChanged(t){return this.indicatorChanged.on(t)}}class A{constructor(t,e,i){this.pt=t;this.world=e;this.model=i;this.hitWorldValid=true;this.preventUpdate=false}fetchStartIfMissing(t){if(this.pendingStart==null){this.pendingStart=this.fetchStart(t)}}async fetchStart(t){const e=await t.raycaster();const i=await L(e,this.pt);if(i==null){const e=t.hitTester().transformPointToWorld(this.pt);this.hitWorld=e;this.hitWorldValid=false}else{this.hitWorld=i;this.hitWorldValid=true}}update(t,e){var i;if(!this.preventUpdate){this.fetchStartIfMissing(e);const n=e.hitTester().transformPointToWorld(t,{ignoreHitTest:true});const s=e.hitTester().hitTest(t);const r=(i=this.hitWorld)!==null&&i!==void 0?i:this.world;if(n==null){throw new Error("Cannot update new measurement interaction. End point is empty.")}else if(!this.hitWorldValid||!s){this.model.setIndicator(n);this.setMeasurement(H(r,n))}else{this.model.setIndicator(n);this.setMeasurement(T(r,n))}}}async finish(t,e){var i;this.preventUpdate=true;this.fetchStartIfMissing(e);await this.pendingStart;this.model.setIndicator(undefined);const n=await e.raycaster();const s=await L(n,t);const r=(i=this.hitWorld)!==null&&i!==void 0?i:this.world;this.preventUpdate=false;if(s==null){const i=e.hitTester().transformPointToWorld(t,{ignoreHitTest:true});if(i==null){throw new Error("Cannot complete new measurement interaction. End point is empty.")}return this.setMeasurement(H(r,i))}else if(!this.hitWorldValid){return this.setMeasurement(H(r,s))}else{return this.setMeasurement(T(r,s))}}setMeasurement(t){this.model.setMeasurement(t);return t}}class D{constructor(t,e){this.measurement=t;this.model=e}update(t,e){const i=e.hitTester().transformPointToWorld(t,{ignoreHitTest:true});const n=e.hitTester().hitTest(t);if(i==null){throw new Error("Cannot update new measurement interaction. End point is empty.")}else if(!n){this.model.setIndicator(i);this.setMeasurement(this.getInvalidMeasurement(i))}else{this.model.setIndicator(i);this.setMeasurement(this.getValidMeasurement(i))}}async finish(t,e){const i=await e.raycaster();const n=await L(i,t);this.model.setIndicator(undefined);if(n==null){const i=e.hitTester().transformPointToWorld(t,{ignoreHitTest:true});if(i==null){throw new Error("Cannot complete edit measurement interaction. End point is empty.")}return this.setMeasurement(this.getInvalidMeasurement(i))}else{return this.setMeasurement(this.getValidMeasurement(n))}}setMeasurement(t){this.model.setMeasurement(t);return t}}class k extends D{constructor(t,e){super(t,e)}getInvalidMeasurement(t){return H(t,this.measurement.end)}getValidMeasurement(t){return T(t,this.measurement.end)}}class S extends D{constructor(t,e){super(t,e)}getInvalidMeasurement(t){return H(this.measurement.start,t)}getValidMeasurement(t){return T(this.measurement.start,t)}}async function L(t,e){var i;const n=await t.hitItems(e);const[s]=(i=n===null||n===void 0?void 0:n.hits)!==null&&i!==void 0?i:[];if((s===null||s===void 0?void 0:s.hitPoint)!=null){const t=u(s.hitPoint);if(g.isInvalid(t)){throw new Error(`Invalid hit response [${t.errors.join(",")}]`)}return t}else return undefined}function T(t,e){return{start:t,end:e,distance:r.distance(t,e),valid:true}}function H(t,e){return{start:t,end:e,valid:false}}const O=({startPt:e,endPt:i,centerPt:n,indicatorPt:s,distance:r,anchorLabelOffset:h,lineCapLength:l,linePointerEvents:c,hideStartAnchor:u,hideEndAnchor:m,onStartAnchorPointerDown:v,onEndAnchorPointerDown:p})=>{const w=e!=null&&i!=null?o.fromPoints(e,i):undefined;const f=w!=null&&e!=null&&h!=null?a.add(e,a.polar(-h,w)):undefined;const b=w!=null&&i!=null&&h!=null?a.add(i,a.polar(h,w)):undefined;return t("div",null,e!=null&&i!=null&&t("vertex-viewer-measurement-line",{class:P("line",{"hide-start-line-cap":u,"hide-end-line-cap":m}),start:e,end:i,capLength:l,pointerEvents:c}),!u&&e!=null&&t("div",{id:"start-anchor",class:"anchor anchor-start",style:{transform:d(e)},onPointerDown:v},t("slot",{name:"start-anchor"},t("div",{class:"anchor-placeholder"}))),!u&&f&&t("div",{class:"anchor-label anchor-label-start",style:{transform:d(f)}},t("slot",{name:"start-label"})),!m&&i!=null&&t("div",{id:"end-anchor",class:"anchor anchor-end",style:{transform:d(i)},onPointerDown:p},t("slot",{name:"end-anchor"},t("div",{class:"anchor-placeholder"}))),!m&&b&&t("div",{class:"anchor-label anchor-label-end",style:{transform:d(b)}},t("slot",{name:"end-label"})),n!=null&&t("div",{id:"label",class:"distance-label",style:{transform:d(n)}},r),s!=null&&t("div",{class:"indicator",style:{transform:d(s)}},t("slot",{name:"indicator"},t("div",{class:"indicator-placeholder"}))))};const V=":host{--viewer-measurement-distance-accent-color:var(--neutral-900);--viewer-measurement-distance-contrast-color:var(--white);--viewer-measurement-distance-invalid-accent-color:var(--red-600);--viewer-measurement-distance-invalid-contrast-color:var(--white);--viewer-measurement-distance-line-stroke-width:1.25px;--viewer-measurement-distance-line-fill-width:2px;--viewer-measurement-distance-distance-border:1px solid\n var(--viewer-measurement-distance-accent-color);--viewer-measurement-distance-distance-border-radius:0.25rem;--viewer-measurement-distance-distance-padding:0.375rem 0.5rem;color:var(--viewer-measurement-distance-accent-color);font-size:0.75rem;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none}:host([invalid]:not([invalid='false'])){--viewer-measurement-distance-accent-color:var(\n --viewer-measurement-distance-invalid-accent-color\n ) !important;--viewer-measurement-distance-contrast-color:var(\n --viewer-measurement-distance-invalid-contrast-color\n ) !important}.line{--viewer-measurement-line-stroke:var(\n --viewer-measurement-distance-contrast-color\n );--viewer-measurement-line-stroke-opacity:0.75;--viewer-measurement-line-stroke-width:var(\n --viewer-measurement-distance-line-stroke-width\n );--viewer-measurement-line-fill:var(\n --viewer-measurement-distance-accent-color\n );--viewer-measurement-line-fill-width:var(\n --viewer-measurement-distance-line-fill-width\n );position:absolute;width:100%;height:100%}.anchor{position:absolute;border-radius:50%;transform:translate(-50%, -50%);display:block;pointer-events:auto}:host([interacting-anchor='start']) .anchor-start,:host([interacting-anchor='start']) .anchor-label-start{visibility:hidden}.hide-start-line-cap,:host([interacting-anchor='start']) .line{--viewer-measurement-line-start-cap-visibility:hidden}:host([interacting-anchor='end']) .anchor-end,:host([interacting-anchor='end']) .anchor-label-end{visibility:hidden}.hide-end-line-cap,:host([interacting-anchor='end']) .line{--viewer-measurement-line-end-cap-visibility:hidden}.anchor-label{position:absolute;border-radius:50%;transform:translate(-50%, -50%);display:block;pointer-events:auto}:host(:not([mode=''])){cursor:inherit}:host(:not([mode=''])) .anchor{cursor:move}:host([mode='']) .anchor{visibility:hidden}.anchor-placeholder{background:var(--viewer-measurement-distance-contrast-color);width:12px;height:12px;border-radius:50%;box-sizing:border-box}:host(:not([mode=''])) .anchor-placeholder{border:2px solid var(--viewer-measurement-distance-accent-color);background:var(--viewer-measurement-distance-contrast-color)}:host([mode='']) .distance-label{color:var(--viewer-measurement-distance-contrast-color);background:var(--viewer-measurement-distance-accent-color)}.distance-label{position:absolute;background:var(--viewer-measurement-distance-contrast-color);border:var(--viewer-measurement-distance-distance-border);border-radius:var(--viewer-measurement-distance-distance-border-radius);padding:var(--viewer-measurement-distance-distance-padding);pointer-events:auto}.indicator{position:absolute}.indicator-placeholder{background:var(--viewer-measurement-distance-accent-color);border:1px solid var(--viewer-measurement-distance-contrast-color);width:6px;height:6px;border-radius:50%;box-sizing:border-box}";const B=3;const z=class{constructor(t){e(this,t);this.editBegin=i(this,"editBegin",7);this.editEnd=i(this,"editEnd",7);this.showAxisReferenceLines=false;this.snapDistance=E;this.units="millimeters";this.fractionalDigits=2;this.anchorLabelOffset=20;this.lineCapLength=C;this.mode="";this.interactingAnchor="none";this.invalid=false;this.measurementModel=new v;this.viewport=new f(0,0);this.interactionCount=0;this.invalidateStateCounter=0;this.stateMap={};this.measurementUnits=new m(this.units);this.model=I.empty();this.controller=new j(this.model);this.overlays=new p;this.isUserInteractingWithModel=false;this.handleFrameDrawn=()=>{this.invalidateState()};this.clearIndicator=()=>{this.controller.clearIndicator()};this.updateStartAnchor=async t=>{this.getStencilBuffer();if(this.interactionCount===0){const e=c(t,this.elementBounds);const i=this.snapPoint(e,t);this.updateIndicator(i)}};this.newMeasurement=t=>{if(this.interactionCount===0&&t.button===0){const e=t=>{const e=()=>{window.removeEventListener("pointerup",i);window.removeEventListener("pointermove",n)};const i=async()=>{e();t()};const n=t=>{if(t.buttons>0){e()}};window.addEventListener("pointermove",n);window.addEventListener("pointerup",i)};const i=t=>{let e=a.create(0,0);const i=i=>{const n=a.distance(e,c(i));if(n>=B){t()}};const n=()=>{window.removeEventListener("pointermove",i);window.removeEventListener("pointerup",s)};const s=()=>n();const r=t=>{e=c(t);window.addEventListener("pointermove",i);window.addEventListener("pointerup",s)};window.addEventListener("pointerdown",r);return{dispose:()=>window.removeEventListener("pointerdown",r)}};const n=()=>{const t=i((()=>{var t;this.isUserInteractingWithModel=true;(t=this.stateMap.hoverCursor)===null||t===void 0?void 0:t.dispose()}));const e=()=>{window.removeEventListener("pointermove",n);window.removeEventListener("pointerup",s);t.dispose()};const n=this.createInteractionMoveHandler();const s=async t=>{var i;if(t.button===0){if(this.isUserInteractingWithModel){this.isUserInteractingWithModel=false}else{const n=this.getHitProvider();if(n!=null){const s=c(t,this.elementBounds);const r=this.snapPoint(s,t);await((i=this.interaction)===null||i===void 0?void 0:i.finish(r,n));e();this.updateMeasurementPropsFromModel();this.endEditing()}}}};this.beginEditing("replace","end");this.newInteractionHandler={dispose:e};window.addEventListener("pointermove",n);window.addEventListener("pointerup",s)};const s=this.getHitProvider();if(s!=null){const i=c(t,this.elementBounds);const r=this.snapPoint(i,t);this.interaction=this.controller.newMeasurement(r,s);if(this.interaction!=null){e(n)}}}}}async computeElementMetrics(){var t,e,i;const n=(t=this.hostEl.shadowRoot)===null||t===void 0?void 0:t.getElementById("start-anchor");const s=(e=this.hostEl.shadowRoot)===null||e===void 0?void 0:e.getElementById("end-anchor");const r=(i=this.hostEl.shadowRoot)===null||i===void 0?void 0:i.getElementById("label");if(n!=null&&s!=null&&r!=null){return{startAnchor:n.getBoundingClientRect(),endAnchor:s.getBoundingClientRect(),label:r.getBoundingClientRect()}}else{return undefined}}disconnectedCallback(){var t,e;(t=this.stateMap.hoverCursor)===null||t===void 0?void 0:t.dispose();(e=this.newInteractionHandler)===null||e===void 0?void 0:e.dispose()}componentWillLoad(){this.updatePropsFromJson();this.model.setMeasurementFromValues(this.start,this.end,!this.invalid);this.getStencilBuffer();this.updateViewport();this.handleViewerChanged(this.viewer);this.handleModeChanged();this.computePropsAndState();this.model.onIndicatorChanged((t=>{this.indicatorPt=t}))}componentDidLoad(){const t=new ResizeObserver((()=>this.updateViewport()));t.observe(this.hostEl)}componentWillUpdate(){this.computePropsAndState()}render(){return t(n,null,this.showAxisReferenceLines&&t("vertex-viewer-measurement-overlays",{measurementOverlays:this.overlays,viewer:this.viewer}),this.renderMeasurement())}renderMeasurement(){const e=this.computeElementPositions();const{startPt:i,endPt:n,labelPt:s,indicatorPt:r,hideStart:o,hideEnd:a}=e;const h=this.formatDistance(this.distance);if(this.mode==="edit"||this.mode==="replace"){return t(O,{startPt:i,endPt:n,centerPt:s,indicatorPt:r,distance:h,anchorLabelOffset:this.anchorLabelOffset,lineCapLength:this.lineCapLength,hideStartAnchor:o,hideEndAnchor:a,onStartAnchorPointerDown:this.handleEditAnchor("start"),onEndAnchorPointerDown:this.handleEditAnchor("end")})}else{return t(O,{startPt:i,endPt:n,centerPt:s,indicatorPt:this.indicatorPt,distance:h,hideStartAnchor:o,hideEndAnchor:a,anchorLabelOffset:this.anchorLabelOffset,lineCapLength:this.lineCapLength,linePointerEvents:"painted"})}}handleViewerChanged(t,e){if(e!=null){e.removeEventListener("frameDrawn",this.handleFrameDrawn);this.removeInteractionListeners(e)}if(t!=null){t.addEventListener("frameDrawn",this.handleFrameDrawn);this.addInteractionListeners(t)}}handleUnitsChanged(){this.measurementUnits=new m(this.units)}handleCameraChanged(){this.updateCamera()}handleModeChanged(){var t;this.warnIfDepthBuffersDisabled();if(this.mode===""){(t=this.stateMap.hoverCursor)===null||t===void 0?void 0:t.dispose()}if(this.viewer!=null){this.removeInteractionListeners(this.viewer);this.addInteractionListeners(this.viewer)}}handleStartChanged(){this.updateInteractionModel()}handleEndChanged(){this.updateInteractionModel()}handleInvalidChanged(){this.updateInteractionModel()}computePropsAndState(){this.updateCamera();this.updateDepthBuffer();this.updateMeasurementPropsFromModel();this.updateOverlays()}updateOverlays(){var t;(t=this.overlay)===null||t===void 0?void 0:t.dispose();if(this.showAxisReferenceLines&&this.interactionCount===0&&!this.invalid&&this.start!=null&&this.end!=null){this.overlay=this.overlays.addDistanceVector(this.start,this.end)}}async setCursor(t){var e,i;(e=this.stateMap.hoverCursor)===null||e===void 0?void 0:e.dispose();if(!this.isUserInteractingWithModel){this.stateMap.hoverCursor=await((i=this.viewer)===null||i===void 0?void 0:i.addCursor(t))}}computeElementPositions(){if(this.mode==="replace"){return this.computeReplaceElementPositions()}else{return this.computeEditOrViewElementPositions()}}computeEditOrViewElementPositions(){const t=this.model.getMeasurement();if(this.internalCamera!=null&&t!=null){return this.computeLineElementPositions(h.create(t))}else{return{}}}computeReplaceElementPositions(){if(this.internalCamera!=null){const t=this.model.getMeasurement();const e=t!=null?this.computeLineElementPositions(h.create(t)):{};const i=this.indicatorPt!=null?{indicatorPt:this.viewport.transformWorldToViewport(this.indicatorPt,this.internalCamera.projectionViewMatrix)}:{};return Object.assign(Object.assign({},e),i)}else{return{}}}computeLineElementPositions(t){if(this.internalCamera!=null){return y(t,this.interactingAnchor,{viewport:this.viewport,camera:this.internalCamera})}else{return{}}}updateCamera(){var t,e;this.internalCamera=this.camera||((e=(t=this.viewer)===null||t===void 0?void 0:t.frame)===null||e===void 0?void 0:e.scene.camera)}async updateDepthBuffer(){var t,e;this.stateMap.depthBuffer=await((e=(t=this.viewer)===null||t===void 0?void 0:t.frame)===null||e===void 0?void 0:e.depthBuffer())}updateViewport(){const t=M(this.hostEl);this.viewport=new f(t.width,t.height);this.elementBounds=t}updatePropsFromJson(){var t,e;this.start=F((t=this.startJson)!==null&&t!==void 0?t:this.start);this.end=F((e=this.endJson)!==null&&e!==void 0?e:this.end)}updateInteractionModel(){this.model.setMeasurementFromValues(this.start,this.end,!this.invalid)}invalidateState(){this.invalidateStateCounter=this.invalidateStateCounter+1}async addInteractionListeners(t){const e=await t.getInteractionTarget_DEPRECATED();if(this.mode==="replace"){e.addEventListener("pointermove",this.updateStartAnchor);e.addEventListener("pointerdown",this.newMeasurement);e.addEventListener("pointerleave",this.clearIndicator)}}async removeInteractionListeners(t){const e=await t.getInteractionTarget_DEPRECATED();e.removeEventListener("pointermove",this.updateStartAnchor);e.removeEventListener("pointerdown",this.newMeasurement);e.removeEventListener("pointerleave",this.clearIndicator)}handleEditAnchor(t){if(this.mode==="edit"||this.mode==="replace"){const e=this.createInteractionMoveHandler();const i=async t=>{var n;const s=this.getHitProvider();if(s!=null){window.removeEventListener("pointermove",e);window.removeEventListener("pointerup",i);const r=c(t,this.elementBounds);const o=this.snapPoint(r,t);await((n=this.interaction)===null||n===void 0?void 0:n.finish(o,s));this.updateMeasurementPropsFromModel();this.endEditing()}};return n=>{this.getStencilBuffer();if(n.button===0){this.beginEditing("edit",t);this.interaction=this.controller.editMeasurement(t);window.addEventListener("pointermove",e);window.addEventListener("pointerup",i)}}}}createInteractionMoveHandler(){return t=>{var e;const i=this.getHitProvider();if(this.elementBounds!=null&&i!=null){t.preventDefault();this.getStencilBuffer();const n=c(t,this.elementBounds);const s=this.snapPoint(n,t);(e=this.interaction)===null||e===void 0?void 0:e.update(s,i);this.updateMeasurementPropsFromModel()}}}async getStencilBuffer(){var t;const e=await((t=this.viewer)===null||t===void 0?void 0:t.stencilBuffer.latestAfterInteraction());this.stateMap.stencil=e}snapPoint(t,e){const i=this.getHitProvider();if(i!=null&&!e.shiftKey){const e=Math.max(0,this.snapDistance);return i.hitTester().snapToNearestPixel(t,e)}return t}formatDistance(t){const e=t!=null?this.measurementUnits.convertWorldValueToReal(t):undefined;if(this.labelFormatter!=null){return this.labelFormatter(e)}else{const t=this.measurementUnits.unit.abbreviatedName;return e==null?"---":`~${e.toFixed(this.fractionalDigits)} ${t}`}}beginEditing(t,e){if(this.interactionCount===0){this.interactingAnchor=e;this.editBegin.emit({type:t,anchor:e})}this.interactionCount=this.interactionCount+1}endEditing(){if(this.interactionCount===1){const t=this.model.getMeasurement();this.interactingAnchor="none";this.updateMeasurementModel();if(t!=null){this.editEnd.emit(t)}}this.interactionCount=this.interactionCount-1}updateMeasurementModel(){this.measurementModel.clearOutcome();if(!this.invalid&&this.start!=null&&this.end!=null){this.measurementModel.setOutcome({isApproximate:true,results:[w(this.start,this.end)]})}}getHitProvider(){if(this.hitProvider==null){const t=this.getHitTester();const e=this.viewer;if(e!=null&&t!=null){return{hitTester:()=>t,raycaster:async()=>(await e.scene()).raycaster()}}}else return this.hitProvider}getHitTester(){const{stencil:t,depthBuffer:e}=this.stateMap;if(e!=null){return new x(t,e,this.viewport,this.internalCamera)}}updateMeasurementPropsFromModel(){const t=this.model.getMeasurement();this.start=t===null||t===void 0?void 0:t.start;this.end=t===null||t===void 0?void 0:t.end;this.distance=t===null||t===void 0?void 0:t.distance;this.invalid=t!=null&&!t.valid}updateIndicator(t){var e;const i=this.getHitProvider();const n=i==null||!this.controller.moveIndicator(t,i);if(n){(e=this.stateMap.hoverCursor)===null||e===void 0?void 0:e.dispose()}else{this.setCursor(l)}}warnIfDepthBuffersDisabled(){if(this.viewer!=null&&this.viewer.depthBuffers==null){console.warn("Measurement editing is disabled. <vertex-viewer> must have its `depth-buffers` attribute set.")}}get hostEl(){return s(this)}static get watchers(){return{viewer:["handleViewerChanged"],units:["handleUnitsChanged"],camera:["handleCameraChanged"],mode:["handleModeChanged"],start:["handleStartChanged"],end:["handleEndChanged"],invalid:["handleInvalidChanged"]}}};function F(t){return typeof t==="string"?r.fromJson(t):t}z.style=V;export{z as vertex_viewer_measurement_distance};
5
- //# sourceMappingURL=p-b9965b9b.entry.js.map
4
+ import{h as t,r as e,c as i,H as n,g as s}from"./p-e541044a.js";import{v as r,c as o,p as a,l as h}from"./p-26198b53.js";import{m as l}from"./p-2bf5e719.js";import{a as d,g as c}from"./p-47b8b98d.js";import"./p-8af6917b.js";import"./p-df8d721e.js";import"./p-cc62eb80.js";import{j as u,D as m}from"./p-56c17536.js";import{M as v}from"./p-b31ff46f.js";import{M as p}from"./p-8749268e.js";import{m as w}from"./p-5a3c2d38.js";import"./p-d312d59a.js";import{V as f}from"./p-f6f74387.js";import{E as b,m as g}from"./p-6022ae29.js";import{g as y}from"./p-9f3af021.js";import{c as P}from"./p-efd3d00e.js";import"./p-8ac79dd1.js";import"./p-55e6df3c.js";const E=16;const C=10;function M(t){return t.getBoundingClientRect()}class x{constructor(t,e,i,n){this.stencil=t;this.depthBuffer=e;this.viewport=i;this.camera=n}hitTest(t){const e=this.viewport.transformPointToFrame(t,this.depthBuffer);if(this.stencil!=null){const i=this.viewport.transformPointToFrame(t,this.stencil);return this.stencil.hitTest(i)||this.depthBuffer.hitTest(e)}else{return this.depthBuffer.hitTest(e)}}snapToNearestPixel(t,e){if(this.stencil!=null){const i=this.viewport.transformPointToFrame(t,this.stencil);const n=this.stencil.snapToNearestPixel(i,e);return this.viewport.transformPointToViewport(n,this.stencil)}else{return t}}transformPointToWorld(t,{ignoreHitTest:e=false}={}){const i=this.pickDepthBuffer(t);if(i!=null){return this.viewport.transformPointToWorldSpace(t,i)}else if(e){return this.viewport.transformPointToWorldSpace(t,this.depthBuffer)}}pickDepthBuffer(t){if(this.stencil!=null){const e=this.viewport.transformPointToFrame(t,this.stencil);if(this.stencil.hitTest(e)){return this.stencil.depthBuffer}}const e=this.viewport.transformPointToFrame(t,this.depthBuffer);return this.depthBuffer.hitTest(e)?this.depthBuffer:undefined}}class j{constructor(t){this.model=t}newMeasurement(t,e){const i=e.hitTester().transformPointToWorld(t);return i!=null?new A(t,i,this.model):undefined}editMeasurement(t){const e=this.model.getMeasurement();if(e==null){throw new Error("Cannot edit measurement. Measurement is empty.")}return t==="start"?new k(e,this.model):new S(e,this.model)}clearIndicator(){this.model.setIndicator(undefined)}moveIndicator(t,e){const i=e.hitTester().transformPointToWorld(t);this.model.setIndicator(i);return i!=null}}class I{constructor(){this.measurementChanged=new b;this.indicatorChanged=new b}static empty(){return new I}getMeasurement(){return this.measurement}setMeasurement(t){if(this.measurement!==t){this.measurement=t;this.measurementChanged.emit(t)}}setMeasurementFromValues(t,e,i){if(t!=null&&e!=null){const n=i?T(t,e):H(t,e);this.setMeasurement(n)}else{this.setMeasurement(undefined)}}onMeasurementChanged(t){return this.measurementChanged.on(t)}getIndicator(){return this.indicator}setIndicator(t){if(this.indicator!==t){this.indicator=t;this.indicatorChanged.emit(t)}}onIndicatorChanged(t){return this.indicatorChanged.on(t)}}class A{constructor(t,e,i){this.pt=t;this.world=e;this.model=i;this.hitWorldValid=true;this.preventUpdate=false}fetchStartIfMissing(t){if(this.pendingStart==null){this.pendingStart=this.fetchStart(t)}}async fetchStart(t){const e=await t.raycaster();const i=await L(e,this.pt);if(i==null){const e=t.hitTester().transformPointToWorld(this.pt);this.hitWorld=e;this.hitWorldValid=false}else{this.hitWorld=i;this.hitWorldValid=true}}update(t,e){var i;if(!this.preventUpdate){this.fetchStartIfMissing(e);const n=e.hitTester().transformPointToWorld(t,{ignoreHitTest:true});const s=e.hitTester().hitTest(t);const r=(i=this.hitWorld)!==null&&i!==void 0?i:this.world;if(n==null){throw new Error("Cannot update new measurement interaction. End point is empty.")}else if(!this.hitWorldValid||!s){this.model.setIndicator(n);this.setMeasurement(H(r,n))}else{this.model.setIndicator(n);this.setMeasurement(T(r,n))}}}async finish(t,e){var i;this.preventUpdate=true;this.fetchStartIfMissing(e);await this.pendingStart;this.model.setIndicator(undefined);const n=await e.raycaster();const s=await L(n,t);const r=(i=this.hitWorld)!==null&&i!==void 0?i:this.world;this.preventUpdate=false;if(s==null){const i=e.hitTester().transformPointToWorld(t,{ignoreHitTest:true});if(i==null){throw new Error("Cannot complete new measurement interaction. End point is empty.")}return this.setMeasurement(H(r,i))}else if(!this.hitWorldValid){return this.setMeasurement(H(r,s))}else{return this.setMeasurement(T(r,s))}}setMeasurement(t){this.model.setMeasurement(t);return t}}class D{constructor(t,e){this.measurement=t;this.model=e}update(t,e){const i=e.hitTester().transformPointToWorld(t,{ignoreHitTest:true});const n=e.hitTester().hitTest(t);if(i==null){throw new Error("Cannot update new measurement interaction. End point is empty.")}else if(!n){this.model.setIndicator(i);this.setMeasurement(this.getInvalidMeasurement(i))}else{this.model.setIndicator(i);this.setMeasurement(this.getValidMeasurement(i))}}async finish(t,e){const i=await e.raycaster();const n=await L(i,t);this.model.setIndicator(undefined);if(n==null){const i=e.hitTester().transformPointToWorld(t,{ignoreHitTest:true});if(i==null){throw new Error("Cannot complete edit measurement interaction. End point is empty.")}return this.setMeasurement(this.getInvalidMeasurement(i))}else{return this.setMeasurement(this.getValidMeasurement(n))}}setMeasurement(t){this.model.setMeasurement(t);return t}}class k extends D{constructor(t,e){super(t,e)}getInvalidMeasurement(t){return H(t,this.measurement.end)}getValidMeasurement(t){return T(t,this.measurement.end)}}class S extends D{constructor(t,e){super(t,e)}getInvalidMeasurement(t){return H(this.measurement.start,t)}getValidMeasurement(t){return T(this.measurement.start,t)}}async function L(t,e){var i;const n=await t.hitItems(e);const[s]=(i=n===null||n===void 0?void 0:n.hits)!==null&&i!==void 0?i:[];if((s===null||s===void 0?void 0:s.hitPoint)!=null){const t=u(s.hitPoint);if(g.isInvalid(t)){throw new Error(`Invalid hit response [${t.errors.join(",")}]`)}return t}else return undefined}function T(t,e){return{start:t,end:e,distance:r.distance(t,e),valid:true}}function H(t,e){return{start:t,end:e,valid:false}}const O=({startPt:e,endPt:i,centerPt:n,indicatorPt:s,distance:r,anchorLabelOffset:h,lineCapLength:l,linePointerEvents:c,hideStartAnchor:u,hideEndAnchor:m,onStartAnchorPointerDown:v,onEndAnchorPointerDown:p})=>{const w=e!=null&&i!=null?o.fromPoints(e,i):undefined;const f=w!=null&&e!=null&&h!=null?a.add(e,a.polar(-h,w)):undefined;const b=w!=null&&i!=null&&h!=null?a.add(i,a.polar(h,w)):undefined;return t("div",null,e!=null&&i!=null&&t("vertex-viewer-measurement-line",{class:P("line",{"hide-start-line-cap":u,"hide-end-line-cap":m}),start:e,end:i,capLength:l,pointerEvents:c}),!u&&e!=null&&t("div",{id:"start-anchor",class:"anchor anchor-start",style:{transform:d(e)},onPointerDown:v},t("slot",{name:"start-anchor"},t("div",{class:"anchor-placeholder"}))),!u&&f&&t("div",{class:"anchor-label anchor-label-start",style:{transform:d(f)}},t("slot",{name:"start-label"})),!m&&i!=null&&t("div",{id:"end-anchor",class:"anchor anchor-end",style:{transform:d(i)},onPointerDown:p},t("slot",{name:"end-anchor"},t("div",{class:"anchor-placeholder"}))),!m&&b&&t("div",{class:"anchor-label anchor-label-end",style:{transform:d(b)}},t("slot",{name:"end-label"})),n!=null&&t("div",{id:"label",class:"distance-label",style:{transform:d(n)}},r),s!=null&&t("div",{class:"indicator",style:{transform:d(s)}},t("slot",{name:"indicator"},t("div",{class:"indicator-placeholder"}))))};const V=":host{--viewer-measurement-distance-accent-color:var(--neutral-900);--viewer-measurement-distance-contrast-color:var(--white);--viewer-measurement-distance-invalid-accent-color:var(--red-600);--viewer-measurement-distance-invalid-contrast-color:var(--white);--viewer-measurement-distance-line-stroke-width:1.25px;--viewer-measurement-distance-line-fill-width:2px;--viewer-measurement-distance-distance-border:1px solid\n var(--viewer-measurement-distance-accent-color);--viewer-measurement-distance-distance-border-radius:0.25rem;--viewer-measurement-distance-distance-padding:0.375rem 0.5rem;color:var(--viewer-measurement-distance-accent-color);font-size:0.75rem;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none}:host([invalid]:not([invalid='false'])){--viewer-measurement-distance-accent-color:var(\n --viewer-measurement-distance-invalid-accent-color\n ) !important;--viewer-measurement-distance-contrast-color:var(\n --viewer-measurement-distance-invalid-contrast-color\n ) !important}.line{--viewer-measurement-line-stroke:var(\n --viewer-measurement-distance-contrast-color\n );--viewer-measurement-line-stroke-opacity:0.75;--viewer-measurement-line-stroke-width:var(\n --viewer-measurement-distance-line-stroke-width\n );--viewer-measurement-line-fill:var(\n --viewer-measurement-distance-accent-color\n );--viewer-measurement-line-fill-width:var(\n --viewer-measurement-distance-line-fill-width\n );position:absolute;width:100%;height:100%}.anchor{position:absolute;border-radius:50%;transform:translate(-50%, -50%);display:block;pointer-events:auto}:host([interacting-anchor='start']) .anchor-start,:host([interacting-anchor='start']) .anchor-label-start{visibility:hidden}.hide-start-line-cap,:host([interacting-anchor='start']) .line{--viewer-measurement-line-start-cap-visibility:hidden}:host([interacting-anchor='end']) .anchor-end,:host([interacting-anchor='end']) .anchor-label-end{visibility:hidden}.hide-end-line-cap,:host([interacting-anchor='end']) .line{--viewer-measurement-line-end-cap-visibility:hidden}.anchor-label{position:absolute;border-radius:50%;transform:translate(-50%, -50%);display:block;pointer-events:auto}:host(:not([mode=''])){cursor:inherit}:host(:not([mode=''])) .anchor{cursor:move}:host([mode='']) .anchor{visibility:hidden}.anchor-placeholder{background:var(--viewer-measurement-distance-contrast-color);width:12px;height:12px;border-radius:50%;box-sizing:border-box}:host(:not([mode=''])) .anchor-placeholder{border:2px solid var(--viewer-measurement-distance-accent-color);background:var(--viewer-measurement-distance-contrast-color)}:host([mode='']) .distance-label{color:var(--viewer-measurement-distance-contrast-color);background:var(--viewer-measurement-distance-accent-color)}.distance-label{position:absolute;background:var(--viewer-measurement-distance-contrast-color);border:var(--viewer-measurement-distance-distance-border);border-radius:var(--viewer-measurement-distance-distance-border-radius);padding:var(--viewer-measurement-distance-distance-padding);pointer-events:auto}.indicator{position:absolute}.indicator-placeholder{background:var(--viewer-measurement-distance-accent-color);border:1px solid var(--viewer-measurement-distance-contrast-color);width:6px;height:6px;border-radius:50%;box-sizing:border-box}";const B=3;const z=class{constructor(t){e(this,t);this.editBegin=i(this,"editBegin",7);this.editEnd=i(this,"editEnd",7);this.showAxisReferenceLines=false;this.snapDistance=E;this.units="millimeters";this.fractionalDigits=2;this.anchorLabelOffset=20;this.lineCapLength=C;this.mode="";this.interactingAnchor="none";this.invalid=false;this.measurementModel=new v;this.viewport=new f(0,0);this.interactionCount=0;this.invalidateStateCounter=0;this.stateMap={};this.measurementUnits=new m(this.units);this.model=I.empty();this.controller=new j(this.model);this.overlays=new p;this.isUserInteractingWithModel=false;this.handleFrameDrawn=()=>{this.invalidateState()};this.clearIndicator=()=>{this.controller.clearIndicator()};this.updateStartAnchor=async t=>{this.getStencilBuffer();if(this.interactionCount===0){const e=c(t,this.elementBounds);const i=this.snapPoint(e,t);this.updateIndicator(i)}};this.newMeasurement=t=>{if(this.interactionCount===0&&t.button===0){const e=t=>{const e=()=>{window.removeEventListener("pointerup",i);window.removeEventListener("pointermove",n)};const i=async()=>{e();t()};const n=t=>{if(t.buttons>0){e()}};window.addEventListener("pointermove",n);window.addEventListener("pointerup",i)};const i=t=>{let e=a.create(0,0);const i=i=>{const n=a.distance(e,c(i));if(n>=B){t()}};const n=()=>{window.removeEventListener("pointermove",i);window.removeEventListener("pointerup",s)};const s=()=>n();const r=t=>{e=c(t);window.addEventListener("pointermove",i);window.addEventListener("pointerup",s)};window.addEventListener("pointerdown",r);return{dispose:()=>window.removeEventListener("pointerdown",r)}};const n=()=>{const t=i((()=>{var t;this.isUserInteractingWithModel=true;(t=this.stateMap.hoverCursor)===null||t===void 0?void 0:t.dispose()}));const e=()=>{window.removeEventListener("pointermove",n);window.removeEventListener("pointerup",s);t.dispose()};const n=this.createInteractionMoveHandler();const s=async t=>{var i;if(t.button===0){if(this.isUserInteractingWithModel){this.isUserInteractingWithModel=false}else{const n=this.getHitProvider();if(n!=null){const s=c(t,this.elementBounds);const r=this.snapPoint(s,t);await((i=this.interaction)===null||i===void 0?void 0:i.finish(r,n));e();this.updateMeasurementPropsFromModel();this.endEditing()}}}};this.beginEditing("replace","end");this.newInteractionHandler={dispose:e};window.addEventListener("pointermove",n);window.addEventListener("pointerup",s)};const s=this.getHitProvider();if(s!=null){const i=c(t,this.elementBounds);const r=this.snapPoint(i,t);this.interaction=this.controller.newMeasurement(r,s);if(this.interaction!=null){e(n)}}}}}async computeElementMetrics(){var t,e,i;const n=(t=this.hostEl.shadowRoot)===null||t===void 0?void 0:t.getElementById("start-anchor");const s=(e=this.hostEl.shadowRoot)===null||e===void 0?void 0:e.getElementById("end-anchor");const r=(i=this.hostEl.shadowRoot)===null||i===void 0?void 0:i.getElementById("label");if(n!=null&&s!=null&&r!=null){return{startAnchor:n.getBoundingClientRect(),endAnchor:s.getBoundingClientRect(),label:r.getBoundingClientRect()}}else{return undefined}}disconnectedCallback(){var t,e;(t=this.stateMap.hoverCursor)===null||t===void 0?void 0:t.dispose();(e=this.newInteractionHandler)===null||e===void 0?void 0:e.dispose()}componentWillLoad(){this.updatePropsFromJson();this.model.setMeasurementFromValues(this.start,this.end,!this.invalid);this.getStencilBuffer();this.updateViewport();this.handleViewerChanged(this.viewer);this.handleModeChanged();this.computePropsAndState();this.model.onIndicatorChanged((t=>{this.indicatorPt=t}))}componentDidLoad(){const t=new ResizeObserver((()=>this.updateViewport()));t.observe(this.hostEl)}componentWillUpdate(){this.computePropsAndState()}render(){return t(n,null,this.showAxisReferenceLines&&t("vertex-viewer-measurement-overlays",{measurementOverlays:this.overlays,viewer:this.viewer}),this.renderMeasurement())}renderMeasurement(){const e=this.computeElementPositions();const{startPt:i,endPt:n,labelPt:s,indicatorPt:r,hideStart:o,hideEnd:a}=e;const h=this.formatDistance(this.distance);if(this.mode==="edit"||this.mode==="replace"){return t(O,{startPt:i,endPt:n,centerPt:s,indicatorPt:r,distance:h,anchorLabelOffset:this.anchorLabelOffset,lineCapLength:this.lineCapLength,hideStartAnchor:o,hideEndAnchor:a,onStartAnchorPointerDown:this.handleEditAnchor("start"),onEndAnchorPointerDown:this.handleEditAnchor("end")})}else{return t(O,{startPt:i,endPt:n,centerPt:s,indicatorPt:this.indicatorPt,distance:h,hideStartAnchor:o,hideEndAnchor:a,anchorLabelOffset:this.anchorLabelOffset,lineCapLength:this.lineCapLength,linePointerEvents:"painted"})}}handleViewerChanged(t,e){if(e!=null){e.removeEventListener("frameDrawn",this.handleFrameDrawn);this.removeInteractionListeners(e)}if(t!=null){t.addEventListener("frameDrawn",this.handleFrameDrawn);this.addInteractionListeners(t)}}handleUnitsChanged(){this.measurementUnits=new m(this.units)}handleCameraChanged(){this.updateCamera()}handleModeChanged(){var t;this.warnIfDepthBuffersDisabled();if(this.mode===""){(t=this.stateMap.hoverCursor)===null||t===void 0?void 0:t.dispose()}if(this.viewer!=null){this.removeInteractionListeners(this.viewer);this.addInteractionListeners(this.viewer)}}handleStartChanged(){this.updateInteractionModel()}handleEndChanged(){this.updateInteractionModel()}handleInvalidChanged(){this.updateInteractionModel()}computePropsAndState(){this.updateCamera();this.updateDepthBuffer();this.updateMeasurementPropsFromModel();this.updateOverlays()}updateOverlays(){var t;(t=this.overlay)===null||t===void 0?void 0:t.dispose();if(this.showAxisReferenceLines&&this.interactionCount===0&&!this.invalid&&this.start!=null&&this.end!=null){this.overlay=this.overlays.addDistanceVector(this.start,this.end)}}async setCursor(t){var e,i;(e=this.stateMap.hoverCursor)===null||e===void 0?void 0:e.dispose();if(!this.isUserInteractingWithModel){this.stateMap.hoverCursor=await((i=this.viewer)===null||i===void 0?void 0:i.addCursor(t))}}computeElementPositions(){if(this.mode==="replace"){return this.computeReplaceElementPositions()}else{return this.computeEditOrViewElementPositions()}}computeEditOrViewElementPositions(){const t=this.model.getMeasurement();if(this.internalCamera!=null&&t!=null){return this.computeLineElementPositions(h.create(t))}else{return{}}}computeReplaceElementPositions(){if(this.internalCamera!=null){const t=this.model.getMeasurement();const e=t!=null?this.computeLineElementPositions(h.create(t)):{};const i=this.indicatorPt!=null?{indicatorPt:this.viewport.transformWorldToViewport(this.indicatorPt,this.internalCamera.projectionViewMatrix)}:{};return Object.assign(Object.assign({},e),i)}else{return{}}}computeLineElementPositions(t){if(this.internalCamera!=null){return y(t,this.interactingAnchor,{viewport:this.viewport,camera:this.internalCamera})}else{return{}}}updateCamera(){var t,e;this.internalCamera=this.camera||((e=(t=this.viewer)===null||t===void 0?void 0:t.frame)===null||e===void 0?void 0:e.scene.camera)}async updateDepthBuffer(){var t,e;this.stateMap.depthBuffer=await((e=(t=this.viewer)===null||t===void 0?void 0:t.frame)===null||e===void 0?void 0:e.depthBuffer())}updateViewport(){const t=M(this.hostEl);this.viewport=new f(t.width,t.height);this.elementBounds=t}updatePropsFromJson(){var t,e;this.start=F((t=this.startJson)!==null&&t!==void 0?t:this.start);this.end=F((e=this.endJson)!==null&&e!==void 0?e:this.end)}updateInteractionModel(){this.model.setMeasurementFromValues(this.start,this.end,!this.invalid)}invalidateState(){this.invalidateStateCounter=this.invalidateStateCounter+1}async addInteractionListeners(t){const e=await t.getInteractionTarget_DEPRECATED();if(this.mode==="replace"){e.addEventListener("pointermove",this.updateStartAnchor);e.addEventListener("pointerdown",this.newMeasurement);e.addEventListener("pointerleave",this.clearIndicator)}}async removeInteractionListeners(t){const e=await t.getInteractionTarget_DEPRECATED();e.removeEventListener("pointermove",this.updateStartAnchor);e.removeEventListener("pointerdown",this.newMeasurement);e.removeEventListener("pointerleave",this.clearIndicator)}handleEditAnchor(t){if(this.mode==="edit"||this.mode==="replace"){const e=this.createInteractionMoveHandler();const i=async t=>{var n;const s=this.getHitProvider();if(s!=null){window.removeEventListener("pointermove",e);window.removeEventListener("pointerup",i);const r=c(t,this.elementBounds);const o=this.snapPoint(r,t);await((n=this.interaction)===null||n===void 0?void 0:n.finish(o,s));this.updateMeasurementPropsFromModel();this.endEditing()}};return n=>{this.getStencilBuffer();if(n.button===0){this.beginEditing("edit",t);this.interaction=this.controller.editMeasurement(t);window.addEventListener("pointermove",e);window.addEventListener("pointerup",i)}}}}createInteractionMoveHandler(){return t=>{var e;const i=this.getHitProvider();if(this.elementBounds!=null&&i!=null){t.preventDefault();this.getStencilBuffer();const n=c(t,this.elementBounds);const s=this.snapPoint(n,t);(e=this.interaction)===null||e===void 0?void 0:e.update(s,i);this.updateMeasurementPropsFromModel()}}}async getStencilBuffer(){var t;const e=await((t=this.viewer)===null||t===void 0?void 0:t.stencilBuffer.latestAfterInteraction());this.stateMap.stencil=e}snapPoint(t,e){const i=this.getHitProvider();if(i!=null&&!e.shiftKey){const e=Math.max(0,this.snapDistance);return i.hitTester().snapToNearestPixel(t,e)}return t}formatDistance(t){const e=t!=null?this.measurementUnits.convertWorldValueToReal(t):undefined;if(this.labelFormatter!=null){return this.labelFormatter(e)}else{const t=this.measurementUnits.unit.abbreviatedName;return e==null?"---":`~${e.toFixed(this.fractionalDigits)} ${t}`}}beginEditing(t,e){if(this.interactionCount===0){this.interactingAnchor=e;this.editBegin.emit({type:t,anchor:e})}this.interactionCount=this.interactionCount+1}endEditing(){if(this.interactionCount===1){const t=this.model.getMeasurement();this.interactingAnchor="none";this.updateMeasurementModel();if(t!=null){this.editEnd.emit(t)}}this.interactionCount=this.interactionCount-1}updateMeasurementModel(){this.measurementModel.clearOutcome();if(!this.invalid&&this.start!=null&&this.end!=null){this.measurementModel.setOutcome({isApproximate:true,results:[w(this.start,this.end)]})}}getHitProvider(){if(this.hitProvider==null){const t=this.getHitTester();const e=this.viewer;if(e!=null&&t!=null){return{hitTester:()=>t,raycaster:async()=>(await e.scene()).raycaster()}}}else return this.hitProvider}getHitTester(){const{stencil:t,depthBuffer:e}=this.stateMap;if(e!=null){return new x(t,e,this.viewport,this.internalCamera)}}updateMeasurementPropsFromModel(){const t=this.model.getMeasurement();this.start=t===null||t===void 0?void 0:t.start;this.end=t===null||t===void 0?void 0:t.end;this.distance=t===null||t===void 0?void 0:t.distance;this.invalid=t!=null&&!t.valid}updateIndicator(t){var e;const i=this.getHitProvider();const n=i==null||!this.controller.moveIndicator(t,i);if(n){(e=this.stateMap.hoverCursor)===null||e===void 0?void 0:e.dispose()}else{this.setCursor(l)}}warnIfDepthBuffersDisabled(){if(this.viewer!=null&&this.viewer.depthBuffers==null){console.warn("Measurement editing is disabled. <vertex-viewer> must have its `depth-buffers` attribute set.")}}get hostEl(){return s(this)}static get watchers(){return{viewer:["handleViewerChanged"],units:["handleUnitsChanged"],camera:["handleCameraChanged"],mode:["handleModeChanged"],start:["handleStartChanged"],end:["handleEndChanged"],invalid:["handleInvalidChanged"]}}};function F(t){return typeof t==="string"?r.fromJson(t):t}z.style=V;export{z as vertex_viewer_measurement_distance};
5
+ //# sourceMappingURL=p-b3257f48.entry.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Copyright (c) 2024 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{r as t,h as e,H as i}from"./p-e541044a.js";import{S as s}from"./p-aeaafe7f.js";import{p as n}from"./p-b8c1f9ca.js";import{a as o,M as r}from"./p-34dce39f.js";import"./p-56c17536.js";import"./p-9f190847.js";import{M as a}from"./p-b31ff46f.js";import{M as h}from"./p-8749268e.js";import{p as l}from"./p-26198b53.js";import{a as d}from"./p-2bf5e719.js";import{g as p}from"./p-47b8b98d.js";import{E as m}from"./p-5e6015a6.js";import{E as c}from"./p-d312d59a.js";import"./p-df8d721e.js";import"./p-8ac79dd1.js";import"./p-6022ae29.js";import"./p-db5aed84.js";import"./p-d3001337.js";import"./p-cc62eb80.js";import"./p-55e6df3c.js";class u{constructor(t,e){this.rectObserver=new m;this.handlePointerMove=async t=>{if(await this.isMeasurableEntityUnderPointer(t)){this.clearCursor();this.addCursor(d)}else{this.clearCursor()}};this.handlePointerDown=t=>{this.ifNoInteraction(t,(async()=>{if(await this.isMeasurableEntityUnderPointer(t)){this.measureEntityUnderPointer(t)}else{this.controller.clearEntities()}}))};this.controller=t;this.measurableEntityTypes=e}get elementRect(){return this.rectObserver.rect}initialize(t,e){this.element=t;this.api=e;this.rectObserver.observe(t);t.addEventListener("pointermove",this.handlePointerMove);t.addEventListener("pointerdown",this.handlePointerDown)}dispose(){var t,e,i;this.rectObserver.disconnect();(t=this.measurementInteraction)===null||t===void 0?void 0:t.dispose();this.clearCursor();(e=this.element)===null||e===void 0?void 0:e.removeEventListener("pointermove",this.handlePointerMove);(i=this.element)===null||i===void 0?void 0:i.removeEventListener("pointerdown",this.handlePointerDown);this.element=undefined;this.api=undefined}addCursor(t){this.cursor=this.ifInitialized((({api:e})=>e.addCursor(t)))}clearCursor(){var t;(t=this.cursor)===null||t===void 0?void 0:t.dispose();this.cursor=undefined}async isMeasurableEntityUnderPointer(t){var e;const i=p(t,this.elementRect);const s=await((e=this.api)===null||e===void 0?void 0:e.getEntityTypeAtPoint(i));return s!=null&&this.measurableEntityTypes.includes(s)}measureEntityUnderPointer(t){this.ifInitialized((async({api:e})=>{const i=p(t,this.elementRect);const[s]=await e.hitItems(i);if(s!=null){this.controller.addEntity(o.fromHit(s))}else{this.controller.clearEntities()}}))}ifInitialized(t){if(this.element!=null&&this.api!=null){return t({element:this.element,api:this.api})}else{throw new Error("Measurement interaction handler not initialized.")}}ifNoInteraction(t,e){const i=l.create(t.clientX,t.clientY);let s=false;const n=t=>{const e=l.create(t.clientX,t.clientY);const n=l.distance(i,e);s=n>2};const o=()=>{window.removeEventListener("pointermove",n);window.removeEventListener("pointerup",o);if(!s){e()}};window.addEventListener("pointermove",n);window.addEventListener("pointerup",o)}}const v=":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}";const f=class{constructor(e){t(this,e);this.measurementModel=new a;this.measurementOverlays=new h;this.measurableEntityTypes=[c.PRECISE_SURFACE,c.IMPRECISE_SURFACE];this.configEnv="platprod"}connectedCallback(){this.setupInteractionHandler()}componentWillLoad(){this.setupController();this.setupInteractionHandler()}disconnectedCallback(){this.clearInteractionHandler()}handleMeasurableEntityTypesChanged(){this.setupInteractionHandler()}handleMeasurementControllerChanged(){this.setupInteractionHandler()}handleMeasurementModelChanged(){this.setupController()}handleViewerChanged(){this.setupInteractionHandler()}render(){return e(i,null,e("vertex-viewer-measurement-overlays",{viewer:this.viewer,measurementOverlays:this.measurementOverlays}))}setupController(){var t;const e=n(this.configEnv,this.config);const i=new s(e.network.sceneViewHost);this.measurementController=new r(this.measurementModel,i,(()=>{var t;return(t=this.viewer)===null||t===void 0?void 0:t.token}),(t=this.viewer)===null||t===void 0?void 0:t.deviceId)}clearInteractionHandler(){var t;(t=this.registeredInteractionHandler)===null||t===void 0?void 0:t.then((t=>t.dispose()));this.registeredInteractionHandler=undefined}setupInteractionHandler(){var t;this.clearInteractionHandler();if(this.measurementController!=null){this.registeredInteractionHandler=(t=this.viewer)===null||t===void 0?void 0:t.registerInteractionHandler(new u(this.measurementController,this.measurableEntityTypes))}}static get watchers(){return{measurableEntityTypes:["handleMeasurableEntityTypesChanged"],measurementController:["handleMeasurementControllerChanged"],measurementModel:["handleMeasurementModelChanged"],viewer:["handleViewerChanged"]}}};f.style=v;export{f as vertex_viewer_measurement_precise};
5
- //# sourceMappingURL=p-076e9e65.entry.js.map
4
+ import{r as t,h as e,H as i}from"./p-e541044a.js";import{S as s}from"./p-d36d5971.js";import{p as n}from"./p-b8c1f9ca.js";import{a as o,M as r}from"./p-90bbb5f6.js";import"./p-56c17536.js";import"./p-8af6917b.js";import{M as a}from"./p-b31ff46f.js";import{M as h}from"./p-8749268e.js";import{p as l}from"./p-26198b53.js";import{a as d}from"./p-2bf5e719.js";import{g as p}from"./p-47b8b98d.js";import{E as m}from"./p-5e6015a6.js";import{E as u}from"./p-d312d59a.js";import"./p-df8d721e.js";import"./p-8ac79dd1.js";import"./p-6022ae29.js";import"./p-db5aed84.js";import"./p-d3001337.js";import"./p-cc62eb80.js";import"./p-55e6df3c.js";class c{constructor(t,e){this.rectObserver=new m;this.handlePointerMove=async t=>{if(await this.isMeasurableEntityUnderPointer(t)){this.clearCursor();this.addCursor(d)}else{this.clearCursor()}};this.handlePointerDown=t=>{this.ifNoInteraction(t,(async()=>{if(await this.isMeasurableEntityUnderPointer(t)){this.measureEntityUnderPointer(t)}else{this.controller.clearEntities()}}))};this.controller=t;this.measurableEntityTypes=e}get elementRect(){return this.rectObserver.rect}initialize(t,e){this.element=t;this.api=e;this.rectObserver.observe(t);t.addEventListener("pointermove",this.handlePointerMove);t.addEventListener("pointerdown",this.handlePointerDown)}dispose(){var t,e,i;this.rectObserver.disconnect();(t=this.measurementInteraction)===null||t===void 0?void 0:t.dispose();this.clearCursor();(e=this.element)===null||e===void 0?void 0:e.removeEventListener("pointermove",this.handlePointerMove);(i=this.element)===null||i===void 0?void 0:i.removeEventListener("pointerdown",this.handlePointerDown);this.element=undefined;this.api=undefined}addCursor(t){this.cursor=this.ifInitialized((({api:e})=>e.addCursor(t)))}clearCursor(){var t;(t=this.cursor)===null||t===void 0?void 0:t.dispose();this.cursor=undefined}async isMeasurableEntityUnderPointer(t){var e;const i=p(t,this.elementRect);const s=await((e=this.api)===null||e===void 0?void 0:e.getEntityTypeAtPoint(i));return s!=null&&this.measurableEntityTypes.includes(s)}measureEntityUnderPointer(t){this.ifInitialized((async({api:e})=>{const i=p(t,this.elementRect);const[s]=await e.hitItems(i);if(s!=null){this.controller.addEntity(o.fromHit(s))}else{this.controller.clearEntities()}}))}ifInitialized(t){if(this.element!=null&&this.api!=null){return t({element:this.element,api:this.api})}else{throw new Error("Measurement interaction handler not initialized.")}}ifNoInteraction(t,e){const i=l.create(t.clientX,t.clientY);let s=false;const n=t=>{const e=l.create(t.clientX,t.clientY);const n=l.distance(i,e);s=n>2};const o=()=>{window.removeEventListener("pointermove",n);window.removeEventListener("pointerup",o);if(!s){e()}};window.addEventListener("pointermove",n);window.addEventListener("pointerup",o)}}const v=":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}";const f=class{constructor(e){t(this,e);this.measurementModel=new a;this.measurementOverlays=new h;this.measurableEntityTypes=[u.PRECISE_SURFACE,u.IMPRECISE_SURFACE];this.configEnv="platprod"}connectedCallback(){this.setupInteractionHandler()}componentWillLoad(){this.setupController();this.setupInteractionHandler()}disconnectedCallback(){this.clearInteractionHandler()}handleMeasurableEntityTypesChanged(){this.setupInteractionHandler()}handleMeasurementControllerChanged(){this.setupInteractionHandler()}handleMeasurementModelChanged(){this.setupController()}handleViewerChanged(){this.setupInteractionHandler()}render(){return e(i,null,e("vertex-viewer-measurement-overlays",{viewer:this.viewer,measurementOverlays:this.measurementOverlays}))}setupController(){var t;const e=n(this.configEnv,this.config);const i=new s(e.network.sceneViewHost);this.measurementController=new r(this.measurementModel,i,(()=>{var t;return(t=this.viewer)===null||t===void 0?void 0:t.token}),(t=this.viewer)===null||t===void 0?void 0:t.deviceId)}clearInteractionHandler(){var t;(t=this.registeredInteractionHandler)===null||t===void 0?void 0:t.then((t=>t.dispose()));this.registeredInteractionHandler=undefined}setupInteractionHandler(){var t;this.clearInteractionHandler();if(this.measurementController!=null){this.registeredInteractionHandler=(t=this.viewer)===null||t===void 0?void 0:t.registerInteractionHandler(new c(this.measurementController,this.measurableEntityTypes))}}static get watchers(){return{measurableEntityTypes:["handleMeasurableEntityTypesChanged"],measurementController:["handleMeasurementControllerChanged"],measurementModel:["handleMeasurementModelChanged"],viewer:["handleViewerChanged"]}}};f.style=v;export{f as vertex_viewer_measurement_precise};
5
+ //# sourceMappingURL=p-d10f7459.entry.js.map
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright (c) 2024 Vertex Software LLC. All rights reserved.
3
+ */
4
+ import{s as e}from"./p-8af6917b.js";import{a as t}from"./p-df8d721e.js";var n=t.grpc;var r=function(){function e(){}e.serviceName="vertexvis.protobuf.sceneview.v1.SceneViewAPI";return e}();r.CreateSceneViewAnnotationSet={methodName:"CreateSceneViewAnnotationSet",service:r,requestStream:false,responseStream:false,requestType:e.CreateSceneViewAnnotationSetRequest,responseType:e.CreateSceneViewAnnotationSetResponse};r.DeleteSceneViewAnnotationSet={methodName:"DeleteSceneViewAnnotationSet",service:r,requestStream:false,responseStream:false,requestType:e.DeleteSceneViewAnnotationSetRequest,responseType:e.DeleteSceneViewAnnotationSetResponse};r.ListItemRepresentations={methodName:"ListItemRepresentations",service:r,requestStream:false,responseStream:false,requestType:e.ListItemRepresentationsRequest,responseType:e.ListItemRepresentationsResponse};r.ListItemModelViews={methodName:"ListItemModelViews",service:r,requestStream:false,responseStream:false,requestType:e.ListItemModelViewsRequest,responseType:e.ListItemModelViewsResponse};r.ListPmiAnnotations={methodName:"ListPmiAnnotations",service:r,requestStream:false,responseStream:false,requestType:e.ListPmiAnnotationsRequest,responseType:e.ListPmiAnnotationsResponse};r.ListSceneViewAnnotationSets={methodName:"ListSceneViewAnnotationSets",service:r,requestStream:false,responseStream:false,requestType:e.ListSceneViewAnnotationSetsRequest,responseType:e.ListSceneViewAnnotationSetsResponse};r.ListSceneAnnotations={methodName:"ListSceneAnnotations",service:r,requestStream:false,responseStream:false,requestType:e.ListSceneAnnotationsRequest,responseType:e.ListSceneAnnotationsResponse};r.UpdateModelEntities={methodName:"UpdateModelEntities",service:r,requestStream:false,responseStream:false,requestType:e.UpdateModelEntitiesRequest,responseType:e.UpdateModelEntitiesResponse};r.Measure={methodName:"Measure",service:r,requestStream:false,responseStream:false,requestType:e.MeasureRequest,responseType:e.MeasureResponse};function s(e,t){this.serviceHost=e;this.options=t||{}}s.prototype.createSceneViewAnnotationSet=function e(t,s,a){if(arguments.length===2){a=arguments[1]}var i=n.unary(r.CreateSceneViewAnnotationSet,{request:t,host:this.serviceHost,metadata:s,transport:this.options.transport,debug:this.options.debug,onEnd:function(e){if(a){if(e.status!==n.Code.OK){var t=new Error(e.statusMessage);t.code=e.status;t.metadata=e.trailers;a(t,null)}else{a(null,e.message)}}}});return{cancel:function(){a=null;i.close()}}};s.prototype.deleteSceneViewAnnotationSet=function e(t,s,a){if(arguments.length===2){a=arguments[1]}var i=n.unary(r.DeleteSceneViewAnnotationSet,{request:t,host:this.serviceHost,metadata:s,transport:this.options.transport,debug:this.options.debug,onEnd:function(e){if(a){if(e.status!==n.Code.OK){var t=new Error(e.statusMessage);t.code=e.status;t.metadata=e.trailers;a(t,null)}else{a(null,e.message)}}}});return{cancel:function(){a=null;i.close()}}};s.prototype.listItemRepresentations=function e(t,s,a){if(arguments.length===2){a=arguments[1]}var i=n.unary(r.ListItemRepresentations,{request:t,host:this.serviceHost,metadata:s,transport:this.options.transport,debug:this.options.debug,onEnd:function(e){if(a){if(e.status!==n.Code.OK){var t=new Error(e.statusMessage);t.code=e.status;t.metadata=e.trailers;a(t,null)}else{a(null,e.message)}}}});return{cancel:function(){a=null;i.close()}}};s.prototype.listItemModelViews=function e(t,s,a){if(arguments.length===2){a=arguments[1]}var i=n.unary(r.ListItemModelViews,{request:t,host:this.serviceHost,metadata:s,transport:this.options.transport,debug:this.options.debug,onEnd:function(e){if(a){if(e.status!==n.Code.OK){var t=new Error(e.statusMessage);t.code=e.status;t.metadata=e.trailers;a(t,null)}else{a(null,e.message)}}}});return{cancel:function(){a=null;i.close()}}};s.prototype.listPmiAnnotations=function e(t,s,a){if(arguments.length===2){a=arguments[1]}var i=n.unary(r.ListPmiAnnotations,{request:t,host:this.serviceHost,metadata:s,transport:this.options.transport,debug:this.options.debug,onEnd:function(e){if(a){if(e.status!==n.Code.OK){var t=new Error(e.statusMessage);t.code=e.status;t.metadata=e.trailers;a(t,null)}else{a(null,e.message)}}}});return{cancel:function(){a=null;i.close()}}};s.prototype.listSceneViewAnnotationSets=function e(t,s,a){if(arguments.length===2){a=arguments[1]}var i=n.unary(r.ListSceneViewAnnotationSets,{request:t,host:this.serviceHost,metadata:s,transport:this.options.transport,debug:this.options.debug,onEnd:function(e){if(a){if(e.status!==n.Code.OK){var t=new Error(e.statusMessage);t.code=e.status;t.metadata=e.trailers;a(t,null)}else{a(null,e.message)}}}});return{cancel:function(){a=null;i.close()}}};s.prototype.listSceneAnnotations=function e(t,s,a){if(arguments.length===2){a=arguments[1]}var i=n.unary(r.ListSceneAnnotations,{request:t,host:this.serviceHost,metadata:s,transport:this.options.transport,debug:this.options.debug,onEnd:function(e){if(a){if(e.status!==n.Code.OK){var t=new Error(e.statusMessage);t.code=e.status;t.metadata=e.trailers;a(t,null)}else{a(null,e.message)}}}});return{cancel:function(){a=null;i.close()}}};s.prototype.updateModelEntities=function e(t,s,a){if(arguments.length===2){a=arguments[1]}var i=n.unary(r.UpdateModelEntities,{request:t,host:this.serviceHost,metadata:s,transport:this.options.transport,debug:this.options.debug,onEnd:function(e){if(a){if(e.status!==n.Code.OK){var t=new Error(e.statusMessage);t.code=e.status;t.metadata=e.trailers;a(t,null)}else{a(null,e.message)}}}});return{cancel:function(){a=null;i.close()}}};s.prototype.measure=function e(t,s,a){if(arguments.length===2){a=arguments[1]}var i=n.unary(r.Measure,{request:t,host:this.serviceHost,metadata:s,transport:this.options.transport,debug:this.options.debug,onEnd:function(e){if(a){if(e.status!==n.Code.OK){var t=new Error(e.statusMessage);t.code=e.status;t.metadata=e.trailers;a(t,null)}else{a(null,e.message)}}}});return{cancel:function(){a=null;i.close()}}};var a=s;export{a as S};
5
+ //# sourceMappingURL=p-d36d5971.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../node_modules/@vertexvis/scene-view-protos/sceneview/protos/scene_view_api_pb_service.js"],"names":["grpc","require$$0","SceneViewAPI","serviceName","CreateSceneViewAnnotationSet","methodName","service","requestStream","responseStream","requestType","sceneview_protos_scene_view_api_pb","CreateSceneViewAnnotationSetRequest","responseType","CreateSceneViewAnnotationSetResponse","DeleteSceneViewAnnotationSet","DeleteSceneViewAnnotationSetRequest","DeleteSceneViewAnnotationSetResponse","ListItemRepresentations","ListItemRepresentationsRequest","ListItemRepresentationsResponse","ListItemModelViews","ListItemModelViewsRequest","ListItemModelViewsResponse","ListPmiAnnotations","ListPmiAnnotationsRequest","ListPmiAnnotationsResponse","ListSceneViewAnnotationSets","ListSceneViewAnnotationSetsRequest","ListSceneViewAnnotationSetsResponse","ListSceneAnnotations","ListSceneAnnotationsRequest","ListSceneAnnotationsResponse","UpdateModelEntities","UpdateModelEntitiesRequest","UpdateModelEntitiesResponse","Measure","MeasureRequest","MeasureResponse","SceneViewAPIClient","serviceHost","options","this","prototype","createSceneViewAnnotationSet","requestMessage","metadata","callback","arguments","length","client","unary","request","host","transport","debug","onEnd","response","status","Code","OK","err","Error","statusMessage","code","trailers","message","cancel","close","deleteSceneViewAnnotationSet","listItemRepresentations","listItemModelViews","listPmiAnnotations","listSceneViewAnnotationSets","listSceneAnnotations","updateModelEntities","measure"],"mappings":"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","sourcesContent":["// package: vertexvis.protobuf.sceneview.v1\n// file: sceneview/protos/scene_view_api.proto\n\nvar sceneview_protos_scene_view_api_pb = require(\"../../sceneview/protos/scene_view_api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar SceneViewAPI = (function () {\n function SceneViewAPI() {}\n SceneViewAPI.serviceName = \"vertexvis.protobuf.sceneview.v1.SceneViewAPI\";\n return SceneViewAPI;\n}());\n\nSceneViewAPI.CreateSceneViewAnnotationSet = {\n methodName: \"CreateSceneViewAnnotationSet\",\n service: SceneViewAPI,\n requestStream: false,\n responseStream: false,\n requestType: sceneview_protos_scene_view_api_pb.CreateSceneViewAnnotationSetRequest,\n responseType: sceneview_protos_scene_view_api_pb.CreateSceneViewAnnotationSetResponse\n};\n\nSceneViewAPI.DeleteSceneViewAnnotationSet = {\n methodName: \"DeleteSceneViewAnnotationSet\",\n service: SceneViewAPI,\n requestStream: false,\n responseStream: false,\n requestType: sceneview_protos_scene_view_api_pb.DeleteSceneViewAnnotationSetRequest,\n responseType: sceneview_protos_scene_view_api_pb.DeleteSceneViewAnnotationSetResponse\n};\n\nSceneViewAPI.ListItemRepresentations = {\n methodName: \"ListItemRepresentations\",\n service: SceneViewAPI,\n requestStream: false,\n responseStream: false,\n requestType: sceneview_protos_scene_view_api_pb.ListItemRepresentationsRequest,\n responseType: sceneview_protos_scene_view_api_pb.ListItemRepresentationsResponse\n};\n\nSceneViewAPI.ListItemModelViews = {\n methodName: \"ListItemModelViews\",\n service: SceneViewAPI,\n requestStream: false,\n responseStream: false,\n requestType: sceneview_protos_scene_view_api_pb.ListItemModelViewsRequest,\n responseType: sceneview_protos_scene_view_api_pb.ListItemModelViewsResponse\n};\n\nSceneViewAPI.ListPmiAnnotations = {\n methodName: \"ListPmiAnnotations\",\n service: SceneViewAPI,\n requestStream: false,\n responseStream: false,\n requestType: sceneview_protos_scene_view_api_pb.ListPmiAnnotationsRequest,\n responseType: sceneview_protos_scene_view_api_pb.ListPmiAnnotationsResponse\n};\n\nSceneViewAPI.ListSceneViewAnnotationSets = {\n methodName: \"ListSceneViewAnnotationSets\",\n service: SceneViewAPI,\n requestStream: false,\n responseStream: false,\n requestType: sceneview_protos_scene_view_api_pb.ListSceneViewAnnotationSetsRequest,\n responseType: sceneview_protos_scene_view_api_pb.ListSceneViewAnnotationSetsResponse\n};\n\nSceneViewAPI.ListSceneAnnotations = {\n methodName: \"ListSceneAnnotations\",\n service: SceneViewAPI,\n requestStream: false,\n responseStream: false,\n requestType: sceneview_protos_scene_view_api_pb.ListSceneAnnotationsRequest,\n responseType: sceneview_protos_scene_view_api_pb.ListSceneAnnotationsResponse\n};\n\nSceneViewAPI.UpdateModelEntities = {\n methodName: \"UpdateModelEntities\",\n service: SceneViewAPI,\n requestStream: false,\n responseStream: false,\n requestType: sceneview_protos_scene_view_api_pb.UpdateModelEntitiesRequest,\n responseType: sceneview_protos_scene_view_api_pb.UpdateModelEntitiesResponse\n};\n\nSceneViewAPI.Measure = {\n methodName: \"Measure\",\n service: SceneViewAPI,\n requestStream: false,\n responseStream: false,\n requestType: sceneview_protos_scene_view_api_pb.MeasureRequest,\n responseType: sceneview_protos_scene_view_api_pb.MeasureResponse\n};\n\nexports.SceneViewAPI = SceneViewAPI;\n\nfunction SceneViewAPIClient(serviceHost, options) {\n this.serviceHost = serviceHost;\n this.options = options || {};\n}\n\nSceneViewAPIClient.prototype.createSceneViewAnnotationSet = function createSceneViewAnnotationSet(requestMessage, metadata, callback) {\n if (arguments.length === 2) {\n callback = arguments[1];\n }\n var client = grpc.unary(SceneViewAPI.CreateSceneViewAnnotationSet, {\n request: requestMessage,\n host: this.serviceHost,\n metadata: metadata,\n transport: this.options.transport,\n debug: this.options.debug,\n onEnd: function (response) {\n if (callback) {\n if (response.status !== grpc.Code.OK) {\n var err = new Error(response.statusMessage);\n err.code = response.status;\n err.metadata = response.trailers;\n callback(err, null);\n } else {\n callback(null, response.message);\n }\n }\n }\n });\n return {\n cancel: function () {\n callback = null;\n client.close();\n }\n };\n};\n\nSceneViewAPIClient.prototype.deleteSceneViewAnnotationSet = function deleteSceneViewAnnotationSet(requestMessage, metadata, callback) {\n if (arguments.length === 2) {\n callback = arguments[1];\n }\n var client = grpc.unary(SceneViewAPI.DeleteSceneViewAnnotationSet, {\n request: requestMessage,\n host: this.serviceHost,\n metadata: metadata,\n transport: this.options.transport,\n debug: this.options.debug,\n onEnd: function (response) {\n if (callback) {\n if (response.status !== grpc.Code.OK) {\n var err = new Error(response.statusMessage);\n err.code = response.status;\n err.metadata = response.trailers;\n callback(err, null);\n } else {\n callback(null, response.message);\n }\n }\n }\n });\n return {\n cancel: function () {\n callback = null;\n client.close();\n }\n };\n};\n\nSceneViewAPIClient.prototype.listItemRepresentations = function listItemRepresentations(requestMessage, metadata, callback) {\n if (arguments.length === 2) {\n callback = arguments[1];\n }\n var client = grpc.unary(SceneViewAPI.ListItemRepresentations, {\n request: requestMessage,\n host: this.serviceHost,\n metadata: metadata,\n transport: this.options.transport,\n debug: this.options.debug,\n onEnd: function (response) {\n if (callback) {\n if (response.status !== grpc.Code.OK) {\n var err = new Error(response.statusMessage);\n err.code = response.status;\n err.metadata = response.trailers;\n callback(err, null);\n } else {\n callback(null, response.message);\n }\n }\n }\n });\n return {\n cancel: function () {\n callback = null;\n client.close();\n }\n };\n};\n\nSceneViewAPIClient.prototype.listItemModelViews = function listItemModelViews(requestMessage, metadata, callback) {\n if (arguments.length === 2) {\n callback = arguments[1];\n }\n var client = grpc.unary(SceneViewAPI.ListItemModelViews, {\n request: requestMessage,\n host: this.serviceHost,\n metadata: metadata,\n transport: this.options.transport,\n debug: this.options.debug,\n onEnd: function (response) {\n if (callback) {\n if (response.status !== grpc.Code.OK) {\n var err = new Error(response.statusMessage);\n err.code = response.status;\n err.metadata = response.trailers;\n callback(err, null);\n } else {\n callback(null, response.message);\n }\n }\n }\n });\n return {\n cancel: function () {\n callback = null;\n client.close();\n }\n };\n};\n\nSceneViewAPIClient.prototype.listPmiAnnotations = function listPmiAnnotations(requestMessage, metadata, callback) {\n if (arguments.length === 2) {\n callback = arguments[1];\n }\n var client = grpc.unary(SceneViewAPI.ListPmiAnnotations, {\n request: requestMessage,\n host: this.serviceHost,\n metadata: metadata,\n transport: this.options.transport,\n debug: this.options.debug,\n onEnd: function (response) {\n if (callback) {\n if (response.status !== grpc.Code.OK) {\n var err = new Error(response.statusMessage);\n err.code = response.status;\n err.metadata = response.trailers;\n callback(err, null);\n } else {\n callback(null, response.message);\n }\n }\n }\n });\n return {\n cancel: function () {\n callback = null;\n client.close();\n }\n };\n};\n\nSceneViewAPIClient.prototype.listSceneViewAnnotationSets = function listSceneViewAnnotationSets(requestMessage, metadata, callback) {\n if (arguments.length === 2) {\n callback = arguments[1];\n }\n var client = grpc.unary(SceneViewAPI.ListSceneViewAnnotationSets, {\n request: requestMessage,\n host: this.serviceHost,\n metadata: metadata,\n transport: this.options.transport,\n debug: this.options.debug,\n onEnd: function (response) {\n if (callback) {\n if (response.status !== grpc.Code.OK) {\n var err = new Error(response.statusMessage);\n err.code = response.status;\n err.metadata = response.trailers;\n callback(err, null);\n } else {\n callback(null, response.message);\n }\n }\n }\n });\n return {\n cancel: function () {\n callback = null;\n client.close();\n }\n };\n};\n\nSceneViewAPIClient.prototype.listSceneAnnotations = function listSceneAnnotations(requestMessage, metadata, callback) {\n if (arguments.length === 2) {\n callback = arguments[1];\n }\n var client = grpc.unary(SceneViewAPI.ListSceneAnnotations, {\n request: requestMessage,\n host: this.serviceHost,\n metadata: metadata,\n transport: this.options.transport,\n debug: this.options.debug,\n onEnd: function (response) {\n if (callback) {\n if (response.status !== grpc.Code.OK) {\n var err = new Error(response.statusMessage);\n err.code = response.status;\n err.metadata = response.trailers;\n callback(err, null);\n } else {\n callback(null, response.message);\n }\n }\n }\n });\n return {\n cancel: function () {\n callback = null;\n client.close();\n }\n };\n};\n\nSceneViewAPIClient.prototype.updateModelEntities = function updateModelEntities(requestMessage, metadata, callback) {\n if (arguments.length === 2) {\n callback = arguments[1];\n }\n var client = grpc.unary(SceneViewAPI.UpdateModelEntities, {\n request: requestMessage,\n host: this.serviceHost,\n metadata: metadata,\n transport: this.options.transport,\n debug: this.options.debug,\n onEnd: function (response) {\n if (callback) {\n if (response.status !== grpc.Code.OK) {\n var err = new Error(response.statusMessage);\n err.code = response.status;\n err.metadata = response.trailers;\n callback(err, null);\n } else {\n callback(null, response.message);\n }\n }\n }\n });\n return {\n cancel: function () {\n callback = null;\n client.close();\n }\n };\n};\n\nSceneViewAPIClient.prototype.measure = function measure(requestMessage, metadata, callback) {\n if (arguments.length === 2) {\n callback = arguments[1];\n }\n var client = grpc.unary(SceneViewAPI.Measure, {\n request: requestMessage,\n host: this.serviceHost,\n metadata: metadata,\n transport: this.options.transport,\n debug: this.options.debug,\n onEnd: function (response) {\n if (callback) {\n if (response.status !== grpc.Code.OK) {\n var err = new Error(response.statusMessage);\n err.code = response.status;\n err.metadata = response.trailers;\n callback(err, null);\n } else {\n callback(null, response.message);\n }\n }\n }\n });\n return {\n cancel: function () {\n callback = null;\n client.close();\n }\n };\n};\n\nexports.SceneViewAPIClient = SceneViewAPIClient;\n\n"]}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright (c) 2024 Vertex Software LLC. All rights reserved.
3
+ */
4
+ import{c as e,u as t,a as i,b as s}from"./p-6022ae29.js";import{I as n,a as r,b as a}from"./p-4922b6c9.js";import{s as o,u,p as c,r as h}from"./p-8af6917b.js";import{w as l}from"./p-df8d721e.js";import{r as d,c as p}from"./p-d3001337.js";import{m as w,a as v,b as m}from"./p-32bff740.js";import{b as f,v as y,m as b,q as x,r as g,a as I,p as j,d as O}from"./p-26198b53.js";import{t as S,v as R,w as V,h as B,f as E,i as A,u as T,e as k}from"./p-56c17536.js";import"./p-d312d59a.js";import{t as C}from"./p-55e6df3c.js";const q={opacity:255,glossiness:4,diffuse:{r:0,g:0,b:0,a:0},ambient:{r:0,g:0,b:0,a:0},specular:{r:0,g:0,b:0,a:0},emissive:{r:0,g:0,b:0,a:0}};const P=(e,t,i,s)=>Object.assign(Object.assign({},q),{opacity:s!==null&&s!==void 0?s:q.opacity,diffuse:{r:e,g:t,b:i,a:0}});const M=(t,i)=>{const s=e.fromHexString(t);return Object.assign(Object.assign({},q),{opacity:i!==null&&i!==void 0?i:q.opacity,diffuse:s!=null?Object.assign({},s):Object.assign({},q.diffuse)})};const _=Object.freeze({__proto__:null,defaultColor:q,create:P,fromHex:M});function D(e){var i;const s=t.parse(e);if(s.scheme!=="urn"||s.path==null){throw new Error("Invalid URN. Expected URN scheme.")}const[r,a,o,...u]=s.path.split(/[:/]/);if(r!=="vertexvis"&&r!=="vertex"){throw new Error("Invalid URN. Expected URN to be vertex namespace")}if(r==="vertexvis"){console.warn("vertexvis namespace is deprecated. Use 'vertex' for the namespace urn instead")}switch(a){case"stream-key":const e=F(s.query);const t=(i=U(u.join("/")))!==null&&i!==void 0?i:e.find((e=>e.type==="scene-view-state"));return{resource:{type:"stream-key",id:o},subResource:t,queries:e.filter((e=>e.type!=="scene-view-state"))};default:throw new n(`Invalid URN. Unknown resource type ${a}`)}}function U(e){if(e!=null){const[t,i]=e.split("/");switch(t){case"scene-view-states":return{type:"scene-view-state",id:i};default:return undefined}}}function F(e){if(e!=null){return e.split("&").map((e=>{const[t,i]=e.split("=");switch(t){case"supplied-id":return{type:"supplied-id",id:i};case"scene-view-state":return{type:"scene-view-state",id:i};default:throw new Error("Invalid URN. Unknown query value type")}}))}else{return[]}}const z=Object.freeze({__proto__:null,fromUrn:D});function N(e){return e.id!=null}function H(e){return e.suppliedId!=null}const L=Object.freeze({__proto__:null,isSceneViewStateId:N,isSceneViewStateSuppliedId:H});class Y{constructor(e,t=new Date){this.knownRemoteTime=e;this.knownLocalTime=t}localOffset(){return this.duration(this.knownLocalTime,this.localNow())}localTime(e){const t=typeof e==="number"?new Date(this.knownLocalTime.getTime()+e):e;const i=this.duration(this.knownRemoteTime,t);return this.addDuration(this.knownLocalTime,i)}remoteOffset(e=new Date){return this.duration(this.remoteTime(this.knownLocalTime),this.remoteTime(e))}remoteNow(){return this.remoteTime(this.localNow())}remoteTime(e){const t=typeof e==="number"?new Date(this.knownLocalTime.getTime()+e):e;const i=this.duration(this.knownLocalTime,t);return this.addDuration(this.knownRemoteTime,i)}addDuration(e,t){return new Date(e.getTime()+t)}duration(e,t){return t.getTime()-e.getTime()}localNow(){return new Date(Date.now())}}class Q{constructor(e,t,i,s){this.client=e;this.stream=t;this.jwtProvider=i;this.deviceIdProvider=s}async listByItem(e,{hasAnnotations:t,cursor:s,size:n=50}={}){const r=await d((async r=>{const a=this.deviceIdProvider();const h=await p(this.jwtProvider,a);const d=new o.ListItemModelViewsRequest;const{msb:w,lsb:v}=i.toMsbLsb(e);const m=new u.Uuid2l;m.setMsb(w);m.setLsb(v);d.setItemId(m);if(t!=null){const e=new l.BoolValue;e.setValue(t);d.setHasAnnotations(e)}const f=new c.Pager;f.setLimit(n);if(s!=null){f.setCursor(s)}d.setPage(f);this.client.listItemModelViews(d,h,r)}));return w(r.toObject())}async load(e,t){const i=v({modelViewId:t,sceneItemId:e});this.stream.updateModelView({itemModelView:i},true)}async unload(){this.stream.updateModelView({},true)}}class W{constructor(e,t,i){this.client=e;this.jwtProvider=t;this.deviceIdProvider=i}async listAnnotations({modelViewId:e,cursor:t,size:s=50}={}){const n=await d((async n=>{const r=this.deviceIdProvider();const a=await p(this.jwtProvider,r);const h=new o.ListPmiAnnotationsRequest;if(e!=null){const{msb:t,lsb:s}=i.toMsbLsb(e);const n=new u.Uuid2l;n.setMsb(t);n.setLsb(s);h.setModelViewId(n)}const l=new c.Pager;l.setLimit(s);if(t!=null){l.setCursor(t)}h.setPage(l);this.client.listPmiAnnotations(h,a,n)}));return m(n.toObject())}}const $=1e3*10;class G{constructor(e,t,i,s=$){this.stream=e;this.predicate=t;this.transform=i;this.timeout=s;this.listeners=[];this.handleMessage=this.handleMessage.bind(this)}on(e){this.listeners=[...this.listeners,e];if(this.eventDisposable==null||this.requestDisposable==null){this.addListeners()}}off(e){this.listeners=this.listeners.filter((t=>t!==e));if(this.listeners.length===0){this.removeListeners()}}once(){let e;return s.timeout(this.timeout,new Promise((t=>{e=i=>{t(i);this.off(e)};this.on(e)}))).finally((()=>{this.off(e)}))}handleMessage(e){if(this.predicate(e)){const t=this.transform(e);if(t!=null){this.listeners.forEach((e=>e(t)))}}}addListeners(){this.eventDisposable=this.stream.onEvent(this.handleMessage);this.requestDisposable=this.stream.onRequest(this.handleMessage)}removeListeners(){var e,t;(e=this.eventDisposable)===null||e===void 0?void 0:e.dispose();(t=this.requestDisposable)===null||t===void 0?void 0:t.dispose()}}class J{constructor(e,t,{animationId:i,correlationId:s},n){this.data=undefined;this.onAnimationCompleted=new G(e,(e=>{var t,s,n;return((n=(s=(t=e.event)===null||t===void 0?void 0:t.animationCompleted)===null||s===void 0?void 0:s.animationId)===null||n===void 0?void 0:n.hex)===i}),(e=>{var t,i,s;return((s=(i=(t=e.event)===null||t===void 0?void 0:t.animationCompleted)===null||i===void 0?void 0:i.animationId)===null||s===void 0?void 0:s.hex)||undefined}),n);this.onFrameReceived=new G(e,(e=>{var t,i,n;return!!((n=(i=(t=e.request)===null||t===void 0?void 0:t.drawFrame)===null||i===void 0?void 0:i.frameCorrelationIds)===null||n===void 0?void 0:n.some((e=>e===s)))}),(e=>{var i;return((i=e.request)===null||i===void 0?void 0:i.drawFrame)!=null?t(e.request.drawFrame):undefined}),n)}}function K(e){if(typeof e==="string"){return{sceneViewStateId:{hex:e}}}else if(N(e)){return{sceneViewStateId:{hex:e.id}}}else if(H(e)){return{sceneViewStateSuppliedId:{value:e.suppliedId}}}else{throw new Error("Unable to build scene view state identifier, input must be a string or `SceneViewStateIdentifier`.")}}function X(e,t){switch(e.type){case"and":case"or":return{operand:{itemCollection:{queries:e.expressions.map((e=>({sceneItemQuery:ee(e)})))}}};case"not":return{not:{expression:X(e.query,t)}};case"item-id":case"supplied-id":return{operand:{item:{sceneItemQuery:ee(e)}}};case"all":return{operand:{root:{}}};case"scene-tree-range":return{operand:{sceneTreeRange:{start:e.range.start,end:e.range.end}}};case"metadata":if(e.removeHiddenItems){return{and:{first:{operand:{metadata:{valueFilter:e.filter,keys:e.keys,exactMatch:e.exactMatch}}},second:{operand:{override:{visibility:{visibilityState:true}}}}}}}else{return{operand:{metadata:{valueFilter:e.filter,keys:e.keys,exactMatch:e.exactMatch}}}}case"all-selected":return{operand:{override:{selection:{}}}};case"all-visible":return{operand:{override:{visibility:{visibilityState:true}}}};case"point":return{operand:{point:{point:e.point,viewport:t.dimensions}}};case"volume-intersection":return{operand:{volume:{frustumByRectangle:{rectangle:e.rectangle},exclusive:e.exclusive,viewport:t.dimensions}}};default:return{}}}function Z(e,t,i){const s=ie(t);const n=X(e,i);return{queryExpression:n,operationTypes:s}}function ee(e){switch(e.type){case"item-id":return{id:new R.protobuf.core.Uuid({hex:e.value})};case"supplied-id":return{suppliedId:e.value};default:return{}}}function te(e,t,i,s){const n={frameCorrelationId:{value:e},animation:i?{duration:C(i.milliseconds)}:undefined,baseCamera:s!=null?S(s):undefined};switch(t.flyTo.type){case"supplied":{return Object.assign(Object.assign({},n),{itemSuppliedId:t.flyTo.data})}case"internal":{return Object.assign(Object.assign({},n),{itemId:new R.protobuf.core.Uuid({hex:t.flyTo.data})})}case"camera":{return Object.assign(Object.assign({},n),{camera:S(t.flyTo.data)})}case"bounding-box":{return Object.assign(Object.assign({},n),{boundingBox:{xmin:t.flyTo.data.min.x,xmax:t.flyTo.data.max.x,ymin:t.flyTo.data.min.y,ymax:t.flyTo.data.max.y,zmin:t.flyTo.data.min.z,zmax:t.flyTo.data.max.z}})}default:return{}}}function ie(e){return e.map((e=>{var t,i;switch(e.type){case"change-material":return{changeMaterial:{materialOverride:{colorMaterial:{d:e.material.opacity,ns:e.material.glossiness,ka:e.material.ambient,kd:e.material.diffuse,ks:e.material.specular,ke:e.material.emissive}}}};case"clear-override":return{clearMaterial:{}};case"change-transform":return{changeTransform:{transform:Object.assign({},e.transform)}};case"clear-transform":return{clearTransform:{cascade:e.cascade}};case"hide":return{changeVisibility:{visible:false}};case"show":return{changeVisibility:{visible:true}};case"select":return{changeSelection:{selected:true}};case"deselect":return{changeSelection:{selected:false}};case"change-phantom":return{changePhantom:{phantom:(t=e.phantomState)!==null&&t!==void 0?t:true}};case"clear-phantom":return{changePhantom:{phantom:false}};case"change-end-item":return{changeEndItem:{endItem:(i=e.endItemState)!==null&&i!==void 0?i:true}};case"clear-end-item":return{changeEndItem:{endItem:false}};case"view-rendition-by-id":return{viewRendition:{id:new R.protobuf.core.Uuid({hex:e.id})}};case"view-rendition-by-supplied-id":return{viewRendition:{suppliedId:e.suppliedId}};case"view-default-rendition":return{viewDefaultRendition:{}};case"clear-rendition":return{clearRendition:{}};case"view-representation":if(e.id==="empty"){return{viewRepresentation:{predefinedId:h.RepresentationPredefinedId.REPRESENTATION_PREDEFINED_ID_EMPTY}}}else if(e.id==="entire-part"){return{viewRepresentation:{predefinedId:h.RepresentationPredefinedId.REPRESENTATION_PREDEFINED_ID_ENTIRE_PART}}}else{return{viewRepresentation:{id:new R.protobuf.core.Uuid({hex:e.id})}}}case"clear-representation":return{clearRepresentation:{}};default:return{}}}))}function se(e){return e.map((e=>{switch(e){case"camera":return R.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_CAMERA;case"material_overrides":return R.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_MATERIAL_OVERRIDE;case"selection":return R.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_SELECTION;case"visibility":return R.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_VISIBILITY;case"transforms":return R.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_TRANSFORM;case"cross_section":return R.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_CROSS_SECTION;case"phantom":return R.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_PHANTOM;default:return R.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_INVALID}}))}class ne{constructor(e){this.flyToOptions=e}build(){return this.flyToOptions}}class re{withItemId(e){return new ne({flyTo:{type:"internal",data:e}})}withSuppliedId(e){return new ne({flyTo:{type:"supplied",data:e}})}withCamera(e){return new ne({flyTo:{type:"camera",data:e}})}withBoundingBox(e){return new ne({flyTo:{type:"bounding-box",data:e}})}build(){return this.flyToOptions}}class ae{constructor(e,t,i,s,n,r){this.stream=e;this.aspect=t;this.data=i;this.boundingBox=s;this.decodeFrame=n;this.flyToOptions=r}fitToBoundingBox(e){return this.flyTo({boundingBox:e})}signedDistanceToBoundingBoxCenter(e){const{position:t,viewVector:i}=V(this.data);const s=f.center(e!==null&&e!==void 0?e:this.boundingBox);const n=y.subtract(s,t);return y.dot(i,n)/y.magnitude(i)}flyTo(e){if(typeof e!=="function"){return this.updateFlyToOptions({flyTo:this.buildFlyToType(e)})}else{return this.updateFlyToOptions(e(new re).build())}}viewAll(){return this.fitToBoundingBox(this.boundingBox)}async render(e){var t,s,n;if(this.flyToOptions==null&&e!=null){this.flyToOptions={flyTo:{type:"camera",data:this.data}}}try{const r=i.create();if(this.flyToOptions!=null){const i=te(r,this.flyToOptions,e===null||e===void 0?void 0:e.animation,this.toFrameCamera());const a=await this.stream.flyTo(i,true);return new J(this.stream,this.decodeFrame,{correlationId:r,animationId:((s=(t=a.flyTo)===null||t===void 0?void 0:t.animationId)===null||s===void 0?void 0:s.hex)||undefined},((n=e===null||e===void 0?void 0:e.animation)===null||n===void 0?void 0:n.milliseconds)!=null?e.animation.milliseconds+$:undefined)}else{this.stream.replaceCamera({camera:S(this.data),frameCorrelationId:{value:r}});return new J(this.stream,this.decodeFrame,{correlationId:r})}}catch(e){console.warn("Error when performing render: ",e);throw e}}rotateAroundAxis(e,t){return this.rotateAroundAxisAtPoint(e,this.data.lookAt,t)}alignTo(e,t){const i=y.normalize(y.cross(this.up,y.normalize(this.viewVector)));const s=y.normalize(y.cross(y.normalize(this.viewVector),i));const n=y.angleTo(t,s)>Math.PI/2?y.negate(s):s;const r=y.isEqual(n,t)?i:y.normalize(y.cross(n,t));const a=y.transformMatrix(this.viewVector,b.makeRotation(x.fromAxisAngle(r,y.angleTo(t,n))));const o=g.create({origin:e,direction:y.normalize(a)});const u=g.at(o,y.magnitude(this.viewVector));return this.update({position:e,lookAt:u,up:t})}standardView(e){return this.update({position:e.position,viewVector:y.subtract(y.origin(),e.position),lookAt:y.origin(),up:e.up})}standardViewFixedLookAt(e){const t=g.create({origin:this.lookAt,direction:y.normalize(e.position)});const i=g.at(t,y.magnitude(this.viewVector));return this.update({up:e.up,position:i,viewVector:y.subtract(this.lookAt,i)})}buildFlyToType(e){if(e.boundingBox!=null){return{type:"bounding-box",data:e.boundingBox}}else if(e.camera!=null){return{type:"camera",data:e.camera}}else if(e.itemId!=null){return{type:"internal",data:e.itemId}}else if(e.itemSuppliedId!=null){return{type:"supplied",data:e.itemSuppliedId}}else{throw new Error("Fly to must specify at least one option.")}}computeClippingPlanes(e){return B(this.boundingBox,e)}}class oe extends ae{constructor(e,t,i,s,n,r){super(e,t,i,s,n,r);this.perspectiveData=i}moveBy(e){return this.update({position:y.add(this.position,e),lookAt:y.add(this.lookAt,e)})}rotateAroundAxisAtPoint(e,t,i){return this.update({position:y.rotateAboutAxis(e,this.position,i,t),lookAt:y.rotateAboutAxis(e,this.lookAt,i,t),up:y.rotateAboutAxis(e,this.up,i,y.origin())})}update(e){var t;const i=(t=e.fovY)!==null&&t!==void 0?t:this.fovY;return new oe(this.stream,this.aspect,Object.assign(Object.assign(Object.assign({},this.perspectiveData),e),{fovY:i}),this.boundingBox,this.decodeFrame,this.flyToOptions)}toFrameCamera(){var e;return new E(this.position,this.lookAt,this.up,this.near,this.far,this.aspectRatio,(e=this.fovY)!==null&&e!==void 0?e:45)}get viewVector(){return y.subtract(this.lookAt,this.position)}get position(){return Object.assign({},this.perspectiveData.position)}get up(){return Object.assign({},this.perspectiveData.up)}get lookAt(){return Object.assign({},this.perspectiveData.lookAt)}get fovY(){return this.perspectiveData.fovY}get aspectRatio(){return this.aspect}get near(){const{near:e}=this.computeClippingPlanes(this.perspectiveData);return e}get far(){const{far:e}=this.computeClippingPlanes(this.perspectiveData);return e}updateFlyToOptions(e){return new oe(this.stream,this.aspect,this.perspectiveData,this.boundingBox,this.decodeFrame,e)}}class ue extends ae{constructor(e,t,i,s,n,r){super(e,t,i,s,n,r);this.orthographicData=i}moveBy(e){const t=y.add(this.lookAt,e);return this.update({lookAt:t,rotationPoint:t})}rotateAroundAxisAtPoint(e,t,i){const s=y.rotateAboutAxis(e,this.lookAt,i,t);const n=y.rotateAboutAxis(e,this.position,i,t);const r=A(y.subtract(s,n),I.create(this.boundingBox));return this.update({viewVector:r,lookAt:s,up:y.rotateAboutAxis(e,this.up,i,y.origin())})}update(e){return new ue(this.stream,this.aspect,Object.assign(Object.assign({},this.orthographicData),e),this.boundingBox,this.decodeFrame,this.flyToOptions)}toFrameCamera(){const e=I.create(this.boundingBox);const t=A(this.viewVector,e);const i=T(this.lookAt,t,e.center);return new k(t,i,this.up,this.near,this.far,this.aspectRatio,this.fovHeight,this.rotationPoint)}get viewVector(){return Object.assign({},this.orthographicData.viewVector)}get position(){return y.add(this.lookAt,y.negate(this.viewVector))}get rotationPoint(){const e=this.orthographicData.rotationPoint;if(e!=null){return e}else{return undefined}}get up(){return Object.assign({},this.orthographicData.up)}get lookAt(){return Object.assign({},this.orthographicData.lookAt)}get fovHeight(){return this.orthographicData.fovHeight}get aspectRatio(){return this.aspect}get near(){const{near:e}=this.computeClippingPlanes(this.orthographicData);return e}get far(){const{far:e}=this.computeClippingPlanes(this.orthographicData);return e}updateFlyToOptions(e){return new ue(this.stream,this.aspect,this.orthographicData,this.boundingBox,this.decodeFrame,e)}}class ce{constructor(e,t){this.stream=e;this.data=t}async update(e){const t=await this.stream.updateCrossSectioning({crossSectioning:{sectionPlanes:e.sectionPlanes,highlightColor:e.highlightColor,lineWidth:(e===null||e===void 0?void 0:e.lineWidth)!=null?{value:e.lineWidth}:null}},true);return t.updateCrossSectioning||undefined}current(){return this.data}}class he{constructor(e=[]){this.operations=e}build(){return this.operations.concat()}materialOverride(e){return new he(this.operations.concat([{type:"change-material",material:e}]))}show(){return new he(this.operations.concat([{type:"show"}]))}hide(){return new he(this.operations.concat([{type:"hide"}]))}select(){return new he(this.operations.concat([{type:"select"}]))}deselect(){return new he(this.operations.concat([{type:"deselect"}]))}clearMaterialOverrides(){return new he(this.operations.concat([{type:"clear-override"}]))}transform(e){return new he(this.operations.concat([{type:"change-transform",transform:e}]))}clearTransforms(e=true){return new he(this.operations.concat([{type:"clear-transform",cascade:e}]))}setPhantom(e){return new he(this.operations.concat([{type:"change-phantom",phantomState:e}]))}clearPhantom(){return new he(this.operations.concat([{type:"clear-phantom"}]))}setEndItem(e){return new he(this.operations.concat([{type:"change-end-item",endItemState:e}]))}clearEndItem(){return new he(this.operations.concat([{type:"clear-end-item"}]))}viewRenditionById(e){return new he(this.operations.concat([{type:"view-rendition-by-id",id:e}]))}viewRenditionBySuppliedId(e){return new he(this.operations.concat([{type:"view-rendition-by-supplied-id",suppliedId:e}]))}viewDefaultRendition(){return new he(this.operations.concat([{type:"view-default-rendition"}]))}clearRendition(){return new he(this.operations.concat([{type:"clear-rendition"}]))}viewRepresentation(e){return new he(this.operations.concat({type:"view-representation",id:e}))}clearRepresentation(){return new he(this.operations.concat({type:"clear-representation"}))}}class le{constructor(e,t){this.stream=e;this.imageScaleProvider=t}async hitItems(e,t){const i=this.imageScaleProvider();const s=await this.stream.hitItems({point:j.scale(e,(i===null||i===void 0?void 0:i.x)||1,(i===null||i===void 0?void 0:i.y)||1),includeMetadata:t===null||t===void 0?void 0:t.includeMetadata},true);return s.hitItems||undefined}}class de{constructor(e,t,i,s){this.stream=e;this.decodeFrame=t;this.sceneId=i;this.sceneViewId=s}async applySceneViewState(e,t={}){const i=K(e);await this.animateToSceneViewState(i,t);return await this.stream.loadSceneViewState(Object.assign(Object.assign({},i),{frameCorrelationId:t.suppliedCorrelationId?{value:t.suppliedCorrelationId}:undefined}),true)}async applyPartialSceneViewState(e,t,i={}){const s=K(e);const n=se(t);if(t.includes("camera")){await this.animateToSceneViewState(s,i)}return await this.stream.loadSceneViewState(Object.assign(Object.assign({},s),{frameCorrelationId:i.suppliedCorrelationId?{value:i.suppliedCorrelationId}:undefined,sceneViewStateFeatureSubset:n}),true)}async animateToSceneViewState(e,t){var s,n,r;if(t.animation!=null){const a=i.create();const o=await this.stream.flyTo({sceneViewStateIdentifier:e,animation:{duration:C(t.animation.milliseconds)},frameCorrelationId:{value:a}},true);if(t.waitForAnimation==null||t.waitForAnimation){const e=new J(this.stream,this.decodeFrame,{animationId:(r=(n=(s=o.flyTo)===null||s===void 0?void 0:s.animationId)===null||n===void 0?void 0:n.hex)!==null&&r!==void 0?r:undefined,correlationId:a},t.animation.milliseconds+$);await e.onAnimationCompleted.once()}}}}class pe{constructor(e,t){this.query=e;this.builder=t!=null?t:new he}materialOverride(e){if(typeof e==="string"){return new pe(this.query,this.builder.materialOverride(M(e)))}else{return new pe(this.query,this.builder.materialOverride(e))}}hide(){return new pe(this.query,this.builder.hide())}show(){return new pe(this.query,this.builder.show())}select(){return new pe(this.query,this.builder.select())}deselect(){return new pe(this.query,this.builder.deselect())}clearMaterialOverrides(){return new pe(this.query,this.builder.clearMaterialOverrides())}transform(e){if(Array.isArray(e)){if(e.length!==16){throw new r("Matrix provided must contain exactly 16 values (4x4).")}return new pe(this.query,this.builder.transform({r0:{x:e[0],y:e[1],z:e[2],w:e[3]},r1:{x:e[4],y:e[5],z:e[6],w:e[7]},r2:{x:e[8],y:e[9],z:e[10],w:e[11]},r3:{x:e[12],y:e[13],z:e[14],w:e[15]}}))}else{return new pe(this.query,this.builder.transform(e))}}clearTransforms(e=true){return new pe(this.query,this.builder.clearTransforms(e))}setPhantom(e){return new pe(this.query,this.builder.setPhantom(e))}clearPhantom(){return new pe(this.query,this.builder.clearPhantom())}setEndItem(e){return new pe(this.query,this.builder.setEndItem(e))}clearEndItem(){return new pe(this.query,this.builder.clearEndItem())}viewRenditionById(e){return new pe(this.query,this.builder.viewRenditionById(e))}viewRenditionBySuppliedId(e){return new pe(this.query,this.builder.viewRenditionBySuppliedId(e))}viewDefaultRendition(){return new pe(this.query,this.builder.viewDefaultRendition())}clearRendition(){return new pe(this.query,this.builder.clearRendition())}viewRepresentation(e){return new pe(this.query,this.builder.viewRepresentation(e))}clearRepresentation(){return new pe(this.query,this.builder.clearRepresentation())}build(){return{query:this.query,operations:this.builder.build()}}}class we{constructor(e,t,i,s){this.sceneViewId=e;this.stream=t;this.dimensions=i;this.queryOperations=s}async execute(e){const t=this.queryOperations.map((e=>Z(e.query,e.operations,{dimensions:this.dimensions})));const i={sceneViewId:{hex:this.sceneViewId},operations:t,suppliedCorrelationId:(e===null||e===void 0?void 0:e.suppliedCorrelationId)!=null?{value:e===null||e===void 0?void 0:e.suppliedCorrelationId}:undefined};await this.stream.createSceneAlteration(i)}}class ve{constructor(e,t,i,s,n,r,a){this.stream=e;this.frame=t;this.decodeFrame=i;this.imageScaleProvider=s;this.dimensions=n;this.sceneId=r;this.sceneViewId=a;this.sceneViewStateLoader=new de(e,i,r,a)}async applySceneViewState(e,t={}){return await this.sceneViewStateLoader.applySceneViewState(e,t)}async applyPartialSceneViewState(e,t,i={}){return await this.sceneViewStateLoader.applyPartialSceneViewState(e,t,i)}async reset(e={}){return await this.stream.resetSceneView({includeCamera:e.includeCamera,frameCorrelationId:e.suppliedCorrelationId?{value:e.suppliedCorrelationId}:undefined},true)}items(e){const t=e(new Ae);const i=Array.isArray(t)?t:[t];const s=i.reduce(((e,t)=>e.concat(t.build())),[]);return new we(this.sceneViewId,this.stream,this.dimensions,s)}camera(){const{scene:e}=this.frame;if(e.camera.isOrthographic()){return new ue(this.stream,O.aspectRatio(this.viewport()),{viewVector:e.camera.viewVector,lookAt:e.camera.lookAt,up:e.camera.up,fovHeight:e.camera.fovHeight,rotationPoint:e.camera.lookAt},this.frame.scene.boundingBox,this.decodeFrame)}else if(e.camera.isPerspective()){return new oe(this.stream,O.aspectRatio(this.viewport()),{position:e.camera.position,lookAt:e.camera.lookAt,up:e.camera.up,fovY:e.camera.fovY},this.frame.scene.boundingBox,this.decodeFrame)}else{throw new a("Cannot retrieve camera. Scene has an unknown or invalid camera type.")}}isOrthographic(){const{scene:e}=this.frame;return e.camera.isOrthographic()}boundingBox(){return this.frame.scene.boundingBox}crossSectioning(){return new ce(this.stream,this.frame.scene.crossSection)}raycaster(){return new le(this.stream,this.imageScaleProvider)}viewport(){return this.frame.dimensions}scale(){return this.imageScaleProvider()||j.create(1,1)}}class me{constructor(e){this.inverted=e}build(){if(this.inverted){return{type:"not",query:this.queryExpressionBuilder()}}else{return this.queryExpressionBuilder()}}}class fe{constructor(e=false){this.inverted=e}all(){return new be}not(){return new ye(!this.inverted)}withItemIds(e){return new Re(e,"item-id",this.inverted)}withSuppliedIds(e){return new Re(e,"supplied-id",this.inverted)}withItemId(e){return new Ve({type:"item-id",value:e},this.inverted)}withSuppliedId(e){return new Ve({type:"supplied-id",value:e},this.inverted)}withSceneTreeRange(e){return new xe(e,this.inverted)}withMetadata(e,t,i,s){return new ge(e,t,i,this.inverted,s)}withSelected(){return new Ie(this.inverted)}withVisible(){return new je(this.inverted)}withPoint(e){return new Oe(e,this.inverted)}withVolumeIntersection(e,t){return new Se(e,this.inverted,t)}}class ye extends fe{constructor(e){super(e)}}class be extends me{constructor(e=false){super(e)}queryExpressionBuilder(){return{type:"all"}}}class xe extends me{constructor(e,t){super(t);this.range=e}queryExpressionBuilder(){return{type:"scene-tree-range",range:this.range}}}class ge extends me{constructor(e,t,i,s,n){super(s);this.filter=e;this.keys=t;this.exactMatch=i;this.removeHiddenItems=n}queryExpressionBuilder(){return{type:"metadata",filter:this.filter,keys:this.keys,exactMatch:this.exactMatch,removeHiddenItems:this.removeHiddenItems}}}class Ie extends me{constructor(e){super(e)}queryExpressionBuilder(){return{type:"all-selected"}}}class je extends me{constructor(e){super(e)}queryExpressionBuilder(){return{type:"all-visible"}}}class Oe extends me{constructor(e,t){super(t);this.point=e}queryExpressionBuilder(){return{type:"point",point:this.point}}}class Se extends me{constructor(e,t,i){super(t);this.rectangle=e;this.exclusive=i}queryExpressionBuilder(){return{type:"volume-intersection",rectangle:this.rectangle,exclusive:!!this.exclusive}}}class Re extends me{constructor(e,t,i){super(i);this.ids=e;this.type=t}queryExpressionBuilder(){return{type:"or",expressions:this.ids.map((e=>({type:this.type,value:e})))}}}class Ve extends me{constructor(e,t){super(t);this.query=e}queryExpressionBuilder(){return Object.assign({},this.query)}and(){return new Ee([this.query],this.inverted)}or(){return new Be([this.query],this.inverted)}}class Be extends me{constructor(e,t){super(t);this.expressions=e}queryExpressionBuilder(){return{type:"or",expressions:[...this.expressions]}}withItemId(e){return new Be([...this.expressions,{type:"item-id",value:e}],this.inverted)}withSuppliedId(e){return new Be([...this.expressions,{type:"supplied-id",value:e}],this.inverted)}or(){return this}}class Ee extends me{constructor(e,t){super(t);this.expressions=e}queryExpressionBuilder(){return{type:"and",expressions:[...this.expressions]}}withItemId(e){return new Ee([...this.expressions,{type:"item-id",value:e}],this.inverted)}withSuppliedId(e){return new Ee([...this.expressions,{type:"supplied-id",value:e}],this.inverted)}and(){return this}}class Ae{where(e){const t=e(new fe).build();return new pe(t)}}export{ae as C,Q as M,W as P,le as R,ve as S,ce as a,fe as b,_ as c,pe as d,Ae as e,he as f,Y as g,D as h,z as l,L as s};
5
+ //# sourceMappingURL=p-f0c0cf0b.js.map