@realsee/five 6.3.0-alpha.5 → 6.3.0-alpha.6
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.
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.Model.html +2 -2
- package/docs/classes/five.Tile3DModel.html +2 -2
- package/docs/classes/plugins-1.BasePlugin.Controller.html +1 -1
- package/docs/classes/plugins-1.CSS3DRenderer.html +6 -0
- package/docs/classes/plugins-1.OrbitControls.html +41 -0
- package/docs/classes/plugins-1.OrientationPluginController.html +1 -1
- package/docs/classes/plugins-1.TrajectoryController.html +51 -0
- package/docs/functions/plugins-1.TrajectoryPlugin.html +1 -0
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/five.FiveLoadOptions.html +2 -2
- package/docs/interfaces/plugins-1.BasePlugin.State.html +1 -1
- package/docs/interfaces/plugins-1.Keyframe.html +3 -0
- package/docs/interfaces/plugins-1.PlayingState.html +3 -0
- package/docs/interfaces/plugins-1.PluginTemplateType.Config.html +3 -0
- package/docs/interfaces/plugins-1.PluginTemplateType.EventMap.html +10 -0
- package/docs/interfaces/plugins-1.PluginTemplateType.Params.html +4 -0
- package/docs/interfaces/plugins-1.PluginTemplateType.State.html +8 -0
- package/docs/modules/plugins-1.PluginTemplateType.html +7 -0
- package/docs/modules/plugins-1.html +7 -0
- package/docs/types/plugins-1.PluginTemplateType.PluginData.html +1 -0
- package/docs/types/plugins-1.PluginTemplateType.ServerData.html +1 -0
- package/five/index.d.ts +3 -3
- package/five/index.js +5 -5
- package/five/index.mjs +22 -10
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +3 -3
- package/line/index.js +3 -3
- package/line/index.mjs +3 -3
- package/package.json +1 -1
- package/plugins/index.d.ts +112 -8
- package/plugins/index.js +12 -12
- package/plugins/index.mjs +1229 -1064
- package/react/index.js +2 -2
- package/react/index.mjs +2 -2
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +3 -3
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +13 -13
- package/umd/five-react.js +2 -2
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +2 -2
- package/umd/five-vue.js +2 -2
- package/umd/five.js +25 -25
- package/vfx/index.js +2 -2
- package/vfx/index.mjs +2 -2
- package/vue/index.js +2 -2
- package/vue/index.mjs +2 -2
package/umd/five-plugins.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated: 11/
|
|
5
|
-
* Version: 6.3.0-alpha.
|
|
4
|
+
* Generated: 2024/11/14
|
|
5
|
+
* Version: 6.3.0-alpha.6
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -252,13 +252,13 @@
|
|
|
252
252
|
* No amendment to or modification of this Agreement will be binding unless in
|
|
253
253
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
254
254
|
* Agreement and all related documents shall be drafted in English.
|
|
255
|
-
*/(function(
|
|
255
|
+
*/(function(q,Ee){typeof exports=="object"&&typeof module!="undefined"?Ee(exports,require("@realsee/five"),require("three"),require("@realsee/five/plugins")):typeof define=="function"&&define.amd?define(["exports","@realsee/five","three","@realsee/five/plugins"],Ee):(q=typeof globalThis!="undefined"?globalThis:q||self,Ee(q.FiveSDK_Plugins={},q.FiveSDK,q.THREE,q.FiveSDK_Plugins))})(this,function(q,Ee,_,Yt){"use strict";function jt(f){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(f){for(const e in f)if(e!=="default"){const a=Object.getOwnPropertyDescriptor(f,e);Object.defineProperty(o,e,a.get?a:{enumerable:!0,get:()=>f[e]})}}return o.default=f,Object.freeze(o)}const w=jt(_);function zt(f){return/^https?:\/\/|^\/\//.test(f)||/^data:/.test(f)}function Xt(f,o){return zt(o)?o:"".concat(f).concat(o)}q.BasePlugin=void 0,function(f){var o=function(){function e(a,t){this.hooks=new Ee.Subscribe,this.staticPrefix="//vr-image-4.realsee-cdn.cn",this.five=a,t!=null&&t.staticPrefix&&(this.staticPrefix=t.staticPrefix)}return e.prototype.getCurrentState=function(){return this.state},e.prototype.absoluteUrl=function(a){return Xt(this.staticPrefix,a)},e}();f.Controller=o}(q.BasePlugin||(q.BasePlugin={}));var st=function(f,o){return st=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,a){e.__proto__=a}||function(e,a){for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&(e[t]=a[t])},st(f,o)};function Le(f,o){if(typeof o!="function"&&o!==null)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");st(f,o);function e(){this.constructor=f}f.prototype=o===null?Object.create(o):(e.prototype=o.prototype,new e)}var K=function(){return K=Object.assign||function(o){for(var e,a=1,t=arguments.length;a<t;a++){e=arguments[a];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(o[s]=e[s])}return o},K.apply(this,arguments)};function Fe(f,o,e,a){function t(s){return s instanceof e?s:new e(function(u){u(s)})}return new(e||(e=Promise))(function(s,u){function l(v){try{d(a.next(v))}catch(T){u(T)}}function g(v){try{d(a.throw(v))}catch(T){u(T)}}function d(v){v.done?s(v.value):t(v.value).then(l,g)}d((a=a.apply(f,o||[])).next())})}function Ue(f,o){var e={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},a,t,s,u=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return u.next=l(0),u.throw=l(1),u.return=l(2),typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function l(d){return function(v){return g([d,v])}}function g(d){if(a)throw new TypeError("Generator is already executing.");for(;u&&(u=0,d[0]&&(e=0)),e;)try{if(a=1,t&&(s=d[0]&2?t.return:d[0]?t.throw||((s=t.return)&&s.call(t),0):t.next)&&!(s=s.call(t,d[1])).done)return s;switch(t=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return e.label++,{value:d[1],done:!1};case 5:e.label++,t=d[1],d=[0];continue;case 7:d=e.ops.pop(),e.trys.pop();continue;default:if(s=e.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){e=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){e.label=d[1];break}if(d[0]===6&&e.label<s[1]){e.label=s[1],s=d;break}if(s&&e.label<s[2]){e.label=s[2],e.ops.push(d);break}s[2]&&e.ops.pop(),e.trys.pop();continue}d=o.call(f,e)}catch(v){d=[6,v],t=0}finally{a=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}function Et(f,o,e){if(e||arguments.length===2)for(var a=0,t=o.length,s;a<t;a++)(s||!(a in o))&&(s||(s=Array.prototype.slice.call(o,0,a)),s[a]=o[a]);return f.concat(s||Array.prototype.slice.call(o))}typeof SuppressedError=="function"&&SuppressedError;function Gt(f){return new Promise(function(o,e){var a=new Image;a.onload=function(){a.onload=a.onerror=function(){},o(a)},a.onerror=function(t){a.onload=a.onerror=function(){},e(t)},a.crossOrigin="",a.src=f})}var Wt=typeof performance!="undefined"&&typeof performance.timing!="undefined"?performance.timing.navigationStart:Date.now(),lt=typeof performance!="undefined"?function(){return Wt+performance.now()}:function(){return Date.now()};function He(f,o,e){return f+(o-f)*e}function Ht(f,o,e,a){var t=(o*e+2*f)/Math.pow(e,3),s=-(2*o*e+3*f)/Math.pow(e,2),u=o,l=f;return t*Math.pow(a,3)+s*Math.pow(a,2)+u*a+l}function qt(f,o,e,a){var t=(o*e+2*f)/Math.pow(e,3),s=-(2*o*e+3*f)/Math.pow(e,2),u=o;return 3*t*Math.pow(a,2)+2*s*a+u}function Kt(f,o,e,a){var t=a[1]-a[0];return f=qe(f,a),o=qe(o,a),o-f>t/2?He(f+t,o,e):f-o>t/2?He(f-t,o,e):He(f,o,e)}function qe(f,o){var e=o[1]-o[0];return f<o[0]?qe(f+e,o):f>=o[1]?qe(f-e,o):f}function Zt(f,o,e,a){return a?Kt(f,o,e,a):He(f,o,e)}var Pt=function(){function f(o){this.config={},this.progress=1,this.ended=!0,this.value={},this.startTime=lt(),this.startVelocity=0,this.duration=0,this.keyframes=[];for(var e in o){var a=o[e];typeof a=="number"?(this.value[e]=a,this.config[e]={circle:!1}):(this.value[e]=a.value,this.config[e]={circle:a.circle})}this.keyframes=[{progress:0,value:K({},this.value)},{progress:1,value:K({},this.value)}]}return f.prototype.getProgress=function(o){var e=o-this.startTime;return e<0?0:e>=this.duration?1:1-Ht(1,this.startVelocity,this.duration,e)},f.prototype.getValue=function(o){for(var e=1;e<this.keyframes.length;e++)if(this.keyframes[e].progress>o){var a=this.keyframes[e-1],t=this.keyframes[e],s={};for(var u in this.config){var l=(o-a.progress)/(t.progress-a.progress);s[u]=Zt(a.value[u],t.value[u],l,this.config[u].circle)}return s}return K({},this.keyframes[this.keyframes.length-1].value)},f.prototype.getProgressVelocity=function(o){var e=o-this.startTime;return e>=this.duration?0:qt(1,this.startVelocity,this.duration,e)},f.prototype.update=function(o){return this.ended?!0:(this.progress=Math.min(1,Math.max(0,this.progress,this.getProgress(o))),this.value=this.getValue(this.progress),this.ended=this.progress>=1,this.ended&&this.callbacks&&(this.callbacks[0](),this.callbacks=void 0),this.ended)},f.prototype.getKeyFrameSegment=function(o){for(var e=this.getProgress(o),a=1;a<this.keyframes.length;a++)if(this.keyframes[a].progress>e)return[this.keyframes[a-1],this.keyframes[a]];return[this.keyframes[this.keyframes.length-2],this.keyframes[this.keyframes.length-1]]},f.prototype.getTargetKeyframe=function(){return this.keyframes[this.keyframes.length-1]},f.prototype.set=function(o,e,a,t){var s;a===void 0&&(a=0),isNaN(e)&&(e=0),isNaN(a)&&(a=0),t=t!=null?t:lt();var u=this.getProgress(t),l=this.getValue(u),g={};for(var d in this.config)g[d]=(s=o[d])!==null&&s!==void 0?s:l[d];var v=[{progress:0,value:l},{progress:1,value:g}];return this.setKeyframes(v,e,a,t)},f.prototype.setKeyframes=function(o,e,a,t){var s=this;if(a===void 0&&(a=0),o.length<2)throw new Error("keyframes invalid.");return isNaN(e)&&(e=0),isNaN(a)&&(a=0),this.callbacks&&(this.callbacks[1](new Error("motion aborted.")),this.callbacks=void 0),new Promise(function(u,l){t=t!=null?t:lt(),s.progress=0,s.ended=!1,s.startTime=t,s.startVelocity=a,s.keyframes=o,s.duration=e,e===0?(s.progress=1,s.value=K({},o[o.length-1].value)):s.value=K({},o[0].value),s.callbacks=[u,l]})},f.prototype.dispose=function(){this.callbacks&&(this.callbacks[1](new Error("motion dispose.")),this.callbacks=void 0)},f}(),Qt=[{progress:0,value:{scale:0,opacity:0,shadow:2}},{progress:.2,value:{scale:.5,opacity:1,shadow:1}},{progress:.8,value:{scale:2,opacity:0,shadow:.5}},{progress:1,value:{scale:2,opacity:0,shadow:.5}}],Jt=[{progress:0,value:{scale:0,opacity:0,shadow:2}},{progress:.2,value:{scale:.4,opacity:1,shadow:2}},{progress:.8,value:{scale:1.6,opacity:.4,shadow:.5}},{progress:1,value:{scale:2,opacity:0,shadow:.5}}],$t=`
|
|
256
256
|
varying vec2 vUv;
|
|
257
257
|
void main() {
|
|
258
258
|
vUv = uv;
|
|
259
259
|
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
260
260
|
}
|
|
261
|
-
`,
|
|
261
|
+
`,en=`
|
|
262
262
|
varying vec2 vUv;
|
|
263
263
|
uniform sampler2D map;
|
|
264
264
|
uniform vec4 color;
|
|
@@ -304,7 +304,7 @@ void main() {
|
|
|
304
304
|
}
|
|
305
305
|
}
|
|
306
306
|
}
|
|
307
|
-
|
|
307
|
+
`,tn=function(f){Le(o,f);function o(e,a){var t=f.call(this,e)||this;t.canvas=document.createElement("canvas"),t.group=new w.Group,t.wrapper=document.createElement("div"),t.style=document.createElement("style"),t.itemMaskMesh=function(){var l=new w.Mesh(new w.SphereBufferGeometry(1,60,40),new w.ShaderMaterial({vertexShader:$t,fragmentShader:en,uniforms:{map:{value:new w.Texture},color:{value:new w.Vector4}},depthWrite:!1,depthTest:!1,transparent:!0}));return l.renderOrder=-3,l.geometry.rotateY(-Math.PI/2),l.geometry.scale(-1,1,1),l}(),t.onFivePanoArrived=function(l){t.state.mode==="mask"&&t.loadPanoMask(l)},t.onFiveWantsMoveToPano=function(l){t.state.mode==="box"&&t.select()},t.loadPanoMask=function(l){return Fe(t,void 0,void 0,function(){var g,d,v,T,M,C,O,A,N,y;return Ue(this,function(b){switch(b.label){case 0:return g=this,d=g.five,v=g.canvas,T=g.itemMaskMesh,M=g.data,C=v.getContext("2d"),O=d.observers[l],A=(y=M==null?void 0:M.object_mask_list.find(function(P){return P.derived_id===String(O.derivedId)}))===null||y===void 0?void 0:y.object_mask_url,A?[4,Gt(A)]:[2];case 1:return N=b.sent(),v.width=N.width,v.height=N.height,C==null||C.drawImage(N,0,0,N.width,N.height),T.material.uniforms.map.value.image=N,T.material.uniforms.map.value.minFilter=w.LinearFilter,T.material.uniforms.map.value.needsUpdate=!0,T.position.copy(O.position),T.quaternion.copy(O.quaternion),d.scene.add(T),d.needsRender=!0,[2]}})})},t.onFiveMouseMove=function(l){var g;if(t.state.mode==="mask"&&t.five.state.mode==="Panorama"){var d=t,v=d.five,T=d.itemMaskMesh,M=v.observers[v.state.panoIndex],C=(g=l.pointers[0])===null||g===void 0?void 0:g.raycaster;if(C){var O=C.intersectObjects(t.group.children.filter(function(A){return A.userData.visible_viewpoint.includes(String(M.derivedId))}),!0)[0];O?T.material.uniforms.color.value=O.object.userData.color:T.material.uniforms.color.value=new w.Vector4(0,0,0,1)}}},t.onFiveTapGesture=function(l){var g=t.five,d=g.observers[g.state.panoIndex];if(l){var v=l.intersectObjects(t.group.children.filter(function(C){return C.userData.visible_viewpoint.includes(String(d.derivedId))}),!0)[0];if(v){t.select(v.object.name),t.stopAnimation&&t.stopAnimation(),t.tapPosition=v.point,t.changeTapScreenPosition();var T=new Pt({opacity:0,scale:0,shadow:2}),M=new Pt({opacity:0,scale:0,shadow:2});return T.setKeyframes(Qt,1e3),M.setKeyframes(Jt,1e3),t.stopAnimation=Ee.AnimationFrameLoop.shared.add(function(C,O){var A,N=T.update(C),y=M.update(C);t.wrapper.firstChild.style.opacity="".concat(T.value.opacity),t.wrapper.firstChild.style.transform="scale(".concat(T.value.scale,")"),t.wrapper.firstChild.style.boxShadow="0 0 0 ".concat(T.value.shadow,"px #fff"),t.wrapper.lastChild.style.opacity="".concat(M.value.opacity),t.wrapper.lastChild.style.transform="scale(".concat(M.value.scale,")"),t.wrapper.lastChild.style.boxShadow="0 0 0 ".concat(M.value.shadow,"px #fff"),N&&y&&((A=t.stopAnimation)===null||A===void 0||A.call(t),t.stopAnimation=void 0,g.getElement().parentElement.removeChild(t.wrapper))},!1,0,10),g.getElement().parentElement.appendChild(t.wrapper),!1}}},t.changeTapScreenPosition=function(){if(t.tapPosition){var l=t.tapPosition.clone().project(t.five.camera),g=(l.x+1)/2,d=-(l.y-1)/2;t.wrapper.style.opacity=l.z>0&&l.z<1?"1":"0",t.wrapper.style.transform="translate(".concat(g*100,"%, ").concat(d*100,"%)")}},t.onFiveCameraUpdate=function(l){t.changeTapScreenPosition()},t.dispose=function(){t.disable()},t.five=e;var s={enabled:!0,visible:!0,mode:"box",selectedId:null,selectAll:!1};t.state=Object.assign(s,a==null?void 0:a.initialState);var u=K({},a==null?void 0:a.config);return t._config=u,t.group.rotateX(Math.PI),t.wrapper.className="ItemMaskPlugin",t.wrapper.innerHTML='<span class="ItemMaskPluginCircle"></span><span class="ItemMaskPluginCircle"></span>',t.style.innerHTML=`
|
|
308
308
|
.ItemMaskPlugin {
|
|
309
309
|
position: absolute;
|
|
310
310
|
top: 0;
|
|
@@ -322,7 +322,7 @@ void main() {
|
|
|
322
322
|
border-radius: 50%;
|
|
323
323
|
box-shadow: 0px 0px 0px 2px #fff;
|
|
324
324
|
}
|
|
325
|
-
`,t.state.enabled&&t._enable({userAction:!1}),t}return Object.defineProperty(o.prototype,"config",{get:function(){return
|
|
325
|
+
`,t.state.enabled&&t._enable({userAction:!1}),t}return Object.defineProperty(o.prototype,"config",{get:function(){return K({},this._config)},enumerable:!1,configurable:!0}),o.prototype.updateState=function(e,a){var t=this.state;this.state=K(K({},this.state),e),this.hooks.emit("stateChange",{state:this.state,prevState:t,userAction:a})},o.prototype.load=function(e){return Fe(this,void 0,void 0,function(){var a,t,s=this;return Ue(this,function(u){return this.data=e,a=e.data_list.map(function(l){var g,d=l.position.end.map(function(D){return Number(D)}),v=l.position.start.map(function(D){return Number(D)}),T=Math.abs(d[0]-v[0]),M=Math.abs(d[1]-v[1]),C=Math.abs(d[2]-v[2]),O=d[0]/2+v[0]/2,A=d[1]/2+v[1]/2,N=d[2]/2+v[2]/2,y=new w.Vector3(O,A,N),b=new w.BoxBufferGeometry(T,M,C),P=new w.ShaderMaterial({vertexShader:`
|
|
326
326
|
varying vec2 vUv;
|
|
327
327
|
void main() {
|
|
328
328
|
vUv = uv;
|
|
@@ -347,13 +347,13 @@ void main() {
|
|
|
347
347
|
gl_FragColor = vec4(1.0, 1.0, 1.0, alpha / 4.0 * opacity);
|
|
348
348
|
}
|
|
349
349
|
}
|
|
350
|
-
`,side:w.DoubleSide,visible:
|
|
350
|
+
`,side:w.DoubleSide,visible:s.state.selectedId==="".concat(l.category_name).concat(l.index),uniforms:{opacity:{value:s.state.mode==="box"?1:0}},depthWrite:!1,depthTest:!1,transparent:!0}),p=new w.Mesh(b,P);return p.position.copy(y),p.name="".concat(l.category_name).concat(l.index),p.userData.color=new((g=w.Vector4).bind.apply(g,Et(Et([void 0],l.mask_color.map(function(D){return D/255}).reverse(),!1),[1],!1))),p.userData.visible_viewpoint=Object.keys(l.visible_viewpoint),p}),(t=this.group).add.apply(t,a),[2]})})},o.prototype.setState=function(e,a){a===void 0&&(a={});var t=this.state,s=a.userAction!==void 0?a.userAction:!0;if(this.updateState(e,s),e.enabled!==void 0&&t.enabled!==e.enabled){var u={userAction:s};e.enabled?this._enable(u):this._disable(u)}},o.prototype.setMode=function(e){this.updateState({mode:e},!1),e==="mask"?(this.group.children.forEach(function(a){a.material.uniforms.opacity.value=0}),this.loadPanoMask(this.five.state.panoIndex)):e==="box"&&(this.itemMaskMesh.material.uniforms.color.value=new w.Vector4(0,0,0,1),this.group.children.forEach(function(a){a.material.uniforms.opacity.value=1}),this.five.needsRender=!0)},o.prototype.select=function(e,a){var t=this,s;this.updateState({selectedId:e!=null?e:null},(s=a==null?void 0:a.userAction)!==null&&s!==void 0?s:!1),this.group.children.forEach(function(u){u.material.visible=t.state.selectAll||u.name===e}),this.five.needsRender=!0},o.prototype.selectAll=function(e){e===void 0&&(e=!0),this.updateState({selectAll:!!e},!1),this.select()},o.prototype._enable=function(e){this.five.on("panoArrived",this.onFivePanoArrived),this.five.on("wantsMoveToPano",this.onFiveWantsMoveToPano),this.five.on("gesture.mousemove",this.onFiveMouseMove),this.five.on("wantsTapGesture",this.onFiveTapGesture),this.five.on("cameraUpdate",this.onFiveCameraUpdate),this.five.scene.add(this.group),document.head.appendChild(this.style)},o.prototype._disable=function(e){this.five.off("panoArrived",this.onFivePanoArrived),this.five.off("wantsMoveToPano",this.onFiveWantsMoveToPano),this.five.off("gesture.mousemove",this.onFiveMouseMove),this.five.off("wantsTapGesture",this.onFiveTapGesture),this.five.off("cameraUpdate",this.onFiveCameraUpdate),this.five.scene.remove(this.group),document.head.removeChild(this.style)},o.prototype.enable=function(e){var a;if(!this.state.enabled){var t=(a=e==null?void 0:e.userAction)!==null&&a!==void 0?a:!0;this.updateState({enabled:!0},t),this._enable({userAction:t})}},o.prototype.disable=function(e){var a;if(this.state.enabled!==!1){var t=(a=e==null?void 0:e.userAction)!==null&&a!==void 0?a:!0;this.updateState({enabled:!1},t),this._disable({userAction:t})}},o}(q.BasePlugin.Controller),nn=function(f,o){return new tn(f,o)};/*! Hammer.JS - v2.0.7 - 2016-04-22
|
|
351
351
|
* http://hammerjs.github.io/
|
|
352
352
|
*
|
|
353
353
|
* Copyright (c) 2016 Jorik Tangelder;
|
|
354
|
-
* Licensed under the MIT license */var ct=function(f,o,e,
|
|
355
|
-
`+
|
|
356
|
-
`;return function(){var v=new Error("get-stack-trace"),T=v&&v.stack?v.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",N=f.console&&(f.console.warn||f.console.log);return N&&N.call(f.console,u,T),n.apply(this,arguments)}}var C;typeof Object.assign!="function"?C=function(r){if(r===i||r===null)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(r),u=1;u<arguments.length;u++){var v=arguments[u];if(v!==i&&v!==null)for(var T in v)v.hasOwnProperty(T)&&(a[T]=v[T])}return a}:C=Object.assign;var D=k(function(r,a,u){for(var v=Object.keys(a),T=0;T<v.length;)(!u||u&&r[v[T]]===i)&&(r[v[T]]=a[v[T]]),T++;return r},"extend","Use `assign`."),Y=k(function(r,a){return D(r,a,!0)},"merge","Use `assign`.");function y(n,r,a){var u=r.prototype,v;v=n.prototype=Object.create(u),v.constructor=n,v._super=u,a&&C(v,a)}function b(n,r){return function(){return n.apply(r,arguments)}}function P(n,r){return typeof n==h?n.apply(r&&r[0]||i,r):n}function p(n,r){return n===i?r:n}function S(n,r,a){A(ne(r),function(u){n.addEventListener(u,a,!1)})}function M(n,r,a){A(ne(r),function(u){n.removeEventListener(u,a,!1)})}function te(n,r){for(;n;){if(n==r)return!0;n=n.parentNode}return!1}function K(n,r){return n.indexOf(r)>-1}function ne(n){return n.trim().split(/\s+/g)}function ue(n,r,a){if(n.indexOf&&!a)return n.indexOf(r);for(var u=0;u<n.length;){if(a&&n[u][a]==r||!a&&n[u]===r)return u;u++}return-1}function ye(n){return Array.prototype.slice.call(n,0)}function Ae(n,r,a){for(var u=[],v=[],T=0;T<n.length;){var N=n[T][r];ue(v,N)<0&&u.push(n[T]),v[T]=N,T++}return u=u.sort(function(ce,H){return ce[r]>H[r]}),u}function ae(n,r){for(var a,u,v=r[0].toUpperCase()+r.slice(1),T=0;T<t.length;){if(a=t[T],u=a?a+v:r,u in n)return u;T++}return i}var se=1;function U(){return se++}function x(n){var r=n.ownerDocument||n;return r.defaultView||r.parentWindow||f}var _=/mobile|tablet|ip(ad|hone|od)|android/i,F="ontouchstart"in f,j=ae(f,"PointerEvent")!==i,re=F&&_.test(navigator.userAgent),X="touch",V="pen",q="mouse",R="kinect",B=25,I=1,ee=2,z=4,G=8,Ce=1,Ee=2,_e=4,xe=8,Pe=16,le=Ee|_e,fe=xe|Pe,Ve=le|fe,Be=["x","y"],Ne=["clientX","clientY"];function oe(n,r){var a=this;this.manager=n,this.callback=r,this.element=n.element,this.target=n.options.inputTarget,this.domHandler=function(u){P(n.options.enable,[n])&&a.handler(u)},this.init()}oe.prototype={handler:function(){},init:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S(x(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&M(this.element,this.evEl,this.domHandler),this.evTarget&&M(this.target,this.evTarget,this.domHandler),this.evWin&&M(x(this.element),this.evWin,this.domHandler)}};function Qe(n){var r,a=n.options.inputClass;return a?r=a:j?r=ft:re?r=tt:F?r=pt:r=et,new r(n,Je)}function Je(n,r,a){var u=a.pointers.length,v=a.changedPointers.length,T=r&I&&u-v===0,N=r&(z|G)&&u-v===0;a.isFirst=!!T,a.isFinal=!!N,T&&(n.session={}),a.eventType=r,s(n,a),n.emit("hammer.input",a),n.recognize(a),n.session.prevInput=a}function s(n,r){var a=n.session,u=r.pointers,v=u.length;a.firstInput||(a.firstInput=Z(r)),v>1&&!a.firstMultiple?a.firstMultiple=Z(r):v===1&&(a.firstMultiple=!1);var T=a.firstInput,N=a.firstMultiple,Q=N?N.center:T.center,ce=r.center=de(u);r.timeStamp=d(),r.deltaTime=r.timeStamp-T.timeStamp,r.angle=ht(Q,ce),r.distance=$e(Q,ce),L(a,r),r.offsetDirection=be(r.deltaX,r.deltaY);var H=Re(r.deltaTime,r.deltaX,r.deltaY);r.overallVelocityX=H.x,r.overallVelocityY=H.y,r.overallVelocity=g(H.x)>g(H.y)?H.x:H.y,r.scale=N?cn(N.pointers,u):1,r.rotation=N?ln(N.pointers,u):0,r.maxPointers=a.prevInput?r.pointers.length>a.prevInput.maxPointers?r.pointers.length:a.prevInput.maxPointers:r.pointers.length,W(a,r);var me=n.element;te(r.srcEvent.target,me)&&(me=r.srcEvent.target),r.target=me}function L(n,r){var a=r.center,u=n.offsetDelta||{},v=n.prevDelta||{},T=n.prevInput||{};(r.eventType===I||T.eventType===z)&&(v=n.prevDelta={x:T.deltaX||0,y:T.deltaY||0},u=n.offsetDelta={x:a.x,y:a.y}),r.deltaX=v.x+(a.x-u.x),r.deltaY=v.y+(a.y-u.y)}function W(n,r){var a=n.lastInterval||r,u=r.timeStamp-a.timeStamp,v,T,N,Q;if(r.eventType!=G&&(u>B||a.velocity===i)){var ce=r.deltaX-a.deltaX,H=r.deltaY-a.deltaY,me=Re(u,ce,H);T=me.x,N=me.y,v=g(me.x)>g(me.y)?me.x:me.y,Q=be(ce,H),n.lastInterval=r}else v=a.velocity,T=a.velocityX,N=a.velocityY,Q=a.direction;r.velocity=v,r.velocityX=T,r.velocityY=N,r.direction=Q}function Z(n){for(var r=[],a=0;a<n.pointers.length;)r[a]={clientX:c(n.pointers[a].clientX),clientY:c(n.pointers[a].clientY)},a++;return{timeStamp:d(),pointers:r,center:de(r),deltaX:n.deltaX,deltaY:n.deltaY}}function de(n){var r=n.length;if(r===1)return{x:c(n[0].clientX),y:c(n[0].clientY)};for(var a=0,u=0,v=0;v<r;)a+=n[v].clientX,u+=n[v].clientY,v++;return{x:c(a/r),y:c(u/r)}}function Re(n,r,a){return{x:r/n||0,y:a/n||0}}function be(n,r){return n===r?Ce:g(n)>=g(r)?n<0?Ee:_e:r<0?xe:Pe}function $e(n,r,a){a||(a=Be);var u=r[a[0]]-n[a[0]],v=r[a[1]]-n[a[1]];return Math.sqrt(u*u+v*v)}function ht(n,r,a){a||(a=Be);var u=r[a[0]]-n[a[0]],v=r[a[1]]-n[a[1]];return Math.atan2(v,u)*180/Math.PI}function ln(n,r){return ht(r[1],r[0],Ne)+ht(n[1],n[0],Ne)}function cn(n,r){return $e(r[0],r[1],Ne)/$e(n[0],n[1],Ne)}var un={mousedown:I,mousemove:ee,mouseup:z},hn="mousedown",fn="mousemove mouseup";function et(){this.evEl=hn,this.evWin=fn,this.pressed=!1,oe.apply(this,arguments)}y(et,oe,{handler:function(r){var a=un[r.type];a&I&&(r.button===0||r.button===2)&&(this.pressed=!0),a&ee&&r.which!==1&&(a=z),this.pressed&&(a&z&&(this.pressed=!1),this.callback(this.manager,a,{pointers:[r],changedPointers:[r],pointerType:q,srcEvent:r}))}});var Ot={pointerdown:I,pointermove:ee,pointerup:z,pointercancel:G,pointerout:G},pn={2:X,3:V,4:q,5:R},At="pointerdown",Ct="pointermove pointerup pointercancel";f.MSPointerEvent&&!f.PointerEvent&&(At="MSPointerDown",Ct="MSPointerMove MSPointerUp MSPointerCancel");function ft(){this.evEl=At,this.evWin=Ct,oe.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}y(ft,oe,{handler:function(r){var a=this.store,u=!1,v=!1,T=r.type.toLowerCase().replace("ms",""),N=Ot[T],Q=pn[r.pointerType]||r.pointerType,ce=Q==X,H=ue(a,r.pointerId,"pointerId");N&I&&(r.button===0||r.button===2||ce)?H<0&&(a.push(r),H=a.length-1):N&(z|G)?u=!0:!ce&&r.buttons===0&&(u=!0,v=!0,N=Ot.pointerup),!(H<0)&&(v||(a[H]=r),this.callback(this.manager,N,{pointers:a,changedPointers:[r],pointerType:Q,srcEvent:a[H]}),u&&a.splice(H,1))}});var dn={touchstart:I,touchmove:ee,touchend:z,touchcancel:G},vn="touchstart",mn="touchstart touchmove touchend touchcancel";function _t(){this.evTarget=vn,this.evWin=mn,this.started=!1,oe.apply(this,arguments)}y(_t,oe,{handler:function(r){var a=dn[r.type];if(a===I&&(this.started=!0),!!this.started){var u=gn.call(this,r,a);a&(z|G)&&u[0].length-u[1].length===0&&(this.started=!1),this.callback(this.manager,a,{pointers:u[0],changedPointers:u[1],pointerType:X,srcEvent:r})}}});function gn(n,r){var a=ye(n.touches),u=ye(n.changedTouches);return r&(z|G)&&(a=Ae(a.concat(u),"identifier")),[a,u]}var yn={touchstart:I,touchmove:ee,touchend:z,touchcancel:G},bn="touchstart touchmove touchend touchcancel";function tt(){this.evTarget=bn,this.targetIds={},oe.apply(this,arguments)}y(tt,oe,{handler:function(r){var a=yn[r.type],u=Tn.call(this,r,a);u&&this.callback(this.manager,a,{pointers:u[0],changedPointers:u[1],pointerType:X,srcEvent:r})}});function Tn(n,r){var a=ye(n.touches),u=this.targetIds;if(r&(I|ee)&&a.length===1)return u[a[0].identifier]=!0,[a,a];var v,T,N=ye(n.changedTouches),Q=[],ce=this.target;if(T=a.filter(function(H){return te(H.target,ce)}),r===I)for(v=0;v<T.length;)u[T[v].identifier]=!0,v++;for(v=0;v<N.length;)u[N[v].identifier]&&Q.push(N[v]),r&(z|G)&&delete u[N[v].identifier],v++;if(Q.length)return[Ae(T.concat(Q),"identifier"),Q]}var wn=2500,xt=25;function pt(){oe.apply(this,arguments);var n=b(this.handler,this);this.touch=new tt(this.manager,n),this.mouse=new et(this.manager,n),this.primaryTouch=null,this.lastTouches=[]}y(pt,oe,{handler:function(r,a,u){var v=u.pointerType==X,T=u.pointerType==q;if(!(T&&u.sourceCapabilities&&u.sourceCapabilities.firesTouchEvents)){if(v)En.call(this,a,u);else if(T&&Pn.call(this,u))return;this.callback(r,a,u)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});function En(n,r){n&I?(this.primaryTouch=r.changedPointers[0].identifier,Nt.call(this,r)):n&(z|G)&&Nt.call(this,r)}function Nt(n){var r=n.changedPointers[0];if(r.identifier===this.primaryTouch){var a={x:r.clientX,y:r.clientY};this.lastTouches.push(a);var u=this.lastTouches,v=function(){var T=u.indexOf(a);T>-1&&u.splice(T,1)};setTimeout(v,wn)}}function Pn(n){for(var r=n.srcEvent.clientX,a=n.srcEvent.clientY,u=0;u<this.lastTouches.length;u++){var v=this.lastTouches[u],T=Math.abs(r-v.x),N=Math.abs(a-v.y);if(T<=xt&&N<=xt)return!0}return!1}var St=l?ae(l.style,"touchAction"):i,It=St!==i,kt="compute",Dt="auto",dt="manipulation",Se="none",Ye="pan-x",je="pan-y",nt=On();function vt(n,r){this.manager=n,this.set(r)}vt.prototype={set:function(n){n==kt&&(n=this.compute()),It&&this.manager.element.style&&nt[n]&&(this.manager.element.style[St]=n),this.actions=n.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var n=[];return A(this.manager.recognizers,function(r){P(r.options.enable,[r])&&(n=n.concat(r.getTouchAction()))}),Mn(n.join(" "))},preventDefaults:function(n){var r=n.srcEvent,a=n.offsetDirection;if(this.manager.session.prevented){r.preventDefault();return}var u=this.actions,v=K(u,Se)&&!nt[Se],T=K(u,je)&&!nt[je],N=K(u,Ye)&&!nt[Ye];if(v){var Q=n.pointers.length===1,ce=n.distance<2,H=n.deltaTime<250;if(Q&&ce&&H)return}if(!(N&&T)&&(v||T&&a&le||N&&a&fe))return this.preventSrc(r)},preventSrc:function(n){this.manager.session.prevented=!0,n.preventDefault()}};function Mn(n){if(K(n,Se))return Se;var r=K(n,Ye),a=K(n,je);return r&&a?Se:r||a?r?Ye:je:K(n,dt)?dt:Dt}function On(){if(!It)return!1;var n={},r=f.CSS&&f.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(a){n[a]=r?f.CSS.supports("touch-action",a):!0}),n}var rt=1,he=2,Ie=4,Me=8,Te=Me,ze=16,ve=32;function we(n){this.options=C({},this.defaults,n||{}),this.id=U(),this.manager=null,this.options.enable=p(this.options.enable,!0),this.state=rt,this.simultaneous={},this.requireFail=[]}we.prototype={defaults:{},set:function(n){return C(this.options,n),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(n){if(E(n,"recognizeWith",this))return this;var r=this.simultaneous;return n=it(n,this),r[n.id]||(r[n.id]=n,n.recognizeWith(this)),this},dropRecognizeWith:function(n){return E(n,"dropRecognizeWith",this)?this:(n=it(n,this),delete this.simultaneous[n.id],this)},requireFailure:function(n){if(E(n,"requireFailure",this))return this;var r=this.requireFail;return n=it(n,this),ue(r,n)===-1&&(r.push(n),n.requireFailure(this)),this},dropRequireFailure:function(n){if(E(n,"dropRequireFailure",this))return this;n=it(n,this);var r=ue(this.requireFail,n);return r>-1&&this.requireFail.splice(r,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(n){return!!this.simultaneous[n.id]},emit:function(n){var r=this,a=this.state;function u(v){r.manager.emit(v,n)}a<Me&&u(r.options.event+Lt(a)),u(r.options.event),n.additionalEvent&&u(n.additionalEvent),a>=Me&&u(r.options.event+Lt(a))},tryEmit:function(n){if(this.canEmit())return this.emit(n);this.state=ve},canEmit:function(){for(var n=0;n<this.requireFail.length;){if(!(this.requireFail[n].state&(ve|rt)))return!1;n++}return!0},recognize:function(n){var r=C({},n);if(!P(this.options.enable,[this,r])){this.reset(),this.state=ve;return}this.state&(Te|ze|ve)&&(this.state=rt),this.state=this.process(r),this.state&(he|Ie|Me|ze)&&this.tryEmit(r)},process:function(n){},getTouchAction:function(){},reset:function(){}};function Lt(n){return n&ze?"cancel":n&Me?"end":n&Ie?"move":n&he?"start":""}function Ut(n){return n==Pe?"down":n==xe?"up":n==Ee?"left":n==_e?"right":""}function it(n,r){var a=r.manager;return a?a.get(n):n}function pe(){we.apply(this,arguments)}y(pe,we,{defaults:{pointers:1},attrTest:function(n){var r=this.options.pointers;return r===0||n.pointers.length===r},process:function(n){var r=this.state,a=n.eventType,u=r&(he|Ie),v=this.attrTest(n);return u&&(a&G||!v)?r|ze:u||v?a&z?r|Me:r&he?r|Ie:he:ve}});function at(){pe.apply(this,arguments),this.pX=null,this.pY=null}y(at,pe,{defaults:{event:"pan",threshold:10,pointers:1,direction:Ve},getTouchAction:function(){var n=this.options.direction,r=[];return n&le&&r.push(je),n&fe&&r.push(Ye),r},directionTest:function(n){var r=this.options,a=!0,u=n.distance,v=n.direction,T=n.deltaX,N=n.deltaY;return v&r.direction||(r.direction&le?(v=T===0?Ce:T<0?Ee:_e,a=T!=this.pX,u=Math.abs(n.deltaX)):(v=N===0?Ce:N<0?xe:Pe,a=N!=this.pY,u=Math.abs(n.deltaY))),n.direction=v,a&&u>r.threshold&&v&r.direction},attrTest:function(n){return pe.prototype.attrTest.call(this,n)&&(this.state&he||!(this.state&he)&&this.directionTest(n))},emit:function(n){this.pX=n.deltaX,this.pY=n.deltaY;var r=Ut(n.direction);r&&(n.additionalEvent=this.options.event+r),this._super.emit.call(this,n)}});function mt(){pe.apply(this,arguments)}y(mt,pe,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Se]},attrTest:function(n){return this._super.attrTest.call(this,n)&&(Math.abs(n.scale-1)>this.options.threshold||this.state&he)},emit:function(n){if(n.scale!==1){var r=n.scale<1?"in":"out";n.additionalEvent=this.options.event+r}this._super.emit.call(this,n)}});function gt(){we.apply(this,arguments),this._timer=null,this._input=null}y(gt,we,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Dt]},process:function(n){var r=this.options,a=n.pointers.length===r.pointers,u=n.distance<r.threshold,v=n.deltaTime>r.time;if(this._input=n,!u||!a||n.eventType&(z|G)&&!v)this.reset();else if(n.eventType&I)this.reset(),this._timer=m(function(){this.state=Te,this.tryEmit()},r.time,this);else if(n.eventType&z)return Te;return ve},reset:function(){clearTimeout(this._timer)},emit:function(n){this.state===Te&&(n&&n.eventType&z?this.manager.emit(this.options.event+"up",n):(this._input.timeStamp=d(),this.manager.emit(this.options.event,this._input)))}});function yt(){pe.apply(this,arguments)}y(yt,pe,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Se]},attrTest:function(n){return this._super.attrTest.call(this,n)&&(Math.abs(n.rotation)>this.options.threshold||this.state&he)}});function bt(){pe.apply(this,arguments)}y(bt,pe,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:le|fe,pointers:1},getTouchAction:function(){return at.prototype.getTouchAction.call(this)},attrTest:function(n){var r=this.options.direction,a;return r&(le|fe)?a=n.overallVelocity:r&le?a=n.overallVelocityX:r&fe&&(a=n.overallVelocityY),this._super.attrTest.call(this,n)&&r&n.offsetDirection&&n.distance>this.options.threshold&&n.maxPointers==this.options.pointers&&g(a)>this.options.velocity&&n.eventType&z},emit:function(n){var r=Ut(n.offsetDirection);r&&this.manager.emit(this.options.event+r,n),this.manager.emit(this.options.event,n)}});function ot(){we.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}y(ot,we,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[dt]},process:function(n){var r=this.options,a=n.pointers.length===r.pointers,u=n.distance<r.threshold,v=n.deltaTime<r.time;if(this.reset(),n.eventType&I&&this.count===0)return this.failTimeout();if(u&&v&&a){if(n.eventType!=z)return this.failTimeout();var T=this.pTime?n.timeStamp-this.pTime<r.interval:!0,N=!this.pCenter||$e(this.pCenter,n.center)<r.posThreshold;this.pTime=n.timeStamp,this.pCenter=n.center,!N||!T?this.count=1:this.count+=1,this._input=n;var Q=this.count%r.taps;if(Q===0)return this.hasRequireFailures()?(this._timer=m(function(){this.state=Te,this.tryEmit()},r.interval,this),he):Te}return ve},failTimeout:function(){return this._timer=m(function(){this.state=ve},this.options.interval,this),ve},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==Te&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}});function ke(n,r){return r=r||{},r.recognizers=p(r.recognizers,ke.defaults.preset),new Tt(n,r)}ke.VERSION="2.0.7",ke.defaults={domEvents:!1,touchAction:kt,enable:!0,inputTarget:null,inputClass:null,preset:[[yt,{enable:!1}],[mt,{enable:!1},["rotate"]],[bt,{direction:le}],[at,{direction:le},["swipe"]],[ot],[ot,{event:"doubletap",taps:2},["tap"]],[gt]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var An=1,Ft=2;function Tt(n,r){this.options=C({},ke.defaults,r||{}),this.options.inputTarget=this.options.inputTarget||n,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=n,this.input=Qe(this),this.touchAction=new vt(this,this.options.touchAction),Vt(this,!0),A(this.options.recognizers,function(a){var u=this.add(new a[0](a[1]));a[2]&&u.recognizeWith(a[2]),a[3]&&u.requireFailure(a[3])},this)}Tt.prototype={set:function(n){return C(this.options,n),n.touchAction&&this.touchAction.update(),n.inputTarget&&(this.input.destroy(),this.input.target=n.inputTarget,this.input.init()),this},stop:function(n){this.session.stopped=n?Ft:An},recognize:function(n){var r=this.session;if(!r.stopped){this.touchAction.preventDefaults(n);var a,u=this.recognizers,v=r.curRecognizer;(!v||v&&v.state&Te)&&(v=r.curRecognizer=null);for(var T=0;T<u.length;)a=u[T],r.stopped!==Ft&&(!v||a==v||a.canRecognizeWith(v))?a.recognize(n):a.reset(),!v&&a.state&(he|Ie|Me)&&(v=r.curRecognizer=a),T++}},get:function(n){if(n instanceof we)return n;for(var r=this.recognizers,a=0;a<r.length;a++)if(r[a].options.event==n)return r[a];return null},add:function(n){if(E(n,"add",this))return this;var r=this.get(n.options.event);return r&&this.remove(r),this.recognizers.push(n),n.manager=this,this.touchAction.update(),n},remove:function(n){if(E(n,"remove",this))return this;if(n=this.get(n),n){var r=this.recognizers,a=ue(r,n);a!==-1&&(r.splice(a,1),this.touchAction.update())}return this},on:function(n,r){if(n!==i&&r!==i){var a=this.handlers;return A(ne(n),function(u){a[u]=a[u]||[],a[u].push(r)}),this}},off:function(n,r){if(n!==i){var a=this.handlers;return A(ne(n),function(u){r?a[u]&&a[u].splice(ue(a[u],r),1):delete a[u]}),this}},emit:function(n,r){this.options.domEvents&&Cn(n,r);var a=this.handlers[n]&&this.handlers[n].slice();if(!(!a||!a.length)){r.type=n,r.preventDefault=function(){r.srcEvent.preventDefault()};for(var u=0;u<a.length;)a[u](r),u++}},destroy:function(){this.element&&Vt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}};function Vt(n,r){var a=n.element;if(a.style){var u;A(n.options.cssProps,function(v,T){u=ae(a.style,T),r?(n.oldCssProps[u]=a.style[u],a.style[u]=v):a.style[u]=n.oldCssProps[u]||""}),r||(n.oldCssProps={})}}function Cn(n,r){var a=o.createEvent("Event");a.initEvent(n,!0,!0),a.gesture=r,r.target.dispatchEvent(a)}return C(ke,{INPUT_START:I,INPUT_MOVE:ee,INPUT_END:z,INPUT_CANCEL:G,STATE_POSSIBLE:rt,STATE_BEGAN:he,STATE_CHANGED:Ie,STATE_ENDED:Me,STATE_RECOGNIZED:Te,STATE_CANCELLED:ze,STATE_FAILED:ve,DIRECTION_NONE:Ce,DIRECTION_LEFT:Ee,DIRECTION_RIGHT:_e,DIRECTION_UP:xe,DIRECTION_DOWN:Pe,DIRECTION_HORIZONTAL:le,DIRECTION_VERTICAL:fe,DIRECTION_ALL:Ve,Manager:Tt,Input:oe,TouchAction:vt,TouchInput:tt,MouseInput:et,PointerEventInput:ft,TouchMouseInput:pt,SingleTouchInput:_t,Recognizer:we,AttrRecognizer:pe,Tap:ot,Pan:at,Swipe:bt,Pinch:mt,Rotate:yt,Press:gt,on:S,off:M,each:A,merge:Y,extend:D,assign:C,inherit:y,bindFn:b,prefixed:ae}),ke}(typeof window!="undefined"?window:{},typeof document!="undefined"?document:{}),De=function(f,o){o===void 0&&console.warn('THREE.OrbitControls: The second parameter "domElement" is now mandatory.'),o===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.object=f,this.domElement=o,this.enabled=!0,this.target=new O.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!1,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={LEFT:O.MOUSE.ROTATE,MIDDLE:O.MOUSE.DOLLY,RIGHT:O.MOUSE.PAN},this.touches={ONE:O.TOUCH.ROTATE,TWO:O.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=function(){return d.phi},this.getAzimuthalAngle=function(){return d.theta},this.saveState=function(){e.target0.copy(e.target),e.position0.copy(e.object.position),e.zoom0=e.object.zoom},this.reset=function(){e.target.copy(e.target0),e.object.position.copy(e.position0),e.object.zoom=e.zoom0,e.object.updateProjectionMatrix(),e.dispatchEvent(i),e.update(),c=h.NONE},this.update=function(){var s=new O.Vector3,L=new O.Quaternion().setFromUnitVectors(f.up,new O.Vector3(0,1,0)),W=L.clone().inverse(),Z=new O.Vector3,de=new O.Quaternion;return function(){var be=e.object.position;return s.copy(be).sub(e.target),s.applyQuaternion(L),d.setFromVector3(s),e.autoRotate&&c===h.NONE&&ne(te()),e.enableDamping?(d.theta+=m.theta*e.dampingFactor,d.phi+=m.phi*e.dampingFactor):(d.theta+=m.theta,d.phi+=m.phi),d.theta=Math.max(e.minAzimuthAngle,Math.min(e.maxAzimuthAngle,d.theta)),d.phi=Math.max(e.minPolarAngle,Math.min(e.maxPolarAngle,d.phi)),d.makeSafe(),d.radius*=E,d.radius=Math.max(e.minDistance,Math.min(e.maxDistance,d.radius)),e.enableDamping===!0?e.target.addScaledVector(A,e.dampingFactor):e.target.add(A),s.setFromSpherical(d),s.applyQuaternion(W),be.copy(e.target).add(s),e.object.lookAt(e.target),e.enableDamping===!0?(m.theta*=1-e.dampingFactor,m.phi*=1-e.dampingFactor,A.multiplyScalar(1-e.dampingFactor)):(m.set(0,0,0),A.set(0,0,0)),E=1,k||Z.distanceToSquared(e.object.position)>g||8*(1-de.dot(e.object.quaternion))>g?(e.dispatchEvent(i),Z.copy(e.object.position),de.copy(e.object.quaternion),k=!1,!0):!1}}(),this.dispose=function(){e.domElement.removeEventListener("contextmenu",Je,!1),e.domElement.removeEventListener("mousedown",Pe,!1),e.domElement.removeEventListener("wheel",Ve,!1),e.domElement.removeEventListener("touchstart",Ne,!1),e.domElement.removeEventListener("touchend",Qe,!1),e.domElement.removeEventListener("touchmove",oe,!1),document.removeEventListener("mousemove",le,!1),document.removeEventListener("mouseup",fe,!1),e.domElement.removeEventListener("keydown",Be,!1)};var e=this,i={type:"change"},t={type:"start"},l={type:"end"},h={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},c=h.NONE,g=1e-6,d=new O.Spherical,m=new O.Spherical,E=1,A=new O.Vector3,k=!1,C=new O.Vector2,D=new O.Vector2,Y=new O.Vector2,y=new O.Vector2,b=new O.Vector2,P=new O.Vector2,p=new O.Vector2,S=new O.Vector2,M=new O.Vector2;function te(){return 2*Math.PI/60/60*e.autoRotateSpeed}function K(){return Math.pow(.95,e.zoomSpeed)}function ne(s){m.theta-=s}function ue(s){m.phi-=s}var ye=function(){var s=new O.Vector3;return function(W,Z){s.setFromMatrixColumn(Z,0),s.multiplyScalar(-W),A.add(s)}}(),Ae=function(){var s=new O.Vector3;return function(W,Z){e.screenSpacePanning===!0?s.setFromMatrixColumn(Z,1):(s.setFromMatrixColumn(Z,0),s.crossVectors(e.object.up,s)),s.multiplyScalar(W),A.add(s)}}(),ae=function(){var s=new O.Vector3;return function(W,Z){var de=e.domElement;if(e.object.isPerspectiveCamera){var Re=e.object.position;s.copy(Re).sub(e.target);var be=s.length();be*=Math.tan(e.object.fov/2*Math.PI/180),ye(2*W*be/de.clientHeight,e.object.matrix),Ae(2*Z*be/de.clientHeight,e.object.matrix)}else e.object.isOrthographicCamera?(ye(W*(e.object.right-e.object.left)/e.object.zoom/de.clientWidth,e.object.matrix),Ae(Z*(e.object.top-e.object.bottom)/e.object.zoom/de.clientHeight,e.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),e.enablePan=!1)}}();function se(s){e.object.isPerspectiveCamera?E/=s:e.object.isOrthographicCamera?(e.object.zoom=Math.max(e.minZoom,Math.min(e.maxZoom,e.object.zoom*s)),e.object.updateProjectionMatrix(),k=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),e.enableZoom=!1)}function U(s){e.object.isPerspectiveCamera?E*=s:e.object.isOrthographicCamera?(e.object.zoom=Math.max(e.minZoom,Math.min(e.maxZoom,e.object.zoom/s)),e.object.updateProjectionMatrix(),k=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),e.enableZoom=!1)}function x(s){C.set(s.clientX,s.clientY)}function _(s){p.set(s.clientX,s.clientY)}function F(s){y.set(s.clientX,s.clientY)}function j(s){D.set(s.clientX,s.clientY),Y.subVectors(D,C).multiplyScalar(e.rotateSpeed);var L=e.domElement;ne(2*Math.PI*Y.x/L.clientHeight),ue(2*Math.PI*Y.y/L.clientHeight),C.copy(D),e.update()}function re(s){S.set(s.clientX,s.clientY),M.subVectors(S,p),M.y>0?se(K()):M.y<0&&U(K()),p.copy(S),e.update()}function X(s){b.set(s.clientX,s.clientY),P.subVectors(b,y).multiplyScalar(e.panSpeed),ae(P.x,P.y),y.copy(b),e.update()}function V(s){s.deltaY<0?U(K()):s.deltaY>0&&se(K()),e.update()}function q(s){var L=!1;switch(s.keyCode){case e.keys.UP:ae(0,e.keyPanSpeed),L=!0;break;case e.keys.BOTTOM:ae(0,-e.keyPanSpeed),L=!0;break;case e.keys.LEFT:ae(e.keyPanSpeed,0),L=!0;break;case e.keys.RIGHT:ae(-e.keyPanSpeed,0),L=!0;break}L&&(s.preventDefault(),e.update())}function R(s){if(s.touches.length==1)C.set(s.touches[0].pageX,s.touches[0].pageY);else{var L=.5*(s.touches[0].pageX+s.touches[1].pageX),W=.5*(s.touches[0].pageY+s.touches[1].pageY);C.set(L,W)}}function B(s){if(s.touches.length==1)y.set(s.touches[0].pageX,s.touches[0].pageY);else{var L=.5*(s.touches[0].pageX+s.touches[1].pageX),W=.5*(s.touches[0].pageY+s.touches[1].pageY);y.set(L,W)}}function I(s){var L=s.touches[0].pageX-s.touches[1].pageX,W=s.touches[0].pageY-s.touches[1].pageY,Z=Math.sqrt(L*L+W*W);p.set(0,Z)}function ee(s){e.enableZoom&&I(s),e.enablePan&&B(s)}function z(s){e.enableZoom&&I(s),e.enableRotate&&R(s)}function G(s){if(s.touches.length==1)D.set(s.touches[0].pageX,s.touches[0].pageY);else{var L=.5*(s.touches[0].pageX+s.touches[1].pageX),W=.5*(s.touches[0].pageY+s.touches[1].pageY);D.set(L,W)}Y.subVectors(D,C).multiplyScalar(e.rotateSpeed);var Z=e.domElement;ne(2*Math.PI*Y.x/Z.clientHeight),ue(2*Math.PI*Y.y/Z.clientHeight),C.copy(D)}function Ce(s){if(s.touches.length==1)b.set(s.touches[0].pageX,s.touches[0].pageY);else{var L=.5*(s.touches[0].pageX+s.touches[1].pageX),W=.5*(s.touches[0].pageY+s.touches[1].pageY);b.set(L,W)}P.subVectors(b,y).multiplyScalar(e.panSpeed),ae(P.x,P.y),y.copy(b)}function Ee(s){var L=s.touches[0].pageX-s.touches[1].pageX,W=s.touches[0].pageY-s.touches[1].pageY,Z=Math.sqrt(L*L+W*W);S.set(0,Z),M.set(0,Math.pow(S.y/p.y,e.zoomSpeed)),se(M.y),p.copy(S)}function _e(s){e.enableZoom&&Ee(s),e.enablePan&&Ce(s)}function xe(s){e.enableZoom&&Ee(s),e.enableRotate&&G(s)}function Pe(s){if(e.enabled!==!1){s.preventDefault(),e.domElement.focus?e.domElement.focus():window.focus();var L;switch(s.button){case 0:L=e.mouseButtons.LEFT;break;case 1:L=e.mouseButtons.MIDDLE;break;case 2:L=e.mouseButtons.RIGHT;break;default:L=-1}switch(L){case O.MOUSE.DOLLY:if(e.enableZoom===!1)return;_(s),c=h.DOLLY;break;case O.MOUSE.ROTATE:if(s.ctrlKey||s.metaKey||s.shiftKey){if(e.enablePan===!1)return;F(s),c=h.PAN}else{if(e.enableRotate===!1)return;x(s),c=h.ROTATE}break;case O.MOUSE.PAN:if(s.ctrlKey||s.metaKey||s.shiftKey){if(e.enableRotate===!1)return;x(s),c=h.ROTATE}else{if(e.enablePan===!1)return;F(s),c=h.PAN}break;default:c=h.NONE}c!==h.NONE&&(document.addEventListener("mousemove",le,!1),document.addEventListener("mouseup",fe,!1),e.dispatchEvent(t))}}function le(s){if(e.enabled!==!1)switch(s.preventDefault(),c){case h.ROTATE:if(e.enableRotate===!1)return;j(s);break;case h.DOLLY:if(e.enableZoom===!1)return;re(s);break;case h.PAN:if(e.enablePan===!1)return;X(s);break}}function fe(s){e.enabled!==!1&&(document.removeEventListener("mousemove",le,!1),document.removeEventListener("mouseup",fe,!1),e.dispatchEvent(l),c=h.NONE)}function Ve(s){e.enabled===!1||e.enableZoom===!1||c!==h.NONE&&c!==h.ROTATE||(s.preventDefault(),s.stopPropagation(),e.dispatchEvent(t),V(s),e.dispatchEvent(l))}function Be(s){e.enabled===!1||e.enableKeys===!1||e.enablePan===!1||q(s)}function Ne(s){if(e.enabled!==!1){switch(s.preventDefault(),s.touches.length){case 1:switch(e.touches.ONE){case O.TOUCH.ROTATE:if(e.enableRotate===!1)return;R(s),c=h.TOUCH_ROTATE;break;case O.TOUCH.PAN:if(e.enablePan===!1)return;B(s),c=h.TOUCH_PAN;break;default:c=h.NONE}break;case 2:switch(e.touches.TWO){case O.TOUCH.DOLLY_PAN:if(e.enableZoom===!1&&e.enablePan===!1)return;ee(s),c=h.TOUCH_DOLLY_PAN;break;case O.TOUCH.DOLLY_ROTATE:if(e.enableZoom===!1&&e.enableRotate===!1)return;z(s),c=h.TOUCH_DOLLY_ROTATE;break;default:c=h.NONE}break;default:c=h.NONE}c!==h.NONE&&e.dispatchEvent(t)}}function oe(s){if(e.enabled!==!1)switch(s.preventDefault(),s.stopPropagation(),c){case h.TOUCH_ROTATE:if(e.enableRotate===!1)return;G(s),e.update();break;case h.TOUCH_PAN:if(e.enablePan===!1)return;Ce(s),e.update();break;case h.TOUCH_DOLLY_PAN:if(e.enableZoom===!1&&e.enablePan===!1)return;_e(s),e.update();break;case h.TOUCH_DOLLY_ROTATE:if(e.enableZoom===!1&&e.enableRotate===!1)return;xe(s),e.update();break;default:c=h.NONE}}function Qe(s){e.enabled!==!1&&(e.dispatchEvent(l),c=h.NONE)}function Je(s){e.enabled!==!1&&s.preventDefault()}e.domElement.addEventListener("contextmenu",Je,!1),e.domElement.addEventListener("mousedown",Pe,!1),e.domElement.addEventListener("wheel",Ve,!1),e.domElement.addEventListener("touchstart",Ne,!1),e.domElement.addEventListener("touchend",Qe,!1),e.domElement.addEventListener("touchmove",oe,!1),e.domElement.addEventListener("keydown",Be,!1),e.domElement.tabIndex===-1&&(e.domElement.tabIndex=0),this.update()};De.prototype=Object.create(O.EventDispatcher.prototype),De.prototype.constructor=De;var ut=function(f,o){De.call(this,f,o),this.mouseButtons.LEFT=O.MOUSE.PAN,this.mouseButtons.RIGHT=O.MOUSE.ROTATE,this.touches.ONE=O.TOUCH.PAN,this.touches.TWO=O.TOUCH.DOLLY_ROTATE};ut.prototype=Object.create(O.EventDispatcher.prototype),ut.prototype.constructor=ut;var ge=function(f){O.Object3D.call(this),this.element=f,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.addEventListener("removed",function(){this.traverse(function(o){o.element instanceof Element&&o.element.parentNode!==null&&o.element.parentNode.removeChild(o.element)})})};ge.prototype=Object.create(O.Object3D.prototype),ge.prototype.constructor=ge;var Ze=function(f){ge.call(this,f)};Ze.prototype=Object.create(ge.prototype),Ze.prototype.constructor=Ze;var tn=function(){var f=this,o,e,i,t,l=new O.Matrix4,h={camera:{fov:0,style:""},objects:new WeakMap},c=document.createElement("div");c.style.overflow="hidden",this.domElement=c;var g=document.createElement("div");g.style.WebkitTransformStyle="preserve-3d",g.style.transformStyle="preserve-3d",g.style.pointerEvents="none",c.appendChild(g);var d=/Trident/i.test(navigator.userAgent);this.getSize=function(){return{width:o,height:e}},this.setSize=function(y,b){o=y,e=b,i=o/2,t=e/2,c.style.width=y+"px",c.style.height=b+"px",g.style.width=y+"px",g.style.height=b+"px"};function m(y){return Math.abs(y)<1e-10?0:y}function E(y){var b=y.elements;return"matrix3d("+m(b[0])+","+m(-b[1])+","+m(b[2])+","+m(b[3])+","+m(b[4])+","+m(-b[5])+","+m(b[6])+","+m(b[7])+","+m(b[8])+","+m(-b[9])+","+m(b[10])+","+m(b[11])+","+m(b[12])+","+m(-b[13])+","+m(b[14])+","+m(b[15])+")"}function A(y,b){var P=y.elements,p="matrix3d("+m(P[0])+","+m(P[1])+","+m(P[2])+","+m(P[3])+","+m(-P[4])+","+m(-P[5])+","+m(-P[6])+","+m(-P[7])+","+m(P[8])+","+m(P[9])+","+m(P[10])+","+m(P[11])+","+m(P[12])+","+m(P[13])+","+m(P[14])+","+m(P[15])+")";return d?"translate(-50%,-50%)translate("+i+"px,"+t+"px)"+b+p:"translate(-50%,-50%)"+p}function k(y,b,P,p){if(y instanceof ge){y.onBeforeRender(f,b,P);var S;y instanceof Ze?(l.copy(P.matrixWorldInverse),l.transpose(),l.copyPosition(y.matrixWorld),l.scale(y.scale),l.elements[3]=0,l.elements[7]=0,l.elements[11]=0,l.elements[15]=1,S=A(l,p)):S=A(y.matrixWorld,p);var M=y.element,te=h.objects.get(y);if(te===void 0||te.style!==S){M.style.WebkitTransform=S,M.style.transform=S;var K={style:S};d&&(K.distanceToCameraSquared=C(P,y)),h.objects.set(y,K)}M.style.display=y.visible?"":"none",M.parentNode!==g&&g.appendChild(M),y.onAfterRender(f,b,P)}for(var ne=0,ue=y.children.length;ne<ue;ne++)k(y.children[ne],b,P,p)}var C=function(){var y=new O.Vector3,b=new O.Vector3;return function(P,p){return y.setFromMatrixPosition(P.matrixWorld),b.setFromMatrixPosition(p.matrixWorld),y.distanceToSquared(b)}}();function D(y){var b=[];return y.traverse(function(P){P instanceof ge&&b.push(P)}),b}function Y(y){for(var b=D(y).sort(function(M,te){var K=h.objects.get(M).distanceToCameraSquared,ne=h.objects.get(te).distanceToCameraSquared;return K-ne}),P=b.length,p=0,S=b.length;p<S;p++)b[p].element.style.zIndex=P-p}this.render=function(y,b){var P=b.projectionMatrix.elements[5]*t;if(h.camera.fov!==P&&(b.isPerspectiveCamera?(c.style.WebkitPerspective=P+"px",c.style.perspective=P+"px"):(c.style.WebkitPerspective="",c.style.perspective=""),h.camera.fov=P),y.autoUpdate===!0&&y.updateMatrixWorld(),b.parent===null&&b.updateMatrixWorld(),b.isOrthographicCamera)var p=-(b.right+b.left)/2,S=(b.top+b.bottom)/2;var M=b.isOrthographicCamera?"scale("+P+")translate("+m(p)+"px,"+m(S)+"px)"+E(b.matrixWorldInverse):"translateZ("+P+"px)"+E(b.matrixWorldInverse),te=M+"translate("+i+"px,"+t+"px)";h.camera.style!==te&&!d&&(g.style.WebkitTransform=te,g.style.transform=te,h.camera.style=te),k(y,y,b,M),d&&Y(y)}};function Pt(f,o,e){var i=o.getBoundingClientRect(),t=i.top,l=i.left,h=i.width,c=i.height;return new w.Vector2((f.x-l)/h*2-1,-(f.y-t)/c*2+1)}var Mt=function(f){Xe(o,f);function o(e,i,t,l,h){var c=f.call(this)||this;c.type="RoundedBoxGeometry",h=isNaN(h)?1:Math.max(1,Math.floor(h)),e=isNaN(e)?1:e,i=isNaN(i)?1:i,t=isNaN(t)?1:t,l=isNaN(l)?.15:l,l=Math.min(l,Math.min(e,Math.min(i,Math.min(t)))/2);var g=e/2-l,d=i/2-l,m=t/2-l;c.parameters={width:e,height:i,depth:t,radius:l,radiusSegments:h};var E=h+1,A=E*h+1<<3,k=new w.BufferAttribute(new Float32Array(A*3),3),C=new w.BufferAttribute(new Float32Array(A*3),3),D=[],Y=[];new w.Vector3;var y=new w.Vector3,b=[],P=[],p=[],S=E*h,M=E*h+1;te(),ne(),K(),ue(),Ae(),ye();function te(){for(var U=[new w.Vector3(1,1,1),new w.Vector3(1,1,-1),new w.Vector3(-1,1,-1),new w.Vector3(-1,1,1),new w.Vector3(1,-1,1),new w.Vector3(1,-1,-1),new w.Vector3(-1,-1,-1),new w.Vector3(-1,-1,1)],x=0;x<8;x++)D.push([]),Y.push([]);for(var _=Math.PI/2,F=new w.Vector3(g,d,m),j=0;j<=h;j++){var re=j/h,X=re*_,V=Math.cos(X),q=Math.sin(X);if(j==h){y.set(0,1,0);var R=y.clone().multiplyScalar(l).add(F);D[0].push(R),b.push(R);var B=y.clone();Y[0].push(B),P.push(B);continue}for(var I=0;I<=h;I++){var ee=I/h,z=ee*_;y.x=V*Math.cos(z),y.y=q,y.z=V*Math.sin(z);var R=y.clone().multiplyScalar(l).add(F);D[0].push(R),b.push(R);var B=y.clone().normalize();Y[0].push(B),P.push(B)}}for(var G=1;G<8;G++)for(var x=0;x<D[0].length;x++){var R=D[0][x].clone().multiply(U[G]);D[G].push(R),b.push(R);var B=Y[0][x].clone().multiply(U[G]);Y[G].push(B),P.push(B)}}function K(){for(var U=[!0,!1,!0,!1,!1,!0,!1,!0],x=E*(h-1),_=0;_<8;_++){for(var F=M*_,j=0;j<h-1;j++)for(var re=j*E,X=(j+1)*E,V=0;V<h;V++){var q=V+1,R=F+re+V,B=F+re+q,I=F+X+V,ee=F+X+q;U[_]?(p.push(R),p.push(I),p.push(B),p.push(B),p.push(I),p.push(ee)):(p.push(R),p.push(B),p.push(I),p.push(B),p.push(ee),p.push(I))}for(var V=0;V<h;V++){var R=F+x+V,B=F+x+V+1,I=F+S;U[_]?(p.push(R),p.push(I),p.push(B)):(p.push(R),p.push(B),p.push(I))}}}function ne(){var U=S,x=S+M,_=S+M*2,F=S+M*3;p.push(U),p.push(x),p.push(_),p.push(U),p.push(_),p.push(F),U=S+M*4,x=S+M*5,_=S+M*6,F=S+M*7,p.push(U),p.push(_),p.push(x),p.push(U),p.push(F),p.push(_),U=0,x=M,_=M*4,F=M*5,p.push(U),p.push(_),p.push(x),p.push(x),p.push(_),p.push(F),U=M*2,x=M*3,_=M*6,F=M*7,p.push(U),p.push(_),p.push(x),p.push(x),p.push(_),p.push(F),U=h,x=h+M*3,_=h+M*4,F=h+M*7,p.push(U),p.push(x),p.push(_),p.push(x),p.push(F),p.push(_),U=h+M,x=h+M*2,_=h+M*5,F=h+M*6,p.push(U),p.push(_),p.push(x),p.push(x),p.push(_),p.push(F)}function ue(){for(var U=0;U<4;U++)for(var x=U*M,_=4*M+x,F=(U&1)===1,j=0;j<h;j++){var re=j+1,X=x+j,V=x+re,q=_+j,R=_+re;F?(p.push(X),p.push(q),p.push(V),p.push(V),p.push(q),p.push(R)):(p.push(X),p.push(V),p.push(q),p.push(V),p.push(R),p.push(q))}}function ye(){for(var U=[0,2,4,6],x=[1,3,5,7],_=0;_<4;_++)for(var F=M*U[_],j=M*x[_],re=1>=_,X=0;X<h;X++){var V=X*E,q=(X+1)*E,R=F+V,B=F+q,I=j+V,ee=j+q;re?(p.push(R),p.push(I),p.push(B),p.push(B),p.push(I),p.push(ee)):(p.push(R),p.push(B),p.push(I),p.push(B),p.push(ee),p.push(I))}}function Ae(){for(var U=h-1,x=[0,1,4,5],_=[3,2,7,6],F=[0,1,1,0],j=0;j<4;j++)for(var re=x[j]*M,X=_[j]*M,V=0;V<=U;V++){var q=re+h+V*E,R=re+(V!=U?h+(V+1)*E:M-1),B=X+h+V*E,I=X+(V!=U?h+(V+1)*E:M-1);F[j]?(p.push(q),p.push(B),p.push(R),p.push(R),p.push(B),p.push(I)):(p.push(q),p.push(R),p.push(B),p.push(R),p.push(I),p.push(B))}}for(var ae=0,se=0;se<b.length;se++)k.setXYZ(ae,b[se].x,b[se].y,b[se].z),C.setXYZ(ae,P[se].x,P[se].y,P[se].z),ae++;return c.setIndex(new w.BufferAttribute(new Uint16Array(p),1)),c.setAttribute("position",k),c.setAttribute("normal",C),c}return o}(w.BufferGeometry);function Le(f,o){return typeof f!="number"||typeof o!="number"?!1:Math.abs(f-o)<.001}function Ue(f,o,e,i){i===void 0&&(i=function(l){return l});var t=i(e);return f*(1-t)+o*t}var J=Number((Math.PI/2).toFixed(5));function nn(f,o,e){var i=new w.Shape;return i.moveTo(e,0),i.lineTo(f-e,0),i.absarc(f-e,e,e,-J,0,!1),i.lineTo(f,o-e),i.absarc(f-e,o-e,e,0,J,!1),i.lineTo(e,o),i.absarc(e,o-e,e,J,Math.PI,!1),i.lineTo(0,e),i.absarc(e,e,e,Math.PI,Math.PI*1.5,!1),i}var Fe=function(f){var o=document.createElement("div");o.innerText=f;var e=new ge(o);return e.name=f,e.scale.set(.3,.3,.3),o.style.pointerEvents="none",o.style.backfaceVisibility="hidden",e},Ke=function(f){var o=new w.PlaneGeometry(5,5),e=new w.MeshBasicMaterial({transparent:!0,opacity:0}),i=new w.Mesh(o,e),t=document.createElement("div");t.innerText=f;var l=new ge(t);return l.name=f,l.scale.set(.3,.3,.3),t.style.color="#ffffff",t.style.opacity="0.5",t.style.pointerEvents="none",t.style.backfaceVisibility="hidden",i.rotateX(-J),i.add(l),i},rn=function(f){Xe(o,f);function o(e,i){var t=f.call(this,e)||this;t.camera=new Oe.Camera(90),t.scene=new w.Scene,t.renderer=new w.WebGLRenderer({antialias:!0,alpha:!0}),t.css3drenderer=new tn,t.ambientLight=new w.AmbientLight(16777215,.7),t.wrapper=document.createElement("div"),t.arrows=document.createElement("div"),t.arrowLeft=document.createElement("div"),t.arrowRight=document.createElement("div"),t.arrowFront=document.createElement("div"),t.arrowBack=document.createElement("div"),t.arrowTop=document.createElement("div"),t.arrowBottom=document.createElement("div"),t.spherical=null,t.dragging=!1,t.style=document.createElement("style"),t.directionalLight=new w.DirectionalLight(16777215,.2),t.box=new w.Mesh(new Mt(8,8,8,.5,20),new w.MeshPhongMaterial({color:16777215})),t.faces=new w.Group,t.orient=function(c){var g=c.longitude,d=c.latitude;t.dragging=!1,t.spherical=null,t.controls.enableDamping=!1,t.five.setState(Object.assign({latitude:d},g!==void 0?{longitude:g+t.config.fixedLongitude}:{})),t.five.ready().then(function(){t.controls.enableDamping=!0,t.setState({arrowsVisible:!0})})},t.onRenderFrame=function(){var c,g,d,m,E;if(t.renderer.render(t.scene,t.camera),t.css3drenderer.render(t.scene,t.camera),t.directionalLight.position.copy(t.camera.position),(c=t.controls)===null||c===void 0||c.update(),t.dragging){t.camera.computePose(),t.updateByCamera();var A=t.camera.pose,k=A.longitude,C=A.latitude;t.five.setState({longitude:k,latitude:C},!0),t.updateArrows({longitude:k,latitude:C})}else if(t.spherical&&(!Le(t.spherical.pi,(g=t.controls)===null||g===void 0?void 0:g.getPolarAngle())||!Le(t.spherical.theta,(d=t.controls)===null||d===void 0?void 0:d.getAzimuthalAngle()))){t.spherical={pi:(m=t.controls)===null||m===void 0?void 0:m.getPolarAngle(),theta:(E=t.controls)===null||E===void 0?void 0:E.getAzimuthalAngle()},t.camera.computePose(),t.updateByCamera();var D=t.camera.pose,k=D.longitude,C=D.latitude;t.five.setState({longitude:k,latitude:C},!0),t.updateArrows({longitude:k,latitude:C})}else t.spherical=null},t.onTapGesture=function(c){var g=c.pointers[0].clientX,d=c.pointers[0].clientY,m=Pt({x:g,y:d},t.wrapper),E=new w.Raycaster;E.setFromCamera(m,t.camera);var A=E.intersectObjects(t.faces.children,!1)[0];if(A){var k=A.object.userData,C=k.longitude,D=k.latitude;t.orient({longitude:C,latitude:D})}},t.onFiveWantsGesture=function(){if(t.spherical)return!1},t.onFiveModeChange=function(c){t.controls&&(t.controls.maxPolarAngle=c==="Topview"?0:J)},t.onCameraUpdate=function(c){var g=c.state;if(!t.dragging&&!t.spherical){var d=g.longitude,m=g.latitude;t.camera.pose.longitude===d&&t.camera.pose.latitude===m||(t.camera.setFromPose({longitude:d,latitude:m,distance:20,offset:new w.Vector3(0,0,0)}),t.updateByCamera(),t.updateArrows({longitude:d,latitude:m}))}},t.onPanStart=function(c){t.dragging=!0,t.spherical={}},t.onMouseMove=function(c){if(!t.dragging){var g=Pt({x:c.clientX,y:c.clientY},t.wrapper),d=new w.Raycaster;d.setFromCamera(g,t.camera);var m=d.intersectObjects(t.faces.children,!1)[0];t.faces.children.forEach(function(E){E.material.opacity=0,E.children[0].element.style.color=""}),m&&(m.object.material.opacity=.3,m.object.children[0].element.style.color="#336dff")}},t.onPanEnd=function(c){t.dragging=!1,t.spherical={pi:t.controls.getPolarAngle(),theta:t.controls.getAzimuthalAngle()}},t.dispose=function(){t.disable()},t.five=e;var l={enabled:!1,visible:!0,arrowsVisible:!1};t.state=Object.assign(l,i==null?void 0:i.initialState);var h=ie({fixedLongitude:0,orthoView:!0},i==null?void 0:i.config);return t._config=h,t.state.enabled&&t._enable({userAction:!1}),t.mc=new ct.Manager(t.wrapper),t.mc.add(new ct.Tap({interval:410})),t.mc.add(new ct.Pan({threshold:10,pointers:0})),t.camera.setFromPose({distance:20,offset:new w.Vector3(0,0,0),longitude:e.camera.pose.latitude,latitude:e.camera.pose.latitude}),t.cylinder=new w.Mesh(new w.CylinderGeometry(13.2,14,.01,50,1,!0),new w.ShaderMaterial({uniforms:{radiusTop:{value:13.2},radiusBottom:{value:14},opacity:{value:1}},vertexShader:`
|
|
354
|
+
* Licensed under the MIT license */var ct=function(f,o,e,a){var t=["","webkit","Moz","MS","ms","o"],s=o.createElement?o.createElement("div"):a,u="function",l=Math.round,g=Math.abs,d=Date.now;function v(n,r,i){return setTimeout(b(n,i),r)}function T(n,r,i){return Array.isArray(n)?(M(n,i[r],i),!0):!1}function M(n,r,i){var h;if(n)if(n.forEach)n.forEach(r,i);else if(n.length!==a)for(h=0;h<n.length;)r.call(i,n[h],h,n),h++;else for(h in n)n.hasOwnProperty(h)&&r.call(i,n[h],h,n)}function C(n,r,i){var h="DEPRECATED METHOD: "+r+`
|
|
355
|
+
`+i+` AT
|
|
356
|
+
`;return function(){var m=new Error("get-stack-trace"),E=m&&m.stack?m.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",k=f.console&&(f.console.warn||f.console.log);return k&&k.call(f.console,h,E),n.apply(this,arguments)}}var O;typeof Object.assign!="function"?O=function(r){if(r===a||r===null)throw new TypeError("Cannot convert undefined or null to object");for(var i=Object(r),h=1;h<arguments.length;h++){var m=arguments[h];if(m!==a&&m!==null)for(var E in m)m.hasOwnProperty(E)&&(i[E]=m[E])}return i}:O=Object.assign;var A=C(function(r,i,h){for(var m=Object.keys(i),E=0;E<m.length;)(!h||h&&r[m[E]]===a)&&(r[m[E]]=i[m[E]]),E++;return r},"extend","Use `assign`."),N=C(function(r,i){return A(r,i,!0)},"merge","Use `assign`.");function y(n,r,i){var h=r.prototype,m;m=n.prototype=Object.create(h),m.constructor=n,m._super=h,i&&O(m,i)}function b(n,r){return function(){return n.apply(r,arguments)}}function P(n,r){return typeof n==u?n.apply(r&&r[0]||a,r):n}function p(n,r){return n===a?r:n}function D(n,r,i){M(re(r),function(h){n.addEventListener(h,i,!1)})}function x(n,r,i){M(re(r),function(h){n.removeEventListener(h,i,!1)})}function ne(n,r){for(;n;){if(n==r)return!0;n=n.parentNode}return!1}function J(n,r){return n.indexOf(r)>-1}function re(n){return n.trim().split(/\s+/g)}function ue(n,r,i){if(n.indexOf&&!i)return n.indexOf(r);for(var h=0;h<n.length;){if(i&&n[h][i]==r||!i&&n[h]===r)return h;h++}return-1}function ye(n){return Array.prototype.slice.call(n,0)}function Oe(n,r,i){for(var h=[],m=[],E=0;E<n.length;){var k=n[E][r];ue(m,k)<0&&h.push(n[E]),m[E]=k,E++}return h=h.sort(function(ce,H){return ce[r]>H[r]}),h}function ie(n,r){for(var i,h,m=r[0].toUpperCase()+r.slice(1),E=0;E<t.length;){if(i=t[E],h=i?i+m:r,h in n)return h;E++}return a}var se=1;function U(){return se++}function I(n){var r=n.ownerDocument||n;return r.defaultView||r.parentWindow||f}var S=/mobile|tablet|ip(ad|hone|od)|android/i,V="ontouchstart"in f,j=ie(f,"PointerEvent")!==a,ae=V&&S.test(navigator.userAgent),X="touch",B="pen",Z="mouse",Y="kinect",R=25,L=1,te=2,z=4,G=8,Ae=1,Pe=2,Ce=4,_e=8,xe=16,le=Pe|Ce,fe=_e|xe,Ye=le|fe,je=["x","y"],Se=["clientX","clientY"];function oe(n,r){var i=this;this.manager=n,this.callback=r,this.element=n.element,this.target=n.options.inputTarget,this.domHandler=function(h){P(n.options.enable,[n])&&i.handler(h)},this.init()}oe.prototype={handler:function(){},init:function(){this.evEl&&D(this.element,this.evEl,this.domHandler),this.evTarget&&D(this.target,this.evTarget,this.domHandler),this.evWin&&D(I(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&x(this.element,this.evEl,this.domHandler),this.evTarget&&x(this.target,this.evTarget,this.domHandler),this.evWin&&x(I(this.element),this.evWin,this.domHandler)}};function Qe(n){var r,i=n.options.inputClass;return i?r=i:j?r=pt:ae?r=tt:V?r=dt:r=et,new r(n,Je)}function Je(n,r,i){var h=i.pointers.length,m=i.changedPointers.length,E=r&L&&h-m===0,k=r&(z|G)&&h-m===0;i.isFirst=!!E,i.isFinal=!!k,E&&(n.session={}),i.eventType=r,c(n,i),n.emit("hammer.input",i),n.recognize(i),n.session.prevInput=i}function c(n,r){var i=n.session,h=r.pointers,m=h.length;i.firstInput||(i.firstInput=Q(r)),m>1&&!i.firstMultiple?i.firstMultiple=Q(r):m===1&&(i.firstMultiple=!1);var E=i.firstInput,k=i.firstMultiple,$=k?k.center:E.center,ce=r.center=de(h);r.timeStamp=d(),r.deltaTime=r.timeStamp-E.timeStamp,r.angle=ft($,ce),r.distance=$e($,ce),F(i,r),r.offsetDirection=be(r.deltaX,r.deltaY);var H=ze(r.deltaTime,r.deltaX,r.deltaY);r.overallVelocityX=H.x,r.overallVelocityY=H.y,r.overallVelocity=g(H.x)>g(H.y)?H.x:H.y,r.scale=k?fn(k.pointers,h):1,r.rotation=k?hn(k.pointers,h):0,r.maxPointers=i.prevInput?r.pointers.length>i.prevInput.maxPointers?r.pointers.length:i.prevInput.maxPointers:r.pointers.length,W(i,r);var me=n.element;ne(r.srcEvent.target,me)&&(me=r.srcEvent.target),r.target=me}function F(n,r){var i=r.center,h=n.offsetDelta||{},m=n.prevDelta||{},E=n.prevInput||{};(r.eventType===L||E.eventType===z)&&(m=n.prevDelta={x:E.deltaX||0,y:E.deltaY||0},h=n.offsetDelta={x:i.x,y:i.y}),r.deltaX=m.x+(i.x-h.x),r.deltaY=m.y+(i.y-h.y)}function W(n,r){var i=n.lastInterval||r,h=r.timeStamp-i.timeStamp,m,E,k,$;if(r.eventType!=G&&(h>R||i.velocity===a)){var ce=r.deltaX-i.deltaX,H=r.deltaY-i.deltaY,me=ze(h,ce,H);E=me.x,k=me.y,m=g(me.x)>g(me.y)?me.x:me.y,$=be(ce,H),n.lastInterval=r}else m=i.velocity,E=i.velocityX,k=i.velocityY,$=i.direction;r.velocity=m,r.velocityX=E,r.velocityY=k,r.direction=$}function Q(n){for(var r=[],i=0;i<n.pointers.length;)r[i]={clientX:l(n.pointers[i].clientX),clientY:l(n.pointers[i].clientY)},i++;return{timeStamp:d(),pointers:r,center:de(r),deltaX:n.deltaX,deltaY:n.deltaY}}function de(n){var r=n.length;if(r===1)return{x:l(n[0].clientX),y:l(n[0].clientY)};for(var i=0,h=0,m=0;m<r;)i+=n[m].clientX,h+=n[m].clientY,m++;return{x:l(i/r),y:l(h/r)}}function ze(n,r,i){return{x:r/n||0,y:i/n||0}}function be(n,r){return n===r?Ae:g(n)>=g(r)?n<0?Pe:Ce:r<0?_e:xe}function $e(n,r,i){i||(i=je);var h=r[i[0]]-n[i[0]],m=r[i[1]]-n[i[1]];return Math.sqrt(h*h+m*m)}function ft(n,r,i){i||(i=je);var h=r[i[0]]-n[i[0]],m=r[i[1]]-n[i[1]];return Math.atan2(m,h)*180/Math.PI}function hn(n,r){return ft(r[1],r[0],Se)+ft(n[1],n[0],Se)}function fn(n,r){return $e(r[0],r[1],Se)/$e(n[0],n[1],Se)}var pn={mousedown:L,mousemove:te,mouseup:z},dn="mousedown",vn="mousemove mouseup";function et(){this.evEl=dn,this.evWin=vn,this.pressed=!1,oe.apply(this,arguments)}y(et,oe,{handler:function(r){var i=pn[r.type];i&L&&(r.button===0||r.button===2)&&(this.pressed=!0),i&te&&r.which!==1&&(i=z),this.pressed&&(i&z&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[r],changedPointers:[r],pointerType:Z,srcEvent:r}))}});var At={pointerdown:L,pointermove:te,pointerup:z,pointercancel:G,pointerout:G},mn={2:X,3:B,4:Z,5:Y},Ct="pointerdown",_t="pointermove pointerup pointercancel";f.MSPointerEvent&&!f.PointerEvent&&(Ct="MSPointerDown",_t="MSPointerMove MSPointerUp MSPointerCancel");function pt(){this.evEl=Ct,this.evWin=_t,oe.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}y(pt,oe,{handler:function(r){var i=this.store,h=!1,m=!1,E=r.type.toLowerCase().replace("ms",""),k=At[E],$=mn[r.pointerType]||r.pointerType,ce=$==X,H=ue(i,r.pointerId,"pointerId");k&L&&(r.button===0||r.button===2||ce)?H<0&&(i.push(r),H=i.length-1):k&(z|G)?h=!0:!ce&&r.buttons===0&&(h=!0,m=!0,k=At.pointerup),!(H<0)&&(m||(i[H]=r),this.callback(this.manager,k,{pointers:i,changedPointers:[r],pointerType:$,srcEvent:i[H]}),h&&i.splice(H,1))}});var gn={touchstart:L,touchmove:te,touchend:z,touchcancel:G},yn="touchstart",bn="touchstart touchmove touchend touchcancel";function St(){this.evTarget=yn,this.evWin=bn,this.started=!1,oe.apply(this,arguments)}y(St,oe,{handler:function(r){var i=gn[r.type];if(i===L&&(this.started=!0),!!this.started){var h=wn.call(this,r,i);i&(z|G)&&h[0].length-h[1].length===0&&(this.started=!1),this.callback(this.manager,i,{pointers:h[0],changedPointers:h[1],pointerType:X,srcEvent:r})}}});function wn(n,r){var i=ye(n.touches),h=ye(n.changedTouches);return r&(z|G)&&(i=Oe(i.concat(h),"identifier")),[i,h]}var Tn={touchstart:L,touchmove:te,touchend:z,touchcancel:G},En="touchstart touchmove touchend touchcancel";function tt(){this.evTarget=En,this.targetIds={},oe.apply(this,arguments)}y(tt,oe,{handler:function(r){var i=Tn[r.type],h=Pn.call(this,r,i);h&&this.callback(this.manager,i,{pointers:h[0],changedPointers:h[1],pointerType:X,srcEvent:r})}});function Pn(n,r){var i=ye(n.touches),h=this.targetIds;if(r&(L|te)&&i.length===1)return h[i[0].identifier]=!0,[i,i];var m,E,k=ye(n.changedTouches),$=[],ce=this.target;if(E=i.filter(function(H){return ne(H.target,ce)}),r===L)for(m=0;m<E.length;)h[E[m].identifier]=!0,m++;for(m=0;m<k.length;)h[k[m].identifier]&&$.push(k[m]),r&(z|G)&&delete h[k[m].identifier],m++;if($.length)return[Oe(E.concat($),"identifier"),$]}var xn=2500,It=25;function dt(){oe.apply(this,arguments);var n=b(this.handler,this);this.touch=new tt(this.manager,n),this.mouse=new et(this.manager,n),this.primaryTouch=null,this.lastTouches=[]}y(dt,oe,{handler:function(r,i,h){var m=h.pointerType==X,E=h.pointerType==Z;if(!(E&&h.sourceCapabilities&&h.sourceCapabilities.firesTouchEvents)){if(m)Mn.call(this,i,h);else if(E&&On.call(this,h))return;this.callback(r,i,h)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});function Mn(n,r){n&L?(this.primaryTouch=r.changedPointers[0].identifier,Nt.call(this,r)):n&(z|G)&&Nt.call(this,r)}function Nt(n){var r=n.changedPointers[0];if(r.identifier===this.primaryTouch){var i={x:r.clientX,y:r.clientY};this.lastTouches.push(i);var h=this.lastTouches,m=function(){var E=h.indexOf(i);E>-1&&h.splice(E,1)};setTimeout(m,xn)}}function On(n){for(var r=n.srcEvent.clientX,i=n.srcEvent.clientY,h=0;h<this.lastTouches.length;h++){var m=this.lastTouches[h],E=Math.abs(r-m.x),k=Math.abs(i-m.y);if(E<=It&&k<=It)return!0}return!1}var kt=s?ie(s.style,"touchAction"):a,Dt=kt!==a,Lt="compute",Ft="auto",vt="manipulation",Ie="none",Xe="pan-x",Ge="pan-y",nt=Cn();function mt(n,r){this.manager=n,this.set(r)}mt.prototype={set:function(n){n==Lt&&(n=this.compute()),Dt&&this.manager.element.style&&nt[n]&&(this.manager.element.style[kt]=n),this.actions=n.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var n=[];return M(this.manager.recognizers,function(r){P(r.options.enable,[r])&&(n=n.concat(r.getTouchAction()))}),An(n.join(" "))},preventDefaults:function(n){var r=n.srcEvent,i=n.offsetDirection;if(this.manager.session.prevented){r.preventDefault();return}var h=this.actions,m=J(h,Ie)&&!nt[Ie],E=J(h,Ge)&&!nt[Ge],k=J(h,Xe)&&!nt[Xe];if(m){var $=n.pointers.length===1,ce=n.distance<2,H=n.deltaTime<250;if($&&ce&&H)return}if(!(k&&E)&&(m||E&&i&le||k&&i&fe))return this.preventSrc(r)},preventSrc:function(n){this.manager.session.prevented=!0,n.preventDefault()}};function An(n){if(J(n,Ie))return Ie;var r=J(n,Xe),i=J(n,Ge);return r&&i?Ie:r||i?r?Xe:Ge:J(n,vt)?vt:Ft}function Cn(){if(!Dt)return!1;var n={},r=f.CSS&&f.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(i){n[i]=r?f.CSS.supports("touch-action",i):!0}),n}var rt=1,he=2,ke=4,Me=8,we=Me,We=16,ve=32;function Te(n){this.options=O({},this.defaults,n||{}),this.id=U(),this.manager=null,this.options.enable=p(this.options.enable,!0),this.state=rt,this.simultaneous={},this.requireFail=[]}Te.prototype={defaults:{},set:function(n){return O(this.options,n),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(n){if(T(n,"recognizeWith",this))return this;var r=this.simultaneous;return n=at(n,this),r[n.id]||(r[n.id]=n,n.recognizeWith(this)),this},dropRecognizeWith:function(n){return T(n,"dropRecognizeWith",this)?this:(n=at(n,this),delete this.simultaneous[n.id],this)},requireFailure:function(n){if(T(n,"requireFailure",this))return this;var r=this.requireFail;return n=at(n,this),ue(r,n)===-1&&(r.push(n),n.requireFailure(this)),this},dropRequireFailure:function(n){if(T(n,"dropRequireFailure",this))return this;n=at(n,this);var r=ue(this.requireFail,n);return r>-1&&this.requireFail.splice(r,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(n){return!!this.simultaneous[n.id]},emit:function(n){var r=this,i=this.state;function h(m){r.manager.emit(m,n)}i<Me&&h(r.options.event+Ut(i)),h(r.options.event),n.additionalEvent&&h(n.additionalEvent),i>=Me&&h(r.options.event+Ut(i))},tryEmit:function(n){if(this.canEmit())return this.emit(n);this.state=ve},canEmit:function(){for(var n=0;n<this.requireFail.length;){if(!(this.requireFail[n].state&(ve|rt)))return!1;n++}return!0},recognize:function(n){var r=O({},n);if(!P(this.options.enable,[this,r])){this.reset(),this.state=ve;return}this.state&(we|We|ve)&&(this.state=rt),this.state=this.process(r),this.state&(he|ke|Me|We)&&this.tryEmit(r)},process:function(n){},getTouchAction:function(){},reset:function(){}};function Ut(n){return n&We?"cancel":n&Me?"end":n&ke?"move":n&he?"start":""}function Vt(n){return n==xe?"down":n==_e?"up":n==Pe?"left":n==Ce?"right":""}function at(n,r){var i=r.manager;return i?i.get(n):n}function pe(){Te.apply(this,arguments)}y(pe,Te,{defaults:{pointers:1},attrTest:function(n){var r=this.options.pointers;return r===0||n.pointers.length===r},process:function(n){var r=this.state,i=n.eventType,h=r&(he|ke),m=this.attrTest(n);return h&&(i&G||!m)?r|We:h||m?i&z?r|Me:r&he?r|ke:he:ve}});function it(){pe.apply(this,arguments),this.pX=null,this.pY=null}y(it,pe,{defaults:{event:"pan",threshold:10,pointers:1,direction:Ye},getTouchAction:function(){var n=this.options.direction,r=[];return n&le&&r.push(Ge),n&fe&&r.push(Xe),r},directionTest:function(n){var r=this.options,i=!0,h=n.distance,m=n.direction,E=n.deltaX,k=n.deltaY;return m&r.direction||(r.direction&le?(m=E===0?Ae:E<0?Pe:Ce,i=E!=this.pX,h=Math.abs(n.deltaX)):(m=k===0?Ae:k<0?_e:xe,i=k!=this.pY,h=Math.abs(n.deltaY))),n.direction=m,i&&h>r.threshold&&m&r.direction},attrTest:function(n){return pe.prototype.attrTest.call(this,n)&&(this.state&he||!(this.state&he)&&this.directionTest(n))},emit:function(n){this.pX=n.deltaX,this.pY=n.deltaY;var r=Vt(n.direction);r&&(n.additionalEvent=this.options.event+r),this._super.emit.call(this,n)}});function gt(){pe.apply(this,arguments)}y(gt,pe,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Ie]},attrTest:function(n){return this._super.attrTest.call(this,n)&&(Math.abs(n.scale-1)>this.options.threshold||this.state&he)},emit:function(n){if(n.scale!==1){var r=n.scale<1?"in":"out";n.additionalEvent=this.options.event+r}this._super.emit.call(this,n)}});function yt(){Te.apply(this,arguments),this._timer=null,this._input=null}y(yt,Te,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Ft]},process:function(n){var r=this.options,i=n.pointers.length===r.pointers,h=n.distance<r.threshold,m=n.deltaTime>r.time;if(this._input=n,!h||!i||n.eventType&(z|G)&&!m)this.reset();else if(n.eventType&L)this.reset(),this._timer=v(function(){this.state=we,this.tryEmit()},r.time,this);else if(n.eventType&z)return we;return ve},reset:function(){clearTimeout(this._timer)},emit:function(n){this.state===we&&(n&&n.eventType&z?this.manager.emit(this.options.event+"up",n):(this._input.timeStamp=d(),this.manager.emit(this.options.event,this._input)))}});function bt(){pe.apply(this,arguments)}y(bt,pe,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Ie]},attrTest:function(n){return this._super.attrTest.call(this,n)&&(Math.abs(n.rotation)>this.options.threshold||this.state&he)}});function wt(){pe.apply(this,arguments)}y(wt,pe,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:le|fe,pointers:1},getTouchAction:function(){return it.prototype.getTouchAction.call(this)},attrTest:function(n){var r=this.options.direction,i;return r&(le|fe)?i=n.overallVelocity:r&le?i=n.overallVelocityX:r&fe&&(i=n.overallVelocityY),this._super.attrTest.call(this,n)&&r&n.offsetDirection&&n.distance>this.options.threshold&&n.maxPointers==this.options.pointers&&g(i)>this.options.velocity&&n.eventType&z},emit:function(n){var r=Vt(n.offsetDirection);r&&this.manager.emit(this.options.event+r,n),this.manager.emit(this.options.event,n)}});function ot(){Te.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}y(ot,Te,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[vt]},process:function(n){var r=this.options,i=n.pointers.length===r.pointers,h=n.distance<r.threshold,m=n.deltaTime<r.time;if(this.reset(),n.eventType&L&&this.count===0)return this.failTimeout();if(h&&m&&i){if(n.eventType!=z)return this.failTimeout();var E=this.pTime?n.timeStamp-this.pTime<r.interval:!0,k=!this.pCenter||$e(this.pCenter,n.center)<r.posThreshold;this.pTime=n.timeStamp,this.pCenter=n.center,!k||!E?this.count=1:this.count+=1,this._input=n;var $=this.count%r.taps;if($===0)return this.hasRequireFailures()?(this._timer=v(function(){this.state=we,this.tryEmit()},r.interval,this),he):we}return ve},failTimeout:function(){return this._timer=v(function(){this.state=ve},this.options.interval,this),ve},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==we&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}});function De(n,r){return r=r||{},r.recognizers=p(r.recognizers,De.defaults.preset),new Tt(n,r)}De.VERSION="2.0.7",De.defaults={domEvents:!1,touchAction:Lt,enable:!0,inputTarget:null,inputClass:null,preset:[[bt,{enable:!1}],[gt,{enable:!1},["rotate"]],[wt,{direction:le}],[it,{direction:le},["swipe"]],[ot],[ot,{event:"doubletap",taps:2},["tap"]],[yt]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var _n=1,Bt=2;function Tt(n,r){this.options=O({},De.defaults,r||{}),this.options.inputTarget=this.options.inputTarget||n,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=n,this.input=Qe(this),this.touchAction=new mt(this,this.options.touchAction),Rt(this,!0),M(this.options.recognizers,function(i){var h=this.add(new i[0](i[1]));i[2]&&h.recognizeWith(i[2]),i[3]&&h.requireFailure(i[3])},this)}Tt.prototype={set:function(n){return O(this.options,n),n.touchAction&&this.touchAction.update(),n.inputTarget&&(this.input.destroy(),this.input.target=n.inputTarget,this.input.init()),this},stop:function(n){this.session.stopped=n?Bt:_n},recognize:function(n){var r=this.session;if(!r.stopped){this.touchAction.preventDefaults(n);var i,h=this.recognizers,m=r.curRecognizer;(!m||m&&m.state&we)&&(m=r.curRecognizer=null);for(var E=0;E<h.length;)i=h[E],r.stopped!==Bt&&(!m||i==m||i.canRecognizeWith(m))?i.recognize(n):i.reset(),!m&&i.state&(he|ke|Me)&&(m=r.curRecognizer=i),E++}},get:function(n){if(n instanceof Te)return n;for(var r=this.recognizers,i=0;i<r.length;i++)if(r[i].options.event==n)return r[i];return null},add:function(n){if(T(n,"add",this))return this;var r=this.get(n.options.event);return r&&this.remove(r),this.recognizers.push(n),n.manager=this,this.touchAction.update(),n},remove:function(n){if(T(n,"remove",this))return this;if(n=this.get(n),n){var r=this.recognizers,i=ue(r,n);i!==-1&&(r.splice(i,1),this.touchAction.update())}return this},on:function(n,r){if(n!==a&&r!==a){var i=this.handlers;return M(re(n),function(h){i[h]=i[h]||[],i[h].push(r)}),this}},off:function(n,r){if(n!==a){var i=this.handlers;return M(re(n),function(h){r?i[h]&&i[h].splice(ue(i[h],r),1):delete i[h]}),this}},emit:function(n,r){this.options.domEvents&&Sn(n,r);var i=this.handlers[n]&&this.handlers[n].slice();if(!(!i||!i.length)){r.type=n,r.preventDefault=function(){r.srcEvent.preventDefault()};for(var h=0;h<i.length;)i[h](r),h++}},destroy:function(){this.element&&Rt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}};function Rt(n,r){var i=n.element;if(i.style){var h;M(n.options.cssProps,function(m,E){h=ie(i.style,E),r?(n.oldCssProps[h]=i.style[h],i.style[h]=m):i.style[h]=n.oldCssProps[h]||""}),r||(n.oldCssProps={})}}function Sn(n,r){var i=o.createEvent("Event");i.initEvent(n,!0,!0),i.gesture=r,r.target.dispatchEvent(i)}return O(De,{INPUT_START:L,INPUT_MOVE:te,INPUT_END:z,INPUT_CANCEL:G,STATE_POSSIBLE:rt,STATE_BEGAN:he,STATE_CHANGED:ke,STATE_ENDED:Me,STATE_RECOGNIZED:we,STATE_CANCELLED:We,STATE_FAILED:ve,DIRECTION_NONE:Ae,DIRECTION_LEFT:Pe,DIRECTION_RIGHT:Ce,DIRECTION_UP:_e,DIRECTION_DOWN:xe,DIRECTION_HORIZONTAL:le,DIRECTION_VERTICAL:fe,DIRECTION_ALL:Ye,Manager:Tt,Input:oe,TouchAction:mt,TouchInput:tt,MouseInput:et,PointerEventInput:pt,TouchMouseInput:dt,SingleTouchInput:St,Recognizer:Te,AttrRecognizer:pe,Tap:ot,Pan:it,Swipe:wt,Pinch:gt,Rotate:bt,Press:yt,on:D,off:x,each:M,merge:N,extend:A,assign:O,inherit:y,bindFn:b,prefixed:ie}),De}(typeof window!="undefined"?window:{},typeof document!="undefined"?document:{}),Ne=function(f,o){o===void 0&&console.warn('THREE.OrbitControls: The second parameter "domElement" is now mandatory.'),o===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.object=f,this.domElement=o,this.enabled=!0,this.target=new _.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!1,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={LEFT:_.MOUSE.ROTATE,MIDDLE:_.MOUSE.DOLLY,RIGHT:_.MOUSE.PAN},this.touches={ONE:_.TOUCH.ROTATE,TWO:_.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=function(){return d.phi},this.getAzimuthalAngle=function(){return d.theta},this.saveState=function(){e.target0.copy(e.target),e.position0.copy(e.object.position),e.zoom0=e.object.zoom},this.reset=function(){e.target.copy(e.target0),e.object.position.copy(e.position0),e.object.zoom=e.zoom0,e.object.updateProjectionMatrix(),e.dispatchEvent(a),e.update(),l=u.NONE},this.update=function(){var c=new _.Vector3,F=new _.Quaternion().setFromUnitVectors(f.up,new _.Vector3(0,1,0)),W=F.clone().inverse(),Q=new _.Vector3,de=new _.Quaternion;return function(){var be=e.object.position;return c.copy(be).sub(e.target),c.applyQuaternion(F),d.setFromVector3(c),e.autoRotate&&l===u.NONE&&re(ne()),e.enableDamping?(d.theta+=v.theta*e.dampingFactor,d.phi+=v.phi*e.dampingFactor):(d.theta+=v.theta,d.phi+=v.phi),d.theta=Math.max(e.minAzimuthAngle,Math.min(e.maxAzimuthAngle,d.theta)),d.phi=Math.max(e.minPolarAngle,Math.min(e.maxPolarAngle,d.phi)),d.makeSafe(),d.radius*=T,d.radius=Math.max(e.minDistance,Math.min(e.maxDistance,d.radius)),e.enableDamping===!0?e.target.addScaledVector(M,e.dampingFactor):e.target.add(M),c.setFromSpherical(d),c.applyQuaternion(W),be.copy(e.target).add(c),e.object.lookAt(e.target),e.enableDamping===!0?(v.theta*=1-e.dampingFactor,v.phi*=1-e.dampingFactor,M.multiplyScalar(1-e.dampingFactor)):(v.set(0,0,0),M.set(0,0,0)),T=1,C||Q.distanceToSquared(e.object.position)>g||8*(1-de.dot(e.object.quaternion))>g?(e.dispatchEvent(a),Q.copy(e.object.position),de.copy(e.object.quaternion),C=!1,!0):!1}}(),this.dispose=function(){e.domElement.removeEventListener("contextmenu",Je,!1),e.domElement.removeEventListener("mousedown",xe,!1),e.domElement.removeEventListener("wheel",Ye,!1),e.domElement.removeEventListener("touchstart",Se,!1),e.domElement.removeEventListener("touchend",Qe,!1),e.domElement.removeEventListener("touchmove",oe,!1),document.removeEventListener("mousemove",le,!1),document.removeEventListener("mouseup",fe,!1),e.domElement.removeEventListener("keydown",je,!1)};var e=this,a={type:"change"},t={type:"start"},s={type:"end"},u={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},l=u.NONE,g=1e-6,d=new _.Spherical,v=new _.Spherical,T=1,M=new _.Vector3,C=!1,O=new _.Vector2,A=new _.Vector2,N=new _.Vector2,y=new _.Vector2,b=new _.Vector2,P=new _.Vector2,p=new _.Vector2,D=new _.Vector2,x=new _.Vector2;function ne(){return 2*Math.PI/60/60*e.autoRotateSpeed}function J(){return Math.pow(.95,e.zoomSpeed)}function re(c){v.theta-=c}function ue(c){v.phi-=c}var ye=function(){var c=new _.Vector3;return function(W,Q){c.setFromMatrixColumn(Q,0),c.multiplyScalar(-W),M.add(c)}}(),Oe=function(){var c=new _.Vector3;return function(W,Q){e.screenSpacePanning===!0?c.setFromMatrixColumn(Q,1):(c.setFromMatrixColumn(Q,0),c.crossVectors(e.object.up,c)),c.multiplyScalar(W),M.add(c)}}(),ie=function(){var c=new _.Vector3;return function(W,Q){var de=e.domElement;if(e.object.isPerspectiveCamera){var ze=e.object.position;c.copy(ze).sub(e.target);var be=c.length();be*=Math.tan(e.object.fov/2*Math.PI/180),ye(2*W*be/de.clientHeight,e.object.matrix),Oe(2*Q*be/de.clientHeight,e.object.matrix)}else e.object.isOrthographicCamera?(ye(W*(e.object.right-e.object.left)/e.object.zoom/de.clientWidth,e.object.matrix),Oe(Q*(e.object.top-e.object.bottom)/e.object.zoom/de.clientHeight,e.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),e.enablePan=!1)}}();function se(c){e.object.isPerspectiveCamera?T/=c:e.object.isOrthographicCamera?(e.object.zoom=Math.max(e.minZoom,Math.min(e.maxZoom,e.object.zoom*c)),e.object.updateProjectionMatrix(),C=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),e.enableZoom=!1)}function U(c){e.object.isPerspectiveCamera?T*=c:e.object.isOrthographicCamera?(e.object.zoom=Math.max(e.minZoom,Math.min(e.maxZoom,e.object.zoom/c)),e.object.updateProjectionMatrix(),C=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),e.enableZoom=!1)}function I(c){O.set(c.clientX,c.clientY)}function S(c){p.set(c.clientX,c.clientY)}function V(c){y.set(c.clientX,c.clientY)}function j(c){A.set(c.clientX,c.clientY),N.subVectors(A,O).multiplyScalar(e.rotateSpeed);var F=e.domElement;re(2*Math.PI*N.x/F.clientHeight),ue(2*Math.PI*N.y/F.clientHeight),O.copy(A),e.update()}function ae(c){D.set(c.clientX,c.clientY),x.subVectors(D,p),x.y>0?se(J()):x.y<0&&U(J()),p.copy(D),e.update()}function X(c){b.set(c.clientX,c.clientY),P.subVectors(b,y).multiplyScalar(e.panSpeed),ie(P.x,P.y),y.copy(b),e.update()}function B(c){c.deltaY<0?U(J()):c.deltaY>0&&se(J()),e.update()}function Z(c){var F=!1;switch(c.keyCode){case e.keys.UP:ie(0,e.keyPanSpeed),F=!0;break;case e.keys.BOTTOM:ie(0,-e.keyPanSpeed),F=!0;break;case e.keys.LEFT:ie(e.keyPanSpeed,0),F=!0;break;case e.keys.RIGHT:ie(-e.keyPanSpeed,0),F=!0;break}F&&(c.preventDefault(),e.update())}function Y(c){if(c.touches.length==1)O.set(c.touches[0].pageX,c.touches[0].pageY);else{var F=.5*(c.touches[0].pageX+c.touches[1].pageX),W=.5*(c.touches[0].pageY+c.touches[1].pageY);O.set(F,W)}}function R(c){if(c.touches.length==1)y.set(c.touches[0].pageX,c.touches[0].pageY);else{var F=.5*(c.touches[0].pageX+c.touches[1].pageX),W=.5*(c.touches[0].pageY+c.touches[1].pageY);y.set(F,W)}}function L(c){var F=c.touches[0].pageX-c.touches[1].pageX,W=c.touches[0].pageY-c.touches[1].pageY,Q=Math.sqrt(F*F+W*W);p.set(0,Q)}function te(c){e.enableZoom&&L(c),e.enablePan&&R(c)}function z(c){e.enableZoom&&L(c),e.enableRotate&&Y(c)}function G(c){if(c.touches.length==1)A.set(c.touches[0].pageX,c.touches[0].pageY);else{var F=.5*(c.touches[0].pageX+c.touches[1].pageX),W=.5*(c.touches[0].pageY+c.touches[1].pageY);A.set(F,W)}N.subVectors(A,O).multiplyScalar(e.rotateSpeed);var Q=e.domElement;re(2*Math.PI*N.x/Q.clientHeight),ue(2*Math.PI*N.y/Q.clientHeight),O.copy(A)}function Ae(c){if(c.touches.length==1)b.set(c.touches[0].pageX,c.touches[0].pageY);else{var F=.5*(c.touches[0].pageX+c.touches[1].pageX),W=.5*(c.touches[0].pageY+c.touches[1].pageY);b.set(F,W)}P.subVectors(b,y).multiplyScalar(e.panSpeed),ie(P.x,P.y),y.copy(b)}function Pe(c){var F=c.touches[0].pageX-c.touches[1].pageX,W=c.touches[0].pageY-c.touches[1].pageY,Q=Math.sqrt(F*F+W*W);D.set(0,Q),x.set(0,Math.pow(D.y/p.y,e.zoomSpeed)),se(x.y),p.copy(D)}function Ce(c){e.enableZoom&&Pe(c),e.enablePan&&Ae(c)}function _e(c){e.enableZoom&&Pe(c),e.enableRotate&&G(c)}function xe(c){if(e.enabled!==!1){c.preventDefault(),e.domElement.focus?e.domElement.focus():window.focus();var F;switch(c.button){case 0:F=e.mouseButtons.LEFT;break;case 1:F=e.mouseButtons.MIDDLE;break;case 2:F=e.mouseButtons.RIGHT;break;default:F=-1}switch(F){case _.MOUSE.DOLLY:if(e.enableZoom===!1)return;S(c),l=u.DOLLY;break;case _.MOUSE.ROTATE:if(c.ctrlKey||c.metaKey||c.shiftKey){if(e.enablePan===!1)return;V(c),l=u.PAN}else{if(e.enableRotate===!1)return;I(c),l=u.ROTATE}break;case _.MOUSE.PAN:if(c.ctrlKey||c.metaKey||c.shiftKey){if(e.enableRotate===!1)return;I(c),l=u.ROTATE}else{if(e.enablePan===!1)return;V(c),l=u.PAN}break;default:l=u.NONE}l!==u.NONE&&(document.addEventListener("mousemove",le,!1),document.addEventListener("mouseup",fe,!1),e.dispatchEvent(t))}}function le(c){if(e.enabled!==!1)switch(c.preventDefault(),l){case u.ROTATE:if(e.enableRotate===!1)return;j(c);break;case u.DOLLY:if(e.enableZoom===!1)return;ae(c);break;case u.PAN:if(e.enablePan===!1)return;X(c);break}}function fe(c){e.enabled!==!1&&(document.removeEventListener("mousemove",le,!1),document.removeEventListener("mouseup",fe,!1),e.dispatchEvent(s),l=u.NONE)}function Ye(c){e.enabled===!1||e.enableZoom===!1||l!==u.NONE&&l!==u.ROTATE||(c.preventDefault(),c.stopPropagation(),e.dispatchEvent(t),B(c),e.dispatchEvent(s))}function je(c){e.enabled===!1||e.enableKeys===!1||e.enablePan===!1||Z(c)}function Se(c){if(e.enabled!==!1){switch(c.preventDefault(),c.touches.length){case 1:switch(e.touches.ONE){case _.TOUCH.ROTATE:if(e.enableRotate===!1)return;Y(c),l=u.TOUCH_ROTATE;break;case _.TOUCH.PAN:if(e.enablePan===!1)return;R(c),l=u.TOUCH_PAN;break;default:l=u.NONE}break;case 2:switch(e.touches.TWO){case _.TOUCH.DOLLY_PAN:if(e.enableZoom===!1&&e.enablePan===!1)return;te(c),l=u.TOUCH_DOLLY_PAN;break;case _.TOUCH.DOLLY_ROTATE:if(e.enableZoom===!1&&e.enableRotate===!1)return;z(c),l=u.TOUCH_DOLLY_ROTATE;break;default:l=u.NONE}break;default:l=u.NONE}l!==u.NONE&&e.dispatchEvent(t)}}function oe(c){if(e.enabled!==!1)switch(c.preventDefault(),c.stopPropagation(),l){case u.TOUCH_ROTATE:if(e.enableRotate===!1)return;G(c),e.update();break;case u.TOUCH_PAN:if(e.enablePan===!1)return;Ae(c),e.update();break;case u.TOUCH_DOLLY_PAN:if(e.enableZoom===!1&&e.enablePan===!1)return;Ce(c),e.update();break;case u.TOUCH_DOLLY_ROTATE:if(e.enableZoom===!1&&e.enableRotate===!1)return;_e(c),e.update();break;default:l=u.NONE}}function Qe(c){e.enabled!==!1&&(e.dispatchEvent(s),l=u.NONE)}function Je(c){e.enabled!==!1&&c.preventDefault()}e.domElement.addEventListener("contextmenu",Je,!1),e.domElement.addEventListener("mousedown",xe,!1),e.domElement.addEventListener("wheel",Ye,!1),e.domElement.addEventListener("touchstart",Se,!1),e.domElement.addEventListener("touchend",Qe,!1),e.domElement.addEventListener("touchmove",oe,!1),e.domElement.addEventListener("keydown",je,!1),e.domElement.tabIndex===-1&&(e.domElement.tabIndex=0),this.update()};Ne.prototype=Object.create(_.EventDispatcher.prototype),Ne.prototype.constructor=Ne;var ut=function(f,o){Ne.call(this,f,o),this.mouseButtons.LEFT=_.MOUSE.PAN,this.mouseButtons.RIGHT=_.MOUSE.ROTATE,this.touches.ONE=_.TOUCH.PAN,this.touches.TWO=_.TOUCH.DOLLY_ROTATE};ut.prototype=Object.create(_.EventDispatcher.prototype),ut.prototype.constructor=ut;var ge=function(f){_.Object3D.call(this),this.element=f,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.addEventListener("removed",function(){this.traverse(function(o){o.element instanceof Element&&o.element.parentNode!==null&&o.element.parentNode.removeChild(o.element)})})};ge.prototype=Object.create(_.Object3D.prototype),ge.prototype.constructor=ge;var Ke=function(f){ge.call(this,f)};Ke.prototype=Object.create(ge.prototype),Ke.prototype.constructor=Ke;var xt=function(){var f=this,o,e,a,t,s=new _.Matrix4,u={camera:{fov:0,style:""},objects:new WeakMap},l=document.createElement("div");l.style.overflow="hidden",this.domElement=l;var g=document.createElement("div");g.style.WebkitTransformStyle="preserve-3d",g.style.transformStyle="preserve-3d",g.style.pointerEvents="none",l.appendChild(g);var d=/Trident/i.test(navigator.userAgent);this.getSize=function(){return{width:o,height:e}},this.setSize=function(y,b){o=y,e=b,a=o/2,t=e/2,l.style.width=y+"px",l.style.height=b+"px",g.style.width=y+"px",g.style.height=b+"px"};function v(y){return Math.abs(y)<1e-10?0:y}function T(y){var b=y.elements;return"matrix3d("+v(b[0])+","+v(-b[1])+","+v(b[2])+","+v(b[3])+","+v(b[4])+","+v(-b[5])+","+v(b[6])+","+v(b[7])+","+v(b[8])+","+v(-b[9])+","+v(b[10])+","+v(b[11])+","+v(b[12])+","+v(-b[13])+","+v(b[14])+","+v(b[15])+")"}function M(y,b){var P=y.elements,p="matrix3d("+v(P[0])+","+v(P[1])+","+v(P[2])+","+v(P[3])+","+v(-P[4])+","+v(-P[5])+","+v(-P[6])+","+v(-P[7])+","+v(P[8])+","+v(P[9])+","+v(P[10])+","+v(P[11])+","+v(P[12])+","+v(P[13])+","+v(P[14])+","+v(P[15])+")";return d?"translate(-50%,-50%)translate("+a+"px,"+t+"px)"+b+p:"translate(-50%,-50%)"+p}function C(y,b,P,p){if(y instanceof ge){y.onBeforeRender(f,b,P);var D;y instanceof Ke?(s.copy(P.matrixWorldInverse),s.transpose(),s.copyPosition(y.matrixWorld),s.scale(y.scale),s.elements[3]=0,s.elements[7]=0,s.elements[11]=0,s.elements[15]=1,D=M(s,p)):D=M(y.matrixWorld,p);var x=y.element,ne=u.objects.get(y);if(ne===void 0||ne.style!==D){x.style.WebkitTransform=D,x.style.transform=D;var J={style:D};d&&(J.distanceToCameraSquared=O(P,y)),u.objects.set(y,J)}x.style.display=y.visible?"":"none",x.parentNode!==g&&g.appendChild(x),y.onAfterRender(f,b,P)}for(var re=0,ue=y.children.length;re<ue;re++)C(y.children[re],b,P,p)}var O=function(){var y=new _.Vector3,b=new _.Vector3;return function(P,p){return y.setFromMatrixPosition(P.matrixWorld),b.setFromMatrixPosition(p.matrixWorld),y.distanceToSquared(b)}}();function A(y){var b=[];return y.traverse(function(P){P instanceof ge&&b.push(P)}),b}function N(y){for(var b=A(y).sort(function(x,ne){var J=u.objects.get(x).distanceToCameraSquared,re=u.objects.get(ne).distanceToCameraSquared;return J-re}),P=b.length,p=0,D=b.length;p<D;p++)b[p].element.style.zIndex=P-p}this.render=function(y,b){var P=b.projectionMatrix.elements[5]*t;if(u.camera.fov!==P&&(b.isPerspectiveCamera?(l.style.WebkitPerspective=P+"px",l.style.perspective=P+"px"):(l.style.WebkitPerspective="",l.style.perspective=""),u.camera.fov=P),y.autoUpdate===!0&&y.updateMatrixWorld(),b.parent===null&&b.updateMatrixWorld(),b.isOrthographicCamera)var p=-(b.right+b.left)/2,D=(b.top+b.bottom)/2;var x=b.isOrthographicCamera?"scale("+P+")translate("+v(p)+"px,"+v(D)+"px)"+T(b.matrixWorldInverse):"translateZ("+P+"px)"+T(b.matrixWorldInverse),ne=x+"translate("+a+"px,"+t+"px)";u.camera.style!==ne&&!d&&(g.style.WebkitTransform=ne,g.style.transform=ne,u.camera.style=ne),C(y,y,b,x),d&&N(y)}};function Mt(f,o,e){var a=o.getBoundingClientRect(),t=a.top,s=a.left,u=a.width,l=a.height;return new w.Vector2((f.x-s)/u*2-1,-(f.y-t)/l*2+1)}var Ot=function(f){Le(o,f);function o(e,a,t,s,u){var l=f.call(this)||this;l.type="RoundedBoxGeometry",u=isNaN(u)?1:Math.max(1,Math.floor(u)),e=isNaN(e)?1:e,a=isNaN(a)?1:a,t=isNaN(t)?1:t,s=isNaN(s)?.15:s,s=Math.min(s,Math.min(e,Math.min(a,Math.min(t)))/2);var g=e/2-s,d=a/2-s,v=t/2-s;l.parameters={width:e,height:a,depth:t,radius:s,radiusSegments:u};var T=u+1,M=T*u+1<<3,C=new w.BufferAttribute(new Float32Array(M*3),3),O=new w.BufferAttribute(new Float32Array(M*3),3),A=[],N=[];new w.Vector3;var y=new w.Vector3,b=[],P=[],p=[],D=T*u,x=T*u+1;ne(),re(),J(),ue(),Oe(),ye();function ne(){for(var U=[new w.Vector3(1,1,1),new w.Vector3(1,1,-1),new w.Vector3(-1,1,-1),new w.Vector3(-1,1,1),new w.Vector3(1,-1,1),new w.Vector3(1,-1,-1),new w.Vector3(-1,-1,-1),new w.Vector3(-1,-1,1)],I=0;I<8;I++)A.push([]),N.push([]);for(var S=Math.PI/2,V=new w.Vector3(g,d,v),j=0;j<=u;j++){var ae=j/u,X=ae*S,B=Math.cos(X),Z=Math.sin(X);if(j==u){y.set(0,1,0);var Y=y.clone().multiplyScalar(s).add(V);A[0].push(Y),b.push(Y);var R=y.clone();N[0].push(R),P.push(R);continue}for(var L=0;L<=u;L++){var te=L/u,z=te*S;y.x=B*Math.cos(z),y.y=Z,y.z=B*Math.sin(z);var Y=y.clone().multiplyScalar(s).add(V);A[0].push(Y),b.push(Y);var R=y.clone().normalize();N[0].push(R),P.push(R)}}for(var G=1;G<8;G++)for(var I=0;I<A[0].length;I++){var Y=A[0][I].clone().multiply(U[G]);A[G].push(Y),b.push(Y);var R=N[0][I].clone().multiply(U[G]);N[G].push(R),P.push(R)}}function J(){for(var U=[!0,!1,!0,!1,!1,!0,!1,!0],I=T*(u-1),S=0;S<8;S++){for(var V=x*S,j=0;j<u-1;j++)for(var ae=j*T,X=(j+1)*T,B=0;B<u;B++){var Z=B+1,Y=V+ae+B,R=V+ae+Z,L=V+X+B,te=V+X+Z;U[S]?(p.push(Y),p.push(L),p.push(R),p.push(R),p.push(L),p.push(te)):(p.push(Y),p.push(R),p.push(L),p.push(R),p.push(te),p.push(L))}for(var B=0;B<u;B++){var Y=V+I+B,R=V+I+B+1,L=V+D;U[S]?(p.push(Y),p.push(L),p.push(R)):(p.push(Y),p.push(R),p.push(L))}}}function re(){var U=D,I=D+x,S=D+x*2,V=D+x*3;p.push(U),p.push(I),p.push(S),p.push(U),p.push(S),p.push(V),U=D+x*4,I=D+x*5,S=D+x*6,V=D+x*7,p.push(U),p.push(S),p.push(I),p.push(U),p.push(V),p.push(S),U=0,I=x,S=x*4,V=x*5,p.push(U),p.push(S),p.push(I),p.push(I),p.push(S),p.push(V),U=x*2,I=x*3,S=x*6,V=x*7,p.push(U),p.push(S),p.push(I),p.push(I),p.push(S),p.push(V),U=u,I=u+x*3,S=u+x*4,V=u+x*7,p.push(U),p.push(I),p.push(S),p.push(I),p.push(V),p.push(S),U=u+x,I=u+x*2,S=u+x*5,V=u+x*6,p.push(U),p.push(S),p.push(I),p.push(I),p.push(S),p.push(V)}function ue(){for(var U=0;U<4;U++)for(var I=U*x,S=4*x+I,V=(U&1)===1,j=0;j<u;j++){var ae=j+1,X=I+j,B=I+ae,Z=S+j,Y=S+ae;V?(p.push(X),p.push(Z),p.push(B),p.push(B),p.push(Z),p.push(Y)):(p.push(X),p.push(B),p.push(Z),p.push(B),p.push(Y),p.push(Z))}}function ye(){for(var U=[0,2,4,6],I=[1,3,5,7],S=0;S<4;S++)for(var V=x*U[S],j=x*I[S],ae=1>=S,X=0;X<u;X++){var B=X*T,Z=(X+1)*T,Y=V+B,R=V+Z,L=j+B,te=j+Z;ae?(p.push(Y),p.push(L),p.push(R),p.push(R),p.push(L),p.push(te)):(p.push(Y),p.push(R),p.push(L),p.push(R),p.push(te),p.push(L))}}function Oe(){for(var U=u-1,I=[0,1,4,5],S=[3,2,7,6],V=[0,1,1,0],j=0;j<4;j++)for(var ae=I[j]*x,X=S[j]*x,B=0;B<=U;B++){var Z=ae+u+B*T,Y=ae+(B!=U?u+(B+1)*T:x-1),R=X+u+B*T,L=X+(B!=U?u+(B+1)*T:x-1);V[j]?(p.push(Z),p.push(R),p.push(Y),p.push(Y),p.push(R),p.push(L)):(p.push(Z),p.push(Y),p.push(R),p.push(Y),p.push(L),p.push(R))}}for(var ie=0,se=0;se<b.length;se++)C.setXYZ(ie,b[se].x,b[se].y,b[se].z),O.setXYZ(ie,P[se].x,P[se].y,P[se].z),ie++;return l.setIndex(new w.BufferAttribute(new Uint16Array(p),1)),l.setAttribute("position",C),l.setAttribute("normal",O),l}return o}(w.BufferGeometry);function Ve(f,o){return typeof f!="number"||typeof o!="number"?!1:Math.abs(f-o)<.001}function Be(f,o,e,a){a===void 0&&(a=function(s){return s});var t=a(e);return f*(1-t)+o*t}var ee=Number((Math.PI/2).toFixed(5));function rn(f,o,e){var a=new w.Shape;return a.moveTo(e,0),a.lineTo(f-e,0),a.absarc(f-e,e,e,-ee,0,!1),a.lineTo(f,o-e),a.absarc(f-e,o-e,e,0,ee,!1),a.lineTo(e,o),a.absarc(e,o-e,e,ee,Math.PI,!1),a.lineTo(0,e),a.absarc(e,e,e,Math.PI,Math.PI*1.5,!1),a}var Re=function(f){var o=document.createElement("div");o.innerText=f;var e=new ge(o);return e.name=f,e.scale.set(.3,.3,.3),o.style.pointerEvents="none",o.style.backfaceVisibility="hidden",e},Ze=function(f){var o=new w.PlaneGeometry(5,5),e=new w.MeshBasicMaterial({transparent:!0,opacity:0}),a=new w.Mesh(o,e),t=document.createElement("div");t.innerText=f;var s=new ge(t);return s.name=f,s.scale.set(.3,.3,.3),t.style.color="#ffffff",t.style.opacity="0.5",t.style.pointerEvents="none",t.style.backfaceVisibility="hidden",a.rotateX(-ee),a.add(s),a},an=function(f){Le(o,f);function o(e,a){var t=f.call(this,e)||this;t.camera=new Ee.Camera(90),t.scene=new w.Scene,t.renderer=new w.WebGLRenderer({antialias:!0,alpha:!0}),t.css3drenderer=new xt,t.ambientLight=new w.AmbientLight(16777215,.7),t.wrapper=document.createElement("div"),t.arrows=document.createElement("div"),t.arrowLeft=document.createElement("div"),t.arrowRight=document.createElement("div"),t.arrowFront=document.createElement("div"),t.arrowBack=document.createElement("div"),t.arrowTop=document.createElement("div"),t.arrowBottom=document.createElement("div"),t.spherical=null,t.dragging=!1,t.style=document.createElement("style"),t.directionalLight=new w.DirectionalLight(16777215,.2),t.box=new w.Mesh(new Ot(8,8,8,.5,20),new w.MeshPhongMaterial({color:16777215})),t.faces=new w.Group,t.orient=function(l){var g=l.longitude,d=l.latitude;t.dragging=!1,t.spherical=null,t.controls.enableDamping=!1,t.five.setState(Object.assign({latitude:d},g!==void 0?{longitude:g+t.config.fixedLongitude}:{})),t.five.ready().then(function(){t.controls.enableDamping=!0,t.setState({arrowsVisible:!0})})},t.onRenderFrame=function(){var l,g,d,v,T;if(t.renderer.render(t.scene,t.camera),t.css3drenderer.render(t.scene,t.camera),t.directionalLight.position.copy(t.camera.position),(l=t.controls)===null||l===void 0||l.update(),t.dragging){t.camera.computePose(),t.updateByCamera();var M=t.camera.pose,C=M.longitude,O=M.latitude;t.five.setState({longitude:C,latitude:O},!0),t.updateArrows({longitude:C,latitude:O})}else if(t.spherical&&(!Ve(t.spherical.pi,(g=t.controls)===null||g===void 0?void 0:g.getPolarAngle())||!Ve(t.spherical.theta,(d=t.controls)===null||d===void 0?void 0:d.getAzimuthalAngle()))){t.spherical={pi:(v=t.controls)===null||v===void 0?void 0:v.getPolarAngle(),theta:(T=t.controls)===null||T===void 0?void 0:T.getAzimuthalAngle()},t.camera.computePose(),t.updateByCamera();var A=t.camera.pose,C=A.longitude,O=A.latitude;t.five.setState({longitude:C,latitude:O},!0),t.updateArrows({longitude:C,latitude:O})}else t.spherical=null},t.onTapGesture=function(l){var g=l.pointers[0].clientX,d=l.pointers[0].clientY,v=Mt({x:g,y:d},t.wrapper),T=new w.Raycaster;T.setFromCamera(v,t.camera);var M=T.intersectObjects(t.faces.children,!1)[0];if(M){var C=M.object.userData,O=C.longitude,A=C.latitude;t.orient({longitude:O,latitude:A})}},t.onFiveWantsGesture=function(){if(t.spherical)return!1},t.onFiveModeChange=function(l){t.controls&&(t.controls.maxPolarAngle=l==="Topview"?0:ee)},t.onCameraUpdate=function(l){var g=l.state;if(!t.dragging&&!t.spherical){var d=g.longitude,v=g.latitude;t.camera.pose.longitude===d&&t.camera.pose.latitude===v||(t.camera.setFromPose({longitude:d,latitude:v,distance:20,offset:new w.Vector3(0,0,0)}),t.updateByCamera(),t.updateArrows({longitude:d,latitude:v}))}},t.onPanStart=function(l){t.dragging=!0,t.spherical={}},t.onMouseMove=function(l){if(!t.dragging){var g=Mt({x:l.clientX,y:l.clientY},t.wrapper),d=new w.Raycaster;d.setFromCamera(g,t.camera);var v=d.intersectObjects(t.faces.children,!1)[0];t.faces.children.forEach(function(T){T.material.opacity=0,T.children[0].element.style.color=""}),v&&(v.object.material.opacity=.3,v.object.children[0].element.style.color="#336dff")}},t.onPanEnd=function(l){t.dragging=!1,t.spherical={pi:t.controls.getPolarAngle(),theta:t.controls.getAzimuthalAngle()}},t.dispose=function(){t.disable()},t.five=e;var s={enabled:!1,visible:!0,arrowsVisible:!1};t.state=Object.assign(s,a==null?void 0:a.initialState);var u=K({fixedLongitude:0,orthoView:!0},a==null?void 0:a.config);return t._config=u,t.state.enabled&&t._enable({userAction:!1}),t.mc=new ct.Manager(t.wrapper),t.mc.add(new ct.Tap({interval:410})),t.mc.add(new ct.Pan({threshold:10,pointers:0})),t.camera.setFromPose({distance:20,offset:new w.Vector3(0,0,0),longitude:e.camera.pose.latitude,latitude:e.camera.pose.latitude}),t.cylinder=new w.Mesh(new w.CylinderGeometry(13.2,14,.01,50,1,!0),new w.ShaderMaterial({uniforms:{radiusTop:{value:13.2},radiusBottom:{value:14},opacity:{value:1}},vertexShader:`
|
|
357
357
|
varying vec3 pos;
|
|
358
358
|
varying mat4 vViewMatrix;
|
|
359
359
|
void main() {
|
|
@@ -383,7 +383,7 @@ void main() {
|
|
|
383
383
|
vec4 color = mix(color1, color2, z);
|
|
384
384
|
gl_FragColor = color;
|
|
385
385
|
}
|
|
386
|
-
`,transparent:!0})),t.init(),t}return Object.defineProperty(o.prototype,"config",{get:function(){return
|
|
386
|
+
`,transparent:!0})),t.init(),t}return Object.defineProperty(o.prototype,"config",{get:function(){return K({},this._config)},enumerable:!1,configurable:!0}),o.prototype.updateState=function(e,a){var t=this.state;this.state=K(K({},this.state),e),typeof e.arrowsVisible=="boolean"&&this.handleArrowsVisible(e.arrowsVisible),this.hooks.emit("stateChange",{state:this.state,prevState:t,userAction:a})},o.prototype.appendTo=function(e){if(e){e.appendChild(this.wrapper);var a=this.wrapper.getBoundingClientRect(),t=a.width,s=a.height;this.renderer.setSize(t,s),this.css3drenderer.setSize(t,s)}},o.prototype.init=function(){this.renderer.setClearAlpha(0),this.renderer.domElement.style.outline="none",this.initDom(),this.initFaces(),this.initControls(),this.initLights();var e=this.cylinder;e.position.y=-3;var a=Ze("西");a.position.set(-19,0,0),e.add(a);var t=Ze("东");t.position.set(19,0,0),e.add(t);var s=Ze("北");s.position.set(0,0,-19),e.add(s);var u=Ze("南");u.position.set(0,0,19),e.add(u),this.updateByCamera(),this.scene.add(e,this.box,this.faces),this.scene.rotation.y=this.config.fixedLongitude},o.prototype.initDom=function(){this.style.innerHTML=`
|
|
387
387
|
.OrientationPlugin .OrientationArrows {
|
|
388
388
|
position: absolute;
|
|
389
389
|
top: 0;
|
|
@@ -483,7 +483,7 @@ void main() {
|
|
|
483
483
|
border-color: transparent transparent var(--color) transparent;
|
|
484
484
|
transform: translate(0, -15px);
|
|
485
485
|
}
|
|
486
|
-
`,this.wrapper.className="OrientationPlugin",this.arrows.className="OrientationArrows",this.wrapper.style.cssText="position: relative; width: 100%; height: 100%",this.wrapper.appendChild(this.arrows),this.arrowLeft.className=this.arrowRight.className=this.arrowTop.className=this.arrowBack.className=this.arrowFront.className="OrientationArrow",this.arrowBottom.className="OrientationArrow disabled",this.arrowBack.innerText="后",this.arrowFront.innerText="前",this.arrowLeft.innerText="左",this.arrowRight.innerText="右",this.arrowTop.innerText="上",this.arrowBottom.innerText="下",this.css3drenderer.domElement.style.cssText="position: absolute; top: 0; right: 0; bottom: 0; left: 0; pointer-events: none; color: #00000090;"},o.prototype.bindEvents=function(){var e=this;this.five.on("renderFrame",this.onRenderFrame),this.five.on("camera.update",this.onCameraUpdate),this.five.on("wantsGesture",this.onFiveWantsGesture),this.five.on("modeChange",this.onFiveModeChange),this.mc.on("tap",this.onTapGesture),this.mc.on("panstart",this.onPanStart),this.mc.on("panend",this.onPanEnd),this.wrapper.addEventListener("mousemove",this.onMouseMove),this.arrowTop.onclick=function(){return e.orient({longitude:0,latitude:
|
|
486
|
+
`,this.wrapper.className="OrientationPlugin",this.arrows.className="OrientationArrows",this.wrapper.style.cssText="position: relative; width: 100%; height: 100%",this.wrapper.appendChild(this.arrows),this.arrowLeft.className=this.arrowRight.className=this.arrowTop.className=this.arrowBack.className=this.arrowFront.className="OrientationArrow",this.arrowBottom.className="OrientationArrow disabled",this.arrowBack.innerText="后",this.arrowFront.innerText="前",this.arrowLeft.innerText="左",this.arrowRight.innerText="右",this.arrowTop.innerText="上",this.arrowBottom.innerText="下",this.css3drenderer.domElement.style.cssText="position: absolute; top: 0; right: 0; bottom: 0; left: 0; pointer-events: none; color: #00000090;"},o.prototype.bindEvents=function(){var e=this;this.five.on("renderFrame",this.onRenderFrame),this.five.on("camera.update",this.onCameraUpdate),this.five.on("wantsGesture",this.onFiveWantsGesture),this.five.on("modeChange",this.onFiveModeChange),this.mc.on("tap",this.onTapGesture),this.mc.on("panstart",this.onPanStart),this.mc.on("panend",this.onPanEnd),this.wrapper.addEventListener("mousemove",this.onMouseMove),this.arrowTop.onclick=function(){return e.orient({longitude:0,latitude:ee})},this.arrowLeft.onclick=function(){return e.orient({longitude:-ee,latitude:0})},this.arrowRight.onclick=function(){return e.orient({longitude:ee,latitude:0})},this.arrowFront.onclick=function(){return e.orient({longitude:0,latitude:0})},this.arrowBack.onclick=function(){return e.orient({longitude:Math.PI,latitude:0})}},o.prototype.unbindEvents=function(){this.five.off("renderFrame",this.onRenderFrame),this.five.off("camera.update",this.onCameraUpdate),this.five.off("wantsGesture",this.onFiveWantsGesture),this.five.off("modeChange",this.onFiveModeChange),this.mc.off("tap",this.onTapGesture),this.mc.off("panstart",this.onPanStart),this.mc.off("panend",this.onPanEnd),this.wrapper.removeEventListener("mousemove",this.onMouseMove),this.arrowTop.onclick=null,this.arrowLeft.onclick=null,this.arrowRight.onclick=null,this.arrowFront.onclick=null,this.arrowBack.onclick=null},o.prototype.updateByCamera=function(){var e=Be(.2,1,this.camera.pose.latitude/Math.PI*2,function(l){return l*l}),a=Be(11,13,this.camera.pose.latitude/Math.PI*2,function(l){return l*l}),t=Be(12,15,this.camera.pose.latitude/Math.PI*2,function(l){return l*l}),s=Be(13,19,this.camera.pose.latitude/Math.PI*2,function(l){return l*l}),u=Be(-.2,.5,this.camera.pose.latitude/Math.PI*2,function(l){return l*l});this.cylinder.geometry=new w.CylinderGeometry(a,t,.01,50,1,!0),this.cylinder.material.uniforms.radiusTop.value=a,this.cylinder.material.uniforms.radiusBottom.value=t,this.cylinder.material.needsUpdate=!0,this.cylinder.children.forEach(function(l){l.position.normalize().multiplyScalar(s),l.scale.set(e,e,e);var g=l.children[0];g&&(g.element.style.opacity=u.toString())})},o.prototype.updateArrows=function(e){e.longitude;var a=e.latitude,t=ee-a<.02;this.setState({arrowsVisible:t})},o.prototype.handleArrowsVisible=function(e){var a=this;if(this.state.enabled)if(this.cylinder.material.uniforms.opacity.value=e?.4:1,this.cylinder.material.needsUpdate=!0,e){var t=this.five.getCurrentState(),s=t.longitude,u=t.latitude;if(ee-u<.03)this.five.state.mode==="Topview"||this.five.state.mode==="Mapview"?(this.faces.getObjectByName("上").element.className="active",this.arrows.innerHTML="",this.arrows.appendChild(this.arrowBack),this.arrows.appendChild(this.arrowLeft),this.arrows.appendChild(this.arrowRight),this.arrows.appendChild(this.arrowFront),this.arrows.style.transform="rotate(".concat((s-this.config.fixedLongitude)/Math.PI*180,"deg)")):(this.arrows.innerHTML="",this.faces.getObjectByName("上").element.className="");else{switch(this.arrows.innerHTML="",this.arrows.appendChild(this.arrowTop),this.config.orthoView&&this.five.ready().then(function(){a.five.controller.cameraType="orthographic",a.five.ready().then(function(){return a.five.controller.cameraMotion.ended=!1})}),!0){case Ve(0,s-this.config.fixedLongitude):this.arrows.appendChild(this.arrowLeft),this.arrows.appendChild(this.arrowRight),this.arrows.appendChild(this.arrowBottom),this.faces.getObjectByName("前").element.className="active";break;case Ve(ee,s-this.config.fixedLongitude):this.arrows.appendChild(this.arrowFront),this.arrows.appendChild(this.arrowBack),this.arrows.appendChild(this.arrowBottom),this.faces.getObjectByName("右").element.className="active";break;case Ve(Math.PI,s-this.config.fixedLongitude):this.arrows.appendChild(this.arrowRight),this.arrows.appendChild(this.arrowLeft),this.arrows.appendChild(this.arrowBottom),this.faces.getObjectByName("后").element.className="active";break;default:this.arrows.appendChild(this.arrowBack),this.arrows.appendChild(this.arrowFront),this.arrows.appendChild(this.arrowBottom),this.faces.getObjectByName("左").element.className="active";break}this.arrows.style.transform=""}this.arrows.style.display="block"}else this.config.orthoView&&(this.five.controller.cameraType="auto",this.five.ready().then(function(){return a.five.controller.cameraMotion.ended=!1})),this.arrows.style.display="none",this.faces.children.forEach(function(l){l.children[0].element.className=""})},o.prototype.setState=function(e,a){a===void 0&&(a={});var t=this.state,s=a.userAction!==void 0?a.userAction:!0;if(this.updateState(e,s),e.enabled!==void 0&&t.enabled!==e.enabled){var u={userAction:s};e.enabled?this._enable(u):this._disable(u)}},o.prototype.initLights=function(){this.directionalLight.target=this.box,this.scene.add(this.ambientLight,this.directionalLight)},o.prototype.initFaces=function(){var e=rn(7,7,.5),a=new w.ShapeGeometry(e);a.translate(-3.5,-3.5,0);var t=new w.Mesh(a,new w.MeshBasicMaterial({transparent:!0,color:3370495,opacity:0}));t.userData={longitude:0,latitude:0},t.position.z=4.1,t.add(Re("前"));var s=new w.Mesh(a,new w.MeshBasicMaterial({transparent:!0,color:3370495,opacity:0}));s.rotateY(Math.PI),s.position.z=-4.1,s.add(Re("后")),s.userData={longitude:Math.PI,latitude:0};var u=new w.Mesh(a,new w.MeshBasicMaterial({transparent:!0,color:3370495,opacity:0}));u.rotateY(ee),u.position.x=4.1,u.add(Re("右")),u.userData={longitude:ee,latitude:0};var l=new w.Mesh(a,new w.MeshBasicMaterial({transparent:!0,color:3370495,opacity:0}));l.rotateY(-ee),l.position.x=-4.1,l.add(Re("左")),l.userData={longitude:-ee,latitude:0};var g=new w.Mesh(a,new w.MeshBasicMaterial({transparent:!0,color:3370495,opacity:0}));g.rotateX(-ee),g.position.y=4.1,g.add(Re("上")),g.userData={longitude:0,latitude:ee},this.faces.add(t,s,l,u,g)},o.prototype.initControls=function(){var e=this.controls=new Ne(this.camera,this.renderer.domElement);e.enableZoom=!1,e.enableDamping=!0,e.enablePan=!1,e.maxPolarAngle=ee,e.dampingFactor=.15,e.rotateSpeed=.25},o.prototype.load=function(e){return Fe(this,void 0,void 0,function(){return Ue(this,function(a){return[2]})})},o.prototype._enable=function(e){var a=this.five.getCurrentState(),t=a.longitude,s=a.latitude;this.camera.setFromPose({longitude:t,latitude:s,distance:20,offset:new w.Vector3(0,0,0)}),this.updateByCamera(),this.wrapper.appendChild(this.renderer.domElement),this.wrapper.appendChild(this.css3drenderer.domElement),this.bindEvents()},o.prototype._disable=function(e){this.wrapper.removeChild(this.renderer.domElement),this.wrapper.removeChild(this.css3drenderer.domElement),this.unbindEvents()},o.prototype.enable=function(e){var a;if(!this.state.enabled){var t=(a=e==null?void 0:e.userAction)!==null&&a!==void 0?a:!0;this.updateState({enabled:!0},t),this._enable({userAction:t}),document.head.appendChild(this.style)}},o.prototype.disable=function(e){var a;if(this.state.enabled!==!1){var t=(a=e==null?void 0:e.userAction)!==null&&a!==void 0?a:!0;this.updateState({enabled:!1},t),this._disable({userAction:t}),document.head.removeChild(this.style)}},o}(q.BasePlugin.Controller),on=function(f,o){return new an(f,o)},sn=function(f){Le(o,f);function o(e,a){var t=f.call(this,e)||this;return t.data={},t.pluginName="BackgroundPlugin",t._onFiveCameraUpdate=function(s){var u=(Math.PI/2-Math.max(s.latitude,0))/(Math.PI/2),l=Math.max(.2-u,0)*10;t.gradientBg&&(t.gradientBg.style.transform="translateY(-".concat((1-u)*50,"%)")),t.groundBg&&(t.groundBg.style.backgroundImage="radial-gradient(circle, #2E303350 ".concat(l*100,"%, transparent ").concat(l*120,"%)"))},t._addEventListener=function(){t.five.on("cameraUpdate",t._onFiveCameraUpdate)},t._removeEventListener=function(){t.five.off("cameraUpdate",t._onFiveCameraUpdate)},t.load=function(){return Fe(t,void 0,void 0,function(){return Ue(this,function(s){return[2]})})},t.setState=function(s,u){},t.enable=function(){var s,u=(s=t.five.getElement())===null||s===void 0?void 0:s.parentNode;if(!u){t.five.ready().then(function(){return t.enable()});return}t.state.enabled||(t._onFiveCameraUpdate(t.five.getPose(),!1),t.gradientBg&&u.appendChild(t.gradientBg),t.groundBg&&u.appendChild(t.groundBg),t.style&&document.head.appendChild(t.style),t._addEventListener(),t.hooks.emit("enable",{userAction:!0}),t.state.enabled=!0)},t.disable=function(s){var u,l,g,d;t.state.enabled&&((l=(u=t.gradientBg)===null||u===void 0?void 0:u.parentNode)===null||l===void 0||l.removeChild(t.gradientBg),(d=(g=t.groundBg)===null||g===void 0?void 0:g.parentNode)===null||d===void 0||d.removeChild(t.groundBg),t.style&&document.head.removeChild(t.style),t._removeEventListener(),t.hooks.emit("disable",{userAction:!0}),t.state.enabled=!1)},t.dispose=function(){t._removeEventListener(),t.hooks.emit("disable",{userAction:!0}),t.state.enabled=!1},t.state={enabled:!1},typeof document=="undefined"||(t.gradientBg=document.createElement("div"),t.groundBg=document.createElement("div"),t.style=document.createElement("style"),t.gradientBg.className="BackgroundPluginBg",t.groundBg.className="BackgroundPluginGroundBg",t.style.innerHTML=`
|
|
487
487
|
.BackgroundPluginBg {
|
|
488
488
|
position: absolute;
|
|
489
489
|
top: 0;
|
|
@@ -504,4 +504,4 @@ void main() {
|
|
|
504
504
|
z-index: -1;
|
|
505
505
|
pointerEvents: none;
|
|
506
506
|
}
|
|
507
|
-
`,t.enable()),t}return o}(
|
|
507
|
+
`,t.enable()),t}return o}(Yt.BasePlugin.Controller),ln=function(f,o){return new sn(f,o)};new w.Matrix4().fromArray([1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1]);var ht=function(){function f(o,e,a,t,s){this.R=o,this.Q=e,this.A=a,this.B=t,this.C=s,this.cov=NaN,this.x=NaN}return f.prototype.filter=function(o,e){if(e===void 0&&(e=0),isNaN(this.x))this.x=1/this.C*o,this.cov=1/this.C*this.Q*(1/this.C);else{var a=this.A*this.x+this.B*e,t=this.A*this.cov*this.A+this.R,s=t*this.C*(1/(this.C*t*this.C+this.Q));this.x=a+s*(o-this.C*a),this.cov=t-s*this.C*t}return this.x},f}(),cn=function(f){Le(o,f);function o(e,a){var t=f.call(this,e)||this;t.dispose=function(){t.disable()},t.five=e;var s={enabled:!0,visible:!0};t.state=Object.assign(s,a==null?void 0:a.initialState);var u=K({},a==null?void 0:a.config);return t._config=u,t.state.enabled&&t._enable({userAction:!1}),t.cancelAnimation=null,t.skipStart=0,t.skipEnd=0,t.location=0,t.totalDistance=0,t.trajectory=null,t.currentKeyFrame=null,t.nextKeyframe=null,t.nextButOneKeyframe=null,t.keyframes=[],t.rate=t.config.rate||1,t.virualCamera=t.five.camera.clone(),t.playingState={keyframeIndex:null,progress:null},Object.defineProperties(t,{currentDistance:{get:function(){return this._currentDistance},set:function(l){this._currentDistance=l}}}),t}return Object.defineProperty(o.prototype,"config",{get:function(){return K({},this._config)},enumerable:!1,configurable:!0}),o.prototype.updateState=function(e,a){var t=this.state;this.state=K(K({},this.state),e),this.hooks.emit("stateChange",{state:this.state,prevState:t,userAction:a})},o.prototype.load=function(e){return Fe(this,void 0,void 0,function(){return Ue(this,function(a){return[2]})})},o.prototype.loadTrajectory=function(e){this.trajectory=e,this.cancelAnimation&&this.cancelAnimation(),this.playingState.keyframeIndex=null,this.playingState.progress=null;var a=.01,t=.1,s=1,u=0,l=1,g=new ht(a,t,s,u,l),d=new ht(a,t,s,u,l),v=new ht(a,t,s,u,l);if(this.trajectory&&this.trajectory.content.loadState==="READY"){var T=this.trajectory.content.data.object.line.geometry.attributes.position,M=this.trajectory.content.data.object.line.geometry.attributes.lineDistance;this.totalDistance=M.array[M.array.length-1];for(var C=0;C<M.array.length;C++){for(var O=new w.Vector3(0,0,0),A=0,N=C-5;N<C+6;N++)N>=0&&N<M.array.length&&(O.add(new w.Vector3(T.array[N*3],T.array[N*3+1],T.array[N*3+2])),A++);O.divideScalar(A).applyMatrix4(e.transform);var y=g.filter(O.x),b=d.filter(O.y),P=v.filter(O.z),p={position:new w.Vector3(y,b,P),location:M.array[C]};this.keyframes.push(p)}}else throw new Error("trajectory content is not ready")},o.prototype.setPlayingState=function(e){(e.keyframeIndex!==null||e.progress!==null)&&(this.cancelAnimation&&this.cancelAnimation(),this.playingState.keyframeIndex=e.keyframeIndex?e.keyframeIndex:this.playingState.keyframeIndex,this.playingState.progress=e.progress?e.progress:this.playingState.progress,this.play())},o.prototype._enable=function(e){},o.prototype.play=function(){var e=this,a=this.keyframes.length;if(a<2)throw new Error("keyframes length must be greater than 2");var t={keyframeIndex:null,progress:null};this.playingState.keyframeIndex!==null&&this.playingState.progress!==null?(t.keyframeIndex=this.playingState.keyframeIndex,t.progress=this.playingState.progress):this.playingState.keyframeIndex===null&&this.playingState.progress===null&&(this.playingState.keyframeIndex=this.skipStart,this.playingState.progress=0,this.virualCamera.position.copy(this.keyframes[this.playingState.keyframeIndex].position.clone()),this.virualCamera.lookAt(this.keyframes[1].position.clone()),this.virualCamera.computePose(),this.five.setState(K({},this.virualCamera.pose)));var s=this.playingState.keyframeIndex,u=0;this.cancelAnimation=Ee.AnimationFrameLoop.shared.add(function(l,g){if(s===a-1-e.skipEnd&&e.cancelAnimation){e.cancelAnimation();return}e.currentKeyFrame=e.keyframes[s],e.nextKeyframe=e.keyframes[s+1],s+2<=a-1?e.nextButOneKeyframe=e.keyframes[s+2]:e.nextButOneKeyframe=null;var d=e.currentKeyFrame.position.clone(),v=e.nextKeyframe.position.clone(),T=e.nextKeyframe.position.clone().sub(e.currentKeyFrame.position.clone()).normalize(),M=d.clone().add(T.clone().multiplyScalar(.01)),C=new w.Vector3;e.nextButOneKeyframe!==null?C=e.nextButOneKeyframe.position.clone().sub(e.nextKeyframe.position.clone()).normalize():C.copy(T);var O=v.clone().add(C.clone().multiplyScalar(.01));u+=g/1e3*e.rate;var A=u/d.distanceTo(v);A=A>=1?1:A,t.keyframeIndex!==null&&t.progress!==null&&(A=t.progress,t.keyframeIndex=null,t.progress=null);var N=d.clone().lerp(v,A),y=M.clone().lerp(O,A);e.virualCamera.position.copy(N),e.virualCamera.lookAt(y),e.virualCamera.updateMatrixWorld(),e.virualCamera.updateMatrix(),e.virualCamera.computePose(),e.five.setState(K({},e.virualCamera.pose)),e.location=e.keyframes[s].location+d.clone().distanceTo(N),A===1?(u=0,s++,e.playingState.keyframeIndex=s,e.playingState.progress=0):(e.playingState.keyframeIndex=s,e.playingState.progress=A)})},o.prototype.pause=function(){this.cancelAnimation&&this.cancelAnimation()},o.prototype.findKeyFrameByLocation=function(e){if(this.keyframes.length!==0){for(var a=0,t=this.keyframes.length-1;a<=t;){var s=Math.floor((a+t)/2);if(this.keyframes[s].location===e)return s;this.keyframes[s].location<e?a=s+1:t=s-1}return{keyframeIndex:a-1,progress:0}}},o.prototype.resetPlayingState=function(){this.playingState.keyframeIndex=null,this.playingState.progress=null},o.prototype._disable=function(e){},o.prototype.enable=function(e){var a;if(!this.state.enabled){var t=(a=e==null?void 0:e.userAction)!==null&&a!==void 0?a:!0;this.updateState({enabled:!0},t),this._enable({userAction:t})}},o.prototype.disable=function(e){var a;if(this.state.enabled!==!1){var t=(a=e==null?void 0:e.userAction)!==null&&a!==void 0?a:!0;this.updateState({enabled:!1},t),this._disable({userAction:t})}},o}(q.BasePlugin.Controller),un=function(f,o){return new cn(f,o)};q.BackgroundPlugin=ln,q.CSS3DRenderer=xt,q.ItemMaskPlugin=nn,q.OrbitControls=Ne,q.OrientationPlugin=on,q.RoundedBoxGeometry=Ot,q.TrajectoryPlugin=un,Object.defineProperty(q,Symbol.toStringTag,{value:"Module"})});
|
package/umd/five-react.js
CHANGED
package/umd/five-sticker.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated: 11/
|
|
5
|
-
* Version: 6.3.0-alpha.
|
|
4
|
+
* Generated: 2024/11/14
|
|
5
|
+
* Version: 6.3.0-alpha.6
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -252,4 +252,4 @@
|
|
|
252
252
|
* No amendment to or modification of this Agreement will be binding unless in
|
|
253
253
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
254
254
|
* Agreement and all related documents shall be drafted in English.
|
|
255
|
-
*/(function(s,u){typeof exports=="object"&&typeof module!="undefined"?u(exports,require("three")):typeof define=="function"&&define.amd?define(["exports","three"],u):(s=typeof globalThis!="undefined"?globalThis:s||self,u(s.FiveSDK_Sticker={},s.THREE))})(this,function(s,u){"use strict";function w(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,r.get?r:{enumerable:!0,get:()=>t[e]})}}return n.default=t,Object.freeze(n)}const o=w(u);var m=function(t,n){return m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])},m(t,n)};function T(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");m(t,n);function e(){this.constructor=t}t.prototype=n===null?Object.create(n):(e.prototype=n.prototype,new e)}typeof SuppressedError=="function"&&SuppressedError;var E=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),_=new Float32Array([0,0,1,0,0,1,1,1]),R=new Uint8Array([0,1,2,1,3,2]),c=new o.BufferGeometry;c.setAttribute("position",new o.BufferAttribute(E,3)),c.setAttribute("uv",new o.BufferAttribute(_,2)),c.setIndex(new o.BufferAttribute(R,1));var l=window,g=l.requestAnimationFrame||l.mozRequestAnimationFrame||l.webkitRequestAnimationFrame||l.msRequestAnimationFrame||function(t){return setTimeout(t,16)},S=typeof performance!="undefined"&&typeof performance.timing!="undefined"?performance.timing.navigationStart:Date.now(),v=typeof performance!="undefined"?function(){return S+performance.now()}:function(){return Date.now()};function A(t,n){t.naturalWidth>0&&g(function(){return n()});var e=function(){return n()};return t.addEventListener("load",e,!1),function(){return t.removeEventListener("load",e,!1)}}function b(t,n){var e=v(),r=!1,i=function(){r=!0,n();var f=v();f-e<3e3?g(i):r=!1},a=function(){e=v(),r===!1&&i()};return t.addEventListener("timeupdate",a,!1),function(){t.removeEventListener("timeupdate",a,!1),r=!1}}function h(t,n){var e=t.dispose;t.dispose=function(){n(),e.call(t)}}var O=function(t){T(n,t);function n(e,r,i){var a=this,f=new o.MeshBasicMaterial;if(a=t.call(this,c,f)||this,a._needsRender=!1,a.scale.set(e,r,1),typeof i=="string"){f.transparent=/\.png$/.test(i);var y=new Image;y.src=i,y.crossOrigin="",i=y}if(i instanceof HTMLImageElement){var p=f.map=new o.Texture;p.wrapS=o.ClampToEdgeWrapping,p.wrapT=o.ClampToEdgeWrapping,p.minFilter=o.LinearFilter,p.encoding=o.sRGBEncoding,h(p,A(i,function(){p.image=i,p.needsUpdate=!0,a._needsRender=!0}))}else if(i instanceof HTMLCanvasElement)f.map=new o.CanvasTexture(i);else if(i instanceof HTMLVideoElement){var d=f.map=new o.VideoTexture(i);d.wrapS=o.ClampToEdgeWrapping,d.wrapT=o.ClampToEdgeWrapping,d.minFilter=o.LinearFilter,d.encoding=o.sRGBEncoding,h(d,b(i,function(){a._needsRender=!0}))}return a}return Object.defineProperty(n,"version",{get:function(){return"6.3.0-alpha.
|
|
255
|
+
*/(function(s,u){typeof exports=="object"&&typeof module!="undefined"?u(exports,require("three")):typeof define=="function"&&define.amd?define(["exports","three"],u):(s=typeof globalThis!="undefined"?globalThis:s||self,u(s.FiveSDK_Sticker={},s.THREE))})(this,function(s,u){"use strict";function w(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,r.get?r:{enumerable:!0,get:()=>t[e]})}}return n.default=t,Object.freeze(n)}const o=w(u);var m=function(t,n){return m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])},m(t,n)};function T(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");m(t,n);function e(){this.constructor=t}t.prototype=n===null?Object.create(n):(e.prototype=n.prototype,new e)}typeof SuppressedError=="function"&&SuppressedError;var E=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),_=new Float32Array([0,0,1,0,0,1,1,1]),R=new Uint8Array([0,1,2,1,3,2]),c=new o.BufferGeometry;c.setAttribute("position",new o.BufferAttribute(E,3)),c.setAttribute("uv",new o.BufferAttribute(_,2)),c.setIndex(new o.BufferAttribute(R,1));var l=window,g=l.requestAnimationFrame||l.mozRequestAnimationFrame||l.webkitRequestAnimationFrame||l.msRequestAnimationFrame||function(t){return setTimeout(t,16)},S=typeof performance!="undefined"&&typeof performance.timing!="undefined"?performance.timing.navigationStart:Date.now(),v=typeof performance!="undefined"?function(){return S+performance.now()}:function(){return Date.now()};function A(t,n){t.naturalWidth>0&&g(function(){return n()});var e=function(){return n()};return t.addEventListener("load",e,!1),function(){return t.removeEventListener("load",e,!1)}}function b(t,n){var e=v(),r=!1,i=function(){r=!0,n();var f=v();f-e<3e3?g(i):r=!1},a=function(){e=v(),r===!1&&i()};return t.addEventListener("timeupdate",a,!1),function(){t.removeEventListener("timeupdate",a,!1),r=!1}}function h(t,n){var e=t.dispose;t.dispose=function(){n(),e.call(t)}}var O=function(t){T(n,t);function n(e,r,i){var a=this,f=new o.MeshBasicMaterial;if(a=t.call(this,c,f)||this,a._needsRender=!1,a.scale.set(e,r,1),typeof i=="string"){f.transparent=/\.png$/.test(i);var y=new Image;y.src=i,y.crossOrigin="",i=y}if(i instanceof HTMLImageElement){var p=f.map=new o.Texture;p.wrapS=o.ClampToEdgeWrapping,p.wrapT=o.ClampToEdgeWrapping,p.minFilter=o.LinearFilter,p.encoding=o.sRGBEncoding,h(p,A(i,function(){p.image=i,p.needsUpdate=!0,a._needsRender=!0}))}else if(i instanceof HTMLCanvasElement)f.map=new o.CanvasTexture(i);else if(i instanceof HTMLVideoElement){var d=f.map=new o.VideoTexture(i);d.wrapS=o.ClampToEdgeWrapping,d.wrapT=o.ClampToEdgeWrapping,d.minFilter=o.LinearFilter,d.encoding=o.sRGBEncoding,h(d,b(i,function(){a._needsRender=!0}))}return a}return Object.defineProperty(n,"version",{get:function(){return"6.3.0-alpha.6"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"needsRender",{get:function(){return this._needsRender},set:function(e){this._needsRender=e,e===!0&&this.material.map&&(this.material.map.needsUpdate=!0)},enumerable:!1,configurable:!0}),n.prototype.setSize=function(e,r){this.scale.set(e,r,1),this._needsRender=!0},n.prototype.setTransparent=function(e){this.material.transparent=e,this._needsRender=!0},n.prototype.locationWithIntersection=function(e,r){r===void 0&&(r=.005);var i=e.point,a=e.face;this.position.copy(i),a&&(this.position.add(a.normal.clone().setLength(r)),this.lookAt(i.clone().add(a.normal))),this._needsRender=!0},n.prototype.dispose=function(){var e;(e=this.material.map)===null||e===void 0||e.dispose(),this.material.dispose()},n}(o.Mesh);s.Sticker=O,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
|
package/umd/five-vfx.js
CHANGED