bimplus-webcomponents 0.0.231 → 0.0.232

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.
@@ -5996,7 +5996,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
5996
5996
  --> add '`).concat(e.type,`' camera to scene.
5997
5997
  fov: `).concat(e.fov," w: ").concat(t," h: ").concat(n," aspect (w/h): ").concat(t/n,`
5998
5998
  near/far: `).concat(e.near," / ").concat(e.far,`
5999
- `)),this.cameraBeforePointMatching=new p0,e.type==="perspective"?this.camera=new p0(e.fov,t/n,e.near,e.far):e.type==="orthographic"&&(this.camera=new lT(e.left,e.right,e.top,e.bottom,e.near,e.far),this.camera.aspect=t/n,this.name=="mainRendererViewport"&&(this.camera.fov=45)),this.camera.name="mainCamera",this.camera.type=e.type,this.camera.position.set(e.position.x,e.position.y,e.position.z),this.scene.add(this.camera),this.orthoCamera=new lT(-t/2,t/2,n/2,-n/2,1,10),this.orthoCamera.position.z=10;var i=e.far-e.near,r=t/n;this.orthographicCamera=new lT(i*r/-2,i*r/2,i/2,i/-2,e.near,e.far),this.orthographicCamera.position.set(e.position.x,e.position.y,e.position.z),this.orthographicCamera.aspect=t/n,this.orthographicCamera.fov=45,this.perspectiveCamera=new p0(e.fov,t/n,e.near,e.far)}},initControls:function(e,t){this.controls.target=new qe(e.target.x||0,e.target.y||0,e.target.z||0),this.controls.object=this.camera,this.controls.domElement=this.renderer.domElement,this.controls.localElement=this.renderer.domElement,t||this.initTransformControls()},_transformControlsChangeEvent:function(){if(this.transformControls){switch(this.transformControls.mode){case"translate":this.clippingPlanes.recalcClippingSceneForTranslation(this.transformControlsPosition);break;case"rotate":this.clippingPlanes.recalcClippingSceneForRotation(this.transformControlsRotation);break;case"scale":this.clippingPlanes.recalcClippingSceneForScale(this.transformControlsScale)}this.draw()}},_transformControlsMouseDownEvent:function(){this.emptySectionCutSceneForSectionCutGeometry(),this.transformControlsPosition=this.clippingPlanes._clippingPlanes[this.clippingPlanes._activeClippingPlane].clippingPlaneFrame.position.clone(),this.transformControlsRotation=this.clippingPlanes._clippingPlanes[this.clippingPlanes._activeClippingPlane].clippingPlaneFrame.rotation.clone(),this.transformControlsScale=this.clippingPlanes._clippingPlanes[this.clippingPlanes._activeClippingPlane].clippingPlaneFrame.scale.clone()},_transformControlsMouseUp:function(){this.transformControlsPosition=null,this.transformControlsRotation=null,this.transformControlsScale=null,this.clippingPlanes.onRefreshSectionCuts()},initTransformControls:function(){this.transformControls=new m_e(this.camera,this.renderer.domElement),this.transformControls.addEventListener("change",this._transformControlsChangeEvent.bind(this)),this.transformControls.addEventListener("mouseDown",this._transformControlsMouseDownEvent.bind(this)),this.transformControls.addEventListener("mouseUp",P6e.debounce(this._transformControlsMouseUp.bind(this),1e3)),this.transformControls.setSpace("local"),this.transformControls.setRotationSnap(Rk.radians(5)),this.controlsScene.add(this.transformControls)},disposeTransformControls:function(){var e,t,n,i;(e=this.transformControls)===null||e===void 0||e.removeEventListener("change",this._transformControlsChangeEvent),(t=this.transformControls)===null||t===void 0||t.removeEventListener("mouseDown",this._transformControlsMouseDownEvent),(n=this.transformControls)===null||n===void 0||n.removeEventListener("mouseUp",this._transformControlsMouseUp),(i=this.transformControls)===null||i===void 0||i.dispose(),this.transformControls=null},initFrameSelection:function(){this.frameSelection=new D6e(this),this.frameSelection.init()},disposeFrameSelection:function(){var e;(e=this.frameSelection)===null||e===void 0||e.dispose(),this.frameSelection=null},renderScene:function(e){var t,n=this,i=this.checkSelectionMode("isolated");this.defaultPassChain.getPass(4).setEnabled(i);var r=e.drawClashes&&((t=this.content)===null||t===void 0?void 0:t.getClashes().getCurrentClashFilter())!==null;N6e.forEach(function(l){n.defaultPassChain.getPass(l).setEnabled(r)}),e.drawHelperScene===!0&&this.renderer.render(this.helperScene,this.camera),e.drawPins===!0&&this.pins.render(),this.defaultPassChain.render(this.renderer,this.disciplineNodeMeshScene.getScene(),this.camera),r&&i&&this.defaultPassChain.renderPasses([1,2],this.renderer,this.scene,this.camera)},setContent:function(e){this.content=e},getContent:function(){return this.content},hasContent:function(){return this.content!==null},draw:function(){var e=this;return this.noRender||this.drawDisabled||this.drawRequest||!this.renderer?new Promise(function(t){t()}):new Promise(function(t){e.drawRequest=requestAnimationFrame(function(){if(e.noRender||e.drawDisabled||!e.renderer)return e.drawRequest=null,void t();e.drawSynchronous(),e.drawRequest=null,t()})})},cancelDrawRequest:function(){this.drawRequest&&(cancelAnimationFrame(this.drawRequest),this.drawRequest=null)},fillRenderQueue:function(){this.renderQueue.fill(this.camera,$(this.domElement).height()),this.content&&this.clashesRenderQueue.fill(this.content,this.camera)},prepareMeshMatrices:function(e){var t=e||this.camera;Iu.updatePerspectiveCamera(t,!0),this.renderQueue.forEachQueuedMesh(function(n,i){i.modelViewMatrix.multiplyMatrices(t.matrixWorldInverse,i.matrixWorld),i.normalMatrix.getNormalMatrix(i.modelViewMatrix)})},drawSynchronous:function(){this.noRender||this.drawDisabled||!this.renderer||(this.render(this.defaultDrawFlags),this.afterDrawCallback&&this.afterDrawCallback(this),this.afterCameraFlyCallback&&this.afterCameraFlyCallback(this))},drawThumbnail:function(){var e,t=this.clippingPlanes.getAllVisibleStates();this.clippingPlanes.setAllVisible(!1),this.transformControls&&(e=this.transformControls.visible,this.transformControls.visible=!1);var n=new d_e().setStatesForThumbnail();this.render(n),this.clippingPlanes.setAllVisibleStates(t),this.transformControls&&(this.transformControls.visible=e)},updateMeshesWebGLBuffer:function(){var e=this,t=this.getGeometryNodes();t&&t.forEachDisciplineNode(function(n){if(n.isGeometryLoaded()!==!1&&n.visible!==!1){var i=e.getDisciplineNodeMeshes().getNodeMesh(n);i&&i.updateMeshesWebGLBuffer(e,n.getGeometryTimestamp())}})},updateNavigationMapCameraFrustum:function(){var e=this.controls.getNavigationMap(),t=this.controls.getMainViewport();e.getCameraHelperType()!==t.camera.type&&e.updateNavigationMapProjectionMode(t)},updateNavigationMap:function(){this.name==="navigationMapViewport"&&this.updateNavigationMapCameraFrustum()},renderDebugView:function(){if(console.debug("[INFO] Viewport3D::render - Debug view: ".concat(this.debugView)),this.debugView!==4&&this.debugView!==5||this.ssaoEnabled)if(this.debugView!==6&&this.debugView!==7&&this.debugView!==8||this.shadowsEnabled){switch(this.debugView){case 1:this.debugFullscreenQuad.setColorTexture(this.colorLookup.getTexture());break;case 2:this.debugFullscreenQuad.setColorTexture(this.pickColorLookup.getTexture());break;case 3:this.gpuPicker.render(),this.debugFullscreenQuad.setColorTexture(this.gpuPicker.getRenderTarget().texture);break;case 4:this.debugFullscreenQuad.setColorTexture(this.ssaoPassChain.getPass(0).getRenderTarget().texture);break;case 5:this.debugFullscreenQuad.setColorTexture(this.ssaoPassChain.getPass(1).getRenderTarget().texture);break;case 6:this.debugFullscreenQuad.setColorTexture(this.shadows.shadowMaps[0].getDepthBuffer().texture);break;case 7:this.debugFullscreenQuad.setColorTexture(this.shadows.shadowMaps[1].getDepthBuffer().texture);break;case 8:this.debugFullscreenQuad.setColorTexture(this.shadows.shadowMaps[2].getDepthBuffer().texture)}this.debugFullscreenQuad.render(this.renderer)}else console.debug("[INFO] Viewport3D::render - Debug view: ".concat(this.debugView," but Shadow calculation is disabled"));else console.debug("[INFO] Viewport3D::render - Debug view: ".concat(this.debugView," but SSAO is disabled"))},render:function(e){var t;e||(e=this.defaultDrawFlags),this.calculateDrawRange(),this.updateNavigationMap(),this.updateMeshesWebGLBuffer(),this.renderer.autoClear=!1,this.renderer.clear(),this.shadows.isEnabled()&&this.shadowsEnabled&&this.shadowsSupported&&this.shadows.renderShadowMaps(),this.fillRenderQueue(),this.shadows.isEnabled()&&this.shadowsEnabled&&this.shadowsSupported&&this.shadows.renderShadowMaps(),(t=this.currentInteractor)===null||t===void 0||t.beforeRender(),this.prepareMeshMatrices(this.camera),this.ssaoEnabled&&this.ssaoSupported&&this.ssaoPassChain?(this.ssaoPassChain.render(this.renderer,this.disciplineNodeMeshScene.getScene(),this.camera),this.ambientOcclusionTexture=this.ssaoPassChain.getLastPass().getRenderTarget().texture):this.ambientOcclusionTexture=null,this.debugView>0?this.renderDebugView():(this.renderer.clear(),this.renderer.autoClear=!1,this.doRenderGPUPickTexture(),this.renderer.autoClear=!1,this.renderer.clear(),e.drawBackground===!0&&this.background.draw(this.renderer),e.drawScene===!0&&this.renderScene(e),this.updateStats(),this.renderer.render(this.scene,this.camera),e.drawSectionCuts===!0&&this.sectionCuts.render(),e.drawOverlays===!0&&this.overlays.render(),e.drawMarkups===!0&&(this.markups.render(e.drawMarkupsOpaque),this.localCoordSystemManager.render()),e.drawHelperScene===!0&&this.highlightObjectEdges.render(),e.drawCustomScene===!0&&this.renderer.render(this.customScene,this.camera),e.drawHighlight===!0&&this.highlight.render(this),e.drawFingerPrint===!0&&this.fingerprintCursor.render(this),e.drawControlsScene===!0&&this.renderer.render(this.controlsScene,this.camera),this.renderer.autoClear=!0)},isMultiselectActive:function(){return this.multiSelect},getDeselectedObjectId:function(){var e=this.deselectedObject;return e&&!this.checkSelectionMode("hidden")?e.id:null},moveDivisionBoundingBox:function(e,t,n,i){var r;(r=this.content)===null||r===void 0||r.getDivisions().moveDivisionBoundingBox(this,e,t,n,i)},resetDivisionBoundingBox:function(e){var t;(t=this.content)===null||t===void 0||t.getDivisions().resetDivisionBoundingBox(this,e)},resetSceneBoundingBox:function(){var e=this.getContentBoundingBox();e&&e.reset()},showDivisionBoundingBox:function(e){var t;(t=this.content)===null||t===void 0||t.getDivisions().showDivisionBoundingBox(this,e)},hideDivisionBoundingBox:function(e){var t;(t=this.content)===null||t===void 0||t.getDivisions().hideDivisionBoundingBox(this,e)},setDivisionVisible:function(e,t){var n;(n=this.content)===null||n===void 0||n.getDivisions().setDivisionVisible(e,t)},isRelativeModelDistancesTooLarge:function(e){return!!this.content&&this.content.getDivisions().isRelativeModelDistancesTooLarge(e)},getClashElementRevision:function(e){if(this.content){var t=this.content.getClashes().getClashElement(e);return t?t.getRevision():void 0}},toggleClashHoverBox:function(e,t){if(this.content){var n=this.content.getClashes().getClashObjectForClashElementId(e);n&&n.setHovered(t)}},setupClashIssueScene:function(){var e=this.objectSets.workingObjects.slice();this.resetSelectionMode(),this.addObjectsToWorkingSet(e),this.setSelectionMode("isolated"),this.draw()},resetClashScene:function(){var e;(e=this.content)===null||e===void 0||e.getClashes().resetClashScene(this),this.draw()},setupClashScene:function(e){var t=this.content.getClashes(),n=t.getClashObjectForClashElementId(e[0]);n&&t.setupClashScene(n,this)},calcObjectsBoundingbox:function(e){var t,n=new Kl,i=QP(e);try{for(i.s();!(t=i.n()).done;){var r=t.value,l=this.getObject(r);if(l){var a=l.getBoundingBox(this.getObjectsContainer());a&&(n.expandByPoint(a.min),n.expandByPoint(a.max))}}}catch(s){i.e(s)}finally{i.f()}return n},resetRevisonComparisonScene:function(e,t){var n;e&&(n=this.objectSets.workingObjects.slice()),this.resetSelectionMode(),e&&(t&&(n=n.filter(function(i){return Object.hasOwn(i,"visibleRevisionComparison")===!1})),this.addObjectsToWorkingSet(n),this.setSelectionMode("isolated"))},centerBoundingBox:(q_e=yi(Jt().mark(function o(e){var t;return Jt().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.getBoundingSphere(new Es),n.next=1,Iu.centerBoundingSphere(this.camera,this.controls,this,t,Iu.NO_CAMERA_FLIGHT,1.2);case 1:this.setRotationCenter(t.center);case 2:case"end":return n.stop()}},o,this)})),function(e){return q_e.apply(this,arguments)}),centerOverlay:(Y_e=yi(Jt().mark(function o(e){var t;return Jt().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return(t=new Kl).setFromObject(e),n.next=1,this.centerBoundingBox(t);case 1:case"end":return n.stop()}},o,this)})),function(e){return Y_e.apply(this,arguments)}),centerOverlayById:(W_e=yi(Jt().mark(function o(e){var t,n;return Jt().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=1,this.overlayManager.loadOverlay(e);case 1:return t=i.sent,(n=new Kl).setFromObject(t),i.next=2,this.centerBoundingBox(n);case 2:case"end":return i.stop()}},o,this)})),function(e){return W_e.apply(this,arguments)}),centerObjects:(z_e=yi(Jt().mark(function o(e){var t,n,i=this;return Jt().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return t=[],this.getObjectsContainer()&&e.forEach(function(l){return t=t.concat(i.getObjectsContainer().getObjectTreeIds(l))}),n=this.calcObjectsBoundingbox(t),r.abrupt("return",this.centerBoundingBox(n));case 1:case"end":return r.stop()}},o,this)})),function(e){return z_e.apply(this,arguments)}),clipObjects:function(){var e=arguments.length>0&&arguments[0]!==void 0&&arguments[0],t=this.objectSets.selectedObjects.length>0&&!e?this.objectSets.selectedObjects.map(function(i){return i.id}):this.objectSets.workingObjects.map(function(i){return i.id}),n=this.calcObjectsBoundingbox(t);n.expandByScalar(1e3/this.normFactor),this.clippingPlanes.setSectionBox(n)},isolateObjects:function(e){var t=this.checkSelectionMode("isolated");t&&this.resetIsolationMode(),this.objectSets.workingObjects=[];var n=this.getObjectsContainer().getObjects(e);this.addObjectsToWorkingSet(n),t?this.setIsolationMode():this.setSelectionMode("isolated"),this.draw()},addObjectsToWorkingSet:function(e){new TX(this,this.objectSets.workingObjects,"working").Execute(e)},removeObjectsFromWorkingSet:function(e){new TX(this,this.objectSets.workingObjects,"working").Execute(e,{inverse:!0})},addObjectsToSelectedSet:function(e){new aT(this,this.objectSets.selectedObjects).Execute(e)},addObjectsToHiddenSet:function(e){new XO(this,this.objectSets.hiddenObjects).Execute(e)},addObjectsToColoredSet:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;new DG(this,this.objectSets.coloredObjects,t).Execute(e,{noBubble:!0,colors:t,alpha:n}),this.triggerObjectSetChangedEvent("coloredObjects")},disposeIsolatedSet:function(){new xV(this).Execute(this.objectSets.workingObjects,{inverse:!0})},makeIsolatedSet:function(){new xV(this).Execute(this.objectSets.workingObjects)},restoreSelectedObjects:function(){new aT(this).Execute(this.objectSets.selectedObjects,{noBubble:!0})},hideIsolateObjects:function(){this.isolateSelectedObjects&&this.objectSets.selectedObjects.length>0&&this.addSelectedObjectsToWorkingObjects(),new wX(this).Execute(this.objectSets.workingObjects,{noBubble:!0}),this.draw()},resetHideIsolateObjects:function(){this.restoreSelectedObjects(),new wX(this).Execute(this.objectSets.workingObjects,{noBubble:!0,inverse:!0}),this.draw()},hideObjects:function(e){var t=this.getObjectsContainer().getObjects(e);new XO(this,this.objectSets.hiddenObjects).Execute(t),this.draw()},getSelected3DObjectId:function(){var e=this.objectUnderMouse,t=this.rootObjectUnderMouse;if(e&&!this.checkSelectionMode("hidden"))return e.relatedObjects?e.id.substr(0,36):t?t.id:e.id},getAllSelected3DObjectIds:function(){var e=new Set;this.objectSets.selectedObjects.forEach(function(n){var i;i=n.relatedObjects?n.id.substr(0,36):n.parent||n.id,e.add(i)});var t=[];return e.forEach(function(n){return t.push(n)}),t},getAllSelected3DObjectIdsNodesRevisions:function(){var e=new Set;this.objectSets.selectedObjects.forEach(function(n){var i=n.id,r="",l=1;n.node&&(r=n.node),n.revision&&(l=n.revision);var a={id:i,node:r,revision:l},s=JSON.stringify(a);e.add(s)});var t=[];return e.forEach(function(n){var i=JSON.parse(n);t.push(i)}),t},getObjectRevision:function(e){if(e){var t=this.getObject(e);return t?t.revision:""}return""},pickGPU:function(){return this.gpuPicker.pick(),this},renderGPUPickTextureNeeded:function(){this.newGPUPickTextureNeeded=!0},doRenderGPUPickTexture:function(){this.newGPUPickTextureNeeded&&(this.newGPUPickTextureNeeded=!1,this.gpuPicker.render())},highlightNodeChildren:function(e,t){if(this.getGeometryNodes().getNode(e)===!1)return!1;var n=this.getObjectsContainer().getNodeObjectIds(e);return this.highlightObjects(n,t),!0},highlightObject:function(e,t,n){this.setObjectUnderMouse(this.getObject(e)),this.objectUnderMouse&&!this.objectUnderMouse.parent&&this.objectUnderMouse.discipline===rr.ClashLayer&&this.setObjectUnderMouse(this.content.getClashes().getClashElement(e)),this.objectUnderMouse||this.setObjectUnderMouse(this.content.getClashes().getClashElement(e)),this.handleObjectSelection(null,t,n),this.draw()},highlightObjects:function(e,t,n){t||(this.resetObjectUnderMouse(),this.handleObjectSelection(null,!1,n));var i,r=QP(e);try{for(r.s();!(i=r.n()).done;){var l=i.value;this.setObjectUnderMouse(this.getObject(l)),this.handleObjectSelection(null,t,n)}}catch(a){r.e(a)}finally{r.f()}this.draw()},disposePins:function(e){this.pins.disposePins(e)},resetObjectUnderMouse:function(){this.objectUnderMouse=null,this.rootObjectUnderMouse=null},setBlockObjectSelection:function(e){this.blockObjectSelection=e},disposePinObject:function(e){this.pins.disposePinObject(e)},objectLoop:function(e,t){this.getObjectsContainer().objectLoop(e,t)},hideObject:function(e){return e.visible=!1,e.hide(this)},showObject:function(e){return e.visible=!0,e.show(this)},selectObject:function(e){var t=this.activeObjColor,n=[t.r,t.g,t.b];e.selected=!0,e.paint(this,n)},deselectObject:function(e){delete e.selected,e.paint(this)},_hoverEffectTurnedOn:function(e){this.useHoverEffect&&e&&new t_e(this).Execute([e],{noBubble:!1})},_hoverEffectTurnedOff:function(e){this.useHoverEffect&&e&&(new t_e(this).Execute([e],{inverse:!0,noBubble:!1}),e!=null&&e.selected&&new aT(this).Execute([e],{noBubble:!1}))},_resetHoverEffect:function(){this.objectUnderMouseChanged=!1,this._hoverEffectTurnedOff(this.objectUnderMouse),this._hoverEffectTurnedOff(this.lastObjectUnderMouse),this.objectUnderMouse=null,this.lastObjectUnderMouse=null,this.draw()},_setHoverEffect:function(){this.objectUnderMouseChanged&&(this.objectUnderMouseChanged=!1,this._hoverEffectTurnedOff(this.lastObjectUnderMouse),this._hoverEffectTurnedOn(this.objectUnderMouse),this.lastObjectUnderMouse=null,this.draw())},_applyHoverEffect:function(){this.controls.supportsGPUPicking()&&this.pickGPU(),this.objectUnderMouse||this.setObjectUnderMouse(this.sectionCuts.getVisualObjectForMesh()),this.objectUnderMouse||this.setObjectUnderMouse(this.overlays.getVisualObjectForMesh()),this._setHoverEffect()},handleObjectSelection:function(e,t,n){var i=this.objectUnderMouse,r=t!==void 0?t:e&&(e.ctrlKey||e.isLongPress);r||(r=Gw.isMultiSelection()&&e&&e.shiftKey),this.deselectedObject=null;var l,a=this.checkSelectionMode("hidden");if(i&&i.isClashElement===!0){var s,u=i.getClashObject();return(s=this.content)===null||s===void 0||s.getClashes().setSelectedClash(u,this),void this.resetSelectedObjects()}if((l=this.content)===null||l===void 0||(l=l.getClashes())===null||l===void 0||l.resetSelectedClash(this),this.connectionElement._handleSelection(i),i&&r&&!a){var v=new aT(this,this.objectSets.selectedObjects);return v.Execute([i],{multiSelect:r,noBubble:n}),void(v.deselectedObjects.length>0&&(i=null,this._resetHoverEffect(),this.deselectedObject=this.rootObjectUnderMouse,this.resetObjectUnderMouse()))}if(r||a||this.resetSelectedObjects(),this._resetHoverEffect(),this.objectUnderMouse=i,i){if(a){var f;if(this.showHiddenObjectsTransparent){var h=this.objectSets.hiddenObjects.find(function(x){return x.id===i.id});new XO(this,this.objectSets.hiddenObjects).Execute([i],{noBubble:!1,inverse:h})}else new XO(this,this.objectSets.hiddenObjects).Execute([i],{noBubble:!1});var g=new CustomEvent("onHidingObject",{bubbles:!0,cancelable:!0}),I=(f=document)===null||f===void 0?void 0:f.getElementById("mainViewportContainer");I&&I.dispatchEvent(g)}else{var w=new aT(this,this.objectSets.selectedObjects),S=this.getCommandPolicy(w,"noBubble"),N=this.getCommandPolicy(w,"noTraverse");w.Execute([i],{noBubble:n||S!==void 0,noTraverse:N})}i.relatedObjects&&this.objectSets.selectedObjects.length-1!==i.relatedObjects.length&&$(this.domElement).trigger("missingRelatedObjects")}},startInteractor:function(e,t){this.currentInteractor!==null&&(this.currentInteractor.selectionMode.length?this.unsetSelectionMode(this.currentInteractor.selectionMode):this.currentInteractor.cancel()),t.selectionMode=e,this.currentInteractor=t,this.currentInteractor.start()},subscribeToSelectionModeChanges:function(e){e instanceof Function&&(this.selectionModeChangeHandler=e)},subscribeToLCSDefinedChanges:function(e){e instanceof Function&&(this.localCoordSystemDefinedChangeHandler=e)},subscribeToOverlayPointSelectionModelViewFinished:function(e){e instanceof Function&&(this.overlayPointSelectionModelViewFinishedHandler=e)},subscribeToOverlayPointSelectionFileViewFinished:function(e){e instanceof Function&&(this.overlayPointSelectionFileViewFinishedHandler=e)},subscribeToOverlayFileViewCropBoxFinished:function(e){e instanceof Function&&(this.overlayFileViewCropBoxFinishedHandler=e)},subscribeToConnectionElementSelected:function(e){e instanceof Function&&(this._connectionElementSelectedHandler=e)},setSelectionMode:function(e){if(this.checkSelectionMode(e))return this.unsetSelectionMode(e),this;e==="clipIsolated"?(this.unsetSelectionMode("isolated"),this.unsetSelectionMode("hideIsolated"),this.unsetSelectionMode("section"),this.clipObjects()):e==="hideIsolated"?(this.unsetSelectionMode("isolated"),this.unsetSelectionMode("clipIsolated"),this.unsetSelectionMode("section"),this.hideIsolateObjects()):e==="isolated"?(this.unsetSelectionMode("hideIsolated"),this.unsetSelectionMode("clipIsolated"),this.unsetSelectionMode("hidden"),this.unsetSelectionMode("selectSectionPlane")):e==="hidden"?(this.unsetSelectionMode("hideIsolated"),this.unsetSelectionMode("isolated"),this._unsetSelectionModesMarkups("")):e==="addPin"?this.unsetSelectionMode("hidden"):e==="section"?(this.unsetSelectionMode("hideIsolated"),this.unsetSelectionMode("clipIsolated"),this.clippingPlanes.restoreClippingPlanes(),this.clippingPlanes.setEnabled(!0),this.fillRenderQueue()):e==="measurePerpendicular"?(this._unsetSelectionModesMarkups("measurePerpendicular"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new yNe(this))):e==="measureFree"?(this._unsetSelectionModesMarkups("measureFree"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new ENe(this))):e==="measureAngle"?(this._unsetSelectionModesMarkups("measureAngle"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new DNe(this))):e==="measureLocalPoint"?(this._unsetSelectionModesMarkups("measureLocalPoint"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new NNe(this))):e==="measureCalibratedPoint"?(this._unsetSelectionModesMarkups("measureCalibratedPoint"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new FNe(this))):e==="measureEdge"?(this._unsetSelectionModesMarkups("measureEdge"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new HNe(this))):e==="measureAutoEdges"?(this._unsetSelectionModesMarkups("measureAutoEdges"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new GNe(this))):e==="laserMeasurement"?(this._unsetSelectionModesMarkups("laserMeasurement"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new zNe(this))):e==="localCoordSystemCreation"?(this._unsetSelectionModesMarkups("localCoordSystemCreation"),this.unsetSelectionMode("hidden"),this.localCoordSystemManager.hasLCS()||(this.localCoordSystemDefinedChangeHandler(!0),this.startInteractor(e,new qNe(this)))):e==="localCoordSystemDefined"?(this._unsetSelectionModesMarkups("localCoordSystemDefined"),this.unsetSelectionMode("hidden"),this.localCoordSystemManager.reset(),this.localCoordSystemDefinedChangeHandler(!1),e="markupTurnedOff",this.startInteractor(e,new L1e(this))):e==="objectProps"?(this._unsetSelectionModesMarkups("objectProps"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new $Ne(this))):e==="markupTurnedOff"?(this._unsetSelectionModesMarkups("markupTurnedOff"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new L1e(this))):e==="annotation"?(this._unsetSelectionModesMarkups("annotation"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new eLe(this))):e==="moveModel"?this.startInteractor(e,new nLe(this)):e==="selectSectionPlane"?(this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&(console.debug("multiPlanes in use. Don't remove current planes"),this.clippingPlanes.restoreClippingPlanes(),this.clippingPlanes.setEnabled(!0)),this.emptySectionCutSceneForSectionCutGeometry(),this.startInteractor(e,new iLe(this)),this.clippingPlanes.addNewPlaneIsOn=!0):e==="selectPointsForOverlay"&&this.startInteractor(e,new Zre(this));var t=this.selectionMode.slice();return e?(t.push(e),this.selectionMode=t,this.selectionModeChangeHandler&&this.selectionModeChangeHandler(t),e==="isolated"&&this.setIsolationMode()):(this.unsetSelectionMode("isolated"),this.unsetSelectionMode("hidden"),this.unsetSelectionMode("hideIsolated")),this.renderGPUPickTextureNeeded(),this.draw(),this},unsetSelectionMode:function(e){var t=this.selectionMode.indexOf(e),n=this.selectionMode.slice();if(t===-1||!e)return this;if(n.splice(t,1),this.selectionMode=n,this.selectionModeChangeHandler&&this.selectionModeChangeHandler(n),e==="isolated"){this.resetIsolationMode();var i=this.objectSets.selectedObjects.map(function(r){return r});i.length>0&&(this.resetSelectedObjects(),new aT(this,this.objectSets.selectedObjects).Execute(i,{noBubble:!0}))}return e==="hideIsolated"&&this.resetHideIsolateObjects(),e==="clipIsolated"&&this.clippingPlanes.reset(),e!=="section"&&e!=="selectSectionPlane"||(this.clippingPlanes.storeClippingPlanes(),this.clippingPlanes.setEnabled(!1),this.clippingPlanes.hideAdditionalClippingPlanes(),this.emptySectionCutSceneForSectionCutGeometry(),this.setSectionAxis(),this.renderQueue.setInteractionMode(!1),this.fillRenderQueue(),this.renderGPUPickTextureNeeded()),e!=="measurePerpendicular"&&e!=="measureFree"&&e!=="measureAngle"&&e!=="measureLocalPoint"&&e!=="measureCalibratedPoint"&&e!=="measureEdge"&&e!=="measureAutoEdges"&&e!=="laserMeasurement"&&e!=="localCoordSystemCreation"&&e!=="localCoordSystemDefined"&&e!=="objectProps"&&e!=="markupTurnedOff"&&e!=="annotation"&&e!=="moveModel"&&e!=="selectSectionPlane"&&e!=="selectPointsForOverlay"||this.currentInteractor!==null&&(this.currentInteractor.cancel(),this.currentInteractor=null),e!=="hidden"&&(this.renderGPUPickTextureNeeded(),this.draw()),this},resetSelectedObjects:function(e){var t=new aT(this,this.objectSets.selectedObjects,e),n=this.getCommandPolicy(t,"noTraverse");t.Execute(this.objectSets.selectedObjects,{inverse:!0,noBubble:!0,noTraverse:n})},resetHiddenObjects:function(e){new XO(this,this.objectSets.hiddenObjects,e).Execute(this.objectSets.hiddenObjects,{inverse:!0,noBubble:!0}),this.renderGPUPickTextureNeeded(),this.draw()},resetWorkingObjects:function(e){if(e){var t=this.checkSelectionMode("isolated");t&&this.resetIsolationMode(),new TX(this,this.objectSets.workingObjects,"working",e).Execute(this.objectSets.workingObjects,{inverse:!0,noBubble:!0}),t&&this.setIsolationMode()}else this.makeColoredSet([]);this.triggerObjectSetChangedEvent("workingObjects")},resetColoredObjects:function(e){new DG(this,this.objectSets.coloredObjects,e).Execute(this.objectSets.coloredObjects,{inverse:!0,noBubble:!0}),this.triggerObjectSetChangedEvent("coloredObjects")},resetAllObjectSets:function(e){this.resetSelectedObjects(e),this.resetHiddenObjects(e),this.resetWorkingObjects(e),this.resetColoredObjects(e)},moveSelectedObjectsToWorkingObjects:function(){var e=new aT(this,this.objectSets.selectedObjects);e.Execute(this.objectSets.selectedObjects,{inverse:!0,noBubble:!0}),this.objectSets.workingObjects=e.deselectedObjects},addSelectedObjectsToWorkingObjects:function(){this.objectSets.workingObjects=[],this.addObjectsToWorkingSet(this.objectSets.selectedObjects)},setIsolationMode:function(){this.isolateSelectedObjects&&this.objectSets.selectedObjects.length>0&&this.addSelectedObjectsToWorkingObjects(),new xV(this,this.objectSets.workingObjects).Execute(this.objectSets.workingObjects,{noBubble:!0}),this.renderGPUPickTextureNeeded()},resetIsolationMode:function(){new xV(this).Execute(this.objectSets.workingObjects,{inverse:!0}),this.renderGPUPickTextureNeeded()},adaptMakeColoredSetParams:function(e){var t=this;if(!(e.length>0&&e[0]instanceof cF)){var n=[],i={};return e.forEach(function(r){var l=t.getObject(r.id);!l&&Object.hasOwn(r,"elementId")&&(l=t.getObject(r.elementId)),l&&(n.push(l),r.color&&(i[l.id]=r.color))}),{objects:n,colors:i}}},makeColoredSet:function(e){var t=this.checkSelectionMode("isolated"),n=this.checkSelectionMode("hideIsolated"),i=this.checkSelectionMode("clipIsolated");new DG(this).Execute(this.objectSets.workingObjects,{noBubble:!0,inverse:!0}),this.triggerObjectSetChangedEvent("workingObjects"),t&&this.resetIsolationMode(),n&&this.resetHideIsolateObjects(),this.removeObjectsFromWorkingSet(this.objectSets.workingObjects),this.objectSets.workingObjects=[];var r=new DG(this,this.objectSets.workingObjects),l=this.adaptMakeColoredSetParams(e);l?r.Execute(l.objects,{noBubble:!0,colors:l.colors}):r.Execute(e,{noBubble:!0}),this.triggerObjectSetChangedEvent("workingObjects"),t&&this.setIsolationMode(),n&&this.hideIsolateObjects(),i&&this.clipObjects(!0),this.objectSets.selectedObjects.length>0&&(new aT(this).Execute(this.objectSets.selectedObjects),this.triggerObjectSetChangedEvent("selectedObjects")),this.draw()},resetSelectionMode:function(){var e,t;return this.resetObjectUnderMouse(),this.unsetSelectionMode("isolated"),this.unsetSelectionMode("clipIsolated"),this.unsetSelectionMode("hideIsolated"),this.unsetSelectionMode("hidden"),this.unsetSelectionMode("section"),this._unsetSelectionModesMarkups(""),this.unsetSelectionMode("moveModel"),this.unsetSelectionMode("selectSectionPlane"),this.resetAllObjectSets(),this.setSelectionMode(),(e=this.content)===null||e===void 0||e.getClashes().resetSelectedClash(this),(t=this.content)===null||t===void 0||t.getClashes().resetClashScene(this),this},checkSelectionMode:function(e,t){var n=!1;return e?(n=this.selectionMode.indexOf(e)!==-1,t&&(n&=this.selectionMode.length===1)):n=!!this.selectionMode.length,n},isMarkupMode:function(){return this.isMarkupModeTurnedOff()||this.isMeasureMode()||this.isLabelMode()||this.isAnnotationMode()},isMarkupModeTurnedOff:function(){return this.checkSelectionMode("markupTurnedOff")},isMeasureMode:function(){return this.checkSelectionMode("measurePerpendicular")||this.checkSelectionMode("measureFree")||this.checkSelectionMode("measureAngle")||this.checkSelectionMode("measureLocalPoint")||this.checkSelectionMode("measureCalibratedPoint")||this.checkSelectionMode("measureEdge")||this.checkSelectionMode("measureAutoEdges")||this.checkSelectionMode("laserMeasurement")||this.checkSelectionMode("localCoordSystemCreation")||this.checkSelectionMode("localCoordSystemDefined")},isLabelMode:function(){return this.checkSelectionMode("objectProps")},isAnnotationMode:function(){return this.checkSelectionMode("annotation")},isOverlayPointInputMode:function(){return this.checkSelectionMode("selectPointsForOverlay")},isSelectSectionPlane:function(){return this.checkSelectionMode("selectSectionPlane")},isFingerprintInputMode:function(){return this.isMarkupMode()||this.isOverlayPointInputMode()||this.isSelectSectionPlane()},_unsetSelectionModesMarkups:function(e){e!=="measurePerpendicular"&&this.unsetSelectionMode("measurePerpendicular"),e!=="measureFree"&&this.unsetSelectionMode("measureFree"),e!=="measureAngle"&&this.unsetSelectionMode("measureAngle"),e!=="measureLocalPoint"&&this.unsetSelectionMode("measureLocalPoint"),e!=="measureCalibratedPoint"&&this.unsetSelectionMode("measureCalibratedPoint"),e!=="measureEdge"&&this.unsetSelectionMode("measureEdge"),e!=="measureAutoEdges"&&this.unsetSelectionMode("measureAutoEdges"),e!=="lasermeasurement"&&this.unsetSelectionMode("laserMeasurement"),e!=="localCoordSystemCreation"&&this.unsetSelectionMode("localCoordSystemCreation"),e!=="localCoordSystemDefined"&&this.unsetSelectionMode("localCoordSystemDefined"),e!=="annotation"&&this.unsetSelectionMode("annotation"),e!=="objectProps"&&this.unsetSelectionMode("objectProps"),e!=="markupTurnedOff"&&this.unsetSelectionMode("markupTurnedOff")},hasLabels:function(){return this.markups.has("labels")},hasAnnotations:function(){return this.markups.has("annotations")},hasMeasurements:function(){return this.markups.has("dimensions")},resetLabels:function(){this.markups.removeAll("labels")},resetAnnotations:function(){this.markups.removeAll("annotations")},resetMeasurements:function(){this.markups.removeAll("dimensions")},getRotationCenter:function(){return this.rotationCenter},setRotationCenter:function(e){var t;this.rotationCenter=e?e.clone():(t=this.visibleGeometryBoundingSphere)===null||t===void 0?void 0:t.center.clone()},setCameraResetAxis:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Iu.CAMERA_FLIGHT;return console.debug("setCameraResetAxis axis= ".concat(e," fly=").concat(t)),this.resetCameraAxis=e,this.resetCamera(t)},setSectionAxis:function(e){var t=this.getContentBoundingBox();t!=null&&t.isValid()&&(this.camera.updateProjectionMatrix(),this.camera.updateMatrixWorld(),e&&(this.camera.position.x===t.getCenterX()&&(this.camera.position.x-=319.1),this.camera.position.y===t.getCenterY()&&(this.camera.position.y+=319.1),this.unsetSelectionMode("section"),this.unsetSelectionMode("selectSectionPlane"),e==="Free"?this.setSelectionMode("selectSectionPlane"):(this.setSelectionMode("section"),this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()?this.clippingPlanes.addSectionAxis(e):this.clippingPlanes.setSectionAxis(e),this.clippingPlanes.addNewPlaneIsOn=!1),this.clippingPlanes.onUpdateSectionParams(),this.clippingPlanes.storeClippingPlanes(),Iu.updatePerspectiveCamera(this.camera,!0),this.draw()))},setViewportSize:function(e,t){var n=$(this.domElement),i=e||Math.floor(n.innerWidth()),r=t||Math.floor(n.innerHeight());i!==0&&r!==0&&(this.gpuPicker.resize(i,r),this.defaultPassChain.resizeViewport(i,r),this.ssaoSupported&&this.ssaoPassChain&&this.ssaoPassChain.resizeViewport(i,r),this.camera.aspect=i/r,this.camera.updateProjectionMatrix(),this.orthoCamera.left=-i/2,this.orthoCamera.right=i/2,this.orthoCamera.top=r/2,this.orthoCamera.bottom=-r/2,this.orthoCamera.updateProjectionMatrix(),this.camera.type==="orthographic"&&Iu.resizeOrthographicFrustum(this.camera,i,r),this.renderer&&this.renderer.setSize(i,r,!0),this.renderGPUPickTextureNeeded(),this.draw())},resetViewport:function(){var e,t;console.debug("Viewport3d::resetViewport - name = '".concat(this.name,"'")),window.BimPlus.AnimationPending=0,this.resetAllObjectSets(),this.disposeObjects(this.pins.pinsObjects3D),this.objectSets.selectedObjects=[],this.disposeObjects(this.root),this.templateObjects={},this.templates=[],this.renderQueue.dispose(),(e=this.content)===null||e===void 0||e.getDivisions().hideDivisionBoundingBox(this),(t=this.content)===null||t===void 0||t.getDivisions().reset(),this.normFactor=1,this.sectionCuts.dispose(),this.overlays.clear(),this.disciplineNodeMeshScene.clearMeshes(),this.nodeMeshes.dispose(),this.content&&this.content.dispose(),this.transformControls&&this.transformControls.detach(),this.draw()},getScenePars:function(){var e,t=this.camera.fov?this.camera.fov:1,n=$(this.domElement),i=n.width()/n.height();this.calculateVisibleGeometryBoundaries();var r=new qe,l=new qe;return r=this.visibleGeometryBoundingBox.getSize(r),l=this.visibleGeometryBoundingBox.getCenter(l),e=Math.sqrt(r.x*r.x+r.y*r.y)/(i*Math.tan(t*Math.PI/360))/2,isFinite(e)||(e=0),{camera:{fov:this.camera.fov,far:this.camera.far,near:this.camera.near,position:{x:l.x,y:l.y,z:e+l.z+r.z/2}},controls:{target:{x:l.x,y:l.y,z:l.z}}}},restoreViewbox:(V_e=yi(Jt().mark(function o(){var e;return Jt().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e=this.visibleGeometryBoundingBox.getBoundingSphere(new Es),t.next=1,Iu.centerBoundingSphere(this.camera,this.controls,this,e,Iu.CAMERA_FLIGHT);case 1:case"end":return t.stop()}},o,this)})),function(){return V_e.apply(this,arguments)}),resetCamera:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Iu.NO_CAMERA_FLIGHT;return this.camera.zoom=1,Iu.resetCamera(this.camera,this.controls,this,e)},setSlideScene:function(e,t,n){return this.slides.setSlideScene(e,t,n)},doubleClick:function(e){e.preventDefault()},contextMenu:function(e){e.preventDefault()},controlsUpdated:function(e){e.data.self.draw()},setTargetToObject:function(e,t){Iu.setCameraTargetToObject(this.camera,this.controls,this,e,t)},calculateBoundingBox:function(e){return this.getObject(e).getBoundingBox(this.getObjectsContainer())},pointMatchingCameraToggle:function(e,t){t.type!=="orthographic"?e.toggleCameraType(e):(e.controls.object=e.camera,e.renderGPUPickTextureNeeded(),e.draw())},setPointMatchingCamera:function(){var e=this;if(!e.isCameraFlightInProgress()){e.cameraBeforePointMatching.type=e.camera.type,e.pointMatchingCameraToggle(e,e.camera),e.controls.isPointMatching=!0,e.copyCameraAttributes(e.cameraBeforePointMatching,e.camera),e.cameraBeforePointMatching.target=e.controls.target.clone(),e.camera.zoom=1;var t=e.clippingPlanes.getActiveClippingPlane(),n=e.clippingPlanes.getActiveClippingPlaneMaterial(),i=new $r;n.getWorldQuaternion(i);var r=new qe;r.copy(t.normal),r.normalize();var l=e.dynamicDrawRange._geoBoundingSphere.radius,a=e.controls.getLastDragRotationCenter();a||(a=e.rotationCenter);var s=new Qi;s.makeRotationFromQuaternion(i);var u=new qe,v=new qe,f=new qe;s.extractBasis(u,v,f);var h=a.clone(),g=h.clone().add(r.clone().multiplyScalar(l));return Iu.alignCameraOrhographic(e.camera,e.controls,e,g,h,v,l,Iu.CAMERA_FLIGHT)}},unsetPointMatchingCamera:function(){var e=this;if(!e.isCameraFlightInProgress()){e.pointMatchingCameraToggle(e,e.cameraBeforePointMatching),e.controls.isPointMatching=!1,e.camera.zoom=1;var t=e.camera,n=e.controls,i=e.cameraBeforePointMatching.position.clone(),r=e.cameraBeforePointMatching.target.clone(),l=e.cameraBeforePointMatching.up,a=e.cameraBeforePointMatching.quaternion.clone();Iu.cameraFlyTo(t,n,e,i,r,l,a)}},copyCameraAttributes:function(e,t){e.name=t.name,e.up.copy(t.up),e.position.copy(t.position),e.rotation.copy(t.rotation),e.aspect=t.aspect,e.fov=t.fov,e.quaternion.copy(t.quaternion)},toggleProjectionMode:function(e){e.toggleCameraType(e),e.controls.reset();var t=e.visibleGeometryBoundingBox.getBoundingSphere(new Es);Iu.centerBoundingSphere(e.camera,e.controls,e,t,Iu.CAMERA_FLIGHT)},toggleCameraType:function(e){e.camera.type==="perspective"?(e.perspectiveCamera=e.camera,e.camera=e.orthographicCamera,e.camera.type="orthographic",e.copyCameraAttributes(e.camera,e.perspectiveCamera),e.controls.updateOrthographicFrustum()):(e.orthographicCamera=e.camera,e.camera=e.perspectiveCamera,e.camera.type="perspective",e.copyCameraAttributes(e.camera,e.orthographicCamera)),e.transformControls&&(e.transformControls.camera=e.camera),e.controls.object=e.camera,e.renderGPUPickTextureNeeded(),e.draw()},isPerspectiveCamera:function(){var e;return(this==null||(e=this.camera)===null||e===void 0?void 0:e.type)==="perspective"},isOrthographicCamera:function(){var e;return(this==null||(e=this.camera)===null||e===void 0?void 0:e.type)==="orthographic"},mouseDown:function(e){var t,n=e.data.self;if(!n.isCameraFlightInProgress()){var i=e.offset?e.offset:$(this).offset(),r=n.hasTouches(e,1),l=n.hasTouches(e,2),a=n.hasTouches(e,3);n.mouseDownEventOfRenderer=!0,n!=null&&(t=n.transformControls)!==null&&t!==void 0&&t.dragging?n.renderQueue.setInteractionMode(!0):(n.touchWithOneFinger=!0,(l||a)&&(n.touchWithOneFinger=!1),r&&n.presstimer===null&&(n.isLongPress=!1,n.presstimer=setTimeout(function(){n.isLongPress=!0},500)),n.mouseClick=!0,n.renderQueue.setInteractionMode(!0),e.button!==0&&!r||Gw.isValid(e)?e.button===1?n.mouseDownButton=1:(e.button===2||l||a)&&(e.preventDefault(),n.mouseDownButton=2):(e.preventDefault(),n.mouseDownButton=0,r&&(n.mouse.x=e.originalEvent.touches[0].clientX-i.left,n.mouse.y=e.originalEvent.touches[0].clientY-i.top,n.isFingerprintInputMode()&&n.fingerprintCursor.isMouseOver(e)&&(n.singleTouchFingerprintOffset=-n.fingerprintCursor.FINGERPRINT_OFFSET,n.mouse.y+=n.singleTouchFingerprintOffset))),n.isFrameSelectionEvent=Gw.isValid(e),n.multiSelect=Gw.isValid(e))}},mouseMove:function(e){var t,n=e.data.self;if(!n.isCameraFlightInProgress()){var i=e.offset?e.offset:$(this).offset(),r=n.hasTouches(e,1),l=n.hasTouches(e,2),a=n.hasTouches(e,3),s=e.clientX-i.left===n.mouse.x&&e.clientY-i.top+n.singleTouchFingerprintOffset===n.mouse.y;if(!n.isCameraFlightInProgress()&&!(n!=null&&(t=n.transformControls)!==null&&t!==void 0&&t.dragging||(r&&(s=e.originalEvent.touches[0].clientX-i.left===n.mouse.x&&e.originalEvent.touches[0].clientY-i.top+n.singleTouchFingerprintOffset===n.mouse.y),n.cancelLongPress(),s)))if(r?(n.mouse.x=e.originalEvent.touches[0].clientX-i.left,n.mouse.y=e.originalEvent.touches[0].clientY-i.top+n.singleTouchFingerprintOffset):l?(n.mouse.x=(e.originalEvent.touches[0].clientX+e.originalEvent.touches[1].clientX)/2-i.left,n.mouse.y=(e.originalEvent.touches[0].clientY+e.originalEvent.touches[1].clientY)/2-i.top):a?(n.mouse.x=e.originalEvent.touches[1].clientX-i.left,n.mouse.y=e.originalEvent.touches[1].clientY-i.top):(n.mouse.x=e.clientX-i.left,n.mouse.y=e.clientY-i.top),n.controls.processMouseMove(e),n.fingerprintCursor.processMouseMove(e),r&&n.isFingerprintInputMode()&&n.fingerprintCursor.fingerprintHit){n._applyHoverEffect();var u,v=!0;n.isMarkupMode()&&n.markups.mouseMove(e)&&(v=!1),v&&((u=n.currentInteractor)===null||u===void 0||u.processMouseMove(e))}else{r&&(n.controls.isPinching()&&n.controls.finishPinch(),n.controls.isPaning()&&n.controls.finishPan(e)),l&&(n.controls.isPaning()&&n.controls.finishPan(e),n.controls.isPinching()||n.controls.startPinch(),n.controls.processPinch(e)),a&&n.controls.isPinching()&&n.controls.finishPinch(),n.controls.isDragging()&&n.controls.processDrag(e);var f=n.mouseDownButton===0||n.mouseDownButton===1||n.mouseDownButton===2;if(!n.isFrameSelectionEvent&&f||r&&!n.mouseClick||l||a){var h;n.mouseClick&&(n.controls.supportsGPUPicking()&&n.pickGPU(),n.objectUnderMouse||n.setObjectUnderMouse(n.sectionCuts.getVisualObjectForMesh()),n.objectUnderMouse||n.setObjectUnderMouse(n.overlays.getVisualObjectForMesh()),n.controls.canStartDrag()?(n.isMarkupMode()&&n!=null&&(h=n.currentInteractor)!==null&&h!==void 0&&h.preview&&n.currentInteractor.name!=="MarkupNoInputInteractor"&&n.currentInteractor.name!=="LocalCoordSystemInteractor"&&(Array.isArray(n.currentInteractor.preview)?n.currentInteractor.preview.forEach(function(I){return I.setLabelVisible(!1)}):n.currentInteractor.preview.setLabelVisible(!1)),n.controls.startDrag(n.mouseDownButton,e)):n.controls.isDragging()&&n.controls.finishDrag(e)),n.mouseClick=!1}else{var g;n.isFrameSelectionEvent||n._applyHoverEffect(),n.isMarkupMode()?n.markups.mouseMove(e)||(g=n.currentInteractor)===null||g===void 0||g.processMouseMove(e):(n.checkSelectionMode("moveModel")||n.checkSelectionMode("selectSectionPlane")||n.checkSelectionMode("selectPointsForOverlay"))&&n.currentInteractor.processMouseMove(e)}}}},mouseUp:function(e){var t=e.data.self;if(!t.isCameraFlightInProgress()&&t.mouseDownEventOfRenderer){if(t.mouseDownEventOfRenderer=!1,t.cancelLongPress(),e.isLongPress=t.isLongPress,t.renderQueue.setInteractionMode(!1),t.fillRenderQueue(),clearTimeout(t.clickTimer),t.clickTimer=setTimeout(function(){t.clickCount=0},t.doubleClickDelay),t.clickCount>0){var n=null,i=null;if(t.isMarkupMode()&&(i=t.markups.mouseUpDblClick(e)),i)t.centerObjects(i.getObjectIds());else if(n=t.objectUnderMouse,t.controls.supportsGPUPicking()&&t.pickGPU(),t.touchWithOneFinger===!0)if(t.objectUnderMouse&&!t.isTouchMode())t.centerObjects([t.objectUnderMouse.id]);else{var r=t.overlays.getVisualObjectForMesh();r!=null&&r.mesh&&t.centerOverlay(r.mesh)}return t.setObjectUnderMouse(n),t.mouseClick=!1,t.mouseDownButton=null,t.isFrameSelectionEvent=!1,t.multiSelect=!1,t.controls.isDragging()&&t.controls.finishDrag(e),t.clickCount=0,void t.renderGPUPickTextureNeeded()}if(t.clickCount++,t.controls.isDragging()&&(t.controls.finishDrag(e),t.draw()),t.controls.isPinching()&&(t.controls.finishPinch(),t.draw()),t.controls.isPaning()&&(t.controls.finishPan(),t.draw()),t._resetHoverEffect(),t.mouseClick&&t.mouseDownButton===0){var l,a=(l=t.content)===null||l===void 0?void 0:l.getClashes();if(a&&a.getCurrentClashFilter()!==null){a.resetSelectedClash(t),a.resetClashScene(t);var s=t.getNDCVector(),u=t.projector.pickingRay(s,t.camera).ray,v=t.clashesRenderQueue.castRayToClashes(u,200);if(v)return t.setObjectUnderMouse(v),a.setSelectedClash(v.getClashObject(),t),t.resetSelectedObjects(),$(t.domElement).trigger("select3DObject"),t.mouseClick=!1,t.mouseDownButton=null,void t.draw()}t.controls.supportsGPUPicking()&&t.pickGPU(),t.objectUnderMouse||t.setObjectUnderMouse(t.overlays.getVisualObjectForMesh());var f=!1;t.isMarkupMode()&&(f=t.markups.mouseUp(e)),f||t.controls.processClick(e)}t.mouseClick=!1,t.mouseDownButton=null,t.singleTouchFingerprintOffset=0,t.isMarkupMode()&&(t.markups.mouseActionNeedsLabelUpdate(e),t.fingerprintCursor.mouseUp()),t.renderGPUPickTextureNeeded(),t.draw()}},_mouseWheelBrowserSpecificDelta:function(e){return e.originalEvent.wheelDelta?e.originalEvent.wheelDelta:e.originalEvent.detail?-e.originalEvent.detail:void 0},mouseWheel:function(e){var t=e.data.self;if(!t.isCameraFlightInProgress()){var n=t._mouseWheelBrowserSpecificDelta(e);t.renderQueue.setInteractionMode(!0),e.preventDefault(),e.stopPropagation(),t.controls.processMouseWheel(n,e),t.isMarkupMode()&&t.markups.mouseActionNeedsLabelUpdate(e),clearTimeout($.data(e.target,"tid")),$.data(e.target,"tid",setTimeout(function(){t.renderQueue.setInteractionMode(!1),t.renderGPUPickTextureNeeded(),t.fillRenderQueue(),t.draw()},250)),t.draw()}},mouseOut:function(e){var t=e.data.self;t._resetHoverEffect(),t.mouse.x=-1,t.mouse.y=-1,t.draw()},restoreZoom:function(){var e=this;return e.resetSelectionMode(),e.cameraBackup?(this.controls.target.set(e.cameraBackup.target.x,e.cameraBackup.target.y,e.cameraBackup.target.z),this.camera.position.set(e.cameraBackup.position.x,e.cameraBackup.position.y,e.cameraBackup.position.z),this.camera.quaternion.set(e.cameraBackup.quaternion[0],e.cameraBackup.quaternion[1],e.cameraBackup.quaternion[2],e.cameraBackup.quaternion[3]),this.camera.up.set(e.cameraBackup.up.x,e.cameraBackup.up.y,e.cameraBackup.up.z),Iu.updatePerspectiveCamera(this.camera,!1),this.setViewportSize(),Promise.resolve()):e.resetCamera(Iu.CAMERA_FLIGHT)},backupCameraView:function(){Iu.backupCameraView(this,this.camera,this.controls)},zoomToObject:(function(){var o=yi(Jt().mark(function e(t){return Jt().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:Iu.zoomToObject(this.camera,this.controls,this,t);case 1:case"end":return n.stop()}},e,this)}));return function(t){return o.apply(this,arguments)}})(),zoomToObjects:(function(){var o=yi(Jt().mark(function e(t){return Jt().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:Iu.zoomToObjects(this.camera,this.controls,this,t);case 1:case"end":return n.stop()}},e,this)}));return function(t){return o.apply(this,arguments)}})(),isCameraFlightInProgress:function(){return this.cameraFlightInProgress},getRayIntersectedObjects:function(e){var t,n,i,r,l=this,a=this.getNDCVector(),s=this.objectUnderMouse,u=[],v=[],f=0;if(this.camera.updateProjectionMatrix(),this.camera.updateMatrixWorld(),n=this.projector.pickingRay(a,this.camera),e)v=n.intersectObjects(e.children,!0);else if(s){var h=this.getObjectsContainer().getObjectRoot(s);if(h.hasOwnGeometry())if(h.meshesData.length===0)u.push(h.getMesh(l,0));else{var g,I=QP(h.meshesData.entries());try{for(I.s();!(g=I.n()).done;){var w=Mu(g.value,1)[0];(t=h.getMesh(l,w))&&u.indexOf(t)===-1&&u.push(t)}}catch(N){I.e(N)}finally{I.f()}}else this.getObjectsContainer().traverseDown(h,function(N){var x,y=QP(N.meshesData.entries());try{for(y.s();!(x=y.n()).done;){var F=Mu(x.value,1)[0];(t=N.getMesh(l,F))&&u.indexOf(t)===-1&&u.push(t)}}catch(ye){y.e(ye)}finally{y.f()}});v=n.intersectObjects(u)}if(s=null,v.length){var S;for(this.checkSelectionMode("section")&&this.clippingPlanes.intersects(n,S)&&(f=S),i=0,r=v.length;i<r;i++)if(v[i].distance>f){s=v[i];break}}return s},getNDCVector:function(e,t){var n=new Bi,i=(n=this.renderer.getSize(n)).x/2,r=n.y/2,l=e||this.mouse.x,a=t||this.mouse.y;return new qe(l/i-1,1-a/r,.5)},addLights:function(e,t){var n,i,r,l=t;for(n=0,i=l.length;n<i;n++)l[n].type==="ambient"?e.add(new lX(l[n].color)):l[n].type==="directional"?((r=new TG(l[n].color,l[n].intensity)).position.copy(l[n].position),e.add(r)):l[n].type==="spot"?console.debug("[Renderer] addLights - no spot lights defined at the moment"):l[n].type==="point"?console.debug("[Renderer] addLights - no point lights defined at the moment"):l[n].type==="hemisphere"&&e.add(new Qne(l[n].skyColorHex,l[n].groundColorHex,l[n].intensity||1))},toggleDisciplinesOpacity:function(e,t){var n,i,r,l=this.content.getDisciplines();for(n=0,r=l.length;n<r;n++)(i=l[n]).isCollisionLayer||i.isRevisionComparisonLayer||(i.visible||t)&&this.setDisciplineOpacity(i,e?i.opacity:null);return this},toggleClashDisciplineOpacity:function(e){var t,n,i,r=this.content.getDisciplines();for(t=0,i=r.length;t<i;t++)(n=r[t]).isCollisionLayer&&n.visible&&this.setDisciplineOpacity(n,e?n.opacity:null);return this},disposeObjects:function(e,t,n){if(e)for(var i;e.children.length;)i=e.children[0],t=t||i.node,n=n||i.discipline,i&&i.node===t&&i.discipline===n&&(i.geometry?i.geometry.dispose():i.children.length&&this.disposeObjects(i),e.remove(i),i=null)},traverseObjectNode:function(e,t){var n=this.getObjectsContainer().getObject(e.id);n&&this.getObjectsContainer().traverseDown(n,function(i){t(i)})},toggleObjectNode:function(e){var t=this,n=this.content.getClashes().getClashElement(e.id);n&&n.getClashObject().setVisible(e.visible),this.traverseObjectNode(e,function(i){e.visible?(i.visible=!0,i.show(t)):(i.visible=!1,i.hide(t))}),this.draw()},toggleObjectNodeOpacity:function(e){var t=this,n=this.content.getClashes().getClashElement(e.id);n&&n.getClashObject().setBackground(e.opacity<1),this.traverseObjectNode(e,function(i){return i.setBackground(t,e.opacity<1)}),this.draw()},displayCollisionElement:function(e,t){if(this.content){var n=this.content.getClashes().getClashObjectForClashElementId(e);n&&n.setVisible(t)}},displayRevisionCompareElement:function(e,t,n){var i=this.findSubsetIdsObjects(e);if(i.length>0){var r,l=QP(i);try{for(l.s();!(r=l.n()).done;){var a=r.value;(!n||a.compareTo===n)&&(t?this.showObject(a):this.hideObject(a))}}catch(s){l.e(s)}finally{l.f()}}},findSubsetIdsObjects:function(e){return this.getObjectsContainer().findSubsetIdsObjects(e)},filterRevisionCompareElements:function(e,t,n){var i=this;if(e&&e.length>0){var r=this.checkSelectionMode("isolated");r&&this.disposeIsolatedSet(),e.forEach(function(l){var a,s=QP(i.findSubsetIdsObjects(l));try{for(s.s();!(a=s.n()).done;){var u=a.value;u.compareTo&&(u.compareTo===n&&n!==0&&t.contains(u.discipline)?i.showObject(u):i.hideObject(u))}}catch(v){s.e(v)}finally{s.f()}}),r&&this.makeIsolatedSet()}},displayRevisionCompareOriginalElements:function(e,t){var n=this;if(e&&e.length>0){var i=this.checkSelectionMode("isolated");i&&this.disposeIsolatedSet(),e.forEach(function(r){var l=n.findSubsetIdsObjects(r);if(l.length>0){var a,s=QP(l);try{for(s.s();!(a=s.n()).done;){var u=a.value;t?n.showObject(u):n.hideObject(u)}}catch(v){s.e(v)}finally{s.f()}}}),i&&this.makeIsolatedSet()}},setDisciplineOpacity:function(e,t){var n=this,i=this.getGeometryNodes().nodelist,r=e.id;t=t||this.disciplineOpacity,i.nodes.forEach(function(l){if(Object.hasOwn(i,l)&&i[l][r]&&i[l].divisionTopologyId===e.divisionTopologyId){var a=e.opaque?e.selectedUserOpacity:void 0;n.getGeometryNodes().setNodeDisciplineOpacity(l,r,t,a)}}),this.draw()},showPins:function(e,t){return e?(this.pins.showPins(e,t),this):this},hidePins:function(){return this.pins.hidePins(),this},getPinObject:function(){return this.deferred=$.Deferred(),this.setSelectionMode("addPin"),this.deferred},cancelAddPin:function(){this.checkSelectionMode("addPin")&&(this.deferred.reject(),this.unsetSelectionMode("addPin"))},getSlideThumbnail:function(){return this.slides.getSlideThumbnail()},getSlideThumbnailBlob:function(e,t){return this.slides.getSlideThumbnailBlob(e,t)},getSlideParams:function(){return this.slides.getSlideParams()},showRelatedObject:function(e){return this.pins.zoomToPin(e)},highlightPin:function(e){this.pins.highlightPin(e)},resetPinsMaterial:function(){this.pins.resetPinsMaterial()},refreshIsolatedSet:function(){this.checkSelectionMode("isolated")&&(this.disposeIsolatedSet(),this.makeIsolatedSet())},colorizeObjects:function(e,t){var n=this.getObjectsContainer().getObjects(e);this.addObjectsToColoredSet(n,t),this.draw()},hoverObject:function(e){this.lastObjectUnderMouse=this.objectUnderMouse,this.objectUnderMouseChanged=!0,this.objectUnderMouse=this.getObjectsContainer().getObject(e),this._setHoverEffect()},resetHoveredObject:function(){this._resetHoverEffect()},updateStats:function(){var e,t=this,n=$("#debug").data("st"),i=(e=window)!==null&&e!==void 0&&(e=e.performance)!==null&&e!==void 0&&e.memory?(window.performance.memory.jsHeapSizeLimit/1e9).toFixed(2)+" GB":"N/A";n&&(n.update(),$("div#debug > div#renderInfo").html("Shaders: "+t.renderer.info.memory.programs+"<br />Calls: "+t.renderer.info.render.calls+"<br />Triangles: "+(t.renderer.info.render.faces/1e6).toFixed(2)+" M<br />Meshes: "+t.root.children.length+"<br />Chrome JS heap: "+i+"<br />Chrome buffer: "+(t.maxWebGLBufferSize/1e9).toFixed(2)+" GB<br /><br />Objects<br />Total: "+t.getObjectsContainer().getObjectCount()))},isTouchMode:function(){return localStorage.getItem("inTouchMode")==="true"},cancelLongPress:function(){this.presstimer!==null&&(clearTimeout(this.presstimer),this.presstimer=null)},hasTouches:function(e,t){var n;return(e==null||(n=e.originalEvent)===null||n===void 0?void 0:n.touches)&&e.originalEvent.touches.length===t},disableDraw:function(e){this.drawDisabled=e,e===!0&&this.cancelDrawRequest()},getObject:function(e){return this.getObjectsContainer().getObject(e)},setLocalizationFnc:function(e){e instanceof Function&&(this.textLocalizationFnc=e)},modifyPreviewArrowPosition:function(e,t,n){var i;(i=this.currentInteractor)!==null&&i!==void 0&&i.modifyPreviewArrowPosition&&(this.currentInteractor.modifyPreviewArrowPosition(e,t,n),this.draw())},setMultiselect:function(e){this.forceMultiSelect=e},setSingleObjectSelection:function(e){this.forceSingleObjectSelection=e},escapeKeyPressed:function(){if(this.currentInteractor)return this.currentInteractor.name==="MeasurePerpendicularInteractor"||this.currentInteractor.name==="MeasureFreeInteractor"||this.currentInteractor.name==="MeasureAngleInteractor"||this.currentInteractor.name==="AnnotationInteractor"||this.currentInteractor.name==="LocalCoordSystemInteractor"||this.currentInteractor.name==="SelectPointsForOverlayInteractor"?(this.currentInteractor.cancel(),void this.currentInteractor.start()):void(this.currentInteractor.name==="SectionPlaneInteractor"&&(this.currentInteractor.cancel(),this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&!this.deleteActivePlanePossible()&&this.setSinglePlaneMode(),this.clippingPlanes.restoreClippingPlanes(),this.clippingPlanes.setEnabled(!0),this.clippingPlanes.addNewPlaneIsOn=!1,this.clippingPlanes.onUpdateSectionParams()))},getCommandPolicy:function(e,t){var n=e.GetCommandName();if(this.commandPolicies[n]!==void 0&&this.commandPolicies[n][t]!==void 0)return this.commandPolicies[n][t]},calculateDefaultBoundingBox:function(){this.visibleGeometryBoundingBox.set(new qe(-1,-1,-1),new qe(1,1,1)),this.visibleGeometryBoundingBox.getBoundingSphere(this.visibleGeometryBoundingSphere)},calculateVisibleGeometryBoundaries:function(){this.visibleGeometryBoundingBox.makeEmpty();var e=this.getGeometryNodes();return!!e&&(this.visibleGeometryBoundingBox=e.calculateVisibleGeometryBoundingBox(this.visibleGeometryBoundingBox),this.visibleGeometryBoundingBox.isEmpty()?(this.calculateDefaultBoundingBox(),!1):(this.visibleGeometryBoundingBox.getBoundingSphere(this.visibleGeometryBoundingSphere),!0))},calculateDrawRange:function(){this.dynamicDrawRange.calculateDrawRange(this)},useTranslationForTransformControls:function(){this.transformControls.setMode("translate"),this.updateTransformControls(!1)},useScaleForTransformControls:function(){this.transformControls.setMode("scale"),this.updateTransformControls(!1)},useRotationForTransformControls:function(){this.transformControls.setMode("rotate"),this.updateTransformControls(!1)},switchVisibilityOfTransformControls:function(){this.updateTransformControls(!0)},updateTransformControls:function(e){this.transformControls.visible=!e||!this.transformControls.visible,this.transformControls.visible===!1?(this.transformControls.showX=!1,this.transformControls.showY=!1,this.transformControls.showZ=!1):this.clippingPlanes.clippingPlaneSettings.useParallelPlane()?(this.transformControls.showX=!0,this.transformControls.showY=this.transformControls.getMode()==="rotate",this.transformControls.showZ=this.transformControls.getMode()==="rotate"):this.clippingPlanes.clippingPlaneSettings.useBoxPlanes()?(this.transformControls.showX=!0,this.transformControls.showY=!0,this.transformControls.showZ=!0):(this.transformControls.showX=!0,this.transformControls.showY=this.transformControls.getMode()==="rotate",this.transformControls.showZ=this.transformControls.getMode()==="rotate",this.transformControls.getMode()==="scale"&&(this.transformControls.showX=!1,this.transformControls.visible=!1)),this.draw()},showClippingFrames:function(e){this.clippingPlanes.showClippingFrames(e),this.draw()},_setPlaneMode:function(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1];this.clippingPlanes.resetActivePlane(),this.clippingPlanes.hideAdditionalClippingPlanes(),this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&this.clippingPlanes.setUseUpVector(!1);var n=this.clippingPlanes.getSectionCutOptions();n.sectionCutPlaneOption=e,this.clippingPlanes.setSectionCutOptions(n,t)},setSinglePlaneMode:function(){this._setPlaneMode("single",!0),this.clippingPlanes.addNewPlaneIsOn=!1},setParallelPlaneMode:function(){this._setPlaneMode("parallel",!0),this.clippingPlanes.addNewPlaneIsOn=!1},setBoxPlaneMode:function(){this._setPlaneMode("box",!0),this.clippingPlanes.addNewPlaneIsOn=!1},setMultiPlaneMode:function(){this._setPlaneMode("multi",!0),this.clippingPlanes.addNewPlaneIsOn=!0},isAxisModeEnabled:function(){var e;return!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()||((e=this.clippingPlanes)===null||e===void 0?void 0:e.areMorePlanesPossible())&&this.clippingPlanes.addNewPlaneIsOn},addNewPlaneClicked:function(){var e=this.clippingPlanes.addNewPlaneIsOn;this.clippingPlanes.addNewPlaneIsOn?this.deleteActivePlanePossible()||this.setSinglePlaneMode():this.clippingPlanes.clippingPlaneSettings.useSinglePlane()&&this.setMultiPlaneMode(),this.clippingPlanes.addNewPlaneIsOn=!e,this.clippingPlanes.addNewPlaneIsOn||this.escapeKeyPressed(),this.clippingPlanes.onUpdateSectionParams()},addNewPlanePossible:function(){return!!this.clippingPlanes.clippingPlaneSettings.useSinglePlane()||!!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&((e=this.clippingPlanes)===null||e===void 0?void 0:e.areMorePlanesPossible());var e},isAddNewPlaneEnabled:function(){return this.addNewPlanePossible()||(this.clippingPlanes.addNewPlaneIsOn=!1),this.clippingPlanes.addNewPlaneIsOn},moveTransformControlToPrevPlane:function(){this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&this.transformControls&&this.clippingPlanes.setTransformControlToPlane(this.clippingPlanes.setPrevPlaneAsActive())},moveToPrevPlanePossible:function(){var e;return!!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&((e=this.clippingPlanes)===null||e===void 0?void 0:e.moveToPrevPlanePossible())},moveTransformControlToNextPlane:function(){this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&this.transformControls&&this.clippingPlanes.setTransformControlToPlane(this.clippingPlanes.setNextPlaneAsActive())},moveToNextPlanePossible:function(){var e;return!!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&((e=this.clippingPlanes)===null||e===void 0?void 0:e.moveToNextPlanePossible())},deleteActivePlaneClicked:function(){this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&this.clippingPlanes.deleteActivePlane(),this.deleteActivePlanePossible()||this.setSinglePlaneMode()},deleteActivePlanePossible:function(){var e;return!!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&((e=this.clippingPlanes)===null||e===void 0?void 0:e.deleteActivePlanePossible())},flipOrientation:function(){this.clippingPlanes.isActivePlaneVisible()&&(this.clippingPlanes.flipOrientation(),this.renderGPUPickTextureNeeded())},currentClippingMode:function(){return this.clippingPlanes.getSectionCutOptions().sectionCutPlaneOption},currentManipulationMode:function(){return this.transformControls.mode},currentManipulationControlVisibility:function(){return this.transformControls.visible},isActivePlaneVisible:function(){var e;return!!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&((e=this.clippingPlanes)===null||e===void 0?void 0:e.isActivePlaneVisible())},isFlipPlanePossible:function(){var e;return!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()||((e=this.clippingPlanes)===null||e===void 0?void 0:e.isActivePlaneVisible())},_onFreePlaneSelected:function(){var e,t=new CustomEvent("onFreePlaneSelected",{bubbles:!0,cancelable:!0}),n=(e=document)===null||e===void 0?void 0:e.getElementById("mainViewportContainer");n&&n.dispatchEvent(t)},setFreePlaneSection:function(e,t){console.debug(`[Renderer] setFreePlaneSection
5999
+ `)),this.cameraBeforePointMatching=new p0,e.type==="perspective"?this.camera=new p0(e.fov,t/n,e.near,e.far):e.type==="orthographic"&&(this.camera=new lT(e.left,e.right,e.top,e.bottom,e.near,e.far),this.camera.aspect=t/n,this.name=="mainRendererViewport"&&(this.camera.fov=45)),this.camera.name="mainCamera",this.camera.type=e.type,this.camera.position.set(e.position.x,e.position.y,e.position.z),this.scene.add(this.camera),this.orthoCamera=new lT(-t/2,t/2,n/2,-n/2,1,10),this.orthoCamera.position.z=10;var i=e.far-e.near,r=t/n;this.orthographicCamera=new lT(i*r/-2,i*r/2,i/2,i/-2,e.near,e.far),this.orthographicCamera.position.set(e.position.x,e.position.y,e.position.z),this.orthographicCamera.aspect=t/n,this.orthographicCamera.fov=45,this.perspectiveCamera=new p0(e.fov,t/n,e.near,e.far)}},initControls:function(e,t){this.controls.target=new qe(e.target.x||0,e.target.y||0,e.target.z||0),this.controls.object=this.camera,this.controls.domElement=this.renderer.domElement,this.controls.localElement=this.renderer.domElement,t||this.initTransformControls()},_transformControlsChangeEvent:function(){if(this.transformControls){switch(this.transformControls.mode){case"translate":this.clippingPlanes.recalcClippingSceneForTranslation(this.transformControlsPosition);break;case"rotate":this.clippingPlanes.recalcClippingSceneForRotation(this.transformControlsRotation);break;case"scale":this.clippingPlanes.recalcClippingSceneForScale(this.transformControlsScale)}this.draw()}},_transformControlsMouseDownEvent:function(){this.emptySectionCutSceneForSectionCutGeometry(),this.transformControlsPosition=this.clippingPlanes._clippingPlanes[this.clippingPlanes._activeClippingPlane].clippingPlaneFrame.position.clone(),this.transformControlsRotation=this.clippingPlanes._clippingPlanes[this.clippingPlanes._activeClippingPlane].clippingPlaneFrame.rotation.clone(),this.transformControlsScale=this.clippingPlanes._clippingPlanes[this.clippingPlanes._activeClippingPlane].clippingPlaneFrame.scale.clone()},_transformControlsMouseUp:function(){this.transformControlsPosition=null,this.transformControlsRotation=null,this.transformControlsScale=null,this.clippingPlanes.onRefreshSectionCuts()},initTransformControls:function(){this.transformControls=new m_e(this.camera,this.renderer.domElement),this.transformControls.addEventListener("change",this._transformControlsChangeEvent.bind(this)),this.transformControls.addEventListener("mouseDown",this._transformControlsMouseDownEvent.bind(this)),this.transformControls.addEventListener("mouseUp",P6e.debounce(this._transformControlsMouseUp.bind(this),1e3)),this.transformControls.setSpace("local"),this.transformControls.setRotationSnap(Rk.radians(5)),this.controlsScene.add(this.transformControls)},disposeTransformControls:function(){var e,t,n,i;(e=this.transformControls)===null||e===void 0||e.removeEventListener("change",this._transformControlsChangeEvent),(t=this.transformControls)===null||t===void 0||t.removeEventListener("mouseDown",this._transformControlsMouseDownEvent),(n=this.transformControls)===null||n===void 0||n.removeEventListener("mouseUp",this._transformControlsMouseUp),(i=this.transformControls)===null||i===void 0||i.dispose(),this.transformControls=null},initFrameSelection:function(){this.frameSelection=new D6e(this),this.frameSelection.init()},disposeFrameSelection:function(){var e;(e=this.frameSelection)===null||e===void 0||e.dispose(),this.frameSelection=null},renderScene:function(e){var t,n=this,i=this.checkSelectionMode("isolated");this.defaultPassChain.getPass(4).setEnabled(i);var r=e.drawClashes&&((t=this.content)===null||t===void 0?void 0:t.getClashes().getCurrentClashFilter())!==null;N6e.forEach(function(l){n.defaultPassChain.getPass(l).setEnabled(r)}),e.drawHelperScene===!0&&this.renderer.render(this.helperScene,this.camera),e.drawPins===!0&&this.pins.render(),this.defaultPassChain.render(this.renderer,this.disciplineNodeMeshScene.getScene(),this.camera),r&&i&&this.defaultPassChain.renderPasses([1,2],this.renderer,this.scene,this.camera)},setContent:function(e){this.content=e},getContent:function(){return this.content},hasContent:function(){return this.content!==null},draw:function(){var e=this;return this.noRender||this.drawDisabled||this.drawRequest||!this.renderer?new Promise(function(t){t()}):new Promise(function(t){e.drawRequest=requestAnimationFrame(function(){if(e.noRender||e.drawDisabled||!e.renderer)return e.drawRequest=null,void t();e.drawSynchronous(),e.drawRequest=null,t()})})},cancelDrawRequest:function(){this.drawRequest&&(cancelAnimationFrame(this.drawRequest),this.drawRequest=null)},fillRenderQueue:function(){this.renderQueue.fill(this.camera,$(this.domElement).height()),this.content&&this.clashesRenderQueue.fill(this.content,this.camera)},prepareMeshMatrices:function(e){var t=e||this.camera;Iu.updatePerspectiveCamera(t,!0),this.renderQueue.forEachQueuedMesh(function(n,i){i.modelViewMatrix.multiplyMatrices(t.matrixWorldInverse,i.matrixWorld),i.normalMatrix.getNormalMatrix(i.modelViewMatrix)})},drawSynchronous:function(){this.noRender||this.drawDisabled||!this.renderer||(this.render(this.defaultDrawFlags),this.afterDrawCallback&&this.afterDrawCallback(this),this.afterCameraFlyCallback&&this.afterCameraFlyCallback(this))},drawThumbnail:function(){var e,t=this.clippingPlanes.getAllVisibleStates();this.clippingPlanes.setAllVisible(!1),this.transformControls&&(e=this.transformControls.visible,this.transformControls.visible=!1);var n=new d_e().setStatesForThumbnail();this.render(n),this.clippingPlanes.setAllVisibleStates(t),this.transformControls&&(this.transformControls.visible=e)},updateMeshesWebGLBuffer:function(){var e=this,t=this.getGeometryNodes();t&&t.forEachDisciplineNode(function(n){if(n.isGeometryLoaded()!==!1&&n.visible!==!1){var i=e.getDisciplineNodeMeshes().getNodeMesh(n);i&&i.updateMeshesWebGLBuffer(e,n.getGeometryTimestamp())}})},updateNavigationMapCameraFrustum:function(){var e=this.controls.getNavigationMap(),t=this.controls.getMainViewport();e.getCameraHelperType()!==t.camera.type&&e.updateNavigationMapProjectionMode(t)},updateNavigationMap:function(){this.name==="navigationMapViewport"&&this.updateNavigationMapCameraFrustum()},renderDebugView:function(){if(console.debug("[INFO] Viewport3D::render - Debug view: ".concat(this.debugView)),this.debugView!==4&&this.debugView!==5||this.ssaoEnabled)if(this.debugView!==6&&this.debugView!==7&&this.debugView!==8||this.shadowsEnabled){switch(this.debugView){case 1:this.debugFullscreenQuad.setColorTexture(this.colorLookup.getTexture());break;case 2:this.debugFullscreenQuad.setColorTexture(this.pickColorLookup.getTexture());break;case 3:this.gpuPicker.render(),this.debugFullscreenQuad.setColorTexture(this.gpuPicker.getRenderTarget().texture);break;case 4:this.debugFullscreenQuad.setColorTexture(this.ssaoPassChain.getPass(0).getRenderTarget().texture);break;case 5:this.debugFullscreenQuad.setColorTexture(this.ssaoPassChain.getPass(1).getRenderTarget().texture);break;case 6:this.debugFullscreenQuad.setColorTexture(this.shadows.shadowMaps[0].getDepthBuffer().texture);break;case 7:this.debugFullscreenQuad.setColorTexture(this.shadows.shadowMaps[1].getDepthBuffer().texture);break;case 8:this.debugFullscreenQuad.setColorTexture(this.shadows.shadowMaps[2].getDepthBuffer().texture)}this.debugFullscreenQuad.render(this.renderer)}else console.debug("[INFO] Viewport3D::render - Debug view: ".concat(this.debugView," but Shadow calculation is disabled"));else console.debug("[INFO] Viewport3D::render - Debug view: ".concat(this.debugView," but SSAO is disabled"))},render:function(e){var t;e||(e=this.defaultDrawFlags),this.calculateDrawRange(),this.updateNavigationMap(),this.updateMeshesWebGLBuffer(),this.renderer.autoClear=!1,this.renderer.clear(),this.shadows.isEnabled()&&this.shadowsEnabled&&this.shadowsSupported&&this.shadows.renderShadowMaps(),this.fillRenderQueue(),this.shadows.isEnabled()&&this.shadowsEnabled&&this.shadowsSupported&&this.shadows.renderShadowMaps(),(t=this.currentInteractor)===null||t===void 0||t.beforeRender(),this.prepareMeshMatrices(this.camera),this.ssaoEnabled&&this.ssaoSupported&&this.ssaoPassChain?(this.ssaoPassChain.render(this.renderer,this.disciplineNodeMeshScene.getScene(),this.camera),this.ambientOcclusionTexture=this.ssaoPassChain.getLastPass().getRenderTarget().texture):this.ambientOcclusionTexture=null,this.debugView>0?this.renderDebugView():(this.renderer.clear(),this.renderer.autoClear=!1,this.doRenderGPUPickTexture(),this.renderer.autoClear=!1,this.renderer.clear(),e.drawBackground===!0&&this.background.draw(this.renderer),e.drawScene===!0&&this.renderScene(e),this.updateStats(),this.renderer.render(this.scene,this.camera),e.drawSectionCuts===!0&&this.sectionCuts.render(),e.drawOverlays===!0&&this.overlays.render(),e.drawMarkups===!0&&(this.markups.render(e.drawMarkupsOpaque),this.localCoordSystemManager.render()),e.drawHelperScene===!0&&this.highlightObjectEdges.render(),e.drawCustomScene===!0&&this.renderer.render(this.customScene,this.camera),e.drawHighlight===!0&&this.highlight.render(this),e.drawFingerPrint===!0&&this.fingerprintCursor.render(this),e.drawControlsScene===!0&&this.renderer.render(this.controlsScene,this.camera),this.renderer.autoClear=!0)},isMultiselectActive:function(){return this.multiSelect},getDeselectedObjectId:function(){var e=this.deselectedObject;return e&&!this.checkSelectionMode("hidden")?e.id:null},moveDivisionBoundingBox:function(e,t,n,i){var r;(r=this.content)===null||r===void 0||r.getDivisions().moveDivisionBoundingBox(this,e,t,n,i)},resetDivisionBoundingBox:function(e){var t;(t=this.content)===null||t===void 0||t.getDivisions().resetDivisionBoundingBox(this,e)},resetSceneBoundingBox:function(){var e=this.getContentBoundingBox();e&&e.reset()},showDivisionBoundingBox:function(e){var t;(t=this.content)===null||t===void 0||t.getDivisions().showDivisionBoundingBox(this,e)},hideDivisionBoundingBox:function(e){var t;(t=this.content)===null||t===void 0||t.getDivisions().hideDivisionBoundingBox(this,e)},setDivisionVisible:function(e,t){var n;(n=this.content)===null||n===void 0||n.getDivisions().setDivisionVisible(e,t)},isRelativeModelDistancesTooLarge:function(e){return!!this.content&&this.content.getDivisions().isRelativeModelDistancesTooLarge(e)},getClashElementRevision:function(e){if(this.content){var t=this.content.getClashes().getClashElement(e);return t?t.getRevision():void 0}},toggleClashHoverBox:function(e,t){if(this.content){var n=this.content.getClashes().getClashObjectForClashElementId(e);n&&n.setHovered(t)}},setupClashIssueScene:function(){var e=this.objectSets.workingObjects.slice();this.resetSelectionMode(),this.addObjectsToWorkingSet(e),this.setSelectionMode("isolated"),this.draw()},resetClashScene:function(){var e;(e=this.content)===null||e===void 0||e.getClashes().resetClashScene(this),this.draw()},setupClashScene:function(e){var t=this.content.getClashes(),n=t.getClashObjectForClashElementId(e[0]);n&&t.setupClashScene(n,this)},calcObjectsBoundingbox:function(e){var t,n=new Kl,i=QP(e);try{for(i.s();!(t=i.n()).done;){var r=t.value,l=this.getObject(r);if(l){var a=l.getBoundingBox(this.getObjectsContainer());a&&(n.expandByPoint(a.min),n.expandByPoint(a.max))}}}catch(s){i.e(s)}finally{i.f()}return n},resetRevisonComparisonScene:function(e,t){var n;e&&(n=this.objectSets.workingObjects.slice()),this.resetSelectionMode(),e&&(t&&(n=n.filter(function(i){return Object.hasOwn(i,"visibleRevisionComparison")===!1})),this.addObjectsToWorkingSet(n),this.setSelectionMode("isolated"))},centerBoundingBox:(q_e=yi(Jt().mark(function o(e){var t;return Jt().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.getBoundingSphere(new Es),n.next=1,Iu.centerBoundingSphere(this.camera,this.controls,this,t,Iu.NO_CAMERA_FLIGHT,1.2);case 1:this.setRotationCenter(t.center);case 2:case"end":return n.stop()}},o,this)})),function(e){return q_e.apply(this,arguments)}),centerOverlay:(Y_e=yi(Jt().mark(function o(e){var t;return Jt().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return(t=new Kl).setFromObject(e),n.next=1,this.centerBoundingBox(t);case 1:case"end":return n.stop()}},o,this)})),function(e){return Y_e.apply(this,arguments)}),centerOverlayById:(W_e=yi(Jt().mark(function o(e){var t,n;return Jt().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=1,this.overlayManager.loadOverlay(e);case 1:return t=i.sent,(n=new Kl).setFromObject(t),i.next=2,this.centerBoundingBox(n);case 2:case"end":return i.stop()}},o,this)})),function(e){return W_e.apply(this,arguments)}),centerObjects:(z_e=yi(Jt().mark(function o(e){var t,n,i=this;return Jt().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return t=[],this.getObjectsContainer()&&e.forEach(function(l){return t=t.concat(i.getObjectsContainer().getObjectTreeIds(l))}),n=this.calcObjectsBoundingbox(t),r.abrupt("return",this.centerBoundingBox(n));case 1:case"end":return r.stop()}},o,this)})),function(e){return z_e.apply(this,arguments)}),clipObjects:function(){var e=arguments.length>0&&arguments[0]!==void 0&&arguments[0],t=this.objectSets.selectedObjects.length>0&&!e?this.objectSets.selectedObjects.map(function(i){return i.id}):this.objectSets.workingObjects.map(function(i){return i.id}),n=this.calcObjectsBoundingbox(t);n.expandByScalar(1e3/this.normFactor),this.clippingPlanes.setSectionBox(n)},isolateObjects:function(e){var t=this.checkSelectionMode("isolated");t&&this.resetIsolationMode(),this.objectSets.workingObjects=[];var n=this.getObjectsContainer().getObjects(e);this.addObjectsToWorkingSet(n),t?this.setIsolationMode():this.setSelectionMode("isolated"),this.draw()},addObjectsToWorkingSet:function(e){new TX(this,this.objectSets.workingObjects,"working").Execute(e)},removeObjectsFromWorkingSet:function(e){new TX(this,this.objectSets.workingObjects,"working").Execute(e,{inverse:!0})},addObjectsToSelectedSet:function(e){new aT(this,this.objectSets.selectedObjects).Execute(e)},addObjectsToHiddenSet:function(e){new XO(this,this.objectSets.hiddenObjects).Execute(e)},addObjectsToColoredSet:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;new DG(this,this.objectSets.coloredObjects,t).Execute(e,{noBubble:!0,colors:t,alpha:n}),this.triggerObjectSetChangedEvent("coloredObjects")},disposeIsolatedSet:function(){new xV(this).Execute(this.objectSets.workingObjects,{inverse:!0})},makeIsolatedSet:function(){new xV(this).Execute(this.objectSets.workingObjects)},restoreSelectedObjects:function(){new aT(this).Execute(this.objectSets.selectedObjects,{noBubble:!0})},hideIsolateObjects:function(){this.isolateSelectedObjects&&this.objectSets.selectedObjects.length>0&&this.addSelectedObjectsToWorkingObjects(),new wX(this).Execute(this.objectSets.workingObjects,{noBubble:!0}),this.draw()},resetHideIsolateObjects:function(){this.restoreSelectedObjects(),new wX(this).Execute(this.objectSets.workingObjects,{noBubble:!0,inverse:!0}),this.draw()},hideObjects:function(e){var t=this.getObjectsContainer().getObjects(e);new XO(this,this.objectSets.hiddenObjects).Execute(t),this.draw()},getSelected3DObjectId:function(){var e=this.objectUnderMouse,t=this.rootObjectUnderMouse;if(e&&!this.checkSelectionMode("hidden"))return e.relatedObjects?e.id.substr(0,36):t?t.id:e.id},getAllSelected3DObjectIds:function(){var e=new Set;this.objectSets.selectedObjects.forEach(function(n){var i;i=n.relatedObjects?n.id.substr(0,36):n.parent||n.id,e.add(i)});var t=[];return e.forEach(function(n){return t.push(n)}),t},getAllSelected3DObjectIdsNodesRevisions:function(){var e=new Set;this.objectSets.selectedObjects.forEach(function(n){var i=n.id,r="",l=1;n.node&&(r=n.node),n.revision&&(l=n.revision);var a={id:i,node:r,revision:l},s=JSON.stringify(a);e.add(s)});var t=[];return e.forEach(function(n){var i=JSON.parse(n);t.push(i)}),t},getObjectRevision:function(e){if(e){var t=this.getObject(e);return t?t.revision:""}return""},pickGPU:function(){return this.gpuPicker.pick(),this},renderGPUPickTextureNeeded:function(){this.newGPUPickTextureNeeded=!0},doRenderGPUPickTexture:function(){this.newGPUPickTextureNeeded&&(this.newGPUPickTextureNeeded=!1,this.gpuPicker.render())},highlightNodeChildren:function(e,t){if(this.getGeometryNodes().getNode(e)===!1)return!1;var n=this.getObjectsContainer().getNodeObjectIds(e);return this.highlightObjects(n,t),!0},highlightObject:function(e,t,n){this.setObjectUnderMouse(this.getObject(e)),this.objectUnderMouse&&!this.objectUnderMouse.parent&&this.objectUnderMouse.discipline===rr.ClashLayer&&this.setObjectUnderMouse(this.content.getClashes().getClashElement(e)),this.objectUnderMouse||this.setObjectUnderMouse(this.content.getClashes().getClashElement(e)),this.handleObjectSelection(null,t,n),this.draw()},highlightObjects:function(e,t,n){t||(this.resetObjectUnderMouse(),this.handleObjectSelection(null,!1,n));var i,r=QP(e);try{for(r.s();!(i=r.n()).done;){var l=i.value;this.setObjectUnderMouse(this.getObject(l)),this.handleObjectSelection(null,t,n)}}catch(a){r.e(a)}finally{r.f()}this.draw()},disposePins:function(e){this.pins.disposePins(e)},resetObjectUnderMouse:function(){this.objectUnderMouse=null,this.rootObjectUnderMouse=null},setBlockObjectSelection:function(e){this.blockObjectSelection=e},disposePinObject:function(e){this.pins.disposePinObject(e)},objectLoop:function(e,t){this.getObjectsContainer().objectLoop(e,t)},hideObject:function(e){return e.visible=!1,e.hide(this)},showObject:function(e){return e.visible=!0,e.show(this)},selectObject:function(e){var t=this.activeObjColor,n=[t.r,t.g,t.b];e.selected=!0,e.paint(this,n)},deselectObject:function(e){delete e.selected,e.paint(this)},_hoverEffectTurnedOn:function(e){this.useHoverEffect&&e&&new t_e(this).Execute([e],{noBubble:!1})},_hoverEffectTurnedOff:function(e){this.useHoverEffect&&e&&(new t_e(this).Execute([e],{inverse:!0,noBubble:!1}),e!=null&&e.selected&&new aT(this).Execute([e],{noBubble:!1}))},_resetHoverEffect:function(){this.objectUnderMouseChanged=!1,this._hoverEffectTurnedOff(this.objectUnderMouse),this._hoverEffectTurnedOff(this.lastObjectUnderMouse),this.objectUnderMouse=null,this.lastObjectUnderMouse=null,this.draw()},_setHoverEffect:function(){this.objectUnderMouseChanged&&(this.objectUnderMouseChanged=!1,this._hoverEffectTurnedOff(this.lastObjectUnderMouse),this._hoverEffectTurnedOn(this.objectUnderMouse),this.lastObjectUnderMouse=null,this.draw())},_applyHoverEffect:function(){this.controls.supportsGPUPicking()&&this.pickGPU(),this.objectUnderMouse||this.setObjectUnderMouse(this.sectionCuts.getVisualObjectForMesh()),this.objectUnderMouse||this.setObjectUnderMouse(this.overlays.getVisualObjectForMesh()),this._setHoverEffect()},handleObjectSelection:function(e,t,n){var i=this.objectUnderMouse,r=t!==void 0?t:e&&(e.ctrlKey||e.isLongPress);r||(r=Gw.isMultiSelection()&&e&&e.shiftKey),this.deselectedObject=null;var l,a=this.checkSelectionMode("hidden");if(i&&i.isClashElement===!0){var s,u=i.getClashObject();return(s=this.content)===null||s===void 0||s.getClashes().setSelectedClash(u,this),void this.resetSelectedObjects()}if((l=this.content)===null||l===void 0||(l=l.getClashes())===null||l===void 0||l.resetSelectedClash(this),this.connectionElement._handleSelection(i),i&&r&&!a){var v=new aT(this,this.objectSets.selectedObjects);return v.Execute([i],{multiSelect:r,noBubble:n}),void(v.deselectedObjects.length>0&&(i=null,this._resetHoverEffect(),this.deselectedObject=this.rootObjectUnderMouse,this.resetObjectUnderMouse()))}if(r||a||this.resetSelectedObjects(),this._resetHoverEffect(),this.objectUnderMouse=i,i){if(a){var f;if(this.showHiddenObjectsTransparent){var h=this.objectSets.hiddenObjects.find(function(x){return x.id===i.id});new XO(this,this.objectSets.hiddenObjects).Execute([i],{noBubble:!1,inverse:h})}else new XO(this,this.objectSets.hiddenObjects).Execute([i],{noBubble:!1});var g=new CustomEvent("onHidingObject",{bubbles:!0,cancelable:!0}),I=(f=document)===null||f===void 0?void 0:f.getElementById("mainViewportContainer");I&&I.dispatchEvent(g)}else{var w=new aT(this,this.objectSets.selectedObjects),S=this.getCommandPolicy(w,"noBubble"),N=this.getCommandPolicy(w,"noTraverse");w.Execute([i],{noBubble:n||S!==void 0,noTraverse:N})}i.relatedObjects&&this.objectSets.selectedObjects.length-1!==i.relatedObjects.length&&$(this.domElement).trigger("missingRelatedObjects")}},startInteractor:function(e,t){this.currentInteractor!==null&&(this.currentInteractor.selectionMode.length?this.unsetSelectionMode(this.currentInteractor.selectionMode):this.currentInteractor.cancel()),t.selectionMode=e,this.currentInteractor=t,this.currentInteractor.start()},subscribeToSelectionModeChanges:function(e){e instanceof Function&&(this.selectionModeChangeHandler=e)},subscribeToLCSDefinedChanges:function(e){e instanceof Function&&(this.localCoordSystemDefinedChangeHandler=e)},subscribeToOverlayPointSelectionModelViewFinished:function(e){e instanceof Function&&(this.overlayPointSelectionModelViewFinishedHandler=e)},subscribeToOverlayPointSelectionFileViewFinished:function(e){e instanceof Function&&(this.overlayPointSelectionFileViewFinishedHandler=e)},subscribeToOverlayFileViewCropBoxFinished:function(e){e instanceof Function&&(this.overlayFileViewCropBoxFinishedHandler=e)},subscribeToConnectionElementSelected:function(e){e instanceof Function&&(this._connectionElementSelectedHandler=e)},setSelectionMode:function(e){if(this.checkSelectionMode(e))return this.unsetSelectionMode(e),this;e==="clipIsolated"?(this.unsetSelectionMode("isolated"),this.unsetSelectionMode("hideIsolated"),this.unsetSelectionMode("section"),this.clipObjects()):e==="hideIsolated"?(this.unsetSelectionMode("isolated"),this.unsetSelectionMode("clipIsolated"),this.unsetSelectionMode("section"),this.hideIsolateObjects()):e==="isolated"?(this.unsetSelectionMode("hideIsolated"),this.unsetSelectionMode("clipIsolated"),this.unsetSelectionMode("hidden"),this.unsetSelectionMode("selectSectionPlane")):e==="hidden"?(this.unsetSelectionMode("hideIsolated"),this.unsetSelectionMode("isolated"),this._unsetSelectionModesMarkups("")):e==="addPin"?this.unsetSelectionMode("hidden"):e==="section"?(this.unsetSelectionMode("hideIsolated"),this.unsetSelectionMode("clipIsolated"),this.clippingPlanes.restoreClippingPlanes(),this.clippingPlanes.setEnabled(!0),this.fillRenderQueue()):e==="measurePerpendicular"?(this._unsetSelectionModesMarkups("measurePerpendicular"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new yNe(this))):e==="measureFree"?(this._unsetSelectionModesMarkups("measureFree"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new ENe(this))):e==="measureAngle"?(this._unsetSelectionModesMarkups("measureAngle"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new DNe(this))):e==="measureLocalPoint"?(this._unsetSelectionModesMarkups("measureLocalPoint"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new NNe(this))):e==="measureCalibratedPoint"?(this._unsetSelectionModesMarkups("measureCalibratedPoint"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new FNe(this))):e==="measureEdge"?(this._unsetSelectionModesMarkups("measureEdge"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new HNe(this))):e==="measureAutoEdges"?(this._unsetSelectionModesMarkups("measureAutoEdges"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new GNe(this))):e==="laserMeasurement"?(this._unsetSelectionModesMarkups("laserMeasurement"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new zNe(this))):e==="localCoordSystemCreation"?(this._unsetSelectionModesMarkups("localCoordSystemCreation"),this.unsetSelectionMode("hidden"),this.localCoordSystemManager.hasLCS()||(this.localCoordSystemDefinedChangeHandler(!0),this.startInteractor(e,new qNe(this)))):e==="localCoordSystemDefined"?(this._unsetSelectionModesMarkups("localCoordSystemDefined"),this.unsetSelectionMode("hidden"),this.localCoordSystemManager.reset(),this.localCoordSystemDefinedChangeHandler(!1),e="markupTurnedOff",this.startInteractor(e,new L1e(this))):e==="objectProps"?(this._unsetSelectionModesMarkups("objectProps"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new $Ne(this))):e==="markupTurnedOff"?(this._unsetSelectionModesMarkups("markupTurnedOff"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new L1e(this))):e==="annotation"?(this._unsetSelectionModesMarkups("annotation"),this.unsetSelectionMode("hidden"),this.startInteractor(e,new eLe(this))):e==="moveModel"?this.startInteractor(e,new nLe(this)):e==="selectSectionPlane"?(this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&(console.debug("multiPlanes in use. Don't remove current planes"),this.clippingPlanes.restoreClippingPlanes(),this.clippingPlanes.setEnabled(!0)),this.emptySectionCutSceneForSectionCutGeometry(),this.startInteractor(e,new iLe(this)),this.clippingPlanes.addNewPlaneIsOn=!0):e==="selectPointsForOverlay"&&this.startInteractor(e,new Zre(this));var t=this.selectionMode.slice();return e?(t.push(e),this.selectionMode=t,this.selectionModeChangeHandler&&this.selectionModeChangeHandler(t),e==="isolated"&&this.setIsolationMode()):(this.unsetSelectionMode("isolated"),this.unsetSelectionMode("hidden"),this.unsetSelectionMode("hideIsolated")),this.renderGPUPickTextureNeeded(),this.draw(),this},unsetSelectionMode:function(e){var t=this.selectionMode.indexOf(e),n=this.selectionMode.slice();if(t===-1||!e)return this;if(n.splice(t,1),this.selectionMode=n,this.selectionModeChangeHandler&&this.selectionModeChangeHandler(n),e==="isolated"){this.resetIsolationMode();var i=this.objectSets.selectedObjects.map(function(r){return r});i.length>0&&(this.resetSelectedObjects(),new aT(this,this.objectSets.selectedObjects).Execute(i,{noBubble:!0}))}return e==="hideIsolated"&&this.resetHideIsolateObjects(),e==="clipIsolated"&&this.clippingPlanes.reset(),e!=="section"&&e!=="selectSectionPlane"||(this.clippingPlanes.storeClippingPlanes(),this.clippingPlanes.setEnabled(!1),this.clippingPlanes.hideAdditionalClippingPlanes(),this.emptySectionCutSceneForSectionCutGeometry(),this.setSectionAxis(),this.renderQueue.setInteractionMode(!1),this.fillRenderQueue(),this.renderGPUPickTextureNeeded()),e!=="measurePerpendicular"&&e!=="measureFree"&&e!=="measureAngle"&&e!=="measureLocalPoint"&&e!=="measureCalibratedPoint"&&e!=="measureEdge"&&e!=="measureAutoEdges"&&e!=="laserMeasurement"&&e!=="localCoordSystemCreation"&&e!=="localCoordSystemDefined"&&e!=="objectProps"&&e!=="markupTurnedOff"&&e!=="annotation"&&e!=="moveModel"&&e!=="selectSectionPlane"&&e!=="selectPointsForOverlay"||this.currentInteractor!==null&&(this.currentInteractor.cancel(),this.currentInteractor=null),e!=="hidden"&&(this.renderGPUPickTextureNeeded(),this.draw()),this},resetSelectedObjects:function(e){var t=new aT(this,this.objectSets.selectedObjects,e),n=this.getCommandPolicy(t,"noTraverse");t.Execute(this.objectSets.selectedObjects,{inverse:!0,noBubble:!0,noTraverse:n})},resetHiddenObjects:function(e){new XO(this,this.objectSets.hiddenObjects,e).Execute(this.objectSets.hiddenObjects,{inverse:!0,noBubble:!0}),this.renderGPUPickTextureNeeded(),this.draw()},resetWorkingObjects:function(e){if(e){var t=this.checkSelectionMode("isolated");t&&this.resetIsolationMode(),new TX(this,this.objectSets.workingObjects,"working",e).Execute(this.objectSets.workingObjects,{inverse:!0,noBubble:!0}),t&&this.setIsolationMode()}else this.makeColoredSet([]);this.triggerObjectSetChangedEvent("workingObjects")},resetColoredObjects:function(e){new DG(this,this.objectSets.coloredObjects,e).Execute(this.objectSets.coloredObjects,{inverse:!0,noBubble:!0}),this.triggerObjectSetChangedEvent("coloredObjects")},resetAllObjectSets:function(e){this.resetSelectedObjects(e),this.resetHiddenObjects(e),this.resetWorkingObjects(e),this.resetColoredObjects(e)},moveSelectedObjectsToWorkingObjects:function(){var e=new aT(this,this.objectSets.selectedObjects);e.Execute(this.objectSets.selectedObjects,{inverse:!0,noBubble:!0}),this.objectSets.workingObjects=e.deselectedObjects},addSelectedObjectsToWorkingObjects:function(){this.objectSets.workingObjects=[],this.addObjectsToWorkingSet(this.objectSets.selectedObjects)},setIsolationMode:function(){this.isolateSelectedObjects&&this.objectSets.selectedObjects.length>0&&this.addSelectedObjectsToWorkingObjects(),new xV(this,this.objectSets.workingObjects).Execute(this.objectSets.workingObjects,{noBubble:!0}),this.renderGPUPickTextureNeeded()},resetIsolationMode:function(){new xV(this).Execute(this.objectSets.workingObjects,{inverse:!0}),this.renderGPUPickTextureNeeded()},adaptMakeColoredSetParams:function(e){var t=this;if(!(e.length>0&&e[0]instanceof cF)){var n=[],i={};return e.forEach(function(r){var l=t.getObject(r.id);!l&&Object.hasOwn(r,"elementId")&&(l=t.getObject(r.elementId)),l&&(n.push(l),r.color&&(i[l.id]=r.color))}),{objects:n,colors:i}}},makeColoredSet:function(e){var t=this.checkSelectionMode("isolated"),n=this.checkSelectionMode("hideIsolated"),i=this.checkSelectionMode("clipIsolated");new DG(this).Execute(this.objectSets.workingObjects,{noBubble:!0,inverse:!0}),this.triggerObjectSetChangedEvent("workingObjects"),t&&this.resetIsolationMode(),n&&this.resetHideIsolateObjects(),this.removeObjectsFromWorkingSet(this.objectSets.workingObjects),this.objectSets.workingObjects=[];var r=new DG(this,this.objectSets.workingObjects),l=this.adaptMakeColoredSetParams(e);l?r.Execute(l.objects,{noBubble:!0,colors:l.colors}):r.Execute(e,{noBubble:!0}),this.triggerObjectSetChangedEvent("workingObjects"),t&&this.setIsolationMode(),n&&this.hideIsolateObjects(),i&&this.clipObjects(!0),this.objectSets.selectedObjects.length>0&&(new aT(this).Execute(this.objectSets.selectedObjects),this.triggerObjectSetChangedEvent("selectedObjects")),this.draw()},resetSelectionMode:function(){var e,t;return this.resetObjectUnderMouse(),this.unsetSelectionMode("isolated"),this.unsetSelectionMode("clipIsolated"),this.unsetSelectionMode("hideIsolated"),this.unsetSelectionMode("hidden"),this.unsetSelectionMode("section"),this._unsetSelectionModesMarkups(""),this.unsetSelectionMode("moveModel"),this.unsetSelectionMode("selectSectionPlane"),this.resetAllObjectSets(),this.setSelectionMode(),(e=this.content)===null||e===void 0||e.getClashes().resetSelectedClash(this),(t=this.content)===null||t===void 0||t.getClashes().resetClashScene(this),this},checkSelectionMode:function(e,t){var n=!1;return e?(n=this.selectionMode.indexOf(e)!==-1,t&&(n&=this.selectionMode.length===1)):n=!!this.selectionMode.length,n},isMarkupMode:function(){return this.isMarkupModeTurnedOff()||this.isMeasureMode()||this.isLabelMode()||this.isAnnotationMode()},isMarkupModeTurnedOff:function(){return this.checkSelectionMode("markupTurnedOff")},isMeasureMode:function(){return this.checkSelectionMode("measurePerpendicular")||this.checkSelectionMode("measureFree")||this.checkSelectionMode("measureAngle")||this.checkSelectionMode("measureLocalPoint")||this.checkSelectionMode("measureCalibratedPoint")||this.checkSelectionMode("measureEdge")||this.checkSelectionMode("measureAutoEdges")||this.checkSelectionMode("laserMeasurement")||this.checkSelectionMode("localCoordSystemCreation")||this.checkSelectionMode("localCoordSystemDefined")},isLabelMode:function(){return this.checkSelectionMode("objectProps")},isAnnotationMode:function(){return this.checkSelectionMode("annotation")},isOverlayPointInputMode:function(){return this.checkSelectionMode("selectPointsForOverlay")},isSelectSectionPlane:function(){return this.checkSelectionMode("selectSectionPlane")},isFingerprintInputMode:function(){return this.isMarkupMode()||this.isOverlayPointInputMode()||this.isSelectSectionPlane()},_unsetSelectionModesMarkups:function(e){e!=="measurePerpendicular"&&this.unsetSelectionMode("measurePerpendicular"),e!=="measureFree"&&this.unsetSelectionMode("measureFree"),e!=="measureAngle"&&this.unsetSelectionMode("measureAngle"),e!=="measureLocalPoint"&&this.unsetSelectionMode("measureLocalPoint"),e!=="measureCalibratedPoint"&&this.unsetSelectionMode("measureCalibratedPoint"),e!=="measureEdge"&&this.unsetSelectionMode("measureEdge"),e!=="measureAutoEdges"&&this.unsetSelectionMode("measureAutoEdges"),e!=="lasermeasurement"&&this.unsetSelectionMode("laserMeasurement"),e!=="localCoordSystemCreation"&&this.unsetSelectionMode("localCoordSystemCreation"),e!=="localCoordSystemDefined"&&this.unsetSelectionMode("localCoordSystemDefined"),e!=="annotation"&&this.unsetSelectionMode("annotation"),e!=="objectProps"&&this.unsetSelectionMode("objectProps"),e!=="markupTurnedOff"&&this.unsetSelectionMode("markupTurnedOff")},hasLabels:function(){return this.markups.has("labels")},hasAnnotations:function(){return this.markups.has("annotations")},hasMeasurements:function(){return this.markups.has("dimensions")},resetLabels:function(){this.markups.removeAll("labels")},resetAnnotations:function(){this.markups.removeAll("annotations")},resetMeasurements:function(){this.markups.removeAll("dimensions")},getRotationCenter:function(){return this.rotationCenter},setRotationCenter:function(e){var t;this.rotationCenter=e?e.clone():(t=this.visibleGeometryBoundingSphere)===null||t===void 0?void 0:t.center.clone()},setCameraResetAxis:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Iu.CAMERA_FLIGHT;return console.debug("setCameraResetAxis axis= ".concat(e," fly=").concat(t)),this.resetCameraAxis=e,this.resetCamera(t)},setSectionAxis:function(e){var t=this.getContentBoundingBox();t!=null&&t.isValid()&&(this.camera.updateProjectionMatrix(),this.camera.updateMatrixWorld(),e&&(this.camera.position.x===t.getCenterX()&&(this.camera.position.x-=319.1),this.camera.position.y===t.getCenterY()&&(this.camera.position.y+=319.1),this.unsetSelectionMode("section"),this.unsetSelectionMode("selectSectionPlane"),e==="Free"?this.setSelectionMode("selectSectionPlane"):(this.setSelectionMode("section"),this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()?this.clippingPlanes.addSectionAxis(e):this.clippingPlanes.setSectionAxis(e),this.clippingPlanes.addNewPlaneIsOn=!1),this.clippingPlanes.onUpdateSectionParams(),this.clippingPlanes.storeClippingPlanes(),Iu.updatePerspectiveCamera(this.camera,!0),this.draw()))},setViewportSize:function(e,t){var n=$(this.domElement),i=e||Math.floor(n.innerWidth()),r=t||Math.floor(n.innerHeight());i!==0&&r!==0&&(this.gpuPicker.resize(i,r),this.defaultPassChain.resizeViewport(i,r),this.ssaoSupported&&this.ssaoPassChain&&this.ssaoPassChain.resizeViewport(i,r),this.camera.aspect=i/r,this.camera.updateProjectionMatrix(),this.orthoCamera.left=-i/2,this.orthoCamera.right=i/2,this.orthoCamera.top=r/2,this.orthoCamera.bottom=-r/2,this.orthoCamera.updateProjectionMatrix(),this.camera.type==="orthographic"&&Iu.resizeOrthographicFrustum(this.camera,i,r),this.renderer&&this.renderer.setSize(i,r,!0),this.renderGPUPickTextureNeeded(),this.draw())},resetViewport:function(){var e,t;console.debug("Viewport3d::resetViewport - name = '".concat(this.name,"'")),window.BimPlus.AnimationPending=0,this.resetAllObjectSets(),this.disposeObjects(this.pins.pinsObjects3D),this.objectSets.selectedObjects=[],this.disposeObjects(this.root),this.templateObjects={},this.templates=[],this.renderQueue.dispose(),(e=this.content)===null||e===void 0||e.getDivisions().hideDivisionBoundingBox(this),(t=this.content)===null||t===void 0||t.getDivisions().reset(),this.normFactor=1,this.sectionCuts.dispose(),this.overlays.clear(),this.disciplineNodeMeshScene.clearMeshes(),this.nodeMeshes.dispose(),this.content&&this.content.dispose(),this.transformControls&&this.transformControls.detach(),this.draw()},getScenePars:function(){var e,t=this.camera.fov?this.camera.fov:1,n=$(this.domElement),i=n.width()/n.height();this.calculateVisibleGeometryBoundaries();var r=new qe,l=new qe;return r=this.visibleGeometryBoundingBox.getSize(r),l=this.visibleGeometryBoundingBox.getCenter(l),e=Math.sqrt(r.x*r.x+r.y*r.y)/(i*Math.tan(t*Math.PI/360))/2,isFinite(e)||(e=0),{camera:{fov:this.camera.fov,far:this.camera.far,near:this.camera.near,position:{x:l.x,y:l.y,z:e+l.z+r.z/2}},controls:{target:{x:l.x,y:l.y,z:l.z}}}},restoreViewbox:(V_e=yi(Jt().mark(function o(){var e;return Jt().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e=this.visibleGeometryBoundingBox.getBoundingSphere(new Es),t.next=1,Iu.centerBoundingSphere(this.camera,this.controls,this,e,Iu.CAMERA_FLIGHT);case 1:case"end":return t.stop()}},o,this)})),function(){return V_e.apply(this,arguments)}),resetCamera:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Iu.NO_CAMERA_FLIGHT;return this.camera.zoom=1,Iu.resetCamera(this.camera,this.controls,this,e)},setSlideScene:function(e,t,n){return this.slides.setSlideScene(e,t,n)},doubleClick:function(e){e.preventDefault()},contextMenu:function(e){e.preventDefault()},controlsUpdated:function(e){e.data.self.draw()},setTargetToObject:function(e,t){Iu.setCameraTargetToObject(this.camera,this.controls,this,e,t)},calculateBoundingBox:function(e){return this.getObject(e).getBoundingBox(this.getObjectsContainer())},pointMatchingCameraToggle:function(e,t){t.type!=="orthographic"?e.toggleCameraType(e):(e.controls.object=e.camera,e.renderGPUPickTextureNeeded(),e.draw())},setPointMatchingCamera:function(){var e=this;if(!e.isCameraFlightInProgress()){e.cameraBeforePointMatching.type=e.camera.type,e.pointMatchingCameraToggle(e,e.camera),e.controls.isPointMatching=!0,e.copyCameraAttributes(e.cameraBeforePointMatching,e.camera),e.cameraBeforePointMatching.target=e.controls.target.clone(),e.camera.zoom=1;var t=e.clippingPlanes.getActiveClippingPlane(),n=e.clippingPlanes.getActiveClippingPlaneMaterial(),i=new $r;n.getWorldQuaternion(i);var r=new qe;r.copy(t.normal),r.normalize();var l=e.dynamicDrawRange._geoBoundingSphere.radius,a=e.controls.getLastDragRotationCenter();a||(a=e.rotationCenter);var s=new Qi;s.makeRotationFromQuaternion(i);var u=new qe,v=new qe,f=new qe;s.extractBasis(u,v,f);var h=a.clone(),g=h.clone().add(r.clone().multiplyScalar(l));return Iu.alignCameraOrhographic(e.camera,e.controls,e,g,h,v,l,Iu.CAMERA_FLIGHT)}},unsetPointMatchingCamera:function(){var e=this;if(!e.isCameraFlightInProgress()){e.pointMatchingCameraToggle(e,e.cameraBeforePointMatching),e.controls.isPointMatching=!1,e.camera.zoom=1;var t=e.camera,n=e.controls,i=e.cameraBeforePointMatching.position.clone(),r=e.cameraBeforePointMatching.target.clone(),l=e.cameraBeforePointMatching.up,a=e.cameraBeforePointMatching.quaternion.clone();Iu.cameraFlyTo(t,n,e,i,r,l,a)}},copyCameraAttributes:function(e,t){e.name=t.name,e.up.copy(t.up),e.position.copy(t.position),e.rotation.copy(t.rotation),e.aspect=t.aspect,e.fov=t.fov,e.quaternion.copy(t.quaternion)},toggleProjectionMode:function(e){e.toggleCameraType(e),e.controls.reset();var t=e.visibleGeometryBoundingBox.getBoundingSphere(new Es);Iu.centerBoundingSphere(e.camera,e.controls,e,t,Iu.CAMERA_FLIGHT)},toggleCameraType:function(e){e.camera.type==="perspective"?(e.perspectiveCamera=e.camera,e.camera=e.orthographicCamera,e.camera.type="orthographic",e.copyCameraAttributes(e.camera,e.perspectiveCamera),e.controls.updateOrthographicFrustum()):(e.orthographicCamera=e.camera,e.camera=e.perspectiveCamera,e.camera.type="perspective",e.copyCameraAttributes(e.camera,e.orthographicCamera)),e.transformControls&&(e.transformControls.camera=e.camera),e.controls.object=e.camera,e.renderGPUPickTextureNeeded(),e.draw()},isPerspectiveCamera:function(){var e;return(this==null||(e=this.camera)===null||e===void 0?void 0:e.type)==="perspective"},isOrthographicCamera:function(){var e;return(this==null||(e=this.camera)===null||e===void 0?void 0:e.type)==="orthographic"},mouseDown:function(e){var t,n=e.data.self;if(!n.isCameraFlightInProgress()){var i=e.offset?e.offset:$(this).offset(),r=n.hasTouches(e,1),l=n.hasTouches(e,2),a=n.hasTouches(e,3);n.mouseDownEventOfRenderer=!0,n!=null&&(t=n.transformControls)!==null&&t!==void 0&&t.dragging?n.renderQueue.setInteractionMode(!0):(n.touchWithOneFinger=!0,(l||a)&&(n.touchWithOneFinger=!1),r&&n.presstimer===null&&(n.isLongPress=!1,n.presstimer=setTimeout(function(){n.isLongPress=!0},500)),n.mouseClick=!0,n.renderQueue.setInteractionMode(!0),e.button!==0&&!r||Gw.isValid(e)?e.button===1?n.mouseDownButton=1:(e.button===2||l||a)&&(e.preventDefault(),n.mouseDownButton=2):(e.preventDefault(),n.mouseDownButton=0,r&&(n.mouse.x=e.originalEvent.touches[0].clientX-i.left,n.mouse.y=e.originalEvent.touches[0].clientY-i.top,n.isFingerprintInputMode()&&n.fingerprintCursor.isMouseOver(e)&&(n.singleTouchFingerprintOffset=-n.fingerprintCursor.FINGERPRINT_OFFSET,n.mouse.y+=n.singleTouchFingerprintOffset))),n.isFrameSelectionEvent=Gw.isValid(e),n.multiSelect=Gw.isValid(e))}},mouseMove:function(e){var t,n=e.data.self;if(!n.isCameraFlightInProgress()){var i=e.offset?e.offset:$(this).offset(),r=n.hasTouches(e,1),l=n.hasTouches(e,2),a=n.hasTouches(e,3),s=e.clientX-i.left===n.mouse.x&&e.clientY-i.top+n.singleTouchFingerprintOffset===n.mouse.y;if(!n.isCameraFlightInProgress()&&!(n!=null&&(t=n.transformControls)!==null&&t!==void 0&&t.dragging||(r&&(s=e.originalEvent.touches[0].clientX-i.left===n.mouse.x&&e.originalEvent.touches[0].clientY-i.top+n.singleTouchFingerprintOffset===n.mouse.y),n.cancelLongPress(),s)))if(r?(n.mouse.x=e.originalEvent.touches[0].clientX-i.left,n.mouse.y=e.originalEvent.touches[0].clientY-i.top+n.singleTouchFingerprintOffset):l?(n.mouse.x=(e.originalEvent.touches[0].clientX+e.originalEvent.touches[1].clientX)/2-i.left,n.mouse.y=(e.originalEvent.touches[0].clientY+e.originalEvent.touches[1].clientY)/2-i.top):a?(n.mouse.x=e.originalEvent.touches[1].clientX-i.left,n.mouse.y=e.originalEvent.touches[1].clientY-i.top):(n.mouse.x=e.clientX-i.left,n.mouse.y=e.clientY-i.top),n.controls.processMouseMove(e),n.fingerprintCursor.processMouseMove(e),r&&n.isFingerprintInputMode()&&n.fingerprintCursor.fingerprintHit){n._applyHoverEffect();var u,v=!0;n.isMarkupMode()&&n.markups.mouseMove(e)&&(v=!1),v&&((u=n.currentInteractor)===null||u===void 0||u.processMouseMove(e))}else{r&&(n.controls.isPinching()&&n.controls.finishPinch(),n.controls.isPaning()&&n.controls.finishPan(e)),l&&(n.controls.isPaning()&&n.controls.finishPan(e),n.controls.isPinching()||n.controls.startPinch(),n.controls.processPinch(e)),a&&n.controls.isPinching()&&n.controls.finishPinch(),n.controls.isDragging()&&n.controls.processDrag(e);var f=n.mouseDownButton===0||n.mouseDownButton===1||n.mouseDownButton===2;if(!n.isFrameSelectionEvent&&f||r&&!n.mouseClick||l||a){var h;n.mouseClick&&(n.controls.supportsGPUPicking()&&n.pickGPU(),n.objectUnderMouse||n.setObjectUnderMouse(n.sectionCuts.getVisualObjectForMesh()),n.objectUnderMouse||n.setObjectUnderMouse(n.overlays.getVisualObjectForMesh()),n.controls.canStartDrag()?(n.isMarkupMode()&&n!=null&&(h=n.currentInteractor)!==null&&h!==void 0&&h.preview&&n.currentInteractor.name!=="MarkupNoInputInteractor"&&n.currentInteractor.name!=="LocalCoordSystemInteractor"&&(Array.isArray(n.currentInteractor.preview)?n.currentInteractor.preview.forEach(function(I){return I.setLabelVisible(!1)}):n.currentInteractor.preview.setLabelVisible(!1)),n.controls.startDrag(n.mouseDownButton,e)):n.controls.isDragging()&&n.controls.finishDrag(e)),n.mouseClick=!1}else{var g;n.isFrameSelectionEvent||n._applyHoverEffect(),n.isMarkupMode()?n.markups.mouseMove(e)||(g=n.currentInteractor)===null||g===void 0||g.processMouseMove(e):(n.checkSelectionMode("moveModel")||n.checkSelectionMode("selectSectionPlane")||n.checkSelectionMode("selectPointsForOverlay"))&&n.currentInteractor.processMouseMove(e)}}}},mouseUp:function(e){var t=e.data.self;if(!t.isCameraFlightInProgress()&&t.mouseDownEventOfRenderer){if(t.mouseDownEventOfRenderer=!1,t.cancelLongPress(),e.isLongPress=t.isLongPress,t.renderQueue.setInteractionMode(!1),t.fillRenderQueue(),clearTimeout(t.clickTimer),t.clickTimer=setTimeout(function(){t.clickCount=0},t.doubleClickDelay),t.clickCount>0){var n=null,i=null;if(t.isMarkupMode()&&(i=t.markups.mouseUpDblClick(e)),i)t.centerObjects(i.getObjectIds());else if(n=t.objectUnderMouse,t.controls.supportsGPUPicking()&&t.pickGPU(),t.touchWithOneFinger===!0)if(t.objectUnderMouse&&!t.isTouchMode())t.centerObjects([t.objectUnderMouse.id]);else{var r=t.overlays.getVisualObjectForMesh();r!=null&&r.mesh&&t.centerOverlay(r.mesh)}return t.setObjectUnderMouse(n),t.mouseClick=!1,t.mouseDownButton=null,t.isFrameSelectionEvent=!1,t.multiSelect=!1,t.controls.isDragging()&&t.controls.finishDrag(e),t.clickCount=0,void t.renderGPUPickTextureNeeded()}if(t.clickCount++,t.controls.isDragging()&&(t.controls.finishDrag(e),t.draw()),t.controls.isPinching()&&(t.controls.finishPinch(),t.draw()),t.controls.isPaning()&&(t.controls.finishPan(),t.draw()),t._resetHoverEffect(),t.mouseClick&&t.mouseDownButton===0){var l,a=(l=t.content)===null||l===void 0?void 0:l.getClashes();if(a&&a.getCurrentClashFilter()!==null){a.resetSelectedClash(t),a.resetClashScene(t);var s=t.getNDCVector(),u=t.projector.pickingRay(s,t.camera).ray,v=t.clashesRenderQueue.castRayToClashes(u,200);if(v)return t.setObjectUnderMouse(v),a.setSelectedClash(v.getClashObject(),t),t.resetSelectedObjects(),$(t.domElement).trigger("select3DObject"),t.mouseClick=!1,t.mouseDownButton=null,void t.draw()}t.controls.supportsGPUPicking()&&t.pickGPU(),t.objectUnderMouse||t.setObjectUnderMouse(t.overlays.getVisualObjectForMesh());var f=!1;t.isMarkupMode()&&(f=t.markups.mouseUp(e)),f||t.controls.processClick(e)}t.mouseClick=!1,t.mouseDownButton=null,t.singleTouchFingerprintOffset=0,t.isMarkupMode()&&(t.markups.mouseActionNeedsLabelUpdate(e),t.fingerprintCursor.mouseUp()),t.renderGPUPickTextureNeeded(),t.draw()}},_mouseWheelBrowserSpecificDelta:function(e){return e.originalEvent.wheelDelta?e.originalEvent.wheelDelta:e.originalEvent.detail?-e.originalEvent.detail:void 0},mouseWheel:function(e){var t=e.data.self;if(!t.isCameraFlightInProgress()){var n=t._mouseWheelBrowserSpecificDelta(e);t.renderQueue.setInteractionMode(!0),e.preventDefault(),e.stopPropagation(),t.controls.processMouseWheel(n,e),t.isMarkupMode()&&t.markups.mouseActionNeedsLabelUpdate(e),clearTimeout($.data(e.target,"tid")),$.data(e.target,"tid",setTimeout(function(){t.renderQueue.setInteractionMode(!1),t.renderGPUPickTextureNeeded(),t.fillRenderQueue(),t.draw()},250)),t.draw()}},mouseOut:function(e){var t=e.data.self;t._resetHoverEffect(),t.mouse.x=-1,t.mouse.y=-1,t.draw()},restoreZoom:function(){var e=this;return e.resetSelectionMode(),e.cameraBackup?(this.controls.target.set(e.cameraBackup.target.x,e.cameraBackup.target.y,e.cameraBackup.target.z),this.camera.position.set(e.cameraBackup.position.x,e.cameraBackup.position.y,e.cameraBackup.position.z),this.camera.quaternion.set(e.cameraBackup.quaternion[0],e.cameraBackup.quaternion[1],e.cameraBackup.quaternion[2],e.cameraBackup.quaternion[3]),this.camera.up.set(e.cameraBackup.up.x,e.cameraBackup.up.y,e.cameraBackup.up.z),Iu.updatePerspectiveCamera(this.camera,!1),this.setViewportSize(),Promise.resolve()):e.resetCamera(Iu.CAMERA_FLIGHT)},backupCameraView:function(){Iu.backupCameraView(this,this.camera,this.controls)},zoomToObject:(function(){var o=yi(Jt().mark(function e(t){return Jt().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:Iu.zoomToObject(this.camera,this.controls,this,t);case 1:case"end":return n.stop()}},e,this)}));return function(t){return o.apply(this,arguments)}})(),zoomToObjects:(function(){var o=yi(Jt().mark(function e(t){return Jt().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:Iu.zoomToObjects(this.camera,this.controls,this,t);case 1:case"end":return n.stop()}},e,this)}));return function(t){return o.apply(this,arguments)}})(),isCameraFlightInProgress:function(){return this.cameraFlightInProgress},getRayIntersectedObjects:function(e){var t,n,i,r,l=this,a=this.getNDCVector(),s=this.objectUnderMouse,u=[],v=[],f=0;if(this.camera.updateProjectionMatrix(),this.camera.updateMatrixWorld(),n=this.projector.pickingRay(a,this.camera),e)v=n.intersectObjects(e.children,!0);else if(s){var h=this.getObjectsContainer().getObjectRoot(s);if(h.hasOwnGeometry())if(h.meshesData.length===0)u.push(h.getMesh(l,0));else{var g,I=QP(h.meshesData.entries());try{for(I.s();!(g=I.n()).done;){var w=Mu(g.value,1)[0];(t=h.getMesh(l,w))&&u.indexOf(t)===-1&&u.push(t)}}catch(S){I.e(S)}finally{I.f()}}else this.getObjectsContainer().traverseDown(h,function(S){var N,x=QP(S.meshesData.entries());try{for(x.s();!(N=x.n()).done;){var y=Mu(N.value,1)[0];(t=S.getMesh(l,y))&&u.indexOf(t)===-1&&u.push(t)}}catch(F){x.e(F)}finally{x.f()}});v=n.intersectObjects(u)}if(s=null,v.length){for(this.checkSelectionMode("section")&&this.clippingPlanes.intersects(n,0)&&(f=0),i=0,r=v.length;i<r;i++)if(v[i].distance>f){s=v[i];break}}return s},getNDCVector:function(e,t){var n=new Bi,i=(n=this.renderer.getSize(n)).x/2,r=n.y/2,l=e||this.mouse.x,a=t||this.mouse.y;return new qe(l/i-1,1-a/r,.5)},addLights:function(e,t){var n,i,r,l=t;for(n=0,i=l.length;n<i;n++)l[n].type==="ambient"?e.add(new lX(l[n].color)):l[n].type==="directional"?((r=new TG(l[n].color,l[n].intensity)).position.copy(l[n].position),e.add(r)):l[n].type==="spot"?console.debug("[Renderer] addLights - no spot lights defined at the moment"):l[n].type==="point"?console.debug("[Renderer] addLights - no point lights defined at the moment"):l[n].type==="hemisphere"&&e.add(new Qne(l[n].skyColorHex,l[n].groundColorHex,l[n].intensity||1))},toggleDisciplinesOpacity:function(e,t){var n,i,r,l=this.content.getDisciplines();for(n=0,r=l.length;n<r;n++)(i=l[n]).isCollisionLayer||i.isRevisionComparisonLayer||(i.visible||t)&&this.setDisciplineOpacity(i,e?i.opacity:null);return this},toggleClashDisciplineOpacity:function(e){var t,n,i,r=this.content.getDisciplines();for(t=0,i=r.length;t<i;t++)(n=r[t]).isCollisionLayer&&n.visible&&this.setDisciplineOpacity(n,e?n.opacity:null);return this},disposeObjects:function(e,t,n){if(e)for(var i;e.children.length;)i=e.children[0],t=t||i.node,n=n||i.discipline,i&&i.node===t&&i.discipline===n&&(i.geometry?i.geometry.dispose():i.children.length&&this.disposeObjects(i),e.remove(i),i=null)},traverseObjectNode:function(e,t){var n=this.getObjectsContainer().getObject(e.id);n&&this.getObjectsContainer().traverseDown(n,function(i){t(i)})},toggleObjectNode:function(e){var t=this,n=this.content.getClashes().getClashElement(e.id);n&&n.getClashObject().setVisible(e.visible),this.traverseObjectNode(e,function(i){e.visible?(i.visible=!0,i.show(t)):(i.visible=!1,i.hide(t))}),this.draw()},toggleObjectNodeOpacity:function(e){var t=this,n=this.content.getClashes().getClashElement(e.id);n&&n.getClashObject().setBackground(e.opacity<1),this.traverseObjectNode(e,function(i){return i.setBackground(t,e.opacity<1)}),this.draw()},displayCollisionElement:function(e,t){if(this.content){var n=this.content.getClashes().getClashObjectForClashElementId(e);n&&n.setVisible(t)}},displayRevisionCompareElement:function(e,t,n){var i=this.findSubsetIdsObjects(e);if(i.length>0){var r,l=QP(i);try{for(l.s();!(r=l.n()).done;){var a=r.value;(!n||a.compareTo===n)&&(t?this.showObject(a):this.hideObject(a))}}catch(s){l.e(s)}finally{l.f()}}},findSubsetIdsObjects:function(e){return this.getObjectsContainer().findSubsetIdsObjects(e)},filterRevisionCompareElements:function(e,t,n){var i=this;if(e&&e.length>0){var r=this.checkSelectionMode("isolated");r&&this.disposeIsolatedSet(),e.forEach(function(l){var a,s=QP(i.findSubsetIdsObjects(l));try{for(s.s();!(a=s.n()).done;){var u=a.value;u.compareTo&&(u.compareTo===n&&n!==0&&t.contains(u.discipline)?i.showObject(u):i.hideObject(u))}}catch(v){s.e(v)}finally{s.f()}}),r&&this.makeIsolatedSet()}},displayRevisionCompareOriginalElements:function(e,t){var n=this;if(e&&e.length>0){var i=this.checkSelectionMode("isolated");i&&this.disposeIsolatedSet(),e.forEach(function(r){var l=n.findSubsetIdsObjects(r);if(l.length>0){var a,s=QP(l);try{for(s.s();!(a=s.n()).done;){var u=a.value;t?n.showObject(u):n.hideObject(u)}}catch(v){s.e(v)}finally{s.f()}}}),i&&this.makeIsolatedSet()}},setDisciplineOpacity:function(e,t){var n=this,i=this.getGeometryNodes().nodelist,r=e.id;t=t||this.disciplineOpacity,i.nodes.forEach(function(l){if(Object.hasOwn(i,l)&&i[l][r]&&i[l].divisionTopologyId===e.divisionTopologyId){var a=e.opaque?e.selectedUserOpacity:void 0;n.getGeometryNodes().setNodeDisciplineOpacity(l,r,t,a)}}),this.draw()},showPins:function(e,t){return e?(this.pins.showPins(e,t),this):this},hidePins:function(){return this.pins.hidePins(),this},getPinObject:function(){return this.deferred=$.Deferred(),this.setSelectionMode("addPin"),this.deferred},cancelAddPin:function(){this.checkSelectionMode("addPin")&&(this.deferred.reject(),this.unsetSelectionMode("addPin"))},getSlideThumbnail:function(){return this.slides.getSlideThumbnail()},getSlideThumbnailBlob:function(e,t){return this.slides.getSlideThumbnailBlob(e,t)},getSlideParams:function(){return this.slides.getSlideParams()},showRelatedObject:function(e){return this.pins.zoomToPin(e)},highlightPin:function(e){this.pins.highlightPin(e)},resetPinsMaterial:function(){this.pins.resetPinsMaterial()},refreshIsolatedSet:function(){this.checkSelectionMode("isolated")&&(this.disposeIsolatedSet(),this.makeIsolatedSet())},colorizeObjects:function(e,t){var n=this.getObjectsContainer().getObjects(e);this.addObjectsToColoredSet(n,t),this.draw()},hoverObject:function(e){this.lastObjectUnderMouse=this.objectUnderMouse,this.objectUnderMouseChanged=!0,this.objectUnderMouse=this.getObjectsContainer().getObject(e),this._setHoverEffect()},resetHoveredObject:function(){this._resetHoverEffect()},updateStats:function(){var e,t=this,n=$("#debug").data("st"),i=(e=window)!==null&&e!==void 0&&(e=e.performance)!==null&&e!==void 0&&e.memory?(window.performance.memory.jsHeapSizeLimit/1e9).toFixed(2)+" GB":"N/A";n&&(n.update(),$("div#debug > div#renderInfo").html("Shaders: "+t.renderer.info.memory.programs+"<br />Calls: "+t.renderer.info.render.calls+"<br />Triangles: "+(t.renderer.info.render.faces/1e6).toFixed(2)+" M<br />Meshes: "+t.root.children.length+"<br />Chrome JS heap: "+i+"<br />Chrome buffer: "+(t.maxWebGLBufferSize/1e9).toFixed(2)+" GB<br /><br />Objects<br />Total: "+t.getObjectsContainer().getObjectCount()))},isTouchMode:function(){return localStorage.getItem("inTouchMode")==="true"},cancelLongPress:function(){this.presstimer!==null&&(clearTimeout(this.presstimer),this.presstimer=null)},hasTouches:function(e,t){var n;return(e==null||(n=e.originalEvent)===null||n===void 0?void 0:n.touches)&&e.originalEvent.touches.length===t},disableDraw:function(e){this.drawDisabled=e,e===!0&&this.cancelDrawRequest()},getObject:function(e){return this.getObjectsContainer().getObject(e)},setLocalizationFnc:function(e){e instanceof Function&&(this.textLocalizationFnc=e)},modifyPreviewArrowPosition:function(e,t,n){var i;(i=this.currentInteractor)!==null&&i!==void 0&&i.modifyPreviewArrowPosition&&(this.currentInteractor.modifyPreviewArrowPosition(e,t,n),this.draw())},setMultiselect:function(e){this.forceMultiSelect=e},setSingleObjectSelection:function(e){this.forceSingleObjectSelection=e},escapeKeyPressed:function(){if(this.currentInteractor)return this.currentInteractor.name==="MeasurePerpendicularInteractor"||this.currentInteractor.name==="MeasureFreeInteractor"||this.currentInteractor.name==="MeasureAngleInteractor"||this.currentInteractor.name==="AnnotationInteractor"||this.currentInteractor.name==="LocalCoordSystemInteractor"||this.currentInteractor.name==="SelectPointsForOverlayInteractor"?(this.currentInteractor.cancel(),void this.currentInteractor.start()):void(this.currentInteractor.name==="SectionPlaneInteractor"&&(this.currentInteractor.cancel(),this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&!this.deleteActivePlanePossible()&&this.setSinglePlaneMode(),this.clippingPlanes.restoreClippingPlanes(),this.clippingPlanes.setEnabled(!0),this.clippingPlanes.addNewPlaneIsOn=!1,this.clippingPlanes.onUpdateSectionParams()))},getCommandPolicy:function(e,t){var n=e.GetCommandName();if(this.commandPolicies[n]!==void 0&&this.commandPolicies[n][t]!==void 0)return this.commandPolicies[n][t]},calculateDefaultBoundingBox:function(){this.visibleGeometryBoundingBox.set(new qe(-1,-1,-1),new qe(1,1,1)),this.visibleGeometryBoundingBox.getBoundingSphere(this.visibleGeometryBoundingSphere)},calculateVisibleGeometryBoundaries:function(){this.visibleGeometryBoundingBox.makeEmpty();var e=this.getGeometryNodes();return!!e&&(this.visibleGeometryBoundingBox=e.calculateVisibleGeometryBoundingBox(this.visibleGeometryBoundingBox),this.visibleGeometryBoundingBox.isEmpty()?(this.calculateDefaultBoundingBox(),!1):(this.visibleGeometryBoundingBox.getBoundingSphere(this.visibleGeometryBoundingSphere),!0))},calculateDrawRange:function(){this.dynamicDrawRange.calculateDrawRange(this)},useTranslationForTransformControls:function(){this.transformControls.setMode("translate"),this.updateTransformControls(!1)},useScaleForTransformControls:function(){this.transformControls.setMode("scale"),this.updateTransformControls(!1)},useRotationForTransformControls:function(){this.transformControls.setMode("rotate"),this.updateTransformControls(!1)},switchVisibilityOfTransformControls:function(){this.updateTransformControls(!0)},updateTransformControls:function(e){this.transformControls.visible=!e||!this.transformControls.visible,this.transformControls.visible===!1?(this.transformControls.showX=!1,this.transformControls.showY=!1,this.transformControls.showZ=!1):this.clippingPlanes.clippingPlaneSettings.useParallelPlane()?(this.transformControls.showX=!0,this.transformControls.showY=this.transformControls.getMode()==="rotate",this.transformControls.showZ=this.transformControls.getMode()==="rotate"):this.clippingPlanes.clippingPlaneSettings.useBoxPlanes()?(this.transformControls.showX=!0,this.transformControls.showY=!0,this.transformControls.showZ=!0):(this.transformControls.showX=!0,this.transformControls.showY=this.transformControls.getMode()==="rotate",this.transformControls.showZ=this.transformControls.getMode()==="rotate",this.transformControls.getMode()==="scale"&&(this.transformControls.showX=!1,this.transformControls.visible=!1)),this.draw()},showClippingFrames:function(e){this.clippingPlanes.showClippingFrames(e),this.draw()},_setPlaneMode:function(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1];this.clippingPlanes.resetActivePlane(),this.clippingPlanes.hideAdditionalClippingPlanes(),this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&this.clippingPlanes.setUseUpVector(!1);var n=this.clippingPlanes.getSectionCutOptions();n.sectionCutPlaneOption=e,this.clippingPlanes.setSectionCutOptions(n,t)},setSinglePlaneMode:function(){this._setPlaneMode("single",!0),this.clippingPlanes.addNewPlaneIsOn=!1},setParallelPlaneMode:function(){this._setPlaneMode("parallel",!0),this.clippingPlanes.addNewPlaneIsOn=!1},setBoxPlaneMode:function(){this._setPlaneMode("box",!0),this.clippingPlanes.addNewPlaneIsOn=!1},setMultiPlaneMode:function(){this._setPlaneMode("multi",!0),this.clippingPlanes.addNewPlaneIsOn=!0},isAxisModeEnabled:function(){var e;return!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()||((e=this.clippingPlanes)===null||e===void 0?void 0:e.areMorePlanesPossible())&&this.clippingPlanes.addNewPlaneIsOn},addNewPlaneClicked:function(){var e=this.clippingPlanes.addNewPlaneIsOn;this.clippingPlanes.addNewPlaneIsOn?this.deleteActivePlanePossible()||this.setSinglePlaneMode():this.clippingPlanes.clippingPlaneSettings.useSinglePlane()&&this.setMultiPlaneMode(),this.clippingPlanes.addNewPlaneIsOn=!e,this.clippingPlanes.addNewPlaneIsOn||this.escapeKeyPressed(),this.clippingPlanes.onUpdateSectionParams()},addNewPlanePossible:function(){return!!this.clippingPlanes.clippingPlaneSettings.useSinglePlane()||!!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&((e=this.clippingPlanes)===null||e===void 0?void 0:e.areMorePlanesPossible());var e},isAddNewPlaneEnabled:function(){return this.addNewPlanePossible()||(this.clippingPlanes.addNewPlaneIsOn=!1),this.clippingPlanes.addNewPlaneIsOn},moveTransformControlToPrevPlane:function(){this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&this.transformControls&&this.clippingPlanes.setTransformControlToPlane(this.clippingPlanes.setPrevPlaneAsActive())},moveToPrevPlanePossible:function(){var e;return!!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&((e=this.clippingPlanes)===null||e===void 0?void 0:e.moveToPrevPlanePossible())},moveTransformControlToNextPlane:function(){this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&this.transformControls&&this.clippingPlanes.setTransformControlToPlane(this.clippingPlanes.setNextPlaneAsActive())},moveToNextPlanePossible:function(){var e;return!!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&((e=this.clippingPlanes)===null||e===void 0?void 0:e.moveToNextPlanePossible())},deleteActivePlaneClicked:function(){this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&this.clippingPlanes.deleteActivePlane(),this.deleteActivePlanePossible()||this.setSinglePlaneMode()},deleteActivePlanePossible:function(){var e;return!!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&((e=this.clippingPlanes)===null||e===void 0?void 0:e.deleteActivePlanePossible())},flipOrientation:function(){this.clippingPlanes.isActivePlaneVisible()&&(this.clippingPlanes.flipOrientation(),this.renderGPUPickTextureNeeded())},currentClippingMode:function(){return this.clippingPlanes.getSectionCutOptions().sectionCutPlaneOption},currentManipulationMode:function(){return this.transformControls.mode},currentManipulationControlVisibility:function(){return this.transformControls.visible},isActivePlaneVisible:function(){var e;return!!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()&&((e=this.clippingPlanes)===null||e===void 0?void 0:e.isActivePlaneVisible())},isFlipPlanePossible:function(){var e;return!this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()||((e=this.clippingPlanes)===null||e===void 0?void 0:e.isActivePlaneVisible())},_onFreePlaneSelected:function(){var e,t=new CustomEvent("onFreePlaneSelected",{bubbles:!0,cancelable:!0}),n=(e=document)===null||e===void 0?void 0:e.getElementById("mainViewportContainer");n&&n.dispatchEvent(t)},setFreePlaneSection:function(e,t){console.debug(`[Renderer] setFreePlaneSection
6000
6000
  normal: (`.concat(e.x.toFixed(2),", ").concat(e.y.toFixed(2),", ").concat(e.z.toFixed(2),`)
