zhitong.yu
2024-03-15 ebd89b9ffa8980ac944a7e79ecc64c01637d4f17
1
2
/**Released Version v3.0.9,BUILD 172,Time 1650883380531. 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";s.r(i);for(var e=[],h=0;h<256;h++)e[h]=(h<16?"0":"")+h.toString(16);var n=1234567,r={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(e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]+"-"+e[255&i]+e[i>>8&255]+"-"+e[i>>16&15|64]+e[i>>24&255]+"-"+e[63&s|128]+e[s>>8&255]+"-"+e[s>>16&255]+e[s>>24&255]+e[255&h]+e[h>>8&255]+e[h>>16&255]+e[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((n=16807*(n=void 0!==t?t%2147483647:n)%2147483647)-1)/2147483646},degToRad:function(t){return t*r.DEG2RAD},radToDeg:function(t){return t*r.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 u(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 a=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(r.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(){}}])&&u(t.prototype,i),s&&u(t,s),e}();function o(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 v=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(c.setFromEuler(t))}},{key:"applyAxisAngle",value:function(t,i){return this.applyQuaternion(c.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 l.copy(this).projectOnVector(t),this.sub(l)}},{key:"reflect",value:function(t){return this.sub(l.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(r.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}}])&&o(t.prototype,i),s&&o(t,s),h}(),l=new v,c=new a;function f(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 t(){!function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}(this,t)}var i,s,h;return i=t,h=[{key:"getBrowser",value:function(){var t=navigator.userAgent,i=-1<t.indexOf("Opera"),s=-1<t.indexOf("compatible")&&-1<t.indexOf("MSIE")&&!i,h=-1<t.indexOf("Edge"),e=-1<t.indexOf("Firefox"),n=-1<t.indexOf("Safari")&&-1===t.indexOf("Chrome"),r=-1<t.indexOf("Chrome")&&-1<t.indexOf("Safari");if(s){new RegExp("MSIE (\\d+\\.\\d+);").test(t);t=parseFloat(RegExp.$1);return 7===t?"IE7":8===t?"IE8":9===t?"IE9":10===t?"IE10":11===t?"IE11":"IE"}return i?"Opera":h?"Edge":e?"FF":n?"Safari":r?"Chrome":void 0}}],(s=null)&&f(i.prototype,s),h&&f(i,h),t}().getBrowser();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;function p(t){return"Safari"==y&&(t=t.replace(/\-/g,"/")),new Date(t).getTime()}var m=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._=0,this.S=[],this.O=[],this.j=[],this.F=0,this.R=1,this.V=null,this.C=null,this.A=0,this.I=0,this.D=null,this.Y=null,this.Z=!1,this.P=null,this.X=null,this.L=-1,this.H=new Map,this.Q={playing:"playing",complete:"complete"},this.U=!0,this.G=-1,this.N=0,this.q=0,this.B="Chrome"===y?"beforeunload":"pagehide",this.dispose=this.dispose.bind(this),window.addEventListener(this.B,this.dispose),this.W()}var t,s,h;return t=i,(s=[{key:"setSpeed",value:function(t){this.R=t}},{key:"setTracks",value:function(t){this.K(t),this.X=t,this.J()}},{key:"getTrackInfo",value:function(){return{totalLength:+this.A.toFixed(3),totalTimes:+this.I.toFixed(3)}}},{key:"setProgress",value:function(t){var i=p(t),s=-1;this.D=null,this.Y=null;for(var h=0;h<this.X.length;h++)if(this.X[h].timestamp==i){s=h;break}this.T=this.O[s],this._=this.j[s],this.g=this.S[s],-1==s||(this.F=s,this.J())}},{key:"play",value:function(){this.M=!0,this.b=null,this.F}},{key:"pause",value:function(){this.M=!1}},{key:"stop",value:function(){this.M=!1,this.setProgress(this.X[this.X.length-1].time)}},{key:"start",value:function(){this.setProgress(this.X[0].time)}},{key:"render",value:function(){!0!==this.Z&&(this.Z=!0,this.$(),this.tt())}},{key:"clear",value:function(){0!=this.Z&&(this.C&&this.C.remove(this.k),this.Z=!1,this.P.type===M.FMDynamicModel?this.deleteDynamicModel():this.V&&this.V.remove())}},{key:"on",value:function(t,i){this.H.set(t,i)}},{key:"setMarkerStyle",value:function(t,i){this.P&&this.V.remove(),this.P=Object.assign({},i,{type:t}),this.tt()}},{key:"setTrackStyle",value:function(t){this.q=t.height||0;var i=this.it(this.X,this.q),i=this.st(i);this.C=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.$(),this.C.getLineNodes||1!=this.U||(this.U=!1)}},{key:"dispose",value:function(){window.cancelAnimationFrame(this.L),this.clear(),this.C&&this.C.dispose(),this.V&&this.V.parent&&this.V.dispose(),this.C=null,this.V=null,this.M=!1,this.D=null,this.X=null,this.k=null,this.S=null,this.O=null,this.P=null,window.removeEventListener(this.B,this.dispose)}}])&&d(t.prototype,s),h&&d(t,h),i}();Object.assign(m.prototype,{ht:function(){return this.U},$:function(){0!=this.Z&&null!==this.C&&(this.C&&this.C.addTo(this.k),this.et())},tt:function(){var t;0!=this.Z&&(null===this.V&&(this.V=this.nt(this.P)),t=this.X[this.F].level,t=this.k.getFloor(this.X[t].level),this.P.type===M.FMType.LOCATION_MARKER?this.V.addTo(this.k):this.V.addTo(t),this.P.type!=M.FMType.DYNAMIC_MODEL_MARKER&&this.rt())},nt:function(t){var i=this,s=t.type,h=t.size,e=t.scale,n=t.url,r=t.height;this.N=r||0;var u=(k(a={},M.FMType.LOCATION_MARKER,M.FMLocationMarker),k(a,M.FMType.DYNAMIC_MODEL_MARKER,M.FMDynamicModel),k(a,M.FMType.IMAGE_MARKER,M.FMImageMarker),k(a,M.FMType.DOM_MARKER,M.FMDomMarker),a),r=null;null!=this.X&&(r=this.X[0].level);var a=u[s];if(a){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.rt()}}),k(u,M.FMType.LOCATION_MARKER,{url:n,size:h,x:0,y:0,level:r}),k(u,M.FMType.DOM_MARKER,{x:0,y:0}),u);return new a(Object.assign(u[s],t))}console.error("type only is LOCATION_MARKER, DYNAMIC_MODEL_MARKER, IMAGE_MARKER")},et:function(){var t,i;this.C&&(t=(i=this.ut()).p,i=i.pNoGap,this.ht()?this.at(t):this.C.moveProportion(i))},ot:function(){var t=this.X[this.F].level,i=this.k.getFloor(t);if(i){t={x:this.D.x,y:this.D.y,z:this.D.z};return t.z-=i.height,t}},deleteDynamicModel:function(){this.V.remove(),this.V.parent&&this.V.dispose(),this.V=null},rt:function(){var t,i,s;this.V&&this.Z&&(t=this.X[this.F].level,(i=this.k.getFloor(t))&&(s=this.ot(),this.P.type==M.FMType.LOCATION_MARKER&&(this.V.level!=t&&(this.V.level=t),this.V.moveTo({x:s.x,y:s.y,animate:!1,level:t}),this.V.height=s.z+this.N),this.P.type==M.FMType.IMAGE_MARKER&&(this.V.level!=t&&(this.V.remove(),this.V.addTo(i)),this.V.moveTo({x:s.x,y:s.y,animate:!1}),this.V.height=s.z+this.N),this.P.type==M.FMType.DYNAMIC_MODEL_MARKER&&(this.V.level!=t&&(this.deleteDynamicModel(),this.V=this.nt(this.P),this.V.addTo(i)),this.V.moveTo({x:s.x,y:s.y,animate:!1}),this.V.height=s.z+this.N),this.P.type==M.FMType.DOM_MARKER&&(this.V.level!=t&&(this.deleteDynamicModel(),this.V=this.nt(this.P),this.V.addTo(i)),this.V.moveTo({x:s.x,y:s.y,animate:!1}),this.V.height=s.z+this.N)))},lt:function(t,i){t=this.H.get(t);t&&t(i)},ct:function(){this.rt()},ut:function(){return{p:this.T/this.A,pNoGap:this._/this.ft}},vt:function(){var t=this.g/this.I;return Math.min(+t.toFixed(t,3),1)},yt:function(t,i,s){t=new v(t.x,t.y,t.absoluteZ),i=new v(i.x,i.y,i.absoluteZ),s=t.lerp(i,s);null==this.D&&(this.D=s.clone()),this.T+=s.distanceTo(this.D),this.D.set(s.x,s.y,s.z)},kt:function(t,i,s){var h=new v(t.x,t.y,t.relativeZ),e=new v(i.x,i.y,i.relativeZ),s=h.lerp(e,s);null==this.Y&&(this.Y=s.clone()),t.level!==i.level||(this._+=this.Y.distanceTo(s)),this.Y.set(s.x,s.y,s.z)},J:function(){var t=this.X[this.F],i=this.g-this.S[this.F],s=t.nextPointTimeGap,h=-1;if(0==i&&null!=s)h=0;else{if(null==s)return 0==this.M?(t=this.X[this.F],this.lt(this.Q.playing,{progress:this.X[this.F].timestamp,level:this.X[this.F].level}),this.lt(this.Q.complete),null==this.D&&(this.D=new v(0,0,0)),this.D.set(t.x,t.y,t.absoluteZ),this.ct(),this.et()):this.lt(this.Q.complete),void(this.M=!1);h=i/s}h=Math.min(h,1),i=this.X[this.F],s=this.X[this.F+1];this.yt(i,s,h),this.kt(i,s,h),this.ct(),this.et(),1<=h&&(this.F+=1);i=i.timestamp,s=s.timestamp;this.lt(this.Q.playing,{progress:Number.parseInt(r.lerp(i,s,h)),level:this.X[this.F].level})},W:function(){var t,i;this.L=window.requestAnimationFrame(this.W.bind(this)),this.M&&(null==this.b&&(this.b=(new Date).getTime()),i=(t=(new Date).getTime())-this.b,i*=this.R,this.b=t,this.g+=i,this.J())},it:function(t,i){for(var s=[],h=-1,e={groupId:-1,points:[]},n=0;n<t.length;n++){var r=t[n],u=r.x,a=r.y,o=r.z,r=r.level;h!==r&&(0<e.points.length&&s.push(e),e={groupId:r,points:[]},h=r),e.points.push({x:u,y:a,z:o+i}),n===t.length-1&&s.push(e)}return s},st:function(t){for(var i=[],s=0;s<t.length;s++){var h=t[s],e=h.groupId,n=h.points,h=new M.FMSegment;h.level=e,h.points=n,i.push(h)}return i},dt:function(t){for(var i=this.X,s=-1,h=1;h<=i.length-1;h++)t>=this.S[h-1]&&t<this.S[h]&&(s=h-1);return s},K:function(t){this.S=[],this.I=0,this.O=[],this.j=[],this.A=0;for(var i=this.ft=0;i<t.length;i++){void 0===t[i].z&&(t[i].z=0);var s=t[i],h=s.time,s=s.level;t[i].timestamp=p(h);h=this.k.getFloor(s);if(!h)return void console.warn("level 不可见",s);t[i].absoluteZ=t[i].z+h.height,t[i].relativeZ=t[i].z}for(var e=new v(t[0].x,t[0].y,t[0].absoluteZ),n=new v(t[0].x,t[0].y,t[0].relativeZ),r=-1,u=0;u<t.length-1;u++){var a=t[u].level,o=new v(t[u].x,t[u].y,t[u].absoluteZ),l=new v(t[u].x,t[u].y,t[u].relativeZ);this.A+=o.clone().distanceTo(e),(r=-1==r?a:r)==a&&(this.ft+=l.clone().distanceTo(n)),r=a,t[u].nextPointTimeGap=t[u+1].timestamp-t[u].timestamp,t[u].nextPointTimeGap<0&&(t[u].nextPointTimeGap=0),this.S[u]=this.I,this.I+=t[u].nextPointTimeGap,this.O[u]=this.A,this.j[u]=this.ft,e.copy(o),n.copy(l)}var c=t.length-1;t[c].nextPointTimeGap=void 0,this.S[c]=this.I;var f=new v(t[c].x,t[c].y,t[c].absoluteZ),c=new v(t[c].x,t[c].y,t[c].relativeZ);this.A+=f.distanceTo(e),this.ft+=c.distanceTo(n),this.O[t.length-1]=this.A,this.j[t.length-1]=this.ft},at:function(t){for(var i=this.C.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))}}});var w=m,s="v3.0.9",a=172,m=window.fengmap||{};m.VERSION=s,m.BUILD=a,m.FMTracksPlayer=w;i.default=m}],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,"Mt",{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.Mt)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.Mt?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});