import*as n from"./js/three.module.js";import e from"./js/tween.esm.js";var l,t,o,a,i,d={idx:0,nextId:null,src:[{id:1,name:"01正门",home:{T:50,R:70},image:"panos/01正门.png",L:{id:14,angle:{lat:-10,lon:16.3},offset:180},R:{id:25,angle:{lat:-13.7,lon:75.3},offset:-70},F:null,B:null,LF:null,LB:null,RF:null,RB:null},{id:2,name:"02主卧",home:{T:83,R:45},image:"panos/02主卧.png",L:null,R:{id:4,angle:{lat:-9.5,lon:50},offset:180},F:{id:6,angle:{lat:-4,lon:-77},offset:-90},B:{id:3,angle:{lat:-3.7,lon:.5},offset:0},LF:null,LB:null,RF:null,RB:null},{id:3,name:"03主卧",home:{T:85,R:36},image:"panos/03主卧.png",L:null,R:{id:4,angle:{lat:-13.6,lon:54},offset:180},F:{id:2,angle:{lat:2.7,lon:16.7},offset:90},B:null,LF:null,LB:null,RF:null,RB:null},{id:4,name:"04主卧",home:{T:75,R:30},image:"panos/04主卧.png",L:null,R:{id:3,angle:{lat:0,lon:13.5},offset:0},F:null,B:{id:2,angle:{lat:3,lon:17.1},offset:90},LF:null,LB:null,RF:null,RB:null},{id:5,name:"05主卧卫生间",home:{T:60,R:30},image:"panos/05主卧卫生间.png",L:null,R:null,F:{id:7,angle:{lat:-13,lon:50},offset:0},B:null,LF:null,LB:null,RF:null,RB:null},{id:6,name:"06主卧玄关",home:{T:66,R:45},image:"panos/06主卧玄关.png",L:null,R:{id:25,angle:{lat:-10,lon:150},offset:-75},F:{id:2,angle:{lat:-6.5,lon:-86},offset:90},B:{id:7,angle:{lat:-2,lon:146},offset:35},LF:null,LB:null,RF:null,RB:null},{id:7,name:"07主卧衣帽间",home:{T:60,R:48},image:"panos/07主卧衣帽间.png",L:{id:6,angle:{lat:1.9,lon:86},offset:-90},R:null,F:null,B:null,LF:null,LB:{id:6,angle:{lat:1.9,lon:86},offset:-90},RF:null,RB:{id:5,angle:{lat:-3.2,lon:-80},offset:0}},{id:8,name:"08A客房",home:{T:90,R:100},image:"panos/08A客房.png",L:null,R:{id:9,angle:{lat:-4.5,lon:-48},offset:-90},F:null,B:null,LF:null,LB:null,RF:null,RB:null},{id:9,name:"09客房A",home:{T:80,R:90},image:"panos/09客房A.png",L:null,R:null,F:{id:8,angle:{lat:-5.7,lon:-25},offset:30},B:{id:10,angle:{lat:-6.4,lon:187},offset:-90},LF:null,LB:null,RF:null,RB:null},{id:10,name:"10客房A卫生间",home:{T:70,R:100},image:"panos/10客房A卫生间.png",L:null,R:null,F:{id:25,angle:{lat:3.8,lon:-15},offset:-90},B:null,LF:null,LB:null,RF:null,RB:null},{id:11,name:"11客房B",home:{T:85,R:70},image:"panos/11客房B.png",L:null,R:{id:12,angle:{lat:-2.8,lon:17},offset:180},F:{id:25,angle:{lat:-7,lon:-118},offset:-60},B:null,LF:null,LB:{id:13,angle:{lat:-1.4,lon:-172},offset:160},RF:null,RB:null},{id:12,name:"12客房B",home:{T:80,R:60},image:"panos/12客房B.png",L:null,R:{id:11,angle:{lat:-10,lon:-43},offset:90},F:null,B:null,LF:null,LB:null,RF:null,RB:null},{id:13,name:"13客房B",home:{T:95,R:70},image:"panos/13客房B.png",L:{id:11,angle:{lat:-6,lon:120},offset:60},R:null,F:null,B:null,LF:null,LB:null,RF:null,RB:null},{id:14,name:"14客厅",home:{T:20,R:70},image:"panos/14客厅.png",L:null,R:null,F:{id:16,angle:{lat:1.4,lon:80},offset:180},B:null,LF:{id:17,angle:{lat:-2.4,lon:36},offset:150},LB:null,RF:{id:15,angle:{lat:-6,lon:148},offset:130},RB:{id:1,angle:{lat:-2.1,lon:187},offset:180}},{id:15,name:"15客厅",home:{T:30,R:50},image:"panos/15客厅.png",L:null,R:null,F:null,B:null,LF:{id:16,angle:{lat:-7.2,lon:-13},offset:180},LB:{id:14,angle:{lat:0,lon:-57},offset:150},RF:{id:22,angle:{lat:-1.4,lon:73},offset:180},RB:{id:20,angle:{lat:0,lon:0},offset:0}},{id:16,name:"16客厅",home:{T:20,R:50},image:"panos/16客厅.png",L:{id:19,angle:{lat:-2,lon:-3},offset:180},R:{id:15,angle:{lat:-3,lon:230},offset:120},F:{id:22,angle:{lat:4.5,lon:119},offset:180},B:{id:14,angle:{lat:2.5,lon:-80},offset:160},LF:{id:18,angle:{lat:-10,lon:-20},offset:-130},LB:{id:17,angle:{lat:0,lon:0},offset:160},RF:null,RB:null},{id:17,name:"17客厅",home:{T:8,R:60},image:"panos/17客厅.png",L:{id:23,angle:{lat:-1,lon:-236},offset:30},R:{id:16,angle:{lat:-8.2,lon:178},offset:180},F:null,B:null,LF:{id:23,angle:{lat:-1.4,lon:-210},offset:80},LB:null,RF:{id:19,angle:{lat:-2,lon:75},offset:180},RB:{id:14,angle:{lat:-6.3,lon:221},offset:150}},{id:18,name:"18客厅",home:{T:8,R:40},image:"panos/18客厅.png",L:null,R:null,F:null,B:null,LF:null,LB:{id:24,angle:{lat:-3,lon:-52},offset:-120},RF:{id:16,angle:{lat:5.2,lon:179},offset:180},RB:{id:19,angle:{lat:-1.2,lon:-81},offset:180}},{id:19,name:"19客厅",home:{T:8,R:50},image:"panos/19客厅.png",L:null,R:{id:16,angle:{lat:-8.2,lon:178},offset:180},F:{id:18,angle:{lat:-2,lon:75},offset:180},B:{id:17,angle:{lat:-1.2,lon:-81},offset:180},LF:null,LB:{id:23,angle:{lat:-1,lon:-236},offset:0},RF:null,RB:{id:14,angle:{lat:-7,lon:251},offset:120}},{id:20,name:"20客厅",home:{T:40,R:45},image:"panos/20客厅.png",L:{id:21,angle:{lat:-.6,lon:-117},offset:150},R:{id:15,angle:{lat:2,lon:55},offset:120},F:null,B:{id:22,angle:{lat:-1,lon:70},offset:180},LF:null,LB:null,RF:{id:14,angle:{lat:-1.8,lon:-44},offset:180},RB:null},{id:21,name:"21客厅",home:{T:42,R:55},image:"panos/21客厅.png",L:null,R:null,F:{id:20,angle:{lat:0,lon:-179},offset:0},B:null,LF:{id:20,angle:{lat:-1.1,lon:-190},offset:0},LB:null,RF:null,RB:null},{id:22,name:"22客厅",home:{T:23,R:20},image:"panos/22客厅.png",L:null,R:null,F:null,B:null,LF:null,LB:null,RF:null,RB:{id:20,angle:{lat:-2,lon:84},offset:0}},{id:23,name:"23厨房",home:{T:-5,R:65},image:"panos/23厨房.png",L:null,R:null,F:null,B:{id:17,angle:{lat:0,lon:165},offset:180},LF:null,LB:{id:17,angle:{lat:-5.7,lon:197},offset:160},RF:null,RB:null},{id:24,name:"24洗衣间",home:{T:-5,R:40},image:"panos/24洗衣间.png",L:null,R:null,F:null,B:null,LF:null,LB:null,RF:{id:18,angle:{lat:1.3,lon:152},offset:230},RB:null},{id:25,name:"25正门玄关",home:{T:65,R:75},image:"panos/25正门玄关.jpg",L:{id:6,angle:{lat:-6,lon:47},offset:-90},R:{id:10,angle:{lat:2.2,lon:-85},offset:180},F:{id:11,angle:{lat:-5,lon:-67},offset:60},B:{id:1,angle:{lat:1.7,lon:17},offset:180},LF:null,LB:null,RF:{id:9,angle:{lat:-10,lon:-230},offset:-90},RB:{id:1,angle:{lat:0,lon:0},offset:180}}],direction:[{id:1,name:"B",at:{x:0,y:0,z:-1}},{id:2,name:"F",at:{x:0,y:0,z:1}},{id:3,name:"R",at:{x:-1,y:0,z:0}},{id:4,name:"L",at:{x:1,y:0,z:0}},{id:5,name:"down",at:{x:0,y:1,z:0}},{id:6,name:"up",at:{x:0,y:-1,z:0}},{id:1,name:"LF",at:{x:1,y:0,z:1}},{id:2,name:"RF",at:{x:-1,y:0,z:1}},{id:3,name:"LB",at:{x:1,y:0,z:-1}},{id:4,name:"RB",at:{x:-1,y:0,z:-1}}]},s=!1,u=0,f=0,c=0,r=0,g=0,m=0,R=0,L=0;function p(e){var a,s;a=document.getElementById("container"),(l=new n.PerspectiveCamera(75,window.innerWidth/window.innerHeight,1,1100)).target=new n.Vector3(0,0,0),t=new n.Scene;var u=new n.SphereBufferGeometry(500,60,40);if(u.scale(-1,1,1),!e){const l=d.src[d.idx].image;e=(new n.TextureLoader).load(l);z()}i=new n.MeshBasicMaterial({map:e}),s=new n.Mesh(u,i),t.add(s),(o=new n.WebGLRenderer).setPixelRatio(window.devicePixelRatio),o.setSize(window.innerWidth,window.innerHeight),a.appendChild(o.domElement),l.position.set(0,0,10),window.camera=l,document.addEventListener("mousedown",F,!1),document.addEventListener("mousemove",h,!1),document.addEventListener("mouseup",x,!1),document.addEventListener("wheel",v,!1),document.addEventListener("touchstart",F,!1),document.addEventListener("touchmove",h,!1),document.addEventListener("touchend",x,!1),document.addEventListener("dblclick",w,!1),document.addEventListener("dragover",(function(n){n.preventDefault(),n.dataTransfer.dropEffect="copy"}),!1),document.addEventListener("dragenter",(function(){document.body.style.opacity=.5}),!1),document.addEventListener("dragleave",(function(){document.body.style.opacity=1}),!1),document.addEventListener("drop",(function(n){n.preventDefault();var e=new FileReader;e.addEventListener("load",(function(n){i.map.image.src=n.target.result,i.map.needsUpdate=!0}),!1),e.readAsDataURL(n.dataTransfer.files[0]),document.body.style.opacity=1}),!1),document.querySelector(".down").addEventListener("click",(function(n){console.log("down")})),document.querySelector(".up").addEventListener("click",(function(n){console.log("up")})),document.querySelector(".left").addEventListener("click",(function(n){console.log("left")})),document.querySelector(".right").addEventListener("click",(function(n){console.log("right")})),document.querySelector(".ok").addEventListener("click",(function(n){console.log("ok")})),window.addEventListener("resize",B,!1)}function B(){l.aspect=window.innerWidth/window.innerHeight,l.updateProjectionMatrix(),o.setSize(window.innerWidth,window.innerHeight)}function F(n){s=!0;var e=n.clientX||n.touches[0].clientX,l=n.clientY||n.touches[0].clientY;u=e,f=l,r=c,m=g}function h(n){if(!0===s){var e=n.clientX||n.touches[0].clientX,l=n.clientY||n.touches[0].clientY;c=.1*(u-e)+r,g=.1*(l-f)+m}}function x(){s=!1,console.log("lat",g,"lon",c)}function v(e){var t=l.fov+.05*e.deltaY;l.fov=n.MathUtils.clamp(t,10,75),l.updateProjectionMatrix()}function w(n){console.log(n);T(y())}function y(){console.log(l.target);let e=Math.PI,t="";const o=l.target.normalize();for(const l in d.direction){const a=new n.Vector3(d.direction[l].at.x,d.direction[l].at.y,d.direction[l].at.z).normalize(),i=o.angleTo(a);e>i&&(e=i,t=d.direction[l].name),console.log(i)}return console.log("min_angle",e,"name",t),t}function T(n){let e=null;switch(n){case"L":e=d.src[d.idx].L;break;case"R":e=d.src[d.idx].R;break;case"F":e=d.src[d.idx].F;break;case"B":e=d.src[d.idx].B;break;case"LF":e=d.src[d.idx].LF;break;case"LB":e=d.src[d.idx].LB;break;case"RF":e=d.src[d.idx].RF;break;case"RB":e=d.src[d.idx].RB}e?E(e):U(),console.log(e)}function E(n){const e=C(n.id);d.nextId=n,d.idx=e,console.log("idx",e);b(d.src[e].image,n)}function b(e,l){(new n.TextureLoader).load(e,(function(n){k(n,l)}),void 0,(function(n){console.error("An error happened.")}))}function k(n,t){const o={x:l.fov,y:0},a=l.fov;console.log(a);new e.Tween(o).to({x:2*l.fov/3,y:0},500).easing(e.Easing.Quadratic.Out).onUpdate((n,e)=>{l.fov=o.x,l.updateProjectionMatrix()}).onComplete(()=>{console.log("onComplete",a,o.x,o.y),i.map=n,i.map.needsUpdate=!0,g=t.angle.lat,c=t.angle.lon,l.fov=a,l.updateProjectionMatrix(),z(t)}).start()}function M(n){const t={x:l.fov,y:0};console.log(n);new e.Tween(t).to({x:n,y:0},600).easing(e.Easing.Quadratic.Out).delay(300).onUpdate((n,e)=>{console.log(l.fov),l.fov=t.x,l.updateProjectionMatrix()}).onComplete(()=>{}).start()}function z(){const n=d.src[d.idx].home.T,e=d.src[d.idx].home.R;document.getElementById("cam").style.top=n+"px",document.getElementById("cam").style.right=e+"px"}function j(){const n=null!==d.nextId?d.nextId.offset:180,e=c+n;document.getElementById("cam").style.transform="rotate("+e+"deg)"}function U(){const n={x:l.fov,y:0},t=l.fov-5;new e.Tween(n).to({x:t,y:0},400).easing(e.Easing.Quadratic.Out).delay(300).onUpdate((e,t)=>{l.fov=n.x,l.updateProjectionMatrix()}).onComplete(()=>{P()}).start()}function P(){const n={x:l.fov,y:0},t=l.fov+5;new e.Tween(n).to({x:t,y:0},400).easing(e.Easing.Quadratic.Out).delay(300).onUpdate((e,t)=>{l.fov=n.x,l.updateProjectionMatrix()}).onComplete(()=>{}).start()}function C(n){let e=-1;for(const l in d.src)if(d.src[l].id===n){e=l;break}return e}function S(){requestAnimationFrame(S),A()}function A(){g=Math.max(-85,Math.min(85,g)),R=n.MathUtils.degToRad(90-g),L=n.MathUtils.degToRad(c),l.target.x=500*Math.sin(R)*Math.cos(L),l.target.y=500*Math.cos(R),l.target.z=500*Math.sin(R)*Math.sin(L),j(),l.lookAt(l.target),e.update(),o.render(t,l)}function I(){window.location.href="pano_object_scenne_test.html"}p(),S();var O=new tvSysBtnBind({id:"Jdoc",className:"ctrlBtn",currentClass:"current",keyRemoveDefault:!1,effect:"base",currentIndex:0,onLoad:function(n){console.log(n)},onPress:function(){var n=this.event.keyCode;console.log(n)},onEnterPress:function(){alert(12321)},onBack:function(){}});function q(){const e=n.Cache;e.enabled=!0;const l=new n.TextureLoader,t=new n.FileLoader;return t.setResponseType("blob"),Object.assign({},l,{load:function(n,o,a,i){const d=e.get(n);if(d)return d;t.load(n,(function(t){const a=URL.createObjectURL(t),d=document.createElementNS("http://www.w3.org/1999/xhtml","img");d.onload=()=>{e.add(n,d),URL.revokeObjectURL(a),document.body.removeChild(d),l.load(n,o,()=>{},i)},d.src=a,d.style.visibility="hidden",document.body.appendChild(d)}),a,i)}})}