6001
6001
  pos: (`).concat(t.x.toFixed(2),", ").concat(t.y.toFixed(2),", ").concat(t.z.toFixed(2),`)
6002
6002
  `)),this.clippingPlanes.addNewPlaneIsOn=!1,this.clippingPlanes.clippingPlaneSettings.useMultiPlanes()?this.clippingPlanes.addSection(e,t):this.clippingPlanes.setSection(e,t,!0,!0),this.clippingPlanes.storeClippingPlanes(),this._onFreePlaneSelected()},emptySectionCutSceneForSectionCutGeometry:function(){this.sectionCuts.emptySectionCutSceneForSectionCutGeometry(),this.draw()},_onOverlayLoaded:function(e){var t,n=new CustomEvent("onOverlayLoaded",{bubbles:!0,cancelable:!0,detail:e}),i=(t=document)===null||t===void 0?void 0:t.getElementById("mainViewportContainer");i&&i.dispatchEvent(n)},createOverlay:(G_e=yi(Jt().mark(function o(e,t,n,i){var r;return Jt().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return l.abrupt("return",(r=this.overlayManager)===null||r===void 0?void 0:r.createOverlay(e,t,n,i));case 1:case"end":return l.stop()}},o,this)})),function(e,t,n,i){return G_e.apply(this,arguments)}),generateOverlay:(j_e=yi(Jt().mark(function o(e,t){var n;return Jt().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=1,this.overlays.generateOverlay(e,t);case 1:return n=i.sent,i.abrupt("return",n);case 2:case"end":return i.stop()}},o,this)})),function(e,t){return j_e.apply(this,arguments)}),loadOverlay:(U_e=yi(Jt().mark(function o(e,t){var n,i;return Jt().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return i=(n=this.overlayManager)===null||n===void 0?void 0:n.loadOverlay(e,t),this.draw(),r.abrupt("return",i);case 1:case"end":return r.stop()}},o,this)})),function(e,t){return U_e.apply(this,arguments)}),loadOverlayList:(H_e=yi(Jt().mark(function o(e,t){var n,i,r;return Jt().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return i=this.getAllLoadedOverlays(),r=e.filter(function(a){return!i.find(function(s){return s===a})}),l.next=1,(n=this.overlayManager)===null||n===void 0?void 0:n.loadOverlayList(r,t);case 1:this.showOverlays(e),this.draw();case 2:case"end":return l.stop()}},o,this)})),function(e,t){return H_e.apply(this,arguments)}),deleteOverlay:(k_e=yi(Jt().mark(function o(e){var t;return Jt().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",(t=this.overlayManager)===null||t===void 0?void 0:t.deleteOverlay(e));case 1:case"end":return n.stop()}},o,this)})),function(e){return k_e.apply(this,arguments)}),clearOverlays:function(){this.overlays.clear(),this.draw()},showOverlays:function(e){this.overlays.setOverlaysVisibility(e,!0),this.draw()},hideOverlays:function(e){this.overlays.setOverlaysVisibility(e,!1),this.draw()},hideAllOverlays:function(){this.overlays.hideAllOverlays(),this.draw()},removeOverlayFromSceneById:function(e){this.overlays.setOverlaysVisibility([e],!1),this.overlays.removeOverlayFromSceneById(e),this.draw()},getAllVisibleOverlays:function(){return this.overlays.getAllVisibleOverlays()},getAllLoadedOverlays:function(){return this.overlays.getAllLoadedOverlays()},setOverlaysTransparency:function(e,t){this.overlays.setOverlaysTransparency(e,t),this.draw()},getOverlayTransparency:function(e){return this.overlays.getOverlayTransparency(e)},startSelectPointsForOverlayInteractor:function(e){var t;if(!e&&!this.clippingPlanes.isEnabled())throw new Error("No clipping plane defined. One plane is needed for overlays");console.debug("[Renderer] selectPointsForOverlay (viewport: ".concat(this==null?void 0:this.name,")")),this.setSelectionMode("selectPointsForOverlay"),e&&((t=this.currentInteractor)===null||t===void 0||t.setfileViewInteractor()),this.draw()},startCrop:function(){var e,t;console.debug("[Renderer] startCrop (viewport: ".concat(this==null?void 0:this.name,")")),((e=this.currentInteractor)===null||e===void 0?void 0:e.name)==="SelectPointsForOverlayInteractor"&&((t=this.currentInteractor)===null||t===void 0||t.startCrop())},confirmCrop:function(){var e,t;console.debug("[Renderer] confirmCrop (viewport: ".concat(this==null?void 0:this.name,")")),((e=this.currentInteractor)===null||e===void 0?void 0:e.name)==="SelectPointsForOverlayInteractor"&&((t=this.currentInteractor)===null||t===void 0||t.confirmCrop())},cancelCrop:function(){var e,t;console.debug("[Renderer] cancelCrop (viewport: ".concat(this==null?void 0:this.name,")")),((e=this.currentInteractor)===null||e===void 0?void 0:e.name)==="SelectPointsForOverlayInteractor"&&((t=this.currentInteractor)===null||t===void 0||t.cancelCrop())},undoCrop:function(){var e,t;console.debug("[Renderer] undoCrop (viewport: ".concat(this==null?void 0:this.name,")")),((e=this.currentInteractor)===null||e===void 0?void 0:e.name)==="SelectPointsForOverlayInteractor"&&((t=this.currentInteractor)===null||t===void 0||t.undoCrop())},redoCrop:function(){var e,t;console.debug("[Renderer] redoCrop (viewport: ".concat(this==null?void 0:this.name,")")),((e=this.currentInteractor)===null||e===void 0?void 0:e.name)==="SelectPointsForOverlayInteractor"&&((t=this.currentInteractor)===null||t===void 0||t.redoCrop())},getHiddenObjectsIds:function(){return this.objectSets.hiddenObjects.map(function(e){return e.id})},isValidSectionCutResult:function(e,t){return e.cuttingPlanes.length>0&&t.cuttingPlanes.length>0&&e.cuttingPlanes[0].cuttingPoint.x===t.cuttingPlanes[0].cuttingPoint.x&&e.cuttingPlanes[0].cuttingPoint.y===t.cuttingPlanes[0].cuttingPoint.y&&e.cuttingPlanes[0].cuttingPoint.z===t.cuttingPlanes[0].cuttingPoint.z&&e.modelLayer.includes(t.modelLayer[0])&&e.topologyNodes===t.topologyNodes&&e.hiddenObjects===t.hiddenObjects},generateSectionCuts:(B_e=yi(Jt().mark(function o(e,t){return Jt().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=1,this.sectionCuts.createMeshesFromGlbResponse(e,t||this.clippingPlanes.getSectionCutOptions());case 1:this.draw();case 2:case"end":return n.stop()}},o,this)})),function(e,t){return B_e.apply(this,arguments)}),setMeasureUnit:function(e,t,n,i){var r;this.units&&this.units[e]&&(this.units[e].unit=t,this.units[e].precision=n,this.units[e].multiplicator=i,(r=this.currentInteractor)!==null&&r!==void 0&&r.setUnit&&this.currentInteractor.setUnit())},getVectorScreenCoordinates:function(e){var t=new Bi;t=this.renderer.getSize(t);var n=e.clone().project(this.camera);return n.x=(n.x+1)*t.x/2,n.y=-(n.y-1)*t.y/2,n.z=0,n},getAmbientOcclusionOptions:function(){return this.ambientOcclusionSettings.get()},setAmbientOcclusionOptions:function(e){this.ambientOcclusionSettings.set(e),this.lightDirection.setFromSphericalCoords(1,e.lightElevation,e.lightRotation),this.lightColor.copy(e.lightColor),this.originalLightColor.copy(e.lightColor),this.ambientLightColor.copy(e.ambientLightColor),this.originalAmbientLightColor.copy(e.ambientLightColor),this.ssaoEnabled=this.ssaoSupported&&e.usage,this.ssaoEnabledInteraction=this.ssaoEnabled&&e.usageForInteraction;var t=e.useShadows&&this.shadowsSupported;this.shadows.setEnabled(t),this.shadowsEnabled=t,this.shadowsEnabledInteraction=t&&e.useShadowsForInteraction},resetAmbientOcclusionOptions:function(){return this.ambientOcclusionSettings.resetToDefault()},setSunPosition:function(e){var t=(function(){return window.moment&&window.moment.tz?window.moment:null})();if(!t)throw new Error("setSunPosition requires moment-timezone to be available. Please install moment-timezone package or inject it globally.");var n=e.northDirection,i=e.year,r=e.month,l=e.day,a=e.hours,s=e.minutes,u=e.timezone,v=e.latitude,f=e.longitude,h=e.showSky,g=i+"-"+(r<10?"0":"")+r+"-"+(l<10?"0":"")+l,I=new t.utc(g).tz(u).clone().startOf("day").clone().add(a,"hours").add(s,"minute"),w=this.sunCalculation.getPosition(I,v,f),S=(360-xu.radToDeg(w.azimuth)-n).toFixed(2),N=w.altitude.toFixed(2),x=Math.PI/2-N,y=xu.degToRad(S);if(this.lightDirection.setFromSphericalCoords(1,x,y),this.lightColor=this.originalLightColor.clone(),this.ambientLightColor=this.originalAmbientLightColor.clone(),N<.2){var F=Rk.mapInterval(.1,.2,.8,1,N);this.lightColor.intensity=F,this.lightColor.multiplyScalar(F),this.ambientLightColor.intensity=F}if(N<.1){var ye=Rk.mapInterval(0,.1,0,.8,N);this.lightColor.intensity=ye,this.lightColor.multiplyScalar(ye),this.ambientLightColor.intensity=ye}if(N<0&&(this.lightColor.setRGB(0,0,0),this.ambientLightColor.intensity=0),this.sky.visible=h,this.sky.visible){var Re={turbidity:10,rayleigh:3,mieCoefficient:.005,mieDirectionalG:.7,exposure:.5},Me=this.sky.material.uniforms;Me.turbidity.value=Re.turbidity,Me.rayleigh.value=Re.rayleigh,Me.mieCoefficient.value=Re.mieCoefficient,Me.mieDirectionalG.value=Re.mieDirectionalG,Me.sunPosition.value.copy(this.lightDirection),this.renderer.toneMappingExposure=Re.exposure,this.renderer.toneMapping=Au}else this.renderer.toneMappingExposure=1,this.renderer.toneMapping=ql;return this.draw(),{zenithAngle:x,azimuthAngle:y}},getAnnotationOptions:function(){return this.annotationSettings.get()},setAnnotationOptions:function(e){this.annotationSettings.set(e),this.color[0].copy(e.color),this.color[1].copy(e.color),this.color[2].copy(e.color)},getAnnotationBorderColorType:function(){return this.annotationSettings.get().borderColorType},setAnnotationBorderColorType:function(e){var t=this.annotationSettings.get();t.borderColorType=e,this.annotationSettings.set(t)},resetAnnotationOptions:function(){return this.annotationSettings.resetToDefault()},getAnnotations:function(){return this.markups.getAll("annotations")},getDimensions:function(){return this.markups.getAll("dimensions")},getLabels:function(){return this.markups.getAll("labels")},setAnnotations:function(e){this.markups.setAnnotations(e)},setDimensions:function(e){this.markups.setDimensions(e)},setLabels:function(e){this.markups.setLabels(e)},getObjectsContainer:function(){return this.content?this.content.getObjectsContainer():null},getGeometryNodes:function(){return this.content?this.content.getGeometryNodes():null},getContentBoundingBox:function(){var e=this.content?this.content.getBoundingBox():null;return e||(e=new SD),e.isValid()||(e.expandByMinMax(-1e3,-1e3,-1e3,1e3,1e3,1e3),e.emptyContent=!0),e},drawBackgroundToCanvas:function(e,t,n){this.background.drawToCanvas(e,t,n)},setBackground:function(e,t){this.background.setBackground(e,t)},captureScreen:function(){this.drawSynchronous();var e=this.renderer.getContext(),t=new Uint8Array(e.drawingBufferWidth*e.drawingBufferHeight*4);return e.readPixels(0,0,e.drawingBufferWidth,e.drawingBufferHeight,e.RGBA,e.UNSIGNED_BYTE,t),t},captureScreenBlob:function(){var e=this;return this.drawSynchronous(),new Promise(function(t){e.renderer.domElement.toBlob(function(n){t(n)})})},getDisciplineNodeMeshes:function(){return this.nodeMeshes},updateWebGLBuffers:function(){this.content.getGeometryNodes().updateWebGLBuffers(this),this.draw()},updateWebGLBuffer:function(e){this.nodeMeshes.updateWebGLBuffer(this,e)},setCurrentClashFilter:function(e){var t;(t=this.content)===null||t===void 0||t.getClashes().setCurrentClashFilter(e)},beginChangeWorkingSet:function(){var e=this.checkSelectionMode("isolated"),t=this.checkSelectionMode("hideIsolated"),n=this.checkSelectionMode("clipIsolated");return e&&this.resetIsolationMode(),t&&this.resetHideIsolateObjects(),{isolated:e,hideIsolated:t,clipIsolated:n}},endChangeWorkingSet:function(e){e.isolated&&this.setIsolationMode(),e.hideIsolated&&this.hideIsolateObjects(),e.clipIsolated&&this.clipObjects(!0)},changeWorkingSet:function(e){var t=this.beginChangeWorkingSet();e(),this.endChangeWorkingSet(t)},getIsolationMode:function(){var e=0;return this.checkSelectionMode("isolated")&&(e=1),this.checkSelectionMode("hideIsolated")&&(e=2),e},setShowHiddenObjectsTransparent:function(){var e=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0];this.showHiddenObjectsTransparent=e,this.renderGPUPickTextureNeeded(),this.draw()},hasLCS:function(){return this.localCoordSystemManager.hasLCS()},setupProjectView:function(){return this.calculateVisibleGeometryBoundaries()!==!1&&(this.resetCamera(),!0)},setObjectUnderMouse:function(e){var t,n;(this==null||(t=this.objectUnderMouse)===null||t===void 0?void 0:t.id)!==e?.id&&(this.lastObjectUnderMouse=this.objectUnderMouse,this._hoverEffectTurnedOff(this.lastObjectUnderMouse),this.objectUnderMouseChanged=!0),e?(this.objectUnderMouse=e,e.isClashElement?this.rootObjectUnderMouse=e:this.rootObjectUnderMouse=(n=this.getObjectsContainer())===null||n===void 0?void 0:n.getObjectRoot(e)):this.resetObjectUnderMouse()},isVisibleObject:function(e){var t=this.getObjectsContainer().getObject(e);if(!t)return this.overlays.isVisibleOverlay(e);var n=this.objectSets.hiddenObjects.find(function(l){return l.id===e}),i=t.getIsolation(this),r=this.checkSelectionMode("hideIsolated");return!(t==null||!t.isDisciplineNodeVisible(this)||!t.visible||n||r&&!i)},restoreObjectStates:function(){this.objectSets.selectedObjects.length>0&&new aT(this).Execute(this.objectSets.selectedObjects),this.objectSets.hiddenObjects.length>0&&new XO(this).Execute(this.objectSets.hiddenObjects),this.objectSets.workingObjects.length>0&&this.checkSelectionMode("isolated")&&new xV(this).Execute(this.objectSets.workingObjects),this.objectSets.workingObjects.length>0&&this.checkSelectionMode("hideIsolated")&&new wX(this).Execute(this.objectSets.workingObjects)},restoreWorkingObjectsCustomColors:function(){var e=this,t=this.getObjectsContainer();this.objectSets.workingObjects.forEach(function(n){n.customColor?n.setCustomColor(e,n.customColor):n.resetCustomColor(e),n.customAlpha?n.setCustomAlpha(e,n.customAlpha):n.resetCustomAlpha(e),t.traverseDown(n,function(i){i.customColor?i.setCustomColor(e,i.customColor):i.resetCustomColor(e),i.customAlpha?i.setCustomAlpha(e,i.customAlpha):i.resetCustomAlpha(e)})})},setUseHoverEffect:function(e){this.useHoverEffect=e},triggerObjectSetChangedEvent:function(e){this.objectSetChangedCallback&&this.objectSetChangedCallback(e)},createRandomGuid:function(){return wk.createRandomGuid()}};var L6e=(function(o){function e(){var t;return P(this,e),t=(function(i,r,l){return r=wn(r),Xn(i,K_e()?Reflect.construct(r,l||[],wn(i).constructor):r.apply(i,l))})(this,e),t._sectionSettingsRooms={showFaces:!0,faceColor:"rgb(0,0,0)",faceOpacity:1,showEdges:!0,edgeColor:"rgb(128,128,128)",edgeOpacity:1,edgeThickness:30,useObjectColorAndOpacity:!0,parallelPlaneDistance:0,sectionBoxXDistance:0,sectionBoxYDistance:0,sectionBoxZDistance:0,sectionCutPlaneOption:jP},t}return B(e,o),L(e,[{key:"requestSectionCuts",value:function(n,i,r){return Promise.all(ci(this.getSplitPromises(n,i,r)))}},{key:"getSplitPromises",value:function(n,i,r){var l=i.modelLayer.filter(function(u){return u.id===rr.Rooms}),a=i.modelLayer.filter(function(u){return u.id!==rr.Rooms&&ua.isInternalLayer(u.id)===!1}),s=[];return l.length>0&&(i.settings.edges=this._sectionSettingsRooms.showEdges,i.settings.edgesThickness=this._sectionSettingsRooms.edgeThickness,s.push(n.apiCallForOneObject(hZ(hZ({},i),{},{modelLayer:l}),this._sectionSettingsRooms))),a.length>0&&s.push(n.apiCallForOneObject(hZ(hZ({},i),{},{modelLayer:a}),r)),s}}])})(Lv),vu=function(e,t,n){this._viewport=new LV({camera:{type:"orthographic",left:-.5,right:.5,top:.5,bottom:-.5,near:-1e3,far:1e3},controls:{type:"NavigationMapViewControl"},settings:e,units:this.currentUnits,domElementId:n,name:"navigationMapViewport",ssaoSupported:!1,shadowsSupported:!1,disableTransformControls:!0,persistentClippingPlaneSettings:!1}),this._sectionCutsLoader=new cv(t,this._viewport,new L6e),this._rendererProject=null,this._viewport.renderQueue.useCulling=!1,this._viewport.renderQueue.useInteractionModeVertexCount=!1,this._viewport.brightness=.2,this._viewport.contrast=.5,this._mainViewport=null,this._mainCamera=null,this._cameraHelper=null,this._levelPlane=new lr(new qe(0,1,0),0),this._cameraHelperType=null;var i=[new qe(0,0,-1),new qe(0,0,1)],r=new Uo().setFromPoints(i);this._previewPlane=this._levelPlane.clone();var l=[new qe(0,0,-1),new qe(0,0,1)],a=new Uo().setFromPoints(l),s=new As({color:240116,opacity:1});this._previewPlaneLine=new wl(a,s),this._previewPlaneLine.computeLineDistances(),this._planeLine=new wl(r,s),this._planeLine.computeLineDistances(),this._heightLevel=0,this._isHeightLevelMode=!1,this._heightLevelModeChangedCallback=null,this._isLoadingChangedCallback=null,this._isLoading=!1,this._isVisible=!0,this._deferredUpdate=!1,this._sectionSettings={showFaces:!0,faceColor:"rgb(0,0,0)",faceOpacity:1,showEdges:!1,edgeColor:"rgb(0,0,0)",edgeOpacity:1,edgeThickness:1,useObjectColorAndOpacity:!1,parallelPlaneDistance:0,sectionBoxXDistance:0,sectionBoxYDistance:0,sectionBoxZDistance:0,sectionCutPlaneOption:jP},vu.prototype.addEventListeners=function(){$(this._viewport.domElement).on("clickedNavigationMapHeightLevel",{self:this},this.onClickedNavigationMapHeightLevel),$(this._viewport.domElement).on("mouseMoveNavigationMapHeightLevel",{self:this},this.onMouseMoveNavigationMapHeightLevel),$(this._viewport.domElement).on("mouseenter",{self:this},this.onMouseenter),$(this._viewport.domElement).on("mouseleave",{self:this},this.onMouseleave)},vu.prototype.removeEventListeners=function(){$(this._viewport.domElement).off("clickedNavigationMapHeightLevel",this.onClickedNavigationMapHeightLevel),$(this._viewport.domElement).off("mouseMoveNavigationMapHeightLevel",this.onMouseMoveNavigationMapHeightLevel),$(this._viewport.domElement).off("mouseenter",this.onMouseenter),$(this._viewport.domElement).off("mouseleave",this.onMouseleave)},vu.prototype.onClickedNavigationMapHeightLevel=function(u,v){var f=u.data.self;v.height!==void 0&&(f.getHeightLevelMode()&&f.setHeightLevelMode(!1),f.setHeightLevel(v.height),f.setCameraHeightToHeightLevel())},vu.prototype.onMouseMoveNavigationMapHeightLevel=function(u,v){var f=u.data.self;if(f._previewPlaneLine&&v.height!==void 0){f._previewPlane.constant=-v.height;var h=new qe;h=f._previewPlane.coplanarPoint(h),f._previewPlaneLine.position.y=h.y,f._viewport.draw()}},vu.prototype.onMouseenter=function(u){var v=u.data.self;v._previewPlaneLine&&v.getHeightLevelMode()&&(v._viewport.customScene.add(v._previewPlaneLine),v._viewport.draw())},vu.prototype.onMouseleave=function(u){var v=u.data.self;v._previewPlaneLine&&v.getHeightLevelMode()&&(v._viewport.customScene.remove(v._previewPlaneLine),v._viewport.draw())},vu.prototype.dispose=yi(Jt().mark(function u(){return Jt().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(this._previewPlaneLine.geometry.dispose(),this._planeLine.geometry.dispose(),!this._viewport){v.next=1;break}return v.next=1,this._viewport.dispose();case 1:this.removeEventListeners(),this._mainViewport&&(this._mainViewport.objectSetChangedCallback=null);case 2:case"end":return v.stop()}},u,this)})),vu.prototype.initialize=(function(){var u=yi(Jt().mark(function v(f){var h,g;return Jt().wrap(function(I){for(;;)switch(I.prev=I.next){case 0:return h=f.getContent(),this._rendererProject=h,(g=this._viewport).setContent(h),this.setCameraHelperType(f.camera.type),f.getDisciplineNodeMeshes().copyTo(g.getDisciplineNodeMeshes()),h.viewports.push(g),h.getObjectsContainer().initObjects(g),g.drawDisabled=!0,g.getDisciplineNodeMeshes().updateWebGLBuffers(g),this.setViewportSize(),this.setHeightLevel(f.camera.position.y),I.next=1,this.setMainViewport(f);case 1:return I.next=2,this.setupMapMode();case 2:g.drawDisabled=!1,g.draw(),this.addEventListeners();case 3:case"end":return I.stop()}},v,this)}));return function(v){return u.apply(this,arguments)}})(),vu.prototype.setCameraHelperType=function(u){this._cameraHelperType=u},vu.prototype.getCameraHelperType=function(){return this._cameraHelperType},vu.prototype.updateNavigationMapProjectionMode=(function(){var u=yi(Jt().mark(function v(f){var h;return Jt().wrap(function(g){for(;;)switch(g.prev=g.next){case 0:if(this.setCameraHelperType(f.camera.type),this._mainViewport=f,this._mainCamera=f.camera.clone(),this._mainCamera.far=3*f.dynamicDrawRange._geoBoundingSphere.radius,f.camera.type=="orthographic"&&(h=this._mainCamera.far/2,this._mainCamera.left=h*f.camera.aspect/-2,this._mainCamera.right=h*f.camera.aspect/2,this._mainCamera.bottom=h/-2,this._mainCamera.top=h/2),this._viewport.customScene.remove(this._cameraHelper),this._cameraHelper=new die(this._mainCamera),this._viewport.controls.setMainViewport(f),this._viewport.controls.setNavigationMap(this),this._viewport.controls.setHeightLevel(this._heightLevel),this._viewport.drawSynchronous(),this._isHeightLevelMode){g.next=1;break}return g.next=1,this.setupMapMode();case 1:case"end":return g.stop()}},v,this)}));return function(v){return u.apply(this,arguments)}})(),vu.prototype.setMainViewport=(function(){var u=yi(Jt().mark(function v(f){var h,g,I,w,S=this;return Jt().wrap(function(N){for(;;)switch(N.prev=N.next){case 0:return this._mainViewport=f,this._mainCamera=f.camera.clone(),this._cameraHelper=new die(this._mainCamera),this._viewport.controls.setMainViewport(f),this._viewport.controls.setNavigationMap(this),this._viewport.controls.setHeightLevel(this._heightLevel),f.objectSetChangedCallback=function(x){x=="workingObjects"&&S.synchronizeWorkingObjects()},this.synchronizeWorkingObjects(),this._viewport.drawSynchronous(),N.next=1,this.setupMapMode();case 1:h=this._viewport.getContentBoundingBox(),g=Di.getStartPointOfLine(this._previewPlaneLine),I=Di.getEndPointOfLine(this._previewPlaneLine),g.z=h.getCenterZ()-h.getDepth(),g.x=h.getCenterX(),I.z=h.getCenterZ()+h.getDepth(),I.x=h.getCenterX(),w=[g,I],this._previewPlaneLine.geometry.setFromPoints(w),this._previewPlaneLine.geometry.verticesNeedUpdate=!0,this._previewPlaneLine.geometry.lineDistancesNeedUpdate=!0,this._previewPlaneLine.computeLineDistances(),this._viewport.content&&this._mainViewport.content&&(this._viewport.content.getDivisions().visibleDivisions=this._mainViewport.content.getDivisions().visibleDivisions.splice(0)),this._mainViewport.afterDrawCallback=function(){S._mainCamera.copy(S._mainViewport.camera),S._mainCamera.updateProjectionMatrix(),S._mainCamera.updateMatrixWorld(),S._viewport.draw()};case 2:case"end":return N.stop()}},v,this)}));return function(v){return u.apply(this,arguments)}})(),vu.prototype.getMainViewport=function(){return this._mainViewport},vu.prototype.registerHeightLevelModeChangedCallback=function(u){this._heightLevelModeChangedCallback=u},vu.prototype.registerIsLoadingChangedCallback=function(u){this._isLoadingChangedCallback=u},vu.prototype.setHeightLevelMode=(function(){var u=yi(Jt().mark(function v(f){return Jt().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(this._isHeightLevelMode=f,this._heightLevelModeChangedCallback&&this._heightLevelModeChangedCallback(f),this._viewport.controls.setHeightLevelMode(f),!f){h.next=2;break}return h.next=1,this.setupHeightLevelMode();case 1:h.next=3;break;case 2:return h.next=3,this.setupMapMode();case 3:case"end":return h.stop()}},v,this)}));return function(v){return u.apply(this,arguments)}})(),vu.prototype.getHeightLevelMode=function(){return this._isHeightLevelMode},vu.prototype.getProject=function(){return this._rendererProject},vu.prototype.isLoading=function(){return this._isLoading},vu.prototype.setupHeightLevelMode=function(){var u=this._viewport;return this._viewport.brightness=0,this._viewport.contrast=1,u.controls.setHeightLevelMode(!0),u.customScene.remove(this._cameraHelper),u.customScene.add(this._planeLine),u.customScene.add(this._previewPlaneLine),u.clippingPlanes.setEnabled(!1),u.setCameraResetAxis("x")},vu.prototype.setupMapMode=yi(Jt().mark(function u(){var v,f;return Jt().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return v=this._viewport,this._viewport.brightness=.2,this._viewport.contrast=.5,v.customScene.remove(this._planeLine),v.customScene.remove(this._previewPlaneLine),this._viewport.emptySectionCutSceneForSectionCutGeometry(),this._viewport.draw(),h.next=1,v.setCameraResetAxis("y");case 1:return v.controls.setHeightLevelMode(!1),v.customScene.add(this._cameraHelper),f=new qe(0,this._heightLevel,0),v.clippingPlanes.setSectionPlane(this._levelPlane,f,!1,!0),v.clippingPlanes.setEnabled(!0),v.clippingPlanes.setVisible(!1,0),h.abrupt("return",this.updateSectionCuts());case 2:case"end":return h.stop()}},u,this)})),vu.prototype.setHeightLevel=function(u){this._heightLevel=u;var v=this._viewport;v.controls.setHeightLevel(u),this._levelPlane.constant=-u;var f=new qe;f=this._levelPlane.coplanarPoint(f);var h=this._viewport.getContentBoundingBox(),g=Di.getStartPointOfLine(this._planeLine),I=Di.getEndPointOfLine(this._planeLine);g.z=h.getCenterZ()-h.getDepth(),g.y=f.y,g.x=h.getCenterX(),I.z=h.getCenterZ()+h.getDepth(),I.y=f.y,I.x=h.getCenterX();var w=[g,I];this._planeLine.geometry.setFromPoints(w),this._planeLine.geometry.verticesNeedUpdate=!0,this._planeLine.geometry.lineDistancesNeedUpdate=!0,this._planeLine.computeLineDistances(),v.draw()},vu.prototype.setHeightLevelToCameraHeight=function(){this.setHeightLevel(this._mainViewport.camera.position.y)},vu.prototype.setCameraHeightToHeightLevel=yi(Jt().mark(function u(){var v,f;return Jt().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return v=this._viewport,(f=this._mainViewport.camera.position.clone()).y=this._heightLevel,h.next=1,this.moveCamera(f);case 1:v.draw();case 2:case"end":return h.stop()}},u,this)})),vu.prototype.moveCamera=function(u){if(this._mainViewport.isCameraFlightInProgress())return Promise.resolve();var v=new qe(u.x,u.y,u.z),f=new qe().subVectors(this._mainViewport.controls.target,this._mainViewport.camera.position),h=f.length();f.normalize();var g=new qe(0,1,0),I=f.clone().projectOnPlane(g).normalize(),w=new qe().addVectors(v,I.clone().multiplyScalar(h)),S=new Qi().lookAt(u,w,g),N=new $r().setFromRotationMatrix(S);return Iu.cameraFlyTo(this._mainViewport.camera,this._mainViewport.controls,this._mainViewport,v,w,g,N)},vu.prototype.resetView=function(){this._viewport.camera.zoom=1,this._viewport.restoreViewbox()},vu.prototype.setViewportSize=function(){this._viewport.setViewportSize()},vu.prototype.setLoading=function(u){this._isLoading=u,this._isLoadingChangedCallback&&this._isLoadingChangedCallback(this._isLoading)},vu.prototype.setVisible=function(u){this._isVisible=u,this._viewport.noRender=!u,this._viewport.draw()},vu.prototype.updateSectionCuts=yi(Jt().mark(function u(){var v;return Jt().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:if(this._rendererProject&&this._isLoading!==!0){f.next=1;break}return this._deferredUpdate=!0,f.abrupt("return");case 1:return this.setLoading(!0),f.prev=2,f.next=3,this._sectionCutsLoader.loadSectionCuts(this._rendererProject,this._viewport,this._sectionSettings,!1);case 3:f.next=5;break;case 4:f.prev=4,v=f.catch(2),console.error(v);case 5:if(this.setLoading(!1),this._deferredUpdate!==!0){f.next=6;break}return this._deferredUpdate=!1,f.next=6,this.updateSectionCuts();case 6:this._viewport.draw();case 7:case"end":return f.stop()}},u,this,[[2,4]])})),vu.prototype.synchronizeWorkingObjects=function(){this._viewport.objectSets.workingObjects=this._mainViewport.objectSets.workingObjects.slice(),this._viewport.restoreWorkingObjectsCustomColors(),this._viewport.draw()}};let F6e=vu;var B6e=(function(){return L(function t(n,i,r){P(this,t),this._viewport=new LV({camera:{type:"orthographic",left:-.5,right:.5,top:.5,bottom:-.5,near:-1e3,far:1e3,position:{x:0,y:0,z:2e3}},controls:{type:"FileViewControl",target:{x:0,y:0,z:0}},settings:n,domElementId:r,name:"fileViewViewport",ssaoSupported:!1,shadowsSupported:!1,disableTransformControls:!0}),this._api=i,this._glbParser=new j1e(this._viewport),this._viewport.controls.setFileView(this),this._isLoadingChangedCallback=null,this._isLoading=!1,this._isVisible=!0,this._fileData=null,this.overlayMeshElement=null,this.scene=this._viewport.overlays.scene},[{key:"dispose",value:(e=yi(Jt().mark(function t(){return Jt().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!this._viewport){n.next=1;break}return n.next=1,this._viewport.dispose();case 1:case"end":return n.stop()}},t,this)})),function(){return e.apply(this,arguments)})},{key:"registerIsLoadingChangedCallback",value:function(n){this._isLoadingChangedCallback=n}},{key:"isLoading",value:function(){return this._isLoading}},{key:"resetView",value:function(){var n,i;this._viewport.camera.zoom=1,this._viewport.camera.position.set(0,0,this.CAMERA_OFFSET),this._viewport.controls.target.set(0,0,0),(n=this._viewport.currentInteractor)===null||n===void 0||n.resizeMatchPointsDimension(),this._viewport.camera.updateProjectionMatrix(),this._viewport.camera.updateMatrixWorld(),(i=this._viewport.currentInteractor)===null||i===void 0||i.resetView(),this._viewport.draw()}},{key:"getBoundingBox",value:function(){var n=new SD,i=new Kl;return this._tempBoundingBox=Di.calculateVisibleGeometryBoundingBox(this.scene,i),i.isEmpty()===!1&&n.expandByBox3(i),n}},{key:"setViewportSize",value:function(){var n=this._viewport,i=this.getBoundingBox();if(i){var r,l=i.isValid()?.8*Math.max(i.getWidth(),i.getDepth(),i.getHeight()):0;n.drawDisabled=!0,n.setViewportSize(),n.drawDisabled=!1,n.camera&&(n.camera.left=-l*n.camera.aspect,n.camera.right=+l*n.camera.aspect,n.camera.top=+l,n.camera.bottom=-l,n.camera.updateProjectionMatrix(),n.camera.updateMatrixWorld()),(r=n.currentInteractor)===null||r===void 0||r.setViewportSize(),n.draw()}}},{key:"setLoading",value:function(n){this._isLoading=n,this._isLoadingChangedCallback&&this._isLoadingChangedCallback(this._isLoading)}},{key:"setVisible",value:function(n){this._isVisible=n,this._viewport.noRender=!n,this._viewport.draw()}},{key:"getFileData",value:function(){return this._fileData&&(this._fileData.boundingBox=this.getBoundingBox()),this._fileData}},{key:"setFileData",value:function(n){this._fileData=n}},{key:"getViewport",value:function(){return this._viewport}},{key:"loadFileContent",value:(o=yi(Jt().mark(function t(){var n,i,r;return Jt().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(console.debug("[Renderer] FileView - loadFileContent called: fileData = ",this._fileData),this._isLoading!==!0){l.next=1;break}return l.abrupt("return");case 1:return l.prev=1,this.setLoading(!0),Pk.clearScene(this.scene),this.overlayMeshElement=null,this._viewport.draw(),l.next=2,this._api.objects.getGLB(this._fileData.id,this._fileData.version);case 2:return n=l.sent,l.next=3,this._glbParser.parseGLB(n,this._fileData.id);case 3:(i=l.sent).isGroup&&Jre.addBorderMesh(i,this._fileData.id),this.overlayMeshElement=this._viewport.objectFactory.createVisualObject({id:i.id,mesh:i.isGroup?i.borderMesh:i}),this.scene.add(i),this._viewport.draw(),l.next=5;break;case 4:throw l.prev=4,r=l.catch(1),console.error(r),r;case 5:return l.prev=5,this.setLoading(!1),l.finish(5);case 6:case"end":return l.stop()}},t,this,[[1,4,5,6]])})),function(){return o.apply(this,arguments)})}]);var o,e})(),sle=(function(){return L(function o(){P(this,o),this.layers=[],this.id=null,this.divisionTopologyId=null,this.revision=null,this.leafNodes=[]},[{key:"isAnythingVisible",value:function(){return this.layers.filter(function(e){return e.visible}).length!==0&&this.leafNodes.filter(function(e){return e.visible}).length>0}},{key:"isEqualStructure",value:function(e){if(this.id!==e.id||this.divisionTopologyId!==e.divisionTopologyId||this.revision!==e.revision||this.layers.length!==e.layers.length||this.leafNodes.length!==e.leafNodes.length)return!1;var t=!0;return this.layers.forEach(function(n){e.layers.find(function(i){return i.id===n.id})||(t=!1)}),this.leafNodes.forEach(function(n){e.leafNodes.find(function(i){return i.id===n.id})||(t=!1)}),t}},{key:"setLayersVisible",value:function(e){this.layers.forEach(function(t){return t.visible=e})}},{key:"setLeafNodesVisible",value:function(e){this.leafNodes.forEach(function(t){return t.visible=e})}}])})(),ule=(function(){return L(function o(){P(this,o),this.id=null,this.visible=!1,this.background=!1},[{key:"dump",value:function(){console.debug("LayerViewState:")}}])})(),mZ=(function(){return L(function o(){P(this,o),this.id=null,this.visible=!1},[{key:"dump",value:function(){console.debug("NodeViewState:")}}])})(),gZ=(function(){function o(){P(this,o)}return L(o,null,[{key:"fromModel",value:function(t,n){if(!t)return null;var i=new sle;return i.id=t.id,i.divisionTopologyId=t.divisionTopologyId,i.revision=n||t.getCurrentRevision(),t.forEachLayer(function(r){var l=new ule;l.id=r.id,l.visible=r.isVisible(),l.background=r.isBackground(),i.layers.push(l)}),i}},{key:"fromModelTopology",value:function(t){var n=o.fromModel(t);return n?(t.forEachTopologyLeafNode(function(i){var r=new mZ;r.id=i.id,r.visible=i.isVisible(),n.leafNodes.push(r)}),n):null}},{key:"fromModelTopologyResponse",value:function(t,n,i){var r=o.fromModel(t,i);if(!r)return null;var l=function(s){if(s.children&&s.children.length>0)s.children.forEach(function(v){l(v)});else{var u=new mZ;u.id=s.id,u.visible=!1,r.leafNodes.push(u)}};return l(n),r}},{key:"fromScene",value:function(t){var n={};return t?(t.layers&&t.layers.forEach(function(i){var r=n[i.divisionTopologyId];r||((r=new sle).id=i.divisionId,r.divisionTopologyId=i.divisionTopologyId,r.revision=i.revision,n[r.divisionTopologyId]=r);var l=new ule;l.id=i.id,l.visible=i.visible,l.background=!i.opaque,r.layers.push(l)}),t.topology&&t.topology.forEach(function(i){var r=n[i.divisionTopologyId];if(r){var l=new mZ;l.id=i.id,l.visible=i.visible,r.leafNodes.push(l)}}),Object.values(n)):[]}}])})();function X_e(o,e){var t=typeof Symbol<"u"&&o[Symbol.iterator]||o["@@iterator"];if(!t){if(Array.isArray(o)||(t=(function(u,v){if(u){if(typeof u=="string")return $_e(u,v);var f={}.toString.call(u).slice(8,-1);return f==="Object"&&u.constructor&&(f=u.constructor.name),f==="Map"||f==="Set"?Array.from(u):f==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f)?$_e(u,v):void 0}})(o))||e&&o&&typeof o.length=="number"){t&&(o=t);var n=0,i=function(){};return{s:i,n:function(){return n>=o.length?{done:!0}:{done:!1,value:o[n++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bimplus-webcomponents",
3
- "version": "0.0.231",
3
+ "version": "0.0.232",
4
4
  "license": "MIT",
5
5
  "author": "",
6
6
  "description": "bim+ webcomponents library",