1 |
- import*as n from"./js/three.module.js";import e from"./js/tween.esm.js";var l,o,t,a,i,d={idx:0,nextId:null,src:[{id:1,name:"01frontGate",home:{T:50,R:70},image:"panos/01frontGate.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:"02masterBedroom",home:{T:83,R:45},image:"panos/02masterBedroom.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:"03masterBedroom",home:{T:85,R:36},image:"panos/03masterBedroom.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:"04masterBedroom",home:{T:75,R:30},image:"panos/04masterBedroom.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:"05masterBedroomToilet ",home:{T:60,R:30},image:"panos/05masterBedroomToilet .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:"06masterBedroomPorch",home:{T:66,R:45},image:"panos/06masterBedroomPorch.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:"07masterBedroomCloakroom",home:{T:60,R:48},image:"panos/07masterBedroomCloakroom.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:"08AguestRoom",home:{T:90,R:100},image:"panos/08AguestRoom.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:"09guestRoomA",home:{T:80,R:90},image:"panos/09guestRoomA.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:"10guestRoomAToilet ",home:{T:70,R:100},image:"panos/10guestRoomAToilet .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:"11guestRoomB",home:{T:85,R:70},image:"panos/11guestRoomB.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:"12guestRoomB",home:{T:80,R:60},image:"panos/12guestRoomB.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:"13guestRoomB",home:{T:95,R:70},image:"panos/13guestRoomB.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:"14livingRoom",home:{T:20,R:70},image:"panos/14livingRoom.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:"15livingRoom",home:{T:30,R:50},image:"panos/15livingRoom.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:"16livingRoom",home:{T:20,R:50},image:"panos/16livingRoom.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:"17livingRoom",home:{T:8,R:60},image:"panos/17livingRoom.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:"18livingRoom",home:{T:8,R:40},image:"panos/18livingRoom.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:"19livingRoom",home:{T:8,R:50},image:"panos/19livingRoom.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:"20livingRoom",home:{T:40,R:45},image:"panos/20livingRoom.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:"21livingRoom",home:{T:42,R:55},image:"panos/21livingRoom.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:"22livingRoom",home:{T:23,R:20},image:"panos/22livingRoom.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:"23kitchen",home:{T:-5,R:65},image:"panos/23kitchen.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:"24laundry",home:{T:-5,R:40},image:"panos/24laundry.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:"25frontGatePorch",home:{T:65,R:75},image:"panos/25frontGatePorch.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}}]},u=!1,s=0,r=0,m=0,f=0,c=0,g=0,R=0,L=0;function B(e){var a,u;a=document.getElementById("container"),(l=new n.PerspectiveCamera(75,window.innerWidth/window.innerHeight,1,1100)).target=new n.Vector3(0,0,0),o=new n.Scene;var s=new n.SphereBufferGeometry(500,60,40);if(s.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}),u=new n.Mesh(s,i),o.add(u),(t=new n.WebGLRenderer).setPixelRatio(window.devicePixelRatio),t.setSize(window.innerWidth,window.innerHeight),a.appendChild(t.domElement),l.position.set(0,0,10),window.camera=l,document.addEventListener("mousedown",F,!1),document.addEventListener("mousemove",h,!1),document.addEventListener("mouseup",v,!1),document.addEventListener("wheel",x,!1),document.addEventListener("touchstart",F,!1),document.addEventListener("touchmove",h,!1),document.addEventListener("touchend",v,!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){})),document.querySelector(".up").addEventListener("click",(function(n){})),document.querySelector(".left").addEventListener("click",(function(n){})),document.querySelector(".right").addEventListener("click",(function(n){})),document.querySelector(".ok").addEventListener("click",(function(n){})),window.addEventListener("resize",p,!1)}function p(){l.aspect=window.innerWidth/window.innerHeight,l.updateProjectionMatrix(),t.setSize(window.innerWidth,window.innerHeight)}function F(n){u=!0;var e=n.clientX||n.touches[0].clientX,l=n.clientY||n.touches[0].clientY;s=e,r=l,f=m,g=c}function h(n){if(!0===u){var e=n.clientX||n.touches[0].clientX,l=n.clientY||n.touches[0].clientY;m=.1*(s-e)+f,c=.1*(l-r)+g}}function v(){u=!1}function x(e){var o=l.fov+.05*e.deltaY;l.fov=n.MathUtils.clamp(o,10,75),l.updateProjectionMatrix()}function w(n){T(y())}function y(){let e=Math.PI,o="";const t=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=t.angleTo(a);e>i&&(e=i,o=d.direction[l].name)}return o}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):j()}function E(n){const e=C(n.id);d.nextId=n,d.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,o){const t={x:l.fov,y:0},a=l.fov;new e.Tween(t).to({x:2*l.fov/3,y:0},500).easing(e.Easing.Quadratic.Out).onUpdate((n,e)=>{l.fov=t.x,l.updateProjectionMatrix()}).onComplete(()=>{i.map=n,i.map.needsUpdate=!0,c=o.angle.lat,m=o.angle.lon,l.fov=a,l.updateProjectionMatrix(),z(o)}).start()}function M(n){const o={x:l.fov,y:0};new e.Tween(o).to({x:n,y:0},600).easing(e.Easing.Quadratic.Out).delay(300).onUpdate((n,e)=>{l.fov=o.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 P(){const n=null!==d.nextId?d.nextId.offset:180,e=m+n;document.getElementById("cam").style.transform="rotate("+e+"deg)"}function j(){const n={x:l.fov,y:0},o=l.fov-5;new e.Tween(n).to({x:o,y:0},400).easing(e.Easing.Quadratic.Out).delay(300).onUpdate((e,o)=>{l.fov=n.x,l.updateProjectionMatrix()}).onComplete(()=>{U()}).start()}function U(){const n={x:l.fov,y:0},o=l.fov+5;new e.Tween(n).to({x:o,y:0},400).easing(e.Easing.Quadratic.Out).delay(300).onUpdate((e,o)=>{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(){c=Math.max(-85,Math.min(85,c)),R=n.MathUtils.degToRad(90-c),L=n.MathUtils.degToRad(m),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),P(),l.lookAt(l.target),e.update(),t.render(o,l)}function I(){window.location.href="pano_object_scenne_test.html"}B(),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,o=new n.FileLoader;return o.setResponseType("blob"),Object.assign({},l,{load:function(n,t,a,i){const d=e.get(n);if(d)return d;o.load(n,(function(o){const a=URL.createObjectURL(o),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,t,()=>{},i)},d.src=a,d.style.visibility="hidden",document.body.appendChild(d)}),a,i)}})}
|