fengmap.plugins-track-player.min.js 33.6 KB
/**Released Version v3.1.2,BUILD 8,Time 1681293328606. Fengmap Javascript SDK , see: https://www.fengmap.com for details**/
!function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i():"function"==typeof define&&define.amd?define([],i):"object"==typeof exports?exports.fengmap=i():t.fengmap=i()}(this,function(){return h={},e.m=s=[function(t,i,s){"use strict";function e(t,i){for(var s=0;s<i.length;s++){var h=i[s];h.enumerable=h.enumerable||!1,h.configurable=!0,"value"in h&&(h.writable=!0),Object.defineProperty(t,h.key,h)}}s.r(i);for(var c=function(){function s(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,s),Object.defineProperty(this,"isVector2",{value:!0}),this.x=t,this.y=i}var t,i,h;return t=s,(i=[{key:"width",get:function(){return this.x},set:function(t){this.x=t}},{key:"height",get:function(){return this.y},set:function(t){this.y=t}},{key:"set",value:function(t,i){return this.x=t,this.y=i,this}},{key:"setScalar",value:function(t){return this.x=t,this.y=t,this}},{key:"setX",value:function(t){return this.x=t,this}},{key:"setY",value:function(t){return this.y=t,this}},{key:"setComponent",value:function(t,i){switch(t){case 0:this.x=i;break;case 1:this.y=i;break;default:throw new Error("index is out of range: "+t)}return this}},{key:"getComponent",value:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}},{key:"clone",value:function(){return new this.constructor(this.x,this.y)}},{key:"copy",value:function(t){return this.x=t.x,this.y=t.y,this}},{key:"add",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,i)):(this.x+=t.x,this.y+=t.y,this)}},{key:"addScalar",value:function(t){return this.x+=t,this.y+=t,this}},{key:"addVectors",value:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this}},{key:"addScaledVector",value:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this}},{key:"sub",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,i)):(this.x-=t.x,this.y-=t.y,this)}},{key:"subScalar",value:function(t){return this.x-=t,this.y-=t,this}},{key:"subVectors",value:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this}},{key:"multiply",value:function(t){return this.x*=t.x,this.y*=t.y,this}},{key:"multiplyScalar",value:function(t){return this.x*=t,this.y*=t,this}},{key:"divide",value:function(t){return this.x/=t.x,this.y/=t.y,this}},{key:"divideScalar",value:function(t){return this.multiplyScalar(1/t)}},{key:"applyMatrix3",value:function(t){var i=this.x,s=this.y,t=t.elements;return this.x=t[0]*i+t[3]*s+t[6],this.y=t[1]*i+t[4]*s+t[7],this}},{key:"min",value:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}},{key:"max",value:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}},{key:"clamp",value:function(t,i){return this.x=Math.max(t.x,Math.min(i.x,this.x)),this.y=Math.max(t.y,Math.min(i.y,this.y)),this}},{key:"clampScalar",value:function(t,i){return this.x=Math.max(t,Math.min(i,this.x)),this.y=Math.max(t,Math.min(i,this.y)),this}},{key:"clampLength",value:function(t,i){var s=this.length();return this.divideScalar(s||1).multiplyScalar(Math.max(t,Math.min(i,s)))}},{key:"floor",value:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}},{key:"ceil",value:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}},{key:"round",value:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},{key:"roundToZero",value:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}},{key:"negate",value:function(){return this.x=-this.x,this.y=-this.y,this}},{key:"dot",value:function(t){return this.x*t.x+this.y*t.y}},{key:"cross",value:function(t){return this.x*t.y-this.y*t.x}},{key:"lengthSq",value:function(){return this.x*this.x+this.y*this.y}},{key:"length",value:function(){return Math.sqrt(this.x*this.x+this.y*this.y)}},{key:"manhattanLength",value:function(){return Math.abs(this.x)+Math.abs(this.y)}},{key:"normalize",value:function(){return this.divideScalar(this.length()||1)}},{key:"angle",value:function(){return Math.atan2(-this.y,-this.x)+Math.PI}},{key:"distanceTo",value:function(t){return Math.sqrt(this.distanceToSquared(t))}},{key:"distanceToSquared",value:function(t){var i=this.x-t.x,t=this.y-t.y;return i*i+t*t}},{key:"manhattanDistanceTo",value:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}},{key:"setLength",value:function(t){return this.normalize().multiplyScalar(t)}},{key:"lerp",value:function(t,i){return this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i,this}},{key:"lerpVectors",value:function(t,i,s){return this.x=t.x+(i.x-t.x)*s,this.y=t.y+(i.y-t.y)*s,this}},{key:"equals",value:function(t){return t.x===this.x&&t.y===this.y}},{key:"fromArray",value:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return this.x=t[i],this.y=t[i+1],this}},{key:"toArray",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return t[i]=this.x,t[i+1]=this.y,t}},{key:"fromBufferAttribute",value:function(t,i,s){return void 0!==s&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(i),this.y=t.getY(i),this}},{key:"rotateAround",value:function(t,i){var s=Math.cos(i),h=Math.sin(i),e=this.x-t.x,i=this.y-t.y;return this.x=e*s-i*h+t.x,this.y=e*h+i*s+t.y,this}},{key:"random",value:function(){return this.x=Math.random(),this.y=Math.random(),this}}])&&e(t.prototype,i),h&&e(t,h),s}(),n=[],h=0;h<256;h++)n[h]=(h<16?"0":"")+h.toString(16);var r=1234567,u={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var t=4294967295*Math.random()|0,i=4294967295*Math.random()|0,s=4294967295*Math.random()|0,h=4294967295*Math.random()|0;return(n[255&t]+n[t>>8&255]+n[t>>16&255]+n[t>>24&255]+"-"+n[255&i]+n[i>>8&255]+"-"+n[i>>16&15|64]+n[i>>24&255]+"-"+n[63&s|128]+n[s>>8&255]+"-"+n[s>>16&255]+n[s>>24&255]+n[255&h]+n[h>>8&255]+n[h>>16&255]+n[h>>24&255]).toUpperCase()},clamp:function(t,i,s){return Math.max(i,Math.min(s,t))},euclideanModulo:function(t,i){return(t%i+i)%i},mapLinear:function(t,i,s,h,e){return h+(t-i)*(e-h)/(s-i)},lerp:function(t,i,s){return(1-s)*t+s*i},smoothstep:function(t,i,s){return t<=i?0:s<=t?1:(t=(t-i)/(s-i))*t*(3-2*t)},smootherstep:function(t,i,s){return t<=i?0:s<=t?1:(t=(t-i)/(s-i))*t*t*(t*(6*t-15)+10)},randInt:function(t,i){return t+Math.floor(Math.random()*(i-t+1))},randFloat:function(t,i){return t+Math.random()*(i-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return((r=16807*(r=void 0!==t?t%2147483647:r)%2147483647)-1)/2147483646},degToRad:function(t){return t*u.DEG2RAD},radToDeg:function(t){return t*u.RAD2DEG},isPowerOfTwo:function(t){return 0==(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,i,s,h,e){var n=Math.cos,r=Math.sin,u=n(s/2),a=r(s/2),o=n((i+h)/2),l=r((i+h)/2),c=n((i-h)/2),f=r((i-h)/2),v=n((h-i)/2),y=r((h-i)/2);switch(e){case"XYX":t.set(u*l,a*c,a*f,u*o);break;case"YZY":t.set(a*f,u*l,a*c,u*o);break;case"ZXZ":t.set(a*c,a*f,u*l,u*o);break;case"XZX":t.set(u*l,a*y,a*v,u*o);break;case"YXY":t.set(a*v,u*l,a*y,u*o);break;case"ZYZ":t.set(a*y,a*v,u*l,u*o);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+e)}}};function a(t,i){for(var s=0;s<i.length;s++){var h=i[s];h.enumerable=h.enumerable||!1,h.configurable=!0,"value"in h&&(h.writable=!0),Object.defineProperty(t,h.key,h)}}var o=function(){function e(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,s=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,h=3<arguments.length&&void 0!==arguments[3]?arguments[3]:1;!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,e),Object.defineProperty(this,"isQuaternion",{value:!0}),this.h=t,this.e=i,this.u=s,this.a=h}var t,i,s;return t=e,s=[{key:"slerp",value:function(t,i,s,h){return s.copy(t).slerp(i,h)}},{key:"slerpFlat",value:function(t,i,s,h,e,n,r){var u=s[h+0],a=s[h+1],o=s[h+2],l=s[h+3],c=e[n+0],f=e[n+1],v=e[n+2],y=e[n+3];l===y&&u===c&&a===f&&o===v||(s=1-r,e=0<=(h=u*c+a*f+o*v+l*y)?1:-1,(n=1-h*h)>Number.EPSILON&&(n=Math.sqrt(n),h=Math.atan2(n,h*e),s=Math.sin(s*h)/n,r=Math.sin(r*h)/n),u=u*s+c*(e=r*e),a=a*s+f*e,o=o*s+v*e,l=l*s+y*e,s===1-r&&(u*=r=1/Math.sqrt(u*u+a*a+o*o+l*l),a*=r,o*=r,l*=r)),t[i]=u,t[i+1]=a,t[i+2]=o,t[i+3]=l}},{key:"multiplyQuaternionsFlat",value:function(t,i,s,h,e,n){var r=s[h],u=s[h+1],a=s[h+2],o=s[h+3],l=e[n],s=e[n+1],h=e[n+2],n=e[n+3];return t[i]=r*n+o*l+u*h-a*s,t[i+1]=u*n+o*s+a*l-r*h,t[i+2]=a*n+o*h+r*s-u*l,t[i+3]=o*n-r*l-u*s-a*h,t}}],(i=[{key:"x",get:function(){return this.h},set:function(t){this.h=t,this.f()}},{key:"y",get:function(){return this.e},set:function(t){this.e=t,this.f()}},{key:"z",get:function(){return this.u},set:function(t){this.u=t,this.f()}},{key:"w",get:function(){return this.a},set:function(t){this.a=t,this.f()}},{key:"set",value:function(t,i,s,h){return this.h=t,this.e=i,this.u=s,this.a=h,this.f(),this}},{key:"clone",value:function(){return new this.constructor(this.h,this.e,this.u,this.a)}},{key:"copy",value:function(t){return this.h=t.x,this.e=t.y,this.u=t.z,this.a=t.w,this.f(),this}},{key:"setFromEuler",value:function(t,i){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var s=t.h,h=t.e,e=t.u,n=t.v,r=Math.cos,t=Math.sin,u=r(s/2),a=r(h/2),o=r(e/2),l=t(s/2),c=t(h/2),f=t(e/2);switch(n){case"XYZ":this.h=l*a*o+u*c*f,this.e=u*c*o-l*a*f,this.u=u*a*f+l*c*o,this.a=u*a*o-l*c*f;break;case"YXZ":this.h=l*a*o+u*c*f,this.e=u*c*o-l*a*f,this.u=u*a*f-l*c*o,this.a=u*a*o+l*c*f;break;case"ZXY":this.h=l*a*o-u*c*f,this.e=u*c*o+l*a*f,this.u=u*a*f+l*c*o,this.a=u*a*o-l*c*f;break;case"ZYX":this.h=l*a*o-u*c*f,this.e=u*c*o+l*a*f,this.u=u*a*f-l*c*o,this.a=u*a*o+l*c*f;break;case"YZX":this.h=l*a*o+u*c*f,this.e=u*c*o+l*a*f,this.u=u*a*f-l*c*o,this.a=u*a*o-l*c*f;break;case"XZY":this.h=l*a*o-u*c*f,this.e=u*c*o-l*a*f,this.u=u*a*f+l*c*o,this.a=u*a*o+l*c*f;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+n)}return!1!==i&&this.f(),this}},{key:"setFromAxisAngle",value:function(t,i){var s=i/2,i=Math.sin(s);return this.h=t.x*i,this.e=t.y*i,this.u=t.z*i,this.a=Math.cos(s),this.f(),this}},{key:"setFromRotationMatrix",value:function(t){var i,s=t.elements,h=s[0],e=s[4],n=s[8],r=s[1],u=s[5],a=s[9],o=s[2],l=s[6],t=s[10],s=h+u+t;return 0<s?(s=.5/Math.sqrt(s+1),this.a=.25/s,this.h=(l-a)*s,this.e=(n-o)*s,this.u=(r-e)*s):u<h&&t<h?(i=2*Math.sqrt(1+h-u-t),this.a=(l-a)/i,this.h=.25*i,this.e=(e+r)/i,this.u=(n+o)/i):t<u?(i=2*Math.sqrt(1+u-h-t),this.a=(n-o)/i,this.h=(e+r)/i,this.e=.25*i,this.u=(a+l)/i):(u=2*Math.sqrt(1+t-h-u),this.a=(r-e)/u,this.h=(n+o)/u,this.e=(a+l)/u,this.u=.25*u),this.f(),this}},{key:"setFromUnitVectors",value:function(t,i){var s=t.dot(i)+1;return s<1e-6?(s=0,Math.abs(t.x)>Math.abs(t.z)?(this.h=-t.y,this.e=t.x,this.u=0):(this.h=0,this.e=-t.z,this.u=t.y)):(this.h=t.y*i.z-t.z*i.y,this.e=t.z*i.x-t.x*i.z,this.u=t.x*i.y-t.y*i.x),this.a=s,this.normalize()}},{key:"angleTo",value:function(t){return 2*Math.acos(Math.abs(u.clamp(this.dot(t),-1,1)))}},{key:"rotateTowards",value:function(t,i){var s=this.angleTo(t);if(0===s)return this;s=Math.min(1,i/s);return this.slerp(t,s),this}},{key:"identity",value:function(){return this.set(0,0,0,1)}},{key:"invert",value:function(){return this.conjugate()}},{key:"conjugate",value:function(){return this.h*=-1,this.e*=-1,this.u*=-1,this.f(),this}},{key:"dot",value:function(t){return this.h*t.h+this.e*t.e+this.u*t.u+this.a*t.a}},{key:"lengthSq",value:function(){return this.h*this.h+this.e*this.e+this.u*this.u+this.a*this.a}},{key:"length",value:function(){return Math.sqrt(this.h*this.h+this.e*this.e+this.u*this.u+this.a*this.a)}},{key:"normalize",value:function(){var t=this.length();return 0===t?(this.h=0,this.e=0,this.u=0,this.a=1):(this.h=this.h*(t=1/t),this.e=this.e*t,this.u=this.u*t,this.a=this.a*t),this.f(),this}},{key:"multiply",value:function(t,i){return void 0!==i?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,i)):this.multiplyQuaternions(this,t)}},{key:"premultiply",value:function(t){return this.multiplyQuaternions(t,this)}},{key:"multiplyQuaternions",value:function(t,i){var s=t.h,h=t.e,e=t.u,n=t.a,r=i.h,u=i.e,t=i.u,i=i.a;return this.h=s*i+n*r+h*t-e*u,this.e=h*i+n*u+e*r-s*t,this.u=e*i+n*t+s*u-h*r,this.a=n*i-s*r-h*u-e*t,this.f(),this}},{key:"slerp",value:function(t,i){if(0===i)return this;if(1===i)return this.copy(t);var s=this.h,h=this.e,e=this.u,n=this.a,r=n*t.a+s*t.h+h*t.e+e*t.u;if(r<0?(this.a=-t.a,this.h=-t.h,this.e=-t.e,this.u=-t.u,r=-r):this.copy(t),1<=r)return this.a=n,this.h=s,this.e=h,this.u=e,this;t=1-r*r;if(t<=Number.EPSILON){var u=1-i;return this.a=u*n+i*this.a,this.h=u*s+i*this.h,this.e=u*h+i*this.e,this.u=u*e+i*this.u,this.normalize(),this.f(),this}u=Math.sqrt(t),t=Math.atan2(u,r),r=Math.sin((1-i)*t)/u,u=Math.sin(i*t)/u;return this.a=n*r+this.a*u,this.h=s*r+this.h*u,this.e=h*r+this.e*u,this.u=e*r+this.u*u,this.f(),this}},{key:"equals",value:function(t){return t.h===this.h&&t.e===this.e&&t.u===this.u&&t.a===this.a}},{key:"fromArray",value:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return this.h=t[i],this.e=t[i+1],this.u=t[i+2],this.a=t[i+3],this.f(),this}},{key:"toArray",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return t[i]=this.h,t[i+1]=this.e,t[i+2]=this.u,t[i+3]=this.a,t}},{key:"fromBufferAttribute",value:function(t,i){return this.h=t.getX(i),this.e=t.getY(i),this.u=t.getZ(i),this.a=t.getW(i),this}},{key:"_onChange",value:function(t){return this.f=t,this}},{key:"_onChangeCallback",value:function(){}}])&&a(t.prototype,i),s&&a(t,s),e}();function l(t,i){for(var s=0;s<i.length;s++){var h=i[s];h.enumerable=h.enumerable||!1,h.configurable=!0,"value"in h&&(h.writable=!0),Object.defineProperty(t,h.key,h)}}var y=function(){function h(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,s=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0;!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,h),Object.defineProperty(this,"isVector3",{value:!0}),this.x=t,this.y=i,this.z=s}var t,i,s;return t=h,(i=[{key:"set",value:function(t,i,s){return void 0===s&&(s=this.z),this.x=t,this.y=i,this.z=s,this}},{key:"setScalar",value:function(t){return this.x=t,this.y=t,this.z=t,this}},{key:"setX",value:function(t){return this.x=t,this}},{key:"setY",value:function(t){return this.y=t,this}},{key:"setZ",value:function(t){return this.z=t,this}},{key:"setComponent",value:function(t,i){switch(t){case 0:this.x=i;break;case 1:this.y=i;break;case 2:this.z=i;break;default:throw new Error("index is out of range: "+t)}return this}},{key:"getComponent",value:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}},{key:"clone",value:function(){return new this.constructor(this.x,this.y,this.z)}},{key:"copy",value:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}},{key:"add",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,i)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)}},{key:"addScalar",value:function(t){return this.x+=t,this.y+=t,this.z+=t,this}},{key:"addVectors",value:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this.z=t.z+i.z,this}},{key:"addScaledVector",value:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this.z+=t.z*i,this}},{key:"sub",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,i)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)}},{key:"subScalar",value:function(t){return this.x-=t,this.y-=t,this.z-=t,this}},{key:"subVectors",value:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this.z=t.z-i.z,this}},{key:"multiply",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,i)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)}},{key:"multiplyScalar",value:function(t){return this.x*=t,this.y*=t,this.z*=t,this}},{key:"multiplyVectors",value:function(t,i){return this.x=t.x*i.x,this.y=t.y*i.y,this.z=t.z*i.z,this}},{key:"applyEuler",value:function(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(v.setFromEuler(t))}},{key:"applyAxisAngle",value:function(t,i){return this.applyQuaternion(v.setFromAxisAngle(t,i))}},{key:"applyMatrix3",value:function(t){var i=this.x,s=this.y,h=this.z,t=t.elements;return this.x=t[0]*i+t[3]*s+t[6]*h,this.y=t[1]*i+t[4]*s+t[7]*h,this.z=t[2]*i+t[5]*s+t[8]*h,this}},{key:"applyNormalMatrix",value:function(t){return this.applyMatrix3(t).normalize()}},{key:"applyMatrix4",value:function(t){var i=this.x,s=this.y,h=this.z,e=t.elements,t=1/(e[3]*i+e[7]*s+e[11]*h+e[15]);return this.x=(e[0]*i+e[4]*s+e[8]*h+e[12])*t,this.y=(e[1]*i+e[5]*s+e[9]*h+e[13])*t,this.z=(e[2]*i+e[6]*s+e[10]*h+e[14])*t,this}},{key:"applyQuaternion",value:function(t){var i=this.x,s=this.y,h=this.z,e=t.x,n=t.y,r=t.z,u=t.w,a=u*i+n*h-r*s,o=u*s+r*i-e*h,t=u*h+e*s-n*i,h=-e*i-n*s-r*h;return this.x=a*u+h*-e+o*-r-t*-n,this.y=o*u+h*-n+t*-e-a*-r,this.z=t*u+h*-r+a*-n-o*-e,this}},{key:"project",value:function(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}},{key:"unproject",value:function(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}},{key:"transformDirection",value:function(t){var i=this.x,s=this.y,h=this.z,t=t.elements;return this.x=t[0]*i+t[4]*s+t[8]*h,this.y=t[1]*i+t[5]*s+t[9]*h,this.z=t[2]*i+t[6]*s+t[10]*h,this.normalize()}},{key:"divide",value:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}},{key:"divideScalar",value:function(t){return this.multiplyScalar(1/t)}},{key:"min",value:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}},{key:"max",value:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}},{key:"clamp",value:function(t,i){return this.x=Math.max(t.x,Math.min(i.x,this.x)),this.y=Math.max(t.y,Math.min(i.y,this.y)),this.z=Math.max(t.z,Math.min(i.z,this.z)),this}},{key:"clampScalar",value:function(t,i){return this.x=Math.max(t,Math.min(i,this.x)),this.y=Math.max(t,Math.min(i,this.y)),this.z=Math.max(t,Math.min(i,this.z)),this}},{key:"clampLength",value:function(t,i){var s=this.length();return this.divideScalar(s||1).multiplyScalar(Math.max(t,Math.min(i,s)))}},{key:"floor",value:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}},{key:"ceil",value:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}},{key:"round",value:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}},{key:"roundToZero",value:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}},{key:"negate",value:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}},{key:"dot",value:function(t){return this.x*t.x+this.y*t.y+this.z*t.z}},{key:"lengthSq",value:function(){return this.x*this.x+this.y*this.y+this.z*this.z}},{key:"length",value:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}},{key:"manhattanLength",value:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}},{key:"normalize",value:function(){return this.divideScalar(this.length()||1)}},{key:"setLength",value:function(t){return this.normalize().multiplyScalar(t)}},{key:"lerp",value:function(t,i){return this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i,this.z+=(t.z-this.z)*i,this}},{key:"lerpVectors",value:function(t,i,s){return this.x=t.x+(i.x-t.x)*s,this.y=t.y+(i.y-t.y)*s,this.z=t.z+(i.z-t.z)*s,this}},{key:"cross",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,i)):this.crossVectors(this,t)}},{key:"crossVectors",value:function(t,i){var s=t.x,h=t.y,e=t.z,n=i.x,t=i.y,i=i.z;return this.x=h*i-e*t,this.y=e*n-s*i,this.z=s*t-h*n,this}},{key:"projectOnVector",value:function(t){var i=t.lengthSq();if(0===i)return this.set(0,0,0);i=t.dot(this)/i;return this.copy(t).multiplyScalar(i)}},{key:"projectOnPlane",value:function(t){return f.copy(this).projectOnVector(t),this.sub(f)}},{key:"reflect",value:function(t){return this.sub(f.copy(t).multiplyScalar(2*this.dot(t)))}},{key:"angleTo",value:function(t){var i=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===i)return Math.PI/2;i=this.dot(t)/i;return Math.acos(u.clamp(i,-1,1))}},{key:"distanceTo",value:function(t){return Math.sqrt(this.distanceToSquared(t))}},{key:"distanceToSquared",value:function(t){var i=this.x-t.x,s=this.y-t.y,t=this.z-t.z;return i*i+s*s+t*t}},{key:"manhattanDistanceTo",value:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}},{key:"setFromSpherical",value:function(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}},{key:"setFromSphericalCoords",value:function(t,i,s){var h=Math.sin(i)*t;return this.x=h*Math.sin(s),this.y=Math.cos(i)*t,this.z=h*Math.cos(s),this}},{key:"setFromCylindrical",value:function(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}},{key:"setFromCylindricalCoords",value:function(t,i,s){return this.x=t*Math.sin(i),this.y=s,this.z=t*Math.cos(i),this}},{key:"setFromMatrixPosition",value:function(t){t=t.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}},{key:"setFromMatrixScale",value:function(t){var i=this.setFromMatrixColumn(t,0).length(),s=this.setFromMatrixColumn(t,1).length(),t=this.setFromMatrixColumn(t,2).length();return this.x=i,this.y=s,this.z=t,this}},{key:"setFromMatrixColumn",value:function(t,i){return this.fromArray(t.elements,4*i)}},{key:"setFromMatrix3Column",value:function(t,i){return this.fromArray(t.elements,3*i)}},{key:"equals",value:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}},{key:"fromArray",value:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return this.x=t[i],this.y=t[i+1],this.z=t[i+2],this}},{key:"toArray",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return t[i]=this.x,t[i+1]=this.y,t[i+2]=this.z,t}},{key:"fromBufferAttribute",value:function(t,i,s){return void 0!==s&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(i),this.y=t.getY(i),this.z=t.getZ(i),this}},{key:"random",value:function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}])&&l(t.prototype,i),s&&l(t,s),h}(),f=new y,v=new o;function k(t,i,s){return i in t?Object.defineProperty(t,i,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[i]=s,t}function d(t,i){for(var s=0;s<i.length;s++){var h=i[s];h.enumerable=h.enumerable||!1,h.configurable=!0,"value"in h&&(h.writable=!0),Object.defineProperty(t,h.key,h)}}var M=window.fengmap,p=function(){function i(t){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,i),this.k=t,this.M=!1,this.b=null,this.g=0,this.T=0,this.V=0,this._=[],this.S=[],this.D=0,this.j=0,this.O=1,this.R=null,this.A=null,this.C=0,this.F=0,this.I=null,this.L=null,this.Y=!1,this.Z=null,this.H=null,this.X=-1,this.P=new Map,this.U={playing:"playing",complete:"complete"},this.N=!0,this.Q=-1,this.q=0,this.G=0,this.B(),this.W=this.W.bind(this),this.k.on("levelChanged",this.W),this.k.on("visibleLevelsLoaded",this.W)}var t,s,h;return t=i,(s=[{key:"setSpeed",value:function(t){this.O=t}},{key:"setTracks",value:function(t){this.K(t),this.H=t,this.J()}},{key:"getTrackInfo",value:function(){return{totalLength:+this.C.toFixed(3),totalTimes:+this.F.toFixed(3)}}},{key:"setProgress",value:function(t){for(var i=new Date(t).getTime(),s=-1,h=0;h<this.H.length;h++){if(this.H[h].timestamp==i){s=h;break}if(this.H[h].timestamp>i){s=h-1;break}}-1!==s&&(this.I=null,this.L=null,this.D=s,this.T=this.S[s],this.V=this.$[s],this.g=i-this.H[0].timestamp,this.I=new y(this.H[s].x,this.H[s].y,this.H[s].absoluteZ),this.j=i,this.J())}},{key:"play",value:function(){this.M=!0,this.b=null,this.D}},{key:"pause",value:function(){this.M=!1}},{key:"stop",value:function(){this.M=!1,this.setProgress(this.H[this.H.length-1].time)}},{key:"start",value:function(){this.setProgress(this.H[0].time)}},{key:"render",value:function(){!0!==this.Y&&(this.Y=!0,this.tt(),this.it())}},{key:"clear",value:function(){0!=this.Y&&(this.A&&this.A.remove(this.k),this.Y=!1,this.Z.type===M.FMDynamicModel?this.deleteDynamicModel():this.R&&this.R.parent&&this.R.remove())}},{key:"on",value:function(t,i){this.P.set(t,i)}},{key:"setMarkerStyle",value:function(t,i){this.Z&&this.R&&this.R.parent&&this.R.remove(),this.Z=Object.assign({},i,{type:t}),this.it()}},{key:"setTrackStyle",value:function(t){this.st=t,this.G=t.height||0;var i=this.ht(this.H,this.G),i=this.et(i);this.A=new M.FMLineMarker({color:t.color,width:t.width,animate:t.animate,smooth:!1,segments:i,url:t.url,type:t.type,borderColor:t.borderColor,depth:t.depth}),this.tt(),this.A.getLineNodes||1!=this.N||(this.N=!1)}},{key:"dispose",value:function(){window.cancelAnimationFrame(this.X),this.clear(),this.A&&this.A.dispose(),this.R&&this.R.parent&&this.R.dispose(),this.A=null,this.R=null,this.I=null,this.H=null,this.k=null,this._=null,this.S=null,this.Z=null}}])&&d(t.prototype,s),h&&d(t,h),i}();Object.assign(p.prototype,{W:function(){this.Y&&this.A&&(this.A.remove(this.k),this.A.dispose()),this.Y&&this.setTrackStyle(this.st),this.H&&(this.setTracks(this.H),this.setProgress(this.j))},nt:function(){return this.N},tt:function(){0!=this.Y&&null!==this.A&&(this.A&&this.A.addTo(this.k),this.rt())},it:function(){var t,i;0!=this.Y&&(null===this.R&&(this.R=this.ut(this.Z)),i=this.H[this.D].level,t=this.at(this.H[this.D].buildingID),i=this.k.getBuilding(t).getFloor(i),this.Z.type===M.FMType.LOCATION_MARKER?this.R.addTo(this.k):this.R.addTo(i),this.Z.type!=M.FMType.DYNAMIC_MODEL_MARKER&&this.ot())},ut:function(t){var i=this,s=t.type,h=t.size,e=t.scale,n=t.url,r=t.height;this.q=r||0;var u=(k(o={},M.FMType.LOCATION_MARKER,M.FMLocationMarker),k(o,M.FMType.DYNAMIC_MODEL_MARKER,M.FMDynamicModel),k(o,M.FMType.IMAGE_MARKER,M.FMImageMarker),k(o,M.FMType.DOM_MARKER,M.FMDomMarker),o),a=null,r=null;null!=this.H&&(a=this.H[0].level,r=this.H[0].buildingID);var o=u[s];if(o){u=(k(u={},M.FMType.IMAGE_MARKER,{url:n,size:h,x:0,y:0}),k(u,M.FMType.DYNAMIC_MODEL_MARKER,{url:n,scale:e,x:0,y:0,callback:function(){i.ot()}}),k(u,M.FMType.LOCATION_MARKER,{url:n,size:h,x:0,y:0,level:a,buildingID:r}),k(u,M.FMType.DOM_MARKER,{x:0,y:0}),u);return new o(Object.assign(u[s],t))}console.error("type only is LOCATION_MARKER, DYNAMIC_MODEL_MARKER, IMAGE_MARKER")},rt:function(){var t,i;this.A&&(t=(i=this.lt()).p,i=i.pNoGap,this.nt()?this.ct(t):this.A.moveProportion(i))},ft:function(){var t=this.H[this.D].level,i=this.at(this.H[this.D].buildingID),i=this.k.getBuilding(i).getFloor(t);if(i){t={x:this.I.x,y:this.I.y,z:this.I.z};return t.z-=i.height,t}},deleteDynamicModel:function(){this.R.remove(),this.R.parent&&this.R.dispose(),this.R=null},ot:function(){var t,i,s,h;this.R&&this.Y&&(t=this.H[this.D].level,i=this.at(this.H[this.D].buildingID),(s=this.k.getBuilding(i).getFloor(t))&&(h=this.ft(),this.Z.type==M.FMType.LOCATION_MARKER&&(this.R.level!=t&&(this.R.level=t),this.R.moveTo({x:h.x,y:h.y,animate:!1,level:t,buildingID:i}),this.R.height=h.z+this.q),this.Z.type==M.FMType.IMAGE_MARKER&&(this.R.level!=t&&(this.R.parent&&this.R.remove(),this.R.addTo(s)),this.R.moveTo({x:h.x,y:h.y,animate:!1}),this.R.height=h.z+this.q),this.Z.type==M.FMType.DYNAMIC_MODEL_MARKER&&(this.R.level!=t&&(this.deleteDynamicModel(),this.R=this.ut(this.Z),this.R.addTo(s)),this.R.moveTo({x:h.x,y:h.y,animate:!1}),this.R.height=h.z+this.q),this.Z.type==M.FMType.DOM_MARKER&&(this.R.level!=t&&(this.deleteDynamicModel(),this.R=this.ut(this.Z),this.R.addTo(s)),this.R.moveTo({x:h.x,y:h.y,animate:!1}),this.R.height=h.z+this.q)))},vt:function(t,i){var s=this.P.get(t);this.U.playing===t&&!0===this.M?s&&s(i):this.U.playing!==t&&s&&s(i)},yt:function(){this.ot()},lt:function(){return{p:this.T/this.C,pNoGap:this.V/this.kt}},dt:function(){var t=this.g/this.F;return Math.min(+t.toFixed(t,3),1)},Mt:function(t,i,s){t=new y(t.x,t.y,t.absoluteZ),i=new y(i.x,i.y,i.absoluteZ),s=t.lerp(i,s);null==this.I&&(this.I=s.clone()),this.T+=s.distanceTo(this.I),this.I.set(s.x,s.y,s.z)},pt:function(t,i,s){var h=new y(t.x,t.y,t.relativeZ),e=new y(i.x,i.y,i.relativeZ),s=h.lerp(e,s);null==this.L&&(this.L=s.clone()),t.level!==i.level||(this.V+=this.L.distanceTo(s)),this.L.set(s.x,s.y,s.z)},J:function(){var t=this.H[this.D],i=this.g-this._[this.D],s=t.nextPointTimeGap,h=-1;if(0==i&&null!=s)h=0;else{if(null==s)return 0==this.M?(t=this.H[this.D],this.vt(this.U.playing,{progress:this.H[this.D].timestamp,level:this.H[this.D].level,buildingID:this.H[this.D].buildingID}),this.vt(this.U.complete),null==this.I&&(this.I=new y(0,0,0)),this.I.set(t.x,t.y,t.absoluteZ),this.yt(),this.rt()):this.vt(this.U.complete),void(this.M=!1);h=i/s}h=Math.min(h,1),i=this.H[this.D],s=this.H[this.D+1];this.Mt(i,s,h),this.pt(i,s,h),this.yt(),this.rt(),1<=h&&(this.D+=1);i=i.timestamp,s=s.timestamp;this.j=Number.parseInt(u.lerp(i,s,h)),this.vt(this.U.playing,{progress:this.j,level:this.H[this.D].level,buildingID:this.H[this.D].buildingID})},B:function(){var t,i;this.X=window.requestAnimationFrame(this.B.bind(this)),this.M&&(null==this.b&&(this.b=(new Date).getTime()),i=(t=(new Date).getTime())-this.b,i*=this.O,this.b=t,this.g+=i,this.J())},ht:function(t,i){for(var s=[],h=-1,e=-1,n={groupId:-1,points:[]},r=0;r<t.length;r++){var u=t[r],a=u.x,o=u.y,l=u.z,c=u.level,u=u.buildingID;h===c&&e===u||(0<n.points.length&&s.push(n),n={groupId:c,buildingID:u,points:[]},h=c,e=u),n.points.push({x:a,y:o,z:l+i}),r===t.length-1&&s.push(n)}return s},et:function(t){for(var i=[],s=0;s<t.length;s++){var h=t[s],e=h.groupId,n=h.points,r=h.buildingID,h=new M.FMSegment;h.level=e,h.points=n,h.buildingID=r,i.push(h)}return i},mt:function(t){for(var i=this.H,s=-1,h=1;h<=i.length-1;h++)t>=this._[h-1]&&t<this._[h]&&(s=h-1);return s},bt:function(t,i){var s=-1,h=-1,e=-1,n=i[t-1];n&&n.timestamp&&(s=t-1);for(var r,u,a,o=t+1;o<i.length;o++){var l=i[o];if(l&&l.time){h=o;break}}return-1!==h&&-1!==s&&(r=i[s].timestamp,u=new Date(i[h].time).getTime()-r,a=new c(i[s].x,i[s].y),n=new c(i[t].x,i[t].y),t=new c(i[h].x,i[h].y),e=(a=n.distanceTo(a))/(a+n.distanceTo(t))*u+r),e=-1===(e=-1===e&&-1!==h?new Date(i[h].time).getTime():e)&&-1!==s?i[s].timestamp:e},K:function(t){this._=[],this.F=0,this.S=[],this.$=[],this.C=0;for(var i=this.kt=0;i<t.length;i++){void 0===t[i].z&&(t[i].z=0);var s=t[i],h=s.time,e=s.level,s=s.buildingID;t[i].timestamp=new Date(h).getTime(),!isNaN(t[i].timestamp)&&0!==t[i].timestamp||(t[i].timestamp=this.bt(i,t));s=this.k.getBuilding(this.at(s)).getFloor(e);if(!s)return void console.warn("level 不可见",e);t[i].absoluteZ=t[i].z+s.height,t[i].relativeZ=t[i].z}for(var n=new y(t[0].x,t[0].y,t[0].absoluteZ),r=new y(t[0].x,t[0].y,t[0].relativeZ),u=-1,a=0;a<t.length-1;a++){var o=t[a].level,l=new y(t[a].x,t[a].y,t[a].absoluteZ),c=new y(t[a].x,t[a].y,t[a].relativeZ);this.C+=l.clone().distanceTo(n),(u=-1==u?o:u)==o&&(this.kt+=c.clone().distanceTo(r)),u=o,t[a].nextPointTimeGap=t[a+1].timestamp-t[a].timestamp,t[a].nextPointTimeGap<0&&(t[a].nextPointTimeGap=0),this._[a]=this.F,this.F+=t[a].nextPointTimeGap,this.S[a]=this.C,this.$[a]=this.kt,n.copy(l),r.copy(c)}var f=t.length-1;t[f].nextPointTimeGap=void 0,this._[f]=this.F;var v=new y(t[f].x,t[f].y,t[f].absoluteZ),f=new y(t[f].x,t[f].y,t[f].relativeZ);this.C+=v.distanceTo(n),this.kt+=f.distanceTo(r),this.S[t.length-1]=this.C,this.$[t.length-1]=this.kt},ct:function(t){for(var i=this.A.getLineNodes(),s=0,h=i.length-1;-1<h;h--)s+=i[h].seg.length;for(var e=0,n=i.length-1;-1<n;n--){var r=e/s,u=(e+=i[n].seg.length)/s;u<t?i[n].line.material.uniforms.miny.value=1:t<=u&&(i[n].line.material.uniforms.miny.value=(t-r)/(u-r))}},at:function(t){return t=void 0!==t?t:this.k.getMapOptions().buildingID}});s=p,o=9,p=window.fengmap||{};p.VERSION="v3.1.2",p.BUILD=o,p.FMTracksPlayer=s;i.default=p}],e.c=h,e.d=function(t,i,s){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:s})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"wt",{value:!0})},e.t=function(i,t){if(1&t&&(i=e(i)),8&t)return i;if(4&t&&"object"==typeof i&&i&&i.wt)return i;var s=Object.create(null);if(e.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:i}),2&t&&"string"!=typeof i)for(var h in i)e.d(s,h,function(t){return i[t]}.bind(null,h));return s},e.n=function(t){var i=t&&t.wt?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=0).default;function e(t){if(h[t])return h[t].exports;var i=h[t]={i:t,l:!1,exports:{}};return s[t].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var s,h});