var Floorplan=function(){"use strict";var o=function(o,t){var e=this;this.app=o,this.opitons=t||{},this.player=this.app.core.get("Player"),this.movable=!0,this.display=!1,this.inited=!1,this.floorPlanAngle=0,this.coord={defaultZoom:100,zoom:100,res:80,defaultCenter:null,center:null,ratio:1},this.app.core.get("SceneRenderer").resizeListeners.push({setSize:function(o,t){e.display&&e.$canvas&&(e.$canvas.width=e.$dom.clientWidth,e.$canvas.height=e.$dom.clientHeight,e.app.core.get("CameraControls").emit("syncCadAnd3D",e._getScreenInfoForCAD()),e.render())}})},t={panos:{configurable:!0}};return t.panos.get=function(){return kankan.core.get("Player").model.currentFloor.panos.filter((function(o){return!o.panoType}))},o.prototype.enter=function(){var o=this;return this.display=!0,this.app.Camera.setCompassDisplay(!1,!0),this.player.model.floorplanCadImg.deleteAllCadPlanes(!1),this.player.path.currentPanoMarker.mesh.visible=!1,this.app.Camera.floorplan().then((function(){o.$dom=o.app.dom.querySelector("[xui_floorplan]"),o.$dom.style.display="block",o.$canvas||(o.$dom.addEventListener("contextmenu",(function(o){o.preventDefault()})),o.$dom.addEventListener("mousewheel",o._onMouseWheel.bind(o)),o.$dom.addEventListener("DOMMouseScroll",o._onMouseWheel.bind(o)),o.$dom.addEventListener("mousedown",(function(t){t.preventDefault(),t.stopPropagation(),o.movable&&null!=o.coord.defaultCenter&&(o.lastX=t.offsetX||t.layerX,o.lastY=t.offsetY||t.layerY,o._isMousedown=!0,o.app.core.get("CameraControls").onMouseDown(t))})),o.$dom.addEventListener("mousemove",(function(t){if(o.movable&&o._isMousedown&&null!=o.coord.defaultCenter){var e=t.offsetX||t.layerX,n=t.offsetY||t.layerY,r=e-o.lastX,a=n-o.lastY;o.coord.center.x=o.coord.center.x-100*r/o.coord.zoom/o.coord.res,o.coord.center.y=o.coord.center.y+100*a/o.coord.zoom/o.coord.res,o.lastX=e,o.lastY=n,o.app.core.get("CameraControls").emit("syncCadAnd3D",o._getScreenInfoForCAD()),o.render()}})),o.$dom.addEventListener("mouseup",(function(t){o.movable&&null!=o.coord.defaultCenter&&(o._isMousedown=!1,o.app.core.get("CameraControls").onMouseUp(t))})),o.opitons.init&&o.opitons.init.call(o,o)),o.$canvas=o.$dom.querySelector("canvas"),o.$canvas.width=o.$dom.clientWidth,o.$canvas.height=o.$dom.clientHeight,o.inited||(o.inited=!0,o._init()),o.context=o.$canvas.getContext("2d"),o.app.core.get("CameraControls").emit("syncCadAnd3D",o._getScreenInfoForCAD()),o.render()}))},o.prototype.leave=function(){return this.display=!1,this.$dom.style.display="none",this.app.Camera.setCompassDisplay(!0,!1),this.player.model.floorplanCadImg.deleteAllCadPlanes(!0),this.player.path.currentPanoMarker.mesh.visible=!0,this.app.Camera.panorama()},o.prototype.render=function(){"function"==typeof this.opitons.render&&this.opitons.render.call(this,this,this.panos,this.coord.zoom/100)},o.prototype.flyToNearPano=function(o){var t=this,e={pano:null,dist:9999};if(this.panos.forEach((function(n){var r=KanKan.Utils.convert.pointFrom3DTo2D(n.position,t.player),a=Math.abs(r.x-o.x),i=Math.abs(r.y-o.y),s=Math.sqrt(Math.pow(a,2)+Math.pow(i,2));s