|
@@ -1,6 +1,6 @@
|
|
|
// threejs.org/license
|
|
|
-(function(k,wa){"object"===typeof exports&&"undefined"!==typeof module?wa(exports):"function"===typeof define&&define.amd?define(["exports"],wa):wa(k.THREE=k.THREE||{})})(this,function(k){function wa(){}function C(a,b){this.x=a||0;this.y=b||0}function aa(a,b,c,d,e,f,g,h,m,l){Object.defineProperty(this,"id",{value:$e++});this.uuid=T.generateUUID();this.name="";this.image=void 0!==a?a:aa.DEFAULT_IMAGE;this.mipmaps=[];this.mapping=void 0!==b?b:aa.DEFAULT_MAPPING;this.wrapS=void 0!==c?c:1001;this.wrapT=
|
|
|
-void 0!==d?d:1001;this.magFilter=void 0!==e?e:1006;this.minFilter=void 0!==f?f:1008;this.anisotropy=void 0!==m?m:1;this.format=void 0!==g?g:1023;this.type=void 0!==h?h:1009;this.offset=new C(0,0);this.repeat=new C(1,1);this.generateMipmaps=!0;this.premultiplyAlpha=!1;this.flipY=!0;this.unpackAlignment=4;this.encoding=void 0!==l?l:3E3;this.version=0;this.onUpdate=null}function fa(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}function Db(a,b,c){this.uuid=T.generateUUID();this.width=
|
|
|
+(function(k,wa){"object"===typeof exports&&"undefined"!==typeof module?wa(exports):"function"===typeof define&&define.amd?define(["exports"],wa):wa(k.THREE=k.THREE||{})})(this,function(k){function wa(){}function D(a,b){this.x=a||0;this.y=b||0}function aa(a,b,c,d,e,f,g,h,m,l){Object.defineProperty(this,"id",{value:$e++});this.uuid=T.generateUUID();this.name="";this.image=void 0!==a?a:aa.DEFAULT_IMAGE;this.mipmaps=[];this.mapping=void 0!==b?b:aa.DEFAULT_MAPPING;this.wrapS=void 0!==c?c:1001;this.wrapT=
|
|
|
+void 0!==d?d:1001;this.magFilter=void 0!==e?e:1006;this.minFilter=void 0!==f?f:1008;this.anisotropy=void 0!==m?m:1;this.format=void 0!==g?g:1023;this.type=void 0!==h?h:1009;this.offset=new D(0,0);this.repeat=new D(1,1);this.generateMipmaps=!0;this.premultiplyAlpha=!1;this.flipY=!0;this.unpackAlignment=4;this.encoding=void 0!==l?l:3E3;this.version=0;this.onUpdate=null}function fa(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}function Db(a,b,c){this.uuid=T.generateUUID();this.width=
|
|
|
a;this.height=b;this.scissor=new fa(0,0,a,b);this.scissorTest=!1;this.viewport=new fa(0,0,a,b);c=c||{};void 0===c.minFilter&&(c.minFilter=1006);this.texture=new aa(void 0,void 0,c.wrapS,c.wrapT,c.magFilter,c.minFilter,c.format,c.type,c.anisotropy,c.encoding);this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.depthTexture=void 0!==c.depthTexture?c.depthTexture:null}function Eb(a,b,c){Db.call(this,a,b,c);this.activeMipMapLevel=
|
|
|
this.activeCubeFace=0}function la(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._w=void 0!==d?d:1}function q(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}function S(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];0<arguments.length&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}function Za(a,b,c,d,e,f,g,h,m,l){a=void 0!==a?a:[];aa.call(this,a,void 0!==b?b:301,c,d,e,f,g,h,m,l);this.flipY=!1}function Fb(a,b,c){var d=a[0];if(0>=d||0<d)return a;
|
|
|
var e=b*c,f=te[e];void 0===f&&(f=new Float32Array(e),te[e]=f);if(0!==b)for(d.toArray(f,0),d=1,e=0;d!==b;++d)e+=c,a[d].toArray(f,e);return f}function ue(a,b){var c=ve[b];void 0===c&&(c=new Int32Array(b),ve[b]=c);for(var d=0;d!==b;++d)c[d]=a.allocTextureUnit();return c}function af(a,b){a.uniform1f(this.addr,b)}function bf(a,b){a.uniform1i(this.addr,b)}function cf(a,b){void 0===b.x?a.uniform2fv(this.addr,b):a.uniform2f(this.addr,b.x,b.y)}function df(a,b){void 0!==b.x?a.uniform3f(this.addr,b.x,b.y,b.z):
|
|
@@ -10,53 +10,53 @@ case 5124:case 35670:return bf;case 35667:case 35671:return Ae;case 35668:case 3
|
|
|
!1,Fb(b,this.size,9))}function tf(a,b){a.uniformMatrix4fv(this.addr,!1,Fb(b,this.size,16))}function uf(a,b,c){var d=b.length,e=ue(c,d);a.uniform1iv(this.addr,e);for(a=0;a!==d;++a)c.setTexture2D(b[a]||ye,e[a])}function vf(a,b,c){var d=b.length,e=ue(c,d);a.uniform1iv(this.addr,e);for(a=0;a!==d;++a)c.setTextureCube(b[a]||ze,e[a])}function wf(a){switch(a){case 5126:return mf;case 35664:return of;case 35665:return pf;case 35666:return qf;case 35674:return rf;case 35675:return sf;case 35676:return tf;case 35678:return uf;
|
|
|
case 35680:return vf;case 5124:case 35670:return nf;case 35667:case 35671:return Ae;case 35668:case 35672:return Be;case 35669:case 35673:return Ce}}function xf(a,b,c){this.id=a;this.addr=c;this.setValue=lf(b.type)}function yf(a,b,c){this.id=a;this.addr=c;this.size=b.size;this.setValue=wf(b.type)}function De(a){this.id=a;this.seq=[];this.map={}}function $a(a,b,c){this.seq=[];this.map={};this.renderer=c;c=a.getProgramParameter(b,a.ACTIVE_UNIFORMS);for(var d=0;d<c;++d){var e=a.getActiveUniform(b,d),
|
|
|
f=a.getUniformLocation(b,e.name),g=this,h=e.name,m=h.length;for(Od.lastIndex=0;;){var l=Od.exec(h),u=Od.lastIndex,p=l[1],n=l[3];"]"===l[2]&&(p|=0);if(void 0===n||"["===n&&u+2===m){h=g;e=void 0===n?new xf(p,e,f):new yf(p,e,f);h.seq.push(e);h.map[e.id]=e;break}else n=g.map[p],void 0===n&&(n=new De(p),p=g,g=n,p.seq.push(g),p.map[g.id]=g),g=n}}}function I(a,b,c){return void 0===b&&void 0===c?this.set(a):this.setRGB(a,b,c)}function db(a,b,c,d,e,f,g,h,m,l,u,p){aa.call(this,null,f,g,h,m,l,d,e,u,p);this.image=
|
|
|
-{data:a,width:b,height:c};this.magFilter=void 0!==m?m:1003;this.minFilter=void 0!==l?l:1003;this.flipY=this.generateMipmaps=!1;this.unpackAlignment=1}function jd(a,b){this.min=void 0!==a?a:new C(Infinity,Infinity);this.max=void 0!==b?b:new C(-Infinity,-Infinity)}function zf(a,b){var c,d,e,f,g,h,m,l,u,p,n=a.context,t=a.state,k,r,D,w,x,L;this.render=function(v,F,H){if(0!==b.length){v=new q;var z=H.w/H.z,R=.5*H.z,Ea=.5*H.w,U=16/H.w,sa=new C(U*z,U),da=new q(1,1,0),eb=new C(1,1),Ra=new jd;Ra.min.set(H.x,
|
|
|
+{data:a,width:b,height:c};this.magFilter=void 0!==m?m:1003;this.minFilter=void 0!==l?l:1003;this.flipY=this.generateMipmaps=!1;this.unpackAlignment=1}function jd(a,b){this.min=void 0!==a?a:new D(Infinity,Infinity);this.max=void 0!==b?b:new D(-Infinity,-Infinity)}function zf(a,b){var c,d,e,f,g,h,m,l,u,p,n=a.context,t=a.state,k,r,z,w,x,L;this.render=function(v,F,H){if(0!==b.length){v=new q;var y=H.w/H.z,R=.5*H.z,Ea=.5*H.w,U=16/H.w,sa=new D(U*y,U),da=new q(1,1,0),eb=new D(1,1),Ra=new jd;Ra.min.set(H.x,
|
|
|
H.y);Ra.max.set(H.x+(H.z-16),H.y+(H.w-16));if(void 0===w){var U=new Float32Array([-1,-1,0,0,1,-1,1,0,1,1,1,1,-1,1,0,1]),P=new Uint16Array([0,1,2,0,2,3]);k=n.createBuffer();r=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,k);n.bufferData(n.ARRAY_BUFFER,U,n.STATIC_DRAW);n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,r);n.bufferData(n.ELEMENT_ARRAY_BUFFER,P,n.STATIC_DRAW);x=n.createTexture();L=n.createTexture();t.bindTexture(n.TEXTURE_2D,x);n.texImage2D(n.TEXTURE_2D,0,n.RGB,16,16,0,n.RGB,n.UNSIGNED_BYTE,null);n.texParameteri(n.TEXTURE_2D,
|
|
|
n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST);t.bindTexture(n.TEXTURE_2D,L);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,16,16,0,n.RGBA,n.UNSIGNED_BYTE,null);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);
|
|
|
-n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST);var U=D={vertexShader:"uniform lowp int renderType;\nuniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = uv;\nvec2 pos = position;\nif ( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = visibility.r / 9.0;\nvVisibility *= 1.0 - visibility.g / 9.0;\nvVisibility *= visibility.b / 9.0;\nvVisibility *= 1.0 - visibility.a / 9.0;\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",
|
|
|
+n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST);var U=z={vertexShader:"uniform lowp int renderType;\nuniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = uv;\nvec2 pos = position;\nif ( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = visibility.r / 9.0;\nvVisibility *= 1.0 - visibility.g / 9.0;\nvVisibility *= visibility.b / 9.0;\nvVisibility *= 1.0 - visibility.a / 9.0;\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",
|
|
|
fragmentShader:"uniform lowp int renderType;\nuniform sampler2D map;\nuniform float opacity;\nuniform vec3 color;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nif ( renderType == 0 ) {\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\n} else if ( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nvec4 texture = texture2D( map, vUV );\ntexture.a *= opacity * vVisibility;\ngl_FragColor = texture;\ngl_FragColor.rgb *= color;\n}\n}"},P=n.createProgram(),J=n.createShader(n.FRAGMENT_SHADER),
|
|
|
N=n.createShader(n.VERTEX_SHADER),M="precision "+a.getPrecision()+" float;\n";n.shaderSource(J,M+U.fragmentShader);n.shaderSource(N,M+U.vertexShader);n.compileShader(J);n.compileShader(N);n.attachShader(P,J);n.attachShader(P,N);n.linkProgram(P);w=P;u=n.getAttribLocation(w,"position");p=n.getAttribLocation(w,"uv");c=n.getUniformLocation(w,"renderType");d=n.getUniformLocation(w,"map");e=n.getUniformLocation(w,"occlusionMap");f=n.getUniformLocation(w,"opacity");g=n.getUniformLocation(w,"color");h=n.getUniformLocation(w,
|
|
|
-"scale");m=n.getUniformLocation(w,"rotation");l=n.getUniformLocation(w,"screenPosition")}n.useProgram(w);t.initAttributes();t.enableAttribute(u);t.enableAttribute(p);t.disableUnusedAttributes();n.uniform1i(e,0);n.uniform1i(d,1);n.bindBuffer(n.ARRAY_BUFFER,k);n.vertexAttribPointer(u,2,n.FLOAT,!1,16,0);n.vertexAttribPointer(p,2,n.FLOAT,!1,16,8);n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,r);t.disable(n.CULL_FACE);t.setDepthWrite(!1);P=0;for(J=b.length;P<J;P++)if(U=16/H.w,sa.set(U*z,U),N=b[P],v.set(N.matrixWorld.elements[12],
|
|
|
+"scale");m=n.getUniformLocation(w,"rotation");l=n.getUniformLocation(w,"screenPosition")}n.useProgram(w);t.initAttributes();t.enableAttribute(u);t.enableAttribute(p);t.disableUnusedAttributes();n.uniform1i(e,0);n.uniform1i(d,1);n.bindBuffer(n.ARRAY_BUFFER,k);n.vertexAttribPointer(u,2,n.FLOAT,!1,16,0);n.vertexAttribPointer(p,2,n.FLOAT,!1,16,8);n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,r);t.disable(n.CULL_FACE);t.setDepthWrite(!1);P=0;for(J=b.length;P<J;P++)if(U=16/H.w,sa.set(U*y,U),N=b[P],v.set(N.matrixWorld.elements[12],
|
|
|
N.matrixWorld.elements[13],N.matrixWorld.elements[14]),v.applyMatrix4(F.matrixWorldInverse),v.applyMatrix4(F.projectionMatrix),da.copy(v),eb.x=H.x+da.x*R+R-8,eb.y=H.y+da.y*Ea+Ea-8,!0===Ra.containsPoint(eb)){t.activeTexture(n.TEXTURE0);t.bindTexture(n.TEXTURE_2D,null);t.activeTexture(n.TEXTURE1);t.bindTexture(n.TEXTURE_2D,x);n.copyTexImage2D(n.TEXTURE_2D,0,n.RGB,eb.x,eb.y,16,16,0);n.uniform1i(c,0);n.uniform2f(h,sa.x,sa.y);n.uniform3f(l,da.x,da.y,da.z);t.disable(n.BLEND);t.enable(n.DEPTH_TEST);n.drawElements(n.TRIANGLES,
|
|
|
6,n.UNSIGNED_SHORT,0);t.activeTexture(n.TEXTURE0);t.bindTexture(n.TEXTURE_2D,L);n.copyTexImage2D(n.TEXTURE_2D,0,n.RGBA,eb.x,eb.y,16,16,0);n.uniform1i(c,1);t.disable(n.DEPTH_TEST);t.activeTexture(n.TEXTURE1);t.bindTexture(n.TEXTURE_2D,x);n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0);N.positionScreen.copy(da);N.customUpdateCallback?N.customUpdateCallback(N):N.updateLensFlares();n.uniform1i(c,2);t.enable(n.BLEND);for(var M=0,ta=N.lensFlares.length;M<ta;M++){var W=N.lensFlares[M];.001<W.opacity&&.001<
|
|
|
-W.scale&&(da.x=W.x,da.y=W.y,da.z=W.z,U=W.size*W.scale/H.w,sa.x=U*z,sa.y=U,n.uniform3f(l,da.x,da.y,da.z),n.uniform2f(h,sa.x,sa.y),n.uniform1f(m,W.rotation),n.uniform1f(f,W.opacity),n.uniform3f(g,W.color.r,W.color.g,W.color.b),t.setBlending(W.blending,W.blendEquation,W.blendSrc,W.blendDst),a.setTexture2D(W.texture,1),n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0))}}t.enable(n.CULL_FACE);t.enable(n.DEPTH_TEST);t.setDepthWrite(!0);a.resetGLState()}}}function Af(a,b){var c,d,e,f,g,h,m,l,u,p,n,t,k,r,
|
|
|
-D,w,x;function L(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:b.id-a.id}var v=a.context,F=a.state,H,z,R,Ea,U=new q,sa=new la,da=new q;this.render=function(q,Ra){if(0!==b.length){if(void 0===R){var P=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),J=new Uint16Array([0,1,2,0,2,3]);H=v.createBuffer();z=v.createBuffer();v.bindBuffer(v.ARRAY_BUFFER,H);v.bufferData(v.ARRAY_BUFFER,P,v.STATIC_DRAW);v.bindBuffer(v.ELEMENT_ARRAY_BUFFER,z);v.bufferData(v.ELEMENT_ARRAY_BUFFER,
|
|
|
+W.scale&&(da.x=W.x,da.y=W.y,da.z=W.z,U=W.size*W.scale/H.w,sa.x=U*y,sa.y=U,n.uniform3f(l,da.x,da.y,da.z),n.uniform2f(h,sa.x,sa.y),n.uniform1f(m,W.rotation),n.uniform1f(f,W.opacity),n.uniform3f(g,W.color.r,W.color.g,W.color.b),t.setBlending(W.blending,W.blendEquation,W.blendSrc,W.blendDst),a.setTexture2D(W.texture,1),n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0))}}t.enable(n.CULL_FACE);t.enable(n.DEPTH_TEST);t.setDepthWrite(!0);a.resetGLState()}}}function Af(a,b){var c,d,e,f,g,h,m,l,u,p,n,t,k,r,
|
|
|
+z,w,x;function L(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:b.id-a.id}var v=a.context,F=a.state,H,y,R,Ea,U=new q,sa=new la,da=new q;this.render=function(q,Ra){if(0!==b.length){if(void 0===R){var P=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),J=new Uint16Array([0,1,2,0,2,3]);H=v.createBuffer();y=v.createBuffer();v.bindBuffer(v.ARRAY_BUFFER,H);v.bufferData(v.ARRAY_BUFFER,P,v.STATIC_DRAW);v.bindBuffer(v.ELEMENT_ARRAY_BUFFER,y);v.bufferData(v.ELEMENT_ARRAY_BUFFER,
|
|
|
J,v.STATIC_DRAW);var P=v.createProgram(),J=v.createShader(v.VERTEX_SHADER),N=v.createShader(v.FRAGMENT_SHADER);v.shaderSource(J,["precision "+a.getPrecision()+" float;","uniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float rotation;\nuniform vec2 scale;\nuniform vec2 uvOffset;\nuniform vec2 uvScale;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvoid main() {\nvUV = uvOffset + uv * uvScale;\nvec2 alignedPosition = position * scale;\nvec2 rotatedPosition;\nrotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\nrotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\nvec4 finalPosition;\nfinalPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\nfinalPosition.xy += rotatedPosition;\nfinalPosition = projectionMatrix * finalPosition;\ngl_Position = finalPosition;\n}"].join("\n"));
|
|
|
v.shaderSource(N,["precision "+a.getPrecision()+" float;","uniform vec3 color;\nuniform sampler2D map;\nuniform float opacity;\nuniform int fogType;\nuniform vec3 fogColor;\nuniform float fogDensity;\nuniform float fogNear;\nuniform float fogFar;\nuniform float alphaTest;\nvarying vec2 vUV;\nvoid main() {\nvec4 texture = texture2D( map, vUV );\nif ( texture.a < alphaTest ) discard;\ngl_FragColor = vec4( color * texture.xyz, texture.a * opacity );\nif ( fogType > 0 ) {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat fogFactor = 0.0;\nif ( fogType == 1 ) {\nfogFactor = smoothstep( fogNear, fogFar, depth );\n} else {\nconst float LOG2 = 1.442695;\nfogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n}\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n}\n}"].join("\n"));
|
|
|
v.compileShader(J);v.compileShader(N);v.attachShader(P,J);v.attachShader(P,N);v.linkProgram(P);R=P;w=v.getAttribLocation(R,"position");x=v.getAttribLocation(R,"uv");c=v.getUniformLocation(R,"uvOffset");d=v.getUniformLocation(R,"uvScale");e=v.getUniformLocation(R,"rotation");f=v.getUniformLocation(R,"scale");g=v.getUniformLocation(R,"color");h=v.getUniformLocation(R,"map");m=v.getUniformLocation(R,"opacity");l=v.getUniformLocation(R,"modelViewMatrix");u=v.getUniformLocation(R,"projectionMatrix");p=
|
|
|
-v.getUniformLocation(R,"fogType");n=v.getUniformLocation(R,"fogDensity");t=v.getUniformLocation(R,"fogNear");k=v.getUniformLocation(R,"fogFar");r=v.getUniformLocation(R,"fogColor");D=v.getUniformLocation(R,"alphaTest");P=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");P.width=8;P.height=8;J=P.getContext("2d");J.fillStyle="white";J.fillRect(0,0,8,8);Ea=new aa(P);Ea.needsUpdate=!0}v.useProgram(R);F.initAttributes();F.enableAttribute(w);F.enableAttribute(x);F.disableUnusedAttributes();
|
|
|
-F.disable(v.CULL_FACE);F.enable(v.BLEND);v.bindBuffer(v.ARRAY_BUFFER,H);v.vertexAttribPointer(w,2,v.FLOAT,!1,16,0);v.vertexAttribPointer(x,2,v.FLOAT,!1,16,8);v.bindBuffer(v.ELEMENT_ARRAY_BUFFER,z);v.uniformMatrix4fv(u,!1,Ra.projectionMatrix.elements);F.activeTexture(v.TEXTURE0);v.uniform1i(h,0);J=P=0;(N=q.fog)?(v.uniform3f(r,N.color.r,N.color.g,N.color.b),N.isFog?(v.uniform1f(t,N.near),v.uniform1f(k,N.far),v.uniform1i(p,1),J=P=1):N.isFogExp2&&(v.uniform1f(n,N.density),v.uniform1i(p,2),J=P=2)):(v.uniform1i(p,
|
|
|
-0),J=P=0);for(var N=0,M=b.length;N<M;N++){var ta=b[N];ta.modelViewMatrix.multiplyMatrices(Ra.matrixWorldInverse,ta.matrixWorld);ta.z=-ta.modelViewMatrix.elements[14]}b.sort(L);for(var W=[],N=0,M=b.length;N<M;N++){var ta=b[N],C=ta.material;!1!==C.visible&&(v.uniform1f(D,C.alphaTest),v.uniformMatrix4fv(l,!1,ta.modelViewMatrix.elements),ta.matrixWorld.decompose(U,sa,da),W[0]=da.x,W[1]=da.y,ta=0,q.fog&&C.fog&&(ta=J),P!==ta&&(v.uniform1i(p,ta),P=ta),null!==C.map?(v.uniform2f(c,C.map.offset.x,C.map.offset.y),
|
|
|
-v.uniform2f(d,C.map.repeat.x,C.map.repeat.y)):(v.uniform2f(c,0,0),v.uniform2f(d,1,1)),v.uniform1f(m,C.opacity),v.uniform3f(g,C.color.r,C.color.g,C.color.b),v.uniform1f(e,C.rotation),v.uniform2fv(f,W),F.setBlending(C.blending,C.blendEquation,C.blendSrc,C.blendDst),F.setDepthTest(C.depthTest),F.setDepthWrite(C.depthWrite),C.map?a.setTexture2D(C.map,0):a.setTexture2D(Ea,0),v.drawElements(v.TRIANGLES,6,v.UNSIGNED_SHORT,0))}F.enable(v.CULL_FACE);a.resetGLState()}}}function X(){Object.defineProperty(this,
|
|
|
+v.getUniformLocation(R,"fogType");n=v.getUniformLocation(R,"fogDensity");t=v.getUniformLocation(R,"fogNear");k=v.getUniformLocation(R,"fogFar");r=v.getUniformLocation(R,"fogColor");z=v.getUniformLocation(R,"alphaTest");P=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");P.width=8;P.height=8;J=P.getContext("2d");J.fillStyle="white";J.fillRect(0,0,8,8);Ea=new aa(P);Ea.needsUpdate=!0}v.useProgram(R);F.initAttributes();F.enableAttribute(w);F.enableAttribute(x);F.disableUnusedAttributes();
|
|
|
+F.disable(v.CULL_FACE);F.enable(v.BLEND);v.bindBuffer(v.ARRAY_BUFFER,H);v.vertexAttribPointer(w,2,v.FLOAT,!1,16,0);v.vertexAttribPointer(x,2,v.FLOAT,!1,16,8);v.bindBuffer(v.ELEMENT_ARRAY_BUFFER,y);v.uniformMatrix4fv(u,!1,Ra.projectionMatrix.elements);F.activeTexture(v.TEXTURE0);v.uniform1i(h,0);J=P=0;(N=q.fog)?(v.uniform3f(r,N.color.r,N.color.g,N.color.b),N.isFog?(v.uniform1f(t,N.near),v.uniform1f(k,N.far),v.uniform1i(p,1),J=P=1):N.isFogExp2&&(v.uniform1f(n,N.density),v.uniform1i(p,2),J=P=2)):(v.uniform1i(p,
|
|
|
+0),J=P=0);for(var N=0,M=b.length;N<M;N++){var ta=b[N];ta.modelViewMatrix.multiplyMatrices(Ra.matrixWorldInverse,ta.matrixWorld);ta.z=-ta.modelViewMatrix.elements[14]}b.sort(L);for(var W=[],N=0,M=b.length;N<M;N++){var ta=b[N],D=ta.material;!1!==D.visible&&(v.uniform1f(z,D.alphaTest),v.uniformMatrix4fv(l,!1,ta.modelViewMatrix.elements),ta.matrixWorld.decompose(U,sa,da),W[0]=da.x,W[1]=da.y,ta=0,q.fog&&D.fog&&(ta=J),P!==ta&&(v.uniform1i(p,ta),P=ta),null!==D.map?(v.uniform2f(c,D.map.offset.x,D.map.offset.y),
|
|
|
+v.uniform2f(d,D.map.repeat.x,D.map.repeat.y)):(v.uniform2f(c,0,0),v.uniform2f(d,1,1)),v.uniform1f(m,D.opacity),v.uniform3f(g,D.color.r,D.color.g,D.color.b),v.uniform1f(e,D.rotation),v.uniform2fv(f,W),F.setBlending(D.blending,D.blendEquation,D.blendSrc,D.blendDst),F.setDepthTest(D.depthTest),F.setDepthWrite(D.depthWrite),D.map?a.setTexture2D(D.map,0):a.setTexture2D(Ea,0),v.drawElements(v.TRIANGLES,6,v.UNSIGNED_SHORT,0))}F.enable(v.CULL_FACE);a.resetGLState()}}}function X(){Object.defineProperty(this,
|
|
|
"id",{value:Bf++});this.uuid=T.generateUUID();this.name="";this.type="Material";this.lights=this.fog=!0;this.blending=1;this.side=0;this.shading=2;this.vertexColors=0;this.opacity=1;this.transparent=!1;this.blendSrc=204;this.blendDst=205;this.blendEquation=100;this.blendEquationAlpha=this.blendDstAlpha=this.blendSrcAlpha=null;this.depthFunc=3;this.depthWrite=this.depthTest=!0;this.clippingPlanes=null;this.clipShadows=this.clipIntersection=!1;this.colorWrite=!0;this.precision=null;this.polygonOffset=
|
|
|
!1;this.alphaTest=this.polygonOffsetUnits=this.polygonOffsetFactor=0;this.premultipliedAlpha=!1;this.overdraw=0;this._needsUpdate=this.visible=!0}function Fa(a){X.call(this);this.type="ShaderMaterial";this.defines={};this.uniforms={};this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}";this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}";this.linewidth=1;this.wireframe=!1;this.wireframeLinewidth=1;this.morphNormals=
|
|
|
this.morphTargets=this.clipping=this.lights=this.fog=!1;this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1};this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]};this.index0AttributeName=void 0;void 0!==a&&(void 0!==a.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(a))}function ab(a){X.call(this);this.type="MeshDepthMaterial";this.depthPacking=3200;this.morphTargets=!1;this.displacementMap=
|
|
|
this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=!1;this.wireframeLinewidth=1;this.lights=this.fog=!1;this.setValues(a)}function Ua(a,b){this.min=void 0!==a?a:new q(Infinity,Infinity,Infinity);this.max=void 0!==b?b:new q(-Infinity,-Infinity,-Infinity)}function Pa(a,b){this.center=void 0!==a?a:new q;this.radius=void 0!==b?b:0}function La(){this.elements=[1,0,0,0,1,0,0,0,1];0<arguments.length&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}
|
|
|
-function ua(a,b){this.normal=void 0!==a?a:new q(1,0,0);this.constant=void 0!==b?b:0}function kd(a,b,c,d,e,f){this.planes=[void 0!==a?a:new ua,void 0!==b?b:new ua,void 0!==c?c:new ua,void 0!==d?d:new ua,void 0!==e?e:new ua,void 0!==f?f:new ua]}function Ee(a,b,c,d){function e(b,c,d,e){var f=b.geometry,g;g=r;var h=b.customDepthMaterial;d&&(g=D,h=b.customDistanceMaterial);h?g=h:(b=!1,c.morphTargets&&(f&&f.isBufferGeometry?b=f.morphAttributes&&f.morphAttributes.position&&0<f.morphAttributes.position.length:
|
|
|
+function ua(a,b){this.normal=void 0!==a?a:new q(1,0,0);this.constant=void 0!==b?b:0}function kd(a,b,c,d,e,f){this.planes=[void 0!==a?a:new ua,void 0!==b?b:new ua,void 0!==c?c:new ua,void 0!==d?d:new ua,void 0!==e?e:new ua,void 0!==f?f:new ua]}function Ee(a,b,c,d){function e(b,c,d,e){var f=b.geometry,g;g=r;var h=b.customDepthMaterial;d&&(g=z,h=b.customDistanceMaterial);h?g=h:(b=!1,c.morphTargets&&(f&&f.isBufferGeometry?b=f.morphAttributes&&f.morphAttributes.position&&0<f.morphAttributes.position.length:
|
|
|
f&&f.isGeometry&&(b=f.morphTargets&&0<f.morphTargets.length)),f=0,b&&(f|=1),g=g[f]);a.localClippingEnabled&&!0===c.clipShadows&&0!==c.clippingPlanes.length&&(h=g.uuid,f=c.uuid,b=w[h],void 0===b&&(b={},w[h]=b),h=b[f],void 0===h&&(h=g.clone(),b[f]=h),g=h);g.visible=c.visible;g.wireframe=c.wireframe;f=c.side;Ea.renderSingleSided&&2==f&&(f=0);Ea.renderReverseSided&&(0===f?f=1:1===f&&(f=0));g.side=f;g.clipShadows=c.clipShadows;g.clippingPlanes=c.clippingPlanes;g.wireframeLinewidth=c.wireframeLinewidth;
|
|
|
g.linewidth=c.linewidth;d&&void 0!==g.uniforms.lightPos&&g.uniforms.lightPos.value.copy(e);return g}function f(b,d,g,h){if(!1!==b.visible){if(0!==(b.layers.mask&d.layers.mask)&&(b.isMesh||b.isLine||b.isPoints)&&b.castShadow&&(!1===b.frustumCulled||!0===m.intersectsObject(b))){b.modelViewMatrix.multiplyMatrices(g.matrixWorldInverse,b.matrixWorld);var l=c.update(b),u=b.material;if(Array.isArray(u))for(var n=l.groups,p=0,t=n.length;p<t;p++){var x=n[p],r=u[x.materialIndex];r&&!0===r.visible&&(r=e(b,r,
|
|
|
-h,k),a.renderBufferDirect(g,null,l,r,b,x))}else!0===u.visible&&(r=e(b,u,h,k),a.renderBufferDirect(g,null,l,r,b,null))}b=b.children;l=0;for(u=b.length;l<u;l++)f(b[l],d,g,h)}}var g=a.context,h=a.state,m=new kd,l=new S,u=b.shadows,p=new C,n=new C(d.maxTextureSize,d.maxTextureSize),t=new q,k=new q,r=Array(2),D=Array(2),w={},x=[new q(1,0,0),new q(-1,0,0),new q(0,0,1),new q(0,0,-1),new q(0,1,0),new q(0,-1,0)],L=[new q(0,1,0),new q(0,1,0),new q(0,1,0),new q(0,1,0),new q(0,0,1),new q(0,0,-1)],v=[new fa,new fa,
|
|
|
-new fa,new fa,new fa,new fa];b=new ab;b.depthPacking=3201;b.clipping=!0;d=bb.distanceRGBA;for(var F=Ha.clone(d.uniforms),H=0;2!==H;++H){var z=0!==(H&1),R=b.clone();R.morphTargets=z;r[H]=R;z=new Fa({defines:{USE_SHADOWMAP:""},uniforms:F,vertexShader:d.vertexShader,fragmentShader:d.fragmentShader,morphTargets:z,clipping:!0});D[H]=z}var Ea=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.renderSingleSided=this.renderReverseSided=!0;this.render=function(b,c){if(!1!==Ea.enabled&&
|
|
|
-(!1!==Ea.autoUpdate||!1!==Ea.needsUpdate)&&0!==u.length){h.buffers.color.setClear(1,1,1,1);h.disable(g.BLEND);h.setDepthTest(!0);h.setScissorTest(!1);for(var d,e,r=0,q=u.length;r<q;r++){var D=u[r],z=D.shadow;if(void 0===z)console.warn("THREE.WebGLShadowMap:",D,"has no shadow.");else{var w=z.camera;p.copy(z.mapSize);p.min(n);if(D&&D.isPointLight){d=6;e=!0;var H=p.x,F=p.y;v[0].set(2*H,F,H,F);v[1].set(0,F,H,F);v[2].set(3*H,F,H,F);v[3].set(H,F,H,F);v[4].set(3*H,0,H,F);v[5].set(H,0,H,F);p.x*=4;p.y*=2}else d=
|
|
|
-1,e=!1;null===z.map&&(z.map=new Db(p.x,p.y,{minFilter:1003,magFilter:1003,format:1023}),z.map.texture.name=D.name+".shadowMap",w.updateProjectionMatrix());z.isSpotLightShadow&&z.update(D);z&&z.isRectAreaLightShadow&&z.update(D);H=z.map;z=z.matrix;k.setFromMatrixPosition(D.matrixWorld);w.position.copy(k);a.setRenderTarget(H);a.clear();for(H=0;H<d;H++)e?(t.copy(w.position),t.add(x[H]),w.up.copy(L[H]),w.lookAt(t),h.viewport(v[H])):(t.setFromMatrixPosition(D.target.matrixWorld),w.lookAt(t)),w.updateMatrixWorld(),
|
|
|
-w.matrixWorldInverse.getInverse(w.matrixWorld),z.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),z.multiply(w.projectionMatrix),z.multiply(w.matrixWorldInverse),l.multiplyMatrices(w.projectionMatrix,w.matrixWorldInverse),m.setFromMatrix(l),f(b,c,w,e)}}d=a.getClearColor();e=a.getClearAlpha();a.setClearColor(d,e);Ea.needsUpdate=!1}}}function fb(a,b){this.origin=void 0!==a?a:new q;this.direction=void 0!==b?b:new q}function cb(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._order=d||cb.DefaultOrder}
|
|
|
+h,k),a.renderBufferDirect(g,null,l,r,b,x))}else!0===u.visible&&(r=e(b,u,h,k),a.renderBufferDirect(g,null,l,r,b,null))}b=b.children;l=0;for(u=b.length;l<u;l++)f(b[l],d,g,h)}}var g=a.context,h=a.state,m=new kd,l=new S,u=b.shadows,p=new D,n=new D(d.maxTextureSize,d.maxTextureSize),t=new q,k=new q,r=Array(2),z=Array(2),w={},x=[new q(1,0,0),new q(-1,0,0),new q(0,0,1),new q(0,0,-1),new q(0,1,0),new q(0,-1,0)],L=[new q(0,1,0),new q(0,1,0),new q(0,1,0),new q(0,1,0),new q(0,0,1),new q(0,0,-1)],v=[new fa,new fa,
|
|
|
+new fa,new fa,new fa,new fa];b=new ab;b.depthPacking=3201;b.clipping=!0;d=bb.distanceRGBA;for(var F=Ha.clone(d.uniforms),H=0;2!==H;++H){var y=0!==(H&1),R=b.clone();R.morphTargets=y;r[H]=R;y=new Fa({defines:{USE_SHADOWMAP:""},uniforms:F,vertexShader:d.vertexShader,fragmentShader:d.fragmentShader,morphTargets:y,clipping:!0});z[H]=y}var Ea=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.renderSingleSided=this.renderReverseSided=!0;this.render=function(b,c){if(!1!==Ea.enabled&&
|
|
|
+(!1!==Ea.autoUpdate||!1!==Ea.needsUpdate)&&0!==u.length){h.buffers.color.setClear(1,1,1,1);h.disable(g.BLEND);h.setDepthTest(!0);h.setScissorTest(!1);for(var d,e,r=0,q=u.length;r<q;r++){var z=u[r],y=z.shadow;if(void 0===y)console.warn("THREE.WebGLShadowMap:",z,"has no shadow.");else{var w=y.camera;p.copy(y.mapSize);p.min(n);if(z&&z.isPointLight){d=6;e=!0;var H=p.x,F=p.y;v[0].set(2*H,F,H,F);v[1].set(0,F,H,F);v[2].set(3*H,F,H,F);v[3].set(H,F,H,F);v[4].set(3*H,0,H,F);v[5].set(H,0,H,F);p.x*=4;p.y*=2}else d=
|
|
|
+1,e=!1;null===y.map&&(y.map=new Db(p.x,p.y,{minFilter:1003,magFilter:1003,format:1023}),y.map.texture.name=z.name+".shadowMap",w.updateProjectionMatrix());y.isSpotLightShadow&&y.update(z);y&&y.isRectAreaLightShadow&&y.update(z);H=y.map;y=y.matrix;k.setFromMatrixPosition(z.matrixWorld);w.position.copy(k);a.setRenderTarget(H);a.clear();for(H=0;H<d;H++)e?(t.copy(w.position),t.add(x[H]),w.up.copy(L[H]),w.lookAt(t),h.viewport(v[H])):(t.setFromMatrixPosition(z.target.matrixWorld),w.lookAt(t)),w.updateMatrixWorld(),
|
|
|
+w.matrixWorldInverse.getInverse(w.matrixWorld),y.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),y.multiply(w.projectionMatrix),y.multiply(w.matrixWorldInverse),l.multiplyMatrices(w.projectionMatrix,w.matrixWorldInverse),m.setFromMatrix(l),f(b,c,w,e)}}d=a.getClearColor();e=a.getClearAlpha();a.setClearColor(d,e);Ea.needsUpdate=!1}}}function fb(a,b){this.origin=void 0!==a?a:new q;this.direction=void 0!==b?b:new q}function cb(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._order=d||cb.DefaultOrder}
|
|
|
function Pd(){this.mask=1}function E(){Object.defineProperty(this,"id",{value:Cf++});this.uuid=T.generateUUID();this.name="";this.type="Object3D";this.parent=null;this.children=[];this.up=E.DefaultUp.clone();var a=new q,b=new cb,c=new la,d=new q(1,1,1);b.onChange(function(){c.setFromEuler(b,!1)});c.onChange(function(){b.setFromQuaternion(c,void 0,!1)});Object.defineProperties(this,{position:{enumerable:!0,value:a},rotation:{enumerable:!0,value:b},quaternion:{enumerable:!0,value:c},scale:{enumerable:!0,
|
|
|
value:d},modelViewMatrix:{value:new S},normalMatrix:{value:new La}});this.matrix=new S;this.matrixWorld=new S;this.matrixAutoUpdate=E.DefaultMatrixAutoUpdate;this.matrixWorldNeedsUpdate=!1;this.layers=new Pd;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this.renderOrder=0;this.userData={};this.onBeforeRender=function(){};this.onAfterRender=function(){}}function Gb(a,b){this.start=void 0!==a?a:new q;this.end=void 0!==b?b:new q}function Va(a,b,c){this.a=void 0!==a?a:new q;
|
|
|
this.b=void 0!==b?b:new q;this.c=void 0!==c?c:new q}function oa(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.normal=d&&d.isVector3?d:new q;this.vertexNormals=Array.isArray(d)?d:[];this.color=e&&e.isColor?e:new I;this.vertexColors=Array.isArray(e)?e:[];this.materialIndex=void 0!==f?f:0}function Ia(a){X.call(this);this.type="MeshBasicMaterial";this.color=new I(16777215);this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.envMap=this.alphaMap=this.specularMap=
|
|
|
null;this.combine=0;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.lights=this.morphTargets=!1;this.setValues(a)}function V(a,b,c){if(Array.isArray(a))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.uuid=T.generateUUID();this.array=a;this.itemSize=b;this.count=void 0!==a?a.length/b:0;this.normalized=!0===c;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.onUploadCallback=
|
|
|
-function(){};this.version=0}function sc(a,b){V.call(this,new Int8Array(a),b)}function tc(a,b){V.call(this,new Uint8Array(a),b)}function uc(a,b){V.call(this,new Uint8ClampedArray(a),b)}function vc(a,b){V.call(this,new Int16Array(a),b)}function gb(a,b){V.call(this,new Uint16Array(a),b)}function wc(a,b){V.call(this,new Int32Array(a),b)}function hb(a,b){V.call(this,new Uint32Array(a),b)}function A(a,b){V.call(this,new Float32Array(a),b)}function xc(a,b){V.call(this,new Float64Array(a),b)}function Fe(){this.indices=
|
|
|
+function(){};this.version=0}function sc(a,b){V.call(this,new Int8Array(a),b)}function tc(a,b){V.call(this,new Uint8Array(a),b)}function uc(a,b){V.call(this,new Uint8ClampedArray(a),b)}function vc(a,b){V.call(this,new Int16Array(a),b)}function gb(a,b){V.call(this,new Uint16Array(a),b)}function wc(a,b){V.call(this,new Int32Array(a),b)}function hb(a,b){V.call(this,new Uint32Array(a),b)}function B(a,b){V.call(this,new Float32Array(a),b)}function xc(a,b){V.call(this,new Float64Array(a),b)}function Fe(){this.indices=
|
|
|
[];this.vertices=[];this.normals=[];this.colors=[];this.uvs=[];this.uvs2=[];this.groups=[];this.morphTargets={};this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.groupsNeedUpdate=this.uvsNeedUpdate=this.colorsNeedUpdate=this.normalsNeedUpdate=this.verticesNeedUpdate=!1}function Qd(a){for(var b=a.length,c=-Infinity;b--;)a[b]>c&&(c=a[b]);return c}function K(){Object.defineProperty(this,"id",{value:Rd++});this.uuid=T.generateUUID();this.name="";this.type="Geometry";
|
|
|
this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingSphere=this.boundingBox=null;this.groupsNeedUpdate=this.lineDistancesNeedUpdate=this.colorsNeedUpdate=this.normalsNeedUpdate=this.uvsNeedUpdate=this.verticesNeedUpdate=this.elementsNeedUpdate=!1}function G(){Object.defineProperty(this,"id",{value:Rd++});this.uuid=T.generateUUID();this.name="";this.type="BufferGeometry";
|
|
|
this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.drawRange={start:0,count:Infinity}}function xa(a,b){E.call(this);this.type="Mesh";this.geometry=void 0!==a?a:new G;this.material=void 0!==b?b:new Ia({color:16777215*Math.random()});this.drawMode=0;this.updateMorphTargets()}function Hb(a,b,c,d,e,f){K.call(this);this.type="BoxGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};this.fromBufferGeometry(new ib(a,
|
|
|
-b,c,d,e,f));this.mergeVertices()}function ib(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,k,H,z,R){var Ea=f/H,U=g/z,C=f/2,da=g/2,E=k/2;g=H+1;var A=z+1,P=f=0,J,N,M=new q;for(N=0;N<A;N++){var G=N*U-da;for(J=0;J<g;J++)M[a]=(J*Ea-C)*d,M[b]=G*e,M[c]=E,l.push(M.x,M.y,M.z),M[a]=0,M[b]=0,M[c]=0<k?1:-1,u.push(M.x,M.y,M.z),p.push(J/H),p.push(1-N/z),f+=1}for(N=0;N<z;N++)for(J=0;J<H;J++)a=n+J+g*(N+1),b=n+(J+1)+g*(N+1),c=n+(J+1)+g*N,m.push(n+J+g*N,a,c),m.push(a,b,c),P+=6;h.addGroup(t,P,R);t+=P;n+=f}G.call(this);this.type=
|
|
|
-"BoxBufferGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};var h=this;d=Math.floor(d)||1;e=Math.floor(e)||1;f=Math.floor(f)||1;var m=[],l=[],u=[],p=[],n=0,t=0;g("z","y","x",-1,-1,c,b,a,f,e,0);g("z","y","x",1,-1,c,b,-a,f,e,1);g("x","z","y",1,1,a,c,b,d,f,2);g("x","z","y",1,-1,a,c,-b,d,f,3);g("x","y","z",1,-1,a,b,c,d,e,4);g("x","y","z",-1,-1,a,b,-c,d,e,5);this.setIndex(m);this.addAttribute("position",new A(l,3));this.addAttribute("normal",new A(u,
|
|
|
-3));this.addAttribute("uv",new A(p,2))}function yc(a,b,c,d){K.call(this);this.type="PlaneGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};this.fromBufferGeometry(new jb(a,b,c,d))}function jb(a,b,c,d){G.call(this);this.type="PlaneBufferGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};var e=a/2,f=b/2;c=Math.floor(c)||1;d=Math.floor(d)||1;var g=c+1,h=d+1,m=a/c,l=b/d,u=[],p=[],n=[],t=[];for(a=0;a<h;a++){var k=a*l-f;for(b=0;b<g;b++)p.push(b*m-e,
|
|
|
--k,0),n.push(0,0,1),t.push(b/c),t.push(1-a/d)}for(a=0;a<d;a++)for(b=0;b<c;b++)e=b+g*(a+1),f=b+1+g*(a+1),h=b+1+g*a,u.push(b+g*a,e,h),u.push(e,f,h);this.setIndex(u);this.addAttribute("position",new A(p,3));this.addAttribute("normal",new A(n,3));this.addAttribute("uv",new A(t,2))}function ma(){E.call(this);this.type="Camera";this.matrixWorldInverse=new S;this.projectionMatrix=new S}function Ca(a,b,c,d){ma.call(this);this.type="PerspectiveCamera";this.fov=void 0!==a?a:50;this.zoom=1;this.near=void 0!==
|
|
|
+b,c,d,e,f));this.mergeVertices()}function ib(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,k,H,y,R){var Ea=f/H,U=g/y,D=f/2,da=g/2,E=k/2;g=H+1;var B=y+1,P=f=0,J,N,M=new q;for(N=0;N<B;N++){var G=N*U-da;for(J=0;J<g;J++)M[a]=(J*Ea-D)*d,M[b]=G*e,M[c]=E,l.push(M.x,M.y,M.z),M[a]=0,M[b]=0,M[c]=0<k?1:-1,u.push(M.x,M.y,M.z),p.push(J/H),p.push(1-N/y),f+=1}for(N=0;N<y;N++)for(J=0;J<H;J++)a=n+J+g*(N+1),b=n+(J+1)+g*(N+1),c=n+(J+1)+g*N,m.push(n+J+g*N,a,c),m.push(a,b,c),P+=6;h.addGroup(t,P,R);t+=P;n+=f}G.call(this);this.type=
|
|
|
+"BoxBufferGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};var h=this;d=Math.floor(d)||1;e=Math.floor(e)||1;f=Math.floor(f)||1;var m=[],l=[],u=[],p=[],n=0,t=0;g("z","y","x",-1,-1,c,b,a,f,e,0);g("z","y","x",1,-1,c,b,-a,f,e,1);g("x","z","y",1,1,a,c,b,d,f,2);g("x","z","y",1,-1,a,c,-b,d,f,3);g("x","y","z",1,-1,a,b,c,d,e,4);g("x","y","z",-1,-1,a,b,-c,d,e,5);this.setIndex(m);this.addAttribute("position",new B(l,3));this.addAttribute("normal",new B(u,
|
|
|
+3));this.addAttribute("uv",new B(p,2))}function yc(a,b,c,d){K.call(this);this.type="PlaneGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};this.fromBufferGeometry(new jb(a,b,c,d))}function jb(a,b,c,d){G.call(this);this.type="PlaneBufferGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};var e=a/2,f=b/2;c=Math.floor(c)||1;d=Math.floor(d)||1;var g=c+1,h=d+1,m=a/c,l=b/d,u=[],p=[],n=[],t=[];for(a=0;a<h;a++){var k=a*l-f;for(b=0;b<g;b++)p.push(b*m-e,
|
|
|
+-k,0),n.push(0,0,1),t.push(b/c),t.push(1-a/d)}for(a=0;a<d;a++)for(b=0;b<c;b++)e=b+g*(a+1),f=b+1+g*(a+1),h=b+1+g*a,u.push(b+g*a,e,h),u.push(e,f,h);this.setIndex(u);this.addAttribute("position",new B(p,3));this.addAttribute("normal",new B(n,3));this.addAttribute("uv",new B(t,2))}function ma(){E.call(this);this.type="Camera";this.matrixWorldInverse=new S;this.projectionMatrix=new S}function Ca(a,b,c,d){ma.call(this);this.type="PerspectiveCamera";this.fov=void 0!==a?a:50;this.zoom=1;this.near=void 0!==
|
|
|
c?c:.1;this.far=void 0!==d?d:2E3;this.focus=10;this.aspect=void 0!==b?b:1;this.view=null;this.filmGauge=35;this.filmOffset=0;this.updateProjectionMatrix()}function Ib(a,b,c,d,e,f){ma.call(this);this.type="OrthographicCamera";this.zoom=1;this.view=null;this.left=a;this.right=b;this.top=c;this.bottom=d;this.near=void 0!==e?e:.1;this.far=void 0!==f?f:2E3;this.updateProjectionMatrix()}function Df(a,b,c){var d,e,f;return{setMode:function(a){d=a},setIndex:function(c){c.array instanceof Uint32Array&&b.get("OES_element_index_uint")?
|
|
|
(e=a.UNSIGNED_INT,f=4):c.array instanceof Uint16Array?(e=a.UNSIGNED_SHORT,f=2):(e=a.UNSIGNED_BYTE,f=1)},render:function(b,h){a.drawElements(d,h,e,b*f);c.calls++;c.vertices+=h;d===a.TRIANGLES&&(c.faces+=h/3)},renderInstances:function(g,h,m){var l=b.get("ANGLE_instanced_arrays");null===l?console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays."):(l.drawElementsInstancedANGLE(d,m,e,h*f,g.maxInstancedCount),c.calls++,
|
|
|
c.vertices+=m*g.maxInstancedCount,d===a.TRIANGLES&&(c.faces+=g.maxInstancedCount*m/3))}}}function Ef(a,b,c){var d;return{setMode:function(a){d=a},render:function(b,f){a.drawArrays(d,b,f);c.calls++;c.vertices+=f;d===a.TRIANGLES&&(c.faces+=f/3)},renderInstances:function(e){var f=b.get("ANGLE_instanced_arrays");if(null===f)console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");else{var g=e.attributes.position,g=
|
|
|
-g.isInterleavedBufferAttribute?g.data.count:g.count;f.drawArraysInstancedANGLE(d,0,g,e.maxInstancedCount);c.calls++;c.vertices+=g*e.maxInstancedCount;d===a.TRIANGLES&&(c.faces+=e.maxInstancedCount*g/3)}}}}function Ff(){var a={};return{get:function(b){if(void 0!==a[b.id])return a[b.id];var c;switch(b.type){case "DirectionalLight":c={direction:new q,color:new I,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new C};break;case "SpotLight":c={position:new q,direction:new q,color:new I,distance:0,
|
|
|
-coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new C};break;case "PointLight":c={position:new q,color:new I,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new C};break;case "HemisphereLight":c={direction:new q,skyColor:new I,groundColor:new I};break;case "RectAreaLight":c={color:new I,position:new q,halfWidth:new q,halfHeight:new q}}return a[b.id]=c}}}function Gf(a){a=a.split("\n");for(var b=0;b<a.length;b++)a[b]=b+1+": "+a[b];return a.join("\n")}
|
|
|
+g.isInterleavedBufferAttribute?g.data.count:g.count;f.drawArraysInstancedANGLE(d,0,g,e.maxInstancedCount);c.calls++;c.vertices+=g*e.maxInstancedCount;d===a.TRIANGLES&&(c.faces+=e.maxInstancedCount*g/3)}}}}function Ff(){var a={};return{get:function(b){if(void 0!==a[b.id])return a[b.id];var c;switch(b.type){case "DirectionalLight":c={direction:new q,color:new I,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new D};break;case "SpotLight":c={position:new q,direction:new q,color:new I,distance:0,
|
|
|
+coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new D};break;case "PointLight":c={position:new q,color:new I,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new D};break;case "HemisphereLight":c={direction:new q,skyColor:new I,groundColor:new I};break;case "RectAreaLight":c={color:new I,position:new q,halfWidth:new q,halfHeight:new q}}return a[b.id]=c}}}function Gf(a){a=a.split("\n");for(var b=0;b<a.length;b++)a[b]=b+1+": "+a[b];return a.join("\n")}
|
|
|
function Ge(a,b,c){var d=a.createShader(b);a.shaderSource(d,c);a.compileShader(d);!1===a.getShaderParameter(d,a.COMPILE_STATUS)&&console.error("THREE.WebGLShader: Shader couldn't compile.");""!==a.getShaderInfoLog(d)&&console.warn("THREE.WebGLShader: gl.getShaderInfoLog()",b===a.VERTEX_SHADER?"vertex":"fragment",a.getShaderInfoLog(d),Gf(c));return d}function He(a){switch(a){case 3E3:return["Linear","( value )"];case 3001:return["sRGB","( value )"];case 3002:return["RGBE","( value )"];case 3004:return["RGBM",
|
|
|
"( value, 7.0 )"];case 3005:return["RGBM","( value, 16.0 )"];case 3006:return["RGBD","( value, 256.0 )"];case 3007:return["Gamma","( value, float( GAMMA_FACTOR ) )"];default:throw Error("unsupported encoding: "+a);}}function Sd(a,b){var c=He(b);return"vec4 "+a+"( vec4 value ) { return "+c[0]+"ToLinear"+c[1]+"; }"}function Hf(a,b){var c=He(b);return"vec4 "+a+"( vec4 value ) { return LinearTo"+c[0]+c[1]+"; }"}function If(a,b){var c;switch(b){case 1:c="Linear";break;case 2:c="Reinhard";break;case 3:c=
|
|
|
"Uncharted2";break;case 4:c="OptimizedCineon";break;default:throw Error("unsupported toneMapping: "+b);}return"vec3 "+a+"( vec3 color ) { return "+c+"ToneMapping( color ); }"}function Jf(a,b,c){a=a||{};return[a.derivatives||b.envMapCubeUV||b.bumpMap||b.normalMap||b.flatShading?"#extension GL_OES_standard_derivatives : enable":"",(a.fragDepth||b.logarithmicDepthBuffer)&&c.get("EXT_frag_depth")?"#extension GL_EXT_frag_depth : enable":"",a.drawBuffers&&c.get("WEBGL_draw_buffers")?"#extension GL_EXT_draw_buffers : require":
|
|
@@ -93,17 +93,17 @@ b.get(a.data).__webglBuffer:b.get(a).__webglBuffer},getAttributeProperties:funct
|
|
|
c.__image__webglTextureCube)a.deleteTexture(c.__image__webglTextureCube);else{if(void 0===c.__webglInit)break a;a.deleteTexture(c.__webglTexture)}d["delete"](b)}q.textures--}function p(b){b=b.target;b.removeEventListener("dispose",p);var c=d.get(b),e=d.get(b.texture);if(b){void 0!==e.__webglTexture&&a.deleteTexture(e.__webglTexture);b.depthTexture&&b.depthTexture.dispose();if(b.isWebGLRenderTargetCube)for(e=0;6>e;e++)a.deleteFramebuffer(c.__webglFramebuffer[e]),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer[e]);
|
|
|
else a.deleteFramebuffer(c.__webglFramebuffer),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer);d["delete"](b.texture);d["delete"](b)}q.textures--}function n(b,g){var l=d.get(b);if(0<b.version&&l.__version!==b.version){var n=b.image;if(void 0===n)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined",b);else if(!1===n.complete)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete",b);else{void 0===l.__webglInit&&(l.__webglInit=
|
|
|
!0,b.addEventListener("dispose",u),l.__webglTexture=a.createTexture(),q.textures++);c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_2D,l.__webglTexture);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b.flipY);a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,b.premultiplyAlpha);a.pixelStorei(a.UNPACK_ALIGNMENT,b.unpackAlignment);var p=h(b.image,e.maxTextureSize);if((1001!==b.wrapS||1001!==b.wrapT||1003!==b.minFilter&&1006!==b.minFilter)&&!1===m(p))if(n=p,n instanceof HTMLImageElement||n instanceof HTMLCanvasElement){var k=
|
|
|
-document.createElementNS("http://www.w3.org/1999/xhtml","canvas");k.width=T.nearestPowerOfTwo(n.width);k.height=T.nearestPowerOfTwo(n.height);k.getContext("2d").drawImage(n,0,0,k.width,k.height);console.warn("THREE.WebGLRenderer: image is not power of two ("+n.width+"x"+n.height+"). Resized to "+k.width+"x"+k.height,n);p=k}else p=n;var n=m(p),k=f(b.format),r=f(b.type);t(a.TEXTURE_2D,b,n);var y=b.mipmaps;if(b.isDepthTexture){y=a.DEPTH_COMPONENT;if(1015===b.type){if(!w)throw Error("Float Depth Texture only supported in WebGL2.0");
|
|
|
-y=a.DEPTH_COMPONENT32F}else w&&(y=a.DEPTH_COMPONENT16);1026===b.format&&y===a.DEPTH_COMPONENT&&1012!==b.type&&1014!==b.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),b.type=1012,r=f(b.type));1027===b.format&&(y=a.DEPTH_STENCIL,1020!==b.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),b.type=1020,r=f(b.type)));c.texImage2D(a.TEXTURE_2D,0,y,p.width,p.height,0,k,r,null)}else if(b.isDataTexture)if(0<
|
|
|
-y.length&&n){for(var U=0,C=y.length;U<C;U++)p=y[U],c.texImage2D(a.TEXTURE_2D,U,k,p.width,p.height,0,k,r,p.data);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,k,p.width,p.height,0,k,r,p.data);else if(b.isCompressedTexture)for(U=0,C=y.length;U<C;U++)p=y[U],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(k)?c.compressedTexImage2D(a.TEXTURE_2D,U,k,p.width,p.height,0,p.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):
|
|
|
-c.texImage2D(a.TEXTURE_2D,U,k,p.width,p.height,0,k,r,p.data);else if(0<y.length&&n){U=0;for(C=y.length;U<C;U++)p=y[U],c.texImage2D(a.TEXTURE_2D,U,k,k,r,p);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,k,k,r,p);b.generateMipmaps&&n&&a.generateMipmap(a.TEXTURE_2D);l.__version=b.version;if(b.onUpdate)b.onUpdate(b);return}}c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_2D,l.__webglTexture)}function t(c,g,h){h?(a.texParameteri(c,a.TEXTURE_WRAP_S,f(g.wrapS)),a.texParameteri(c,a.TEXTURE_WRAP_T,
|
|
|
+document.createElementNS("http://www.w3.org/1999/xhtml","canvas");k.width=T.nearestPowerOfTwo(n.width);k.height=T.nearestPowerOfTwo(n.height);k.getContext("2d").drawImage(n,0,0,k.width,k.height);console.warn("THREE.WebGLRenderer: image is not power of two ("+n.width+"x"+n.height+"). Resized to "+k.width+"x"+k.height,n);p=k}else p=n;var n=m(p),k=f(b.format),r=f(b.type);t(a.TEXTURE_2D,b,n);var A=b.mipmaps;if(b.isDepthTexture){A=a.DEPTH_COMPONENT;if(1015===b.type){if(!w)throw Error("Float Depth Texture only supported in WebGL2.0");
|
|
|
+A=a.DEPTH_COMPONENT32F}else w&&(A=a.DEPTH_COMPONENT16);1026===b.format&&A===a.DEPTH_COMPONENT&&1012!==b.type&&1014!==b.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),b.type=1012,r=f(b.type));1027===b.format&&(A=a.DEPTH_STENCIL,1020!==b.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),b.type=1020,r=f(b.type)));c.texImage2D(a.TEXTURE_2D,0,A,p.width,p.height,0,k,r,null)}else if(b.isDataTexture)if(0<
|
|
|
+A.length&&n){for(var U=0,D=A.length;U<D;U++)p=A[U],c.texImage2D(a.TEXTURE_2D,U,k,p.width,p.height,0,k,r,p.data);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,k,p.width,p.height,0,k,r,p.data);else if(b.isCompressedTexture)for(U=0,D=A.length;U<D;U++)p=A[U],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(k)?c.compressedTexImage2D(a.TEXTURE_2D,U,k,p.width,p.height,0,p.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):
|
|
|
+c.texImage2D(a.TEXTURE_2D,U,k,p.width,p.height,0,k,r,p.data);else if(0<A.length&&n){U=0;for(D=A.length;U<D;U++)p=A[U],c.texImage2D(a.TEXTURE_2D,U,k,k,r,p);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,k,k,r,p);b.generateMipmaps&&n&&a.generateMipmap(a.TEXTURE_2D);l.__version=b.version;if(b.onUpdate)b.onUpdate(b);return}}c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_2D,l.__webglTexture)}function t(c,g,h){h?(a.texParameteri(c,a.TEXTURE_WRAP_S,f(g.wrapS)),a.texParameteri(c,a.TEXTURE_WRAP_T,
|
|
|
f(g.wrapT)),a.texParameteri(c,a.TEXTURE_MAG_FILTER,f(g.magFilter)),a.texParameteri(c,a.TEXTURE_MIN_FILTER,f(g.minFilter))):(a.texParameteri(c,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(c,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),1001===g.wrapS&&1001===g.wrapT||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.",g),a.texParameteri(c,a.TEXTURE_MAG_FILTER,l(g.magFilter)),a.texParameteri(c,a.TEXTURE_MIN_FILTER,l(g.minFilter)),
|
|
|
1003!==g.minFilter&&1006!==g.minFilter&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.",g));!(h=b.get("EXT_texture_filter_anisotropic"))||1015===g.type&&null===b.get("OES_texture_float_linear")||1016===g.type&&null===b.get("OES_texture_half_float_linear")||!(1<g.anisotropy||d.get(g).__currentAnisotropy)||(a.texParameterf(c,h.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(g.anisotropy,e.getMaxAnisotropy())),d.get(g).__currentAnisotropy=
|
|
|
g.anisotropy)}function k(b,e,g,h){var m=f(e.texture.format),l=f(e.texture.type);c.texImage2D(h,0,m,e.width,e.height,0,m,l,null);a.bindFramebuffer(a.FRAMEBUFFER,b);a.framebufferTexture2D(a.FRAMEBUFFER,g,h,d.get(e.texture).__webglTexture,0);a.bindFramebuffer(a.FRAMEBUFFER,null)}function r(b,c){a.bindRenderbuffer(a.RENDERBUFFER,b);c.depthBuffer&&!c.stencilBuffer?(a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_COMPONENT16,c.width,c.height),a.framebufferRenderbuffer(a.FRAMEBUFFER,a.DEPTH_ATTACHMENT,a.RENDERBUFFER,
|
|
|
b)):c.depthBuffer&&c.stencilBuffer?(a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_STENCIL,c.width,c.height),a.framebufferRenderbuffer(a.FRAMEBUFFER,a.DEPTH_STENCIL_ATTACHMENT,a.RENDERBUFFER,b)):a.renderbufferStorage(a.RENDERBUFFER,a.RGBA4,c.width,c.height);a.bindRenderbuffer(a.RENDERBUFFER,null)}var q=g.memory,w="undefined"!==typeof WebGL2RenderingContext&&a instanceof WebGL2RenderingContext;this.setTexture2D=n;this.setTextureCube=function(b,g){var l=d.get(b);if(6===b.image.length)if(0<b.version&&
|
|
|
-l.__version!==b.version){l.__image__webglTextureCube||(b.addEventListener("dispose",u),l.__image__webglTextureCube=a.createTexture(),q.textures++);c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_CUBE_MAP,l.__image__webglTextureCube);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b.flipY);for(var n=b&&b.isCompressedTexture,p=b.image[0]&&b.image[0].isDataTexture,k=[],r=0;6>r;r++)k[r]=n||p?p?b.image[r].image:b.image[r]:h(b.image[r],e.maxCubemapSize);var y=m(k[0]),w=f(b.format),C=f(b.type);t(a.TEXTURE_CUBE_MAP,
|
|
|
-b,y);for(r=0;6>r;r++)if(n)for(var da,E=k[r].mipmaps,A=0,P=E.length;A<P;A++)da=E[A],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(w)?c.compressedTexImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+r,A,w,da.width,da.height,0,da.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+r,A,w,da.width,da.height,0,w,C,da.data);else p?c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+r,0,w,
|
|
|
-k[r].width,k[r].height,0,w,C,k[r].data):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+r,0,w,w,C,k[r]);b.generateMipmaps&&y&&a.generateMipmap(a.TEXTURE_CUBE_MAP);l.__version=b.version;if(b.onUpdate)b.onUpdate(b)}else c.activeTexture(a.TEXTURE0+g),c.bindTexture(a.TEXTURE_CUBE_MAP,l.__image__webglTextureCube)};this.setTextureCubeDynamic=function(b,e){c.activeTexture(a.TEXTURE0+e);c.bindTexture(a.TEXTURE_CUBE_MAP,d.get(b).__webglTexture)};this.setupRenderTarget=function(b){var e=d.get(b),f=d.get(b.texture);
|
|
|
+l.__version!==b.version){l.__image__webglTextureCube||(b.addEventListener("dispose",u),l.__image__webglTextureCube=a.createTexture(),q.textures++);c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_CUBE_MAP,l.__image__webglTextureCube);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b.flipY);for(var n=b&&b.isCompressedTexture,p=b.image[0]&&b.image[0].isDataTexture,k=[],r=0;6>r;r++)k[r]=n||p?p?b.image[r].image:b.image[r]:h(b.image[r],e.maxCubemapSize);var A=m(k[0]),w=f(b.format),D=f(b.type);t(a.TEXTURE_CUBE_MAP,
|
|
|
+b,A);for(r=0;6>r;r++)if(n)for(var da,E=k[r].mipmaps,B=0,P=E.length;B<P;B++)da=E[B],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(w)?c.compressedTexImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+r,B,w,da.width,da.height,0,da.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+r,B,w,da.width,da.height,0,w,D,da.data);else p?c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+r,0,w,
|
|
|
+k[r].width,k[r].height,0,w,D,k[r].data):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+r,0,w,w,D,k[r]);b.generateMipmaps&&A&&a.generateMipmap(a.TEXTURE_CUBE_MAP);l.__version=b.version;if(b.onUpdate)b.onUpdate(b)}else c.activeTexture(a.TEXTURE0+g),c.bindTexture(a.TEXTURE_CUBE_MAP,l.__image__webglTextureCube)};this.setTextureCubeDynamic=function(b,e){c.activeTexture(a.TEXTURE0+e);c.bindTexture(a.TEXTURE_CUBE_MAP,d.get(b).__webglTexture)};this.setupRenderTarget=function(b){var e=d.get(b),f=d.get(b.texture);
|
|
|
b.addEventListener("dispose",p);f.__webglTexture=a.createTexture();q.textures++;var g=!0===b.isWebGLRenderTargetCube,h=m(b);if(g){e.__webglFramebuffer=[];for(var l=0;6>l;l++)e.__webglFramebuffer[l]=a.createFramebuffer()}else e.__webglFramebuffer=a.createFramebuffer();if(g){c.bindTexture(a.TEXTURE_CUBE_MAP,f.__webglTexture);t(a.TEXTURE_CUBE_MAP,b.texture,h);for(l=0;6>l;l++)k(e.__webglFramebuffer[l],b,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+l);b.texture.generateMipmaps&&h&&a.generateMipmap(a.TEXTURE_CUBE_MAP);
|
|
|
c.bindTexture(a.TEXTURE_CUBE_MAP,null)}else c.bindTexture(a.TEXTURE_2D,f.__webglTexture),t(a.TEXTURE_2D,b.texture,h),k(e.__webglFramebuffer,b,a.COLOR_ATTACHMENT0,a.TEXTURE_2D),b.texture.generateMipmaps&&h&&a.generateMipmap(a.TEXTURE_2D),c.bindTexture(a.TEXTURE_2D,null);if(b.depthBuffer){e=d.get(b);f=!0===b.isWebGLRenderTargetCube;if(b.depthTexture){if(f)throw Error("target.depthTexture not supported in Cube render targets");if(b&&b.isWebGLRenderTargetCube)throw Error("Depth Texture with cube render targets is not supported!");
|
|
|
a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer);if(!b.depthTexture||!b.depthTexture.isDepthTexture)throw Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");d.get(b.depthTexture).__webglTexture&&b.depthTexture.image.width===b.width&&b.depthTexture.image.height===b.height||(b.depthTexture.image.width=b.width,b.depthTexture.image.height=b.height,b.depthTexture.needsUpdate=!0);n(b.depthTexture,0);e=d.get(b.depthTexture).__webglTexture;if(1026===b.depthTexture.format)a.framebufferTexture2D(a.FRAMEBUFFER,
|
|
@@ -111,14 +111,14 @@ a.DEPTH_ATTACHMENT,a.TEXTURE_2D,e,0);else if(1027===b.depthTexture.format)a.fram
|
|
|
b);a.bindFramebuffer(a.FRAMEBUFFER,null)}};this.updateRenderTargetMipmap=function(b){var e=b.texture;e.generateMipmaps&&m(b)&&1003!==e.minFilter&&1006!==e.minFilter&&(b=b&&b.isWebGLRenderTargetCube?a.TEXTURE_CUBE_MAP:a.TEXTURE_2D,e=d.get(e).__webglTexture,c.bindTexture(b,e),a.generateMipmap(b),c.bindTexture(b,null))}}function Rf(){var a={};return{get:function(b){b=b.uuid;var c=a[b];void 0===c&&(c={},a[b]=c);return c},"delete":function(b){delete a[b.uuid]},clear:function(){a={}}}}function Sf(a,b,c){function d(b,
|
|
|
c,d){var e=new Uint8Array(4),f=a.createTexture();a.bindTexture(b,f);a.texParameteri(b,a.TEXTURE_MIN_FILTER,a.NEAREST);a.texParameteri(b,a.TEXTURE_MAG_FILTER,a.NEAREST);for(b=0;b<d;b++)a.texImage2D(c+b,0,a.RGBA,1,1,0,a.RGBA,a.UNSIGNED_BYTE,e);return f}function e(b){!0!==x[b]&&(a.enable(b),x[b]=!0)}function f(b){!1!==x[b]&&(a.disable(b),x[b]=!1)}function g(b,d,g,h,m,l,n,u){0!==b?e(a.BLEND):f(a.BLEND);if(b!==v||u!==sa)2===b?u?(a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.ONE,
|
|
|
a.ONE,a.ONE,a.ONE)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.SRC_ALPHA,a.ONE)):3===b?u?(a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.ZERO,a.ZERO,a.ONE_MINUS_SRC_COLOR,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.ZERO,a.ONE_MINUS_SRC_COLOR)):4===b?u?(a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.ZERO,a.SRC_COLOR,a.ZERO,a.SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.ZERO,a.SRC_COLOR)):u?(a.blendEquationSeparate(a.FUNC_ADD,
|
|
|
-a.FUNC_ADD),a.blendFuncSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)),v=b,sa=u;if(5===b){m=m||d;l=l||g;n=n||h;if(d!==F||m!==R)a.blendEquationSeparate(c(d),c(m)),F=d,R=m;if(g!==H||h!==z||l!==C||n!==U)a.blendFuncSeparate(c(g),c(h),c(l),c(n)),H=g,z=h,C=l,U=n}else U=C=R=z=H=F=null}function h(a){n.setFunc(a)}function m(b){da!==b&&(b?a.frontFace(a.CW):a.frontFace(a.CCW),
|
|
|
+a.FUNC_ADD),a.blendFuncSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)),v=b,sa=u;if(5===b){m=m||d;l=l||g;n=n||h;if(d!==F||m!==R)a.blendEquationSeparate(c(d),c(m)),F=d,R=m;if(g!==H||h!==y||l!==D||n!==U)a.blendFuncSeparate(c(g),c(h),c(l),c(n)),H=g,y=h,D=l,U=n}else U=D=R=y=H=F=null}function h(a){n.setFunc(a)}function m(b){da!==b&&(b?a.frontFace(a.CW):a.frontFace(a.CCW),
|
|
|
da=b)}function l(b){0!==b?(e(a.CULL_FACE),b!==E&&(1===b?a.cullFace(a.BACK):2===b?a.cullFace(a.FRONT):a.cullFace(a.FRONT_AND_BACK))):f(a.CULL_FACE);E=b}function u(b){void 0===b&&(b=a.TEXTURE0+M-1);W!==b&&(a.activeTexture(b),W=b)}var p=new function(){var b=!1,c=new fa,d=null,e=new fa;return{setMask:function(c){d===c||b||(a.colorMask(c,c,c,c),d=c)},setLocked:function(a){b=a},setClear:function(b,d,f,g,h){!0===h&&(b*=g,d*=g,f*=g);c.set(b,d,f,g);!1===e.equals(c)&&(a.clearColor(b,d,f,g),e.copy(c))},reset:function(){b=
|
|
|
!1;d=null;e.set(0,0,0,1)}}},n=new function(){var b=!1,c=null,d=null,g=null;return{setTest:function(b){b?e(a.DEPTH_TEST):f(a.DEPTH_TEST)},setMask:function(d){c===d||b||(a.depthMask(d),c=d)},setFunc:function(b){if(d!==b){if(b)switch(b){case 0:a.depthFunc(a.NEVER);break;case 1:a.depthFunc(a.ALWAYS);break;case 2:a.depthFunc(a.LESS);break;case 3:a.depthFunc(a.LEQUAL);break;case 4:a.depthFunc(a.EQUAL);break;case 5:a.depthFunc(a.GEQUAL);break;case 6:a.depthFunc(a.GREATER);break;case 7:a.depthFunc(a.NOTEQUAL);
|
|
|
break;default:a.depthFunc(a.LEQUAL)}else a.depthFunc(a.LEQUAL);d=b}},setLocked:function(a){b=a},setClear:function(b){g!==b&&(a.clearDepth(b),g=b)},reset:function(){b=!1;g=d=c=null}}},t=new function(){var b=!1,c=null,d=null,g=null,h=null,m=null,l=null,n=null,u=null;return{setTest:function(b){b?e(a.STENCIL_TEST):f(a.STENCIL_TEST)},setMask:function(d){c===d||b||(a.stencilMask(d),c=d)},setFunc:function(b,c,e){if(d!==b||g!==c||h!==e)a.stencilFunc(b,c,e),d=b,g=c,h=e},setOp:function(b,c,d){if(m!==b||l!==
|
|
|
-c||n!==d)a.stencilOp(b,c,d),m=b,l=c,n=d},setLocked:function(a){b=a},setClear:function(b){u!==b&&(a.clearStencil(b),u=b)},reset:function(){b=!1;u=n=l=m=h=g=d=c=null}}},k=a.getParameter(a.MAX_VERTEX_ATTRIBS),r=new Uint8Array(k),q=new Uint8Array(k),w=new Uint8Array(k),x={},L=null,v=null,F=null,H=null,z=null,R=null,C=null,U=null,sa=!1,da=null,E=null,A=null,P=null,J=null,N=null,M=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS),k=parseFloat(/^WebGL\ ([0-9])/.exec(a.getParameter(a.VERSION))[1]),G=1<=parseFloat(k),
|
|
|
+c||n!==d)a.stencilOp(b,c,d),m=b,l=c,n=d},setLocked:function(a){b=a},setClear:function(b){u!==b&&(a.clearStencil(b),u=b)},reset:function(){b=!1;u=n=l=m=h=g=d=c=null}}},k=a.getParameter(a.MAX_VERTEX_ATTRIBS),r=new Uint8Array(k),q=new Uint8Array(k),w=new Uint8Array(k),x={},L=null,v=null,F=null,H=null,y=null,R=null,D=null,U=null,sa=!1,da=null,E=null,B=null,P=null,J=null,N=null,M=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS),k=parseFloat(/^WebGL\ ([0-9])/.exec(a.getParameter(a.VERSION))[1]),G=1<=parseFloat(k),
|
|
|
W=null,I={},Q=new fa,S=new fa,K={};K[a.TEXTURE_2D]=d(a.TEXTURE_2D,a.TEXTURE_2D,1);K[a.TEXTURE_CUBE_MAP]=d(a.TEXTURE_CUBE_MAP,a.TEXTURE_CUBE_MAP_POSITIVE_X,6);return{buffers:{color:p,depth:n,stencil:t},init:function(){p.setClear(0,0,0,1);n.setClear(1);t.setClear(0);e(a.DEPTH_TEST);h(3);m(!1);l(1);e(a.CULL_FACE);e(a.BLEND);g(1)},initAttributes:function(){for(var a=0,b=r.length;a<b;a++)r[a]=0},enableAttribute:function(c){r[c]=1;0===q[c]&&(a.enableVertexAttribArray(c),q[c]=1);0!==w[c]&&(b.get("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(c,
|
|
|
0),w[c]=0)},enableAttributeAndDivisor:function(b,c,d){r[b]=1;0===q[b]&&(a.enableVertexAttribArray(b),q[b]=1);w[b]!==c&&(d.vertexAttribDivisorANGLE(b,c),w[b]=c)},disableUnusedAttributes:function(){for(var b=0,c=q.length;b!==c;++b)q[b]!==r[b]&&(a.disableVertexAttribArray(b),q[b]=0)},enable:e,disable:f,getCompressedTextureFormats:function(){if(null===L&&(L=[],b.get("WEBGL_compressed_texture_pvrtc")||b.get("WEBGL_compressed_texture_s3tc")||b.get("WEBGL_compressed_texture_etc1")))for(var c=a.getParameter(a.COMPRESSED_TEXTURE_FORMATS),
|
|
|
-d=0;d<c.length;d++)L.push(c[d]);return L},setBlending:g,setColorWrite:function(a){p.setMask(a)},setDepthTest:function(a){n.setTest(a)},setDepthWrite:function(a){n.setMask(a)},setDepthFunc:h,setStencilTest:function(a){t.setTest(a)},setStencilWrite:function(a){t.setMask(a)},setStencilFunc:function(a,b,c){t.setFunc(a,b,c)},setStencilOp:function(a,b,c){t.setOp(a,b,c)},setFlipSided:m,setCullFace:l,setLineWidth:function(b){b!==A&&(G&&a.lineWidth(b),A=b)},setPolygonOffset:function(b,c,d){if(b){if(e(a.POLYGON_OFFSET_FILL),
|
|
|
+d=0;d<c.length;d++)L.push(c[d]);return L},setBlending:g,setColorWrite:function(a){p.setMask(a)},setDepthTest:function(a){n.setTest(a)},setDepthWrite:function(a){n.setMask(a)},setDepthFunc:h,setStencilTest:function(a){t.setTest(a)},setStencilWrite:function(a){t.setMask(a)},setStencilFunc:function(a,b,c){t.setFunc(a,b,c)},setStencilOp:function(a,b,c){t.setOp(a,b,c)},setFlipSided:m,setCullFace:l,setLineWidth:function(b){b!==B&&(G&&a.lineWidth(b),B=b)},setPolygonOffset:function(b,c,d){if(b){if(e(a.POLYGON_OFFSET_FILL),
|
|
|
P!==c||J!==d)a.polygonOffset(c,d),P=c,J=d}else f(a.POLYGON_OFFSET_FILL)},getScissorTest:function(){return N},setScissorTest:function(b){(N=b)?e(a.SCISSOR_TEST):f(a.SCISSOR_TEST)},activeTexture:u,bindTexture:function(b,c){null===W&&u();var d=I[W];void 0===d&&(d={type:void 0,texture:void 0},I[W]=d);if(d.type!==b||d.texture!==c)a.bindTexture(b,c||K[b]),d.type=b,d.texture=c},compressedTexImage2D:function(){try{a.compressedTexImage2D.apply(a,arguments)}catch(b){console.error(b)}},texImage2D:function(){try{a.texImage2D.apply(a,
|
|
|
arguments)}catch(b){console.error(b)}},scissor:function(b){!1===Q.equals(b)&&(a.scissor(b.x,b.y,b.z,b.w),Q.copy(b))},viewport:function(b){!1===S.equals(b)&&(a.viewport(b.x,b.y,b.z,b.w),S.copy(b))},reset:function(){for(var b=0;b<q.length;b++)1===q[b]&&(a.disableVertexAttribArray(b),q[b]=0);x={};W=L=null;I={};E=da=v=null;p.reset();n.reset();t.reset()}}}function Tf(a,b,c){function d(b){if("highp"===b){if(0<a.getShaderPrecisionFormat(a.VERTEX_SHADER,a.HIGH_FLOAT).precision&&0<a.getShaderPrecisionFormat(a.FRAGMENT_SHADER,
|
|
|
a.HIGH_FLOAT).precision)return"highp";b="mediump"}return"mediump"===b&&0<a.getShaderPrecisionFormat(a.VERTEX_SHADER,a.MEDIUM_FLOAT).precision&&0<a.getShaderPrecisionFormat(a.FRAGMENT_SHADER,a.MEDIUM_FLOAT).precision?"mediump":"lowp"}var e,f=void 0!==c.precision?c.precision:"highp",g=d(f);g!==f&&(console.warn("THREE.WebGLRenderer:",f,"not supported, using",g,"instead."),f=g);c=!0===c.logarithmicDepthBuffer&&!!b.get("EXT_frag_depth");var g=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS),h=a.getParameter(a.MAX_VERTEX_TEXTURE_IMAGE_UNITS),
|
|
@@ -126,65 +126,65 @@ m=a.getParameter(a.MAX_TEXTURE_SIZE),l=a.getParameter(a.MAX_CUBE_MAP_TEXTURE_SIZ
|
|
|
maxTextures:g,maxVertexTextures:h,maxTextureSize:m,maxCubemapSize:l,maxAttributes:u,maxVertexUniforms:p,maxVaryings:n,maxFragmentUniforms:t,vertexTextures:k,floatFragmentTextures:r,floatVertexTextures:k&&r}}function Uf(a){var b={};return{get:function(c){if(void 0!==b[c])return b[c];var d;switch(c){case "WEBGL_depth_texture":d=a.getExtension("WEBGL_depth_texture")||a.getExtension("MOZ_WEBGL_depth_texture")||a.getExtension("WEBKIT_WEBGL_depth_texture");break;case "EXT_texture_filter_anisotropic":d=
|
|
|
a.getExtension("EXT_texture_filter_anisotropic")||a.getExtension("MOZ_EXT_texture_filter_anisotropic")||a.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case "WEBGL_compressed_texture_s3tc":d=a.getExtension("WEBGL_compressed_texture_s3tc")||a.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||a.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case "WEBGL_compressed_texture_pvrtc":d=a.getExtension("WEBGL_compressed_texture_pvrtc")||a.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");
|
|
|
break;case "WEBGL_compressed_texture_etc1":d=a.getExtension("WEBGL_compressed_texture_etc1");break;default:d=a.getExtension(c)}null===d&&console.warn("THREE.WebGLRenderer: "+c+" extension not supported.");return b[c]=d}}}function Vf(){function a(){l.value!==d&&(l.value=d,l.needsUpdate=0<e);c.numPlanes=e;c.numIntersection=0}function b(a,b,d,e){var f=null!==a?a.length:0,g=null;if(0!==f){g=l.value;if(!0!==e||null===g){e=d+4*f;b=b.matrixWorldInverse;m.getNormalMatrix(b);if(null===g||g.length<e)g=new Float32Array(e);
|
|
|
-for(e=0;e!==f;++e,d+=4)h.copy(a[e]).applyMatrix4(b,m),h.normal.toArray(g,d),g[d+3]=h.constant}l.value=g;l.needsUpdate=!0}c.numPlanes=f;return g}var c=this,d=null,e=0,f=!1,g=!1,h=new ua,m=new La,l={value:null,needsUpdate:!1};this.uniform=l;this.numIntersection=this.numPlanes=0;this.init=function(a,c,g){var h=0!==a.length||c||0!==e||f;f=c;d=b(a,g,0);e=a.length;return h};this.beginShadows=function(){g=!0;b(null)};this.endShadows=function(){g=!1;a()};this.setState=function(c,h,m,k,y,r){if(!f||null===
|
|
|
-c||0===c.length||g&&!m)g?b(null):a();else{m=g?0:e;var q=4*m,w=y.clippingState||null;l.value=w;w=b(c,k,q,r);for(c=0;c!==q;++c)w[c]=d[c];y.clippingState=w;this.numIntersection=h?this.numPlanes:0;this.numPlanes+=m}}}function Vd(a){function b(){Y.init();Y.scissor(V.copy(ea).multiplyScalar(Sa));Y.viewport(X.copy(ga).multiplyScalar(Sa));Y.buffers.color.setClear(Ja.r,Ja.g,Ja.b,kb,R)}function c(){T=ta=null;O="";Q=-1;Y.reset()}function d(a){a.preventDefault();c();b();Ma.clear()}function e(a){a=a.target;a.removeEventListener("dispose",
|
|
|
+for(e=0;e!==f;++e,d+=4)h.copy(a[e]).applyMatrix4(b,m),h.normal.toArray(g,d),g[d+3]=h.constant}l.value=g;l.needsUpdate=!0}c.numPlanes=f;return g}var c=this,d=null,e=0,f=!1,g=!1,h=new ua,m=new La,l={value:null,needsUpdate:!1};this.uniform=l;this.numIntersection=this.numPlanes=0;this.init=function(a,c,g){var h=0!==a.length||c||0!==e||f;f=c;d=b(a,g,0);e=a.length;return h};this.beginShadows=function(){g=!0;b(null)};this.endShadows=function(){g=!1;a()};this.setState=function(c,h,m,k,A,r){if(!f||null===
|
|
|
+c||0===c.length||g&&!m)g?b(null):a();else{m=g?0:e;var q=4*m,w=A.clippingState||null;l.value=w;w=b(c,k,q,r);for(c=0;c!==q;++c)w[c]=d[c];A.clippingState=w;this.numIntersection=h?this.numPlanes:0;this.numPlanes+=m}}}function Vd(a){function b(){Y.init();Y.scissor(V.copy(ea).multiplyScalar(Sa));Y.viewport(X.copy(ga).multiplyScalar(Sa));Y.buffers.color.setClear(Ja.r,Ja.g,Ja.b,kb,R)}function c(){T=ta=null;O="";Q=-1;Y.reset()}function d(a){a.preventDefault();c();b();Ma.clear()}function e(a){a=a.target;a.removeEventListener("dispose",
|
|
|
e);f(a);Ma["delete"](a)}function f(a){var b=Ma.get(a).program;a.program=void 0;void 0!==b&&ya.releaseProgram(b)}function g(a,b){return Math.abs(b[0])-Math.abs(a[0])}function h(a,b){return a.object.renderOrder!==b.object.renderOrder?a.object.renderOrder-b.object.renderOrder:a.material.program&&b.material.program&&a.material.program!==b.material.program?a.material.program.id-b.material.program.id:a.material.id!==b.material.id?a.material.id-b.material.id:a.z!==b.z?a.z-b.z:a.id-b.id}function m(a,b){return a.object.renderOrder!==
|
|
|
-b.object.renderOrder?a.object.renderOrder-b.object.renderOrder:a.z!==b.z?b.z-a.z:a.id-b.id}function l(a,b,c,d,e){var f;c.transparent?(d=A,f=++Ra):(d=sa,f=++E);f=d[f];void 0!==f?(f.id=a.id,f.object=a,f.geometry=b,f.material=c,f.z=Da.z,f.group=e):(f={id:a.id,object:a,geometry:b,material:c,z:Da.z,group:e},d.push(f))}function u(a){if(!la.intersectsSphere(a))return!1;var b=ca.numPlanes;if(0===b)return!0;var c=M.clippingPlanes,d=a.center;a=-a.radius;var e=0;do if(c[e].distanceToPoint(d)<a)return!1;while(++e!==
|
|
|
+b.object.renderOrder?a.object.renderOrder-b.object.renderOrder:a.z!==b.z?b.z-a.z:a.id-b.id}function l(a,b,c,d,e){var f;c.transparent?(d=B,f=++Ra):(d=sa,f=++E);f=d[f];void 0!==f?(f.id=a.id,f.object=a,f.geometry=b,f.material=c,f.z=Da.z,f.group=e):(f={id:a.id,object:a,geometry:b,material:c,z:Da.z,group:e},d.push(f))}function u(a){if(!la.intersectsSphere(a))return!1;var b=ca.numPlanes;if(0===b)return!0;var c=M.clippingPlanes,d=a.center;a=-a.radius;var e=0;do if(c[e].distanceToPoint(d)<a)return!1;while(++e!==
|
|
|
b);return!0}function p(a,b){if(!1!==a.visible){if(0!==(a.layers.mask&b.layers.mask))if(a.isLight)U.push(a);else if(a.isSprite){var c;(c=!1===a.frustumCulled)||(ka.center.set(0,0,0),ka.radius=.7071067811865476,ka.applyMatrix4(a.matrixWorld),c=!0===u(ka));c&&J.push(a)}else if(a.isLensFlare)N.push(a);else if(a.isImmediateRenderObject)!0===M.sortObjects&&(Da.setFromMatrixPosition(a.matrixWorld),Da.applyMatrix4(va)),l(a,null,a.material,Da.z,null);else if(a.isMesh||a.isLine||a.isPoints)if(a.isSkinnedMesh&&
|
|
|
a.skeleton.update(),(c=!1===a.frustumCulled)||(c=a.geometry,null===c.boundingSphere&&c.computeBoundingSphere(),ka.copy(c.boundingSphere).applyMatrix4(a.matrixWorld),c=!0===u(ka)),c){!0===M.sortObjects&&(Da.setFromMatrixPosition(a.matrixWorld),Da.applyMatrix4(va));var d=oa.update(a),e=a.material;if(Array.isArray(e)){var f=d.groups;c=0;for(var g=f.length;c<g;c++){var h=f[c],m=e[h.materialIndex];m&&!0===m.visible&&l(a,d,m,Da.z,h)}}else!0===e.visible&&l(a,d,e,Da.z,null)}d=a.children;c=0;for(g=d.length;c<
|
|
|
-g;c++)p(d[c],b)}}function n(a,b,c,d){for(var e=0,f=a.length;e<f;e++){var g=a[e],h=g.object,m=g.geometry,l=void 0===d?g.material:d,g=g.group;h.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,h.matrixWorld);h.normalMatrix.getNormalMatrix(h.modelViewMatrix);h.onBeforeRender(M,b,c,m,l,g);if(h.isImmediateRenderObject){k(l);var n=y(c,b.fog,l,h);O="";h.render(function(a){M.renderBufferImmediate(a,n,l)})}else M.renderBufferDirect(c,b.fog,m,l,h,g);h.onAfterRender(M,b,c,m,l,g)}}function k(a){2===a.side?
|
|
|
-Y.disable(B.CULL_FACE):Y.enable(B.CULL_FACE);Y.setFlipSided(1===a.side);!0===a.transparent?Y.setBlending(a.blending,a.blendEquation,a.blendSrc,a.blendDst,a.blendEquationAlpha,a.blendSrcAlpha,a.blendDstAlpha,a.premultipliedAlpha):Y.setBlending(0);Y.setDepthFunc(a.depthFunc);Y.setDepthTest(a.depthTest);Y.setDepthWrite(a.depthWrite);Y.setColorWrite(a.colorWrite);Y.setPolygonOffset(a.polygonOffset,a.polygonOffsetFactor,a.polygonOffsetUnits)}function y(a,b,c,d){ba=0;var g=Ma.get(c);ma&&(ra||a!==T)&&ca.setState(c.clippingPlanes,
|
|
|
+g;c++)p(d[c],b)}}function n(a,b,c,d){for(var e=0,f=a.length;e<f;e++){var g=a[e],h=g.object,m=g.geometry,l=void 0===d?g.material:d,g=g.group;h.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,h.matrixWorld);h.normalMatrix.getNormalMatrix(h.modelViewMatrix);h.onBeforeRender(M,b,c,m,l,g);if(h.isImmediateRenderObject){k(l);var n=A(c,b.fog,l,h);O="";h.render(function(a){M.renderBufferImmediate(a,n,l)})}else M.renderBufferDirect(c,b.fog,m,l,h,g);h.onAfterRender(M,b,c,m,l,g)}}function k(a){2===a.side?
|
|
|
+Y.disable(C.CULL_FACE):Y.enable(C.CULL_FACE);Y.setFlipSided(1===a.side);!0===a.transparent?Y.setBlending(a.blending,a.blendEquation,a.blendSrc,a.blendDst,a.blendEquationAlpha,a.blendSrcAlpha,a.blendDstAlpha,a.premultipliedAlpha):Y.setBlending(0);Y.setDepthFunc(a.depthFunc);Y.setDepthTest(a.depthTest);Y.setDepthWrite(a.depthWrite);Y.setColorWrite(a.colorWrite);Y.setPolygonOffset(a.polygonOffset,a.polygonOffsetFactor,a.polygonOffsetUnits)}function A(a,b,c,d){ba=0;var g=Ma.get(c);ma&&(ra||a!==T)&&ca.setState(c.clippingPlanes,
|
|
|
c.clipIntersection,c.clipShadows,a,g,a===T&&c.id===Q);!1===c.needsUpdate&&(void 0===g.program?c.needsUpdate=!0:c.fog&&g.fog!==b?c.needsUpdate=!0:c.lights&&g.lightsHash!==Z.hash?c.needsUpdate=!0:void 0===g.numClippingPlanes||g.numClippingPlanes===ca.numPlanes&&g.numIntersection===ca.numIntersection||(c.needsUpdate=!0));if(c.needsUpdate){a:{var h=Ma.get(c),m=ya.getParameters(c,Z,b,ca.numPlanes,ca.numIntersection,d),l=ya.getProgramCode(c,m),n=h.program,u=!0;if(void 0===n)c.addEventListener("dispose",
|
|
|
e);else if(n.code!==l)f(c);else if(void 0!==m.shaderID)break a;else u=!1;u&&(m.shaderID?(n=bb[m.shaderID],h.__webglShader={name:c.type,uniforms:Ha.clone(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader}):h.__webglShader={name:c.type,uniforms:c.uniforms,vertexShader:c.vertexShader,fragmentShader:c.fragmentShader},c.__webglShader=h.__webglShader,n=ya.acquireProgram(c,m,l),h.program=n,c.program=n);m=n.getAttributes();if(c.morphTargets)for(l=c.numSupportedMorphTargets=0;l<M.maxMorphTargets;l++)0<=
|
|
|
m["morphTarget"+l]&&c.numSupportedMorphTargets++;if(c.morphNormals)for(l=c.numSupportedMorphNormals=0;l<M.maxMorphNormals;l++)0<=m["morphNormal"+l]&&c.numSupportedMorphNormals++;m=h.__webglShader.uniforms;if(!c.isShaderMaterial&&!c.isRawShaderMaterial||!0===c.clipping)h.numClippingPlanes=ca.numPlanes,h.numIntersection=ca.numIntersection,m.clippingPlanes=ca.uniform;h.fog=b;h.lightsHash=Z.hash;c.lights&&(m.ambientLightColor.value=Z.ambient,m.directionalLights.value=Z.directional,m.spotLights.value=
|
|
|
Z.spot,m.rectAreaLights.value=Z.rectArea,m.pointLights.value=Z.point,m.hemisphereLights.value=Z.hemi,m.directionalShadowMap.value=Z.directionalShadowMap,m.directionalShadowMatrix.value=Z.directionalShadowMatrix,m.spotShadowMap.value=Z.spotShadowMap,m.spotShadowMatrix.value=Z.spotShadowMatrix,m.pointShadowMap.value=Z.pointShadowMap,m.pointShadowMatrix.value=Z.pointShadowMatrix);l=h.program.getUniforms();m=$a.seqWithValue(l.seq,m);h.uniformsList=m}c.needsUpdate=!1}var p=!1,u=n=!1,h=g.program,m=h.getUniforms(),
|
|
|
-l=g.__webglShader.uniforms;h.id!==ta&&(B.useProgram(h.program),ta=h.id,u=n=p=!0);c.id!==Q&&(Q=c.id,n=!0);if(p||a!==T){m.set(B,a,"projectionMatrix");ja.logarithmicDepthBuffer&&m.setValue(B,"logDepthBufFC",2/(Math.log(a.far+1)/Math.LN2));a!==T&&(T=a,u=n=!0);if(c.isShaderMaterial||c.isMeshPhongMaterial||c.isMeshStandardMaterial||c.envMap)p=m.map.cameraPosition,void 0!==p&&p.setValue(B,Da.setFromMatrixPosition(a.matrixWorld));(c.isMeshPhongMaterial||c.isMeshLambertMaterial||c.isMeshBasicMaterial||c.isMeshStandardMaterial||
|
|
|
-c.isShaderMaterial||d.isSkinnedMesh)&&m.setValue(B,"viewMatrix",a.matrixWorldInverse);m.set(B,M,"toneMappingExposure");m.set(B,M,"toneMappingWhitePoint")}d.isSkinnedMesh&&(m.setOptional(B,d,"bindMatrix"),m.setOptional(B,d,"bindMatrixInverse"),a=d.skeleton)&&(ja.floatVertexTextures?(m.set(B,a,"boneTexture"),m.set(B,a,"boneTextureSize")):m.setOptional(B,a,"boneMatrices"));if(n){c.lights&&(a=u,l.ambientLightColor.needsUpdate=a,l.directionalLights.needsUpdate=a,l.pointLights.needsUpdate=a,l.spotLights.needsUpdate=
|
|
|
+l=g.__webglShader.uniforms;h.id!==ta&&(C.useProgram(h.program),ta=h.id,u=n=p=!0);c.id!==Q&&(Q=c.id,n=!0);if(p||a!==T){m.set(C,a,"projectionMatrix");ja.logarithmicDepthBuffer&&m.setValue(C,"logDepthBufFC",2/(Math.log(a.far+1)/Math.LN2));a!==T&&(T=a,u=n=!0);if(c.isShaderMaterial||c.isMeshPhongMaterial||c.isMeshStandardMaterial||c.envMap)p=m.map.cameraPosition,void 0!==p&&p.setValue(C,Da.setFromMatrixPosition(a.matrixWorld));(c.isMeshPhongMaterial||c.isMeshLambertMaterial||c.isMeshBasicMaterial||c.isMeshStandardMaterial||
|
|
|
+c.isShaderMaterial||d.isSkinnedMesh)&&m.setValue(C,"viewMatrix",a.matrixWorldInverse);m.set(C,M,"toneMappingExposure");m.set(C,M,"toneMappingWhitePoint")}d.isSkinnedMesh&&(m.setOptional(C,d,"bindMatrix"),m.setOptional(C,d,"bindMatrixInverse"),a=d.skeleton)&&(ja.floatVertexTextures?(m.set(C,a,"boneTexture"),m.set(C,a,"boneTextureSize")):m.setOptional(C,a,"boneMatrices"));if(n){c.lights&&(a=u,l.ambientLightColor.needsUpdate=a,l.directionalLights.needsUpdate=a,l.pointLights.needsUpdate=a,l.spotLights.needsUpdate=
|
|
|
a,l.rectAreaLights.needsUpdate=a,l.hemisphereLights.needsUpdate=a);b&&c.fog&&(l.fogColor.value=b.color,b.isFog?(l.fogNear.value=b.near,l.fogFar.value=b.far):b.isFogExp2&&(l.fogDensity.value=b.density));if(c.isMeshBasicMaterial||c.isMeshLambertMaterial||c.isMeshPhongMaterial||c.isMeshStandardMaterial||c.isMeshNormalMaterial||c.isMeshDepthMaterial){l.opacity.value=c.opacity;l.diffuse.value=c.color;c.emissive&&l.emissive.value.copy(c.emissive).multiplyScalar(c.emissiveIntensity);l.map.value=c.map;l.specularMap.value=
|
|
|
c.specularMap;l.alphaMap.value=c.alphaMap;c.lightMap&&(l.lightMap.value=c.lightMap,l.lightMapIntensity.value=c.lightMapIntensity);c.aoMap&&(l.aoMap.value=c.aoMap,l.aoMapIntensity.value=c.aoMapIntensity);var k;c.map?k=c.map:c.specularMap?k=c.specularMap:c.displacementMap?k=c.displacementMap:c.normalMap?k=c.normalMap:c.bumpMap?k=c.bumpMap:c.roughnessMap?k=c.roughnessMap:c.metalnessMap?k=c.metalnessMap:c.alphaMap?k=c.alphaMap:c.emissiveMap&&(k=c.emissiveMap);void 0!==k&&(k.isWebGLRenderTarget&&(k=k.texture),
|
|
|
b=k.offset,k=k.repeat,l.offsetRepeat.value.set(b.x,b.y,k.x,k.y));l.envMap.value=c.envMap;l.flipEnvMap.value=c.envMap&&c.envMap.isCubeTexture?-1:1;l.reflectivity.value=c.reflectivity;l.refractionRatio.value=c.refractionRatio}c.isLineBasicMaterial?(l.diffuse.value=c.color,l.opacity.value=c.opacity):c.isLineDashedMaterial?(l.diffuse.value=c.color,l.opacity.value=c.opacity,l.dashSize.value=c.dashSize,l.totalSize.value=c.dashSize+c.gapSize,l.scale.value=c.scale):c.isPointsMaterial?(l.diffuse.value=c.color,
|
|
|
-l.opacity.value=c.opacity,l.size.value=c.size*Sa,l.scale.value=.5*Ac,l.map.value=c.map,null!==c.map&&(k=c.map.offset,c=c.map.repeat,l.offsetRepeat.value.set(k.x,k.y,c.x,c.y))):c.isMeshLambertMaterial?c.emissiveMap&&(l.emissiveMap.value=c.emissiveMap):c.isMeshToonMaterial?(r(l,c),c.gradientMap&&(l.gradientMap.value=c.gradientMap)):c.isMeshPhongMaterial?r(l,c):c.isMeshPhysicalMaterial?(l.clearCoat.value=c.clearCoat,l.clearCoatRoughness.value=c.clearCoatRoughness,D(l,c)):c.isMeshStandardMaterial?D(l,
|
|
|
+l.opacity.value=c.opacity,l.size.value=c.size*Sa,l.scale.value=.5*Ac,l.map.value=c.map,null!==c.map&&(k=c.map.offset,c=c.map.repeat,l.offsetRepeat.value.set(k.x,k.y,c.x,c.y))):c.isMeshLambertMaterial?c.emissiveMap&&(l.emissiveMap.value=c.emissiveMap):c.isMeshToonMaterial?(r(l,c),c.gradientMap&&(l.gradientMap.value=c.gradientMap)):c.isMeshPhongMaterial?r(l,c):c.isMeshPhysicalMaterial?(l.clearCoat.value=c.clearCoat,l.clearCoatRoughness.value=c.clearCoatRoughness,z(l,c)):c.isMeshStandardMaterial?z(l,
|
|
|
c):c.isMeshDepthMaterial?c.displacementMap&&(l.displacementMap.value=c.displacementMap,l.displacementScale.value=c.displacementScale,l.displacementBias.value=c.displacementBias):c.isMeshNormalMaterial&&(c.bumpMap&&(l.bumpMap.value=c.bumpMap,l.bumpScale.value=c.bumpScale),c.normalMap&&(l.normalMap.value=c.normalMap,l.normalScale.value.copy(c.normalScale)),c.displacementMap&&(l.displacementMap.value=c.displacementMap,l.displacementScale.value=c.displacementScale,l.displacementBias.value=c.displacementBias));
|
|
|
-void 0!==l.ltcMat&&(l.ltcMat.value=THREE.UniformsLib.LTC_MAT_TEXTURE);void 0!==l.ltcMag&&(l.ltcMag.value=THREE.UniformsLib.LTC_MAG_TEXTURE);$a.upload(B,g.uniformsList,l,M)}m.set(B,d,"modelViewMatrix");m.set(B,d,"normalMatrix");m.setValue(B,"modelMatrix",d.matrixWorld);return h}function r(a,b){a.specular.value=b.specular;a.shininess.value=Math.max(b.shininess,1E-4);b.emissiveMap&&(a.emissiveMap.value=b.emissiveMap);b.bumpMap&&(a.bumpMap.value=b.bumpMap,a.bumpScale.value=b.bumpScale);b.normalMap&&(a.normalMap.value=
|
|
|
-b.normalMap,a.normalScale.value.copy(b.normalScale));b.displacementMap&&(a.displacementMap.value=b.displacementMap,a.displacementScale.value=b.displacementScale,a.displacementBias.value=b.displacementBias)}function D(a,b){a.roughness.value=b.roughness;a.metalness.value=b.metalness;b.roughnessMap&&(a.roughnessMap.value=b.roughnessMap);b.metalnessMap&&(a.metalnessMap.value=b.metalnessMap);b.emissiveMap&&(a.emissiveMap.value=b.emissiveMap);b.bumpMap&&(a.bumpMap.value=b.bumpMap,a.bumpScale.value=b.bumpScale);
|
|
|
-b.normalMap&&(a.normalMap.value=b.normalMap,a.normalScale.value.copy(b.normalScale));b.displacementMap&&(a.displacementMap.value=b.displacementMap,a.displacementScale.value=b.displacementScale,a.displacementBias.value=b.displacementBias);b.envMap&&(a.envMapIntensity.value=b.envMapIntensity)}function w(a){var b;if(1E3===a)return B.REPEAT;if(1001===a)return B.CLAMP_TO_EDGE;if(1002===a)return B.MIRRORED_REPEAT;if(1003===a)return B.NEAREST;if(1004===a)return B.NEAREST_MIPMAP_NEAREST;if(1005===a)return B.NEAREST_MIPMAP_LINEAR;
|
|
|
-if(1006===a)return B.LINEAR;if(1007===a)return B.LINEAR_MIPMAP_NEAREST;if(1008===a)return B.LINEAR_MIPMAP_LINEAR;if(1009===a)return B.UNSIGNED_BYTE;if(1017===a)return B.UNSIGNED_SHORT_4_4_4_4;if(1018===a)return B.UNSIGNED_SHORT_5_5_5_1;if(1019===a)return B.UNSIGNED_SHORT_5_6_5;if(1010===a)return B.BYTE;if(1011===a)return B.SHORT;if(1012===a)return B.UNSIGNED_SHORT;if(1013===a)return B.INT;if(1014===a)return B.UNSIGNED_INT;if(1015===a)return B.FLOAT;if(1016===a&&(b=ha.get("OES_texture_half_float"),
|
|
|
-null!==b))return b.HALF_FLOAT_OES;if(1021===a)return B.ALPHA;if(1022===a)return B.RGB;if(1023===a)return B.RGBA;if(1024===a)return B.LUMINANCE;if(1025===a)return B.LUMINANCE_ALPHA;if(1026===a)return B.DEPTH_COMPONENT;if(1027===a)return B.DEPTH_STENCIL;if(100===a)return B.FUNC_ADD;if(101===a)return B.FUNC_SUBTRACT;if(102===a)return B.FUNC_REVERSE_SUBTRACT;if(200===a)return B.ZERO;if(201===a)return B.ONE;if(202===a)return B.SRC_COLOR;if(203===a)return B.ONE_MINUS_SRC_COLOR;if(204===a)return B.SRC_ALPHA;
|
|
|
-if(205===a)return B.ONE_MINUS_SRC_ALPHA;if(206===a)return B.DST_ALPHA;if(207===a)return B.ONE_MINUS_DST_ALPHA;if(208===a)return B.DST_COLOR;if(209===a)return B.ONE_MINUS_DST_COLOR;if(210===a)return B.SRC_ALPHA_SATURATE;if(2001===a||2002===a||2003===a||2004===a)if(b=ha.get("WEBGL_compressed_texture_s3tc"),null!==b){if(2001===a)return b.COMPRESSED_RGB_S3TC_DXT1_EXT;if(2002===a)return b.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(2003===a)return b.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(2004===a)return b.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(2100===
|
|
|
+void 0!==l.ltcMat&&(l.ltcMat.value=THREE.UniformsLib.LTC_MAT_TEXTURE);void 0!==l.ltcMag&&(l.ltcMag.value=THREE.UniformsLib.LTC_MAG_TEXTURE);$a.upload(C,g.uniformsList,l,M)}m.set(C,d,"modelViewMatrix");m.set(C,d,"normalMatrix");m.setValue(C,"modelMatrix",d.matrixWorld);return h}function r(a,b){a.specular.value=b.specular;a.shininess.value=Math.max(b.shininess,1E-4);b.emissiveMap&&(a.emissiveMap.value=b.emissiveMap);b.bumpMap&&(a.bumpMap.value=b.bumpMap,a.bumpScale.value=b.bumpScale);b.normalMap&&(a.normalMap.value=
|
|
|
+b.normalMap,a.normalScale.value.copy(b.normalScale));b.displacementMap&&(a.displacementMap.value=b.displacementMap,a.displacementScale.value=b.displacementScale,a.displacementBias.value=b.displacementBias)}function z(a,b){a.roughness.value=b.roughness;a.metalness.value=b.metalness;b.roughnessMap&&(a.roughnessMap.value=b.roughnessMap);b.metalnessMap&&(a.metalnessMap.value=b.metalnessMap);b.emissiveMap&&(a.emissiveMap.value=b.emissiveMap);b.bumpMap&&(a.bumpMap.value=b.bumpMap,a.bumpScale.value=b.bumpScale);
|
|
|
+b.normalMap&&(a.normalMap.value=b.normalMap,a.normalScale.value.copy(b.normalScale));b.displacementMap&&(a.displacementMap.value=b.displacementMap,a.displacementScale.value=b.displacementScale,a.displacementBias.value=b.displacementBias);b.envMap&&(a.envMapIntensity.value=b.envMapIntensity)}function w(a){var b;if(1E3===a)return C.REPEAT;if(1001===a)return C.CLAMP_TO_EDGE;if(1002===a)return C.MIRRORED_REPEAT;if(1003===a)return C.NEAREST;if(1004===a)return C.NEAREST_MIPMAP_NEAREST;if(1005===a)return C.NEAREST_MIPMAP_LINEAR;
|
|
|
+if(1006===a)return C.LINEAR;if(1007===a)return C.LINEAR_MIPMAP_NEAREST;if(1008===a)return C.LINEAR_MIPMAP_LINEAR;if(1009===a)return C.UNSIGNED_BYTE;if(1017===a)return C.UNSIGNED_SHORT_4_4_4_4;if(1018===a)return C.UNSIGNED_SHORT_5_5_5_1;if(1019===a)return C.UNSIGNED_SHORT_5_6_5;if(1010===a)return C.BYTE;if(1011===a)return C.SHORT;if(1012===a)return C.UNSIGNED_SHORT;if(1013===a)return C.INT;if(1014===a)return C.UNSIGNED_INT;if(1015===a)return C.FLOAT;if(1016===a&&(b=ha.get("OES_texture_half_float"),
|
|
|
+null!==b))return b.HALF_FLOAT_OES;if(1021===a)return C.ALPHA;if(1022===a)return C.RGB;if(1023===a)return C.RGBA;if(1024===a)return C.LUMINANCE;if(1025===a)return C.LUMINANCE_ALPHA;if(1026===a)return C.DEPTH_COMPONENT;if(1027===a)return C.DEPTH_STENCIL;if(100===a)return C.FUNC_ADD;if(101===a)return C.FUNC_SUBTRACT;if(102===a)return C.FUNC_REVERSE_SUBTRACT;if(200===a)return C.ZERO;if(201===a)return C.ONE;if(202===a)return C.SRC_COLOR;if(203===a)return C.ONE_MINUS_SRC_COLOR;if(204===a)return C.SRC_ALPHA;
|
|
|
+if(205===a)return C.ONE_MINUS_SRC_ALPHA;if(206===a)return C.DST_ALPHA;if(207===a)return C.ONE_MINUS_DST_ALPHA;if(208===a)return C.DST_COLOR;if(209===a)return C.ONE_MINUS_DST_COLOR;if(210===a)return C.SRC_ALPHA_SATURATE;if(2001===a||2002===a||2003===a||2004===a)if(b=ha.get("WEBGL_compressed_texture_s3tc"),null!==b){if(2001===a)return b.COMPRESSED_RGB_S3TC_DXT1_EXT;if(2002===a)return b.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(2003===a)return b.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(2004===a)return b.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(2100===
|
|
|
a||2101===a||2102===a||2103===a)if(b=ha.get("WEBGL_compressed_texture_pvrtc"),null!==b){if(2100===a)return b.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(2101===a)return b.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(2102===a)return b.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(2103===a)return b.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(2151===a&&(b=ha.get("WEBGL_compressed_texture_etc1"),null!==b))return b.COMPRESSED_RGB_ETC1_WEBGL;if(103===a||104===a)if(b=ha.get("EXT_blend_minmax"),null!==b){if(103===a)return b.MIN_EXT;if(104===
|
|
|
-a)return b.MAX_EXT}return 1020===a&&(b=ha.get("WEBGL_depth_texture"),null!==b)?b.UNSIGNED_INT_24_8_WEBGL:0}console.log("THREE.WebGLRenderer","85dev");a=a||{};var x=void 0!==a.canvas?a.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),L=void 0!==a.context?a.context:null,v=void 0!==a.alpha?a.alpha:!1,F=void 0!==a.depth?a.depth:!0,H=void 0!==a.stencil?a.stencil:!0,z=void 0!==a.antialias?a.antialias:!1,R=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,C=void 0!==a.preserveDrawingBuffer?
|
|
|
-a.preserveDrawingBuffer:!1,U=[],sa=[],E=-1,A=[],Ra=-1,P=new Float32Array(8),J=[],N=[];this.domElement=x;this.context=null;this.sortObjects=this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.clippingPlanes=[];this.localClippingEnabled=!1;this.gammaFactor=2;this.physicallyCorrectLights=this.gammaOutput=this.gammaInput=!1;this.toneMappingWhitePoint=this.toneMappingExposure=this.toneMapping=1;this.maxMorphTargets=8;this.maxMorphNormals=4;var M=this,ta=null,W=null,K=null,
|
|
|
+a)return b.MAX_EXT}return 1020===a&&(b=ha.get("WEBGL_depth_texture"),null!==b)?b.UNSIGNED_INT_24_8_WEBGL:0}console.log("THREE.WebGLRenderer","85dev");a=a||{};var x=void 0!==a.canvas?a.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),L=void 0!==a.context?a.context:null,v=void 0!==a.alpha?a.alpha:!1,F=void 0!==a.depth?a.depth:!0,H=void 0!==a.stencil?a.stencil:!0,y=void 0!==a.antialias?a.antialias:!1,R=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,D=void 0!==a.preserveDrawingBuffer?
|
|
|
+a.preserveDrawingBuffer:!1,U=[],sa=[],E=-1,B=[],Ra=-1,P=new Float32Array(8),J=[],N=[];this.domElement=x;this.context=null;this.sortObjects=this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.clippingPlanes=[];this.localClippingEnabled=!1;this.gammaFactor=2;this.physicallyCorrectLights=this.gammaOutput=this.gammaInput=!1;this.toneMappingWhitePoint=this.toneMappingExposure=this.toneMapping=1;this.maxMorphTargets=8;this.maxMorphNormals=4;var M=this,ta=null,W=null,K=null,
|
|
|
Q=-1,O="",T=null,V=new fa,Ud=null,X=new fa,ba=0,Ja=new I(0),kb=0,aa=x.width,Ac=x.height,Sa=1,ea=new fa(0,0,aa,Ac),ia=!1,ga=new fa(0,0,aa,Ac),la=new kd,ca=new Vf,ma=!1,ra=!1,ka=new Pa,va=new S,Da=new q,Ba=new S,wa=new S,Z={hash:"",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},na={calls:0,vertices:0,faces:0,points:0};this.info={render:na,memory:{geometries:0,
|
|
|
-textures:0},programs:null};var B;try{v={alpha:v,depth:F,stencil:H,antialias:z,premultipliedAlpha:R,preserveDrawingBuffer:C};B=L||x.getContext("webgl",v)||x.getContext("experimental-webgl",v);if(null===B){if(null!==x.getContext("webgl"))throw"Error creating WebGL context with your selected attributes.";throw"Error creating WebGL context.";}void 0===B.getShaderPrecisionFormat&&(B.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}});x.addEventListener("webglcontextlost",d,
|
|
|
-!1)}catch(Wf){console.error("THREE.WebGLRenderer: "+Wf)}var ha=new Uf(B);ha.get("WEBGL_depth_texture");ha.get("OES_texture_float");ha.get("OES_texture_float_linear");ha.get("OES_texture_half_float");ha.get("OES_texture_half_float_linear");ha.get("OES_standard_derivatives");ha.get("ANGLE_instanced_arrays");ha.get("OES_element_index_uint")&&(G.MaxIndex=4294967296);var ja=new Tf(B,ha,a),Y=new Sf(B,ha,w),Ma=new Rf,ua=new Qf(B,ha,Y,Ma,ja,w,this.info),oa=new Pf(B,Ma,this.info),ya=new Nf(this,ja),Aa=new Ff;
|
|
|
-this.info.programs=ya.programs;var La=new Ef(B,ha,na),Na=new Df(B,ha,na),Ga,za,pa,qa;b();this.context=B;this.capabilities=ja;this.extensions=ha;this.properties=Ma;this.state=Y;var Ka=new Ee(this,Z,oa,ja);this.shadowMap=Ka;var Oa=new Af(this,J),Qa=new zf(this,N);this.getContext=function(){return B};this.getContextAttributes=function(){return B.getContextAttributes()};this.forceContextLoss=function(){ha.get("WEBGL_lose_context").loseContext()};this.getMaxAnisotropy=function(){return ja.getMaxAnisotropy()};
|
|
|
+textures:0},programs:null};var C;try{v={alpha:v,depth:F,stencil:H,antialias:y,premultipliedAlpha:R,preserveDrawingBuffer:D};C=L||x.getContext("webgl",v)||x.getContext("experimental-webgl",v);if(null===C){if(null!==x.getContext("webgl"))throw"Error creating WebGL context with your selected attributes.";throw"Error creating WebGL context.";}void 0===C.getShaderPrecisionFormat&&(C.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}});x.addEventListener("webglcontextlost",d,
|
|
|
+!1)}catch(Wf){console.error("THREE.WebGLRenderer: "+Wf)}var ha=new Uf(C);ha.get("WEBGL_depth_texture");ha.get("OES_texture_float");ha.get("OES_texture_float_linear");ha.get("OES_texture_half_float");ha.get("OES_texture_half_float_linear");ha.get("OES_standard_derivatives");ha.get("ANGLE_instanced_arrays");ha.get("OES_element_index_uint")&&(G.MaxIndex=4294967296);var ja=new Tf(C,ha,a),Y=new Sf(C,ha,w),Ma=new Rf,ua=new Qf(C,ha,Y,Ma,ja,w,this.info),oa=new Pf(C,Ma,this.info),ya=new Nf(this,ja),Aa=new Ff;
|
|
|
+this.info.programs=ya.programs;var La=new Ef(C,ha,na),Na=new Df(C,ha,na),Ga,za,pa,qa;b();this.context=C;this.capabilities=ja;this.extensions=ha;this.properties=Ma;this.state=Y;var Ka=new Ee(this,Z,oa,ja);this.shadowMap=Ka;var Oa=new Af(this,J),Qa=new zf(this,N);this.getContext=function(){return C};this.getContextAttributes=function(){return C.getContextAttributes()};this.forceContextLoss=function(){ha.get("WEBGL_lose_context").loseContext()};this.getMaxAnisotropy=function(){return ja.getMaxAnisotropy()};
|
|
|
this.getPrecision=function(){return ja.precision};this.getPixelRatio=function(){return Sa};this.setPixelRatio=function(a){void 0!==a&&(Sa=a,this.setSize(ga.z,ga.w,!1))};this.getSize=function(){return{width:aa,height:Ac}};this.setSize=function(a,b,c){aa=a;Ac=b;x.width=a*Sa;x.height=b*Sa;!1!==c&&(x.style.width=a+"px",x.style.height=b+"px");this.setViewport(0,0,a,b)};this.setViewport=function(a,b,c,d){Y.viewport(ga.set(a,b,c,d))};this.setScissor=function(a,b,c,d){Y.scissor(ea.set(a,b,c,d))};this.setScissorTest=
|
|
|
-function(a){Y.setScissorTest(ia=a)};this.getClearColor=function(){return Ja};this.setClearColor=function(a,b){Ja.set(a);kb=void 0!==b?b:1;Y.buffers.color.setClear(Ja.r,Ja.g,Ja.b,kb,R)};this.getClearAlpha=function(){return kb};this.setClearAlpha=function(a){kb=a;Y.buffers.color.setClear(Ja.r,Ja.g,Ja.b,kb,R)};this.clear=function(a,b,c){var d=0;if(void 0===a||a)d|=B.COLOR_BUFFER_BIT;if(void 0===b||b)d|=B.DEPTH_BUFFER_BIT;if(void 0===c||c)d|=B.STENCIL_BUFFER_BIT;B.clear(d)};this.clearColor=function(){this.clear(!0,
|
|
|
-!1,!1)};this.clearDepth=function(){this.clear(!1,!0,!1)};this.clearStencil=function(){this.clear(!1,!1,!0)};this.clearTarget=function(a,b,c,d){this.setRenderTarget(a);this.clear(b,c,d)};this.resetGLState=c;this.dispose=function(){A=[];Ra=-1;sa=[];E=-1;x.removeEventListener("webglcontextlost",d,!1)};this.renderBufferImmediate=function(a,b,c){Y.initAttributes();var d=Ma.get(a);a.hasPositions&&!d.position&&(d.position=B.createBuffer());a.hasNormals&&!d.normal&&(d.normal=B.createBuffer());a.hasUvs&&!d.uv&&
|
|
|
-(d.uv=B.createBuffer());a.hasColors&&!d.color&&(d.color=B.createBuffer());b=b.getAttributes();a.hasPositions&&(B.bindBuffer(B.ARRAY_BUFFER,d.position),B.bufferData(B.ARRAY_BUFFER,a.positionArray,B.DYNAMIC_DRAW),Y.enableAttribute(b.position),B.vertexAttribPointer(b.position,3,B.FLOAT,!1,0,0));if(a.hasNormals){B.bindBuffer(B.ARRAY_BUFFER,d.normal);if(!c.isMeshPhongMaterial&&!c.isMeshStandardMaterial&&!c.isMeshNormalMaterial&&1===c.shading)for(var e=0,f=3*a.count;e<f;e+=9){var g=a.normalArray,h=(g[e+
|
|
|
-0]+g[e+3]+g[e+6])/3,m=(g[e+1]+g[e+4]+g[e+7])/3,l=(g[e+2]+g[e+5]+g[e+8])/3;g[e+0]=h;g[e+1]=m;g[e+2]=l;g[e+3]=h;g[e+4]=m;g[e+5]=l;g[e+6]=h;g[e+7]=m;g[e+8]=l}B.bufferData(B.ARRAY_BUFFER,a.normalArray,B.DYNAMIC_DRAW);Y.enableAttribute(b.normal);B.vertexAttribPointer(b.normal,3,B.FLOAT,!1,0,0)}a.hasUvs&&c.map&&(B.bindBuffer(B.ARRAY_BUFFER,d.uv),B.bufferData(B.ARRAY_BUFFER,a.uvArray,B.DYNAMIC_DRAW),Y.enableAttribute(b.uv),B.vertexAttribPointer(b.uv,2,B.FLOAT,!1,0,0));a.hasColors&&0!==c.vertexColors&&(B.bindBuffer(B.ARRAY_BUFFER,
|
|
|
-d.color),B.bufferData(B.ARRAY_BUFFER,a.colorArray,B.DYNAMIC_DRAW),Y.enableAttribute(b.color),B.vertexAttribPointer(b.color,3,B.FLOAT,!1,0,0));Y.disableUnusedAttributes();B.drawArrays(B.TRIANGLES,0,a.count);a.count=0};this.renderBufferDirect=function(a,b,c,d,e,f){k(d);var h=y(a,b,d,e),m=!1;a=c.id+"_"+h.id+"_"+d.wireframe;a!==O&&(O=a,m=!0);b=e.morphTargetInfluences;if(void 0!==b){var l=[];a=0;for(var n=b.length;a<n;a++)m=b[a],l.push([m,a]);l.sort(g);8<l.length&&(l.length=8);var u=c.morphAttributes;
|
|
|
-a=0;for(n=l.length;a<n;a++)m=l[a],P[a]=m[0],0!==m[0]?(b=m[1],!0===d.morphTargets&&u.position&&c.addAttribute("morphTarget"+a,u.position[b]),!0===d.morphNormals&&u.normal&&c.addAttribute("morphNormal"+a,u.normal[b])):(!0===d.morphTargets&&c.removeAttribute("morphTarget"+a),!0===d.morphNormals&&c.removeAttribute("morphNormal"+a));a=l.length;for(b=P.length;a<b;a++)P[a]=0;h.getUniforms().setValue(B,"morphTargetInfluences",P);m=!0}b=c.index;n=c.attributes.position;l=1;!0===d.wireframe&&(b=oa.getWireframeAttribute(c),
|
|
|
-l=2);null!==b?(a=Na,a.setIndex(b)):a=La;if(m){a:{var m=void 0,p;if(c&&c.isInstancedBufferGeometry&&(p=ha.get("ANGLE_instanced_arrays"),null===p)){console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");break a}void 0===m&&(m=0);Y.initAttributes();var u=c.attributes,h=h.getAttributes(),r=d.defaultAttributeValues,q;for(q in h){var x=h[q];if(0<=x){var v=u[q];if(void 0!==v){var w=v.normalized,D=v.itemSize,
|
|
|
-z=oa.getAttributeProperties(v),L=z.__webglBuffer,H=z.type,z=z.bytesPerElement;if(v.isInterleavedBufferAttribute){var F=v.data,R=F.stride,v=v.offset;F&&F.isInstancedInterleavedBuffer?(Y.enableAttributeAndDivisor(x,F.meshPerAttribute,p),void 0===c.maxInstancedCount&&(c.maxInstancedCount=F.meshPerAttribute*F.count)):Y.enableAttribute(x);B.bindBuffer(B.ARRAY_BUFFER,L);B.vertexAttribPointer(x,D,H,w,R*z,(m*R+v)*z)}else v.isInstancedBufferAttribute?(Y.enableAttributeAndDivisor(x,v.meshPerAttribute,p),void 0===
|
|
|
-c.maxInstancedCount&&(c.maxInstancedCount=v.meshPerAttribute*v.count)):Y.enableAttribute(x),B.bindBuffer(B.ARRAY_BUFFER,L),B.vertexAttribPointer(x,D,H,w,0,m*D*z)}else if(void 0!==r&&(w=r[q],void 0!==w))switch(w.length){case 2:B.vertexAttrib2fv(x,w);break;case 3:B.vertexAttrib3fv(x,w);break;case 4:B.vertexAttrib4fv(x,w);break;default:B.vertexAttrib1fv(x,w)}}}Y.disableUnusedAttributes()}null!==b&&B.bindBuffer(B.ELEMENT_ARRAY_BUFFER,oa.getAttributeBuffer(b))}p=0;null!==b?p=b.count:void 0!==n&&(p=n.count);
|
|
|
-b=c.drawRange.start*l;n=null!==f?f.start*l:0;q=Math.max(b,n);f=Math.max(0,Math.min(p,b+c.drawRange.count*l,n+(null!==f?f.count*l:Infinity))-1-q+1);if(0!==f){if(e.isMesh)if(!0===d.wireframe)Y.setLineWidth(d.wireframeLinewidth*(null===W?Sa:1)),a.setMode(B.LINES);else switch(e.drawMode){case 0:a.setMode(B.TRIANGLES);break;case 1:a.setMode(B.TRIANGLE_STRIP);break;case 2:a.setMode(B.TRIANGLE_FAN)}else e.isLine?(d=d.linewidth,void 0===d&&(d=1),Y.setLineWidth(d*(null===W?Sa:1)),e.isLineSegments?a.setMode(B.LINES):
|
|
|
-e.isLineLoop?a.setMode(B.LINE_LOOP):a.setMode(B.LINE_STRIP)):e.isPoints&&a.setMode(B.POINTS);c&&c.isInstancedBufferGeometry?0<c.maxInstancedCount&&a.renderInstances(c,q,f):a.render(q,f)}};this.render=function(a,b,c,d){if(void 0!==b&&!0!==b.isCamera)console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{O="";Q=-1;T=null;!0===a.autoUpdate&&a.updateMatrixWorld();null===b.parent&&b.updateMatrixWorld();b.matrixWorldInverse.getInverse(b.matrixWorld);va.multiplyMatrices(b.projectionMatrix,
|
|
|
-b.matrixWorldInverse);la.setFromMatrix(va);U.length=0;Ra=E=-1;J.length=0;N.length=0;ra=this.localClippingEnabled;ma=ca.init(this.clippingPlanes,ra,b);p(a,b);sa.length=E+1;A.length=Ra+1;!0===M.sortObjects&&(sa.sort(h),A.sort(m));ma&&ca.beginShadows();for(var e=U,f=0,g=0,l=e.length;g<l;g++){var u=e[g];u.castShadow&&(Z.shadows[f++]=u)}Z.shadows.length=f;Ka.render(a,b);for(var e=U,k=u=0,t=0,r,y,q,v,x=b.matrixWorldInverse,w=0,D=0,z=0,L=0,H=0,f=0,g=e.length;f<g;f++)if(l=e[f],r=l.color,y=l.intensity,q=l.distance,
|
|
|
-v=l.shadow&&l.shadow.map?l.shadow.map.texture:null,l.isAmbientLight)u+=r.r*y,k+=r.g*y,t+=r.b*y;else if(l.isDirectionalLight){var F=Aa.get(l);F.color.copy(l.color).multiplyScalar(l.intensity);F.direction.setFromMatrixPosition(l.matrixWorld);Da.setFromMatrixPosition(l.target.matrixWorld);F.direction.sub(Da);F.direction.transformDirection(x);if(F.shadow=l.castShadow)F.shadowBias=l.shadow.bias,F.shadowRadius=l.shadow.radius,F.shadowMapSize=l.shadow.mapSize;Z.directionalShadowMap[w]=v;Z.directionalShadowMatrix[w]=
|
|
|
-l.shadow.matrix;Z.directional[w++]=F}else if(l.isSpotLight){F=Aa.get(l);F.position.setFromMatrixPosition(l.matrixWorld);F.position.applyMatrix4(x);F.color.copy(r).multiplyScalar(y);F.distance=q;F.direction.setFromMatrixPosition(l.matrixWorld);Da.setFromMatrixPosition(l.target.matrixWorld);F.direction.sub(Da);F.direction.transformDirection(x);F.coneCos=Math.cos(l.angle);F.penumbraCos=Math.cos(l.angle*(1-l.penumbra));F.decay=0===l.distance?0:l.decay;if(F.shadow=l.castShadow)F.shadowBias=l.shadow.bias,
|
|
|
-F.shadowRadius=l.shadow.radius,F.shadowMapSize=l.shadow.mapSize;Z.spotShadowMap[z]=v;Z.spotShadowMatrix[z]=l.shadow.matrix;Z.spot[z++]=F}else if(l.isRectAreaLight)F=Aa.get(l),F.color.copy(r).multiplyScalar(y/(l.width*l.height)),F.position.setFromMatrixPosition(l.matrixWorld),F.position.applyMatrix4(x),wa.identity(),Ba.copy(l.matrixWorld),Ba.premultiply(x),wa.extractRotation(Ba),F.halfWidth.set(.5*l.width,0,0),F.halfHeight.set(0,.5*l.height,0),F.halfWidth.applyMatrix4(wa),F.halfHeight.applyMatrix4(wa),
|
|
|
-Z.rectArea[L++]=F;else if(l.isPointLight){F=Aa.get(l);F.position.setFromMatrixPosition(l.matrixWorld);F.position.applyMatrix4(x);F.color.copy(l.color).multiplyScalar(l.intensity);F.distance=l.distance;F.decay=0===l.distance?0:l.decay;if(F.shadow=l.castShadow)F.shadowBias=l.shadow.bias,F.shadowRadius=l.shadow.radius,F.shadowMapSize=l.shadow.mapSize;Z.pointShadowMap[D]=v;void 0===Z.pointShadowMatrix[D]&&(Z.pointShadowMatrix[D]=new S);Da.setFromMatrixPosition(l.matrixWorld).negate();Z.pointShadowMatrix[D].identity().setPosition(Da);
|
|
|
-Z.point[D++]=F}else l.isHemisphereLight&&(F=Aa.get(l),F.direction.setFromMatrixPosition(l.matrixWorld),F.direction.transformDirection(x),F.direction.normalize(),F.skyColor.copy(l.color).multiplyScalar(y),F.groundColor.copy(l.groundColor).multiplyScalar(y),Z.hemi[H++]=F);Z.ambient[0]=u;Z.ambient[1]=k;Z.ambient[2]=t;Z.directional.length=w;Z.spot.length=z;Z.rectArea.length=L;Z.point.length=D;Z.hemi.length=H;Z.hash=w+","+D+","+z+","+L+","+H+","+Z.shadows.length;ma&&ca.endShadows();na.calls=0;na.vertices=
|
|
|
+function(a){Y.setScissorTest(ia=a)};this.getClearColor=function(){return Ja};this.setClearColor=function(a,b){Ja.set(a);kb=void 0!==b?b:1;Y.buffers.color.setClear(Ja.r,Ja.g,Ja.b,kb,R)};this.getClearAlpha=function(){return kb};this.setClearAlpha=function(a){kb=a;Y.buffers.color.setClear(Ja.r,Ja.g,Ja.b,kb,R)};this.clear=function(a,b,c){var d=0;if(void 0===a||a)d|=C.COLOR_BUFFER_BIT;if(void 0===b||b)d|=C.DEPTH_BUFFER_BIT;if(void 0===c||c)d|=C.STENCIL_BUFFER_BIT;C.clear(d)};this.clearColor=function(){this.clear(!0,
|
|
|
+!1,!1)};this.clearDepth=function(){this.clear(!1,!0,!1)};this.clearStencil=function(){this.clear(!1,!1,!0)};this.clearTarget=function(a,b,c,d){this.setRenderTarget(a);this.clear(b,c,d)};this.resetGLState=c;this.dispose=function(){B=[];Ra=-1;sa=[];E=-1;x.removeEventListener("webglcontextlost",d,!1)};this.renderBufferImmediate=function(a,b,c){Y.initAttributes();var d=Ma.get(a);a.hasPositions&&!d.position&&(d.position=C.createBuffer());a.hasNormals&&!d.normal&&(d.normal=C.createBuffer());a.hasUvs&&!d.uv&&
|
|
|
+(d.uv=C.createBuffer());a.hasColors&&!d.color&&(d.color=C.createBuffer());b=b.getAttributes();a.hasPositions&&(C.bindBuffer(C.ARRAY_BUFFER,d.position),C.bufferData(C.ARRAY_BUFFER,a.positionArray,C.DYNAMIC_DRAW),Y.enableAttribute(b.position),C.vertexAttribPointer(b.position,3,C.FLOAT,!1,0,0));if(a.hasNormals){C.bindBuffer(C.ARRAY_BUFFER,d.normal);if(!c.isMeshPhongMaterial&&!c.isMeshStandardMaterial&&!c.isMeshNormalMaterial&&1===c.shading)for(var e=0,f=3*a.count;e<f;e+=9){var g=a.normalArray,h=(g[e+
|
|
|
+0]+g[e+3]+g[e+6])/3,m=(g[e+1]+g[e+4]+g[e+7])/3,l=(g[e+2]+g[e+5]+g[e+8])/3;g[e+0]=h;g[e+1]=m;g[e+2]=l;g[e+3]=h;g[e+4]=m;g[e+5]=l;g[e+6]=h;g[e+7]=m;g[e+8]=l}C.bufferData(C.ARRAY_BUFFER,a.normalArray,C.DYNAMIC_DRAW);Y.enableAttribute(b.normal);C.vertexAttribPointer(b.normal,3,C.FLOAT,!1,0,0)}a.hasUvs&&c.map&&(C.bindBuffer(C.ARRAY_BUFFER,d.uv),C.bufferData(C.ARRAY_BUFFER,a.uvArray,C.DYNAMIC_DRAW),Y.enableAttribute(b.uv),C.vertexAttribPointer(b.uv,2,C.FLOAT,!1,0,0));a.hasColors&&0!==c.vertexColors&&(C.bindBuffer(C.ARRAY_BUFFER,
|
|
|
+d.color),C.bufferData(C.ARRAY_BUFFER,a.colorArray,C.DYNAMIC_DRAW),Y.enableAttribute(b.color),C.vertexAttribPointer(b.color,3,C.FLOAT,!1,0,0));Y.disableUnusedAttributes();C.drawArrays(C.TRIANGLES,0,a.count);a.count=0};this.renderBufferDirect=function(a,b,c,d,e,f){k(d);var h=A(a,b,d,e),m=!1;a=c.id+"_"+h.id+"_"+d.wireframe;a!==O&&(O=a,m=!0);b=e.morphTargetInfluences;if(void 0!==b){var l=[];a=0;for(var n=b.length;a<n;a++)m=b[a],l.push([m,a]);l.sort(g);8<l.length&&(l.length=8);var u=c.morphAttributes;
|
|
|
+a=0;for(n=l.length;a<n;a++)m=l[a],P[a]=m[0],0!==m[0]?(b=m[1],!0===d.morphTargets&&u.position&&c.addAttribute("morphTarget"+a,u.position[b]),!0===d.morphNormals&&u.normal&&c.addAttribute("morphNormal"+a,u.normal[b])):(!0===d.morphTargets&&c.removeAttribute("morphTarget"+a),!0===d.morphNormals&&c.removeAttribute("morphNormal"+a));a=l.length;for(b=P.length;a<b;a++)P[a]=0;h.getUniforms().setValue(C,"morphTargetInfluences",P);m=!0}b=c.index;n=c.attributes.position;l=1;!0===d.wireframe&&(b=oa.getWireframeAttribute(c),
|
|
|
+l=2);null!==b?(a=Na,a.setIndex(b)):a=La;if(m){a:{var m=void 0,p;if(c&&c.isInstancedBufferGeometry&&(p=ha.get("ANGLE_instanced_arrays"),null===p)){console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");break a}void 0===m&&(m=0);Y.initAttributes();var u=c.attributes,h=h.getAttributes(),r=d.defaultAttributeValues,q;for(q in h){var x=h[q];if(0<=x){var v=u[q];if(void 0!==v){var w=v.normalized,z=v.itemSize,
|
|
|
+y=oa.getAttributeProperties(v),L=y.__webglBuffer,H=y.type,y=y.bytesPerElement;if(v.isInterleavedBufferAttribute){var F=v.data,R=F.stride,v=v.offset;F&&F.isInstancedInterleavedBuffer?(Y.enableAttributeAndDivisor(x,F.meshPerAttribute,p),void 0===c.maxInstancedCount&&(c.maxInstancedCount=F.meshPerAttribute*F.count)):Y.enableAttribute(x);C.bindBuffer(C.ARRAY_BUFFER,L);C.vertexAttribPointer(x,z,H,w,R*y,(m*R+v)*y)}else v.isInstancedBufferAttribute?(Y.enableAttributeAndDivisor(x,v.meshPerAttribute,p),void 0===
|
|
|
+c.maxInstancedCount&&(c.maxInstancedCount=v.meshPerAttribute*v.count)):Y.enableAttribute(x),C.bindBuffer(C.ARRAY_BUFFER,L),C.vertexAttribPointer(x,z,H,w,0,m*z*y)}else if(void 0!==r&&(w=r[q],void 0!==w))switch(w.length){case 2:C.vertexAttrib2fv(x,w);break;case 3:C.vertexAttrib3fv(x,w);break;case 4:C.vertexAttrib4fv(x,w);break;default:C.vertexAttrib1fv(x,w)}}}Y.disableUnusedAttributes()}null!==b&&C.bindBuffer(C.ELEMENT_ARRAY_BUFFER,oa.getAttributeBuffer(b))}p=0;null!==b?p=b.count:void 0!==n&&(p=n.count);
|
|
|
+b=c.drawRange.start*l;n=null!==f?f.start*l:0;q=Math.max(b,n);f=Math.max(0,Math.min(p,b+c.drawRange.count*l,n+(null!==f?f.count*l:Infinity))-1-q+1);if(0!==f){if(e.isMesh)if(!0===d.wireframe)Y.setLineWidth(d.wireframeLinewidth*(null===W?Sa:1)),a.setMode(C.LINES);else switch(e.drawMode){case 0:a.setMode(C.TRIANGLES);break;case 1:a.setMode(C.TRIANGLE_STRIP);break;case 2:a.setMode(C.TRIANGLE_FAN)}else e.isLine?(d=d.linewidth,void 0===d&&(d=1),Y.setLineWidth(d*(null===W?Sa:1)),e.isLineSegments?a.setMode(C.LINES):
|
|
|
+e.isLineLoop?a.setMode(C.LINE_LOOP):a.setMode(C.LINE_STRIP)):e.isPoints&&a.setMode(C.POINTS);c&&c.isInstancedBufferGeometry?0<c.maxInstancedCount&&a.renderInstances(c,q,f):a.render(q,f)}};this.render=function(a,b,c,d){if(void 0!==b&&!0!==b.isCamera)console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{O="";Q=-1;T=null;!0===a.autoUpdate&&a.updateMatrixWorld();null===b.parent&&b.updateMatrixWorld();b.matrixWorldInverse.getInverse(b.matrixWorld);va.multiplyMatrices(b.projectionMatrix,
|
|
|
+b.matrixWorldInverse);la.setFromMatrix(va);U.length=0;Ra=E=-1;J.length=0;N.length=0;ra=this.localClippingEnabled;ma=ca.init(this.clippingPlanes,ra,b);p(a,b);sa.length=E+1;B.length=Ra+1;!0===M.sortObjects&&(sa.sort(h),B.sort(m));ma&&ca.beginShadows();for(var e=U,f=0,g=0,l=e.length;g<l;g++){var u=e[g];u.castShadow&&(Z.shadows[f++]=u)}Z.shadows.length=f;Ka.render(a,b);for(var e=U,k=u=0,t=0,r,A,q,v,x=b.matrixWorldInverse,w=0,z=0,y=0,L=0,H=0,f=0,g=e.length;f<g;f++)if(l=e[f],r=l.color,A=l.intensity,q=l.distance,
|
|
|
+v=l.shadow&&l.shadow.map?l.shadow.map.texture:null,l.isAmbientLight)u+=r.r*A,k+=r.g*A,t+=r.b*A;else if(l.isDirectionalLight){var F=Aa.get(l);F.color.copy(l.color).multiplyScalar(l.intensity);F.direction.setFromMatrixPosition(l.matrixWorld);Da.setFromMatrixPosition(l.target.matrixWorld);F.direction.sub(Da);F.direction.transformDirection(x);if(F.shadow=l.castShadow)F.shadowBias=l.shadow.bias,F.shadowRadius=l.shadow.radius,F.shadowMapSize=l.shadow.mapSize;Z.directionalShadowMap[w]=v;Z.directionalShadowMatrix[w]=
|
|
|
+l.shadow.matrix;Z.directional[w++]=F}else if(l.isSpotLight){F=Aa.get(l);F.position.setFromMatrixPosition(l.matrixWorld);F.position.applyMatrix4(x);F.color.copy(r).multiplyScalar(A);F.distance=q;F.direction.setFromMatrixPosition(l.matrixWorld);Da.setFromMatrixPosition(l.target.matrixWorld);F.direction.sub(Da);F.direction.transformDirection(x);F.coneCos=Math.cos(l.angle);F.penumbraCos=Math.cos(l.angle*(1-l.penumbra));F.decay=0===l.distance?0:l.decay;if(F.shadow=l.castShadow)F.shadowBias=l.shadow.bias,
|
|
|
+F.shadowRadius=l.shadow.radius,F.shadowMapSize=l.shadow.mapSize;Z.spotShadowMap[y]=v;Z.spotShadowMatrix[y]=l.shadow.matrix;Z.spot[y++]=F}else if(l.isRectAreaLight)F=Aa.get(l),F.color.copy(r).multiplyScalar(A/(l.width*l.height)),F.position.setFromMatrixPosition(l.matrixWorld),F.position.applyMatrix4(x),wa.identity(),Ba.copy(l.matrixWorld),Ba.premultiply(x),wa.extractRotation(Ba),F.halfWidth.set(.5*l.width,0,0),F.halfHeight.set(0,.5*l.height,0),F.halfWidth.applyMatrix4(wa),F.halfHeight.applyMatrix4(wa),
|
|
|
+Z.rectArea[L++]=F;else if(l.isPointLight){F=Aa.get(l);F.position.setFromMatrixPosition(l.matrixWorld);F.position.applyMatrix4(x);F.color.copy(l.color).multiplyScalar(l.intensity);F.distance=l.distance;F.decay=0===l.distance?0:l.decay;if(F.shadow=l.castShadow)F.shadowBias=l.shadow.bias,F.shadowRadius=l.shadow.radius,F.shadowMapSize=l.shadow.mapSize;Z.pointShadowMap[z]=v;void 0===Z.pointShadowMatrix[z]&&(Z.pointShadowMatrix[z]=new S);Da.setFromMatrixPosition(l.matrixWorld).negate();Z.pointShadowMatrix[z].identity().setPosition(Da);
|
|
|
+Z.point[z++]=F}else l.isHemisphereLight&&(F=Aa.get(l),F.direction.setFromMatrixPosition(l.matrixWorld),F.direction.transformDirection(x),F.direction.normalize(),F.skyColor.copy(l.color).multiplyScalar(A),F.groundColor.copy(l.groundColor).multiplyScalar(A),Z.hemi[H++]=F);Z.ambient[0]=u;Z.ambient[1]=k;Z.ambient[2]=t;Z.directional.length=w;Z.spot.length=y;Z.rectArea.length=L;Z.point.length=z;Z.hemi.length=H;Z.hash=w+","+z+","+y+","+L+","+H+","+Z.shadows.length;ma&&ca.endShadows();na.calls=0;na.vertices=
|
|
|
0;na.faces=0;na.points=0;void 0===c&&(c=null);this.setRenderTarget(c);e=a.background;null===e?Y.buffers.color.setClear(Ja.r,Ja.g,Ja.b,kb,R):e&&e.isColor&&(Y.buffers.color.setClear(e.r,e.g,e.b,1,R),d=!0);(this.autoClear||d)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil);e&&e.isCubeTexture?(void 0===pa&&(pa=new Ca,qa=new xa(new ib(5,5,5),new Fa({uniforms:bb.cube.uniforms,vertexShader:bb.cube.vertexShader,fragmentShader:bb.cube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,
|
|
|
fog:!1}))),pa.projectionMatrix.copy(b.projectionMatrix),pa.matrixWorld.extractRotation(b.matrixWorld),pa.matrixWorldInverse.getInverse(pa.matrixWorld),qa.material.uniforms.tCube.value=e,qa.modelViewMatrix.multiplyMatrices(pa.matrixWorldInverse,qa.matrixWorld),oa.update(qa),M.renderBufferDirect(pa,null,qa.geometry,qa.material,qa,null)):e&&e.isTexture&&(void 0===Ga&&(Ga=new Ib(-1,1,1,-1,0,1),za=new xa(new jb(2,2),new Ia({depthTest:!1,depthWrite:!1,fog:!1}))),za.material.map=e,oa.update(za),M.renderBufferDirect(Ga,
|
|
|
-null,za.geometry,za.material,za,null));a.overrideMaterial?(d=a.overrideMaterial,n(sa,a,b,d),n(A,a,b,d)):(Y.setBlending(0),n(sa,a,b),n(A,a,b));Oa.render(a,b);Qa.render(a,b,X);c&&ua.updateRenderTargetMipmap(c);Y.setDepthTest(!0);Y.setDepthWrite(!0);Y.setColorWrite(!0)}};this.setFaceCulling=function(a,b){Y.setCullFace(a);Y.setFlipSided(0===b)};this.allocTextureUnit=function(){var a=ba;a>=ja.maxTextures&&console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+ja.maxTextures);
|
|
|
+null,za.geometry,za.material,za,null));a.overrideMaterial?(d=a.overrideMaterial,n(sa,a,b,d),n(B,a,b,d)):(Y.setBlending(0),n(sa,a,b),n(B,a,b));Oa.render(a,b);Qa.render(a,b,X);c&&ua.updateRenderTargetMipmap(c);Y.setDepthTest(!0);Y.setDepthWrite(!0);Y.setColorWrite(!0)}};this.setFaceCulling=function(a,b){Y.setCullFace(a);Y.setFlipSided(0===b)};this.allocTextureUnit=function(){var a=ba;a>=ja.maxTextures&&console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+ja.maxTextures);
|
|
|
ba+=1;return a};this.setTexture2D=function(){var a=!1;return function(b,c){b&&b.isWebGLRenderTarget&&(a||(console.warn("THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead."),a=!0),b=b.texture);ua.setTexture2D(b,c)}}();this.setTexture=function(){var a=!1;return function(b,c){a||(console.warn("THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead."),a=!0);ua.setTexture2D(b,c)}}();this.setTextureCube=function(){var a=!1;return function(b,
|
|
|
c){b&&b.isWebGLRenderTargetCube&&(a||(console.warn("THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead."),a=!0),b=b.texture);b&&b.isCubeTexture||Array.isArray(b.image)&&6===b.image.length?ua.setTextureCube(b,c):ua.setTextureCubeDynamic(b,c)}}();this.getCurrentRenderTarget=function(){return W};this.setRenderTarget=function(a){(W=a)&&void 0===Ma.get(a).__webglFramebuffer&&ua.setupRenderTarget(a);var b=a&&a.isWebGLRenderTargetCube,c;a?(c=
|
|
|
-Ma.get(a),c=b?c.__webglFramebuffer[a.activeCubeFace]:c.__webglFramebuffer,V.copy(a.scissor),Ud=a.scissorTest,X.copy(a.viewport)):(c=null,V.copy(ea).multiplyScalar(Sa),Ud=ia,X.copy(ga).multiplyScalar(Sa));K!==c&&(B.bindFramebuffer(B.FRAMEBUFFER,c),K=c);Y.scissor(V);Y.setScissorTest(Ud);Y.viewport(X);b&&(b=Ma.get(a.texture),B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_CUBE_MAP_POSITIVE_X+a.activeCubeFace,b.__webglTexture,a.activeMipMapLevel))};this.readRenderTargetPixels=function(a,
|
|
|
-b,c,d,e,f){if(!1===(a&&a.isWebGLRenderTarget))console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");else{var g=Ma.get(a).__webglFramebuffer;if(g){var h=!1;g!==K&&(B.bindFramebuffer(B.FRAMEBUFFER,g),h=!0);try{var l=a.texture,m=l.format,n=l.type;1023!==m&&w(m)!==B.getParameter(B.IMPLEMENTATION_COLOR_READ_FORMAT)?console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."):1009===n||w(n)===
|
|
|
-B.getParameter(B.IMPLEMENTATION_COLOR_READ_TYPE)||1015===n&&(ha.get("OES_texture_float")||ha.get("WEBGL_color_buffer_float"))||1016===n&&ha.get("EXT_color_buffer_half_float")?B.checkFramebufferStatus(B.FRAMEBUFFER)===B.FRAMEBUFFER_COMPLETE?0<=b&&b<=a.width-d&&0<=c&&c<=a.height-e&&B.readPixels(b,c,d,e,w(m),w(n),f):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete."):console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.")}finally{h&&
|
|
|
-B.bindFramebuffer(B.FRAMEBUFFER,K)}}}}}function Jb(a,b){this.name="";this.color=new I(a);this.density=void 0!==b?b:2.5E-4}function Kb(a,b,c){this.name="";this.color=new I(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function ld(){E.call(this);this.type="Scene";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0}function Wd(a,b,c,d,e){E.call(this);this.lensFlares=[];this.positionScreen=new q;this.customUpdateCallback=void 0;void 0!==a&&this.add(a,b,c,d,e)}function lb(a){X.call(this);
|
|
|
+Ma.get(a),c=b?c.__webglFramebuffer[a.activeCubeFace]:c.__webglFramebuffer,V.copy(a.scissor),Ud=a.scissorTest,X.copy(a.viewport)):(c=null,V.copy(ea).multiplyScalar(Sa),Ud=ia,X.copy(ga).multiplyScalar(Sa));K!==c&&(C.bindFramebuffer(C.FRAMEBUFFER,c),K=c);Y.scissor(V);Y.setScissorTest(Ud);Y.viewport(X);b&&(b=Ma.get(a.texture),C.framebufferTexture2D(C.FRAMEBUFFER,C.COLOR_ATTACHMENT0,C.TEXTURE_CUBE_MAP_POSITIVE_X+a.activeCubeFace,b.__webglTexture,a.activeMipMapLevel))};this.readRenderTargetPixels=function(a,
|
|
|
+b,c,d,e,f){if(!1===(a&&a.isWebGLRenderTarget))console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");else{var g=Ma.get(a).__webglFramebuffer;if(g){var h=!1;g!==K&&(C.bindFramebuffer(C.FRAMEBUFFER,g),h=!0);try{var l=a.texture,m=l.format,n=l.type;1023!==m&&w(m)!==C.getParameter(C.IMPLEMENTATION_COLOR_READ_FORMAT)?console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."):1009===n||w(n)===
|
|
|
+C.getParameter(C.IMPLEMENTATION_COLOR_READ_TYPE)||1015===n&&(ha.get("OES_texture_float")||ha.get("WEBGL_color_buffer_float"))||1016===n&&ha.get("EXT_color_buffer_half_float")?C.checkFramebufferStatus(C.FRAMEBUFFER)===C.FRAMEBUFFER_COMPLETE?0<=b&&b<=a.width-d&&0<=c&&c<=a.height-e&&C.readPixels(b,c,d,e,w(m),w(n),f):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete."):console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.")}finally{h&&
|
|
|
+C.bindFramebuffer(C.FRAMEBUFFER,K)}}}}}function Jb(a,b){this.name="";this.color=new I(a);this.density=void 0!==b?b:2.5E-4}function Kb(a,b,c){this.name="";this.color=new I(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function ld(){E.call(this);this.type="Scene";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0}function Wd(a,b,c,d,e){E.call(this);this.lensFlares=[];this.positionScreen=new q;this.customUpdateCallback=void 0;void 0!==a&&this.add(a,b,c,d,e)}function lb(a){X.call(this);
|
|
|
this.type="SpriteMaterial";this.color=new I(16777215);this.map=null;this.rotation=0;this.lights=this.fog=!1;this.setValues(a)}function Bc(a){E.call(this);this.type="Sprite";this.material=void 0!==a?a:new lb}function Cc(){E.call(this);this.type="LOD";Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function Dc(a,b){this.identityMatrix=new S;a=a||[];this.bones=a.slice(0);this.boneMatrices=new Float32Array(16*this.bones.length);if(void 0===b)this.calculateInverses();else if(this.bones.length===
|
|
|
b.length)this.boneInverses=b.slice(0);else{console.warn("THREE.Skeleton boneInverses is the wrong length.");this.boneInverses=[];for(var c=0,d=this.bones.length;c<d;c++)this.boneInverses.push(new S)}}function md(){E.call(this);this.type="Bone"}function nd(a,b){xa.call(this,a,b);this.type="SkinnedMesh";this.bindMode="attached";this.bindMatrix=new S;this.bindMatrixInverse=new S;var c=[];if(this.geometry&&void 0!==this.geometry.bones){for(var d,e,f=0,g=this.geometry.bones.length;f<g;++f)e=this.geometry.bones[f],
|
|
|
d=new md,c.push(d),d.name=e.name,d.position.fromArray(e.pos),d.quaternion.fromArray(e.rotq),void 0!==e.scl&&d.scale.fromArray(e.scl);f=0;for(g=this.geometry.bones.length;f<g;++f)e=this.geometry.bones[f],-1!==e.parent&&null!==e.parent&&void 0!==c[e.parent]?c[e.parent].add(c[f]):this.add(c[f])}this.normalizeSkinWeights();this.updateMatrixWorld(!0);this.bind(new Dc(c),this.matrixWorld)}function ia(a){X.call(this);this.type="LineBasicMaterial";this.color=new I(16777215);this.linewidth=1;this.linejoin=
|
|
@@ -193,55 +193,55 @@ this.color=new I(16777215);this.map=null;this.size=1;this.sizeAttenuation=!0;thi
|
|
|
b,c,d,e,f,g,h,m,l,u,p){aa.call(this,null,f,g,h,m,l,d,e,u,p);this.image={width:b,height:c};this.mipmaps=a;this.generateMipmaps=this.flipY=!1}function qd(a,b,c,d,e,f,g,h,m){aa.call(this,a,b,c,d,e,f,g,h,m);this.needsUpdate=!0}function Fc(a,b,c,d,e,f,g,h,m,l){l=void 0!==l?l:1026;if(1026!==l&&1027!==l)throw Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===c&&1026===l&&(c=1012);void 0===c&&1027===l&&(c=1020);aa.call(this,null,d,e,f,g,h,l,c,m);this.image=
|
|
|
{width:a,height:b};this.magFilter=void 0!==g?g:1003;this.minFilter=void 0!==h?h:1003;this.generateMipmaps=this.flipY=!1}function Nb(a){function b(a,b){return a-b}G.call(this);this.type="WireframeGeometry";var c=[],d,e,f,g,h=[0,0],m={},l,u=["a","b","c"];if(a&&a.isGeometry){var p=a.faces;d=0;for(f=p.length;d<f;d++){var n=p[d];for(e=0;3>e;e++)h[0]=n[u[e]],h[1]=n[u[(e+1)%3]],h.sort(b),l=h.toString(),void 0===m[l]&&(m[l]={index1:h[0],index2:h[1]})}for(l in m)d=m[l],u=a.vertices[d.index1],c.push(u.x,u.y,
|
|
|
u.z),u=a.vertices[d.index2],c.push(u.x,u.y,u.z)}else if(a&&a.isBufferGeometry){var k,u=new q;if(null!==a.index){p=a.attributes.position;n=a.index;k=a.groups;0===k.length&&(k=[{start:0,count:n.count,materialIndex:0}]);a=0;for(g=k.length;a<g;++a)for(d=k[a],e=d.start,f=d.count,d=e,f=e+f;d<f;d+=3)for(e=0;3>e;e++)h[0]=n.getX(d+e),h[1]=n.getX(d+(e+1)%3),h.sort(b),l=h.toString(),void 0===m[l]&&(m[l]={index1:h[0],index2:h[1]});for(l in m)d=m[l],u.fromBufferAttribute(p,d.index1),c.push(u.x,u.y,u.z),u.fromBufferAttribute(p,
|
|
|
-d.index2),c.push(u.x,u.y,u.z)}else for(p=a.attributes.position,d=0,f=p.count/3;d<f;d++)for(e=0;3>e;e++)m=3*d+e,u.fromBufferAttribute(p,m),c.push(u.x,u.y,u.z),m=3*d+(e+1)%3,u.fromBufferAttribute(p,m),c.push(u.x,u.y,u.z)}this.addAttribute("position",new A(c,3))}function Gc(a,b,c){K.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Ob(a,b,c));this.mergeVertices()}function Ob(a,b,c){G.call(this);this.type="ParametricBufferGeometry";this.parameters=
|
|
|
-{func:a,slices:b,stacks:c};var d=[],e=[],f=[],g,h,m=b+1;for(g=0;g<=c;g++){var l=g/c;for(h=0;h<=b;h++){var u=h/b,p=a(u,l);e.push(p.x,p.y,p.z);f.push(u,l)}}for(g=0;g<c;g++)for(h=0;h<b;h++)a=g*m+h+1,l=(g+1)*m+h+1,u=(g+1)*m+h,d.push(g*m+h,a,u),d.push(a,l,u);this.setIndex(d);this.addAttribute("position",new A(e,3));this.addAttribute("uv",new A(f,2));this.computeVertexNormals()}function Hc(a,b,c,d){K.call(this);this.type="PolyhedronGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};this.fromBufferGeometry(new va(a,
|
|
|
-b,c,d));this.mergeVertices()}function va(a,b,c,d){function e(a){h.push(a.x,a.y,a.z)}function f(b,c){var d=3*b;c.x=a[d+0];c.y=a[d+1];c.z=a[d+2]}function g(a,b,c,d){0>d&&1===a.x&&(m[b]=a.x-1);0===c.x&&0===c.z&&(m[b]=d/2/Math.PI+.5)}G.call(this);this.type="PolyhedronBufferGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;var h=[],m=[];(function(a){for(var c=new q,d=new q,g=new q,h=0;h<b.length;h+=3){f(b[h+0],c);f(b[h+1],d);f(b[h+2],g);var m=c,k=d,D=g,w=Math.pow(2,a),x=[],L,v;
|
|
|
-for(L=0;L<=w;L++){x[L]=[];var F=m.clone().lerp(D,L/w),H=k.clone().lerp(D,L/w),z=w-L;for(v=0;v<=z;v++)x[L][v]=0===v&&L===w?F:F.clone().lerp(H,v/z)}for(L=0;L<w;L++)for(v=0;v<2*(w-L)-1;v++)m=Math.floor(v/2),0===v%2?(e(x[L][m+1]),e(x[L+1][m]),e(x[L][m])):(e(x[L][m+1]),e(x[L+1][m+1]),e(x[L+1][m]))}})(d||0);(function(a){for(var b=new q,c=0;c<h.length;c+=3)b.x=h[c+0],b.y=h[c+1],b.z=h[c+2],b.normalize().multiplyScalar(a),h[c+0]=b.x,h[c+1]=b.y,h[c+2]=b.z})(c);(function(){for(var a=new q,b=0;b<h.length;b+=
|
|
|
-3)a.x=h[b+0],a.y=h[b+1],a.z=h[b+2],m.push(Math.atan2(a.z,-a.x)/2/Math.PI+.5,1-(Math.atan2(-a.y,Math.sqrt(a.x*a.x+a.z*a.z))/Math.PI+.5));for(var a=new q,b=new q,c=new q,d=new q,e=new C,f=new C,k=new C,D=0,w=0;D<h.length;D+=9,w+=6){a.set(h[D+0],h[D+1],h[D+2]);b.set(h[D+3],h[D+4],h[D+5]);c.set(h[D+6],h[D+7],h[D+8]);e.set(m[w+0],m[w+1]);f.set(m[w+2],m[w+3]);k.set(m[w+4],m[w+5]);d.copy(a).add(b).add(c).divideScalar(3);var x=Math.atan2(d.z,-d.x);g(e,w+0,a,x);g(f,w+2,b,x);g(k,w+4,c,x)}for(a=0;a<m.length;a+=
|
|
|
-6)b=m[a+0],c=m[a+2],d=m[a+4],e=Math.min(b,c,d),.9<Math.max(b,c,d)&&.1>e&&(.2>b&&(m[a+0]+=1),.2>c&&(m[a+2]+=1),.2>d&&(m[a+4]+=1))})();this.addAttribute("position",new A(h,3));this.addAttribute("normal",new A(h.slice(),3));this.addAttribute("uv",new A(m,2));this.normalizeNormals()}function Ic(a,b){K.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Pb(a,b));this.mergeVertices()}function Pb(a,b){va.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,
|
|
|
+d.index2),c.push(u.x,u.y,u.z)}else for(p=a.attributes.position,d=0,f=p.count/3;d<f;d++)for(e=0;3>e;e++)m=3*d+e,u.fromBufferAttribute(p,m),c.push(u.x,u.y,u.z),m=3*d+(e+1)%3,u.fromBufferAttribute(p,m),c.push(u.x,u.y,u.z)}this.addAttribute("position",new B(c,3))}function Gc(a,b,c){K.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Ob(a,b,c));this.mergeVertices()}function Ob(a,b,c){G.call(this);this.type="ParametricBufferGeometry";this.parameters=
|
|
|
+{func:a,slices:b,stacks:c};var d=[],e=[],f=[],g,h,m=b+1;for(g=0;g<=c;g++){var l=g/c;for(h=0;h<=b;h++){var u=h/b,p=a(u,l);e.push(p.x,p.y,p.z);f.push(u,l)}}for(g=0;g<c;g++)for(h=0;h<b;h++)a=g*m+h+1,l=(g+1)*m+h+1,u=(g+1)*m+h,d.push(g*m+h,a,u),d.push(a,l,u);this.setIndex(d);this.addAttribute("position",new B(e,3));this.addAttribute("uv",new B(f,2));this.computeVertexNormals()}function Hc(a,b,c,d){K.call(this);this.type="PolyhedronGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};this.fromBufferGeometry(new va(a,
|
|
|
+b,c,d));this.mergeVertices()}function va(a,b,c,d){function e(a){h.push(a.x,a.y,a.z)}function f(b,c){var d=3*b;c.x=a[d+0];c.y=a[d+1];c.z=a[d+2]}function g(a,b,c,d){0>d&&1===a.x&&(m[b]=a.x-1);0===c.x&&0===c.z&&(m[b]=d/2/Math.PI+.5)}G.call(this);this.type="PolyhedronBufferGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;var h=[],m=[];(function(a){for(var c=new q,d=new q,g=new q,h=0;h<b.length;h+=3){f(b[h+0],c);f(b[h+1],d);f(b[h+2],g);var m=c,k=d,z=g,w=Math.pow(2,a),x=[],L,v;
|
|
|
+for(L=0;L<=w;L++){x[L]=[];var F=m.clone().lerp(z,L/w),H=k.clone().lerp(z,L/w),y=w-L;for(v=0;v<=y;v++)x[L][v]=0===v&&L===w?F:F.clone().lerp(H,v/y)}for(L=0;L<w;L++)for(v=0;v<2*(w-L)-1;v++)m=Math.floor(v/2),0===v%2?(e(x[L][m+1]),e(x[L+1][m]),e(x[L][m])):(e(x[L][m+1]),e(x[L+1][m+1]),e(x[L+1][m]))}})(d||0);(function(a){for(var b=new q,c=0;c<h.length;c+=3)b.x=h[c+0],b.y=h[c+1],b.z=h[c+2],b.normalize().multiplyScalar(a),h[c+0]=b.x,h[c+1]=b.y,h[c+2]=b.z})(c);(function(){for(var a=new q,b=0;b<h.length;b+=
|
|
|
+3)a.x=h[b+0],a.y=h[b+1],a.z=h[b+2],m.push(Math.atan2(a.z,-a.x)/2/Math.PI+.5,1-(Math.atan2(-a.y,Math.sqrt(a.x*a.x+a.z*a.z))/Math.PI+.5));for(var a=new q,b=new q,c=new q,d=new q,e=new D,f=new D,k=new D,z=0,w=0;z<h.length;z+=9,w+=6){a.set(h[z+0],h[z+1],h[z+2]);b.set(h[z+3],h[z+4],h[z+5]);c.set(h[z+6],h[z+7],h[z+8]);e.set(m[w+0],m[w+1]);f.set(m[w+2],m[w+3]);k.set(m[w+4],m[w+5]);d.copy(a).add(b).add(c).divideScalar(3);var x=Math.atan2(d.z,-d.x);g(e,w+0,a,x);g(f,w+2,b,x);g(k,w+4,c,x)}for(a=0;a<m.length;a+=
|
|
|
+6)b=m[a+0],c=m[a+2],d=m[a+4],e=Math.min(b,c,d),.9<Math.max(b,c,d)&&.1>e&&(.2>b&&(m[a+0]+=1),.2>c&&(m[a+2]+=1),.2>d&&(m[a+4]+=1))})();this.addAttribute("position",new B(h,3));this.addAttribute("normal",new B(h.slice(),3));this.addAttribute("uv",new B(m,2));this.normalizeNormals()}function Ic(a,b){K.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Pb(a,b));this.mergeVertices()}function Pb(a,b){va.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,
|
|
|
1,0,0,3,2,1,3,0,2,3,1],a,b);this.type="TetrahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Jc(a,b){K.call(this);this.type="OctahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new mb(a,b));this.mergeVertices()}function mb(a,b){va.call(this,[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],a,b);this.type="OctahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Kc(a,b){K.call(this);this.type="IcosahedronGeometry";
|
|
|
this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Qb(a,b));this.mergeVertices()}function Qb(a,b){var c=(1+Math.sqrt(5))/2;va.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type="IcosahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Lc(a,b){K.call(this);this.type="DodecahedronGeometry";
|
|
|
this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Rb(a,b));this.mergeVertices()}function Rb(a,b){var c=(1+Math.sqrt(5))/2,d=1/c;va.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0,d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c,0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,
|
|
|
9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type="DodecahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Mc(a,b,c,d,e,f){K.call(this);this.type="TubeGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};void 0!==f&&console.warn("THREE.TubeGeometry: taper has been removed.");a=new Sb(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}
|
|
|
function Sb(a,b,c,d,e){function f(e){var f=a.getPointAt(e/b),l=g.normals[e];e=g.binormals[e];for(p=0;p<=d;p++){var u=p/d*Math.PI*2,r=Math.sin(u),u=-Math.cos(u);m.x=u*l.x+r*e.x;m.y=u*l.y+r*e.y;m.z=u*l.z+r*e.z;m.normalize();k.push(m.x,m.y,m.z);h.x=f.x+c*m.x;h.y=f.y+c*m.y;h.z=f.z+c*m.z;n.push(h.x,h.y,h.z)}}G.call(this);this.type="TubeBufferGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;d=d||8;e=e||!1;var g=a.computeFrenetFrames(b,e);this.tangents=
|
|
|
-g.tangents;this.normals=g.normals;this.binormals=g.binormals;var h=new q,m=new q,l=new C,u,p,n=[],k=[],y=[],r=[];for(u=0;u<b;u++)f(u);f(!1===e?b:0);for(u=0;u<=b;u++)for(p=0;p<=d;p++)l.x=u/b,l.y=p/d,y.push(l.x,l.y);(function(){for(p=1;p<=b;p++)for(u=1;u<=d;u++){var a=(d+1)*p+(u-1),c=(d+1)*p+u,e=(d+1)*(p-1)+u;r.push((d+1)*(p-1)+(u-1),a,e);r.push(a,c,e)}})();this.setIndex(r);this.addAttribute("position",new A(n,3));this.addAttribute("normal",new A(k,3));this.addAttribute("uv",new A(y,2))}function Nc(a,
|
|
|
+g.tangents;this.normals=g.normals;this.binormals=g.binormals;var h=new q,m=new q,l=new D,u,p,n=[],k=[],A=[],r=[];for(u=0;u<b;u++)f(u);f(!1===e?b:0);for(u=0;u<=b;u++)for(p=0;p<=d;p++)l.x=u/b,l.y=p/d,A.push(l.x,l.y);(function(){for(p=1;p<=b;p++)for(u=1;u<=d;u++){var a=(d+1)*p+(u-1),c=(d+1)*p+u,e=(d+1)*(p-1)+u;r.push((d+1)*(p-1)+(u-1),a,e);r.push(a,c,e)}})();this.setIndex(r);this.addAttribute("position",new B(n,3));this.addAttribute("normal",new B(k,3));this.addAttribute("uv",new B(A,2))}function Nc(a,
|
|
|
b,c,d,e,f,g){K.call(this);this.type="TorusKnotGeometry";this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d,p:e,q:f};void 0!==g&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead.");this.fromBufferGeometry(new Tb(a,b,c,d,e,f));this.mergeVertices()}function Tb(a,b,c,d,e,f){function g(a,b,c,d,e){var f=Math.sin(a);b=c/b*a;c=Math.cos(b);e.x=d*(2+c)*.5*Math.cos(a);e.y=d*(2+c)*f*.5;e.z=d*Math.sin(b)*.5}G.call(this);this.type="TorusKnotBufferGeometry";
|
|
|
-this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d,p:e,q:f};a=a||100;b=b||40;c=Math.floor(c)||64;d=Math.floor(d)||8;e=e||2;f=f||3;var h=[],m=[],l=[],u=[],p,n,k=new q,y=new q;new C;var r=new q,D=new q,w=new q,x=new q,L=new q;for(p=0;p<=c;++p)for(n=p/c*e*Math.PI*2,g(n,e,f,a,r),g(n+.01,e,f,a,D),x.subVectors(D,r),L.addVectors(D,r),w.crossVectors(x,L),L.crossVectors(w,x),w.normalize(),L.normalize(),n=0;n<=d;++n){var v=n/d*Math.PI*2,F=-b*Math.cos(v),v=b*Math.sin(v);k.x=r.x+(F*L.x+v*w.x);
|
|
|
-k.y=r.y+(F*L.y+v*w.y);k.z=r.z+(F*L.z+v*w.z);m.push(k.x,k.y,k.z);y.subVectors(k,r).normalize();l.push(y.x,y.y,y.z);u.push(p/c);u.push(n/d)}for(n=1;n<=c;n++)for(p=1;p<=d;p++)a=(d+1)*n+(p-1),b=(d+1)*n+p,e=(d+1)*(n-1)+p,h.push((d+1)*(n-1)+(p-1),a,e),h.push(a,b,e);this.setIndex(h);this.addAttribute("position",new A(m,3));this.addAttribute("normal",new A(l,3));this.addAttribute("uv",new A(u,2))}function Oc(a,b,c,d,e){K.call(this);this.type="TorusGeometry";this.parameters={radius:a,tube:b,radialSegments:c,
|
|
|
-tubularSegments:d,arc:e};this.fromBufferGeometry(new Ub(a,b,c,d,e))}function Ub(a,b,c,d,e){G.call(this);this.type="TorusBufferGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};a=a||100;b=b||40;c=Math.floor(c)||8;d=Math.floor(d)||6;e=e||2*Math.PI;var f=[],g=[],h=[],m=[],l=new q,u=new q,p=new q,n,k;for(n=0;n<=c;n++)for(k=0;k<=d;k++){var y=k/d*e,r=n/c*Math.PI*2;u.x=(a+b*Math.cos(r))*Math.cos(y);u.y=(a+b*Math.cos(r))*Math.sin(y);u.z=b*Math.sin(r);g.push(u.x,u.y,u.z);
|
|
|
-l.x=a*Math.cos(y);l.y=a*Math.sin(y);p.subVectors(u,l).normalize();h.push(p.x,p.y,p.z);m.push(k/d);m.push(n/c)}for(n=1;n<=c;n++)for(k=1;k<=d;k++)a=(d+1)*(n-1)+k-1,b=(d+1)*(n-1)+k,e=(d+1)*n+k,f.push((d+1)*n+k-1,a,e),f.push(a,b,e);this.setIndex(f);this.addAttribute("position",new A(g,3));this.addAttribute("normal",new A(h,3));this.addAttribute("uv",new A(m,2))}function ya(a,b){"undefined"!==typeof a&&(K.call(this),this.type="ExtrudeGeometry",a=Array.isArray(a)?a:[a],this.addShapeList(a,b),this.computeFaceNormals())}
|
|
|
+this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d,p:e,q:f};a=a||100;b=b||40;c=Math.floor(c)||64;d=Math.floor(d)||8;e=e||2;f=f||3;var h=[],m=[],l=[],u=[],p,n,k=new q,A=new q;new D;var r=new q,z=new q,w=new q,x=new q,L=new q;for(p=0;p<=c;++p)for(n=p/c*e*Math.PI*2,g(n,e,f,a,r),g(n+.01,e,f,a,z),x.subVectors(z,r),L.addVectors(z,r),w.crossVectors(x,L),L.crossVectors(w,x),w.normalize(),L.normalize(),n=0;n<=d;++n){var v=n/d*Math.PI*2,F=-b*Math.cos(v),v=b*Math.sin(v);k.x=r.x+(F*L.x+v*w.x);
|
|
|
+k.y=r.y+(F*L.y+v*w.y);k.z=r.z+(F*L.z+v*w.z);m.push(k.x,k.y,k.z);A.subVectors(k,r).normalize();l.push(A.x,A.y,A.z);u.push(p/c);u.push(n/d)}for(n=1;n<=c;n++)for(p=1;p<=d;p++)a=(d+1)*n+(p-1),b=(d+1)*n+p,e=(d+1)*(n-1)+p,h.push((d+1)*(n-1)+(p-1),a,e),h.push(a,b,e);this.setIndex(h);this.addAttribute("position",new B(m,3));this.addAttribute("normal",new B(l,3));this.addAttribute("uv",new B(u,2))}function Oc(a,b,c,d,e){K.call(this);this.type="TorusGeometry";this.parameters={radius:a,tube:b,radialSegments:c,
|
|
|
+tubularSegments:d,arc:e};this.fromBufferGeometry(new Ub(a,b,c,d,e))}function Ub(a,b,c,d,e){G.call(this);this.type="TorusBufferGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};a=a||100;b=b||40;c=Math.floor(c)||8;d=Math.floor(d)||6;e=e||2*Math.PI;var f=[],g=[],h=[],m=[],l=new q,u=new q,p=new q,n,k;for(n=0;n<=c;n++)for(k=0;k<=d;k++){var A=k/d*e,r=n/c*Math.PI*2;u.x=(a+b*Math.cos(r))*Math.cos(A);u.y=(a+b*Math.cos(r))*Math.sin(A);u.z=b*Math.sin(r);g.push(u.x,u.y,u.z);
|
|
|
+l.x=a*Math.cos(A);l.y=a*Math.sin(A);p.subVectors(u,l).normalize();h.push(p.x,p.y,p.z);m.push(k/d);m.push(n/c)}for(n=1;n<=c;n++)for(k=1;k<=d;k++)a=(d+1)*(n-1)+k-1,b=(d+1)*(n-1)+k,e=(d+1)*n+k,f.push((d+1)*n+k-1,a,e),f.push(a,b,e);this.setIndex(f);this.addAttribute("position",new B(g,3));this.addAttribute("normal",new B(h,3));this.addAttribute("uv",new B(m,2))}function ya(a,b){"undefined"!==typeof a&&(K.call(this),this.type="ExtrudeGeometry",a=Array.isArray(a)?a:[a],this.addShapeList(a,b),this.computeFaceNormals())}
|
|
|
function Pc(a,b){b=b||{};var c=b.font;if(!1===(c&&c.isFont))return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new K;c=c.generateShapes(a,b.size,b.curveSegments);b.amount=void 0!==b.height?b.height:50;void 0===b.bevelThickness&&(b.bevelThickness=10);void 0===b.bevelSize&&(b.bevelSize=8);void 0===b.bevelEnabled&&(b.bevelEnabled=!1);ya.call(this,c,b);this.type="TextGeometry"}function Qc(a,b,c,d,e,f,g){K.call(this);this.type="SphereGeometry";this.parameters=
|
|
|
{radius:a,widthSegments:b,heightSegments:c,phiStart:d,phiLength:e,thetaStart:f,thetaLength:g};this.fromBufferGeometry(new nb(a,b,c,d,e,f,g))}function nb(a,b,c,d,e,f,g){G.call(this);this.type="SphereBufferGeometry";this.parameters={radius:a,widthSegments:b,heightSegments:c,phiStart:d,phiLength:e,thetaStart:f,thetaLength:g};a=a||50;b=Math.max(3,Math.floor(b)||8);c=Math.max(2,Math.floor(c)||6);d=void 0!==d?d:0;e=void 0!==e?e:2*Math.PI;f=void 0!==f?f:0;g=void 0!==g?g:Math.PI;var h=f+g,m,l,u=0,p=[],n=
|
|
|
-new q,k=new q,y=[],r=[],D=[],w=[];for(l=0;l<=c;l++){var x=[],L=l/c;for(m=0;m<=b;m++){var v=m/b;n.x=-a*Math.cos(d+v*e)*Math.sin(f+L*g);n.y=a*Math.cos(f+L*g);n.z=a*Math.sin(d+v*e)*Math.sin(f+L*g);r.push(n.x,n.y,n.z);k.set(n.x,n.y,n.z).normalize();D.push(k.x,k.y,k.z);w.push(v,1-L);x.push(u++)}p.push(x)}for(l=0;l<c;l++)for(m=0;m<b;m++)a=p[l][m+1],d=p[l][m],e=p[l+1][m],g=p[l+1][m+1],(0!==l||0<f)&&y.push(a,d,g),(l!==c-1||h<Math.PI)&&y.push(d,e,g);this.setIndex(y);this.addAttribute("position",new A(r,3));
|
|
|
-this.addAttribute("normal",new A(D,3));this.addAttribute("uv",new A(w,2))}function Rc(a,b,c,d,e,f){K.call(this);this.type="RingGeometry";this.parameters={innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};this.fromBufferGeometry(new Vb(a,b,c,d,e,f))}function Vb(a,b,c,d,e,f){G.call(this);this.type="RingBufferGeometry";this.parameters={innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};a=a||20;b=b||50;e=void 0!==e?e:0;f=void 0!==
|
|
|
-f?f:2*Math.PI;c=void 0!==c?Math.max(3,c):8;d=void 0!==d?Math.max(1,d):1;var g=[],h=[],m=[],l=[],u=a,p=(b-a)/d,n=new q,k=new C,y,r;for(y=0;y<=d;y++){for(r=0;r<=c;r++)a=e+r/c*f,n.x=u*Math.cos(a),n.y=u*Math.sin(a),h.push(n.x,n.y,n.z),m.push(0,0,1),k.x=(n.x/b+1)/2,k.y=(n.y/b+1)/2,l.push(k.x,k.y);u+=p}for(y=0;y<d;y++)for(b=y*(c+1),r=0;r<c;r++)a=r+b,e=a+c+1,f=a+c+2,u=a+1,g.push(a,e,u),g.push(e,f,u);this.setIndex(g);this.addAttribute("position",new A(h,3));this.addAttribute("normal",new A(m,3));this.addAttribute("uv",
|
|
|
-new A(l,2))}function Sc(a,b,c,d){K.call(this);this.type="LatheGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};this.fromBufferGeometry(new Wb(a,b,c,d));this.mergeVertices()}function Wb(a,b,c,d){G.call(this);this.type="LatheBufferGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};b=Math.floor(b)||12;c=c||0;d=d||2*Math.PI;d=T.clamp(d,0,2*Math.PI);var e=[],f=[],g=[],h=1/b,m=new q,l=new C,u,p;for(u=0;u<=b;u++){p=c+u*h*d;var n=Math.sin(p),k=Math.cos(p);for(p=0;p<=
|
|
|
-a.length-1;p++)m.x=a[p].x*n,m.y=a[p].y,m.z=a[p].x*k,f.push(m.x,m.y,m.z),l.x=u/b,l.y=p/(a.length-1),g.push(l.x,l.y)}for(u=0;u<b;u++)for(p=0;p<a.length-1;p++)c=p+u*a.length,h=c+a.length,m=c+a.length+1,l=c+1,e.push(c,h,l),e.push(h,m,l);this.setIndex(e);this.addAttribute("position",new A(f,3));this.addAttribute("uv",new A(g,2));this.computeVertexNormals();if(d===2*Math.PI)for(d=this.attributes.normal.array,e=new q,f=new q,g=new q,c=b*a.length*3,p=u=0;u<a.length;u++,p+=3)e.x=d[p+0],e.y=d[p+1],e.z=d[p+
|
|
|
+new q,k=new q,A=[],r=[],z=[],w=[];for(l=0;l<=c;l++){var x=[],L=l/c;for(m=0;m<=b;m++){var v=m/b;n.x=-a*Math.cos(d+v*e)*Math.sin(f+L*g);n.y=a*Math.cos(f+L*g);n.z=a*Math.sin(d+v*e)*Math.sin(f+L*g);r.push(n.x,n.y,n.z);k.set(n.x,n.y,n.z).normalize();z.push(k.x,k.y,k.z);w.push(v,1-L);x.push(u++)}p.push(x)}for(l=0;l<c;l++)for(m=0;m<b;m++)a=p[l][m+1],d=p[l][m],e=p[l+1][m],g=p[l+1][m+1],(0!==l||0<f)&&A.push(a,d,g),(l!==c-1||h<Math.PI)&&A.push(d,e,g);this.setIndex(A);this.addAttribute("position",new B(r,3));
|
|
|
+this.addAttribute("normal",new B(z,3));this.addAttribute("uv",new B(w,2))}function Rc(a,b,c,d,e,f){K.call(this);this.type="RingGeometry";this.parameters={innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};this.fromBufferGeometry(new Vb(a,b,c,d,e,f))}function Vb(a,b,c,d,e,f){G.call(this);this.type="RingBufferGeometry";this.parameters={innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};a=a||20;b=b||50;e=void 0!==e?e:0;f=void 0!==
|
|
|
+f?f:2*Math.PI;c=void 0!==c?Math.max(3,c):8;d=void 0!==d?Math.max(1,d):1;var g=[],h=[],m=[],l=[],u=a,p=(b-a)/d,n=new q,k=new D,A,r;for(A=0;A<=d;A++){for(r=0;r<=c;r++)a=e+r/c*f,n.x=u*Math.cos(a),n.y=u*Math.sin(a),h.push(n.x,n.y,n.z),m.push(0,0,1),k.x=(n.x/b+1)/2,k.y=(n.y/b+1)/2,l.push(k.x,k.y);u+=p}for(A=0;A<d;A++)for(b=A*(c+1),r=0;r<c;r++)a=r+b,e=a+c+1,f=a+c+2,u=a+1,g.push(a,e,u),g.push(e,f,u);this.setIndex(g);this.addAttribute("position",new B(h,3));this.addAttribute("normal",new B(m,3));this.addAttribute("uv",
|
|
|
+new B(l,2))}function Sc(a,b,c,d){K.call(this);this.type="LatheGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};this.fromBufferGeometry(new Wb(a,b,c,d));this.mergeVertices()}function Wb(a,b,c,d){G.call(this);this.type="LatheBufferGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};b=Math.floor(b)||12;c=c||0;d=d||2*Math.PI;d=T.clamp(d,0,2*Math.PI);var e=[],f=[],g=[],h=1/b,m=new q,l=new D,u,p;for(u=0;u<=b;u++){p=c+u*h*d;var n=Math.sin(p),k=Math.cos(p);for(p=0;p<=
|
|
|
+a.length-1;p++)m.x=a[p].x*n,m.y=a[p].y,m.z=a[p].x*k,f.push(m.x,m.y,m.z),l.x=u/b,l.y=p/(a.length-1),g.push(l.x,l.y)}for(u=0;u<b;u++)for(p=0;p<a.length-1;p++)c=p+u*a.length,h=c+a.length,m=c+a.length+1,l=c+1,e.push(c,h,l),e.push(h,m,l);this.setIndex(e);this.addAttribute("position",new B(f,3));this.addAttribute("uv",new B(g,2));this.computeVertexNormals();if(d===2*Math.PI)for(d=this.attributes.normal.array,e=new q,f=new q,g=new q,c=b*a.length*3,p=u=0;u<a.length;u++,p+=3)e.x=d[p+0],e.y=d[p+1],e.z=d[p+
|
|
|
2],f.x=d[c+p+0],f.y=d[c+p+1],f.z=d[c+p+2],g.addVectors(e,f).normalize(),d[p+0]=d[c+p+0]=g.x,d[p+1]=d[c+p+1]=g.y,d[p+2]=d[c+p+2]=g.z}function Xb(a,b){K.call(this);this.type="ShapeGeometry";"object"===typeof b&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),b=b.curveSegments);this.parameters={shapes:a,curveSegments:b};this.fromBufferGeometry(new Yb(a,b));this.mergeVertices()}function Yb(a,b){function c(a){var c,h,l=e.length/3;a=a.extractPoints(b);var k=a.shape,r=a.holes;if(!1===
|
|
|
za.isClockWise(k))for(k=k.reverse(),a=0,c=r.length;a<c;a++)h=r[a],!0===za.isClockWise(h)&&(r[a]=h.reverse());var q=za.triangulateShape(k,r);a=0;for(c=r.length;a<c;a++)h=r[a],k=k.concat(h);a=0;for(c=k.length;a<c;a++)h=k[a],e.push(h.x,h.y,0),f.push(0,0,1),g.push(h.x,h.y);a=0;for(c=q.length;a<c;a++)k=q[a],d.push(k[0]+l,k[1]+l,k[2]+l),m+=3}G.call(this);this.type="ShapeBufferGeometry";this.parameters={shapes:a,curveSegments:b};b=b||12;var d=[],e=[],f=[],g=[],h=0,m=0;if(!1===Array.isArray(a))c(a);else for(var l=
|
|
|
-0;l<a.length;l++)c(a[l]),this.addGroup(h,m,l),h+=m,m=0;this.setIndex(d);this.addAttribute("position",new A(e,3));this.addAttribute("normal",new A(f,3));this.addAttribute("uv",new A(g,2))}function Zb(a,b){function c(a,b){return a-b}G.call(this);this.type="EdgesGeometry";this.parameters={thresholdAngle:b};var d=[],e=Math.cos(T.DEG2RAD*(void 0!==b?b:1)),f=[0,0],g={},h,m=["a","b","c"],l;a.isBufferGeometry?(l=new K,l.fromBufferGeometry(a)):l=a.clone();l.mergeVertices();l.computeFaceNormals();var u=l.vertices;
|
|
|
-l=l.faces;for(var k=0,n=l.length;k<n;k++)for(var t=l[k],y=0;3>y;y++)f[0]=t[m[y]],f[1]=t[m[(y+1)%3]],f.sort(c),h=f.toString(),void 0===g[h]?g[h]={index1:f[0],index2:f[1],face1:k,face2:void 0}:g[h].face2=k;for(h in g)if(f=g[h],void 0===f.face2||l[f.face1].normal.dot(l[f.face2].normal)<=e)m=u[f.index1],d.push(m.x,m.y,m.z),m=u[f.index2],d.push(m.x,m.y,m.z);this.addAttribute("position",new A(d,3))}function ob(a,b,c,d,e,f,g,h){K.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,
|
|
|
-height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new Wa(a,b,c,d,e,f,g,h));this.mergeVertices()}function Wa(a,b,c,d,e,f,g,h){function m(c){var e,f,m,r=new C,z=new q,R=0,A=!0===c?a:b,U=!0===c?1:-1;f=y;for(e=1;e<=d;e++)k.push(0,D*U,0),n.push(0,U,0),t.push(.5,.5),y++;m=y;for(e=0;e<=d;e++){var E=e/d*h+g,da=Math.cos(E),E=Math.sin(E);z.x=A*E;z.y=D*U;z.z=A*da;k.push(z.x,z.y,z.z);n.push(0,U,0);r.x=.5*da+.5;r.y=.5*E*U+.5;t.push(r.x,r.y);y++}for(e=0;e<
|
|
|
-d;e++)r=f+e,z=m+e,!0===c?u.push(z,z+1,r):u.push(z+1,z,r),R+=3;l.addGroup(w,R,!0===c?1:2);w+=R}G.call(this);this.type="CylinderBufferGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};var l=this;a=void 0!==a?a:20;b=void 0!==b?b:20;c=void 0!==c?c:100;d=Math.floor(d)||8;e=Math.floor(e)||1;f=void 0!==f?f:!1;g=void 0!==g?g:0;h=void 0!==h?h:2*Math.PI;var u=[],k=[],n=[],t=[],y=0,r=[],D=c/2,w=0;(function(){var f,m,v=new q,
|
|
|
-F=new q,H=0,z=(b-a)/c;for(m=0;m<=e;m++){var R=[],C=m/e,U=C*(b-a)+a;for(f=0;f<=d;f++){var E=f/d,A=E*h+g,G=Math.sin(A),A=Math.cos(A);F.x=U*G;F.y=-C*c+D;F.z=U*A;k.push(F.x,F.y,F.z);v.set(G,z,A).normalize();n.push(v.x,v.y,v.z);t.push(E,1-C);R.push(y++)}r.push(R)}for(f=0;f<d;f++)for(m=0;m<e;m++)v=r[m+1][f],F=r[m+1][f+1],z=r[m][f+1],u.push(r[m][f],v,z),u.push(v,F,z),H+=6;l.addGroup(w,H,0);w+=H})();!1===f&&(0<a&&m(!0),0<b&&m(!1));this.setIndex(u);this.addAttribute("position",new A(k,3));this.addAttribute("normal",
|
|
|
-new A(n,3));this.addAttribute("uv",new A(t,2))}function Tc(a,b,c,d,e,f,g){ob.call(this,0,a,b,c,d,e,f,g);this.type="ConeGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Uc(a,b,c,d,e,f,g){Wa.call(this,0,a,b,c,d,e,f,g);this.type="ConeBufferGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Vc(a,b,c,d){K.call(this);this.type="CircleGeometry";this.parameters=
|
|
|
-{radius:a,segments:b,thetaStart:c,thetaLength:d};this.fromBufferGeometry(new $b(a,b,c,d))}function $b(a,b,c,d){G.call(this);this.type="CircleBufferGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};a=a||50;b=void 0!==b?Math.max(3,b):8;c=void 0!==c?c:0;d=void 0!==d?d:2*Math.PI;var e=[],f=[],g=[],h=[],m,l,u=new q,k=new C;f.push(0,0,0);g.push(0,0,1);h.push(.5,.5);l=0;for(m=3;l<=b;l++,m+=3){var n=c+l/b*d;u.x=a*Math.cos(n);u.y=a*Math.sin(n);f.push(u.x,u.y,u.z);g.push(0,0,1);k.x=
|
|
|
-(f[m]/a+1)/2;k.y=(f[m+1]/a+1)/2;h.push(k.x,k.y)}for(m=1;m<=b;m++)e.push(m,m+1,0);this.setIndex(e);this.addAttribute("position",new A(f,3));this.addAttribute("normal",new A(g,3));this.addAttribute("uv",new A(h,2))}function ac(){Fa.call(this,{uniforms:Ha.merge([O.lights,{opacity:{value:1}}]),vertexShader:ba.shadow_vert,fragmentShader:ba.shadow_frag});this.transparent=this.lights=!0;Object.defineProperties(this,{opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(a){this.uniforms.opacity.value=
|
|
|
-a}}})}function bc(a){Fa.call(this,a);this.type="RawShaderMaterial"}function Qa(a){X.call(this);this.defines={STANDARD:""};this.type="MeshStandardMaterial";this.color=new I(16777215);this.metalness=this.roughness=.5;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new I(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new C(1,1);this.displacementMap=null;this.displacementScale=
|
|
|
+0;l<a.length;l++)c(a[l]),this.addGroup(h,m,l),h+=m,m=0;this.setIndex(d);this.addAttribute("position",new B(e,3));this.addAttribute("normal",new B(f,3));this.addAttribute("uv",new B(g,2))}function Zb(a,b){function c(a,b){return a-b}G.call(this);this.type="EdgesGeometry";this.parameters={thresholdAngle:b};var d=[],e=Math.cos(T.DEG2RAD*(void 0!==b?b:1)),f=[0,0],g={},h,m=["a","b","c"],l;a.isBufferGeometry?(l=new K,l.fromBufferGeometry(a)):l=a.clone();l.mergeVertices();l.computeFaceNormals();var u=l.vertices;
|
|
|
+l=l.faces;for(var k=0,n=l.length;k<n;k++)for(var t=l[k],A=0;3>A;A++)f[0]=t[m[A]],f[1]=t[m[(A+1)%3]],f.sort(c),h=f.toString(),void 0===g[h]?g[h]={index1:f[0],index2:f[1],face1:k,face2:void 0}:g[h].face2=k;for(h in g)if(f=g[h],void 0===f.face2||l[f.face1].normal.dot(l[f.face2].normal)<=e)m=u[f.index1],d.push(m.x,m.y,m.z),m=u[f.index2],d.push(m.x,m.y,m.z);this.addAttribute("position",new B(d,3))}function ob(a,b,c,d,e,f,g,h){K.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,
|
|
|
+height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new Wa(a,b,c,d,e,f,g,h));this.mergeVertices()}function Wa(a,b,c,d,e,f,g,h){function m(c){var e,f,m,r=new D,y=new q,R=0,B=!0===c?a:b,U=!0===c?1:-1;f=A;for(e=1;e<=d;e++)k.push(0,z*U,0),n.push(0,U,0),t.push(.5,.5),A++;m=A;for(e=0;e<=d;e++){var E=e/d*h+g,da=Math.cos(E),E=Math.sin(E);y.x=B*E;y.y=z*U;y.z=B*da;k.push(y.x,y.y,y.z);n.push(0,U,0);r.x=.5*da+.5;r.y=.5*E*U+.5;t.push(r.x,r.y);A++}for(e=0;e<
|
|
|
+d;e++)r=f+e,y=m+e,!0===c?u.push(y,y+1,r):u.push(y+1,y,r),R+=3;l.addGroup(w,R,!0===c?1:2);w+=R}G.call(this);this.type="CylinderBufferGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};var l=this;a=void 0!==a?a:20;b=void 0!==b?b:20;c=void 0!==c?c:100;d=Math.floor(d)||8;e=Math.floor(e)||1;f=void 0!==f?f:!1;g=void 0!==g?g:0;h=void 0!==h?h:2*Math.PI;var u=[],k=[],n=[],t=[],A=0,r=[],z=c/2,w=0;(function(){var f,m,v=new q,
|
|
|
+F=new q,H=0,y=(b-a)/c;for(m=0;m<=e;m++){var R=[],D=m/e,U=D*(b-a)+a;for(f=0;f<=d;f++){var E=f/d,B=E*h+g,G=Math.sin(B),B=Math.cos(B);F.x=U*G;F.y=-D*c+z;F.z=U*B;k.push(F.x,F.y,F.z);v.set(G,y,B).normalize();n.push(v.x,v.y,v.z);t.push(E,1-D);R.push(A++)}r.push(R)}for(f=0;f<d;f++)for(m=0;m<e;m++)v=r[m+1][f],F=r[m+1][f+1],y=r[m][f+1],u.push(r[m][f],v,y),u.push(v,F,y),H+=6;l.addGroup(w,H,0);w+=H})();!1===f&&(0<a&&m(!0),0<b&&m(!1));this.setIndex(u);this.addAttribute("position",new B(k,3));this.addAttribute("normal",
|
|
|
+new B(n,3));this.addAttribute("uv",new B(t,2))}function Tc(a,b,c,d,e,f,g){ob.call(this,0,a,b,c,d,e,f,g);this.type="ConeGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Uc(a,b,c,d,e,f,g){Wa.call(this,0,a,b,c,d,e,f,g);this.type="ConeBufferGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Vc(a,b,c,d){K.call(this);this.type="CircleGeometry";this.parameters=
|
|
|
+{radius:a,segments:b,thetaStart:c,thetaLength:d};this.fromBufferGeometry(new $b(a,b,c,d))}function $b(a,b,c,d){G.call(this);this.type="CircleBufferGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};a=a||50;b=void 0!==b?Math.max(3,b):8;c=void 0!==c?c:0;d=void 0!==d?d:2*Math.PI;var e=[],f=[],g=[],h=[],m,l,u=new q,k=new D;f.push(0,0,0);g.push(0,0,1);h.push(.5,.5);l=0;for(m=3;l<=b;l++,m+=3){var n=c+l/b*d;u.x=a*Math.cos(n);u.y=a*Math.sin(n);f.push(u.x,u.y,u.z);g.push(0,0,1);k.x=
|
|
|
+(f[m]/a+1)/2;k.y=(f[m+1]/a+1)/2;h.push(k.x,k.y)}for(m=1;m<=b;m++)e.push(m,m+1,0);this.setIndex(e);this.addAttribute("position",new B(f,3));this.addAttribute("normal",new B(g,3));this.addAttribute("uv",new B(h,2))}function ac(){Fa.call(this,{uniforms:Ha.merge([O.lights,{opacity:{value:1}}]),vertexShader:ba.shadow_vert,fragmentShader:ba.shadow_frag});this.transparent=this.lights=!0;Object.defineProperties(this,{opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(a){this.uniforms.opacity.value=
|
|
|
+a}}})}function bc(a){Fa.call(this,a);this.type="RawShaderMaterial"}function Qa(a){X.call(this);this.defines={STANDARD:""};this.type="MeshStandardMaterial";this.color=new I(16777215);this.metalness=this.roughness=.5;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new I(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new D(1,1);this.displacementMap=null;this.displacementScale=
|
|
|
1;this.displacementBias=0;this.envMap=this.alphaMap=this.metalnessMap=this.roughnessMap=null;this.envMapIntensity=1;this.refractionRatio=.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=!1;this.setValues(a)}function pb(a){Qa.call(this);this.defines={PHYSICAL:""};this.type="MeshPhysicalMaterial";this.reflectivity=.5;this.clearCoatRoughness=this.clearCoat=0;this.setValues(a)}function pa(a){X.call(this);this.type=
|
|
|
-"MeshPhongMaterial";this.color=new I(16777215);this.specular=new I(1118481);this.shininess=30;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new I(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new C(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.envMap=this.alphaMap=this.specularMap=null;this.combine=0;this.reflectivity=1;this.refractionRatio=
|
|
|
-.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=!1;this.setValues(a)}function qb(a){pa.call(this);this.defines={TOON:""};this.type="MeshToonMaterial";this.gradientMap=null;this.setValues(a)}function rb(a){X.call(this,a);this.type="MeshNormalMaterial";this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new C(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=
|
|
|
+"MeshPhongMaterial";this.color=new I(16777215);this.specular=new I(1118481);this.shininess=30;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new I(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new D(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.envMap=this.alphaMap=this.specularMap=null;this.combine=0;this.reflectivity=1;this.refractionRatio=
|
|
|
+.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=!1;this.setValues(a)}function qb(a){pa.call(this);this.defines={TOON:""};this.type="MeshToonMaterial";this.gradientMap=null;this.setValues(a)}function rb(a){X.call(this,a);this.type="MeshNormalMaterial";this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new D(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=
|
|
|
!1;this.wireframeLinewidth=1;this.morphNormals=this.morphTargets=this.lights=this.fog=!1;this.setValues(a)}function sb(a){X.call(this);this.type="MeshLambertMaterial";this.color=new I(16777215);this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new I(0);this.emissiveIntensity=1;this.envMap=this.alphaMap=this.specularMap=this.emissiveMap=null;this.combine=0;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=!1;this.wireframeLinewidth=1;
|
|
|
this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=!1;this.setValues(a)}function tb(a){X.call(this);this.type="LineDashedMaterial";this.color=new I(16777215);this.scale=this.linewidth=1;this.dashSize=3;this.gapSize=1;this.lights=!1;this.setValues(a)}function Xd(a,b,c){var d=this,e=!1,f=0,g=0;this.onStart=void 0;this.onLoad=a;this.onProgress=b;this.onError=c;this.itemStart=function(a){g++;if(!1===e&&void 0!==d.onStart)d.onStart(a,f,g);e=!0};this.itemEnd=function(a){f++;
|
|
|
if(void 0!==d.onProgress)d.onProgress(a,f,g);if(f===g&&(e=!1,void 0!==d.onLoad))d.onLoad()};this.itemError=function(a){if(void 0!==d.onError)d.onError(a)}}function qa(a){this.manager=void 0!==a?a:na}function Ke(a){this.manager=void 0!==a?a:na;this._parser=null}function Yd(a){this.manager=void 0!==a?a:na;this._parser=null}function Wc(a){this.manager=void 0!==a?a:na}function Zd(a){this.manager=void 0!==a?a:na}function rd(a){this.manager=void 0!==a?a:na}function ga(a,b){E.call(this);this.type="Light";
|
|
|
-this.color=new I(a);this.intensity=void 0!==b?b:1;this.receiveShadow=void 0}function sd(a,b,c){ga.call(this,a,c);this.type="HemisphereLight";this.castShadow=void 0;this.position.copy(E.DefaultUp);this.updateMatrix();this.groundColor=new I(b)}function ub(a){this.camera=a;this.bias=0;this.radius=1;this.mapSize=new C(512,512);this.map=null;this.matrix=new S}function td(){ub.call(this,new Ca(50,1,.5,500))}function ud(a,b,c,d,e,f){ga.call(this,a,b);this.type="SpotLight";this.position.copy(E.DefaultUp);
|
|
|
+this.color=new I(a);this.intensity=void 0!==b?b:1;this.receiveShadow=void 0}function sd(a,b,c){ga.call(this,a,c);this.type="HemisphereLight";this.castShadow=void 0;this.position.copy(E.DefaultUp);this.updateMatrix();this.groundColor=new I(b)}function ub(a){this.camera=a;this.bias=0;this.radius=1;this.mapSize=new D(512,512);this.map=null;this.matrix=new S}function td(){ub.call(this,new Ca(50,1,.5,500))}function ud(a,b,c,d,e,f){ga.call(this,a,b);this.type="SpotLight";this.position.copy(E.DefaultUp);
|
|
|
this.updateMatrix();this.target=new E;Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(a){this.intensity=a/Math.PI}});this.distance=void 0!==c?c:0;this.angle=void 0!==d?d:Math.PI/3;this.penumbra=void 0!==e?e:0;this.decay=void 0!==f?f:1;this.shadow=new td}function vd(a,b,c,d){ga.call(this,a,b);this.type="PointLight";Object.defineProperty(this,"power",{get:function(){return 4*this.intensity*Math.PI},set:function(a){this.intensity=a/(4*Math.PI)}});this.distance=
|
|
|
void 0!==c?c:0;this.decay=void 0!==d?d:1;this.shadow=new ub(new Ca(90,1,.5,500))}function wd(){ub.call(this,new Ib(-5,5,5,-5,.5,500))}function xd(a,b){ga.call(this,a,b);this.type="DirectionalLight";this.position.copy(E.DefaultUp);this.updateMatrix();this.target=new E;this.shadow=new wd}function yd(a,b){ga.call(this,a,b);this.type="AmbientLight";this.castShadow=void 0}function ja(a,b,c,d){this.parameterPositions=a;this._cachedIndex=0;this.resultBuffer=void 0!==d?d:new b.constructor(c);this.sampleValues=
|
|
|
b;this.valueSize=c}function zd(a,b,c,d){ja.call(this,a,b,c,d);this._offsetNext=this._weightNext=this._offsetPrev=this._weightPrev=-0}function Xc(a,b,c,d){ja.call(this,a,b,c,d)}function Ad(a,b,c,d){ja.call(this,a,b,c,d)}function vb(a,b,c,d){if(void 0===a)throw Error("track name is undefined");if(void 0===b||0===b.length)throw Error("no keyframes in track named "+a);this.name=a;this.times=ra.convertArray(b,this.TimeBufferType);this.values=ra.convertArray(c,this.ValueBufferType);this.setInterpolation(d||
|
|
|
this.DefaultInterpolation);this.validate();this.optimize()}function cc(a,b,c,d){vb.call(this,a,b,c,d)}function Bd(a,b,c,d){ja.call(this,a,b,c,d)}function Yc(a,b,c,d){vb.call(this,a,b,c,d)}function dc(a,b,c,d){vb.call(this,a,b,c,d)}function Cd(a,b,c,d){vb.call(this,a,b,c,d)}function Dd(a,b,c){vb.call(this,a,b,c)}function Ed(a,b,c,d){vb.call(this,a,b,c,d)}function wb(a,b,c,d){vb.apply(this,arguments)}function Aa(a,b,c){this.name=a;this.tracks=c;this.duration=void 0!==b?b:-1;this.uuid=T.generateUUID();
|
|
|
0>this.duration&&this.resetDuration();this.optimize()}function Fd(a){this.manager=void 0!==a?a:na;this.textures={}}function $d(a){this.manager=void 0!==a?a:na}function ec(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}}function ae(a){"boolean"===typeof a&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),a=void 0);this.manager=void 0!==a?a:na;this.withCredentials=!1}function Le(a){this.manager=void 0!==a?a:
|
|
|
na;this.texturePath=""}function Me(a,b,c,d,e){b=.5*(d-b);e=.5*(e-c);var f=a*a;return(2*c-2*d+b+e)*a*f+(-3*c+3*d-2*b-e)*f+b*a+c}function xb(a,b,c,d){var e=1-a;return e*e*b+2*(1-a)*a*c+a*a*d}function yb(a,b,c,d,e){var f=1-a,g=1-a;return f*f*f*b+3*g*g*a*c+3*(1-a)*a*a*d+a*a*a*e}function Ba(){}function Ta(a,b){this.v1=a;this.v2=b}function Zc(){this.curves=[];this.autoClose=!1}function Xa(a,b,c,d,e,f,g,h){this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=
|
|
|
-g;this.aRotation=h||0}function zb(a){this.points=void 0===a?[]:a}function fc(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function gc(a,b,c){this.v0=a;this.v1=b;this.v2=c}function $c(a){Zc.call(this);this.currentPoint=new C;a&&this.fromPoints(a)}function Ab(){$c.apply(this,arguments);this.holes=[]}function be(){this.subPaths=[];this.currentPath=null}function ce(a){this.data=a}function Ne(a){this.manager=void 0!==a?a:na}function de(a){this.manager=void 0!==a?a:na}function ee(a,b,c,d){ga.call(this,
|
|
|
+g;this.aRotation=h||0}function zb(a){this.points=void 0===a?[]:a}function fc(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function gc(a,b,c){this.v0=a;this.v1=b;this.v2=c}function $c(a){Zc.call(this);this.currentPoint=new D;a&&this.fromPoints(a)}function Ab(){$c.apply(this,arguments);this.holes=[]}function be(){this.subPaths=[];this.currentPath=null}function ce(a){this.data=a}function Ne(a){this.manager=void 0!==a?a:na}function de(a){this.manager=void 0!==a?a:na}function ee(a,b,c,d){ga.call(this,
|
|
|
a,b);this.type="RectAreaLight";this.position.set(0,1,0);this.updateMatrix();this.width=void 0!==c?c:10;this.height=void 0!==d?d:10}function Oe(){this.type="StereoCamera";this.aspect=1;this.eyeSep=.064;this.cameraL=new Ca;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=!1;this.cameraR=new Ca;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=!1}function Gd(a,b,c){E.call(this);this.type="CubeCamera";var d=new Ca(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new q(1,0,0));this.add(d);var e=
|
|
|
new Ca(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new q(-1,0,0));this.add(e);var f=new Ca(90,1,a,b);f.up.set(0,0,1);f.lookAt(new q(0,1,0));this.add(f);var g=new Ca(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new q(0,-1,0));this.add(g);var h=new Ca(90,1,a,b);h.up.set(0,-1,0);h.lookAt(new q(0,0,1));this.add(h);var m=new Ca(90,1,a,b);m.up.set(0,-1,0);m.lookAt(new q(0,0,-1));this.add(m);this.renderTarget=new Eb(c,c,{format:1022,magFilter:1006,minFilter:1006});this.renderTarget.texture.name="CubeCamera";this.updateCubeMap=
|
|
|
function(a,b){null===this.parent&&this.updateMatrixWorld();var c=this.renderTarget,n=c.texture.generateMipmaps;c.texture.generateMipmaps=!1;c.activeCubeFace=0;a.render(b,d,c);c.activeCubeFace=1;a.render(b,e,c);c.activeCubeFace=2;a.render(b,f,c);c.activeCubeFace=3;a.render(b,g,c);c.activeCubeFace=4;a.render(b,h,c);c.texture.generateMipmaps=n;c.activeCubeFace=5;a.render(b,m,c);a.setRenderTarget(null)}}function fe(){E.call(this);this.type="AudioListener";this.context=ge.getContext();this.gain=this.context.createGain();
|
|
@@ -253,29 +253,29 @@ get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return
|
|
|
this.type="InstancedBufferGeometry";this.maxInstancedCount=void 0}function ke(a,b,c,d){this.uuid=T.generateUUID();this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0===d}function ic(a,b){this.uuid=T.generateUUID();this.array=a;this.stride=b;this.count=void 0!==a?a.length/b:0;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.onUploadCallback=function(){};this.version=0}function jc(a,b,c){ic.call(this,a,b);this.meshPerAttribute=c||1}function kc(a,b,c){V.call(this,a,b);this.meshPerAttribute=
|
|
|
c||1}function Te(a,b,c,d){this.ray=new fb(a,b);this.near=c||0;this.far=d||Infinity;this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}};Object.defineProperties(this.params,{PointCloud:{get:function(){console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points.");return this.Points}}})}function Ue(a,b){return a.distance-b.distance}function le(a,b,c,d){if(!1!==a.visible&&(a.raycast(b,c),!0===d)){a=a.children;d=0;for(var e=a.length;d<e;d++)le(a[d],b,c,!0)}}function Ve(a){this.autoStart=
|
|
|
void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}function We(a,b,c){this.radius=void 0!==a?a:1;this.phi=void 0!==b?b:0;this.theta=void 0!==c?c:0;return this}function Xe(a,b,c){this.radius=void 0!==a?a:1;this.theta=void 0!==b?b:0;this.y=void 0!==c?c:0;return this}function ca(a,b){xa.call(this,a,b);this.animationsMap={};this.animationsList=[];var c=this.geometry.morphTargets.length;this.createAnimation("__default",0,c-1,c/1);this.setAnimationWeight("__default",1)}function ad(a){E.call(this);
|
|
|
-this.material=a;this.render=function(a){}}function bd(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a=void 0!==c?c:16711680;d=void 0!==d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=3*c.faces.length:c&&c.isBufferGeometry&&(b=c.attributes.normal.count);c=new G;b=new A(6*b,3);c.addAttribute("position",b);ea.call(this,c,new ia({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function lc(a){E.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=
|
|
|
-!1;a=new G;for(var b=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1],c=0,d=1;32>c;c++,d++){var e=c/32*Math.PI*2,f=d/32*Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute("position",new A(b,3));b=new ia({fog:!1});this.cone=new ea(a,b);this.add(this.cone);this.update()}function mc(a){this.bones=this.getBoneList(a);for(var b=new G,c=[],d=[],e=new I(0,0,1),f=new I(0,1,0),g=0;g<this.bones.length;g++){var h=this.bones[g];h.parent&&h.parent.isBone&&(c.push(0,
|
|
|
-0,0),c.push(0,0,0),d.push(e.r,e.g,e.b),d.push(f.r,f.g,f.b))}b.addAttribute("position",new A(c,3));b.addAttribute("color",new A(d,3));c=new ia({vertexColors:2,depthTest:!1,depthWrite:!1,transparent:!0});ea.call(this,b,c);this.root=a;this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.update()}function nc(a,b){this.light=a;this.light.updateMatrixWorld();var c=new nb(b,4,2),d=new Ia({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);xa.call(this,c,d);this.matrix=
|
|
|
+this.material=a;this.render=function(a){}}function bd(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a=void 0!==c?c:16711680;d=void 0!==d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=3*c.faces.length:c&&c.isBufferGeometry&&(b=c.attributes.normal.count);c=new G;b=new B(6*b,3);c.addAttribute("position",b);ea.call(this,c,new ia({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function lc(a){E.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=
|
|
|
+!1;a=new G;for(var b=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1],c=0,d=1;32>c;c++,d++){var e=c/32*Math.PI*2,f=d/32*Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute("position",new B(b,3));b=new ia({fog:!1});this.cone=new ea(a,b);this.add(this.cone);this.update()}function mc(a){this.bones=this.getBoneList(a);for(var b=new G,c=[],d=[],e=new I(0,0,1),f=new I(0,1,0),g=0;g<this.bones.length;g++){var h=this.bones[g];h.parent&&h.parent.isBone&&(c.push(0,
|
|
|
+0,0),c.push(0,0,0),d.push(e.r,e.g,e.b),d.push(f.r,f.g,f.b))}b.addAttribute("position",new B(c,3));b.addAttribute("color",new B(d,3));c=new ia({vertexColors:2,depthTest:!1,depthWrite:!1,transparent:!0});ea.call(this,b,c);this.root=a;this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.update()}function nc(a,b){this.light=a;this.light.updateMatrixWorld();var c=new nb(b,4,2),d=new Ia({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);xa.call(this,c,d);this.matrix=
|
|
|
this.light.matrixWorld;this.matrixAutoUpdate=!1}function oc(a){E.call(this);this.light=a;this.light.updateMatrixWorld();var b=new Ia({color:a.color,fog:!1});a=new Ia({color:a.color,fog:!1,wireframe:!0});var c=new G;c.addAttribute("position",new V(new Float32Array(18),3));this.add(new xa(c,b));this.add(new xa(c,a));this.update()}function pc(a,b){E.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;var c=new mb(b);c.rotateY(.5*Math.PI);var d=new Ia({vertexColors:2,
|
|
|
-wireframe:!0}),e=c.getAttribute("position"),e=new Float32Array(3*e.count);c.addAttribute("color",new V(e,3));this.add(new xa(c,d));this.update()}function cd(a,b,c,d){a=a||10;b=b||10;c=new I(void 0!==c?c:4473924);d=new I(void 0!==d?d:8947848);var e=b/2,f=a/b,g=a/2;a=[];for(var h=[],m=0,l=0,k=-g;m<=b;m++,k+=f){a.push(-g,0,k,g,0,k);a.push(k,0,-g,k,0,g);var p=m===e?c:d;p.toArray(h,l);l+=3;p.toArray(h,l);l+=3;p.toArray(h,l);l+=3;p.toArray(h,l);l+=3}b=new G;b.addAttribute("position",new A(a,3));b.addAttribute("color",
|
|
|
-new A(h,3));c=new ia({vertexColors:2});ea.call(this,b,c)}function Id(a,b,c,d,e,f){a=a||10;b=b||16;c=c||8;d=d||64;e=new I(void 0!==e?e:4473924);f=new I(void 0!==f?f:8947848);var g=[],h=[],m,l,k,p,n;for(k=0;k<=b;k++)l=k/b*2*Math.PI,m=Math.sin(l)*a,l=Math.cos(l)*a,g.push(0,0,0),g.push(m,0,l),n=k&1?e:f,h.push(n.r,n.g,n.b),h.push(n.r,n.g,n.b);for(k=0;k<=c;k++)for(n=k&1?e:f,p=a-a/c*k,b=0;b<d;b++)l=b/d*2*Math.PI,m=Math.sin(l)*p,l=Math.cos(l)*p,g.push(m,0,l),h.push(n.r,n.g,n.b),l=(b+1)/d*2*Math.PI,m=Math.sin(l)*
|
|
|
-p,l=Math.cos(l)*p,g.push(m,0,l),h.push(n.r,n.g,n.b);a=new G;a.addAttribute("position",new A(g,3));a.addAttribute("color",new A(h,3));g=new ia({vertexColors:2});ea.call(this,a,g)}function dd(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a=void 0!==c?c:16776960;d=void 0!==d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=c.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");c=new G;b=new A(6*b,3);c.addAttribute("position",
|
|
|
-b);ea.call(this,c,new ia({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function qc(a,b){E.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;void 0===b&&(b=1);var c=new G;c.addAttribute("position",new A([-b,b,0,b,b,0,b,-b,0,-b,-b,0,-b,b,0],3));var d=new ia({fog:!1});this.add(new Na(c,d));c=new G;c.addAttribute("position",new A([0,0,0,0,0,1],3));this.add(new Na(c,d));this.update()}function ed(a){function b(a,b,d){c(a,d);c(b,d)}
|
|
|
+wireframe:!0}),e=c.getAttribute("position"),e=new Float32Array(3*e.count);c.addAttribute("color",new V(e,3));this.add(new xa(c,d));this.update()}function cd(a,b,c,d){a=a||10;b=b||10;c=new I(void 0!==c?c:4473924);d=new I(void 0!==d?d:8947848);var e=b/2,f=a/b,g=a/2;a=[];for(var h=[],m=0,l=0,k=-g;m<=b;m++,k+=f){a.push(-g,0,k,g,0,k);a.push(k,0,-g,k,0,g);var p=m===e?c:d;p.toArray(h,l);l+=3;p.toArray(h,l);l+=3;p.toArray(h,l);l+=3;p.toArray(h,l);l+=3}b=new G;b.addAttribute("position",new B(a,3));b.addAttribute("color",
|
|
|
+new B(h,3));c=new ia({vertexColors:2});ea.call(this,b,c)}function Id(a,b,c,d,e,f){a=a||10;b=b||16;c=c||8;d=d||64;e=new I(void 0!==e?e:4473924);f=new I(void 0!==f?f:8947848);var g=[],h=[],m,l,k,p,n;for(k=0;k<=b;k++)l=k/b*2*Math.PI,m=Math.sin(l)*a,l=Math.cos(l)*a,g.push(0,0,0),g.push(m,0,l),n=k&1?e:f,h.push(n.r,n.g,n.b),h.push(n.r,n.g,n.b);for(k=0;k<=c;k++)for(n=k&1?e:f,p=a-a/c*k,b=0;b<d;b++)l=b/d*2*Math.PI,m=Math.sin(l)*p,l=Math.cos(l)*p,g.push(m,0,l),h.push(n.r,n.g,n.b),l=(b+1)/d*2*Math.PI,m=Math.sin(l)*
|
|
|
+p,l=Math.cos(l)*p,g.push(m,0,l),h.push(n.r,n.g,n.b);a=new G;a.addAttribute("position",new B(g,3));a.addAttribute("color",new B(h,3));g=new ia({vertexColors:2});ea.call(this,a,g)}function dd(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a=void 0!==c?c:16776960;d=void 0!==d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=c.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");c=new G;b=new B(6*b,3);c.addAttribute("position",
|
|
|
+b);ea.call(this,c,new ia({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function qc(a,b){E.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;void 0===b&&(b=1);var c=new G;c.addAttribute("position",new B([-b,b,0,b,b,0,b,-b,0,-b,-b,0,-b,b,0],3));var d=new ia({fog:!1});this.add(new Na(c,d));c=new G;c.addAttribute("position",new B([0,0,0,0,0,1],3));this.add(new Na(c,d));this.update()}function ed(a){function b(a,b,d){c(a,d);c(b,d)}
|
|
|
function c(a,b){f.push(0,0,0);g.push(b.r,b.g,b.b);void 0===h[a]&&(h[a]=[]);h[a].push(f.length/3-1)}var d=new G,e=new ia({color:16777215,vertexColors:1}),f=[],g=[],h={},m=new I(16755200),l=new I(16711680),k=new I(43775),p=new I(16777215),n=new I(3355443);b("n1","n2",m);b("n2","n4",m);b("n4","n3",m);b("n3","n1",m);b("f1","f2",m);b("f2","f4",m);b("f4","f3",m);b("f3","f1",m);b("n1","f1",m);b("n2","f2",m);b("n3","f3",m);b("n4","f4",m);b("p","n1",l);b("p","n2",l);b("p","n3",l);b("p","n4",l);b("u1","u2",
|
|
|
-k);b("u2","u3",k);b("u3","u1",k);b("c","t",p);b("p","c",n);b("cn1","cn2",n);b("cn3","cn4",n);b("cf1","cf2",n);b("cf3","cf4",n);d.addAttribute("position",new A(f,3));d.addAttribute("color",new A(g,3));ea.call(this,d,e);this.camera=a;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=h;this.update()}function rc(a,b){void 0===b&&(b=16776960);var c=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),
|
|
|
-d=new Float32Array(24),e=new G;e.setIndex(new V(c,1));e.addAttribute("position",new V(d,3));ea.call(this,e,new ia({color:b}));void 0!==a&&this.update(a)}function Cb(a,b,c,d,e,f){E.call(this);void 0===d&&(d=16776960);void 0===c&&(c=1);void 0===e&&(e=.2*c);void 0===f&&(f=.2*e);void 0===Jd&&(Jd=new G,Jd.addAttribute("position",new A([0,0,0,0,1,0],3)),me=new Wa(0,.5,1,5,1),me.translate(0,-.5,0));this.position.copy(b);this.line=new Na(Jd,new ia({color:d}));this.line.matrixAutoUpdate=!1;this.add(this.line);
|
|
|
-this.cone=new xa(me,new Ia({color:d}));this.cone.matrixAutoUpdate=!1;this.add(this.cone);this.setDirection(a);this.setLength(c,e,f)}function Kd(a){a=a||1;var b=[0,0,0,a,0,0,0,0,0,0,a,0,0,0,0,0,0,a];a=new G;a.addAttribute("position",new A(b,3));a.addAttribute("color",new A([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));b=new ia({vertexColors:2});ea.call(this,a,b)}function ne(){var a=0,b=0,c=0,d=0;return{initCatmullRom:function(e,f,g,h,m){e=m*(g-e);h=m*(h-f);a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},initNonuniformCatmullRom:function(e,
|
|
|
+k);b("u2","u3",k);b("u3","u1",k);b("c","t",p);b("p","c",n);b("cn1","cn2",n);b("cn3","cn4",n);b("cf1","cf2",n);b("cf3","cf4",n);d.addAttribute("position",new B(f,3));d.addAttribute("color",new B(g,3));ea.call(this,d,e);this.camera=a;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=h;this.update()}function rc(a,b){void 0===b&&(b=16776960);var c=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),
|
|
|
+d=new Float32Array(24),e=new G;e.setIndex(new V(c,1));e.addAttribute("position",new V(d,3));ea.call(this,e,new ia({color:b}));void 0!==a&&this.update(a)}function Cb(a,b,c,d,e,f){E.call(this);void 0===d&&(d=16776960);void 0===c&&(c=1);void 0===e&&(e=.2*c);void 0===f&&(f=.2*e);void 0===Jd&&(Jd=new G,Jd.addAttribute("position",new B([0,0,0,0,1,0],3)),me=new Wa(0,.5,1,5,1),me.translate(0,-.5,0));this.position.copy(b);this.line=new Na(Jd,new ia({color:d}));this.line.matrixAutoUpdate=!1;this.add(this.line);
|
|
|
+this.cone=new xa(me,new Ia({color:d}));this.cone.matrixAutoUpdate=!1;this.add(this.cone);this.setDirection(a);this.setLength(c,e,f)}function Kd(a){a=a||1;var b=[0,0,0,a,0,0,0,0,0,0,a,0,0,0,0,0,0,a];a=new G;a.addAttribute("position",new B(b,3));a.addAttribute("color",new B([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));b=new ia({vertexColors:2});ea.call(this,a,b)}function ne(){var a=0,b=0,c=0,d=0;return{initCatmullRom:function(e,f,g,h,m){e=m*(g-e);h=m*(h-f);a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},initNonuniformCatmullRom:function(e,
|
|
|
f,g,h,m,l,k){e=((f-e)/m-(g-e)/(m+l)+(g-f)/l)*l;h=((g-f)/l-(h-f)/(l+k)+(h-g)/k)*l;a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},calc:function(e){var f=e*e;return a+b*e+c*f+d*f*e}}}function Ka(a){this.points=a||[];this.closed=!1}function fd(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function gd(a,b,c){this.v0=a;this.v1=b;this.v2=c}function hd(a,b){this.v1=a;this.v2=b}function Ld(a,b,c,d,e,f){Xa.call(this,a,b,c,c,d,e,f)}function Ye(a){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");
|
|
|
Ka.call(this,a);this.type="catmullrom";this.closed=!0}function Ze(a){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");Ka.call(this,a);this.type="catmullrom"}function oe(a){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.");Ka.call(this,a);this.type="catmullrom"}void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52));void 0===Math.sign&&(Math.sign=function(a){return 0>a?-1:0<a?1:+a});void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,
|
|
|
"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}});void 0===Object.assign&&function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c<arguments.length;c++){var d=arguments[c];if(void 0!==d&&null!==d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(b[e]=d[e])}return b}}();Object.assign(wa.prototype,{addEventListener:function(a,b){void 0===this._listeners&&(this._listeners=
|
|
|
{});var c=this._listeners;void 0===c[a]&&(c[a]=[]);-1===c[a].indexOf(b)&&c[a].push(b)},hasEventListener:function(a,b){if(void 0===this._listeners)return!1;var c=this._listeners;return void 0!==c[a]&&-1!==c[a].indexOf(b)},removeEventListener:function(a,b){if(void 0!==this._listeners){var c=this._listeners[a];if(void 0!==c){var d=c.indexOf(b);-1!==d&&c.splice(d,1)}}},dispatchEvent:function(a){if(void 0!==this._listeners){var b=this._listeners[a.type];if(void 0!==b){a.target=this;var c=[],d,e=b.length;
|
|
|
for(d=0;d<e;d++)c[d]=b[d];for(d=0;d<e;d++)c[d].call(this,a)}}}});var T={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),b=Array(36),c=0,d;return function(){for(var e=0;36>e;e++)8===e||13===e||18===e||23===e?b[e]="-":14===e?b[e]="4":(2>=c&&(c=33554432+16777216*Math.random()|0),d=c&15,c>>=4,b[e]=a[19===e?d&3|8:d]);return b.join("")}}(),clamp:function(a,b,c){return Math.max(b,Math.min(c,a))},euclideanModulo:function(a,
|
|
|
b){return(a%b+b)%b},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},lerp:function(a,b,c){return(1-c)*a+c*b},smoothstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*a*(a*(6*a-15)+10)},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(.5-Math.random())},degToRad:function(a){return a*
|
|
|
-T.DEG2RAD},radToDeg:function(a){return a*T.RAD2DEG},isPowerOfTwo:function(a){return 0===(a&a-1)&&0!==a},nearestPowerOfTwo:function(a){return Math.pow(2,Math.round(Math.log(a)/Math.LN2))},nextPowerOfTwo:function(a){a--;a|=a>>1;a|=a>>2;a|=a>>4;a|=a>>8;a|=a>>16;a++;return a}};Object.defineProperties(C.prototype,{width:{get:function(){return this.x},set:function(a){this.x=a}},height:{get:function(){return this.y},set:function(a){this.y=a}}});Object.assign(C.prototype,{isVector2:!0,set:function(a,b){this.x=
|
|
|
+T.DEG2RAD},radToDeg:function(a){return a*T.RAD2DEG},isPowerOfTwo:function(a){return 0===(a&a-1)&&0!==a},nearestPowerOfTwo:function(a){return Math.pow(2,Math.round(Math.log(a)/Math.LN2))},nextPowerOfTwo:function(a){a--;a|=a>>1;a|=a>>2;a|=a>>4;a|=a>>8;a|=a>>16;a++;return a}};Object.defineProperties(D.prototype,{width:{get:function(){return this.x},set:function(a){this.x=a}},height:{get:function(){return this.y},set:function(a){this.y=a}}});Object.assign(D.prototype,{isVector2:!0,set:function(a,b){this.x=
|
|
|
a;this.y=b;return this},setScalar:function(a){this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(a){this.x=
|
|
|
a.x;this.y=a.y;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),
|
|
|
this.subVectors(a,b);this.x-=a.x;this.y-=a.y;return this},subScalar:function(a){this.x-=a;this.y-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},multiply:function(a){this.x*=a.x;this.y*=a.y;return this},multiplyScalar:function(a){isFinite(a)?(this.x*=a,this.y*=a):this.y=this.x=0;return this},divide:function(a){this.x/=a.x;this.y/=a.y;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,
|
|
|
-a.y);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));return this},clampScalar:function(){var a=new C,b=new C;return function(c,d){a.set(c,c);b.set(d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.multiplyScalar(Math.max(a,Math.min(b,c))/c)},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);
|
|
|
+a.y);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));return this},clampScalar:function(){var a=new D,b=new D;return function(c,d){a.set(c,c);b.set(d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.multiplyScalar(Math.max(a,Math.min(b,c))/c)},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);
|
|
|
return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);return this},negate:function(){this.x=-this.x;this.y=-this.y;return this},dot:function(a){return this.x*a.x+this.y*a.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*
|
|
|
this.x+this.y*this.y)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length())},angle:function(){var a=Math.atan2(this.y,this.x);0>a&&(a+=2*Math.PI);return a},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x;a=this.y-a.y;return b*b+a*a},distanceToManhattan:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)},setLength:function(a){return this.multiplyScalar(a/
|
|
|
this.length())},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute().");
|
|
@@ -296,7 +296,7 @@ Math.floor(this.w);return this},negate:function(){this.x=-this.x;this.y=-this.y;
|
|
|
setLength:function(a){return this.multiplyScalar(a/this.length())},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z&&a.w===this.w},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];this.w=a[b+3];return this},toArray:function(a,b){void 0===a&&(a=
|
|
|
[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;a[b+3]=this.w;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);this.w=a.getW(b);return this}});Object.assign(Db.prototype,wa.prototype,{isWebGLRenderTarget:!0,setSize:function(a,b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.dispose();this.viewport.set(0,0,a,b);this.scissor.set(0,
|
|
|
0,a,b)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.width=a.width;this.height=a.height;this.viewport.copy(a.viewport);this.texture=a.texture.clone();this.depthBuffer=a.depthBuffer;this.stencilBuffer=a.stencilBuffer;this.depthTexture=a.depthTexture;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});Eb.prototype=Object.create(Db.prototype);Eb.prototype.constructor=Eb;Eb.prototype.isWebGLRenderTargetCube=!0;Object.assign(la,{slerp:function(a,b,
|
|
|
-c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var h=c[d+0],m=c[d+1],l=c[d+2];c=c[d+3];d=e[f+0];var k=e[f+1],p=e[f+2];e=e[f+3];if(c!==e||h!==d||m!==k||l!==p){f=1-g;var n=h*d+m*k+l*p+c*e,t=0<=n?1:-1,y=1-n*n;y>Number.EPSILON&&(y=Math.sqrt(y),n=Math.atan2(y,n*t),f=Math.sin(f*n)/y,g=Math.sin(g*n)/y);t*=g;h=h*f+d*t;m=m*f+k*t;l=l*f+p*t;c=c*f+e*t;f===1-g&&(g=1/Math.sqrt(h*h+m*m+l*l+c*c),h*=g,m*=g,l*=g,c*=g)}a[b]=h;a[b+1]=m;a[b+2]=l;a[b+3]=c}});Object.defineProperties(la.prototype,{x:{get:function(){return this._x},
|
|
|
+c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var h=c[d+0],m=c[d+1],l=c[d+2];c=c[d+3];d=e[f+0];var k=e[f+1],p=e[f+2];e=e[f+3];if(c!==e||h!==d||m!==k||l!==p){f=1-g;var n=h*d+m*k+l*p+c*e,t=0<=n?1:-1,q=1-n*n;q>Number.EPSILON&&(q=Math.sqrt(q),n=Math.atan2(q,n*t),f=Math.sin(f*n)/q,g=Math.sin(g*n)/q);t*=g;h=h*f+d*t;m=m*f+k*t;l=l*f+p*t;c=c*f+e*t;f===1-g&&(g=1/Math.sqrt(h*h+m*m+l*l+c*c),h*=g,m*=g,l*=g,c*=g)}a[b]=h;a[b+1]=m;a[b+2]=l;a[b+3]=c}});Object.defineProperties(la.prototype,{x:{get:function(){return this._x},
|
|
|
set:function(a){this._x=a;this.onChangeCallback()}},y:{get:function(){return this._y},set:function(a){this._y=a;this.onChangeCallback()}},z:{get:function(){return this._z},set:function(a){this._z=a;this.onChangeCallback()}},w:{get:function(){return this._w},set:function(a){this._w=a;this.onChangeCallback()}}});Object.assign(la.prototype,{set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._w=d;this.onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,
|
|
|
this._w)},copy:function(a){this._x=a.x;this._y=a.y;this._z=a.z;this._w=a.w;this.onChangeCallback();return this},setFromEuler:function(a,b){if(!1===(a&&a.isEuler))throw Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var c=Math.cos(a._x/2),d=Math.cos(a._y/2),e=Math.cos(a._z/2),f=Math.sin(a._x/2),g=Math.sin(a._y/2),h=Math.sin(a._z/2),m=a.order;"XYZ"===m?(this._x=f*d*e+c*g*h,this._y=c*g*e-f*d*h,this._z=c*d*h+f*g*e,this._w=c*d*e-f*g*h):"YXZ"===
|
|
|
m?(this._x=f*d*e+c*g*h,this._y=c*g*e-f*d*h,this._z=c*d*h-f*g*e,this._w=c*d*e+f*g*h):"ZXY"===m?(this._x=f*d*e-c*g*h,this._y=c*g*e+f*d*h,this._z=c*d*h+f*g*e,this._w=c*d*e-f*g*h):"ZYX"===m?(this._x=f*d*e-c*g*h,this._y=c*g*e+f*d*h,this._z=c*d*h-f*g*e,this._w=c*d*e+f*g*h):"YZX"===m?(this._x=f*d*e+c*g*h,this._y=c*g*e+f*d*h,this._z=c*d*h-f*g*e,this._w=c*d*e-f*g*h):"XZY"===m&&(this._x=f*d*e-c*g*h,this._y=c*g*e-f*d*h,this._z=c*d*h+f*g*e,this._w=c*d*e+f*g*h);if(!1!==b)this.onChangeCallback();return this},setFromAxisAngle:function(a,
|
|
@@ -321,19 +321,19 @@ d*a.x;return this},crossVectors:function(a,b){var c=a.x,d=a.y,e=a.z,f=b.x,g=b.y,
|
|
|
a.lengthSq());return Math.acos(T.clamp(a,-1,1))},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y;a=this.z-a.z;return b*b+c*c+a*a},distanceToManhattan:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)+Math.abs(this.z-a.z)},setFromSpherical:function(a){var b=Math.sin(a.phi)*a.radius;this.x=b*Math.sin(a.theta);this.y=Math.cos(a.phi)*a.radius;this.z=b*Math.cos(a.theta);return this},setFromCylindrical:function(a){this.x=
|
|
|
a.radius*Math.sin(a.theta);this.y=a.y;this.z=a.radius*Math.cos(a.theta);return this},setFromMatrixPosition:function(a){return this.setFromMatrixColumn(a,3)},setFromMatrixScale:function(a){var b=this.setFromMatrixColumn(a,0).length(),c=this.setFromMatrixColumn(a,1).length();a=this.setFromMatrixColumn(a,2).length();this.x=b;this.y=c;this.z=a;return this},setFromMatrixColumn:function(a,b){if("number"===typeof a){console.warn("THREE.Vector3: setFromMatrixColumn now expects ( matrix, index ).");var c=
|
|
|
a;a=b;b=c}return this.fromArray(a.elements,4*b)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);
|
|
|
-return this}});Object.assign(S.prototype,{isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,m,l,k,p,n,t,y,r){var q=this.elements;q[0]=a;q[4]=b;q[8]=c;q[12]=d;q[1]=e;q[5]=f;q[9]=g;q[13]=h;q[2]=m;q[6]=l;q[10]=k;q[14]=p;q[3]=n;q[7]=t;q[11]=y;q[15]=r;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new S).fromArray(this.elements)},copy:function(a){var b=this.elements;a=a.elements;for(var c=0;16>c;c++)b[c]=a[c];return this},copyPosition:function(a){var b=
|
|
|
+return this}});Object.assign(S.prototype,{isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,m,l,k,p,n,t,q,r){var z=this.elements;z[0]=a;z[4]=b;z[8]=c;z[12]=d;z[1]=e;z[5]=f;z[9]=g;z[13]=h;z[2]=m;z[6]=l;z[10]=k;z[14]=p;z[3]=n;z[7]=t;z[11]=q;z[15]=r;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new S).fromArray(this.elements)},copy:function(a){var b=this.elements;a=a.elements;for(var c=0;16>c;c++)b[c]=a[c];return this},copyPosition:function(a){var b=
|
|
|
this.elements;a=a.elements;b[12]=a[12];b[13]=a[13];b[14]=a[14];return this},extractBasis:function(a,b,c){a.setFromMatrixColumn(this,0);b.setFromMatrixColumn(this,1);c.setFromMatrixColumn(this,2);return this},makeBasis:function(a,b,c){this.set(a.x,b.x,c.x,0,a.y,b.y,c.y,0,a.z,b.z,c.z,0,0,0,0,1);return this},extractRotation:function(){var a=new q;return function(b){var c=this.elements,d=b.elements,e=1/a.setFromMatrixColumn(b,0).length(),f=1/a.setFromMatrixColumn(b,1).length();b=1/a.setFromMatrixColumn(b,
|
|
|
2).length();c[0]=d[0]*e;c[1]=d[1]*e;c[2]=d[2]*e;c[4]=d[4]*f;c[5]=d[5]*f;c[6]=d[6]*f;c[8]=d[8]*b;c[9]=d[9]*b;c[10]=d[10]*b;return this}}(),makeRotationFromEuler:function(a){!1===(a&&a.isEuler)&&console.error("THREE.Matrix: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var b=this.elements,c=a.x,d=a.y,e=a.z,f=Math.cos(c),c=Math.sin(c),g=Math.cos(d),d=Math.sin(d),h=Math.cos(e),e=Math.sin(e);if("XYZ"===a.order){a=f*h;var m=f*e,l=c*h,k=c*e;b[0]=g*h;b[4]=-g*e;b[8]=
|
|
|
d;b[1]=m+l*d;b[5]=a-k*d;b[9]=-c*g;b[2]=k-a*d;b[6]=l+m*d;b[10]=f*g}else"YXZ"===a.order?(a=g*h,m=g*e,l=d*h,k=d*e,b[0]=a+k*c,b[4]=l*c-m,b[8]=f*d,b[1]=f*e,b[5]=f*h,b[9]=-c,b[2]=m*c-l,b[6]=k+a*c,b[10]=f*g):"ZXY"===a.order?(a=g*h,m=g*e,l=d*h,k=d*e,b[0]=a-k*c,b[4]=-f*e,b[8]=l+m*c,b[1]=m+l*c,b[5]=f*h,b[9]=k-a*c,b[2]=-f*d,b[6]=c,b[10]=f*g):"ZYX"===a.order?(a=f*h,m=f*e,l=c*h,k=c*e,b[0]=g*h,b[4]=l*d-m,b[8]=a*d+k,b[1]=g*e,b[5]=k*d+a,b[9]=m*d-l,b[2]=-d,b[6]=c*g,b[10]=f*g):"YZX"===a.order?(a=f*g,m=f*d,l=c*g,k=
|
|
|
c*d,b[0]=g*h,b[4]=k-a*e,b[8]=l*e+m,b[1]=e,b[5]=f*h,b[9]=-c*h,b[2]=-d*h,b[6]=m*e+l,b[10]=a-k*e):"XZY"===a.order&&(a=f*g,m=f*d,l=c*g,k=c*d,b[0]=g*h,b[4]=-e,b[8]=d*h,b[1]=a*e+k,b[5]=f*h,b[9]=m*e-l,b[2]=l*e-m,b[6]=c*h,b[10]=k*e+a);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromQuaternion:function(a){var b=this.elements,c=a.x,d=a.y,e=a.z,f=a.w,g=c+c,h=d+d,m=e+e;a=c*g;var l=c*h,c=c*m,k=d*h,d=d*m,e=e*m,g=f*g,h=f*h,f=f*m;b[0]=1-(k+e);b[4]=l-f;b[8]=c+h;b[1]=l+f;b[5]=1-(a+
|
|
|
e);b[9]=d-g;b[2]=c-h;b[6]=d+g;b[10]=1-(a+k);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},lookAt:function(){var a=new q,b=new q,c=new q;return function(d,e,f){var g=this.elements;c.subVectors(d,e).normalize();0===c.lengthSq()&&(c.z=1);a.crossVectors(f,c).normalize();0===a.lengthSq()&&(c.z+=1E-4,a.crossVectors(f,c).normalize());b.crossVectors(c,a);g[0]=a.x;g[4]=b.x;g[8]=c.x;g[1]=a.y;g[5]=b.y;g[9]=c.y;g[2]=a.z;g[6]=b.z;g[10]=c.z;return this}}(),multiply:function(a,b){return void 0!==
|
|
|
-b?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements,e=this.elements,f=c[0],g=c[4],h=c[8],m=c[12],l=c[1],k=c[5],p=c[9],n=c[13],t=c[2],q=c[6],r=c[10],D=c[14],w=c[3],x=c[7],L=c[11],c=c[15],v=d[0],F=d[4],H=d[8],z=d[12],R=d[1],C=d[5],U=d[9],A=d[13],E=d[2],G=d[6],
|
|
|
-I=d[10],P=d[14],J=d[3],N=d[7],M=d[11],d=d[15];e[0]=f*v+g*R+h*E+m*J;e[4]=f*F+g*C+h*G+m*N;e[8]=f*H+g*U+h*I+m*M;e[12]=f*z+g*A+h*P+m*d;e[1]=l*v+k*R+p*E+n*J;e[5]=l*F+k*C+p*G+n*N;e[9]=l*H+k*U+p*I+n*M;e[13]=l*z+k*A+p*P+n*d;e[2]=t*v+q*R+r*E+D*J;e[6]=t*F+q*C+r*G+D*N;e[10]=t*H+q*U+r*I+D*M;e[14]=t*z+q*A+r*P+D*d;e[3]=w*v+x*R+L*E+c*J;e[7]=w*F+x*C+L*G+c*N;e[11]=w*H+x*U+L*I+c*M;e[15]=w*z+x*A+L*P+c*d;return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=a;b[9]*=
|
|
|
+b?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements,e=this.elements,f=c[0],g=c[4],h=c[8],m=c[12],l=c[1],k=c[5],p=c[9],n=c[13],t=c[2],q=c[6],r=c[10],z=c[14],w=c[3],x=c[7],L=c[11],c=c[15],v=d[0],F=d[4],H=d[8],y=d[12],R=d[1],D=d[5],U=d[9],B=d[13],E=d[2],G=d[6],
|
|
|
+I=d[10],P=d[14],J=d[3],N=d[7],M=d[11],d=d[15];e[0]=f*v+g*R+h*E+m*J;e[4]=f*F+g*D+h*G+m*N;e[8]=f*H+g*U+h*I+m*M;e[12]=f*y+g*B+h*P+m*d;e[1]=l*v+k*R+p*E+n*J;e[5]=l*F+k*D+p*G+n*N;e[9]=l*H+k*U+p*I+n*M;e[13]=l*y+k*B+p*P+n*d;e[2]=t*v+q*R+r*E+z*J;e[6]=t*F+q*D+r*G+z*N;e[10]=t*H+q*U+r*I+z*M;e[14]=t*y+q*B+r*P+z*d;e[3]=w*v+x*R+L*E+c*J;e[7]=w*F+x*D+L*G+c*N;e[11]=w*H+x*U+L*I+c*M;e[15]=w*y+x*B+L*P+c*d;return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=a;b[9]*=
|
|
|
a;b[13]*=a;b[2]*=a;b[6]*=a;b[10]*=a;b[14]*=a;b[3]*=a;b[7]*=a;b[11]*=a;b[15]*=a;return this},applyToBufferAttribute:function(){var a=new q;return function(b){for(var c=0,d=b.count;c<d;c++)a.x=b.getX(c),a.y=b.getY(c),a.z=b.getZ(c),a.applyMatrix4(this),b.setXYZ(c,a.x,a.y,a.z);return b}}(),determinant:function(){var a=this.elements,b=a[0],c=a[4],d=a[8],e=a[12],f=a[1],g=a[5],h=a[9],m=a[13],l=a[2],k=a[6],p=a[10],n=a[14];return a[3]*(+e*h*k-d*m*k-e*g*p+c*m*p+d*g*n-c*h*n)+a[7]*(+b*h*n-b*m*p+e*f*p-d*f*n+d*
|
|
|
m*l-e*h*l)+a[11]*(+b*m*k-b*g*n-e*f*k+c*f*n+e*g*l-c*m*l)+a[15]*(-d*g*l-b*h*k+b*g*p+d*f*k-c*f*p+c*h*l)},transpose:function(){var a=this.elements,b;b=a[1];a[1]=a[4];a[4]=b;b=a[2];a[2]=a[8];a[8]=b;b=a[6];a[6]=a[9];a[9]=b;b=a[3];a[3]=a[12];a[12]=b;b=a[7];a[7]=a[13];a[13]=b;b=a[11];a[11]=a[14];a[14]=b;return this},setPosition:function(a){var b=this.elements;b[12]=a.x;b[13]=a.y;b[14]=a.z;return this},getInverse:function(a,b){var c=this.elements,d=a.elements,e=d[0],f=d[1],g=d[2],h=d[3],m=d[4],l=d[5],k=d[6],
|
|
|
-p=d[7],n=d[8],t=d[9],q=d[10],r=d[11],D=d[12],w=d[13],x=d[14],d=d[15],L=t*x*p-w*q*p+w*k*r-l*x*r-t*k*d+l*q*d,v=D*q*p-n*x*p-D*k*r+m*x*r+n*k*d-m*q*d,F=n*w*p-D*t*p+D*l*r-m*w*r-n*l*d+m*t*d,H=D*t*k-n*w*k-D*l*q+m*w*q+n*l*x-m*t*x,z=e*L+f*v+g*F+h*H;if(0===z){if(!0===b)throw Error("THREE.Matrix4.getInverse(): can't invert matrix, determinant is 0");console.warn("THREE.Matrix4.getInverse(): can't invert matrix, determinant is 0");return this.identity()}z=1/z;c[0]=L*z;c[1]=(w*q*h-t*x*h-w*g*r+f*x*r+t*g*d-f*q*d)*
|
|
|
-z;c[2]=(l*x*h-w*k*h+w*g*p-f*x*p-l*g*d+f*k*d)*z;c[3]=(t*k*h-l*q*h-t*g*p+f*q*p+l*g*r-f*k*r)*z;c[4]=v*z;c[5]=(n*x*h-D*q*h+D*g*r-e*x*r-n*g*d+e*q*d)*z;c[6]=(D*k*h-m*x*h-D*g*p+e*x*p+m*g*d-e*k*d)*z;c[7]=(m*q*h-n*k*h+n*g*p-e*q*p-m*g*r+e*k*r)*z;c[8]=F*z;c[9]=(D*t*h-n*w*h-D*f*r+e*w*r+n*f*d-e*t*d)*z;c[10]=(m*w*h-D*l*h+D*f*p-e*w*p-m*f*d+e*l*d)*z;c[11]=(n*l*h-m*t*h-n*f*p+e*t*p+m*f*r-e*l*r)*z;c[12]=H*z;c[13]=(n*w*g-D*t*g+D*f*q-e*w*q-n*f*x+e*t*x)*z;c[14]=(D*l*g-m*w*g-D*f*k+e*w*k+m*f*x-e*l*x)*z;c[15]=(m*t*g-n*l*
|
|
|
-g+n*f*k-e*t*k-m*f*q+e*l*q)*z;return this},scale:function(a){var b=this.elements,c=a.x,d=a.y;a=a.z;b[0]*=c;b[4]*=d;b[8]*=a;b[1]*=c;b[5]*=d;b[9]*=a;b[2]*=c;b[6]*=d;b[10]*=a;b[3]*=c;b[7]*=d;b[11]*=a;return this},getMaxScaleOnAxis:function(){var a=this.elements;return Math.sqrt(Math.max(a[0]*a[0]+a[1]*a[1]+a[2]*a[2],a[4]*a[4]+a[5]*a[5]+a[6]*a[6],a[8]*a[8]+a[9]*a[9]+a[10]*a[10]))},makeTranslation:function(a,b,c){this.set(1,0,0,a,0,1,0,b,0,0,1,c,0,0,0,1);return this},makeRotationX:function(a){var b=Math.cos(a);
|
|
|
+p=d[7],n=d[8],t=d[9],q=d[10],r=d[11],z=d[12],w=d[13],x=d[14],d=d[15],L=t*x*p-w*q*p+w*k*r-l*x*r-t*k*d+l*q*d,v=z*q*p-n*x*p-z*k*r+m*x*r+n*k*d-m*q*d,F=n*w*p-z*t*p+z*l*r-m*w*r-n*l*d+m*t*d,H=z*t*k-n*w*k-z*l*q+m*w*q+n*l*x-m*t*x,y=e*L+f*v+g*F+h*H;if(0===y){if(!0===b)throw Error("THREE.Matrix4.getInverse(): can't invert matrix, determinant is 0");console.warn("THREE.Matrix4.getInverse(): can't invert matrix, determinant is 0");return this.identity()}y=1/y;c[0]=L*y;c[1]=(w*q*h-t*x*h-w*g*r+f*x*r+t*g*d-f*q*d)*
|
|
|
+y;c[2]=(l*x*h-w*k*h+w*g*p-f*x*p-l*g*d+f*k*d)*y;c[3]=(t*k*h-l*q*h-t*g*p+f*q*p+l*g*r-f*k*r)*y;c[4]=v*y;c[5]=(n*x*h-z*q*h+z*g*r-e*x*r-n*g*d+e*q*d)*y;c[6]=(z*k*h-m*x*h-z*g*p+e*x*p+m*g*d-e*k*d)*y;c[7]=(m*q*h-n*k*h+n*g*p-e*q*p-m*g*r+e*k*r)*y;c[8]=F*y;c[9]=(z*t*h-n*w*h-z*f*r+e*w*r+n*f*d-e*t*d)*y;c[10]=(m*w*h-z*l*h+z*f*p-e*w*p-m*f*d+e*l*d)*y;c[11]=(n*l*h-m*t*h-n*f*p+e*t*p+m*f*r-e*l*r)*y;c[12]=H*y;c[13]=(n*w*g-z*t*g+z*f*q-e*w*q-n*f*x+e*t*x)*y;c[14]=(z*l*g-m*w*g-z*f*k+e*w*k+m*f*x-e*l*x)*y;c[15]=(m*t*g-n*l*
|
|
|
+g+n*f*k-e*t*k-m*f*q+e*l*q)*y;return this},scale:function(a){var b=this.elements,c=a.x,d=a.y;a=a.z;b[0]*=c;b[4]*=d;b[8]*=a;b[1]*=c;b[5]*=d;b[9]*=a;b[2]*=c;b[6]*=d;b[10]*=a;b[3]*=c;b[7]*=d;b[11]*=a;return this},getMaxScaleOnAxis:function(){var a=this.elements;return Math.sqrt(Math.max(a[0]*a[0]+a[1]*a[1]+a[2]*a[2],a[4]*a[4]+a[5]*a[5]+a[6]*a[6],a[8]*a[8]+a[9]*a[9]+a[10]*a[10]))},makeTranslation:function(a,b,c){this.set(1,0,0,a,0,1,0,b,0,0,1,c,0,0,0,1);return this},makeRotationX:function(a){var b=Math.cos(a);
|
|
|
a=Math.sin(a);this.set(1,0,0,0,0,b,-a,0,0,a,b,0,0,0,0,1);return this},makeRotationY:function(a){var b=Math.cos(a);a=Math.sin(a);this.set(b,0,a,0,0,1,0,0,-a,0,b,0,0,0,0,1);return this},makeRotationZ:function(a){var b=Math.cos(a);a=Math.sin(a);this.set(b,-a,0,0,a,b,0,0,0,0,1,0,0,0,0,1);return this},makeRotationAxis:function(a,b){var c=Math.cos(b),d=Math.sin(b),e=1-c,f=a.x,g=a.y,h=a.z,m=e*f,l=e*g;this.set(m*f+c,m*g-d*h,m*h+d*g,0,m*g+d*h,l*g+c,l*h-d*f,0,m*h-d*g,l*h+d*f,e*h*h+c,0,0,0,0,1);return this},
|
|
|
makeScale:function(a,b,c){this.set(a,0,0,0,0,b,0,0,0,0,c,0,0,0,0,1);return this},makeShear:function(a,b,c){this.set(1,b,c,0,a,1,c,0,a,b,1,0,0,0,0,1);return this},compose:function(a,b,c){this.makeRotationFromQuaternion(b);this.scale(c);this.setPosition(a);return this},decompose:function(){var a=new q,b=new S;return function(c,d,e){var f=this.elements,g=a.set(f[0],f[1],f[2]).length(),h=a.set(f[4],f[5],f[6]).length(),m=a.set(f[8],f[9],f[10]).length();0>this.determinant()&&(g=-g);c.x=f[12];c.y=f[13];
|
|
|
c.z=f[14];for(c=0;16>c;c++)b.elements[c]=this.elements[c];c=1/g;var f=1/h,l=1/m;b.elements[0]*=c;b.elements[1]*=c;b.elements[2]*=c;b.elements[4]*=f;b.elements[5]*=f;b.elements[6]*=f;b.elements[8]*=l;b.elements[9]*=l;b.elements[10]*=l;d.setFromRotationMatrix(b);e.x=g;e.y=h;e.z=m;return this}}(),makePerspective:function(a,b,c,d,e,f){void 0===f&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var g=this.elements;g[0]=2*e/(b-a);g[4]=
|
|
@@ -413,17 +413,17 @@ c.charAt(3),16)/255,this.b=parseInt(c.charAt(4)+c.charAt(5),16)/255,this}a&&0<a.
|
|
|
l:0};var b=this.r,c=this.g,d=this.b,e=Math.max(b,c,d),f=Math.min(b,c,d),g,h=(f+e)/2;if(f===e)f=g=0;else{var m=e-f,f=.5>=h?m/(e+f):m/(2-e-f);switch(e){case b:g=(c-d)/m+(c<d?6:0);break;case c:g=(d-b)/m+2;break;case d:g=(b-c)/m+4}g/=6}a.h=g;a.s=f;a.l=h;return a},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:function(a,b,c){var d=this.getHSL();d.h+=a;d.s+=b;d.l+=c;this.setHSL(d.h,d.s,d.l);return this},add:function(a){this.r+=a.r;this.g+=a.g;this.b+=
|
|
|
a.b;return this},addColors:function(a,b){this.r=a.r+b.r;this.g=a.g+b.g;this.b=a.b+b.b;return this},addScalar:function(a){this.r+=a;this.g+=a;this.b+=a;return this},sub:function(a){this.r=Math.max(0,this.r-a.r);this.g=Math.max(0,this.g-a.g);this.b=Math.max(0,this.b-a.b);return this},multiply:function(a){this.r*=a.r;this.g*=a.g;this.b*=a.b;return this},multiplyScalar:function(a){this.r*=a;this.g*=a;this.b*=a;return this},lerp:function(a,b){this.r+=(a.r-this.r)*b;this.g+=(a.g-this.g)*b;this.b+=(a.b-
|
|
|
this.b)*b;return this},equals:function(a){return a.r===this.r&&a.g===this.g&&a.b===this.b},fromArray:function(a,b){void 0===b&&(b=0);this.r=a[b];this.g=a[b+1];this.b=a[b+2];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.r;a[b+1]=this.g;a[b+2]=this.b;return a},toJSON:function(){return this.getHex()}});db.prototype=Object.create(aa.prototype);db.prototype.constructor=db;db.prototype.isDataTexture=!0;var O={common:{diffuse:{value:new I(15658734)},opacity:{value:1},
|
|
|
-map:{value:null},offsetRepeat:{value:new fa(0,0,1,1)},specularMap:{value:null},alphaMap:{value:null},envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new C(1,1)}},displacementmap:{displacementMap:{value:null},
|
|
|
+map:{value:null},offsetRepeat:{value:new fa(0,0,1,1)},specularMap:{value:null},alphaMap:{value:null},envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new D(1,1)}},displacementmap:{displacementMap:{value:null},
|
|
|
displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:2.5E-4},fogNear:{value:1},fogFar:{value:2E3},fogColor:{value:new I(16777215)}},lights:{ambientLightColor:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},
|
|
|
spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],
|
|
|
properties:{color:{},position:{},width:{},height:{}}}},points:{diffuse:{value:new I(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},offsetRepeat:{value:new fa(0,0,1,1)}}},bb={basic:{uniforms:Ha.merge([O.common,O.aomap,O.lightmap,O.fog]),vertexShader:ba.meshbasic_vert,fragmentShader:ba.meshbasic_frag},lambert:{uniforms:Ha.merge([O.common,O.aomap,O.lightmap,O.emissivemap,O.fog,O.lights,{emissive:{value:new I(0)}}]),vertexShader:ba.meshlambert_vert,fragmentShader:ba.meshlambert_frag},
|
|
|
phong:{uniforms:Ha.merge([O.common,O.aomap,O.lightmap,O.emissivemap,O.bumpmap,O.normalmap,O.displacementmap,O.gradientmap,O.fog,O.lights,{emissive:{value:new I(0)},specular:{value:new I(1118481)},shininess:{value:30}}]),vertexShader:ba.meshphong_vert,fragmentShader:ba.meshphong_frag},standard:{uniforms:Ha.merge([O.common,O.aomap,O.lightmap,O.emissivemap,O.bumpmap,O.normalmap,O.displacementmap,O.roughnessmap,O.metalnessmap,O.fog,O.lights,{emissive:{value:new I(0)},roughness:{value:.5},metalness:{value:0},
|
|
|
envMapIntensity:{value:1}}]),vertexShader:ba.meshphysical_vert,fragmentShader:ba.meshphysical_frag},points:{uniforms:Ha.merge([O.points,O.fog]),vertexShader:ba.points_vert,fragmentShader:ba.points_frag},dashed:{uniforms:Ha.merge([O.common,O.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ba.linedashed_vert,fragmentShader:ba.linedashed_frag},depth:{uniforms:Ha.merge([O.common,O.displacementmap]),vertexShader:ba.depth_vert,fragmentShader:ba.depth_frag},normal:{uniforms:Ha.merge([O.common,
|
|
|
O.bumpmap,O.normalmap,O.displacementmap,{opacity:{value:1}}]),vertexShader:ba.normal_vert,fragmentShader:ba.normal_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:ba.cube_vert,fragmentShader:ba.cube_frag},equirect:{uniforms:{tEquirect:{value:null},tFlip:{value:-1}},vertexShader:ba.equirect_vert,fragmentShader:ba.equirect_frag},distanceRGBA:{uniforms:{lightPos:{value:new q}},vertexShader:ba.distanceRGBA_vert,fragmentShader:ba.distanceRGBA_frag}};bb.physical=
|
|
|
-{uniforms:Ha.merge([bb.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:ba.meshphysical_vert,fragmentShader:ba.meshphysical_frag};Object.assign(jd.prototype,{set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;b<c;b++)this.expandByPoint(a[b]);return this},setFromCenterAndSize:function(){var a=new C;return function(b,c){var d=a.copy(c).multiplyScalar(.5);this.min.copy(b).sub(d);this.max.copy(b).add(d);
|
|
|
-return this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.min.copy(a.min);this.max.copy(a.max);return this},makeEmpty:function(){this.min.x=this.min.y=Infinity;this.max.x=this.max.y=-Infinity;return this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y},getCenter:function(a){a=a||new C;return this.isEmpty()?a.set(0,0):a.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(a){a=a||new C;return this.isEmpty()?a.set(0,0):a.subVectors(this.max,
|
|
|
-this.min)},expandByPoint:function(a){this.min.min(a);this.max.max(a);return this},expandByVector:function(a){this.min.sub(a);this.max.add(a);return this},expandByScalar:function(a){this.min.addScalar(-a);this.max.addScalar(a);return this},containsPoint:function(a){return a.x<this.min.x||a.x>this.max.x||a.y<this.min.y||a.y>this.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y},getParameter:function(a,b){return(b||new C).set((a.x-
|
|
|
-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(a){return a.max.x<this.min.x||a.min.x>this.max.x||a.max.y<this.min.y||a.min.y>this.max.y?!1:!0},clampPoint:function(a,b){return(b||new C).copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new C;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min);
|
|
|
+{uniforms:Ha.merge([bb.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:ba.meshphysical_vert,fragmentShader:ba.meshphysical_frag};Object.assign(jd.prototype,{set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;b<c;b++)this.expandByPoint(a[b]);return this},setFromCenterAndSize:function(){var a=new D;return function(b,c){var d=a.copy(c).multiplyScalar(.5);this.min.copy(b).sub(d);this.max.copy(b).add(d);
|
|
|
+return this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.min.copy(a.min);this.max.copy(a.max);return this},makeEmpty:function(){this.min.x=this.min.y=Infinity;this.max.x=this.max.y=-Infinity;return this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y},getCenter:function(a){a=a||new D;return this.isEmpty()?a.set(0,0):a.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(a){a=a||new D;return this.isEmpty()?a.set(0,0):a.subVectors(this.max,
|
|
|
+this.min)},expandByPoint:function(a){this.min.min(a);this.max.max(a);return this},expandByVector:function(a){this.min.sub(a);this.max.add(a);return this},expandByScalar:function(a){this.min.addScalar(-a);this.max.addScalar(a);return this},containsPoint:function(a){return a.x<this.min.x||a.x>this.max.x||a.y<this.min.y||a.y>this.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y},getParameter:function(a,b){return(b||new D).set((a.x-
|
|
|
+this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(a){return a.max.x<this.min.x||a.min.x>this.max.x||a.max.y<this.min.y||a.min.y>this.max.y?!1:!0},clampPoint:function(a,b){return(b||new D).copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new D;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min);
|
|
|
this.max.max(a.max);return this},translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)}});var Bf=0;Object.defineProperty(X.prototype,"needsUpdate",{get:function(){return this._needsUpdate},set:function(a){!0===a&&this.update();this._needsUpdate=a}});Object.assign(X.prototype,wa.prototype,{isMaterial:!0,setValues:function(a){if(void 0!==a)for(var b in a){var c=a[b];if(void 0===c)console.warn("THREE.Material: '"+b+
|
|
|
"' parameter is undefined.");else{var d=this[b];void 0===d?console.warn("THREE."+this.type+": '"+b+"' is not a property of this material."):d&&d.isColor?d.set(c):d&&d.isVector3&&c&&c.isVector3?d.copy(c):this[b]="overdraw"===b?Number(c):c}}},toJSON:function(a){function b(a){var b=[],c;for(c in a){var d=a[c];delete d.metadata;b.push(d)}return b}var c=void 0===a;c&&(a={textures:{},images:{}});var d={metadata:{version:4.4,type:"Material",generator:"Material.toJSON"}};d.uuid=this.uuid;d.type=this.type;
|
|
|
""!==this.name&&(d.name=this.name);this.color&&this.color.isColor&&(d.color=this.color.getHex());void 0!==this.roughness&&(d.roughness=this.roughness);void 0!==this.metalness&&(d.metalness=this.metalness);this.emissive&&this.emissive.isColor&&(d.emissive=this.emissive.getHex());this.specular&&this.specular.isColor&&(d.specular=this.specular.getHex());void 0!==this.shininess&&(d.shininess=this.shininess);void 0!==this.clearCoat&&(d.clearCoat=this.clearCoat);void 0!==this.clearCoatRoughness&&(d.clearCoatRoughness=
|
|
@@ -457,8 +457,8 @@ setFromNormalAndCoplanarPoint:function(a,b){this.normal.copy(a);this.constant=-b
|
|
|
this.constant*=a;return this},negate:function(){this.constant*=-1;this.normal.negate();return this},distanceToPoint:function(a){return this.normal.dot(a)+this.constant},distanceToSphere:function(a){return this.distanceToPoint(a.center)-a.radius},projectPoint:function(a,b){return this.orthoPoint(a,b).sub(a).negate()},orthoPoint:function(a,b){var c=this.distanceToPoint(a);return(b||new q).copy(this.normal).multiplyScalar(c)},intersectLine:function(){var a=new q;return function(b,c){var d=c||new q,e=
|
|
|
b.delta(a),f=this.normal.dot(e);if(0===f){if(0===this.distanceToPoint(b.start))return d.copy(b.start)}else return f=-(b.start.dot(this.normal)+this.constant)/f,0>f||1<f?void 0:d.copy(e).multiplyScalar(f).add(b.start)}}(),intersectsLine:function(a){var b=this.distanceToPoint(a.start);a=this.distanceToPoint(a.end);return 0>b&&0<a||0>a&&0<b},intersectsBox:function(a){return a.intersectsPlane(this)},intersectsSphere:function(a){return a.intersectsPlane(this)},coplanarPoint:function(a){return(a||new q).copy(this.normal).multiplyScalar(-this.constant)},
|
|
|
applyMatrix4:function(){var a=new q,b=new La;return function(c,d){var e=this.coplanarPoint(a).applyMatrix4(c),f=d||b.getNormalMatrix(c),f=this.normal.applyMatrix3(f).normalize();this.constant=-e.dot(f);return this}}(),translate:function(a){this.constant-=a.dot(this.normal);return this},equals:function(a){return a.normal.equals(this.normal)&&a.constant===this.constant}});Object.assign(kd.prototype,{set:function(a,b,c,d,e,f){var g=this.planes;g[0].copy(a);g[1].copy(b);g[2].copy(c);g[3].copy(d);g[4].copy(e);
|
|
|
-g[5].copy(f);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){for(var b=this.planes,c=0;6>c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],m=c[6],l=c[7],k=c[8],p=c[9],n=c[10],t=c[11],q=c[12],r=c[13],D=c[14],c=c[15];b[0].setComponents(f-a,l-g,t-k,c-q).normalize();b[1].setComponents(f+a,l+g,t+k,c+q).normalize();b[2].setComponents(f+d,l+h,t+p,c+r).normalize();b[3].setComponents(f-
|
|
|
-d,l-h,t-p,c-r).normalize();b[4].setComponents(f-e,l-m,t-n,c-D).normalize();b[5].setComponents(f+e,l+m,t+n,c+D).normalize();return this},intersectsObject:function(){var a=new Pa;return function(b){var c=b.geometry;null===c.boundingSphere&&c.computeBoundingSphere();a.copy(c.boundingSphere).applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSprite:function(){var a=new Pa;return function(b){a.center.set(0,0,0);a.radius=.7071067811865476;a.applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),
|
|
|
+g[5].copy(f);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){for(var b=this.planes,c=0;6>c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],m=c[6],l=c[7],k=c[8],p=c[9],n=c[10],t=c[11],q=c[12],r=c[13],z=c[14],c=c[15];b[0].setComponents(f-a,l-g,t-k,c-q).normalize();b[1].setComponents(f+a,l+g,t+k,c+q).normalize();b[2].setComponents(f+d,l+h,t+p,c+r).normalize();b[3].setComponents(f-
|
|
|
+d,l-h,t-p,c-r).normalize();b[4].setComponents(f-e,l-m,t-n,c-z).normalize();b[5].setComponents(f+e,l+m,t+n,c+z).normalize();return this},intersectsObject:function(){var a=new Pa;return function(b){var c=b.geometry;null===c.boundingSphere&&c.computeBoundingSphere();a.copy(c.boundingSphere).applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSprite:function(){var a=new Pa;return function(b){a.center.set(0,0,0);a.radius=.7071067811865476;a.applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),
|
|
|
intersectsSphere:function(a){var b=this.planes,c=a.center;a=-a.radius;for(var d=0;6>d;d++)if(b[d].distanceToPoint(c)<a)return!1;return!0},intersectsBox:function(){var a=new q,b=new q;return function(c){for(var d=this.planes,e=0;6>e;e++){var f=d[e];a.x=0<f.normal.x?c.min.x:c.max.x;b.x=0<f.normal.x?c.max.x:c.min.x;a.y=0<f.normal.y?c.min.y:c.max.y;b.y=0<f.normal.y?c.max.y:c.min.y;a.z=0<f.normal.z?c.min.z:c.max.z;b.z=0<f.normal.z?c.max.z:c.min.z;var g=f.distanceToPoint(a),f=f.distanceToPoint(b);if(0>
|
|
|
g&&0>f)return!1}return!0}}(),containsPoint:function(a){for(var b=this.planes,c=0;6>c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0}});Object.assign(fb.prototype,{set:function(a,b){this.origin.copy(a);this.direction.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.origin.copy(a.origin);this.direction.copy(a.direction);return this},at:function(a,b){return(b||new q).copy(this.direction).multiplyScalar(a).add(this.origin)},lookAt:function(a){this.direction.copy(a).sub(this.origin).normalize();
|
|
|
return this},recast:function(){var a=new q;return function(b){this.origin.copy(this.at(b,a));return this}}(),closestPointToPoint:function(a,b){var c=b||new q;c.subVectors(a,this.origin);var d=c.dot(this.direction);return 0>d?c.copy(this.origin):c.copy(this.direction).multiplyScalar(d).add(this.origin)},distanceToPoint:function(a){return Math.sqrt(this.distanceSqToPoint(a))},distanceSqToPoint:function(){var a=new q;return function(b){var c=a.subVectors(b,this.origin).dot(this.direction);if(0>c)return this.origin.distanceToSquared(b);
|
|
@@ -496,19 +496,19 @@ new ua,b=[new Gb,new Gb,new Gb],c=new q,d=new q;return function(e,f){var g=f||ne
|
|
|
function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=
|
|
|
a.wireframeLinejoin;this.morphTargets=a.morphTargets;return this};Object.defineProperty(V.prototype,"needsUpdate",{set:function(a){!0===a&&this.version++}});Object.assign(V.prototype,{isBufferAttribute:!0,setArray:function(a){if(Array.isArray(a))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.count=void 0!==a?a.length/this.itemSize:0;this.array=a},setDynamic:function(a){this.dynamic=a;return this},copy:function(a){this.array=new a.array.constructor(a.array);this.itemSize=
|
|
|
a.itemSize;this.count=a.count;this.normalized=a.normalized;this.dynamic=a.dynamic;return this},copyAt:function(a,b,c){a*=this.itemSize;c*=b.itemSize;for(var d=0,e=this.itemSize;d<e;d++)this.array[a+d]=b.array[c+d];return this},copyArray:function(a){this.array.set(a);return this},copyColorsArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d<e;d++){var f=a[d];void 0===f&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",d),f=new I);b[c++]=f.r;b[c++]=f.g;b[c++]=f.b}return this},
|
|
|
-copyIndicesArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d<e;d++){var f=a[d];b[c++]=f.a;b[c++]=f.b;b[c++]=f.c}return this},copyVector2sArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d<e;d++){var f=a[d];void 0===f&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",d),f=new C);b[c++]=f.x;b[c++]=f.y}return this},copyVector3sArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d<e;d++){var f=a[d];void 0===f&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",
|
|
|
+copyIndicesArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d<e;d++){var f=a[d];b[c++]=f.a;b[c++]=f.b;b[c++]=f.c}return this},copyVector2sArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d<e;d++){var f=a[d];void 0===f&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",d),f=new D);b[c++]=f.x;b[c++]=f.y}return this},copyVector3sArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d<e;d++){var f=a[d];void 0===f&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",
|
|
|
d),f=new q);b[c++]=f.x;b[c++]=f.y;b[c++]=f.z}return this},copyVector4sArray:function(a){for(var b=this.array,c=0,d=0,e=a.length;d<e;d++){var f=a[d];void 0===f&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",d),f=new fa);b[c++]=f.x;b[c++]=f.y;b[c++]=f.z;b[c++]=f.w}return this},set:function(a,b){void 0===b&&(b=0);this.array.set(a,b);return this},getX:function(a){return this.array[a*this.itemSize]},setX:function(a,b){this.array[a*this.itemSize]=b;return this},getY:function(a){return this.array[a*
|
|
|
this.itemSize+1]},setY:function(a,b){this.array[a*this.itemSize+1]=b;return this},getZ:function(a){return this.array[a*this.itemSize+2]},setZ:function(a,b){this.array[a*this.itemSize+2]=b;return this},getW:function(a){return this.array[a*this.itemSize+3]},setW:function(a,b){this.array[a*this.itemSize+3]=b;return this},setXY:function(a,b,c){a*=this.itemSize;this.array[a+0]=b;this.array[a+1]=c;return this},setXYZ:function(a,b,c,d){a*=this.itemSize;this.array[a+0]=b;this.array[a+1]=c;this.array[a+2]=
|
|
|
d;return this},setXYZW:function(a,b,c,d,e){a*=this.itemSize;this.array[a+0]=b;this.array[a+1]=c;this.array[a+2]=d;this.array[a+3]=e;return this},onUpload:function(a){this.onUploadCallback=a;return this},clone:function(){return(new this.constructor(this.array,this.itemSize)).copy(this)}});sc.prototype=Object.create(V.prototype);sc.prototype.constructor=sc;tc.prototype=Object.create(V.prototype);tc.prototype.constructor=tc;uc.prototype=Object.create(V.prototype);uc.prototype.constructor=uc;vc.prototype=
|
|
|
-Object.create(V.prototype);vc.prototype.constructor=vc;gb.prototype=Object.create(V.prototype);gb.prototype.constructor=gb;wc.prototype=Object.create(V.prototype);wc.prototype.constructor=wc;hb.prototype=Object.create(V.prototype);hb.prototype.constructor=hb;A.prototype=Object.create(V.prototype);A.prototype.constructor=A;xc.prototype=Object.create(V.prototype);xc.prototype.constructor=xc;Object.assign(Fe.prototype,{computeGroups:function(a){var b,c=[],d=void 0;a=a.faces;for(var e=0;e<a.length;e++){var f=
|
|
|
+Object.create(V.prototype);vc.prototype.constructor=vc;gb.prototype=Object.create(V.prototype);gb.prototype.constructor=gb;wc.prototype=Object.create(V.prototype);wc.prototype.constructor=wc;hb.prototype=Object.create(V.prototype);hb.prototype.constructor=hb;B.prototype=Object.create(V.prototype);B.prototype.constructor=B;xc.prototype=Object.create(V.prototype);xc.prototype.constructor=xc;Object.assign(Fe.prototype,{computeGroups:function(a){var b,c=[],d=void 0;a=a.faces;for(var e=0;e<a.length;e++){var f=
|
|
|
a[e];f.materialIndex!==d&&(d=f.materialIndex,void 0!==b&&(b.count=3*e-b.start,c.push(b)),b={start:3*e,materialIndex:d})}void 0!==b&&(b.count=3*e-b.start,c.push(b));this.groups=c},fromGeometry:function(a){var b=a.faces,c=a.vertices,d=a.faceVertexUvs,e=d[0]&&0<d[0].length,f=d[1]&&0<d[1].length,g=a.morphTargets,h=g.length,m;if(0<h){m=[];for(var l=0;l<h;l++)m[l]=[];this.morphTargets.position=m}var k=a.morphNormals,p=k.length,n;if(0<p){n=[];for(l=0;l<p;l++)n[l]=[];this.morphTargets.normal=n}for(var t=
|
|
|
-a.skinIndices,q=a.skinWeights,r=t.length===c.length,D=q.length===c.length,l=0;l<b.length;l++){var w=b[l];this.vertices.push(c[w.a],c[w.b],c[w.c]);var x=w.vertexNormals;3===x.length?this.normals.push(x[0],x[1],x[2]):(x=w.normal,this.normals.push(x,x,x));x=w.vertexColors;3===x.length?this.colors.push(x[0],x[1],x[2]):(x=w.color,this.colors.push(x,x,x));!0===e&&(x=d[0][l],void 0!==x?this.uvs.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",l),this.uvs.push(new C,
|
|
|
-new C,new C)));!0===f&&(x=d[1][l],void 0!==x?this.uvs2.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",l),this.uvs2.push(new C,new C,new C)));for(x=0;x<h;x++){var L=g[x].vertices;m[x].push(L[w.a],L[w.b],L[w.c])}for(x=0;x<p;x++)L=k[x].vertexNormals[l],n[x].push(L.a,L.b,L.c);r&&this.skinIndices.push(t[w.a],t[w.b],t[w.c]);D&&this.skinWeights.push(q[w.a],q[w.b],q[w.c])}this.computeGroups(a);this.verticesNeedUpdate=a.verticesNeedUpdate;this.normalsNeedUpdate=
|
|
|
+a.skinIndices,q=a.skinWeights,r=t.length===c.length,z=q.length===c.length,l=0;l<b.length;l++){var w=b[l];this.vertices.push(c[w.a],c[w.b],c[w.c]);var x=w.vertexNormals;3===x.length?this.normals.push(x[0],x[1],x[2]):(x=w.normal,this.normals.push(x,x,x));x=w.vertexColors;3===x.length?this.colors.push(x[0],x[1],x[2]):(x=w.color,this.colors.push(x,x,x));!0===e&&(x=d[0][l],void 0!==x?this.uvs.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",l),this.uvs.push(new D,
|
|
|
+new D,new D)));!0===f&&(x=d[1][l],void 0!==x?this.uvs2.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",l),this.uvs2.push(new D,new D,new D)));for(x=0;x<h;x++){var L=g[x].vertices;m[x].push(L[w.a],L[w.b],L[w.c])}for(x=0;x<p;x++)L=k[x].vertexNormals[l],n[x].push(L.a,L.b,L.c);r&&this.skinIndices.push(t[w.a],t[w.b],t[w.c]);z&&this.skinWeights.push(q[w.a],q[w.b],q[w.c])}this.computeGroups(a);this.verticesNeedUpdate=a.verticesNeedUpdate;this.normalsNeedUpdate=
|
|
|
a.normalsNeedUpdate;this.colorsNeedUpdate=a.colorsNeedUpdate;this.uvsNeedUpdate=a.uvsNeedUpdate;this.groupsNeedUpdate=a.groupsNeedUpdate;return this}});var Rd=0;Object.assign(K.prototype,wa.prototype,{isGeometry:!0,applyMatrix:function(a){for(var b=(new La).getNormalMatrix(a),c=0,d=this.vertices.length;c<d;c++)this.vertices[c].applyMatrix4(a);c=0;for(d=this.faces.length;c<d;c++){a=this.faces[c];a.normal.applyMatrix3(b).normalize();for(var e=0,f=a.vertexNormals.length;e<f;e++)a.vertexNormals[e].applyMatrix3(b).normalize()}null!==
|
|
|
this.boundingBox&&this.computeBoundingBox();null!==this.boundingSphere&&this.computeBoundingSphere();this.normalsNeedUpdate=this.verticesNeedUpdate=!0;return this},rotateX:function(){var a=new S;return function(b){a.makeRotationX(b);this.applyMatrix(a);return this}}(),rotateY:function(){var a=new S;return function(b){a.makeRotationY(b);this.applyMatrix(a);return this}}(),rotateZ:function(){var a=new S;return function(b){a.makeRotationZ(b);this.applyMatrix(a);return this}}(),translate:function(){var a=
|
|
|
new S;return function(b,c,d){a.makeTranslation(b,c,d);this.applyMatrix(a);return this}}(),scale:function(){var a=new S;return function(b,c,d){a.makeScale(b,c,d);this.applyMatrix(a);return this}}(),lookAt:function(){var a=new E;return function(b){a.lookAt(b);a.updateMatrix();this.applyMatrix(a.matrix)}}(),fromBufferGeometry:function(a){function b(a,b,d,e){var f=void 0!==g?[k[a].clone(),k[b].clone(),k[d].clone()]:[],t=void 0!==h?[c.colors[a].clone(),c.colors[b].clone(),c.colors[d].clone()]:[];e=new oa(a,
|
|
|
b,d,f,t,e);c.faces.push(e);void 0!==m&&c.faceVertexUvs[0].push([p[a].clone(),p[b].clone(),p[d].clone()]);void 0!==l&&c.faceVertexUvs[1].push([n[a].clone(),n[b].clone(),n[d].clone()])}var c=this,d=null!==a.index?a.index.array:void 0,e=a.attributes,f=e.position.array,g=void 0!==e.normal?e.normal.array:void 0,h=void 0!==e.color?e.color.array:void 0,m=void 0!==e.uv?e.uv.array:void 0,l=void 0!==e.uv2?e.uv2.array:void 0;void 0!==l&&(this.faceVertexUvs[1]=[]);for(var k=[],p=[],n=[],t=e=0;e<f.length;e+=3,
|
|
|
-t+=2)c.vertices.push(new q(f[e],f[e+1],f[e+2])),void 0!==g&&k.push(new q(g[e],g[e+1],g[e+2])),void 0!==h&&c.colors.push(new I(h[e],h[e+1],h[e+2])),void 0!==m&&p.push(new C(m[t],m[t+1])),void 0!==l&&n.push(new C(l[t],l[t+1]));if(void 0!==d)if(f=a.groups,0<f.length)for(e=0;e<f.length;e++)for(var y=f[e],r=y.start,D=y.count,t=r,r=r+D;t<r;t+=3)b(d[t],d[t+1],d[t+2],y.materialIndex);else for(e=0;e<d.length;e+=3)b(d[e],d[e+1],d[e+2]);else for(e=0;e<f.length/3;e+=3)b(e,e+1,e+2);this.computeFaceNormals();null!==
|
|
|
+t+=2)c.vertices.push(new q(f[e],f[e+1],f[e+2])),void 0!==g&&k.push(new q(g[e],g[e+1],g[e+2])),void 0!==h&&c.colors.push(new I(h[e],h[e+1],h[e+2])),void 0!==m&&p.push(new D(m[t],m[t+1])),void 0!==l&&n.push(new D(l[t],l[t+1]));if(void 0!==d)if(f=a.groups,0<f.length)for(e=0;e<f.length;e++)for(var A=f[e],r=A.start,z=A.count,t=r,r=r+z;t<r;t+=3)b(d[t],d[t+1],d[t+2],A.materialIndex);else for(e=0;e<d.length;e+=3)b(d[e],d[e+1],d[e+2]);else for(e=0;e<f.length/3;e+=3)b(e,e+1,e+2);this.computeFaceNormals();null!==
|
|
|
a.boundingBox&&(this.boundingBox=a.boundingBox.clone());null!==a.boundingSphere&&(this.boundingSphere=a.boundingSphere.clone());return this},center:function(){this.computeBoundingBox();var a=this.boundingBox.getCenter().negate();this.translate(a.x,a.y,a.z);return a},normalize:function(){this.computeBoundingSphere();var a=this.boundingSphere.center,b=this.boundingSphere.radius,b=0===b?1:1/b,c=new S;c.set(b,0,0,-b*a.x,0,b,0,-b*a.y,0,0,b,-b*a.z,0,0,0,1);this.applyMatrix(c);return this},computeFaceNormals:function(){for(var a=
|
|
|
new q,b=new q,c=0,d=this.faces.length;c<d;c++){var e=this.faces[c],f=this.vertices[e.a],g=this.vertices[e.b];a.subVectors(this.vertices[e.c],g);b.subVectors(f,g);a.cross(b);a.normalize();e.normal.copy(a)}},computeVertexNormals:function(a){void 0===a&&(a=!0);var b,c,d;d=Array(this.vertices.length);b=0;for(c=this.vertices.length;b<c;b++)d[b]=new q;if(a){var e,f,g,h=new q,m=new q;a=0;for(b=this.faces.length;a<b;a++)c=this.faces[a],e=this.vertices[c.a],f=this.vertices[c.b],g=this.vertices[c.c],h.subVectors(g,
|
|
|
f),m.subVectors(e,f),h.cross(m),d[c.a].add(h),d[c.b].add(h),d[c.c].add(h)}else for(this.computeFaceNormals(),a=0,b=this.faces.length;a<b;a++)c=this.faces[a],d[c.a].add(c.normal),d[c.b].add(c.normal),d[c.c].add(c.normal);b=0;for(c=this.vertices.length;b<c;b++)d[b].normalize();a=0;for(b=this.faces.length;a<b;a++)c=this.faces[a],e=c.vertexNormals,3===e.length?(e[0].copy(d[c.a]),e[1].copy(d[c.b]),e[2].copy(d[c.c])):(e[0]=d[c.a].clone(),e[1]=d[c.b].clone(),e[2]=d[c.c].clone());0<this.faces.length&&(this.normalsNeedUpdate=
|
|
@@ -522,7 +522,7 @@ r=g.vertexNormals,n=g.vertexColors,p=new oa(g.a+e,g.b+e,g.c+e);p.normal.copy(g.n
|
|
|
e.b=c[e.b],e.c=c[e.c],e=[e.a,e.b,e.c],d=0;3>d;d++)if(e[d]===e[(d+1)%3]){a.push(f);break}for(f=a.length-1;0<=f;f--)for(e=a[f],this.faces.splice(e,1),c=0,g=this.faceVertexUvs.length;c<g;c++)this.faceVertexUvs[c].splice(e,1);f=this.vertices.length-b.length;this.vertices=b;return f},sortFacesByMaterialIndex:function(){for(var a=this.faces,b=a.length,c=0;c<b;c++)a[c]._id=c;a.sort(function(a,b){return a.materialIndex-b.materialIndex});var d=this.faceVertexUvs[0],e=this.faceVertexUvs[1],f,g;d&&d.length===
|
|
|
b&&(f=[]);e&&e.length===b&&(g=[]);for(c=0;c<b;c++){var h=a[c]._id;f&&f.push(d[h]);g&&g.push(e[h])}f&&(this.faceVertexUvs[0]=f);g&&(this.faceVertexUvs[1]=g)},toJSON:function(){function a(a,b,c){return c?a|1<<b:a&~(1<<b)}function b(a){var b=a.x.toString()+a.y.toString()+a.z.toString();if(void 0!==l[b])return l[b];l[b]=m.length/3;m.push(a.x,a.y,a.z);return l[b]}function c(a){var b=a.r.toString()+a.g.toString()+a.b.toString();if(void 0!==p[b])return p[b];p[b]=k.length;k.push(a.getHex());return p[b]}function d(a){var b=
|
|
|
a.x.toString()+a.y.toString();if(void 0!==t[b])return t[b];t[b]=n.length/2;n.push(a.x,a.y);return t[b]}var e={metadata:{version:4.4,type:"Geometry",generator:"Geometry.toJSON"}};e.uuid=this.uuid;e.type=this.type;""!==this.name&&(e.name=this.name);if(void 0!==this.parameters){var f=this.parameters,g;for(g in f)void 0!==f[g]&&(e[g]=f[g]);return e}f=[];for(g=0;g<this.vertices.length;g++){var h=this.vertices[g];f.push(h.x,h.y,h.z)}var h=[],m=[],l={},k=[],p={},n=[],t={};for(g=0;g<this.faces.length;g++){var q=
|
|
|
-this.faces[g],r=void 0!==this.faceVertexUvs[0][g],D=0<q.normal.length(),w=0<q.vertexNormals.length,x=1!==q.color.r||1!==q.color.g||1!==q.color.b,L=0<q.vertexColors.length,v=0,v=a(v,0,0),v=a(v,1,!0),v=a(v,2,!1),v=a(v,3,r),v=a(v,4,D),v=a(v,5,w),v=a(v,6,x),v=a(v,7,L);h.push(v);h.push(q.a,q.b,q.c);h.push(q.materialIndex);r&&(r=this.faceVertexUvs[0][g],h.push(d(r[0]),d(r[1]),d(r[2])));D&&h.push(b(q.normal));w&&(D=q.vertexNormals,h.push(b(D[0]),b(D[1]),b(D[2])));x&&h.push(c(q.color));L&&(q=q.vertexColors,
|
|
|
+this.faces[g],r=void 0!==this.faceVertexUvs[0][g],z=0<q.normal.length(),w=0<q.vertexNormals.length,x=1!==q.color.r||1!==q.color.g||1!==q.color.b,L=0<q.vertexColors.length,v=0,v=a(v,0,0),v=a(v,1,!0),v=a(v,2,!1),v=a(v,3,r),v=a(v,4,z),v=a(v,5,w),v=a(v,6,x),v=a(v,7,L);h.push(v);h.push(q.a,q.b,q.c);h.push(q.materialIndex);r&&(r=this.faceVertexUvs[0][g],h.push(d(r[0]),d(r[1]),d(r[2])));z&&h.push(b(q.normal));w&&(z=q.vertexNormals,h.push(b(z[0]),b(z[1]),b(z[2])));x&&h.push(c(q.color));L&&(q=q.vertexColors,
|
|
|
h.push(c(q[0]),c(q[1]),c(q[2])))}e.data={};e.data.vertices=f;e.data.normals=m;0<k.length&&(e.data.colors=k);0<n.length&&(e.data.uvs=[n]);e.data.faces=h;return e},clone:function(){return(new K).copy(this)},copy:function(a){var b,c,d,e,f,g;this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingSphere=this.boundingBox=null;this.name=a.name;d=a.vertices;b=0;for(c=d.length;b<
|
|
|
c;b++)this.vertices.push(d[b].clone());d=a.colors;b=0;for(c=d.length;b<c;b++)this.colors.push(d[b].clone());d=a.faces;b=0;for(c=d.length;b<c;b++)this.faces.push(d[b].clone());b=0;for(c=a.faceVertexUvs.length;b<c;b++){var h=a.faceVertexUvs[b];void 0===this.faceVertexUvs[b]&&(this.faceVertexUvs[b]=[]);d=0;for(e=h.length;d<e;d++){var m=h[d],l=[];f=0;for(g=m.length;f<g;f++)l.push(m[f].clone());this.faceVertexUvs[b].push(l)}}f=a.morphTargets;b=0;for(c=f.length;b<c;b++){g={};g.name=f[b].name;if(void 0!==
|
|
|
f[b].vertices)for(g.vertices=[],d=0,e=f[b].vertices.length;d<e;d++)g.vertices.push(f[b].vertices[d].clone());if(void 0!==f[b].normals)for(g.normals=[],d=0,e=f[b].normals.length;d<e;d++)g.normals.push(f[b].normals[d].clone());this.morphTargets.push(g)}f=a.morphNormals;b=0;for(c=f.length;b<c;b++){g={};if(void 0!==f[b].vertexNormals)for(g.vertexNormals=[],d=0,e=f[b].vertexNormals.length;d<e;d++)h=f[b].vertexNormals[d],m={},m.a=h.a.clone(),m.b=h.b.clone(),m.c=h.c.clone(),g.vertexNormals.push(m);if(void 0!==
|
|
@@ -531,28 +531,28 @@ a.elementsNeedUpdate;this.verticesNeedUpdate=a.verticesNeedUpdate;this.uvsNeedUp
|
|
|
this.index=new (65535<Qd(a)?hb:gb)(a,1):this.index=a},addAttribute:function(a,b,c){if(!1===(b&&b.isBufferAttribute)&&!1===(b&&b.isInterleavedBufferAttribute))console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.addAttribute(a,new V(b,c));else if("index"===a)console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(b);else return this.attributes[a]=b,this},getAttribute:function(a){return this.attributes[a]},removeAttribute:function(a){delete this.attributes[a];
|
|
|
return this},addGroup:function(a,b,c){this.groups.push({start:a,count:b,materialIndex:void 0!==c?c:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(a,b){this.drawRange.start=a;this.drawRange.count=b},applyMatrix:function(a){var b=this.attributes.position;void 0!==b&&(a.applyToBufferAttribute(b),b.needsUpdate=!0);b=this.attributes.normal;void 0!==b&&((new La).getNormalMatrix(a).applyToBufferAttribute(b),b.needsUpdate=!0);null!==this.boundingBox&&this.computeBoundingBox();null!==this.boundingSphere&&
|
|
|
this.computeBoundingSphere();return this},rotateX:function(){var a=new S;return function(b){a.makeRotationX(b);this.applyMatrix(a);return this}}(),rotateY:function(){var a=new S;return function(b){a.makeRotationY(b);this.applyMatrix(a);return this}}(),rotateZ:function(){var a=new S;return function(b){a.makeRotationZ(b);this.applyMatrix(a);return this}}(),translate:function(){var a=new S;return function(b,c,d){a.makeTranslation(b,c,d);this.applyMatrix(a);return this}}(),scale:function(){var a=new S;
|
|
|
-return function(b,c,d){a.makeScale(b,c,d);this.applyMatrix(a);return this}}(),lookAt:function(){var a=new E;return function(b){a.lookAt(b);a.updateMatrix();this.applyMatrix(a.matrix)}}(),center:function(){this.computeBoundingBox();var a=this.boundingBox.getCenter().negate();this.translate(a.x,a.y,a.z);return a},setFromObject:function(a){var b=a.geometry;if(a.isPoints||a.isLine){a=new A(3*b.vertices.length,3);var c=new A(3*b.colors.length,3);this.addAttribute("position",a.copyVector3sArray(b.vertices));
|
|
|
-this.addAttribute("color",c.copyColorsArray(b.colors));b.lineDistances&&b.lineDistances.length===b.vertices.length&&(a=new A(b.lineDistances.length,1),this.addAttribute("lineDistance",a.copyArray(b.lineDistances)));null!==b.boundingSphere&&(this.boundingSphere=b.boundingSphere.clone());null!==b.boundingBox&&(this.boundingBox=b.boundingBox.clone())}else a.isMesh&&b&&b.isGeometry&&this.fromGeometry(b);return this},updateFromObject:function(a){var b=a.geometry;if(a.isMesh){var c=b.__directGeometry;!0===
|
|
|
+return function(b,c,d){a.makeScale(b,c,d);this.applyMatrix(a);return this}}(),lookAt:function(){var a=new E;return function(b){a.lookAt(b);a.updateMatrix();this.applyMatrix(a.matrix)}}(),center:function(){this.computeBoundingBox();var a=this.boundingBox.getCenter().negate();this.translate(a.x,a.y,a.z);return a},setFromObject:function(a){var b=a.geometry;if(a.isPoints||a.isLine){a=new B(3*b.vertices.length,3);var c=new B(3*b.colors.length,3);this.addAttribute("position",a.copyVector3sArray(b.vertices));
|
|
|
+this.addAttribute("color",c.copyColorsArray(b.colors));b.lineDistances&&b.lineDistances.length===b.vertices.length&&(a=new B(b.lineDistances.length,1),this.addAttribute("lineDistance",a.copyArray(b.lineDistances)));null!==b.boundingSphere&&(this.boundingSphere=b.boundingSphere.clone());null!==b.boundingBox&&(this.boundingBox=b.boundingBox.clone())}else a.isMesh&&b&&b.isGeometry&&this.fromGeometry(b);return this},updateFromObject:function(a){var b=a.geometry;if(a.isMesh){var c=b.__directGeometry;!0===
|
|
|
b.elementsNeedUpdate&&(c=void 0,b.elementsNeedUpdate=!1);if(void 0===c)return this.fromGeometry(b);c.verticesNeedUpdate=b.verticesNeedUpdate;c.normalsNeedUpdate=b.normalsNeedUpdate;c.colorsNeedUpdate=b.colorsNeedUpdate;c.uvsNeedUpdate=b.uvsNeedUpdate;c.groupsNeedUpdate=b.groupsNeedUpdate;b.verticesNeedUpdate=!1;b.normalsNeedUpdate=!1;b.colorsNeedUpdate=!1;b.uvsNeedUpdate=!1;b.groupsNeedUpdate=!1;b=c}!0===b.verticesNeedUpdate&&(c=this.attributes.position,void 0!==c&&(c.copyVector3sArray(b.vertices),
|
|
|
c.needsUpdate=!0),b.verticesNeedUpdate=!1);!0===b.normalsNeedUpdate&&(c=this.attributes.normal,void 0!==c&&(c.copyVector3sArray(b.normals),c.needsUpdate=!0),b.normalsNeedUpdate=!1);!0===b.colorsNeedUpdate&&(c=this.attributes.color,void 0!==c&&(c.copyColorsArray(b.colors),c.needsUpdate=!0),b.colorsNeedUpdate=!1);b.uvsNeedUpdate&&(c=this.attributes.uv,void 0!==c&&(c.copyVector2sArray(b.uvs),c.needsUpdate=!0),b.uvsNeedUpdate=!1);b.lineDistancesNeedUpdate&&(c=this.attributes.lineDistance,void 0!==c&&
|
|
|
(c.copyArray(b.lineDistances),c.needsUpdate=!0),b.lineDistancesNeedUpdate=!1);b.groupsNeedUpdate&&(b.computeGroups(a.geometry),this.groups=b.groups,b.groupsNeedUpdate=!1);return this},fromGeometry:function(a){a.__directGeometry=(new Fe).fromGeometry(a);return this.fromDirectGeometry(a.__directGeometry)},fromDirectGeometry:function(a){var b=new Float32Array(3*a.vertices.length);this.addAttribute("position",(new V(b,3)).copyVector3sArray(a.vertices));0<a.normals.length&&(b=new Float32Array(3*a.normals.length),
|
|
|
this.addAttribute("normal",(new V(b,3)).copyVector3sArray(a.normals)));0<a.colors.length&&(b=new Float32Array(3*a.colors.length),this.addAttribute("color",(new V(b,3)).copyColorsArray(a.colors)));0<a.uvs.length&&(b=new Float32Array(2*a.uvs.length),this.addAttribute("uv",(new V(b,2)).copyVector2sArray(a.uvs)));0<a.uvs2.length&&(b=new Float32Array(2*a.uvs2.length),this.addAttribute("uv2",(new V(b,2)).copyVector2sArray(a.uvs2)));0<a.indices.length&&(b=new (65535<Qd(a.indices)?Uint32Array:Uint16Array)(3*
|
|
|
-a.indices.length),this.setIndex((new V(b,1)).copyIndicesArray(a.indices)));this.groups=a.groups;for(var c in a.morphTargets){for(var b=[],d=a.morphTargets[c],e=0,f=d.length;e<f;e++){var g=d[e],h=new A(3*g.length,3);b.push(h.copyVector3sArray(g))}this.morphAttributes[c]=b}0<a.skinIndices.length&&(c=new A(4*a.skinIndices.length,4),this.addAttribute("skinIndex",c.copyVector4sArray(a.skinIndices)));0<a.skinWeights.length&&(c=new A(4*a.skinWeights.length,4),this.addAttribute("skinWeight",c.copyVector4sArray(a.skinWeights)));
|
|
|
+a.indices.length),this.setIndex((new V(b,1)).copyIndicesArray(a.indices)));this.groups=a.groups;for(var c in a.morphTargets){for(var b=[],d=a.morphTargets[c],e=0,f=d.length;e<f;e++){var g=d[e],h=new B(3*g.length,3);b.push(h.copyVector3sArray(g))}this.morphAttributes[c]=b}0<a.skinIndices.length&&(c=new B(4*a.skinIndices.length,4),this.addAttribute("skinIndex",c.copyVector4sArray(a.skinIndices)));0<a.skinWeights.length&&(c=new B(4*a.skinWeights.length,4),this.addAttribute("skinWeight",c.copyVector4sArray(a.skinWeights)));
|
|
|
null!==a.boundingSphere&&(this.boundingSphere=a.boundingSphere.clone());null!==a.boundingBox&&(this.boundingBox=a.boundingBox.clone());return this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Ua);var a=this.attributes.position;void 0!==a?this.boundingBox.setFromBufferAttribute(a):this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',
|
|
|
this)},computeBoundingSphere:function(){var a=new Ua,b=new q;return function(){null===this.boundingSphere&&(this.boundingSphere=new Pa);var c=this.attributes.position;if(c){var d=this.boundingSphere.center;a.setFromBufferAttribute(c);a.getCenter(d);for(var e=0,f=0,g=c.count;f<g;f++)b.x=c.getX(f),b.y=c.getY(f),b.z=c.getZ(f),e=Math.max(e,d.distanceToSquared(b));this.boundingSphere.radius=Math.sqrt(e);isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',
|
|
|
-this)}}}(),computeFaceNormals:function(){},computeVertexNormals:function(){var a=this.index,b=this.attributes,c=this.groups;if(b.position){var d=b.position.array;if(void 0===b.normal)this.addAttribute("normal",new V(new Float32Array(d.length),3));else for(var e=b.normal.array,f=0,g=e.length;f<g;f++)e[f]=0;var e=b.normal.array,h,m,l,k=new q,p=new q,n=new q,t=new q,y=new q;if(a){a=a.array;0===c.length&&this.addGroup(0,a.length);for(var r=0,D=c.length;r<D;++r)for(f=c[r],g=f.start,h=f.count,f=g,g+=h;f<
|
|
|
-g;f+=3)h=3*a[f+0],m=3*a[f+1],l=3*a[f+2],k.fromArray(d,h),p.fromArray(d,m),n.fromArray(d,l),t.subVectors(n,p),y.subVectors(k,p),t.cross(y),e[h]+=t.x,e[h+1]+=t.y,e[h+2]+=t.z,e[m]+=t.x,e[m+1]+=t.y,e[m+2]+=t.z,e[l]+=t.x,e[l+1]+=t.y,e[l+2]+=t.z}else for(f=0,g=d.length;f<g;f+=9)k.fromArray(d,f),p.fromArray(d,f+3),n.fromArray(d,f+6),t.subVectors(n,p),y.subVectors(k,p),t.cross(y),e[f]=t.x,e[f+1]=t.y,e[f+2]=t.z,e[f+3]=t.x,e[f+4]=t.y,e[f+5]=t.z,e[f+6]=t.x,e[f+7]=t.y,e[f+8]=t.z;this.normalizeNormals();b.normal.needsUpdate=
|
|
|
+this)}}}(),computeFaceNormals:function(){},computeVertexNormals:function(){var a=this.index,b=this.attributes,c=this.groups;if(b.position){var d=b.position.array;if(void 0===b.normal)this.addAttribute("normal",new V(new Float32Array(d.length),3));else for(var e=b.normal.array,f=0,g=e.length;f<g;f++)e[f]=0;var e=b.normal.array,h,m,l,k=new q,p=new q,n=new q,t=new q,A=new q;if(a){a=a.array;0===c.length&&this.addGroup(0,a.length);for(var r=0,z=c.length;r<z;++r)for(f=c[r],g=f.start,h=f.count,f=g,g+=h;f<
|
|
|
+g;f+=3)h=3*a[f+0],m=3*a[f+1],l=3*a[f+2],k.fromArray(d,h),p.fromArray(d,m),n.fromArray(d,l),t.subVectors(n,p),A.subVectors(k,p),t.cross(A),e[h]+=t.x,e[h+1]+=t.y,e[h+2]+=t.z,e[m]+=t.x,e[m+1]+=t.y,e[m+2]+=t.z,e[l]+=t.x,e[l+1]+=t.y,e[l+2]+=t.z}else for(f=0,g=d.length;f<g;f+=9)k.fromArray(d,f),p.fromArray(d,f+3),n.fromArray(d,f+6),t.subVectors(n,p),A.subVectors(k,p),t.cross(A),e[f]=t.x,e[f+1]=t.y,e[f+2]=t.z,e[f+3]=t.x,e[f+4]=t.y,e[f+5]=t.z,e[f+6]=t.x,e[f+7]=t.y,e[f+8]=t.z;this.normalizeNormals();b.normal.needsUpdate=
|
|
|
!0}},merge:function(a,b){if(!1===(a&&a.isBufferGeometry))console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",a);else{void 0===b&&(b=0);var c=this.attributes,d;for(d in c)if(void 0!==a.attributes[d])for(var e=c[d].array,f=a.attributes[d],g=f.array,h=0,f=f.itemSize*b;h<g.length;h++,f++)e[f]=g[h];return this}},normalizeNormals:function(){for(var a=this.attributes.normal.array,b,c,d,e=0,f=a.length;e<f;e+=3)b=a[e],c=a[e+1],d=a[e+2],b=1/Math.sqrt(b*b+c*c+d*d),
|
|
|
a[e]*=b,a[e+1]*=b,a[e+2]*=b},toNonIndexed:function(){if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),this;var a=new G,b=this.index.array,c=this.attributes,d;for(d in c){for(var e=c[d],f=e.array,e=e.itemSize,g=new f.constructor(b.length*e),h,m=0,l=0,k=b.length;l<k;l++){h=b[l]*e;for(var p=0;p<e;p++)g[m++]=f[h++]}a.addAttribute(d,new V(g,e))}return a},toJSON:function(){var a={metadata:{version:4.4,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};
|
|
|
a.uuid=this.uuid;a.type=this.type;""!==this.name&&(a.name=this.name);if(void 0!==this.parameters){var b=this.parameters,c;for(c in b)void 0!==b[c]&&(a[c]=b[c]);return a}a.data={attributes:{}};var d=this.index;null!==d&&(b=Array.prototype.slice.call(d.array),a.data.index={type:d.array.constructor.name,array:b});d=this.attributes;for(c in d){var e=d[c],b=Array.prototype.slice.call(e.array);a.data.attributes[c]={itemSize:e.itemSize,type:e.array.constructor.name,array:b,normalized:e.normalized}}c=this.groups;
|
|
|
0<c.length&&(a.data.groups=JSON.parse(JSON.stringify(c)));c=this.boundingSphere;null!==c&&(a.data.boundingSphere={center:c.center.toArray(),radius:c.radius});return a},clone:function(){return(new G).copy(this)},copy:function(a){var b,c,d;this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.name=a.name;c=a.index;null!==c&&this.setIndex(c.clone());c=a.attributes;for(b in c)this.addAttribute(b,c[b].clone());var e=a.morphAttributes;for(b in e){var f=
|
|
|
[],g=e[b];c=0;for(d=g.length;c<d;c++)f.push(g[c].clone());this.morphAttributes[b]=f}b=a.groups;c=0;for(d=b.length;c<d;c++)e=b[c],this.addGroup(e.start,e.count,e.materialIndex);b=a.boundingBox;null!==b&&(this.boundingBox=b.clone());b=a.boundingSphere;null!==b&&(this.boundingSphere=b.clone());this.drawRange.start=a.drawRange.start;this.drawRange.count=a.drawRange.count;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});xa.prototype=Object.assign(Object.create(E.prototype),{constructor:xa,
|
|
|
isMesh:!0,setDrawMode:function(a){this.drawMode=a},copy:function(a){E.prototype.copy.call(this,a);this.drawMode=a.drawMode;return this},updateMorphTargets:function(){var a=this.geometry.morphTargets;if(void 0!==a&&0<a.length){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(var b=0,c=a.length;b<c;b++)this.morphTargetInfluences.push(0),this.morphTargetDictionary[a[b].name]=b}},raycast:function(){function a(a,b,c,d,e,f,g){Va.barycoordFromPoint(a,b,c,d,r);e.multiplyScalar(r.x);f.multiplyScalar(r.y);
|
|
|
-g.multiplyScalar(r.z);e.add(f).add(g);return e.clone()}function b(a,b,c,d,e,f,g){var h=a.material;if(null===(1===h.side?c.intersectTriangle(f,e,d,!0,g):c.intersectTriangle(d,e,f,2!==h.side,g)))return null;w.copy(g);w.applyMatrix4(a.matrixWorld);c=b.ray.origin.distanceTo(w);return c<b.near||c>b.far?null:{distance:c,point:w.clone(),object:a}}function c(c,d,e,f,l,k,p,u){g.fromBufferAttribute(f,k);h.fromBufferAttribute(f,p);m.fromBufferAttribute(f,u);if(c=b(c,d,e,g,h,m,D))l&&(n.fromBufferAttribute(l,
|
|
|
-k),t.fromBufferAttribute(l,p),y.fromBufferAttribute(l,u),c.uv=a(D,g,h,m,n,t,y)),c.face=new oa(k,p,u,Va.normal(g,h,m)),c.faceIndex=k;return c}var d=new S,e=new fb,f=new Pa,g=new q,h=new q,m=new q,l=new q,k=new q,p=new q,n=new C,t=new C,y=new C,r=new q,D=new q,w=new q;return function(q,r){var v=this.geometry,w=this.material,H=this.matrixWorld;if(void 0!==w&&(null===v.boundingSphere&&v.computeBoundingSphere(),f.copy(v.boundingSphere),f.applyMatrix4(H),!1!==q.ray.intersectsSphere(f)&&(d.getInverse(H),
|
|
|
-e.copy(q.ray).applyMatrix4(d),null===v.boundingBox||!1!==e.intersectsBox(v.boundingBox)))){var z;if(v.isBufferGeometry){var R,C,w=v.index,A=v.attributes.position,H=v.attributes.uv,E,G;if(null!==w)for(E=0,G=w.count;E<G;E+=3){if(v=w.getX(E),R=w.getX(E+1),C=w.getX(E+2),z=c(this,q,e,A,H,v,R,C))z.faceIndex=Math.floor(E/3),r.push(z)}else for(E=0,G=A.count;E<G;E+=3)if(v=E,R=E+1,C=E+2,z=c(this,q,e,A,H,v,R,C))z.index=v,r.push(z)}else if(v.isGeometry){var I,H=Array.isArray(w);E=v.vertices;G=v.faces;R=v.faceVertexUvs[0];
|
|
|
-0<R.length&&(A=R);for(var K=0,P=G.length;K<P;K++){var J=G[K];z=H?w[J.materialIndex]:w;if(void 0!==z){R=E[J.a];C=E[J.b];I=E[J.c];if(!0===z.morphTargets){z=v.morphTargets;var N=this.morphTargetInfluences;g.set(0,0,0);h.set(0,0,0);m.set(0,0,0);for(var M=0,S=z.length;M<S;M++){var W=N[M];if(0!==W){var T=z[M].vertices;g.addScaledVector(l.subVectors(T[J.a],R),W);h.addScaledVector(k.subVectors(T[J.b],C),W);m.addScaledVector(p.subVectors(T[J.c],I),W)}}g.add(R);h.add(C);m.add(I);R=g;C=h;I=m}if(z=b(this,q,e,
|
|
|
-R,C,I,D))A&&A[K]&&(N=A[K],n.copy(N[0]),t.copy(N[1]),y.copy(N[2]),z.uv=a(D,R,C,I,n,t,y)),z.face=J,z.faceIndex=K,r.push(z)}}}}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});Hb.prototype=Object.create(K.prototype);Hb.prototype.constructor=Hb;ib.prototype=Object.create(G.prototype);ib.prototype.constructor=ib;yc.prototype=Object.create(K.prototype);yc.prototype.constructor=yc;jb.prototype=Object.create(G.prototype);jb.prototype.constructor=jb;ma.prototype=
|
|
|
+g.multiplyScalar(r.z);e.add(f).add(g);return e.clone()}function b(a,b,c,d,e,f,g){var h=a.material;if(null===(1===h.side?c.intersectTriangle(f,e,d,!0,g):c.intersectTriangle(d,e,f,2!==h.side,g)))return null;w.copy(g);w.applyMatrix4(a.matrixWorld);c=b.ray.origin.distanceTo(w);return c<b.near||c>b.far?null:{distance:c,point:w.clone(),object:a}}function c(c,d,e,f,l,k,p,u){g.fromBufferAttribute(f,k);h.fromBufferAttribute(f,p);m.fromBufferAttribute(f,u);if(c=b(c,d,e,g,h,m,z))l&&(n.fromBufferAttribute(l,
|
|
|
+k),t.fromBufferAttribute(l,p),A.fromBufferAttribute(l,u),c.uv=a(z,g,h,m,n,t,A)),c.face=new oa(k,p,u,Va.normal(g,h,m)),c.faceIndex=k;return c}var d=new S,e=new fb,f=new Pa,g=new q,h=new q,m=new q,l=new q,k=new q,p=new q,n=new D,t=new D,A=new D,r=new q,z=new q,w=new q;return function(q,r){var v=this.geometry,w=this.material,H=this.matrixWorld;if(void 0!==w&&(null===v.boundingSphere&&v.computeBoundingSphere(),f.copy(v.boundingSphere),f.applyMatrix4(H),!1!==q.ray.intersectsSphere(f)&&(d.getInverse(H),
|
|
|
+e.copy(q.ray).applyMatrix4(d),null===v.boundingBox||!1!==e.intersectsBox(v.boundingBox)))){var y;if(v.isBufferGeometry){var R,D,w=v.index,B=v.attributes.position,H=v.attributes.uv,E,G;if(null!==w)for(E=0,G=w.count;E<G;E+=3){if(v=w.getX(E),R=w.getX(E+1),D=w.getX(E+2),y=c(this,q,e,B,H,v,R,D))y.faceIndex=Math.floor(E/3),r.push(y)}else for(E=0,G=B.count;E<G;E+=3)if(v=E,R=E+1,D=E+2,y=c(this,q,e,B,H,v,R,D))y.index=v,r.push(y)}else if(v.isGeometry){var I,H=Array.isArray(w);E=v.vertices;G=v.faces;R=v.faceVertexUvs[0];
|
|
|
+0<R.length&&(B=R);for(var K=0,P=G.length;K<P;K++){var J=G[K];y=H?w[J.materialIndex]:w;if(void 0!==y){R=E[J.a];D=E[J.b];I=E[J.c];if(!0===y.morphTargets){y=v.morphTargets;var N=this.morphTargetInfluences;g.set(0,0,0);h.set(0,0,0);m.set(0,0,0);for(var M=0,S=y.length;M<S;M++){var W=N[M];if(0!==W){var T=y[M].vertices;g.addScaledVector(l.subVectors(T[J.a],R),W);h.addScaledVector(k.subVectors(T[J.b],D),W);m.addScaledVector(p.subVectors(T[J.c],I),W)}}g.add(R);h.add(D);m.add(I);R=g;D=h;I=m}if(y=b(this,q,e,
|
|
|
+R,D,I,z))B&&B[K]&&(N=B[K],n.copy(N[0]),t.copy(N[1]),A.copy(N[2]),y.uv=a(z,R,D,I,n,t,A)),y.face=J,y.faceIndex=K,r.push(y)}}}}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});Hb.prototype=Object.create(K.prototype);Hb.prototype.constructor=Hb;ib.prototype=Object.create(G.prototype);ib.prototype.constructor=ib;yc.prototype=Object.create(K.prototype);yc.prototype.constructor=yc;jb.prototype=Object.create(G.prototype);jb.prototype.constructor=jb;ma.prototype=
|
|
|
Object.create(E.prototype);ma.prototype.constructor=ma;ma.prototype.isCamera=!0;ma.prototype.getWorldDirection=function(){var a=new la;return function(b){b=b||new q;this.getWorldQuaternion(a);return b.set(0,0,-1).applyQuaternion(a)}}();ma.prototype.lookAt=function(){var a=new S;return function(b){a.lookAt(this.position,b,this.up);this.quaternion.setFromRotationMatrix(a)}}();ma.prototype.clone=function(){return(new this.constructor).copy(this)};ma.prototype.copy=function(a){E.prototype.copy.call(this,
|
|
|
a);this.matrixWorldInverse.copy(a.matrixWorldInverse);this.projectionMatrix.copy(a.projectionMatrix);return this};Ca.prototype=Object.assign(Object.create(ma.prototype),{constructor:Ca,isPerspectiveCamera:!0,copy:function(a){ma.prototype.copy.call(this,a);this.fov=a.fov;this.zoom=a.zoom;this.near=a.near;this.far=a.far;this.focus=a.focus;this.aspect=a.aspect;this.view=null===a.view?null:Object.assign({},a.view);this.filmGauge=a.filmGauge;this.filmOffset=a.filmOffset;return this},setFocalLength:function(a){a=
|
|
|
.5*this.getFilmHeight()/a;this.fov=2*T.RAD2DEG*Math.atan(a);this.updateProjectionMatrix()},getFocalLength:function(){var a=Math.tan(.5*T.DEG2RAD*this.fov);return.5*this.getFilmHeight()/a},getEffectiveFOV:function(){return 2*T.RAD2DEG*Math.atan(Math.tan(.5*T.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(a,b,c,d,e,f){this.aspect=a/b;this.view={fullWidth:a,
|
|
@@ -564,95 +564,95 @@ a);a.object.zoom=this.zoom;a.object.left=this.left;a.object.right=this.right;a.o
|
|
|
function(){return new Kb(this.color.getHex(),this.near,this.far)};Kb.prototype.toJSON=function(a){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}};ld.prototype=Object.assign(Object.create(E.prototype),{constructor:ld,copy:function(a,b){E.prototype.copy.call(this,a,b);null!==a.background&&(this.background=a.background.clone());null!==a.fog&&(this.fog=a.fog.clone());null!==a.overrideMaterial&&(this.overrideMaterial=a.overrideMaterial.clone());this.autoUpdate=a.autoUpdate;this.matrixAutoUpdate=
|
|
|
a.matrixAutoUpdate;return this},toJSON:function(a){var b=E.prototype.toJSON.call(this,a);null!==this.background&&(b.object.background=this.background.toJSON(a));null!==this.fog&&(b.object.fog=this.fog.toJSON());return b}});Wd.prototype=Object.assign(Object.create(E.prototype),{constructor:Wd,isLensFlare:!0,copy:function(a){E.prototype.copy.call(this,a);this.positionScreen.copy(a.positionScreen);this.customUpdateCallback=a.customUpdateCallback;for(var b=0,c=a.lensFlares.length;b<c;b++)this.lensFlares.push(a.lensFlares[b]);
|
|
|
return this},add:function(a,b,c,d,e,f){void 0===b&&(b=-1);void 0===c&&(c=0);void 0===f&&(f=1);void 0===e&&(e=new I(16777215));void 0===d&&(d=1);c=Math.min(c,Math.max(0,c));this.lensFlares.push({texture:a,size:b,distance:c,x:0,y:0,z:0,scale:1,rotation:0,opacity:f,color:e,blending:d})},updateLensFlares:function(){var a,b=this.lensFlares.length,c,d=2*-this.positionScreen.x,e=2*-this.positionScreen.y;for(a=0;a<b;a++)c=this.lensFlares[a],c.x=this.positionScreen.x+d*c.distance,c.y=this.positionScreen.y+
|
|
|
-e*c.distance,c.wantedRotation=c.x*Math.PI*.25,c.rotation+=.25*(c.wantedRotation-c.rotation)}});lb.prototype=Object.create(X.prototype);lb.prototype.constructor=lb;lb.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.rotation=a.rotation;return this};Bc.prototype=Object.assign(Object.create(E.prototype),{constructor:Bc,isSprite:!0,raycast:function(){var a=new q;return function(b,c){a.setFromMatrixPosition(this.matrixWorld);var d=b.ray.distanceSqToPoint(a);
|
|
|
-d>this.scale.x*this.scale.y/4||c.push({distance:Math.sqrt(d),point:this.position,face:null,object:this})}}(),clone:function(){return(new this.constructor(this.material)).copy(this)}});Cc.prototype=Object.assign(Object.create(E.prototype),{constructor:Cc,copy:function(a){E.prototype.copy.call(this,a,!1);a=a.levels;for(var b=0,c=a.length;b<c;b++){var d=a[b];this.addLevel(d.object.clone(),d.distance)}return this},addLevel:function(a,b){void 0===b&&(b=0);b=Math.abs(b);for(var c=this.levels,d=0;d<c.length&&
|
|
|
-!(b<c[d].distance);d++);c.splice(d,0,{distance:b,object:a});this.add(a)},getObjectForDistance:function(a){for(var b=this.levels,c=1,d=b.length;c<d&&!(a<b[c].distance);c++);return b[c-1].object},raycast:function(){var a=new q;return function(b,c){a.setFromMatrixPosition(this.matrixWorld);var d=b.ray.origin.distanceTo(a);this.getObjectForDistance(d).raycast(b,c)}}(),update:function(){var a=new q,b=new q;return function(c){var d=this.levels;if(1<d.length){a.setFromMatrixPosition(c.matrixWorld);b.setFromMatrixPosition(this.matrixWorld);
|
|
|
-c=a.distanceTo(b);d[0].object.visible=!0;for(var e=1,f=d.length;e<f;e++)if(c>=d[e].distance)d[e-1].object.visible=!1,d[e].object.visible=!0;else break;for(;e<f;e++)d[e].object.visible=!1}}}(),toJSON:function(a){a=E.prototype.toJSON.call(this,a);a.object.levels=[];for(var b=this.levels,c=0,d=b.length;c<d;c++){var e=b[c];a.object.levels.push({object:e.object.uuid,distance:e.distance})}return a}});Object.assign(Dc.prototype,{calculateInverses:function(){this.boneInverses=[];for(var a=0,b=this.bones.length;a<
|
|
|
-b;a++){var c=new S;this.bones[a]&&c.getInverse(this.bones[a].matrixWorld);this.boneInverses.push(c)}},pose:function(){for(var a,b=0,c=this.bones.length;b<c;b++)(a=this.bones[b])&&a.matrixWorld.getInverse(this.boneInverses[b]);b=0;for(c=this.bones.length;b<c;b++)if(a=this.bones[b])a.parent&&a.parent.isBone?(a.matrix.getInverse(a.parent.matrixWorld),a.matrix.multiply(a.matrixWorld)):a.matrix.copy(a.matrixWorld),a.matrix.decompose(a.position,a.quaternion,a.scale)},update:function(){var a=new S;return function(){for(var b=
|
|
|
-this.bones,c=this.boneInverses,d=this.boneMatrices,e=this.boneTexture,f=0,g=b.length;f<g;f++)a.multiplyMatrices(b[f]?b[f].matrixWorld:this.identityMatrix,c[f]),a.toArray(d,16*f);void 0!==e&&(e.needsUpdate=!0)}}(),clone:function(){return new Dc(this.bones,this.boneInverses)}});md.prototype=Object.assign(Object.create(E.prototype),{constructor:md,isBone:!0});nd.prototype=Object.assign(Object.create(xa.prototype),{constructor:nd,isSkinnedMesh:!0,bind:function(a,b){this.skeleton=a;void 0===b&&(this.updateMatrixWorld(!0),
|
|
|
-this.skeleton.calculateInverses(),b=this.matrixWorld);this.bindMatrix.copy(b);this.bindMatrixInverse.getInverse(b)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){if(this.geometry&&this.geometry.isGeometry)for(var a=0;a<this.geometry.skinWeights.length;a++){var b=this.geometry.skinWeights[a],c=1/b.lengthManhattan();Infinity!==c?b.multiplyScalar(c):b.set(1,0,0,0)}else if(this.geometry&&this.geometry.isBufferGeometry)for(var b=new fa,d=this.geometry.attributes.skinWeight,a=0;a<
|
|
|
-d.count;a++)b.x=d.getX(a),b.y=d.getY(a),b.z=d.getZ(a),b.w=d.getW(a),c=1/b.lengthManhattan(),Infinity!==c?b.multiplyScalar(c):b.set(1,0,0,0),d.setXYZW(a,b.x,b.y,b.z,b.w)},updateMatrixWorld:function(){xa.prototype.updateMatrixWorld.call(this,!0);"attached"===this.bindMode?this.bindMatrixInverse.getInverse(this.matrixWorld):"detached"===this.bindMode?this.bindMatrixInverse.getInverse(this.bindMatrix):console.warn("THREE.SkinnedMesh unrecognized bindMode: "+this.bindMode)},clone:function(){return(new this.constructor(this.geometry,
|
|
|
-this.material)).copy(this)}});ia.prototype=Object.create(X.prototype);ia.prototype.constructor=ia;ia.prototype.isLineBasicMaterial=!0;ia.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.linewidth=a.linewidth;this.linecap=a.linecap;this.linejoin=a.linejoin;return this};Na.prototype=Object.assign(Object.create(E.prototype),{constructor:Na,isLine:!0,raycast:function(){var a=new S,b=new fb,c=new Pa;return function(d,e){var f=d.linePrecision,f=f*f,g=this.geometry,
|
|
|
-h=this.matrixWorld;null===g.boundingSphere&&g.computeBoundingSphere();c.copy(g.boundingSphere);c.applyMatrix4(h);if(!1!==d.ray.intersectsSphere(c)){a.getInverse(h);b.copy(d.ray).applyMatrix4(a);var m=new q,l=new q,h=new q,k=new q,p=this&&this.isLineSegments?2:1;if(g.isBufferGeometry){var n=g.index,t=g.attributes.position.array;if(null!==n)for(var n=n.array,g=0,y=n.length-1;g<y;g+=p){var r=n[g+1];m.fromArray(t,3*n[g]);l.fromArray(t,3*r);r=b.distanceSqToSegment(m,l,k,h);r>f||(k.applyMatrix4(this.matrixWorld),
|
|
|
-r=d.ray.origin.distanceTo(k),r<d.near||r>d.far||e.push({distance:r,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else for(g=0,y=t.length/3-1;g<y;g+=p)m.fromArray(t,3*g),l.fromArray(t,3*g+3),r=b.distanceSqToSegment(m,l,k,h),r>f||(k.applyMatrix4(this.matrixWorld),r=d.ray.origin.distanceTo(k),r<d.near||r>d.far||e.push({distance:r,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else if(g.isGeometry)for(m=g.vertices,
|
|
|
-l=m.length,g=0;g<l-1;g+=p)r=b.distanceSqToSegment(m[g],m[g+1],k,h),r>f||(k.applyMatrix4(this.matrixWorld),r=d.ray.origin.distanceTo(k),r<d.near||r>d.far||e.push({distance:r,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});ea.prototype=Object.assign(Object.create(Na.prototype),{constructor:ea,isLineSegments:!0});od.prototype=Object.assign(Object.create(Na.prototype),
|
|
|
-{constructor:od,isLineLoop:!0});Ga.prototype=Object.create(X.prototype);Ga.prototype.constructor=Ga;Ga.prototype.isPointsMaterial=!0;Ga.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.size=a.size;this.sizeAttenuation=a.sizeAttenuation;return this};Lb.prototype=Object.assign(Object.create(E.prototype),{constructor:Lb,isPoints:!0,raycast:function(){var a=new S,b=new fb,c=new Pa;return function(d,e){function f(a,c){var f=b.distanceSqToPoint(a);if(f<
|
|
|
-k){var h=b.closestPointToPoint(a);h.applyMatrix4(m);var l=d.ray.origin.distanceTo(h);l<d.near||l>d.far||e.push({distance:l,distanceToRay:Math.sqrt(f),point:h.clone(),index:c,face:null,object:g})}}var g=this,h=this.geometry,m=this.matrixWorld,l=d.params.Points.threshold;null===h.boundingSphere&&h.computeBoundingSphere();c.copy(h.boundingSphere);c.applyMatrix4(m);if(!1!==d.ray.intersectsSphere(c)){a.getInverse(m);b.copy(d.ray).applyMatrix4(a);var l=l/((this.scale.x+this.scale.y+this.scale.z)/3),k=l*
|
|
|
-l,l=new q;if(h.isBufferGeometry){var p=h.index,h=h.attributes.position.array;if(null!==p)for(var n=p.array,p=0,t=n.length;p<t;p++){var y=n[p];l.fromArray(h,3*y);f(l,y)}else for(p=0,n=h.length/3;p<n;p++)l.fromArray(h,3*p),f(l,p)}else for(l=h.vertices,p=0,n=l.length;p<n;p++)f(l[p],p)}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});Ec.prototype=Object.assign(Object.create(E.prototype),{constructor:Ec});pd.prototype=Object.create(aa.prototype);pd.prototype.constructor=
|
|
|
-pd;Mb.prototype=Object.create(aa.prototype);Mb.prototype.constructor=Mb;Mb.prototype.isCompressedTexture=!0;qd.prototype=Object.create(aa.prototype);qd.prototype.constructor=qd;Fc.prototype=Object.create(aa.prototype);Fc.prototype.constructor=Fc;Fc.prototype.isDepthTexture=!0;Nb.prototype=Object.create(G.prototype);Nb.prototype.constructor=Nb;Gc.prototype=Object.create(K.prototype);Gc.prototype.constructor=Gc;Ob.prototype=Object.create(G.prototype);Ob.prototype.constructor=Ob;Hc.prototype=Object.create(K.prototype);
|
|
|
-Hc.prototype.constructor=Hc;va.prototype=Object.create(G.prototype);va.prototype.constructor=va;Ic.prototype=Object.create(K.prototype);Ic.prototype.constructor=Ic;Pb.prototype=Object.create(va.prototype);Pb.prototype.constructor=Pb;Jc.prototype=Object.create(K.prototype);Jc.prototype.constructor=Jc;mb.prototype=Object.create(va.prototype);mb.prototype.constructor=mb;Kc.prototype=Object.create(K.prototype);Kc.prototype.constructor=Kc;Qb.prototype=Object.create(va.prototype);Qb.prototype.constructor=
|
|
|
-Qb;Lc.prototype=Object.create(K.prototype);Lc.prototype.constructor=Lc;Rb.prototype=Object.create(va.prototype);Rb.prototype.constructor=Rb;Mc.prototype=Object.create(K.prototype);Mc.prototype.constructor=Mc;Sb.prototype=Object.create(G.prototype);Sb.prototype.constructor=Sb;Nc.prototype=Object.create(K.prototype);Nc.prototype.constructor=Nc;Tb.prototype=Object.create(G.prototype);Tb.prototype.constructor=Tb;Oc.prototype=Object.create(K.prototype);Oc.prototype.constructor=Oc;Ub.prototype=Object.create(G.prototype);
|
|
|
-Ub.prototype.constructor=Ub;var za={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;e<b;d=e++)c+=a[d].x*a[e].y-a[e].x*a[d].y;return.5*c},triangulate:function(){return function(a,b){var c=a.length;if(3>c)return null;var d=[],e=[],f=[],g,h,m;if(0<za.area(a))for(h=0;h<c;h++)e[h]=h;else for(h=0;h<c;h++)e[h]=c-1-h;var l=2*c;for(h=c-1;2<c;){if(0>=l--){console.warn("THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()");break}g=h;c<=g&&(g=0);h=g+1;c<=h&&(h=0);m=h+1;c<=m&&(m=0);var k;a:{var p,
|
|
|
-n,t,q,r,D,w,x;p=a[e[g]].x;n=a[e[g]].y;t=a[e[h]].x;q=a[e[h]].y;r=a[e[m]].x;D=a[e[m]].y;if(0>=(t-p)*(D-n)-(q-n)*(r-p))k=!1;else{var L,v,F,H,z,C,E,A,G,I;L=r-t;v=D-q;F=p-r;H=n-D;z=t-p;C=q-n;for(k=0;k<c;k++)if(w=a[e[k]].x,x=a[e[k]].y,!(w===p&&x===n||w===t&&x===q||w===r&&x===D)&&(E=w-p,A=x-n,G=w-t,I=x-q,w-=r,x-=D,G=L*I-v*G,E=z*A-C*E,A=F*x-H*w,G>=-Number.EPSILON&&A>=-Number.EPSILON&&E>=-Number.EPSILON)){k=!1;break a}k=!0}}if(k){d.push([a[e[g]],a[e[h]],a[e[m]]]);f.push([e[g],e[h],e[m]]);g=h;for(m=h+1;m<c;g++,
|
|
|
-m++)e[g]=e[m];c--;l=2*c}}return b?f:d}}(),triangulateShape:function(a,b){function c(a){var b=a.length;2<b&&a[b-1].equals(a[0])&&a.pop()}function d(a,b,c){return a.x!==b.x?a.x<b.x?a.x<=c.x&&c.x<=b.x:b.x<=c.x&&c.x<=a.x:a.y<b.y?a.y<=c.y&&c.y<=b.y:b.y<=c.y&&c.y<=a.y}function e(a,b,c,e,f){var g=b.x-a.x,h=b.y-a.y,m=e.x-c.x,l=e.y-c.y,k=a.x-c.x,n=a.y-c.y,p=h*m-g*l,u=h*k-g*n;if(Math.abs(p)>Number.EPSILON){if(0<p){if(0>u||u>p)return[];m=l*k-m*n;if(0>m||m>p)return[]}else{if(0<u||u<p)return[];m=l*k-m*n;if(0<
|
|
|
-m||m<p)return[]}if(0===m)return!f||0!==u&&u!==p?[a]:[];if(m===p)return!f||0!==u&&u!==p?[b]:[];if(0===u)return[c];if(u===p)return[e];f=m/p;return[{x:a.x+f*g,y:a.y+f*h}]}if(0!==u||l*k!==m*n)return[];h=0===g&&0===h;m=0===m&&0===l;if(h&&m)return a.x!==c.x||a.y!==c.y?[]:[a];if(h)return d(c,e,a)?[a]:[];if(m)return d(a,b,c)?[c]:[];0!==g?(a.x<b.x?(g=a,m=a.x,h=b,a=b.x):(g=b,m=b.x,h=a,a=a.x),c.x<e.x?(b=c,p=c.x,l=e,c=e.x):(b=e,p=e.x,l=c,c=c.x)):(a.y<b.y?(g=a,m=a.y,h=b,a=b.y):(g=b,m=b.y,h=a,a=a.y),c.y<e.y?(b=
|
|
|
-c,p=c.y,l=e,c=e.y):(b=e,p=e.y,l=c,c=c.y));return m<=p?a<p?[]:a===p?f?[]:[b]:a<=c?[b,h]:[b,l]:m>c?[]:m===c?f?[]:[g]:a<=c?[g,h]:[g,l]}function f(a,b,c,d){var e=b.x-a.x,f=b.y-a.y;b=c.x-a.x;c=c.y-a.y;var g=d.x-a.x;d=d.y-a.y;a=e*c-f*b;e=e*d-f*g;return Math.abs(a)>Number.EPSILON?(b=g*c-d*b,0<a?0<=e&&0<=b:0<=e||0<=b):0<e}c(a);b.forEach(c);var g,h,m,l,k,p={};m=a.concat();g=0;for(h=b.length;g<h;g++)Array.prototype.push.apply(m,b[g]);g=0;for(h=m.length;g<h;g++)k=m[g].x+":"+m[g].y,void 0!==p[k]&&console.warn("THREE.ShapeUtils: Duplicate point",
|
|
|
-k,g),p[k]=g;g=function(a,b){function c(a,b){var d=h.length-1,e=a-1;0>e&&(e=d);var g=a+1;g>d&&(g=0);d=f(h[a],h[e],h[g],m[b]);if(!d)return!1;d=m.length-1;e=b-1;0>e&&(e=d);g=b+1;g>d&&(g=0);return(d=f(m[b],m[e],m[g],h[a]))?!0:!1}function d(a,b){var c,f;for(c=0;c<h.length;c++)if(f=c+1,f%=h.length,f=e(a,b,h[c],h[f],!0),0<f.length)return!0;return!1}function g(a,c){var d,f,h,m;for(d=0;d<l.length;d++)for(f=b[l[d]],h=0;h<f.length;h++)if(m=h+1,m%=f.length,m=e(a,c,f[h],f[m],!0),0<m.length)return!0;return!1}var h=
|
|
|
-a.concat(),m,l=[],k,n,p,u,q,C=[],E,A,G,I=0;for(k=b.length;I<k;I++)l.push(I);E=0;for(var P=2*l.length;0<l.length;){P--;if(0>P){console.log("Infinite Loop! Holes left:"+l.length+", Probably Hole outside Shape!");break}for(n=E;n<h.length;n++){p=h[n];k=-1;for(I=0;I<l.length;I++)if(u=l[I],q=p.x+":"+p.y+":"+u,void 0===C[q]){m=b[u];for(A=0;A<m.length;A++)if(u=m[A],c(n,A)&&!d(p,u)&&!g(p,u)){k=A;l.splice(I,1);E=h.slice(0,n+1);u=h.slice(n);A=m.slice(k);G=m.slice(0,k+1);h=E.concat(A).concat(G).concat(u);E=n;
|
|
|
-break}if(0<=k)break;C[q]=!0}if(0<=k)break}}return h}(a,b);var n=za.triangulate(g,!1);g=0;for(h=n.length;g<h;g++)for(l=n[g],m=0;3>m;m++)k=l[m].x+":"+l[m].y,k=p[k],void 0!==k&&(l[m]=k);return n.concat()},isClockWise:function(a){return 0>za.area(a)}};ya.prototype=Object.create(K.prototype);ya.prototype.constructor=ya;ya.prototype.addShapeList=function(a,b){for(var c=a.length,d=0;d<c;d++)this.addShape(a[d],b)};ya.prototype.addShape=function(a,b){function c(a,b,c){b||console.error("THREE.ExtrudeGeometry: vec does not exist");
|
|
|
-return b.clone().multiplyScalar(c).add(a)}function d(a,b,c){var d,e,f;e=a.x-b.x;f=a.y-b.y;d=c.x-a.x;var g=c.y-a.y,h=e*e+f*f;if(Math.abs(e*g-f*d)>Number.EPSILON){var m=Math.sqrt(h),l=Math.sqrt(d*d+g*g),h=b.x-f/m;b=b.y+e/m;g=((c.x-g/l-h)*g-(c.y+d/l-b)*d)/(e*g-f*d);d=h+e*g-a.x;e=b+f*g-a.y;f=d*d+e*e;if(2>=f)return new C(d,e);f=Math.sqrt(f/2)}else a=!1,e>Number.EPSILON?d>Number.EPSILON&&(a=!0):e<-Number.EPSILON?d<-Number.EPSILON&&(a=!0):Math.sign(f)===Math.sign(g)&&(a=!0),a?(d=-f,f=Math.sqrt(h)):(d=e,
|
|
|
-e=f,f=Math.sqrt(h/2));return new C(d/f,e/f)}function e(a,b){var c,d;for(Q=a.length;0<=--Q;){c=Q;d=Q-1;0>d&&(d=a.length-1);var e,f=t+2*k;for(e=0;e<f;e++){var g=V*e,h=V*(e+1),m=b+c+g,g=b+d+g,l=b+d+h,h=b+c+h,m=m+I,g=g+I,l=l+I,h=h+I;G.faces.push(new oa(m,g,h,null,null,1));G.faces.push(new oa(g,l,h,null,null,1));m=w.generateSideWallUV(G,m,g,l,h);G.faceVertexUvs[0].push([m[0],m[1],m[3]]);G.faceVertexUvs[0].push([m[1],m[2],m[3]])}}}function f(a,b,c){G.vertices.push(new q(a,b,c))}function g(a,b,c){a+=I;b+=
|
|
|
-I;c+=I;G.faces.push(new oa(a,b,c,null,null,0));a=w.generateTopUV(G,a,b,c);G.faceVertexUvs[0].push(a)}var h=void 0!==b.amount?b.amount:100,m=void 0!==b.bevelThickness?b.bevelThickness:6,l=void 0!==b.bevelSize?b.bevelSize:m-2,k=void 0!==b.bevelSegments?b.bevelSegments:3,p=void 0!==b.bevelEnabled?b.bevelEnabled:!0,n=void 0!==b.curveSegments?b.curveSegments:12,t=void 0!==b.steps?b.steps:1,y=b.extrudePath,r,D=!1,w=void 0!==b.UVGenerator?b.UVGenerator:ya.WorldUVGenerator,x,E,v,F;y&&(r=y.getSpacedPoints(t),
|
|
|
-D=!0,p=!1,x=void 0!==b.frames?b.frames:y.computeFrenetFrames(t,!1),E=new q,v=new q,F=new q);p||(l=m=k=0);var H,z,A,G=this,I=this.vertices.length,y=a.extractPoints(n),n=y.shape,K=y.holes;if(y=!za.isClockWise(n)){n=n.reverse();z=0;for(A=K.length;z<A;z++)H=K[z],za.isClockWise(H)&&(K[z]=H.reverse());y=!1}var T=za.triangulateShape(n,K),S=n;z=0;for(A=K.length;z<A;z++)H=K[z],n=n.concat(H);var O,P,J,N,M,V=n.length,W,X=T.length,y=[],Q=0;J=S.length;O=J-1;for(P=Q+1;Q<J;Q++,O++,P++)O===J&&(O=0),P===J&&(P=0),
|
|
|
-y[Q]=d(S[Q],S[O],S[P]);var ba=[],aa,ca=y.concat();z=0;for(A=K.length;z<A;z++){H=K[z];aa=[];Q=0;J=H.length;O=J-1;for(P=Q+1;Q<J;Q++,O++,P++)O===J&&(O=0),P===J&&(P=0),aa[Q]=d(H[Q],H[O],H[P]);ba.push(aa);ca=ca.concat(aa)}for(O=0;O<k;O++){J=O/k;N=m*Math.cos(J*Math.PI/2);P=l*Math.sin(J*Math.PI/2);Q=0;for(J=S.length;Q<J;Q++)M=c(S[Q],y[Q],P),f(M.x,M.y,-N);z=0;for(A=K.length;z<A;z++)for(H=K[z],aa=ba[z],Q=0,J=H.length;Q<J;Q++)M=c(H[Q],aa[Q],P),f(M.x,M.y,-N)}P=l;for(Q=0;Q<V;Q++)M=p?c(n[Q],ca[Q],P):n[Q],D?(v.copy(x.normals[0]).multiplyScalar(M.x),
|
|
|
-E.copy(x.binormals[0]).multiplyScalar(M.y),F.copy(r[0]).add(v).add(E),f(F.x,F.y,F.z)):f(M.x,M.y,0);for(J=1;J<=t;J++)for(Q=0;Q<V;Q++)M=p?c(n[Q],ca[Q],P):n[Q],D?(v.copy(x.normals[J]).multiplyScalar(M.x),E.copy(x.binormals[J]).multiplyScalar(M.y),F.copy(r[J]).add(v).add(E),f(F.x,F.y,F.z)):f(M.x,M.y,h/t*J);for(O=k-1;0<=O;O--){J=O/k;N=m*Math.cos(J*Math.PI/2);P=l*Math.sin(J*Math.PI/2);Q=0;for(J=S.length;Q<J;Q++)M=c(S[Q],y[Q],P),f(M.x,M.y,h+N);z=0;for(A=K.length;z<A;z++)for(H=K[z],aa=ba[z],Q=0,J=H.length;Q<
|
|
|
-J;Q++)M=c(H[Q],aa[Q],P),D?f(M.x,M.y+r[t-1].y,r[t-1].x+N):f(M.x,M.y,h+N)}(function(){if(p){var a=0*V;for(Q=0;Q<X;Q++)W=T[Q],g(W[2]+a,W[1]+a,W[0]+a);a=V*(t+2*k);for(Q=0;Q<X;Q++)W=T[Q],g(W[0]+a,W[1]+a,W[2]+a)}else{for(Q=0;Q<X;Q++)W=T[Q],g(W[2],W[1],W[0]);for(Q=0;Q<X;Q++)W=T[Q],g(W[0]+V*t,W[1]+V*t,W[2]+V*t)}})();(function(){var a=0;e(S,a);a+=S.length;z=0;for(A=K.length;z<A;z++)H=K[z],e(H,a),a+=H.length})()};ya.WorldUVGenerator={generateTopUV:function(a,b,c,d){a=a.vertices;b=a[b];c=a[c];d=a[d];return[new C(b.x,
|
|
|
-b.y),new C(c.x,c.y),new C(d.x,d.y)]},generateSideWallUV:function(a,b,c,d,e){a=a.vertices;b=a[b];c=a[c];d=a[d];e=a[e];return.01>Math.abs(b.y-c.y)?[new C(b.x,1-b.z),new C(c.x,1-c.z),new C(d.x,1-d.z),new C(e.x,1-e.z)]:[new C(b.y,1-b.z),new C(c.y,1-c.z),new C(d.y,1-d.z),new C(e.y,1-e.z)]}};Pc.prototype=Object.create(ya.prototype);Pc.prototype.constructor=Pc;Qc.prototype=Object.create(K.prototype);Qc.prototype.constructor=Qc;nb.prototype=Object.create(G.prototype);nb.prototype.constructor=nb;Rc.prototype=
|
|
|
-Object.create(K.prototype);Rc.prototype.constructor=Rc;Vb.prototype=Object.create(G.prototype);Vb.prototype.constructor=Vb;Sc.prototype=Object.create(K.prototype);Sc.prototype.constructor=Sc;Wb.prototype=Object.create(G.prototype);Wb.prototype.constructor=Wb;Xb.prototype=Object.create(K.prototype);Xb.prototype.constructor=Xb;Yb.prototype=Object.create(G.prototype);Yb.prototype.constructor=Yb;Zb.prototype=Object.create(G.prototype);Zb.prototype.constructor=Zb;ob.prototype=Object.create(K.prototype);
|
|
|
-ob.prototype.constructor=ob;Wa.prototype=Object.create(G.prototype);Wa.prototype.constructor=Wa;Tc.prototype=Object.create(ob.prototype);Tc.prototype.constructor=Tc;Uc.prototype=Object.create(Wa.prototype);Uc.prototype.constructor=Uc;Vc.prototype=Object.create(K.prototype);Vc.prototype.constructor=Vc;$b.prototype=Object.create(G.prototype);$b.prototype.constructor=$b;var Oa=Object.freeze({WireframeGeometry:Nb,ParametricGeometry:Gc,ParametricBufferGeometry:Ob,TetrahedronGeometry:Ic,TetrahedronBufferGeometry:Pb,
|
|
|
-OctahedronGeometry:Jc,OctahedronBufferGeometry:mb,IcosahedronGeometry:Kc,IcosahedronBufferGeometry:Qb,DodecahedronGeometry:Lc,DodecahedronBufferGeometry:Rb,PolyhedronGeometry:Hc,PolyhedronBufferGeometry:va,TubeGeometry:Mc,TubeBufferGeometry:Sb,TorusKnotGeometry:Nc,TorusKnotBufferGeometry:Tb,TorusGeometry:Oc,TorusBufferGeometry:Ub,TextGeometry:Pc,SphereGeometry:Qc,SphereBufferGeometry:nb,RingGeometry:Rc,RingBufferGeometry:Vb,PlaneGeometry:yc,PlaneBufferGeometry:jb,LatheGeometry:Sc,LatheBufferGeometry:Wb,
|
|
|
-ShapeGeometry:Xb,ShapeBufferGeometry:Yb,ExtrudeGeometry:ya,EdgesGeometry:Zb,ConeGeometry:Tc,ConeBufferGeometry:Uc,CylinderGeometry:ob,CylinderBufferGeometry:Wa,CircleGeometry:Vc,CircleBufferGeometry:$b,BoxGeometry:Hb,BoxBufferGeometry:ib});ac.prototype=Object.create(Fa.prototype);ac.prototype.constructor=ac;ac.prototype.isShadowMaterial=!0;bc.prototype=Object.create(Fa.prototype);bc.prototype.constructor=bc;bc.prototype.isRawShaderMaterial=!0;Qa.prototype=Object.create(X.prototype);Qa.prototype.constructor=
|
|
|
-Qa;Qa.prototype.isMeshStandardMaterial=!0;Qa.prototype.copy=function(a){X.prototype.copy.call(this,a);this.defines={STANDARD:""};this.color.copy(a.color);this.roughness=a.roughness;this.metalness=a.metalness;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;
|
|
|
-this.normalMap=a.normalMap;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.roughnessMap=a.roughnessMap;this.metalnessMap=a.metalnessMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.envMapIntensity=a.envMapIntensity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=
|
|
|
-a.wireframeLinejoin;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};pb.prototype=Object.create(Qa.prototype);pb.prototype.constructor=pb;pb.prototype.isMeshPhysicalMaterial=!0;pb.prototype.copy=function(a){Qa.prototype.copy.call(this,a);this.defines={PHYSICAL:""};this.reflectivity=a.reflectivity;this.clearCoat=a.clearCoat;this.clearCoatRoughness=a.clearCoatRoughness;return this};pa.prototype=Object.create(X.prototype);pa.prototype.constructor=pa;pa.prototype.isMeshPhongMaterial=
|
|
|
-!0;pa.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.specular.copy(a.specular);this.shininess=a.shininess;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalScale.copy(a.normalScale);
|
|
|
-this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.morphTargets=a.morphTargets;this.morphNormals=
|
|
|
-a.morphNormals;return this};qb.prototype=Object.create(pa.prototype);qb.prototype.constructor=qb;qb.prototype.isMeshToonMaterial=!0;qb.prototype.copy=function(a){pa.prototype.copy.call(this,a);this.gradientMap=a.gradientMap;return this};rb.prototype=Object.create(X.prototype);rb.prototype.constructor=rb;rb.prototype.isMeshNormalMaterial=!0;rb.prototype.copy=function(a){X.prototype.copy.call(this,a);this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalScale.copy(a.normalScale);
|
|
|
-this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};sb.prototype=Object.create(X.prototype);sb.prototype.constructor=sb;sb.prototype.isMeshLambertMaterial=!0;sb.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;
|
|
|
-this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=
|
|
|
-a.wireframeLinejoin;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};tb.prototype=Object.create(X.prototype);tb.prototype.constructor=tb;tb.prototype.isLineDashedMaterial=!0;tb.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.linewidth=a.linewidth;this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize;return this};var Yf=Object.freeze({ShadowMaterial:ac,SpriteMaterial:lb,RawShaderMaterial:bc,ShaderMaterial:Fa,PointsMaterial:Ga,
|
|
|
-MeshPhysicalMaterial:pb,MeshStandardMaterial:Qa,MeshPhongMaterial:pa,MeshToonMaterial:qb,MeshNormalMaterial:rb,MeshLambertMaterial:sb,MeshDepthMaterial:ab,MeshBasicMaterial:Ia,LineDashedMaterial:tb,LineBasicMaterial:ia,Material:X}),id={enabled:!1,files:{},add:function(a,b){!1!==this.enabled&&(this.files[a]=b)},get:function(a){if(!1!==this.enabled)return this.files[a]},remove:function(a){delete this.files[a]},clear:function(){this.files={}}},na=new Xd;Object.assign(qa.prototype,{load:function(a,b,
|
|
|
-c,d){void 0===a&&(a="");void 0!==this.path&&(a=this.path+a);var e=this,f=id.get(a);if(void 0!==f)return e.manager.itemStart(a),setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;var g=a.match(/^data:(.*?)(;base64)?,(.*)$/);if(g){var h=g[1],m=!!g[2],g=g[3],g=window.decodeURIComponent(g);m&&(g=window.atob(g));try{var l,k=(this.responseType||"").toLowerCase();switch(k){case "arraybuffer":case "blob":l=new ArrayBuffer(g.length);for(var p=new Uint8Array(l),m=0;m<g.length;m++)p[m]=g.charCodeAt(m);
|
|
|
-"blob"===k&&(l=new Blob([l],{type:h}));break;case "document":l=(new DOMParser).parseFromString(g,h);break;case "json":l=JSON.parse(g);break;default:l=g}window.setTimeout(function(){b&&b(l);e.manager.itemEnd(a)},0)}catch(q){window.setTimeout(function(){d&&d(q);e.manager.itemError(a)},0)}}else{var n=new XMLHttpRequest;n.open("GET",a,!0);n.addEventListener("load",function(c){var f=c.target.response;id.add(a,f);200===this.status?(b&&b(f),e.manager.itemEnd(a)):0===this.status?(console.warn("THREE.FileLoader: HTTP Status 0 received."),
|
|
|
-b&&b(f),e.manager.itemEnd(a)):(d&&d(c),e.manager.itemError(a))},!1);void 0!==c&&n.addEventListener("progress",function(a){c(a)},!1);n.addEventListener("error",function(b){d&&d(b);e.manager.itemError(a)},!1);void 0!==this.responseType&&(n.responseType=this.responseType);void 0!==this.withCredentials&&(n.withCredentials=this.withCredentials);n.overrideMimeType&&n.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain");for(h in this.requestHeader)n.setRequestHeader(h,this.requestHeader[h]);
|
|
|
-n.send(null)}e.manager.itemStart(a);return n},setPath:function(a){this.path=a;return this},setResponseType:function(a){this.responseType=a;return this},setWithCredentials:function(a){this.withCredentials=a;return this},setMimeType:function(a){this.mimeType=a;return this},setRequestHeader:function(a){this.requestHeader=a;return this}});Object.assign(Ke.prototype,{load:function(a,b,c,d){function e(e){m.load(a[e],function(a){a=f._parser(a,!0);g[e]={width:a.width,height:a.height,format:a.format,mipmaps:a.mipmaps};
|
|
|
-l+=1;6===l&&(1===a.mipmapCount&&(h.minFilter=1006),h.format=a.format,h.needsUpdate=!0,b&&b(h))},c,d)}var f=this,g=[],h=new Mb;h.image=g;var m=new qa(this.manager);m.setPath(this.path);m.setResponseType("arraybuffer");if(Array.isArray(a))for(var l=0,k=0,p=a.length;k<p;++k)e(k);else m.load(a,function(a){a=f._parser(a,!0);if(a.isCubemap)for(var c=a.mipmaps.length/a.mipmapCount,d=0;d<c;d++){g[d]={mipmaps:[]};for(var e=0;e<a.mipmapCount;e++)g[d].mipmaps.push(a.mipmaps[d*a.mipmapCount+e]),g[d].format=a.format,
|
|
|
-g[d].width=a.width,g[d].height=a.height}else h.image.width=a.width,h.image.height=a.height,h.mipmaps=a.mipmaps;1===a.mipmapCount&&(h.minFilter=1006);h.format=a.format;h.needsUpdate=!0;b&&b(h)},c,d);return h},setPath:function(a){this.path=a;return this}});Object.assign(Yd.prototype,{load:function(a,b,c,d){var e=this,f=new db,g=new qa(this.manager);g.setResponseType("arraybuffer");g.load(a,function(a){if(a=e._parser(a))void 0!==a.image?f.image=a.image:void 0!==a.data&&(f.image.width=a.width,f.image.height=
|
|
|
-a.height,f.image.data=a.data),f.wrapS=void 0!==a.wrapS?a.wrapS:1001,f.wrapT=void 0!==a.wrapT?a.wrapT:1001,f.magFilter=void 0!==a.magFilter?a.magFilter:1006,f.minFilter=void 0!==a.minFilter?a.minFilter:1008,f.anisotropy=void 0!==a.anisotropy?a.anisotropy:1,void 0!==a.format&&(f.format=a.format),void 0!==a.type&&(f.type=a.type),void 0!==a.mipmaps&&(f.mipmaps=a.mipmaps),1===a.mipmapCount&&(f.minFilter=1006),f.needsUpdate=!0,b&&b(f,a)},c,d);return f}});Object.assign(Wc.prototype,{load:function(a,b,c,
|
|
|
-d){void 0===a&&(a="");void 0!==this.path&&(a=this.path+a);var e=this,f=id.get(a);if(void 0!==f)return e.manager.itemStart(a),setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;c=document.createElementNS("http://www.w3.org/1999/xhtml","img");c.addEventListener("load",function(){id.add(a,this);b&&b(this);e.manager.itemEnd(a)},!1);c.addEventListener("error",function(b){d&&d(b);e.manager.itemError(a)},!1);"data:"!==a.substr(0,5)&&void 0!==this.crossOrigin&&(c.crossOrigin=this.crossOrigin);e.manager.itemStart(a);
|
|
|
-c.src=a;return c},setCrossOrigin:function(a){this.crossOrigin=a;return this},setPath:function(a){this.path=a;return this}});Object.assign(Zd.prototype,{load:function(a,b,c,d){function e(c){g.load(a[c],function(a){f.images[c]=a;h++;6===h&&(f.needsUpdate=!0,b&&b(f))},void 0,d)}var f=new Za,g=new Wc(this.manager);g.setCrossOrigin(this.crossOrigin);g.setPath(this.path);var h=0;for(c=0;c<a.length;++c)e(c);return f},setCrossOrigin:function(a){this.crossOrigin=a;return this},setPath:function(a){this.path=
|
|
|
-a;return this}});Object.assign(rd.prototype,{load:function(a,b,c,d){var e=new aa,f=new Wc(this.manager);f.setCrossOrigin(this.crossOrigin);f.setPath(this.path);f.load(a,function(c){var d=0<a.search(/\.(jpg|jpeg)$/)||0===a.search(/^data\:image\/jpeg/);e.format=d?1022:1023;e.image=c;e.needsUpdate=!0;void 0!==b&&b(e)},c,d);return e},setCrossOrigin:function(a){this.crossOrigin=a;return this},setPath:function(a){this.path=a;return this}});ga.prototype=Object.assign(Object.create(E.prototype),{constructor:ga,
|
|
|
-isLight:!0,copy:function(a){E.prototype.copy.call(this,a);this.color.copy(a.color);this.intensity=a.intensity;return this},toJSON:function(a){a=E.prototype.toJSON.call(this,a);a.object.color=this.color.getHex();a.object.intensity=this.intensity;void 0!==this.groundColor&&(a.object.groundColor=this.groundColor.getHex());void 0!==this.distance&&(a.object.distance=this.distance);void 0!==this.angle&&(a.object.angle=this.angle);void 0!==this.decay&&(a.object.decay=this.decay);void 0!==this.penumbra&&
|
|
|
-(a.object.penumbra=this.penumbra);void 0!==this.shadow&&(a.object.shadow=this.shadow.toJSON());return a}});sd.prototype=Object.assign(Object.create(ga.prototype),{constructor:sd,isHemisphereLight:!0,copy:function(a){ga.prototype.copy.call(this,a);this.groundColor.copy(a.groundColor);return this}});Object.assign(ub.prototype,{copy:function(a){this.camera=a.camera.clone();this.bias=a.bias;this.radius=a.radius;this.mapSize.copy(a.mapSize);return this},clone:function(){return(new this.constructor).copy(this)},
|
|
|
-toJSON:function(){var a={};0!==this.bias&&(a.bias=this.bias);1!==this.radius&&(a.radius=this.radius);if(512!==this.mapSize.x||512!==this.mapSize.y)a.mapSize=this.mapSize.toArray();a.camera=this.camera.toJSON(!1).object;delete a.camera.matrix;return a}});td.prototype=Object.assign(Object.create(ub.prototype),{constructor:td,isSpotLightShadow:!0,update:function(a){var b=2*T.RAD2DEG*a.angle,c=this.mapSize.width/this.mapSize.height;a=a.distance||500;var d=this.camera;if(b!==d.fov||c!==d.aspect||a!==d.far)d.fov=
|
|
|
-b,d.aspect=c,d.far=a,d.updateProjectionMatrix()}});ud.prototype=Object.assign(Object.create(ga.prototype),{constructor:ud,isSpotLight:!0,copy:function(a){ga.prototype.copy.call(this,a);this.distance=a.distance;this.angle=a.angle;this.penumbra=a.penumbra;this.decay=a.decay;this.target=a.target.clone();this.shadow=a.shadow.clone();return this}});vd.prototype=Object.assign(Object.create(ga.prototype),{constructor:vd,isPointLight:!0,copy:function(a){ga.prototype.copy.call(this,a);this.distance=a.distance;
|
|
|
-this.decay=a.decay;this.shadow=a.shadow.clone();return this}});wd.prototype=Object.assign(Object.create(ub.prototype),{constructor:wd});xd.prototype=Object.assign(Object.create(ga.prototype),{constructor:xd,isDirectionalLight:!0,copy:function(a){ga.prototype.copy.call(this,a);this.target=a.target.clone();this.shadow=a.shadow.clone();return this}});yd.prototype=Object.assign(Object.create(ga.prototype),{constructor:yd,isAmbientLight:!0});var ra={arraySlice:function(a,b,c){return ra.isTypedArray(a)?
|
|
|
-new a.constructor(a.subarray(b,c)):a.slice(b,c)},convertArray:function(a,b,c){return!a||!c&&a.constructor===b?a:"number"===typeof b.BYTES_PER_ELEMENT?new b(a):Array.prototype.slice.call(a)},isTypedArray:function(a){return ArrayBuffer.isView(a)&&!(a instanceof DataView)},getKeyframeOrder:function(a){for(var b=a.length,c=Array(b),d=0;d!==b;++d)c[d]=d;c.sort(function(b,c){return a[b]-a[c]});return c},sortedArray:function(a,b,c){for(var d=a.length,e=new a.constructor(d),f=0,g=0;g!==d;++f)for(var h=c[f]*
|
|
|
-b,m=0;m!==b;++m)e[g++]=a[h+m];return e},flattenJSON:function(a,b,c,d){for(var e=1,f=a[0];void 0!==f&&void 0===f[d];)f=a[e++];if(void 0!==f){var g=f[d];if(void 0!==g)if(Array.isArray(g)){do g=f[d],void 0!==g&&(b.push(f.time),c.push.apply(c,g)),f=a[e++];while(void 0!==f)}else if(void 0!==g.toArray){do g=f[d],void 0!==g&&(b.push(f.time),g.toArray(c,c.length)),f=a[e++];while(void 0!==f)}else{do g=f[d],void 0!==g&&(b.push(f.time),c.push(g)),f=a[e++];while(void 0!==f)}}}};Object.assign(ja.prototype,{evaluate:function(a){var b=
|
|
|
-this.parameterPositions,c=this._cachedIndex,d=b[c],e=b[c-1];a:{b:{c:{d:if(!(a<d)){for(var f=c+2;;){if(void 0===d){if(a<e)break d;this._cachedIndex=c=b.length;return this.afterEnd_(c-1,a,e)}if(c===f)break;e=d;d=b[++c];if(a<d)break b}d=b.length;break c}if(a>=e)break a;else{f=b[1];a<f&&(c=2,e=f);for(f=c-2;;){if(void 0===e)return this._cachedIndex=0,this.beforeStart_(0,a,d);if(c===f)break;d=e;e=b[--c-1];if(a>=e)break b}d=c;c=0}}for(;c<d;)e=c+d>>>1,a<b[e]?d=e:c=e+1;d=b[c];e=b[c-1];if(void 0===e)return this._cachedIndex=
|
|
|
-0,this.beforeStart_(0,a,d);if(void 0===d)return this._cachedIndex=c=b.length,this.afterEnd_(c-1,e,a)}this._cachedIndex=c;this.intervalChanged_(c,e,d)}return this.interpolate_(c,e,a,d)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(a){var b=this.resultBuffer,c=this.sampleValues,d=this.valueSize;a*=d;for(var e=0;e!==d;++e)b[e]=c[a+e];return b},interpolate_:function(a,b,c,d){throw Error("call to abstract method");},intervalChanged_:function(a,
|
|
|
-b,c){}});Object.assign(ja.prototype,{beforeStart_:ja.prototype.copySampleValue_,afterEnd_:ja.prototype.copySampleValue_});zd.prototype=Object.assign(Object.create(ja.prototype),{constructor:zd,DefaultSettings_:{endingStart:2400,endingEnd:2400},intervalChanged_:function(a,b,c){var d=this.parameterPositions,e=a-2,f=a+1,g=d[e],h=d[f];if(void 0===g)switch(this.getSettings_().endingStart){case 2401:e=a;g=2*b-c;break;case 2402:e=d.length-2;g=b+d[e]-d[e+1];break;default:e=a,g=c}if(void 0===h)switch(this.getSettings_().endingEnd){case 2401:f=
|
|
|
-a;h=2*c-b;break;case 2402:f=1;h=c+d[1]-d[0];break;default:f=a-1,h=b}a=.5*(c-b);d=this.valueSize;this._weightPrev=a/(b-g);this._weightNext=a/(h-c);this._offsetPrev=e*d;this._offsetNext=f*d},interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;var h=a-g,m=this._offsetPrev,l=this._offsetNext,k=this._weightPrev,p=this._weightNext,n=(c-b)/(d-b);c=n*n;d=c*n;b=-k*d+2*k*c-k*n;k=(1+k)*d+(-1.5-2*k)*c+(-.5+k)*n+1;n=(-1-p)*d+(1.5+p)*c+.5*n;p=p*d-p*c;for(c=0;c!==g;++c)e[c]=
|
|
|
-b*f[m+c]+k*f[h+c]+n*f[a+c]+p*f[l+c];return e}});Xc.prototype=Object.assign(Object.create(ja.prototype),{constructor:Xc,interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;var h=a-g;b=(c-b)/(d-b);c=1-b;for(d=0;d!==g;++d)e[d]=f[h+d]*c+f[a+d]*b;return e}});Ad.prototype=Object.assign(Object.create(ja.prototype),{constructor:Ad,interpolate_:function(a,b,c,d){return this.copySampleValue_(a-1)}});var Ya;Ya={TimeBufferType:Float32Array,ValueBufferType:Float32Array,
|
|
|
-DefaultInterpolation:2301,InterpolantFactoryMethodDiscrete:function(a){return new Ad(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodLinear:function(a){return new Xc(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodSmooth:function(a){return new zd(this.times,this.values,this.getValueSize(),a)},setInterpolation:function(a){var b;switch(a){case 2300:b=this.InterpolantFactoryMethodDiscrete;break;case 2301:b=this.InterpolantFactoryMethodLinear;break;case 2302:b=
|
|
|
-this.InterpolantFactoryMethodSmooth}if(void 0===b){b="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant)if(a!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw Error(b);console.warn(b)}else this.createInterpolant=b},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return 2300;case this.InterpolantFactoryMethodLinear:return 2301;case this.InterpolantFactoryMethodSmooth:return 2302}},
|
|
|
-getValueSize:function(){return this.values.length/this.times.length},shift:function(a){if(0!==a)for(var b=this.times,c=0,d=b.length;c!==d;++c)b[c]+=a;return this},scale:function(a){if(1!==a)for(var b=this.times,c=0,d=b.length;c!==d;++c)b[c]*=a;return this},trim:function(a,b){for(var c=this.times,d=c.length,e=0,f=d-1;e!==d&&c[e]<a;)++e;for(;-1!==f&&c[f]>b;)--f;++f;if(0!==e||f!==d)e>=f&&(f=Math.max(f,1),e=f-1),d=this.getValueSize(),this.times=ra.arraySlice(c,e,f),this.values=ra.arraySlice(this.values,
|
|
|
-e*d,f*d);return this},validate:function(){var a=!0,b=this.getValueSize();0!==b-Math.floor(b)&&(console.error("invalid value size in track",this),a=!1);var c=this.times,b=this.values,d=c.length;0===d&&(console.error("track is empty",this),a=!1);for(var e=null,f=0;f!==d;f++){var g=c[f];if("number"===typeof g&&isNaN(g)){console.error("time is not a valid number",this,f,g);a=!1;break}if(null!==e&&e>g){console.error("out of order keys",this,f,g,e);a=!1;break}e=g}if(void 0!==b&&ra.isTypedArray(b))for(f=
|
|
|
-0,c=b.length;f!==c;++f)if(d=b[f],isNaN(d)){console.error("value is not a valid number",this,f,d);a=!1;break}return a},optimize:function(){for(var a=this.times,b=this.values,c=this.getValueSize(),d=2302===this.getInterpolation(),e=1,f=a.length-1,g=1;g<f;++g){var h=!1,m=a[g];if(m!==a[g+1]&&(1!==g||m!==m[0]))if(d)h=!0;else for(var l=g*c,k=l-c,p=l+c,m=0;m!==c;++m){var n=b[l+m];if(n!==b[k+m]||n!==b[p+m]){h=!0;break}}if(h){if(g!==e)for(a[e]=a[g],h=g*c,l=e*c,m=0;m!==c;++m)b[l+m]=b[h+m];++e}}if(0<f){a[e]=
|
|
|
-a[f];h=f*c;l=e*c;for(m=0;m!==c;++m)b[l+m]=b[h+m];++e}e!==a.length&&(this.times=ra.arraySlice(a,0,e),this.values=ra.arraySlice(b,0,e*c));return this}};cc.prototype=Object.assign(Object.create(Ya),{constructor:cc,ValueTypeName:"vector"});Bd.prototype=Object.assign(Object.create(ja.prototype),{constructor:Bd,interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;b=(c-b)/(d-b);for(c=a+g;a!==c;a+=4)la.slerpFlat(e,0,f,a-g,f,a,b);return e}});Yc.prototype=Object.assign(Object.create(Ya),
|
|
|
-{constructor:Yc,ValueTypeName:"quaternion",DefaultInterpolation:2301,InterpolantFactoryMethodLinear:function(a){return new Bd(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodSmooth:void 0});dc.prototype=Object.assign(Object.create(Ya),{constructor:dc,ValueTypeName:"number"});Cd.prototype=Object.assign(Object.create(Ya),{constructor:Cd,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});
|
|
|
-Dd.prototype=Object.assign(Object.create(Ya),{constructor:Dd,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});Ed.prototype=Object.assign(Object.create(Ya),{constructor:Ed,ValueTypeName:"color"});wb.prototype=Ya;Ya.constructor=wb;Object.assign(wb,{parse:function(a){if(void 0===a.type)throw Error("track type undefined, can not parse");var b=wb._getTrackTypeForValueTypeName(a.type);if(void 0===a.times){var c=
|
|
|
-[],d=[];ra.flattenJSON(a.keys,c,d,"value");a.times=c;a.values=d}return void 0!==b.parse?b.parse(a):new b(a.name,a.times,a.values,a.interpolation)},toJSON:function(a){var b=a.constructor;if(void 0!==b.toJSON)b=b.toJSON(a);else{var b={name:a.name,times:ra.convertArray(a.times,Array),values:ra.convertArray(a.values,Array)},c=a.getInterpolation();c!==a.DefaultInterpolation&&(b.interpolation=c)}b.type=a.ValueTypeName;return b},_getTrackTypeForValueTypeName:function(a){switch(a.toLowerCase()){case "scalar":case "double":case "float":case "number":case "integer":return dc;
|
|
|
+e*c.distance,c.wantedRotation=c.x*Math.PI*.25,c.rotation+=.25*(c.wantedRotation-c.rotation)}});lb.prototype=Object.create(X.prototype);lb.prototype.constructor=lb;lb.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.rotation=a.rotation;return this};Bc.prototype=Object.assign(Object.create(E.prototype),{constructor:Bc,isSprite:!0,raycast:function(){var a=new q,b=new q,c=new q;return function(d,e){b.setFromMatrixPosition(this.matrixWorld);d.ray.closestPointToPoint(b,
|
|
|
+a);c.setFromMatrixScale(this.matrixWorld);var f=c.x*c.y/4;b.distanceToSquared(a)>f||(f=d.ray.origin.distanceTo(a),f<d.near||f>d.far||e.push({distance:f,point:a.clone(),face:null,object:this}))}}(),clone:function(){return(new this.constructor(this.material)).copy(this)}});Cc.prototype=Object.assign(Object.create(E.prototype),{constructor:Cc,copy:function(a){E.prototype.copy.call(this,a,!1);a=a.levels;for(var b=0,c=a.length;b<c;b++){var d=a[b];this.addLevel(d.object.clone(),d.distance)}return this},
|
|
|
+addLevel:function(a,b){void 0===b&&(b=0);b=Math.abs(b);for(var c=this.levels,d=0;d<c.length&&!(b<c[d].distance);d++);c.splice(d,0,{distance:b,object:a});this.add(a)},getObjectForDistance:function(a){for(var b=this.levels,c=1,d=b.length;c<d&&!(a<b[c].distance);c++);return b[c-1].object},raycast:function(){var a=new q;return function(b,c){a.setFromMatrixPosition(this.matrixWorld);var d=b.ray.origin.distanceTo(a);this.getObjectForDistance(d).raycast(b,c)}}(),update:function(){var a=new q,b=new q;return function(c){var d=
|
|
|
+this.levels;if(1<d.length){a.setFromMatrixPosition(c.matrixWorld);b.setFromMatrixPosition(this.matrixWorld);c=a.distanceTo(b);d[0].object.visible=!0;for(var e=1,f=d.length;e<f;e++)if(c>=d[e].distance)d[e-1].object.visible=!1,d[e].object.visible=!0;else break;for(;e<f;e++)d[e].object.visible=!1}}}(),toJSON:function(a){a=E.prototype.toJSON.call(this,a);a.object.levels=[];for(var b=this.levels,c=0,d=b.length;c<d;c++){var e=b[c];a.object.levels.push({object:e.object.uuid,distance:e.distance})}return a}});
|
|
|
+Object.assign(Dc.prototype,{calculateInverses:function(){this.boneInverses=[];for(var a=0,b=this.bones.length;a<b;a++){var c=new S;this.bones[a]&&c.getInverse(this.bones[a].matrixWorld);this.boneInverses.push(c)}},pose:function(){for(var a,b=0,c=this.bones.length;b<c;b++)(a=this.bones[b])&&a.matrixWorld.getInverse(this.boneInverses[b]);b=0;for(c=this.bones.length;b<c;b++)if(a=this.bones[b])a.parent&&a.parent.isBone?(a.matrix.getInverse(a.parent.matrixWorld),a.matrix.multiply(a.matrixWorld)):a.matrix.copy(a.matrixWorld),
|
|
|
+a.matrix.decompose(a.position,a.quaternion,a.scale)},update:function(){var a=new S;return function(){for(var b=this.bones,c=this.boneInverses,d=this.boneMatrices,e=this.boneTexture,f=0,g=b.length;f<g;f++)a.multiplyMatrices(b[f]?b[f].matrixWorld:this.identityMatrix,c[f]),a.toArray(d,16*f);void 0!==e&&(e.needsUpdate=!0)}}(),clone:function(){return new Dc(this.bones,this.boneInverses)}});md.prototype=Object.assign(Object.create(E.prototype),{constructor:md,isBone:!0});nd.prototype=Object.assign(Object.create(xa.prototype),
|
|
|
+{constructor:nd,isSkinnedMesh:!0,bind:function(a,b){this.skeleton=a;void 0===b&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),b=this.matrixWorld);this.bindMatrix.copy(b);this.bindMatrixInverse.getInverse(b)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){if(this.geometry&&this.geometry.isGeometry)for(var a=0;a<this.geometry.skinWeights.length;a++){var b=this.geometry.skinWeights[a],c=1/b.lengthManhattan();Infinity!==c?b.multiplyScalar(c):b.set(1,0,0,0)}else if(this.geometry&&
|
|
|
+this.geometry.isBufferGeometry)for(var b=new fa,d=this.geometry.attributes.skinWeight,a=0;a<d.count;a++)b.x=d.getX(a),b.y=d.getY(a),b.z=d.getZ(a),b.w=d.getW(a),c=1/b.lengthManhattan(),Infinity!==c?b.multiplyScalar(c):b.set(1,0,0,0),d.setXYZW(a,b.x,b.y,b.z,b.w)},updateMatrixWorld:function(){xa.prototype.updateMatrixWorld.call(this,!0);"attached"===this.bindMode?this.bindMatrixInverse.getInverse(this.matrixWorld):"detached"===this.bindMode?this.bindMatrixInverse.getInverse(this.bindMatrix):console.warn("THREE.SkinnedMesh unrecognized bindMode: "+
|
|
|
+this.bindMode)},clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});ia.prototype=Object.create(X.prototype);ia.prototype.constructor=ia;ia.prototype.isLineBasicMaterial=!0;ia.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.linewidth=a.linewidth;this.linecap=a.linecap;this.linejoin=a.linejoin;return this};Na.prototype=Object.assign(Object.create(E.prototype),{constructor:Na,isLine:!0,raycast:function(){var a=new S,b=new fb,
|
|
|
+c=new Pa;return function(d,e){var f=d.linePrecision,f=f*f,g=this.geometry,h=this.matrixWorld;null===g.boundingSphere&&g.computeBoundingSphere();c.copy(g.boundingSphere);c.applyMatrix4(h);if(!1!==d.ray.intersectsSphere(c)){a.getInverse(h);b.copy(d.ray).applyMatrix4(a);var m=new q,l=new q,h=new q,k=new q,p=this&&this.isLineSegments?2:1;if(g.isBufferGeometry){var n=g.index,t=g.attributes.position.array;if(null!==n)for(var n=n.array,g=0,A=n.length-1;g<A;g+=p){var r=n[g+1];m.fromArray(t,3*n[g]);l.fromArray(t,
|
|
|
+3*r);r=b.distanceSqToSegment(m,l,k,h);r>f||(k.applyMatrix4(this.matrixWorld),r=d.ray.origin.distanceTo(k),r<d.near||r>d.far||e.push({distance:r,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else for(g=0,A=t.length/3-1;g<A;g+=p)m.fromArray(t,3*g),l.fromArray(t,3*g+3),r=b.distanceSqToSegment(m,l,k,h),r>f||(k.applyMatrix4(this.matrixWorld),r=d.ray.origin.distanceTo(k),r<d.near||r>d.far||e.push({distance:r,point:h.clone().applyMatrix4(this.matrixWorld),
|
|
|
+index:g,face:null,faceIndex:null,object:this}))}else if(g.isGeometry)for(m=g.vertices,l=m.length,g=0;g<l-1;g+=p)r=b.distanceSqToSegment(m[g],m[g+1],k,h),r>f||(k.applyMatrix4(this.matrixWorld),r=d.ray.origin.distanceTo(k),r<d.near||r>d.far||e.push({distance:r,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});ea.prototype=Object.assign(Object.create(Na.prototype),
|
|
|
+{constructor:ea,isLineSegments:!0});od.prototype=Object.assign(Object.create(Na.prototype),{constructor:od,isLineLoop:!0});Ga.prototype=Object.create(X.prototype);Ga.prototype.constructor=Ga;Ga.prototype.isPointsMaterial=!0;Ga.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.size=a.size;this.sizeAttenuation=a.sizeAttenuation;return this};Lb.prototype=Object.assign(Object.create(E.prototype),{constructor:Lb,isPoints:!0,raycast:function(){var a=new S,
|
|
|
+b=new fb,c=new Pa;return function(d,e){function f(a,c){var f=b.distanceSqToPoint(a);if(f<k){var h=b.closestPointToPoint(a);h.applyMatrix4(m);var l=d.ray.origin.distanceTo(h);l<d.near||l>d.far||e.push({distance:l,distanceToRay:Math.sqrt(f),point:h.clone(),index:c,face:null,object:g})}}var g=this,h=this.geometry,m=this.matrixWorld,l=d.params.Points.threshold;null===h.boundingSphere&&h.computeBoundingSphere();c.copy(h.boundingSphere);c.applyMatrix4(m);if(!1!==d.ray.intersectsSphere(c)){a.getInverse(m);
|
|
|
+b.copy(d.ray).applyMatrix4(a);var l=l/((this.scale.x+this.scale.y+this.scale.z)/3),k=l*l,l=new q;if(h.isBufferGeometry){var p=h.index,h=h.attributes.position.array;if(null!==p)for(var n=p.array,p=0,t=n.length;p<t;p++){var A=n[p];l.fromArray(h,3*A);f(l,A)}else for(p=0,n=h.length/3;p<n;p++)l.fromArray(h,3*p),f(l,p)}else for(l=h.vertices,p=0,n=l.length;p<n;p++)f(l[p],p)}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});Ec.prototype=Object.assign(Object.create(E.prototype),
|
|
|
+{constructor:Ec});pd.prototype=Object.create(aa.prototype);pd.prototype.constructor=pd;Mb.prototype=Object.create(aa.prototype);Mb.prototype.constructor=Mb;Mb.prototype.isCompressedTexture=!0;qd.prototype=Object.create(aa.prototype);qd.prototype.constructor=qd;Fc.prototype=Object.create(aa.prototype);Fc.prototype.constructor=Fc;Fc.prototype.isDepthTexture=!0;Nb.prototype=Object.create(G.prototype);Nb.prototype.constructor=Nb;Gc.prototype=Object.create(K.prototype);Gc.prototype.constructor=Gc;Ob.prototype=
|
|
|
+Object.create(G.prototype);Ob.prototype.constructor=Ob;Hc.prototype=Object.create(K.prototype);Hc.prototype.constructor=Hc;va.prototype=Object.create(G.prototype);va.prototype.constructor=va;Ic.prototype=Object.create(K.prototype);Ic.prototype.constructor=Ic;Pb.prototype=Object.create(va.prototype);Pb.prototype.constructor=Pb;Jc.prototype=Object.create(K.prototype);Jc.prototype.constructor=Jc;mb.prototype=Object.create(va.prototype);mb.prototype.constructor=mb;Kc.prototype=Object.create(K.prototype);
|
|
|
+Kc.prototype.constructor=Kc;Qb.prototype=Object.create(va.prototype);Qb.prototype.constructor=Qb;Lc.prototype=Object.create(K.prototype);Lc.prototype.constructor=Lc;Rb.prototype=Object.create(va.prototype);Rb.prototype.constructor=Rb;Mc.prototype=Object.create(K.prototype);Mc.prototype.constructor=Mc;Sb.prototype=Object.create(G.prototype);Sb.prototype.constructor=Sb;Nc.prototype=Object.create(K.prototype);Nc.prototype.constructor=Nc;Tb.prototype=Object.create(G.prototype);Tb.prototype.constructor=
|
|
|
+Tb;Oc.prototype=Object.create(K.prototype);Oc.prototype.constructor=Oc;Ub.prototype=Object.create(G.prototype);Ub.prototype.constructor=Ub;var za={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;e<b;d=e++)c+=a[d].x*a[e].y-a[e].x*a[d].y;return.5*c},triangulate:function(){return function(a,b){var c=a.length;if(3>c)return null;var d=[],e=[],f=[],g,h,m;if(0<za.area(a))for(h=0;h<c;h++)e[h]=h;else for(h=0;h<c;h++)e[h]=c-1-h;var l=2*c;for(h=c-1;2<c;){if(0>=l--){console.warn("THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()");
|
|
|
+break}g=h;c<=g&&(g=0);h=g+1;c<=h&&(h=0);m=h+1;c<=m&&(m=0);var k;a:{var p,n,t,q,r,z,w,x;p=a[e[g]].x;n=a[e[g]].y;t=a[e[h]].x;q=a[e[h]].y;r=a[e[m]].x;z=a[e[m]].y;if(0>=(t-p)*(z-n)-(q-n)*(r-p))k=!1;else{var L,v,F,H,y,D,E,B,G,I;L=r-t;v=z-q;F=p-r;H=n-z;y=t-p;D=q-n;for(k=0;k<c;k++)if(w=a[e[k]].x,x=a[e[k]].y,!(w===p&&x===n||w===t&&x===q||w===r&&x===z)&&(E=w-p,B=x-n,G=w-t,I=x-q,w-=r,x-=z,G=L*I-v*G,E=y*B-D*E,B=F*x-H*w,G>=-Number.EPSILON&&B>=-Number.EPSILON&&E>=-Number.EPSILON)){k=!1;break a}k=!0}}if(k){d.push([a[e[g]],
|
|
|
+a[e[h]],a[e[m]]]);f.push([e[g],e[h],e[m]]);g=h;for(m=h+1;m<c;g++,m++)e[g]=e[m];c--;l=2*c}}return b?f:d}}(),triangulateShape:function(a,b){function c(a){var b=a.length;2<b&&a[b-1].equals(a[0])&&a.pop()}function d(a,b,c){return a.x!==b.x?a.x<b.x?a.x<=c.x&&c.x<=b.x:b.x<=c.x&&c.x<=a.x:a.y<b.y?a.y<=c.y&&c.y<=b.y:b.y<=c.y&&c.y<=a.y}function e(a,b,c,e,f){var g=b.x-a.x,h=b.y-a.y,m=e.x-c.x,l=e.y-c.y,k=a.x-c.x,n=a.y-c.y,p=h*m-g*l,u=h*k-g*n;if(Math.abs(p)>Number.EPSILON){if(0<p){if(0>u||u>p)return[];m=l*k-m*
|
|
|
+n;if(0>m||m>p)return[]}else{if(0<u||u<p)return[];m=l*k-m*n;if(0<m||m<p)return[]}if(0===m)return!f||0!==u&&u!==p?[a]:[];if(m===p)return!f||0!==u&&u!==p?[b]:[];if(0===u)return[c];if(u===p)return[e];f=m/p;return[{x:a.x+f*g,y:a.y+f*h}]}if(0!==u||l*k!==m*n)return[];h=0===g&&0===h;m=0===m&&0===l;if(h&&m)return a.x!==c.x||a.y!==c.y?[]:[a];if(h)return d(c,e,a)?[a]:[];if(m)return d(a,b,c)?[c]:[];0!==g?(a.x<b.x?(g=a,m=a.x,h=b,a=b.x):(g=b,m=b.x,h=a,a=a.x),c.x<e.x?(b=c,p=c.x,l=e,c=e.x):(b=e,p=e.x,l=c,c=c.x)):
|
|
|
+(a.y<b.y?(g=a,m=a.y,h=b,a=b.y):(g=b,m=b.y,h=a,a=a.y),c.y<e.y?(b=c,p=c.y,l=e,c=e.y):(b=e,p=e.y,l=c,c=c.y));return m<=p?a<p?[]:a===p?f?[]:[b]:a<=c?[b,h]:[b,l]:m>c?[]:m===c?f?[]:[g]:a<=c?[g,h]:[g,l]}function f(a,b,c,d){var e=b.x-a.x,f=b.y-a.y;b=c.x-a.x;c=c.y-a.y;var g=d.x-a.x;d=d.y-a.y;a=e*c-f*b;e=e*d-f*g;return Math.abs(a)>Number.EPSILON?(b=g*c-d*b,0<a?0<=e&&0<=b:0<=e||0<=b):0<e}c(a);b.forEach(c);var g,h,m,l,k,p={};m=a.concat();g=0;for(h=b.length;g<h;g++)Array.prototype.push.apply(m,b[g]);g=0;for(h=
|
|
|
+m.length;g<h;g++)k=m[g].x+":"+m[g].y,void 0!==p[k]&&console.warn("THREE.ShapeUtils: Duplicate point",k,g),p[k]=g;g=function(a,b){function c(a,b){var d=h.length-1,e=a-1;0>e&&(e=d);var g=a+1;g>d&&(g=0);d=f(h[a],h[e],h[g],m[b]);if(!d)return!1;d=m.length-1;e=b-1;0>e&&(e=d);g=b+1;g>d&&(g=0);return(d=f(m[b],m[e],m[g],h[a]))?!0:!1}function d(a,b){var c,f;for(c=0;c<h.length;c++)if(f=c+1,f%=h.length,f=e(a,b,h[c],h[f],!0),0<f.length)return!0;return!1}function g(a,c){var d,f,h,m;for(d=0;d<l.length;d++)for(f=
|
|
|
+b[l[d]],h=0;h<f.length;h++)if(m=h+1,m%=f.length,m=e(a,c,f[h],f[m],!0),0<m.length)return!0;return!1}var h=a.concat(),m,l=[],k,n,p,u,q,D=[],E,B,G,I=0;for(k=b.length;I<k;I++)l.push(I);E=0;for(var P=2*l.length;0<l.length;){P--;if(0>P){console.log("Infinite Loop! Holes left:"+l.length+", Probably Hole outside Shape!");break}for(n=E;n<h.length;n++){p=h[n];k=-1;for(I=0;I<l.length;I++)if(u=l[I],q=p.x+":"+p.y+":"+u,void 0===D[q]){m=b[u];for(B=0;B<m.length;B++)if(u=m[B],c(n,B)&&!d(p,u)&&!g(p,u)){k=B;l.splice(I,
|
|
|
+1);E=h.slice(0,n+1);u=h.slice(n);B=m.slice(k);G=m.slice(0,k+1);h=E.concat(B).concat(G).concat(u);E=n;break}if(0<=k)break;D[q]=!0}if(0<=k)break}}return h}(a,b);var n=za.triangulate(g,!1);g=0;for(h=n.length;g<h;g++)for(l=n[g],m=0;3>m;m++)k=l[m].x+":"+l[m].y,k=p[k],void 0!==k&&(l[m]=k);return n.concat()},isClockWise:function(a){return 0>za.area(a)}};ya.prototype=Object.create(K.prototype);ya.prototype.constructor=ya;ya.prototype.addShapeList=function(a,b){for(var c=a.length,d=0;d<c;d++)this.addShape(a[d],
|
|
|
+b)};ya.prototype.addShape=function(a,b){function c(a,b,c){b||console.error("THREE.ExtrudeGeometry: vec does not exist");return b.clone().multiplyScalar(c).add(a)}function d(a,b,c){var d,e,f;e=a.x-b.x;f=a.y-b.y;d=c.x-a.x;var g=c.y-a.y,h=e*e+f*f;if(Math.abs(e*g-f*d)>Number.EPSILON){var m=Math.sqrt(h),l=Math.sqrt(d*d+g*g),h=b.x-f/m;b=b.y+e/m;g=((c.x-g/l-h)*g-(c.y+d/l-b)*d)/(e*g-f*d);d=h+e*g-a.x;e=b+f*g-a.y;f=d*d+e*e;if(2>=f)return new D(d,e);f=Math.sqrt(f/2)}else a=!1,e>Number.EPSILON?d>Number.EPSILON&&
|
|
|
+(a=!0):e<-Number.EPSILON?d<-Number.EPSILON&&(a=!0):Math.sign(f)===Math.sign(g)&&(a=!0),a?(d=-f,f=Math.sqrt(h)):(d=e,e=f,f=Math.sqrt(h/2));return new D(d/f,e/f)}function e(a,b){var c,d;for(Q=a.length;0<=--Q;){c=Q;d=Q-1;0>d&&(d=a.length-1);var e,f=t+2*k;for(e=0;e<f;e++){var g=V*e,h=V*(e+1),m=b+c+g,g=b+d+g,l=b+d+h,h=b+c+h,m=m+I,g=g+I,l=l+I,h=h+I;G.faces.push(new oa(m,g,h,null,null,1));G.faces.push(new oa(g,l,h,null,null,1));m=w.generateSideWallUV(G,m,g,l,h);G.faceVertexUvs[0].push([m[0],m[1],m[3]]);
|
|
|
+G.faceVertexUvs[0].push([m[1],m[2],m[3]])}}}function f(a,b,c){G.vertices.push(new q(a,b,c))}function g(a,b,c){a+=I;b+=I;c+=I;G.faces.push(new oa(a,b,c,null,null,0));a=w.generateTopUV(G,a,b,c);G.faceVertexUvs[0].push(a)}var h=void 0!==b.amount?b.amount:100,m=void 0!==b.bevelThickness?b.bevelThickness:6,l=void 0!==b.bevelSize?b.bevelSize:m-2,k=void 0!==b.bevelSegments?b.bevelSegments:3,p=void 0!==b.bevelEnabled?b.bevelEnabled:!0,n=void 0!==b.curveSegments?b.curveSegments:12,t=void 0!==b.steps?b.steps:
|
|
|
+1,A=b.extrudePath,r,z=!1,w=void 0!==b.UVGenerator?b.UVGenerator:ya.WorldUVGenerator,x,E,v,F;A&&(r=A.getSpacedPoints(t),z=!0,p=!1,x=void 0!==b.frames?b.frames:A.computeFrenetFrames(t,!1),E=new q,v=new q,F=new q);p||(l=m=k=0);var H,y,B,G=this,I=this.vertices.length,A=a.extractPoints(n),n=A.shape,K=A.holes;if(A=!za.isClockWise(n)){n=n.reverse();y=0;for(B=K.length;y<B;y++)H=K[y],za.isClockWise(H)&&(K[y]=H.reverse());A=!1}var T=za.triangulateShape(n,K),S=n;y=0;for(B=K.length;y<B;y++)H=K[y],n=n.concat(H);
|
|
|
+var O,P,J,N,M,V=n.length,W,X=T.length,A=[],Q=0;J=S.length;O=J-1;for(P=Q+1;Q<J;Q++,O++,P++)O===J&&(O=0),P===J&&(P=0),A[Q]=d(S[Q],S[O],S[P]);var ba=[],aa,ca=A.concat();y=0;for(B=K.length;y<B;y++){H=K[y];aa=[];Q=0;J=H.length;O=J-1;for(P=Q+1;Q<J;Q++,O++,P++)O===J&&(O=0),P===J&&(P=0),aa[Q]=d(H[Q],H[O],H[P]);ba.push(aa);ca=ca.concat(aa)}for(O=0;O<k;O++){J=O/k;N=m*Math.cos(J*Math.PI/2);P=l*Math.sin(J*Math.PI/2);Q=0;for(J=S.length;Q<J;Q++)M=c(S[Q],A[Q],P),f(M.x,M.y,-N);y=0;for(B=K.length;y<B;y++)for(H=K[y],
|
|
|
+aa=ba[y],Q=0,J=H.length;Q<J;Q++)M=c(H[Q],aa[Q],P),f(M.x,M.y,-N)}P=l;for(Q=0;Q<V;Q++)M=p?c(n[Q],ca[Q],P):n[Q],z?(v.copy(x.normals[0]).multiplyScalar(M.x),E.copy(x.binormals[0]).multiplyScalar(M.y),F.copy(r[0]).add(v).add(E),f(F.x,F.y,F.z)):f(M.x,M.y,0);for(J=1;J<=t;J++)for(Q=0;Q<V;Q++)M=p?c(n[Q],ca[Q],P):n[Q],z?(v.copy(x.normals[J]).multiplyScalar(M.x),E.copy(x.binormals[J]).multiplyScalar(M.y),F.copy(r[J]).add(v).add(E),f(F.x,F.y,F.z)):f(M.x,M.y,h/t*J);for(O=k-1;0<=O;O--){J=O/k;N=m*Math.cos(J*Math.PI/
|
|
|
+2);P=l*Math.sin(J*Math.PI/2);Q=0;for(J=S.length;Q<J;Q++)M=c(S[Q],A[Q],P),f(M.x,M.y,h+N);y=0;for(B=K.length;y<B;y++)for(H=K[y],aa=ba[y],Q=0,J=H.length;Q<J;Q++)M=c(H[Q],aa[Q],P),z?f(M.x,M.y+r[t-1].y,r[t-1].x+N):f(M.x,M.y,h+N)}(function(){if(p){var a=0*V;for(Q=0;Q<X;Q++)W=T[Q],g(W[2]+a,W[1]+a,W[0]+a);a=V*(t+2*k);for(Q=0;Q<X;Q++)W=T[Q],g(W[0]+a,W[1]+a,W[2]+a)}else{for(Q=0;Q<X;Q++)W=T[Q],g(W[2],W[1],W[0]);for(Q=0;Q<X;Q++)W=T[Q],g(W[0]+V*t,W[1]+V*t,W[2]+V*t)}})();(function(){var a=0;e(S,a);a+=S.length;
|
|
|
+y=0;for(B=K.length;y<B;y++)H=K[y],e(H,a),a+=H.length})()};ya.WorldUVGenerator={generateTopUV:function(a,b,c,d){a=a.vertices;b=a[b];c=a[c];d=a[d];return[new D(b.x,b.y),new D(c.x,c.y),new D(d.x,d.y)]},generateSideWallUV:function(a,b,c,d,e){a=a.vertices;b=a[b];c=a[c];d=a[d];e=a[e];return.01>Math.abs(b.y-c.y)?[new D(b.x,1-b.z),new D(c.x,1-c.z),new D(d.x,1-d.z),new D(e.x,1-e.z)]:[new D(b.y,1-b.z),new D(c.y,1-c.z),new D(d.y,1-d.z),new D(e.y,1-e.z)]}};Pc.prototype=Object.create(ya.prototype);Pc.prototype.constructor=
|
|
|
+Pc;Qc.prototype=Object.create(K.prototype);Qc.prototype.constructor=Qc;nb.prototype=Object.create(G.prototype);nb.prototype.constructor=nb;Rc.prototype=Object.create(K.prototype);Rc.prototype.constructor=Rc;Vb.prototype=Object.create(G.prototype);Vb.prototype.constructor=Vb;Sc.prototype=Object.create(K.prototype);Sc.prototype.constructor=Sc;Wb.prototype=Object.create(G.prototype);Wb.prototype.constructor=Wb;Xb.prototype=Object.create(K.prototype);Xb.prototype.constructor=Xb;Yb.prototype=Object.create(G.prototype);
|
|
|
+Yb.prototype.constructor=Yb;Zb.prototype=Object.create(G.prototype);Zb.prototype.constructor=Zb;ob.prototype=Object.create(K.prototype);ob.prototype.constructor=ob;Wa.prototype=Object.create(G.prototype);Wa.prototype.constructor=Wa;Tc.prototype=Object.create(ob.prototype);Tc.prototype.constructor=Tc;Uc.prototype=Object.create(Wa.prototype);Uc.prototype.constructor=Uc;Vc.prototype=Object.create(K.prototype);Vc.prototype.constructor=Vc;$b.prototype=Object.create(G.prototype);$b.prototype.constructor=
|
|
|
+$b;var Oa=Object.freeze({WireframeGeometry:Nb,ParametricGeometry:Gc,ParametricBufferGeometry:Ob,TetrahedronGeometry:Ic,TetrahedronBufferGeometry:Pb,OctahedronGeometry:Jc,OctahedronBufferGeometry:mb,IcosahedronGeometry:Kc,IcosahedronBufferGeometry:Qb,DodecahedronGeometry:Lc,DodecahedronBufferGeometry:Rb,PolyhedronGeometry:Hc,PolyhedronBufferGeometry:va,TubeGeometry:Mc,TubeBufferGeometry:Sb,TorusKnotGeometry:Nc,TorusKnotBufferGeometry:Tb,TorusGeometry:Oc,TorusBufferGeometry:Ub,TextGeometry:Pc,SphereGeometry:Qc,
|
|
|
+SphereBufferGeometry:nb,RingGeometry:Rc,RingBufferGeometry:Vb,PlaneGeometry:yc,PlaneBufferGeometry:jb,LatheGeometry:Sc,LatheBufferGeometry:Wb,ShapeGeometry:Xb,ShapeBufferGeometry:Yb,ExtrudeGeometry:ya,EdgesGeometry:Zb,ConeGeometry:Tc,ConeBufferGeometry:Uc,CylinderGeometry:ob,CylinderBufferGeometry:Wa,CircleGeometry:Vc,CircleBufferGeometry:$b,BoxGeometry:Hb,BoxBufferGeometry:ib});ac.prototype=Object.create(Fa.prototype);ac.prototype.constructor=ac;ac.prototype.isShadowMaterial=!0;bc.prototype=Object.create(Fa.prototype);
|
|
|
+bc.prototype.constructor=bc;bc.prototype.isRawShaderMaterial=!0;Qa.prototype=Object.create(X.prototype);Qa.prototype.constructor=Qa;Qa.prototype.isMeshStandardMaterial=!0;Qa.prototype.copy=function(a){X.prototype.copy.call(this,a);this.defines={STANDARD:""};this.color.copy(a.color);this.roughness=a.roughness;this.metalness=a.metalness;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);
|
|
|
+this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.roughnessMap=a.roughnessMap;this.metalnessMap=a.metalnessMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.envMapIntensity=a.envMapIntensity;this.refractionRatio=a.refractionRatio;
|
|
|
+this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};pb.prototype=Object.create(Qa.prototype);pb.prototype.constructor=pb;pb.prototype.isMeshPhysicalMaterial=!0;pb.prototype.copy=function(a){Qa.prototype.copy.call(this,a);this.defines={PHYSICAL:""};this.reflectivity=a.reflectivity;this.clearCoat=a.clearCoat;this.clearCoatRoughness=
|
|
|
+a.clearCoatRoughness;return this};pa.prototype=Object.create(X.prototype);pa.prototype.constructor=pa;pa.prototype.isMeshPhongMaterial=!0;pa.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.specular.copy(a.specular);this.shininess=a.shininess;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=
|
|
|
+a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;
|
|
|
+this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};qb.prototype=Object.create(pa.prototype);qb.prototype.constructor=qb;qb.prototype.isMeshToonMaterial=!0;qb.prototype.copy=function(a){pa.prototype.copy.call(this,a);this.gradientMap=a.gradientMap;return this};rb.prototype=Object.create(X.prototype);rb.prototype.constructor=rb;rb.prototype.isMeshNormalMaterial=!0;rb.prototype.copy=function(a){X.prototype.copy.call(this,
|
|
|
+a);this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};sb.prototype=Object.create(X.prototype);sb.prototype.constructor=sb;sb.prototype.isMeshLambertMaterial=!0;sb.prototype.copy=
|
|
|
+function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;
|
|
|
+this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};tb.prototype=Object.create(X.prototype);tb.prototype.constructor=tb;tb.prototype.isLineDashedMaterial=!0;tb.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.linewidth=a.linewidth;this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize;return this};
|
|
|
+var Yf=Object.freeze({ShadowMaterial:ac,SpriteMaterial:lb,RawShaderMaterial:bc,ShaderMaterial:Fa,PointsMaterial:Ga,MeshPhysicalMaterial:pb,MeshStandardMaterial:Qa,MeshPhongMaterial:pa,MeshToonMaterial:qb,MeshNormalMaterial:rb,MeshLambertMaterial:sb,MeshDepthMaterial:ab,MeshBasicMaterial:Ia,LineDashedMaterial:tb,LineBasicMaterial:ia,Material:X}),id={enabled:!1,files:{},add:function(a,b){!1!==this.enabled&&(this.files[a]=b)},get:function(a){if(!1!==this.enabled)return this.files[a]},remove:function(a){delete this.files[a]},
|
|
|
+clear:function(){this.files={}}},na=new Xd;Object.assign(qa.prototype,{load:function(a,b,c,d){void 0===a&&(a="");void 0!==this.path&&(a=this.path+a);var e=this,f=id.get(a);if(void 0!==f)return e.manager.itemStart(a),setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;var g=a.match(/^data:(.*?)(;base64)?,(.*)$/);if(g){var h=g[1],m=!!g[2],g=g[3],g=window.decodeURIComponent(g);m&&(g=window.atob(g));try{var l,k=(this.responseType||"").toLowerCase();switch(k){case "arraybuffer":case "blob":l=new ArrayBuffer(g.length);
|
|
|
+for(var p=new Uint8Array(l),m=0;m<g.length;m++)p[m]=g.charCodeAt(m);"blob"===k&&(l=new Blob([l],{type:h}));break;case "document":l=(new DOMParser).parseFromString(g,h);break;case "json":l=JSON.parse(g);break;default:l=g}window.setTimeout(function(){b&&b(l);e.manager.itemEnd(a)},0)}catch(q){window.setTimeout(function(){d&&d(q);e.manager.itemError(a)},0)}}else{var n=new XMLHttpRequest;n.open("GET",a,!0);n.addEventListener("load",function(c){var f=c.target.response;id.add(a,f);200===this.status?(b&&
|
|
|
+b(f),e.manager.itemEnd(a)):0===this.status?(console.warn("THREE.FileLoader: HTTP Status 0 received."),b&&b(f),e.manager.itemEnd(a)):(d&&d(c),e.manager.itemError(a))},!1);void 0!==c&&n.addEventListener("progress",function(a){c(a)},!1);n.addEventListener("error",function(b){d&&d(b);e.manager.itemError(a)},!1);void 0!==this.responseType&&(n.responseType=this.responseType);void 0!==this.withCredentials&&(n.withCredentials=this.withCredentials);n.overrideMimeType&&n.overrideMimeType(void 0!==this.mimeType?
|
|
|
+this.mimeType:"text/plain");for(h in this.requestHeader)n.setRequestHeader(h,this.requestHeader[h]);n.send(null)}e.manager.itemStart(a);return n},setPath:function(a){this.path=a;return this},setResponseType:function(a){this.responseType=a;return this},setWithCredentials:function(a){this.withCredentials=a;return this},setMimeType:function(a){this.mimeType=a;return this},setRequestHeader:function(a){this.requestHeader=a;return this}});Object.assign(Ke.prototype,{load:function(a,b,c,d){function e(e){m.load(a[e],
|
|
|
+function(a){a=f._parser(a,!0);g[e]={width:a.width,height:a.height,format:a.format,mipmaps:a.mipmaps};l+=1;6===l&&(1===a.mipmapCount&&(h.minFilter=1006),h.format=a.format,h.needsUpdate=!0,b&&b(h))},c,d)}var f=this,g=[],h=new Mb;h.image=g;var m=new qa(this.manager);m.setPath(this.path);m.setResponseType("arraybuffer");if(Array.isArray(a))for(var l=0,k=0,p=a.length;k<p;++k)e(k);else m.load(a,function(a){a=f._parser(a,!0);if(a.isCubemap)for(var c=a.mipmaps.length/a.mipmapCount,d=0;d<c;d++){g[d]={mipmaps:[]};
|
|
|
+for(var e=0;e<a.mipmapCount;e++)g[d].mipmaps.push(a.mipmaps[d*a.mipmapCount+e]),g[d].format=a.format,g[d].width=a.width,g[d].height=a.height}else h.image.width=a.width,h.image.height=a.height,h.mipmaps=a.mipmaps;1===a.mipmapCount&&(h.minFilter=1006);h.format=a.format;h.needsUpdate=!0;b&&b(h)},c,d);return h},setPath:function(a){this.path=a;return this}});Object.assign(Yd.prototype,{load:function(a,b,c,d){var e=this,f=new db,g=new qa(this.manager);g.setResponseType("arraybuffer");g.load(a,function(a){if(a=
|
|
|
+e._parser(a))void 0!==a.image?f.image=a.image:void 0!==a.data&&(f.image.width=a.width,f.image.height=a.height,f.image.data=a.data),f.wrapS=void 0!==a.wrapS?a.wrapS:1001,f.wrapT=void 0!==a.wrapT?a.wrapT:1001,f.magFilter=void 0!==a.magFilter?a.magFilter:1006,f.minFilter=void 0!==a.minFilter?a.minFilter:1008,f.anisotropy=void 0!==a.anisotropy?a.anisotropy:1,void 0!==a.format&&(f.format=a.format),void 0!==a.type&&(f.type=a.type),void 0!==a.mipmaps&&(f.mipmaps=a.mipmaps),1===a.mipmapCount&&(f.minFilter=
|
|
|
+1006),f.needsUpdate=!0,b&&b(f,a)},c,d);return f}});Object.assign(Wc.prototype,{load:function(a,b,c,d){void 0===a&&(a="");void 0!==this.path&&(a=this.path+a);var e=this,f=id.get(a);if(void 0!==f)return e.manager.itemStart(a),setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;c=document.createElementNS("http://www.w3.org/1999/xhtml","img");c.addEventListener("load",function(){id.add(a,this);b&&b(this);e.manager.itemEnd(a)},!1);c.addEventListener("error",function(b){d&&d(b);e.manager.itemError(a)},
|
|
|
+!1);"data:"!==a.substr(0,5)&&void 0!==this.crossOrigin&&(c.crossOrigin=this.crossOrigin);e.manager.itemStart(a);c.src=a;return c},setCrossOrigin:function(a){this.crossOrigin=a;return this},setPath:function(a){this.path=a;return this}});Object.assign(Zd.prototype,{load:function(a,b,c,d){function e(c){g.load(a[c],function(a){f.images[c]=a;h++;6===h&&(f.needsUpdate=!0,b&&b(f))},void 0,d)}var f=new Za,g=new Wc(this.manager);g.setCrossOrigin(this.crossOrigin);g.setPath(this.path);var h=0;for(c=0;c<a.length;++c)e(c);
|
|
|
+return f},setCrossOrigin:function(a){this.crossOrigin=a;return this},setPath:function(a){this.path=a;return this}});Object.assign(rd.prototype,{load:function(a,b,c,d){var e=new aa,f=new Wc(this.manager);f.setCrossOrigin(this.crossOrigin);f.setPath(this.path);f.load(a,function(c){var d=0<a.search(/\.(jpg|jpeg)$/)||0===a.search(/^data\:image\/jpeg/);e.format=d?1022:1023;e.image=c;e.needsUpdate=!0;void 0!==b&&b(e)},c,d);return e},setCrossOrigin:function(a){this.crossOrigin=a;return this},setPath:function(a){this.path=
|
|
|
+a;return this}});ga.prototype=Object.assign(Object.create(E.prototype),{constructor:ga,isLight:!0,copy:function(a){E.prototype.copy.call(this,a);this.color.copy(a.color);this.intensity=a.intensity;return this},toJSON:function(a){a=E.prototype.toJSON.call(this,a);a.object.color=this.color.getHex();a.object.intensity=this.intensity;void 0!==this.groundColor&&(a.object.groundColor=this.groundColor.getHex());void 0!==this.distance&&(a.object.distance=this.distance);void 0!==this.angle&&(a.object.angle=
|
|
|
+this.angle);void 0!==this.decay&&(a.object.decay=this.decay);void 0!==this.penumbra&&(a.object.penumbra=this.penumbra);void 0!==this.shadow&&(a.object.shadow=this.shadow.toJSON());return a}});sd.prototype=Object.assign(Object.create(ga.prototype),{constructor:sd,isHemisphereLight:!0,copy:function(a){ga.prototype.copy.call(this,a);this.groundColor.copy(a.groundColor);return this}});Object.assign(ub.prototype,{copy:function(a){this.camera=a.camera.clone();this.bias=a.bias;this.radius=a.radius;this.mapSize.copy(a.mapSize);
|
|
|
+return this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var a={};0!==this.bias&&(a.bias=this.bias);1!==this.radius&&(a.radius=this.radius);if(512!==this.mapSize.x||512!==this.mapSize.y)a.mapSize=this.mapSize.toArray();a.camera=this.camera.toJSON(!1).object;delete a.camera.matrix;return a}});td.prototype=Object.assign(Object.create(ub.prototype),{constructor:td,isSpotLightShadow:!0,update:function(a){var b=2*T.RAD2DEG*a.angle,c=this.mapSize.width/this.mapSize.height;
|
|
|
+a=a.distance||500;var d=this.camera;if(b!==d.fov||c!==d.aspect||a!==d.far)d.fov=b,d.aspect=c,d.far=a,d.updateProjectionMatrix()}});ud.prototype=Object.assign(Object.create(ga.prototype),{constructor:ud,isSpotLight:!0,copy:function(a){ga.prototype.copy.call(this,a);this.distance=a.distance;this.angle=a.angle;this.penumbra=a.penumbra;this.decay=a.decay;this.target=a.target.clone();this.shadow=a.shadow.clone();return this}});vd.prototype=Object.assign(Object.create(ga.prototype),{constructor:vd,isPointLight:!0,
|
|
|
+copy:function(a){ga.prototype.copy.call(this,a);this.distance=a.distance;this.decay=a.decay;this.shadow=a.shadow.clone();return this}});wd.prototype=Object.assign(Object.create(ub.prototype),{constructor:wd});xd.prototype=Object.assign(Object.create(ga.prototype),{constructor:xd,isDirectionalLight:!0,copy:function(a){ga.prototype.copy.call(this,a);this.target=a.target.clone();this.shadow=a.shadow.clone();return this}});yd.prototype=Object.assign(Object.create(ga.prototype),{constructor:yd,isAmbientLight:!0});
|
|
|
+var ra={arraySlice:function(a,b,c){return ra.isTypedArray(a)?new a.constructor(a.subarray(b,c)):a.slice(b,c)},convertArray:function(a,b,c){return!a||!c&&a.constructor===b?a:"number"===typeof b.BYTES_PER_ELEMENT?new b(a):Array.prototype.slice.call(a)},isTypedArray:function(a){return ArrayBuffer.isView(a)&&!(a instanceof DataView)},getKeyframeOrder:function(a){for(var b=a.length,c=Array(b),d=0;d!==b;++d)c[d]=d;c.sort(function(b,c){return a[b]-a[c]});return c},sortedArray:function(a,b,c){for(var d=a.length,
|
|
|
+e=new a.constructor(d),f=0,g=0;g!==d;++f)for(var h=c[f]*b,m=0;m!==b;++m)e[g++]=a[h+m];return e},flattenJSON:function(a,b,c,d){for(var e=1,f=a[0];void 0!==f&&void 0===f[d];)f=a[e++];if(void 0!==f){var g=f[d];if(void 0!==g)if(Array.isArray(g)){do g=f[d],void 0!==g&&(b.push(f.time),c.push.apply(c,g)),f=a[e++];while(void 0!==f)}else if(void 0!==g.toArray){do g=f[d],void 0!==g&&(b.push(f.time),g.toArray(c,c.length)),f=a[e++];while(void 0!==f)}else{do g=f[d],void 0!==g&&(b.push(f.time),c.push(g)),f=a[e++];
|
|
|
+while(void 0!==f)}}}};Object.assign(ja.prototype,{evaluate:function(a){var b=this.parameterPositions,c=this._cachedIndex,d=b[c],e=b[c-1];a:{b:{c:{d:if(!(a<d)){for(var f=c+2;;){if(void 0===d){if(a<e)break d;this._cachedIndex=c=b.length;return this.afterEnd_(c-1,a,e)}if(c===f)break;e=d;d=b[++c];if(a<d)break b}d=b.length;break c}if(a>=e)break a;else{f=b[1];a<f&&(c=2,e=f);for(f=c-2;;){if(void 0===e)return this._cachedIndex=0,this.beforeStart_(0,a,d);if(c===f)break;d=e;e=b[--c-1];if(a>=e)break b}d=c;c=
|
|
|
+0}}for(;c<d;)e=c+d>>>1,a<b[e]?d=e:c=e+1;d=b[c];e=b[c-1];if(void 0===e)return this._cachedIndex=0,this.beforeStart_(0,a,d);if(void 0===d)return this._cachedIndex=c=b.length,this.afterEnd_(c-1,e,a)}this._cachedIndex=c;this.intervalChanged_(c,e,d)}return this.interpolate_(c,e,a,d)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(a){var b=this.resultBuffer,c=this.sampleValues,d=this.valueSize;a*=d;for(var e=0;e!==d;++e)b[e]=
|
|
|
+c[a+e];return b},interpolate_:function(a,b,c,d){throw Error("call to abstract method");},intervalChanged_:function(a,b,c){}});Object.assign(ja.prototype,{beforeStart_:ja.prototype.copySampleValue_,afterEnd_:ja.prototype.copySampleValue_});zd.prototype=Object.assign(Object.create(ja.prototype),{constructor:zd,DefaultSettings_:{endingStart:2400,endingEnd:2400},intervalChanged_:function(a,b,c){var d=this.parameterPositions,e=a-2,f=a+1,g=d[e],h=d[f];if(void 0===g)switch(this.getSettings_().endingStart){case 2401:e=
|
|
|
+a;g=2*b-c;break;case 2402:e=d.length-2;g=b+d[e]-d[e+1];break;default:e=a,g=c}if(void 0===h)switch(this.getSettings_().endingEnd){case 2401:f=a;h=2*c-b;break;case 2402:f=1;h=c+d[1]-d[0];break;default:f=a-1,h=b}a=.5*(c-b);d=this.valueSize;this._weightPrev=a/(b-g);this._weightNext=a/(h-c);this._offsetPrev=e*d;this._offsetNext=f*d},interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;var h=a-g,m=this._offsetPrev,l=this._offsetNext,k=this._weightPrev,p=this._weightNext,
|
|
|
+n=(c-b)/(d-b);c=n*n;d=c*n;b=-k*d+2*k*c-k*n;k=(1+k)*d+(-1.5-2*k)*c+(-.5+k)*n+1;n=(-1-p)*d+(1.5+p)*c+.5*n;p=p*d-p*c;for(c=0;c!==g;++c)e[c]=b*f[m+c]+k*f[h+c]+n*f[a+c]+p*f[l+c];return e}});Xc.prototype=Object.assign(Object.create(ja.prototype),{constructor:Xc,interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;var h=a-g;b=(c-b)/(d-b);c=1-b;for(d=0;d!==g;++d)e[d]=f[h+d]*c+f[a+d]*b;return e}});Ad.prototype=Object.assign(Object.create(ja.prototype),{constructor:Ad,
|
|
|
+interpolate_:function(a,b,c,d){return this.copySampleValue_(a-1)}});var Ya;Ya={TimeBufferType:Float32Array,ValueBufferType:Float32Array,DefaultInterpolation:2301,InterpolantFactoryMethodDiscrete:function(a){return new Ad(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodLinear:function(a){return new Xc(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodSmooth:function(a){return new zd(this.times,this.values,this.getValueSize(),a)},setInterpolation:function(a){var b;
|
|
|
+switch(a){case 2300:b=this.InterpolantFactoryMethodDiscrete;break;case 2301:b=this.InterpolantFactoryMethodLinear;break;case 2302:b=this.InterpolantFactoryMethodSmooth}if(void 0===b){b="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant)if(a!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw Error(b);console.warn(b)}else this.createInterpolant=b},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return 2300;
|
|
|
+case this.InterpolantFactoryMethodLinear:return 2301;case this.InterpolantFactoryMethodSmooth:return 2302}},getValueSize:function(){return this.values.length/this.times.length},shift:function(a){if(0!==a)for(var b=this.times,c=0,d=b.length;c!==d;++c)b[c]+=a;return this},scale:function(a){if(1!==a)for(var b=this.times,c=0,d=b.length;c!==d;++c)b[c]*=a;return this},trim:function(a,b){for(var c=this.times,d=c.length,e=0,f=d-1;e!==d&&c[e]<a;)++e;for(;-1!==f&&c[f]>b;)--f;++f;if(0!==e||f!==d)e>=f&&(f=Math.max(f,
|
|
|
+1),e=f-1),d=this.getValueSize(),this.times=ra.arraySlice(c,e,f),this.values=ra.arraySlice(this.values,e*d,f*d);return this},validate:function(){var a=!0,b=this.getValueSize();0!==b-Math.floor(b)&&(console.error("invalid value size in track",this),a=!1);var c=this.times,b=this.values,d=c.length;0===d&&(console.error("track is empty",this),a=!1);for(var e=null,f=0;f!==d;f++){var g=c[f];if("number"===typeof g&&isNaN(g)){console.error("time is not a valid number",this,f,g);a=!1;break}if(null!==e&&e>g){console.error("out of order keys",
|
|
|
+this,f,g,e);a=!1;break}e=g}if(void 0!==b&&ra.isTypedArray(b))for(f=0,c=b.length;f!==c;++f)if(d=b[f],isNaN(d)){console.error("value is not a valid number",this,f,d);a=!1;break}return a},optimize:function(){for(var a=this.times,b=this.values,c=this.getValueSize(),d=2302===this.getInterpolation(),e=1,f=a.length-1,g=1;g<f;++g){var h=!1,m=a[g];if(m!==a[g+1]&&(1!==g||m!==m[0]))if(d)h=!0;else for(var l=g*c,k=l-c,p=l+c,m=0;m!==c;++m){var n=b[l+m];if(n!==b[k+m]||n!==b[p+m]){h=!0;break}}if(h){if(g!==e)for(a[e]=
|
|
|
+a[g],h=g*c,l=e*c,m=0;m!==c;++m)b[l+m]=b[h+m];++e}}if(0<f){a[e]=a[f];h=f*c;l=e*c;for(m=0;m!==c;++m)b[l+m]=b[h+m];++e}e!==a.length&&(this.times=ra.arraySlice(a,0,e),this.values=ra.arraySlice(b,0,e*c));return this}};cc.prototype=Object.assign(Object.create(Ya),{constructor:cc,ValueTypeName:"vector"});Bd.prototype=Object.assign(Object.create(ja.prototype),{constructor:Bd,interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;b=(c-b)/(d-b);for(c=a+g;a!==c;a+=4)la.slerpFlat(e,
|
|
|
+0,f,a-g,f,a,b);return e}});Yc.prototype=Object.assign(Object.create(Ya),{constructor:Yc,ValueTypeName:"quaternion",DefaultInterpolation:2301,InterpolantFactoryMethodLinear:function(a){return new Bd(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodSmooth:void 0});dc.prototype=Object.assign(Object.create(Ya),{constructor:dc,ValueTypeName:"number"});Cd.prototype=Object.assign(Object.create(Ya),{constructor:Cd,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:2300,
|
|
|
+InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});Dd.prototype=Object.assign(Object.create(Ya),{constructor:Dd,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});Ed.prototype=Object.assign(Object.create(Ya),{constructor:Ed,ValueTypeName:"color"});wb.prototype=Ya;Ya.constructor=wb;Object.assign(wb,{parse:function(a){if(void 0===a.type)throw Error("track type undefined, can not parse");
|
|
|
+var b=wb._getTrackTypeForValueTypeName(a.type);if(void 0===a.times){var c=[],d=[];ra.flattenJSON(a.keys,c,d,"value");a.times=c;a.values=d}return void 0!==b.parse?b.parse(a):new b(a.name,a.times,a.values,a.interpolation)},toJSON:function(a){var b=a.constructor;if(void 0!==b.toJSON)b=b.toJSON(a);else{var b={name:a.name,times:ra.convertArray(a.times,Array),values:ra.convertArray(a.values,Array)},c=a.getInterpolation();c!==a.DefaultInterpolation&&(b.interpolation=c)}b.type=a.ValueTypeName;return b},_getTrackTypeForValueTypeName:function(a){switch(a.toLowerCase()){case "scalar":case "double":case "float":case "number":case "integer":return dc;
|
|
|
case "vector":case "vector2":case "vector3":case "vector4":return cc;case "color":return Ed;case "quaternion":return Yc;case "bool":case "boolean":return Dd;case "string":return Cd}throw Error("Unsupported typeName: "+a);}});Object.assign(Aa,{parse:function(a){for(var b=[],c=a.tracks,d=1/(a.fps||1),e=0,f=c.length;e!==f;++e)b.push(wb.parse(c[e]).scale(d));return new Aa(a.name,a.duration,b)},toJSON:function(a){var b=[],c=a.tracks;a={name:a.name,duration:a.duration,tracks:b};for(var d=0,e=c.length;d!==
|
|
|
e;++d)b.push(wb.toJSON(c[d]));return a},CreateFromMorphTargetSequence:function(a,b,c,d){for(var e=b.length,f=[],g=0;g<e;g++){var h=[],m=[];h.push((g+e-1)%e,g,(g+1)%e);m.push(0,1,0);var l=ra.getKeyframeOrder(h),h=ra.sortedArray(h,1,l),m=ra.sortedArray(m,1,l);d||0!==h[0]||(h.push(e),m.push(m[0]));f.push((new dc(".morphTargetInfluences["+b[g].name+"]",h,m)).scale(1/c))}return new Aa(a,-1,f)},findByName:function(a,b){var c=a;Array.isArray(a)||(c=a.geometry&&a.geometry.animations||a.animations);for(var d=
|
|
|
0;d<c.length;d++)if(c[d].name===b)return c[d];return null},CreateClipsFromMorphTargetSequences:function(a,b,c){for(var d={},e=/^([\w-]*?)([\d]+)$/,f=0,g=a.length;f<g;f++){var h=a[f],m=h.name.match(e);if(m&&1<m.length){var l=m[1];(m=d[l])||(d[l]=m=[]);m.push(h)}}a=[];for(l in d)a.push(Aa.CreateFromMorphTargetSequence(l,d[l],b,c));return a},parseAnimation:function(a,b){if(!a)return console.error(" no animation in JSONLoader data"),null;for(var c=function(a,b,c,d,e){if(0!==c.length){var f=[],g=[];ra.flattenJSON(c,
|
|
|
-f,g,d);0!==f.length&&e.push(new a(b,f,g))}},d=[],e=a.name||"default",f=a.length||-1,g=a.fps||30,h=a.hierarchy||[],m=0;m<h.length;m++){var l=h[m].keys;if(l&&0!==l.length)if(l[0].morphTargets){for(var f={},k=0;k<l.length;k++)if(l[k].morphTargets)for(var p=0;p<l[k].morphTargets.length;p++)f[l[k].morphTargets[p]]=-1;for(var n in f){for(var q=[],y=[],p=0;p!==l[k].morphTargets.length;++p){var r=l[k];q.push(r.time);y.push(r.morphTarget===n?1:0)}d.push(new dc(".morphTargetInfluence["+n+"]",q,y))}f=f.length*
|
|
|
+f,g,d);0!==f.length&&e.push(new a(b,f,g))}},d=[],e=a.name||"default",f=a.length||-1,g=a.fps||30,h=a.hierarchy||[],m=0;m<h.length;m++){var l=h[m].keys;if(l&&0!==l.length)if(l[0].morphTargets){for(var f={},k=0;k<l.length;k++)if(l[k].morphTargets)for(var p=0;p<l[k].morphTargets.length;p++)f[l[k].morphTargets[p]]=-1;for(var n in f){for(var q=[],A=[],p=0;p!==l[k].morphTargets.length;++p){var r=l[k];q.push(r.time);A.push(r.morphTarget===n?1:0)}d.push(new dc(".morphTargetInfluence["+n+"]",q,A))}f=f.length*
|
|
|
(g||1)}else k=".bones["+b[m].name+"]",c(cc,k+".position",l,"pos",d),c(Yc,k+".quaternion",l,"rot",d),c(cc,k+".scale",l,"scl",d)}return 0===d.length?null:new Aa(e,f,d)}});Object.assign(Aa.prototype,{resetDuration:function(){for(var a=0,b=0,c=this.tracks.length;b!==c;++b)var d=this.tracks[b],a=Math.max(a,d.times[d.times.length-1]);this.duration=a},trim:function(){for(var a=0;a<this.tracks.length;a++)this.tracks[a].trim(0,this.duration);return this},optimize:function(){for(var a=0;a<this.tracks.length;a++)this.tracks[a].optimize();
|
|
|
return this}});Object.assign(Fd.prototype,{load:function(a,b,c,d){var e=this;(new qa(e.manager)).load(a,function(a){b(e.parse(JSON.parse(a)))},c,d)},setTextures:function(a){this.textures=a},parse:function(a){function b(a){void 0===c[a]&&console.warn("THREE.MaterialLoader: Undefined texture",a);return c[a]}var c=this.textures,d=new Yf[a.type];void 0!==a.uuid&&(d.uuid=a.uuid);void 0!==a.name&&(d.name=a.name);void 0!==a.color&&d.color.setHex(a.color);void 0!==a.roughness&&(d.roughness=a.roughness);void 0!==
|
|
|
a.metalness&&(d.metalness=a.metalness);void 0!==a.emissive&&d.emissive.setHex(a.emissive);void 0!==a.specular&&d.specular.setHex(a.specular);void 0!==a.shininess&&(d.shininess=a.shininess);void 0!==a.clearCoat&&(d.clearCoat=a.clearCoat);void 0!==a.clearCoatRoughness&&(d.clearCoatRoughness=a.clearCoatRoughness);void 0!==a.uniforms&&(d.uniforms=a.uniforms);void 0!==a.vertexShader&&(d.vertexShader=a.vertexShader);void 0!==a.fragmentShader&&(d.fragmentShader=a.fragmentShader);void 0!==a.vertexColors&&
|
|
|
(d.vertexColors=a.vertexColors);void 0!==a.fog&&(d.fog=a.fog);void 0!==a.shading&&(d.shading=a.shading);void 0!==a.blending&&(d.blending=a.blending);void 0!==a.side&&(d.side=a.side);void 0!==a.opacity&&(d.opacity=a.opacity);void 0!==a.transparent&&(d.transparent=a.transparent);void 0!==a.alphaTest&&(d.alphaTest=a.alphaTest);void 0!==a.depthTest&&(d.depthTest=a.depthTest);void 0!==a.depthWrite&&(d.depthWrite=a.depthWrite);void 0!==a.colorWrite&&(d.colorWrite=a.colorWrite);void 0!==a.wireframe&&(d.wireframe=
|
|
|
a.wireframe);void 0!==a.wireframeLinewidth&&(d.wireframeLinewidth=a.wireframeLinewidth);void 0!==a.wireframeLinecap&&(d.wireframeLinecap=a.wireframeLinecap);void 0!==a.wireframeLinejoin&&(d.wireframeLinejoin=a.wireframeLinejoin);void 0!==a.morphTargets&&(d.morphTargets=a.morphTargets);void 0!==a.size&&(d.size=a.size);void 0!==a.sizeAttenuation&&(d.sizeAttenuation=a.sizeAttenuation);void 0!==a.map&&(d.map=b(a.map));void 0!==a.alphaMap&&(d.alphaMap=b(a.alphaMap),d.transparent=!0);void 0!==a.bumpMap&&
|
|
|
-(d.bumpMap=b(a.bumpMap));void 0!==a.bumpScale&&(d.bumpScale=a.bumpScale);void 0!==a.normalMap&&(d.normalMap=b(a.normalMap));if(void 0!==a.normalScale){var e=a.normalScale;!1===Array.isArray(e)&&(e=[e,e]);d.normalScale=(new C).fromArray(e)}void 0!==a.displacementMap&&(d.displacementMap=b(a.displacementMap));void 0!==a.displacementScale&&(d.displacementScale=a.displacementScale);void 0!==a.displacementBias&&(d.displacementBias=a.displacementBias);void 0!==a.roughnessMap&&(d.roughnessMap=b(a.roughnessMap));
|
|
|
+(d.bumpMap=b(a.bumpMap));void 0!==a.bumpScale&&(d.bumpScale=a.bumpScale);void 0!==a.normalMap&&(d.normalMap=b(a.normalMap));if(void 0!==a.normalScale){var e=a.normalScale;!1===Array.isArray(e)&&(e=[e,e]);d.normalScale=(new D).fromArray(e)}void 0!==a.displacementMap&&(d.displacementMap=b(a.displacementMap));void 0!==a.displacementScale&&(d.displacementScale=a.displacementScale);void 0!==a.displacementBias&&(d.displacementBias=a.displacementBias);void 0!==a.roughnessMap&&(d.roughnessMap=b(a.roughnessMap));
|
|
|
void 0!==a.metalnessMap&&(d.metalnessMap=b(a.metalnessMap));void 0!==a.emissiveMap&&(d.emissiveMap=b(a.emissiveMap));void 0!==a.emissiveIntensity&&(d.emissiveIntensity=a.emissiveIntensity);void 0!==a.specularMap&&(d.specularMap=b(a.specularMap));void 0!==a.envMap&&(d.envMap=b(a.envMap));void 0!==a.reflectivity&&(d.reflectivity=a.reflectivity);void 0!==a.lightMap&&(d.lightMap=b(a.lightMap));void 0!==a.lightMapIntensity&&(d.lightMapIntensity=a.lightMapIntensity);void 0!==a.aoMap&&(d.aoMap=b(a.aoMap));
|
|
|
void 0!==a.aoMapIntensity&&(d.aoMapIntensity=a.aoMapIntensity);void 0!==a.gradientMap&&(d.gradientMap=b(a.gradientMap));if(void 0!==a.materials)for(var e=0,f=a.materials.length;e<f;e++)d.materials.push(this.parse(a.materials[e]));return d}});Object.assign($d.prototype,{load:function(a,b,c,d){var e=this;(new qa(e.manager)).load(a,function(a){b(e.parse(JSON.parse(a)))},c,d)},parse:function(a){var b=new G,c=a.data.index,d={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,
|
|
|
Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};void 0!==c&&(c=new d[c.type](c.array),b.setIndex(new V(c,1)));var e=a.data.attributes,f;for(f in e){var g=e[f],c=new d[g.type](g.array);b.addAttribute(f,new V(c,g.itemSize,g.normalized))}d=a.data.groups||a.data.drawcalls||a.data.offsets;if(void 0!==d)for(f=0,c=d.length;f!==c;++f)e=d[f],b.addGroup(e.start,e.count,e.materialIndex);a=a.data.boundingSphere;void 0!==
|
|
@@ -666,10 +666,10 @@ break;case "mapNormalFactor":l.normalScale=[p,p];break;case "mapNormalRepeat":ca
|
|
|
break;case "mapMetalnessRepeat":case "mapMetalnessOffset":case "mapMetalnessWrap":case "mapMetalnessAnisotropy":break;case "mapRoughness":l.roughnessMap=h(p,e.mapRoughnessRepeat,e.mapRoughnessOffset,e.mapRoughnessWrap,e.mapRoughnessAnisotropy);break;case "mapRoughnessRepeat":case "mapRoughnessOffset":case "mapRoughnessWrap":case "mapRoughnessAnisotropy":break;case "mapAlpha":l.alphaMap=h(p,e.mapAlphaRepeat,e.mapAlphaOffset,e.mapAlphaWrap,e.mapAlphaAnisotropy);break;case "mapAlphaRepeat":case "mapAlphaOffset":case "mapAlphaWrap":case "mapAlphaAnisotropy":break;
|
|
|
case "flipSided":l.side=1;break;case "doubleSided":l.side=2;break;case "transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity");l.opacity=p;break;case "depthTest":case "depthWrite":case "colorWrite":case "opacity":case "reflectivity":case "transparent":case "visible":case "wireframe":l[k]=p;break;case "vertexColors":!0===p&&(l.vertexColors=2);"face"===p&&(l.vertexColors=1);break;default:console.error("THREE.Loader.createMaterial: Unsupported",k,p)}}"MeshBasicMaterial"===
|
|
|
l.type&&delete l.emissive;"MeshPhongMaterial"!==l.type&&delete l.specular;1>l.opacity&&(l.transparent=!0);d.setTextures(m);return d.parse(l)}}()});Object.assign(ae.prototype,{load:function(a,b,c,d){var e=this,f=this.texturePath&&"string"===typeof this.texturePath?this.texturePath:ec.prototype.extractUrlBase(a),g=new qa(this.manager);g.setWithCredentials(this.withCredentials);g.load(a,function(c){c=JSON.parse(c);var d=c.metadata;if(void 0!==d&&(d=d.type,void 0!==d)){if("object"===d.toLowerCase()){console.error("THREE.JSONLoader: "+
|
|
|
-a+" should be loaded with THREE.ObjectLoader instead.");return}if("scene"===d.toLowerCase()){console.error("THREE.JSONLoader: "+a+" should be loaded with THREE.SceneLoader instead.");return}}c=e.parse(c,f);b(c.geometry,c.materials)},c,d)},setTexturePath:function(a){this.texturePath=a},parse:function(a,b){var c=new K,d=void 0!==a.scale?1/a.scale:1;(function(b){var d,g,h,m,l,k,p,n,t,y,r,D,w,x=a.faces;k=a.vertices;var A=a.normals,v=a.colors,F=0;if(void 0!==a.uvs){for(d=0;d<a.uvs.length;d++)a.uvs[d].length&&
|
|
|
-F++;for(d=0;d<F;d++)c.faceVertexUvs[d]=[]}m=0;for(l=k.length;m<l;)d=new q,d.x=k[m++]*b,d.y=k[m++]*b,d.z=k[m++]*b,c.vertices.push(d);m=0;for(l=x.length;m<l;)if(b=x[m++],t=b&1,h=b&2,d=b&8,p=b&16,y=b&32,k=b&64,b&=128,t){t=new oa;t.a=x[m];t.b=x[m+1];t.c=x[m+3];r=new oa;r.a=x[m+1];r.b=x[m+2];r.c=x[m+3];m+=4;h&&(h=x[m++],t.materialIndex=h,r.materialIndex=h);h=c.faces.length;if(d)for(d=0;d<F;d++)for(D=a.uvs[d],c.faceVertexUvs[d][h]=[],c.faceVertexUvs[d][h+1]=[],g=0;4>g;g++)n=x[m++],w=D[2*n],n=D[2*n+1],w=
|
|
|
-new C(w,n),2!==g&&c.faceVertexUvs[d][h].push(w),0!==g&&c.faceVertexUvs[d][h+1].push(w);p&&(p=3*x[m++],t.normal.set(A[p++],A[p++],A[p]),r.normal.copy(t.normal));if(y)for(d=0;4>d;d++)p=3*x[m++],y=new q(A[p++],A[p++],A[p]),2!==d&&t.vertexNormals.push(y),0!==d&&r.vertexNormals.push(y);k&&(k=x[m++],k=v[k],t.color.setHex(k),r.color.setHex(k));if(b)for(d=0;4>d;d++)k=x[m++],k=v[k],2!==d&&t.vertexColors.push(new I(k)),0!==d&&r.vertexColors.push(new I(k));c.faces.push(t);c.faces.push(r)}else{t=new oa;t.a=x[m++];
|
|
|
-t.b=x[m++];t.c=x[m++];h&&(h=x[m++],t.materialIndex=h);h=c.faces.length;if(d)for(d=0;d<F;d++)for(D=a.uvs[d],c.faceVertexUvs[d][h]=[],g=0;3>g;g++)n=x[m++],w=D[2*n],n=D[2*n+1],w=new C(w,n),c.faceVertexUvs[d][h].push(w);p&&(p=3*x[m++],t.normal.set(A[p++],A[p++],A[p]));if(y)for(d=0;3>d;d++)p=3*x[m++],y=new q(A[p++],A[p++],A[p]),t.vertexNormals.push(y);k&&(k=x[m++],t.color.setHex(v[k]));if(b)for(d=0;3>d;d++)k=x[m++],t.vertexColors.push(new I(v[k]));c.faces.push(t)}})(d);(function(){var b=void 0!==a.influencesPerVertex?
|
|
|
+a+" should be loaded with THREE.ObjectLoader instead.");return}if("scene"===d.toLowerCase()){console.error("THREE.JSONLoader: "+a+" should be loaded with THREE.SceneLoader instead.");return}}c=e.parse(c,f);b(c.geometry,c.materials)},c,d)},setTexturePath:function(a){this.texturePath=a},parse:function(a,b){var c=new K,d=void 0!==a.scale?1/a.scale:1;(function(b){var d,g,h,m,l,k,p,n,t,A,r,z,w,x=a.faces;k=a.vertices;var B=a.normals,v=a.colors,F=0;if(void 0!==a.uvs){for(d=0;d<a.uvs.length;d++)a.uvs[d].length&&
|
|
|
+F++;for(d=0;d<F;d++)c.faceVertexUvs[d]=[]}m=0;for(l=k.length;m<l;)d=new q,d.x=k[m++]*b,d.y=k[m++]*b,d.z=k[m++]*b,c.vertices.push(d);m=0;for(l=x.length;m<l;)if(b=x[m++],t=b&1,h=b&2,d=b&8,p=b&16,A=b&32,k=b&64,b&=128,t){t=new oa;t.a=x[m];t.b=x[m+1];t.c=x[m+3];r=new oa;r.a=x[m+1];r.b=x[m+2];r.c=x[m+3];m+=4;h&&(h=x[m++],t.materialIndex=h,r.materialIndex=h);h=c.faces.length;if(d)for(d=0;d<F;d++)for(z=a.uvs[d],c.faceVertexUvs[d][h]=[],c.faceVertexUvs[d][h+1]=[],g=0;4>g;g++)n=x[m++],w=z[2*n],n=z[2*n+1],w=
|
|
|
+new D(w,n),2!==g&&c.faceVertexUvs[d][h].push(w),0!==g&&c.faceVertexUvs[d][h+1].push(w);p&&(p=3*x[m++],t.normal.set(B[p++],B[p++],B[p]),r.normal.copy(t.normal));if(A)for(d=0;4>d;d++)p=3*x[m++],A=new q(B[p++],B[p++],B[p]),2!==d&&t.vertexNormals.push(A),0!==d&&r.vertexNormals.push(A);k&&(k=x[m++],k=v[k],t.color.setHex(k),r.color.setHex(k));if(b)for(d=0;4>d;d++)k=x[m++],k=v[k],2!==d&&t.vertexColors.push(new I(k)),0!==d&&r.vertexColors.push(new I(k));c.faces.push(t);c.faces.push(r)}else{t=new oa;t.a=x[m++];
|
|
|
+t.b=x[m++];t.c=x[m++];h&&(h=x[m++],t.materialIndex=h);h=c.faces.length;if(d)for(d=0;d<F;d++)for(z=a.uvs[d],c.faceVertexUvs[d][h]=[],g=0;3>g;g++)n=x[m++],w=z[2*n],n=z[2*n+1],w=new D(w,n),c.faceVertexUvs[d][h].push(w);p&&(p=3*x[m++],t.normal.set(B[p++],B[p++],B[p]));if(A)for(d=0;3>d;d++)p=3*x[m++],A=new q(B[p++],B[p++],B[p]),t.vertexNormals.push(A);k&&(k=x[m++],t.color.setHex(v[k]));if(b)for(d=0;3>d;d++)k=x[m++],t.vertexColors.push(new I(v[k]));c.faces.push(t)}})(d);(function(){var b=void 0!==a.influencesPerVertex?
|
|
|
a.influencesPerVertex:2;if(a.skinWeights)for(var d=0,g=a.skinWeights.length;d<g;d+=b)c.skinWeights.push(new fa(a.skinWeights[d],1<b?a.skinWeights[d+1]:0,2<b?a.skinWeights[d+2]:0,3<b?a.skinWeights[d+3]:0));if(a.skinIndices)for(d=0,g=a.skinIndices.length;d<g;d+=b)c.skinIndices.push(new fa(a.skinIndices[d],1<b?a.skinIndices[d+1]:0,2<b?a.skinIndices[d+2]:0,3<b?a.skinIndices[d+3]:0));c.bones=a.bones;c.bones&&0<c.bones.length&&(c.skinWeights.length!==c.skinIndices.length||c.skinIndices.length!==c.vertices.length)&&
|
|
|
console.warn("When skinning, number of vertices ("+c.vertices.length+"), skinIndices ("+c.skinIndices.length+"), and skinWeights ("+c.skinWeights.length+") should match.")})();(function(b){if(void 0!==a.morphTargets)for(var d=0,g=a.morphTargets.length;d<g;d++){c.morphTargets[d]={};c.morphTargets[d].name=a.morphTargets[d].name;c.morphTargets[d].vertices=[];for(var h=c.morphTargets[d].vertices,m=a.morphTargets[d].vertices,l=0,k=m.length;l<k;l+=3){var p=new q;p.x=m[l]*b;p.y=m[l+1]*b;p.z=m[l+2]*b;h.push(p)}}if(void 0!==
|
|
|
a.morphColors&&0<a.morphColors.length)for(console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.'),b=c.faces,h=a.morphColors[0].colors,d=0,g=b.length;d<g;d++)b[d].color.fromArray(h,3*d)})(d);(function(){var b=[],d=[];void 0!==a.animation&&d.push(a.animation);void 0!==a.animations&&(a.animations.length?d=d.concat(a.animations):d.push(a.animations));for(var g=0;g<d.length;g++){var h=Aa.parseAnimation(d[g],c.bones);h&&b.push(h)}c.morphTargets&&(d=Aa.CreateClipsFromMorphTargetSequences(c.morphTargets,
|
|
@@ -698,20 +698,20 @@ function(a){return this.getPoint(a)};Ta.prototype.getTangent=function(a){return
|
|
|
c=a.getLength(),a.getPointAt(0===c?0:1-b/c);a++}return null},getLength:function(){var a=this.getCurveLengths();return a[a.length-1]},updateArcLengths:function(){this.needsUpdate=!0;this.cacheLengths=null;this.getLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var a=[],b=0,c=0,d=this.curves.length;c<d;c++)b+=this.curves[c].getLength(),a.push(b);return this.cacheLengths=a},getSpacedPoints:function(a){void 0===a&&
|
|
|
(a=40);for(var b=[],c=0;c<=a;c++)b.push(this.getPoint(c/a));this.autoClose&&b.push(b[0]);return b},getPoints:function(a){a=a||12;for(var b=[],c,d=0,e=this.curves;d<e.length;d++)for(var f=e[d],f=f.getPoints(f&&f.isEllipseCurve?2*a:f&&f.isLineCurve?1:f&&f.isSplineCurve?a*f.points.length:a),g=0;g<f.length;g++){var h=f[g];c&&c.equals(h)||(b.push(h),c=h)}this.autoClose&&1<b.length&&!b[b.length-1].equals(b[0])&&b.push(b[0]);return b},createPointsGeometry:function(a){a=this.getPoints(a);return this.createGeometry(a)},
|
|
|
createSpacedPointsGeometry:function(a){a=this.getSpacedPoints(a);return this.createGeometry(a)},createGeometry:function(a){for(var b=new K,c=0,d=a.length;c<d;c++){var e=a[c];b.vertices.push(new q(e.x,e.y,e.z||0))}return b}});Xa.prototype=Object.create(Ba.prototype);Xa.prototype.constructor=Xa;Xa.prototype.isEllipseCurve=!0;Xa.prototype.getPoint=function(a){for(var b=2*Math.PI,c=this.aEndAngle-this.aStartAngle,d=Math.abs(c)<Number.EPSILON;0>c;)c+=b;for(;c>b;)c-=b;c<Number.EPSILON&&(c=d?0:b);!0!==this.aClockwise||
|
|
|
-d||(c=c===b?-b:c-b);b=this.aStartAngle+a*c;a=this.aX+this.xRadius*Math.cos(b);var e=this.aY+this.yRadius*Math.sin(b);0!==this.aRotation&&(b=Math.cos(this.aRotation),c=Math.sin(this.aRotation),d=a-this.aX,e-=this.aY,a=d*b-e*c+this.aX,e=d*c+e*b+this.aY);return new C(a,e)};zb.prototype=Object.create(Ba.prototype);zb.prototype.constructor=zb;zb.prototype.isSplineCurve=!0;zb.prototype.getPoint=function(a){var b=this.points,c=(b.length-1)*a;a=Math.floor(c);var c=c-a,d=b[0===a?a:a-1],e=b[a],f=b[a>b.length-
|
|
|
-2?b.length-1:a+1],b=b[a>b.length-3?b.length-1:a+2];return new C(Me(c,d.x,e.x,f.x,b.x),Me(c,d.y,e.y,f.y,b.y))};fc.prototype=Object.create(Ba.prototype);fc.prototype.constructor=fc;fc.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2,e=this.v3;return new C(yb(a,b.x,c.x,d.x,e.x),yb(a,b.y,c.y,d.y,e.y))};gc.prototype=Object.create(Ba.prototype);gc.prototype.constructor=gc;gc.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2;return new C(xb(a,b.x,c.x,d.x),xb(a,b.y,c.y,d.y))};
|
|
|
-var pe=Object.assign(Object.create(Zc.prototype),{fromPoints:function(a){this.moveTo(a[0].x,a[0].y);for(var b=1,c=a.length;b<c;b++)this.lineTo(a[b].x,a[b].y)},moveTo:function(a,b){this.currentPoint.set(a,b)},lineTo:function(a,b){var c=new Ta(this.currentPoint.clone(),new C(a,b));this.curves.push(c);this.currentPoint.set(a,b)},quadraticCurveTo:function(a,b,c,d){a=new gc(this.currentPoint.clone(),new C(a,b),new C(c,d));this.curves.push(a);this.currentPoint.set(c,d)},bezierCurveTo:function(a,b,c,d,e,
|
|
|
-f){a=new fc(this.currentPoint.clone(),new C(a,b),new C(c,d),new C(e,f));this.curves.push(a);this.currentPoint.set(e,f)},splineThru:function(a){var b=[this.currentPoint.clone()].concat(a),b=new zb(b);this.curves.push(b);this.currentPoint.copy(a[a.length-1])},arc:function(a,b,c,d,e,f){this.absarc(a+this.currentPoint.x,b+this.currentPoint.y,c,d,e,f)},absarc:function(a,b,c,d,e,f){this.absellipse(a,b,c,c,d,e,f)},ellipse:function(a,b,c,d,e,f,g,h){this.absellipse(a+this.currentPoint.x,b+this.currentPoint.y,
|
|
|
+d||(c=c===b?-b:c-b);b=this.aStartAngle+a*c;a=this.aX+this.xRadius*Math.cos(b);var e=this.aY+this.yRadius*Math.sin(b);0!==this.aRotation&&(b=Math.cos(this.aRotation),c=Math.sin(this.aRotation),d=a-this.aX,e-=this.aY,a=d*b-e*c+this.aX,e=d*c+e*b+this.aY);return new D(a,e)};zb.prototype=Object.create(Ba.prototype);zb.prototype.constructor=zb;zb.prototype.isSplineCurve=!0;zb.prototype.getPoint=function(a){var b=this.points,c=(b.length-1)*a;a=Math.floor(c);var c=c-a,d=b[0===a?a:a-1],e=b[a],f=b[a>b.length-
|
|
|
+2?b.length-1:a+1],b=b[a>b.length-3?b.length-1:a+2];return new D(Me(c,d.x,e.x,f.x,b.x),Me(c,d.y,e.y,f.y,b.y))};fc.prototype=Object.create(Ba.prototype);fc.prototype.constructor=fc;fc.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2,e=this.v3;return new D(yb(a,b.x,c.x,d.x,e.x),yb(a,b.y,c.y,d.y,e.y))};gc.prototype=Object.create(Ba.prototype);gc.prototype.constructor=gc;gc.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2;return new D(xb(a,b.x,c.x,d.x),xb(a,b.y,c.y,d.y))};
|
|
|
+var pe=Object.assign(Object.create(Zc.prototype),{fromPoints:function(a){this.moveTo(a[0].x,a[0].y);for(var b=1,c=a.length;b<c;b++)this.lineTo(a[b].x,a[b].y)},moveTo:function(a,b){this.currentPoint.set(a,b)},lineTo:function(a,b){var c=new Ta(this.currentPoint.clone(),new D(a,b));this.curves.push(c);this.currentPoint.set(a,b)},quadraticCurveTo:function(a,b,c,d){a=new gc(this.currentPoint.clone(),new D(a,b),new D(c,d));this.curves.push(a);this.currentPoint.set(c,d)},bezierCurveTo:function(a,b,c,d,e,
|
|
|
+f){a=new fc(this.currentPoint.clone(),new D(a,b),new D(c,d),new D(e,f));this.curves.push(a);this.currentPoint.set(e,f)},splineThru:function(a){var b=[this.currentPoint.clone()].concat(a),b=new zb(b);this.curves.push(b);this.currentPoint.copy(a[a.length-1])},arc:function(a,b,c,d,e,f){this.absarc(a+this.currentPoint.x,b+this.currentPoint.y,c,d,e,f)},absarc:function(a,b,c,d,e,f){this.absellipse(a,b,c,c,d,e,f)},ellipse:function(a,b,c,d,e,f,g,h){this.absellipse(a+this.currentPoint.x,b+this.currentPoint.y,
|
|
|
c,d,e,f,g,h)},absellipse:function(a,b,c,d,e,f,g,h){a=new Xa(a,b,c,d,e,f,g,h);0<this.curves.length&&(b=a.getPoint(0),b.equals(this.currentPoint)||this.lineTo(b.x,b.y));this.curves.push(a);a=a.getPoint(1);this.currentPoint.copy(a)}});$c.prototype=pe;pe.constructor=$c;Ab.prototype=Object.assign(Object.create(pe),{constructor:Ab,getPointsHoles:function(a){for(var b=[],c=0,d=this.holes.length;c<d;c++)b[c]=this.holes[c].getPoints(a);return b},extractAllPoints:function(a){return{shape:this.getPoints(a),
|
|
|
holes:this.getPointsHoles(a)}},extractPoints:function(a){return this.extractAllPoints(a)}});Object.assign(be.prototype,{moveTo:function(a,b){this.currentPath=new $c;this.subPaths.push(this.currentPath);this.currentPath.moveTo(a,b)},lineTo:function(a,b){this.currentPath.lineTo(a,b)},quadraticCurveTo:function(a,b,c,d){this.currentPath.quadraticCurveTo(a,b,c,d)},bezierCurveTo:function(a,b,c,d,e,f){this.currentPath.bezierCurveTo(a,b,c,d,e,f)},splineThru:function(a){this.currentPath.splineThru(a)},toShapes:function(a,
|
|
|
b){function c(a){for(var b=[],c=0,d=a.length;c<d;c++){var e=a[c],f=new Ab;f.curves=e.curves;b.push(f)}return b}function d(a,b){for(var c=b.length,d=!1,e=c-1,f=0;f<c;e=f++){var g=b[e],h=b[f],m=h.x-g.x,l=h.y-g.y;if(Math.abs(l)>Number.EPSILON){if(0>l&&(g=b[f],m=-m,h=b[e],l=-l),!(a.y<g.y||a.y>h.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=l*(a.x-g.x)-m*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(h.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=h.x))return!0}return d}var e=za.isClockWise,f=this.subPaths;
|
|
|
-if(0===f.length)return[];if(!0===b)return c(f);var g,h,m,l=[];if(1===f.length)return h=f[0],m=new Ab,m.curves=h.curves,l.push(m),l;var k=!e(f[0].getPoints()),k=a?!k:k;m=[];var p=[],n=[],q=0,y;p[q]=void 0;n[q]=[];for(var r=0,D=f.length;r<D;r++)h=f[r],y=h.getPoints(),g=e(y),(g=a?!g:g)?(!k&&p[q]&&q++,p[q]={s:new Ab,p:y},p[q].s.curves=h.curves,k&&q++,n[q]=[]):n[q].push({h:h,p:y[0]});if(!p[0])return c(f);if(1<p.length){r=!1;h=[];e=0;for(f=p.length;e<f;e++)m[e]=[];e=0;for(f=p.length;e<f;e++)for(g=n[e],
|
|
|
-k=0;k<g.length;k++){q=g[k];y=!0;for(D=0;D<p.length;D++)d(q.p,p[D].p)&&(e!==D&&h.push({froms:e,tos:D,hole:k}),y?(y=!1,m[D].push(q)):r=!0);y&&m[e].push(q)}0<h.length&&(r||(n=m))}r=0;for(e=p.length;r<e;r++)for(m=p[r].s,l.push(m),h=n[r],f=0,g=h.length;f<g;f++)m.holes.push(h[f].h);return l}});Object.assign(ce.prototype,{isFont:!0,generateShapes:function(a,b,c){void 0===b&&(b=100);void 0===c&&(c=4);var d=this.data;a=String(a).split("");var e=b/d.resolution,f=(d.boundingBox.yMax-d.boundingBox.yMin+d.underlineThickness)*
|
|
|
-e,g=0,h=0;b=[];for(var m=0;m<a.length;m++){var l=a[m];if("\n"===l)g=0,h-=f;else{var k;k=e;var p=g,n=h;if(l=d.glyphs[l]||d.glyphs["?"]){var q=new be,y=[],r,D,w,x,A,v,C,E;if(l.o)for(var z=l._cachedOutline||(l._cachedOutline=l.o.split(" ")),G=0,I=z.length;G<I;)switch(z[G++]){case "m":r=z[G++]*k+p;D=z[G++]*k+n;q.moveTo(r,D);break;case "l":r=z[G++]*k+p;D=z[G++]*k+n;q.lineTo(r,D);break;case "q":r=z[G++]*k+p;D=z[G++]*k+n;A=z[G++]*k+p;v=z[G++]*k+n;q.quadraticCurveTo(A,v,r,D);if(x=y[y.length-1]){w=x.x;x=x.y;
|
|
|
-for(var K=1;K<=c;K++){var O=K/c;xb(O,w,A,r);xb(O,x,v,D)}}break;case "b":if(r=z[G++]*k+p,D=z[G++]*k+n,A=z[G++]*k+p,v=z[G++]*k+n,C=z[G++]*k+p,E=z[G++]*k+n,q.bezierCurveTo(A,v,C,E,r,D),x=y[y.length-1])for(w=x.x,x=x.y,K=1;K<=c;K++)O=K/c,yb(O,w,A,C,r),yb(O,x,v,E,D)}k={offsetX:l.ha*k,path:q}}else k=void 0;g+=k.offsetX;b.push(k.path)}}c=[];d=0;for(a=b.length;d<a;d++)Array.prototype.push.apply(c,b[d].toShapes());return c}});Object.assign(Ne.prototype,{load:function(a,b,c,d){var e=this;(new qa(this.manager)).load(a,
|
|
|
+if(0===f.length)return[];if(!0===b)return c(f);var g,h,m,l=[];if(1===f.length)return h=f[0],m=new Ab,m.curves=h.curves,l.push(m),l;var k=!e(f[0].getPoints()),k=a?!k:k;m=[];var p=[],n=[],q=0,A;p[q]=void 0;n[q]=[];for(var r=0,z=f.length;r<z;r++)h=f[r],A=h.getPoints(),g=e(A),(g=a?!g:g)?(!k&&p[q]&&q++,p[q]={s:new Ab,p:A},p[q].s.curves=h.curves,k&&q++,n[q]=[]):n[q].push({h:h,p:A[0]});if(!p[0])return c(f);if(1<p.length){r=!1;h=[];e=0;for(f=p.length;e<f;e++)m[e]=[];e=0;for(f=p.length;e<f;e++)for(g=n[e],
|
|
|
+k=0;k<g.length;k++){q=g[k];A=!0;for(z=0;z<p.length;z++)d(q.p,p[z].p)&&(e!==z&&h.push({froms:e,tos:z,hole:k}),A?(A=!1,m[z].push(q)):r=!0);A&&m[e].push(q)}0<h.length&&(r||(n=m))}r=0;for(e=p.length;r<e;r++)for(m=p[r].s,l.push(m),h=n[r],f=0,g=h.length;f<g;f++)m.holes.push(h[f].h);return l}});Object.assign(ce.prototype,{isFont:!0,generateShapes:function(a,b,c){void 0===b&&(b=100);void 0===c&&(c=4);var d=this.data;a=String(a).split("");var e=b/d.resolution,f=(d.boundingBox.yMax-d.boundingBox.yMin+d.underlineThickness)*
|
|
|
+e,g=0,h=0;b=[];for(var m=0;m<a.length;m++){var l=a[m];if("\n"===l)g=0,h-=f;else{var k;k=e;var p=g,n=h;if(l=d.glyphs[l]||d.glyphs["?"]){var q=new be,A=[],r,z,w,x,B,v,D,E;if(l.o)for(var y=l._cachedOutline||(l._cachedOutline=l.o.split(" ")),G=0,I=y.length;G<I;)switch(y[G++]){case "m":r=y[G++]*k+p;z=y[G++]*k+n;q.moveTo(r,z);break;case "l":r=y[G++]*k+p;z=y[G++]*k+n;q.lineTo(r,z);break;case "q":r=y[G++]*k+p;z=y[G++]*k+n;B=y[G++]*k+p;v=y[G++]*k+n;q.quadraticCurveTo(B,v,r,z);if(x=A[A.length-1]){w=x.x;x=x.y;
|
|
|
+for(var K=1;K<=c;K++){var O=K/c;xb(O,w,B,r);xb(O,x,v,z)}}break;case "b":if(r=y[G++]*k+p,z=y[G++]*k+n,B=y[G++]*k+p,v=y[G++]*k+n,D=y[G++]*k+p,E=y[G++]*k+n,q.bezierCurveTo(B,v,D,E,r,z),x=A[A.length-1])for(w=x.x,x=x.y,K=1;K<=c;K++)O=K/c,yb(O,w,B,D,r),yb(O,x,v,E,z)}k={offsetX:l.ha*k,path:q}}else k=void 0;g+=k.offsetX;b.push(k.path)}}c=[];d=0;for(a=b.length;d<a;d++)Array.prototype.push.apply(c,b[d].toShapes());return c}});Object.assign(Ne.prototype,{load:function(a,b,c,d){var e=this;(new qa(this.manager)).load(a,
|
|
|
function(a){var c;try{c=JSON.parse(a)}catch(d){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),c=JSON.parse(a.substring(65,a.length-2))}a=e.parse(c);b&&b(a)},c,d)},parse:function(a){return new ce(a)}});var Md,ge={getContext:function(){void 0===Md&&(Md=new (window.AudioContext||window.webkitAudioContext));return Md},setContext:function(a){Md=a}};Object.assign(de.prototype,{load:function(a,b,c,d){var e=new qa(this.manager);e.setResponseType("arraybuffer");
|
|
|
e.load(a,function(a){ge.getContext().decodeAudioData(a,function(a){b(a)})},c,d)}});ee.prototype=Object.assign(Object.create(ga.prototype),{constructor:ee,isRectAreaLight:!0,copy:function(a){ga.prototype.copy.call(this,a);this.width=a.width;this.height=a.height;return this}});Object.assign(Oe.prototype,{update:function(){var a,b,c,d,e,f,g,h,m=new S,l=new S;return function(k){if(a!==this||b!==k.focus||c!==k.fov||d!==k.aspect*this.aspect||e!==k.near||f!==k.far||g!==k.zoom||h!==this.eyeSep){a=this;b=
|
|
|
-k.focus;c=k.fov;d=k.aspect*this.aspect;e=k.near;f=k.far;g=k.zoom;var p=k.projectionMatrix.clone();h=this.eyeSep/2;var n=h*e/b,q=e*Math.tan(T.DEG2RAD*c*.5)/g,y,r;l.elements[12]=-h;m.elements[12]=h;y=-q*d+n;r=q*d+n;p.elements[0]=2*e/(r-y);p.elements[8]=(r+y)/(r-y);this.cameraL.projectionMatrix.copy(p);y=-q*d-n;r=q*d-n;p.elements[0]=2*e/(r-y);p.elements[8]=(r+y)/(r-y);this.cameraR.projectionMatrix.copy(p)}this.cameraL.matrixWorld.copy(k.matrixWorld).multiply(l);this.cameraR.matrixWorld.copy(k.matrixWorld).multiply(m)}}()});
|
|
|
+k.focus;c=k.fov;d=k.aspect*this.aspect;e=k.near;f=k.far;g=k.zoom;var p=k.projectionMatrix.clone();h=this.eyeSep/2;var n=h*e/b,q=e*Math.tan(T.DEG2RAD*c*.5)/g,A,r;l.elements[12]=-h;m.elements[12]=h;A=-q*d+n;r=q*d+n;p.elements[0]=2*e/(r-A);p.elements[8]=(r+A)/(r-A);this.cameraL.projectionMatrix.copy(p);A=-q*d-n;r=q*d-n;p.elements[0]=2*e/(r-A);p.elements[8]=(r+A)/(r-A);this.cameraR.projectionMatrix.copy(p)}this.cameraL.matrixWorld.copy(k.matrixWorld).multiply(l);this.cameraR.matrixWorld.copy(k.matrixWorld).multiply(m)}}()});
|
|
|
Gd.prototype=Object.create(E.prototype);Gd.prototype.constructor=Gd;fe.prototype=Object.assign(Object.create(E.prototype),{constructor:fe,getInput:function(){return this.gain},removeFilter:function(){null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null)},getFilter:function(){return this.filter},setFilter:function(a){null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):
|
|
|
this.gain.disconnect(this.context.destination);this.filter=a;this.gain.connect(this.filter);this.filter.connect(this.context.destination)},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(a){this.gain.gain.value=a},updateMatrixWorld:function(){var a=new q,b=new la,c=new q,d=new q;return function(e){E.prototype.updateMatrixWorld.call(this,e);e=this.context.listener;var f=this.up;this.matrixWorld.decompose(a,b,c);d.set(0,0,-1).applyQuaternion(b);e.positionX?(e.positionX.setValueAtTime(a.x,
|
|
|
this.context.currentTime),e.positionY.setValueAtTime(a.y,this.context.currentTime),e.positionZ.setValueAtTime(a.z,this.context.currentTime),e.forwardX.setValueAtTime(d.x,this.context.currentTime),e.forwardY.setValueAtTime(d.y,this.context.currentTime),e.forwardZ.setValueAtTime(d.z,this.context.currentTime),e.upX.setValueAtTime(f.x,this.context.currentTime),e.upY.setValueAtTime(f.y,this.context.currentTime),e.upZ.setValueAtTime(f.z,this.context.currentTime)):(e.setPosition(a.x,a.y,a.z),e.setOrientation(d.x,
|
|
@@ -735,10 +735,10 @@ this);return}if(!a.material.materials){console.error(" can not bind to material
|
|
|
a[f]){console.error(" trying to bind to objectIndex of objectName, but is undefined:",this,a);return}a=a[f]}}f=a[d];if(void 0===f)console.error(" trying to update property for track: "+b.nodeName+"."+d+" but it wasn't found.",a);else{b=this.Versioning.None;void 0!==a.needsUpdate?(b=this.Versioning.NeedsUpdate,this.targetObject=a):void 0!==a.matrixWorldNeedsUpdate&&(b=this.Versioning.MatrixWorldNeedsUpdate,this.targetObject=a);c=this.BindingType.Direct;if(void 0!==e){if("morphTargetInfluences"===
|
|
|
d){if(!a.geometry){console.error(" can not bind to morphTargetInfluences becasuse node does not have a geometry",this);return}if(!a.geometry.morphTargets){console.error(" can not bind to morphTargetInfluences becasuse node does not have a geometry.morphTargets",this);return}for(c=0;c<this.node.geometry.morphTargets.length;c++)if(a.geometry.morphTargets[c].name===e){e=c;break}}c=this.BindingType.ArrayElement;this.resolvedProperty=f;this.propertyIndex=e}else void 0!==f.fromArray&&void 0!==f.toArray?
|
|
|
(c=this.BindingType.HasFromToArray,this.resolvedProperty=f):Array.isArray(f)?(c=this.BindingType.EntireArray,this.resolvedProperty=f):this.propertyName=d;this.getValue=this.GetterByBindingType[c];this.setValue=this.SetterByBindingTypeAndVersioning[c][b]}}else console.error(" trying to update node for track: "+this.path+" but it wasn't found.")},unbind:function(){this.node=null;this.getValue=this._getValue_unbound;this.setValue=this._setValue_unbound}});Object.assign(ka.prototype,{_getValue_unbound:ka.prototype.getValue,
|
|
|
-_setValue_unbound:ka.prototype.setValue});Object.assign(Qe.prototype,{isAnimationObjectGroup:!0,add:function(a){for(var b=this._objects,c=b.length,d=this.nCachedObjects_,e=this._indicesByUUID,f=this._paths,g=this._parsedPaths,h=this._bindings,m=h.length,k=0,q=arguments.length;k!==q;++k){var p=arguments[k],n=p.uuid,t=e[n];if(void 0===t){t=c++;e[n]=t;b.push(p);for(var n=0,y=m;n!==y;++n)h[n].push(new ka(p,f[n],g[n]))}else if(t<d){var r=--d,y=b[r];e[y.uuid]=t;b[t]=y;e[n]=r;b[r]=p;n=0;for(y=m;n!==y;++n){var A=
|
|
|
-h[n],w=A[t];A[t]=A[r];void 0===w&&(w=new ka(p,f[n],g[n]));A[r]=w}}else void 0!==b[t]&&console.error("Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes...")}this.nCachedObjects_=d},remove:function(a){for(var b=this._objects,c=this.nCachedObjects_,d=this._indicesByUUID,e=this._bindings,f=e.length,g=0,h=arguments.length;g!==h;++g){var k=arguments[g],l=k.uuid,q=d[l];if(void 0!==q&&q>=c){var p=c++,n=b[p];d[n.uuid]=q;b[q]=n;d[l]=p;b[p]=
|
|
|
-k;k=0;for(l=f;k!==l;++k){var n=e[k],t=n[q];n[q]=n[p];n[p]=t}}}this.nCachedObjects_=c},uncache:function(a){for(var b=this._objects,c=b.length,d=this.nCachedObjects_,e=this._indicesByUUID,f=this._bindings,g=f.length,h=0,k=arguments.length;h!==k;++h){var l=arguments[h].uuid,q=e[l];if(void 0!==q)if(delete e[l],q<d){var l=--d,p=b[l],n=--c,t=b[n];e[p.uuid]=q;b[q]=p;e[t.uuid]=l;b[l]=t;b.pop();p=0;for(t=g;p!==t;++p){var y=f[p],r=y[n];y[q]=y[l];y[l]=r;y.pop()}}else for(n=--c,t=b[n],e[t.uuid]=q,b[q]=t,b.pop(),
|
|
|
-p=0,t=g;p!==t;++p)y=f[p],y[q]=y[n],y.pop()}this.nCachedObjects_=d},subscribe_:function(a,b){var c=this._bindingsIndicesByPath,d=c[a],e=this._bindings;if(void 0!==d)return e[d];var f=this._paths,g=this._parsedPaths,h=this._objects,k=this.nCachedObjects_,l=Array(h.length),d=e.length;c[a]=d;f.push(a);g.push(b);e.push(l);c=k;for(d=h.length;c!==d;++c)l[c]=new ka(h[c],a,b);return l},unsubscribe_:function(a){var b=this._bindingsIndicesByPath,c=b[a];if(void 0!==c){var d=this._paths,e=this._parsedPaths,f=
|
|
|
+_setValue_unbound:ka.prototype.setValue});Object.assign(Qe.prototype,{isAnimationObjectGroup:!0,add:function(a){for(var b=this._objects,c=b.length,d=this.nCachedObjects_,e=this._indicesByUUID,f=this._paths,g=this._parsedPaths,h=this._bindings,m=h.length,k=0,q=arguments.length;k!==q;++k){var p=arguments[k],n=p.uuid,t=e[n];if(void 0===t){t=c++;e[n]=t;b.push(p);for(var n=0,A=m;n!==A;++n)h[n].push(new ka(p,f[n],g[n]))}else if(t<d){var r=--d,A=b[r];e[A.uuid]=t;b[t]=A;e[n]=r;b[r]=p;n=0;for(A=m;n!==A;++n){var z=
|
|
|
+h[n],w=z[t];z[t]=z[r];void 0===w&&(w=new ka(p,f[n],g[n]));z[r]=w}}else void 0!==b[t]&&console.error("Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes...")}this.nCachedObjects_=d},remove:function(a){for(var b=this._objects,c=this.nCachedObjects_,d=this._indicesByUUID,e=this._bindings,f=e.length,g=0,h=arguments.length;g!==h;++g){var k=arguments[g],l=k.uuid,q=d[l];if(void 0!==q&&q>=c){var p=c++,n=b[p];d[n.uuid]=q;b[q]=n;d[l]=p;b[p]=
|
|
|
+k;k=0;for(l=f;k!==l;++k){var n=e[k],t=n[q];n[q]=n[p];n[p]=t}}}this.nCachedObjects_=c},uncache:function(a){for(var b=this._objects,c=b.length,d=this.nCachedObjects_,e=this._indicesByUUID,f=this._bindings,g=f.length,h=0,k=arguments.length;h!==k;++h){var l=arguments[h].uuid,q=e[l];if(void 0!==q)if(delete e[l],q<d){var l=--d,p=b[l],n=--c,t=b[n];e[p.uuid]=q;b[q]=p;e[t.uuid]=l;b[l]=t;b.pop();p=0;for(t=g;p!==t;++p){var A=f[p],r=A[n];A[q]=A[l];A[l]=r;A.pop()}}else for(n=--c,t=b[n],e[t.uuid]=q,b[q]=t,b.pop(),
|
|
|
+p=0,t=g;p!==t;++p)A=f[p],A[q]=A[n],A.pop()}this.nCachedObjects_=d},subscribe_:function(a,b){var c=this._bindingsIndicesByPath,d=c[a],e=this._bindings;if(void 0!==d)return e[d];var f=this._paths,g=this._parsedPaths,h=this._objects,k=this.nCachedObjects_,l=Array(h.length),d=e.length;c[a]=d;f.push(a);g.push(b);e.push(l);c=k;for(d=h.length;c!==d;++c)l[c]=new ka(h[c],a,b);return l},unsubscribe_:function(a){var b=this._bindingsIndicesByPath,c=b[a];if(void 0!==c){var d=this._paths,e=this._parsedPaths,f=
|
|
|
this._bindings,g=f.length-1,h=f[g];b[a[g]]=c;f[c]=h;f.pop();e[c]=e[g];e.pop();d[c]=d[g];d.pop()}}});Object.assign(Re.prototype,{play:function(){this._mixer._activateAction(this);return this},stop:function(){this._mixer._deactivateAction(this);return this.reset()},reset:function(){this.paused=!1;this.enabled=!0;this.time=0;this._loopCount=-1;this._startTime=null;return this.stopFading().stopWarping()},isRunning:function(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&
|
|
|
this._mixer._isActiveAction(this)},isScheduled:function(){return this._mixer._isActiveAction(this)},startAt:function(a){this._startTime=a;return this},setLoop:function(a,b){this.loop=a;this.repetitions=b;return this},setEffectiveWeight:function(a){this.weight=a;this._effectiveWeight=this.enabled?a:0;return this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(a){return this._scheduleFading(a,0,1)},fadeOut:function(a){return this._scheduleFading(a,1,0)},crossFadeFrom:function(a,
|
|
|
b,c){a.fadeOut(b);this.fadeIn(b);if(c){c=this._clip.duration;var d=a._clip.duration,e=c/d;a.warp(1,d/c,b);this.warp(e,1,b)}return this},crossFadeTo:function(a,b,c){return a.crossFadeFrom(this,b,c)},stopFading:function(){var a=this._weightInterpolant;null!==a&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(a));return this},setEffectiveTimeScale:function(a){this.timeScale=a;this._effectiveTimeScale=this.paused?0:a;return this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},
|
|
@@ -767,37 +767,37 @@ this.data.stride+this.offset+2]},getW:function(a){return this.data.array[a*this.
|
|
|
a.dynamic;return this},copyAt:function(a,b,c){a*=this.stride;c*=b.stride;for(var d=0,e=this.stride;d<e;d++)this.array[a+d]=b.array[c+d];return this},set:function(a,b){void 0===b&&(b=0);this.array.set(a,b);return this},clone:function(){return(new this.constructor).copy(this)},onUpload:function(a){this.onUploadCallback=a;return this}});jc.prototype=Object.create(ic.prototype);jc.prototype.constructor=jc;jc.prototype.isInstancedInterleavedBuffer=!0;jc.prototype.copy=function(a){ic.prototype.copy.call(this,
|
|
|
a);this.meshPerAttribute=a.meshPerAttribute;return this};kc.prototype=Object.create(V.prototype);kc.prototype.constructor=kc;kc.prototype.isInstancedBufferAttribute=!0;kc.prototype.copy=function(a){V.prototype.copy.call(this,a);this.meshPerAttribute=a.meshPerAttribute;return this};Object.assign(Te.prototype,{linePrecision:1,set:function(a,b){this.ray.set(a,b)},setFromCamera:function(a,b){b&&b.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(b.matrixWorld),this.ray.direction.set(a.x,a.y,
|
|
|
.5).unproject(b).sub(this.ray.origin).normalize()):b&&b.isOrthographicCamera?(this.ray.origin.set(a.x,a.y,(b.near+b.far)/(b.near-b.far)).unproject(b),this.ray.direction.set(0,0,-1).transformDirection(b.matrixWorld)):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(a,b){var c=[];le(a,this,c,b);c.sort(Ue);return c},intersectObjects:function(a,b){var c=[];if(!1===Array.isArray(a))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),c;for(var d=
|
|
|
-0,e=a.length;d<e;d++)le(a[d],this,c,b);c.sort(Ue);return c}});Object.assign(Ve.prototype,{start:function(){this.oldTime=this.startTime=(performance||Date).now();this.elapsedTime=0;this.running=!0},stop:function(){this.getElapsedTime();this.running=!1},getElapsedTime:function(){this.getDelta();return this.elapsedTime},getDelta:function(){var a=0;this.autoStart&&!this.running&&this.start();if(this.running){var b=(performance||Date).now(),a=(b-this.oldTime)/1E3;this.oldTime=b;this.elapsedTime+=a}return a}});
|
|
|
-Object.assign(We.prototype,{set:function(a,b,c){this.radius=a;this.phi=b;this.theta=c;return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.radius=a.radius;this.phi=a.phi;this.theta=a.theta;return this},makeSafe:function(){this.phi=Math.max(1E-6,Math.min(Math.PI-1E-6,this.phi));return this},setFromVector3:function(a){this.radius=a.length();0===this.radius?this.phi=this.theta=0:(this.theta=Math.atan2(a.x,a.z),this.phi=Math.acos(T.clamp(a.y/this.radius,-1,1)));
|
|
|
-return this}});Object.assign(Xe.prototype,{set:function(a,b,c){this.radius=a;this.theta=b;this.y=c;return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.radius=a.radius;this.theta=a.theta;this.y=a.y;return this},setFromVector3:function(a){this.radius=Math.sqrt(a.x*a.x+a.z*a.z);this.theta=Math.atan2(a.x,a.z);this.y=a.y;return this}});ca.prototype=Object.create(xa.prototype);ca.prototype.constructor=ca;ca.prototype.createAnimation=function(a,b,c,d){b={start:b,
|
|
|
-end:c,length:c-b+1,fps:d,duration:(c-b)/d,lastFrame:0,currentFrame:0,active:!1,time:0,direction:1,weight:1,directionBackwards:!1,mirroredLoop:!1};this.animationsMap[a]=b;this.animationsList.push(b)};ca.prototype.autoCreateAnimations=function(a){for(var b=/([a-z]+)_?(\d+)/i,c,d={},e=this.geometry,f=0,g=e.morphTargets.length;f<g;f++){var h=e.morphTargets[f].name.match(b);if(h&&1<h.length){var k=h[1];d[k]||(d[k]={start:Infinity,end:-Infinity});h=d[k];f<h.start&&(h.start=f);f>h.end&&(h.end=f);c||(c=k)}}for(k in d)h=
|
|
|
-d[k],this.createAnimation(k,h.start,h.end,a);this.firstAnimation=c};ca.prototype.setAnimationDirectionForward=function(a){if(a=this.animationsMap[a])a.direction=1,a.directionBackwards=!1};ca.prototype.setAnimationDirectionBackward=function(a){if(a=this.animationsMap[a])a.direction=-1,a.directionBackwards=!0};ca.prototype.setAnimationFPS=function(a,b){var c=this.animationsMap[a];c&&(c.fps=b,c.duration=(c.end-c.start)/c.fps)};ca.prototype.setAnimationDuration=function(a,b){var c=this.animationsMap[a];
|
|
|
-c&&(c.duration=b,c.fps=(c.end-c.start)/c.duration)};ca.prototype.setAnimationWeight=function(a,b){var c=this.animationsMap[a];c&&(c.weight=b)};ca.prototype.setAnimationTime=function(a,b){var c=this.animationsMap[a];c&&(c.time=b)};ca.prototype.getAnimationTime=function(a){var b=0;if(a=this.animationsMap[a])b=a.time;return b};ca.prototype.getAnimationDuration=function(a){var b=-1;if(a=this.animationsMap[a])b=a.duration;return b};ca.prototype.playAnimation=function(a){var b=this.animationsMap[a];b?(b.time=
|
|
|
-0,b.active=!0):console.warn("THREE.MorphBlendMesh: animation["+a+"] undefined in .playAnimation()")};ca.prototype.stopAnimation=function(a){if(a=this.animationsMap[a])a.active=!1};ca.prototype.update=function(a){for(var b=0,c=this.animationsList.length;b<c;b++){var d=this.animationsList[b];if(d.active){var e=d.duration/d.length;d.time+=d.direction*a;if(d.mirroredLoop){if(d.time>d.duration||0>d.time)d.direction*=-1,d.time>d.duration&&(d.time=d.duration,d.directionBackwards=!0),0>d.time&&(d.time=0,
|
|
|
-d.directionBackwards=!1)}else d.time%=d.duration,0>d.time&&(d.time+=d.duration);var f=d.start+T.clamp(Math.floor(d.time/e),0,d.length-1),g=d.weight;f!==d.currentFrame&&(this.morphTargetInfluences[d.lastFrame]=0,this.morphTargetInfluences[d.currentFrame]=1*g,this.morphTargetInfluences[f]=0,d.lastFrame=d.currentFrame,d.currentFrame=f);e=d.time%e/e;d.directionBackwards&&(e=1-e);d.currentFrame!==d.lastFrame?(this.morphTargetInfluences[d.currentFrame]=e*g,this.morphTargetInfluences[d.lastFrame]=(1-e)*
|
|
|
-g):this.morphTargetInfluences[d.currentFrame]=g}}};ad.prototype=Object.create(E.prototype);ad.prototype.constructor=ad;ad.prototype.isImmediateRenderObject=!0;bd.prototype=Object.create(ea.prototype);bd.prototype.constructor=bd;bd.prototype.update=function(){var a=new q,b=new q,c=new La;return function(){var d=["a","b","c"];this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld);var e=this.object.matrixWorld,f=this.geometry.attributes.position,g=this.object.geometry;if(g&&g.isGeometry)for(var h=
|
|
|
-g.vertices,k=g.faces,l=g=0,q=k.length;l<q;l++)for(var p=k[l],n=0,t=p.vertexNormals.length;n<t;n++){var y=p.vertexNormals[n];a.copy(h[p[d[n]]]).applyMatrix4(e);b.copy(y).applyMatrix3(c).normalize().multiplyScalar(this.size).add(a);f.setXYZ(g,a.x,a.y,a.z);g+=1;f.setXYZ(g,b.x,b.y,b.z);g+=1}else if(g&&g.isBufferGeometry)for(d=g.attributes.position,h=g.attributes.normal,n=g=0,t=d.count;n<t;n++)a.set(d.getX(n),d.getY(n),d.getZ(n)).applyMatrix4(e),b.set(h.getX(n),h.getY(n),h.getZ(n)),b.applyMatrix3(c).normalize().multiplyScalar(this.size).add(a),
|
|
|
-f.setXYZ(g,a.x,a.y,a.z),g+=1,f.setXYZ(g,b.x,b.y,b.z),g+=1;f.needsUpdate=!0;return this}}();lc.prototype=Object.create(E.prototype);lc.prototype.constructor=lc;lc.prototype.dispose=function(){this.cone.geometry.dispose();this.cone.material.dispose()};lc.prototype.update=function(){var a=new q,b=new q;return function(){var c=this.light.distance?this.light.distance:1E3,d=c*Math.tan(this.light.angle);this.cone.scale.set(d,d,c);a.setFromMatrixPosition(this.light.matrixWorld);b.setFromMatrixPosition(this.light.target.matrixWorld);
|
|
|
-this.cone.lookAt(b.sub(a));this.cone.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)}}();mc.prototype=Object.create(ea.prototype);mc.prototype.constructor=mc;mc.prototype.getBoneList=function(a){var b=[];a&&a.isBone&&b.push(a);for(var c=0;c<a.children.length;c++)b.push.apply(b,this.getBoneList(a.children[c]));return b};mc.prototype.update=function(){var a=new q,b=new S,c=new S;return function(){var d=this.geometry,e=d.getAttribute("position");c.getInverse(this.root.matrixWorld);
|
|
|
-for(var f=0,g=0;f<this.bones.length;f++){var h=this.bones[f];h.parent&&h.parent.isBone&&(b.multiplyMatrices(c,h.matrixWorld),a.setFromMatrixPosition(b),e.setXYZ(g,a.x,a.y,a.z),b.multiplyMatrices(c,h.parent.matrixWorld),a.setFromMatrixPosition(b),e.setXYZ(g+1,a.x,a.y,a.z),g+=2)}d.getAttribute("position").needsUpdate=!0}}();nc.prototype=Object.create(xa.prototype);nc.prototype.constructor=nc;nc.prototype.dispose=function(){this.geometry.dispose();this.material.dispose()};nc.prototype.update=function(){this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)};
|
|
|
-oc.prototype=Object.create(E.prototype);oc.prototype.constructor=oc;oc.prototype.dispose=function(){this.children[0].geometry.dispose();this.children[0].material.dispose();this.children[1].geometry.dispose();this.children[1].material.dispose()};oc.prototype.update=function(){var a=new q,b=new q;return function(){var c=this.children[0],d=this.children[1];if(this.light.target){a.setFromMatrixPosition(this.light.matrixWorld);b.setFromMatrixPosition(this.light.target.matrixWorld);var e=b.clone().sub(a);
|
|
|
-c.lookAt(e);d.lookAt(e)}c.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);d.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);var d=.5*this.light.width,e=.5*this.light.height,c=c.geometry.getAttribute("position"),f=c.array;f[0]=d;f[1]=-e;f[2]=0;f[3]=d;f[4]=e;f[5]=0;f[6]=-d;f[7]=e;f[8]=0;f[9]=-d;f[10]=e;f[11]=0;f[12]=-d;f[13]=-e;f[14]=0;f[15]=d;f[16]=-e;f[17]=0;c.needsUpdate=!0}}();pc.prototype=Object.create(E.prototype);pc.prototype.constructor=
|
|
|
-pc;pc.prototype.dispose=function(){this.children[0].geometry.dispose();this.children[0].material.dispose()};pc.prototype.update=function(){var a=new q,b=new I,c=new I;return function(){var d=this.children[0],e=d.geometry.getAttribute("color");b.copy(this.light.color).multiplyScalar(this.light.intensity);c.copy(this.light.groundColor).multiplyScalar(this.light.intensity);for(var f=0,g=e.count;f<g;f++){var h=f<g/2?b:c;e.setXYZ(f,h.r,h.g,h.b)}d.lookAt(a.setFromMatrixPosition(this.light.matrixWorld).negate());
|
|
|
-e.needsUpdate=!0}}();cd.prototype=Object.create(ea.prototype);cd.prototype.constructor=cd;Id.prototype=Object.create(ea.prototype);Id.prototype.constructor=Id;dd.prototype=Object.create(ea.prototype);dd.prototype.constructor=dd;dd.prototype.update=function(){var a=new q,b=new q,c=new La;return function(){this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld);for(var d=this.object.matrixWorld,e=this.geometry.attributes.position,f=this.object.geometry,g=f.vertices,f=f.faces,h=
|
|
|
-0,k=0,l=f.length;k<l;k++){var q=f[k],p=q.normal;a.copy(g[q.a]).add(g[q.b]).add(g[q.c]).divideScalar(3).applyMatrix4(d);b.copy(p).applyMatrix3(c).normalize().multiplyScalar(this.size).add(a);e.setXYZ(h,a.x,a.y,a.z);h+=1;e.setXYZ(h,b.x,b.y,b.z);h+=1}e.needsUpdate=!0;return this}}();qc.prototype=Object.create(E.prototype);qc.prototype.constructor=qc;qc.prototype.dispose=function(){var a=this.children[0],b=this.children[1];a.geometry.dispose();a.material.dispose();b.geometry.dispose();b.material.dispose()};
|
|
|
-qc.prototype.update=function(){var a=new q,b=new q,c=new q;return function(){a.setFromMatrixPosition(this.light.matrixWorld);b.setFromMatrixPosition(this.light.target.matrixWorld);c.subVectors(b,a);var d=this.children[0],e=this.children[1];d.lookAt(c);d.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);e.lookAt(c);e.scale.z=c.length()}}();ed.prototype=Object.create(ea.prototype);ed.prototype.constructor=ed;ed.prototype.update=function(){function a(a,g,h,k){d.set(g,h,k).unproject(e);
|
|
|
-a=c[a];if(void 0!==a)for(g=b.getAttribute("position"),h=0,k=a.length;h<k;h++)g.setXYZ(a[h],d.x,d.y,d.z)}var b,c,d=new q,e=new ma;return function(){b=this.geometry;c=this.pointMap;e.projectionMatrix.copy(this.camera.projectionMatrix);a("c",0,0,-1);a("t",0,0,1);a("n1",-1,-1,-1);a("n2",1,-1,-1);a("n3",-1,1,-1);a("n4",1,1,-1);a("f1",-1,-1,1);a("f2",1,-1,1);a("f3",-1,1,1);a("f4",1,1,1);a("u1",.7,1.1,-1);a("u2",-.7,1.1,-1);a("u3",0,2,-1);a("cf1",-1,0,1);a("cf2",1,0,1);a("cf3",0,-1,1);a("cf4",0,1,1);a("cn1",
|
|
|
--1,0,-1);a("cn2",1,0,-1);a("cn3",0,-1,-1);a("cn4",0,1,-1);b.getAttribute("position").needsUpdate=!0}}();rc.prototype=Object.create(ea.prototype);rc.prototype.constructor=rc;rc.prototype.update=function(){var a=new Ua;return function(b){b&&b.isBox3?a.copy(b):a.setFromObject(b);if(!a.isEmpty()){b=a.min;var c=a.max,d=this.geometry.attributes.position,e=d.array;e[0]=c.x;e[1]=c.y;e[2]=c.z;e[3]=b.x;e[4]=c.y;e[5]=c.z;e[6]=b.x;e[7]=b.y;e[8]=c.z;e[9]=c.x;e[10]=b.y;e[11]=c.z;e[12]=c.x;e[13]=c.y;e[14]=b.z;e[15]=
|
|
|
-b.x;e[16]=c.y;e[17]=b.z;e[18]=b.x;e[19]=b.y;e[20]=b.z;e[21]=c.x;e[22]=b.y;e[23]=b.z;d.needsUpdate=!0;this.geometry.computeBoundingSphere()}}}();var Jd,me;Cb.prototype=Object.create(E.prototype);Cb.prototype.constructor=Cb;Cb.prototype.setDirection=function(){var a=new q,b;return function(c){.99999<c.y?this.quaternion.set(0,0,0,1):-.99999>c.y?this.quaternion.set(1,0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}();Cb.prototype.setLength=function(a,b,c){void 0===
|
|
|
-b&&(b=.2*a);void 0===c&&(c=.2*b);this.line.scale.set(1,Math.max(0,a-b),1);this.line.updateMatrix();this.cone.scale.set(c,b,c);this.cone.position.y=a;this.cone.updateMatrix()};Cb.prototype.setColor=function(a){this.line.material.color.copy(a);this.cone.material.color.copy(a)};Kd.prototype=Object.create(ea.prototype);Kd.prototype.constructor=Kd;var Nd=new q,qe=new ne,re=new ne,se=new ne;Ka.prototype=Object.create(Ba.prototype);Ka.prototype.constructor=Ka;Ka.prototype.getPoint=function(a){var b=this.points,
|
|
|
-c=b.length;2>c&&console.log("duh, you need at least 2 points");a*=c-(this.closed?0:1);var d=Math.floor(a);a-=d;this.closed?d+=0<d?0:(Math.floor(Math.abs(d)/b.length)+1)*b.length:0===a&&d===c-1&&(d=c-2,a=1);var e,f,g;this.closed||0<d?e=b[(d-1)%c]:(Nd.subVectors(b[0],b[1]).add(b[0]),e=Nd);f=b[d%c];g=b[(d+1)%c];this.closed||d+2<c?b=b[(d+2)%c]:(Nd.subVectors(b[c-1],b[c-2]).add(b[c-1]),b=Nd);if(void 0===this.type||"centripetal"===this.type||"chordal"===this.type){var h="chordal"===this.type?.5:.25,c=Math.pow(e.distanceToSquared(f),
|
|
|
-h),d=Math.pow(f.distanceToSquared(g),h),h=Math.pow(g.distanceToSquared(b),h);1E-4>d&&(d=1);1E-4>c&&(c=d);1E-4>h&&(h=d);qe.initNonuniformCatmullRom(e.x,f.x,g.x,b.x,c,d,h);re.initNonuniformCatmullRom(e.y,f.y,g.y,b.y,c,d,h);se.initNonuniformCatmullRom(e.z,f.z,g.z,b.z,c,d,h)}else"catmullrom"===this.type&&(c=void 0!==this.tension?this.tension:.5,qe.initCatmullRom(e.x,f.x,g.x,b.x,c),re.initCatmullRom(e.y,f.y,g.y,b.y,c),se.initCatmullRom(e.z,f.z,g.z,b.z,c));return new q(qe.calc(a),re.calc(a),se.calc(a))};
|
|
|
-fd.prototype=Object.create(Ba.prototype);fd.prototype.constructor=fd;fd.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2,e=this.v3;return new q(yb(a,b.x,c.x,d.x,e.x),yb(a,b.y,c.y,d.y,e.y),yb(a,b.z,c.z,d.z,e.z))};gd.prototype=Object.create(Ba.prototype);gd.prototype.constructor=gd;gd.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2;return new q(xb(a,b.x,c.x,d.x),xb(a,b.y,c.y,d.y),xb(a,b.z,c.z,d.z))};hd.prototype=Object.create(Ba.prototype);hd.prototype.constructor=hd;
|
|
|
-hd.prototype.getPoint=function(a){if(1===a)return this.v2.clone();var b=new q;b.subVectors(this.v2,this.v1);b.multiplyScalar(a);b.add(this.v1);return b};Ld.prototype=Object.create(Xa.prototype);Ld.prototype.constructor=Ld;Ba.create=function(a,b){console.log("THREE.Curve.create() has been deprecated");a.prototype=Object.create(Ba.prototype);a.prototype.constructor=a;a.prototype.getPoint=b;return a};Ye.prototype=Object.create(Ka.prototype);Ze.prototype=Object.create(Ka.prototype);oe.prototype=Object.create(Ka.prototype);
|
|
|
-Object.assign(oe.prototype,{initFromArray:function(a){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(a){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(a){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}});cd.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")};Object.assign(jd.prototype,
|
|
|
-{center:function(a){console.warn("THREE.Box2: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box2: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().");return this.intersectsBox(a)},size:function(a){console.warn("THREE.Box2: .size() has been renamed to .getSize().");return this.getSize(a)}});Object.assign(Ua.prototype,
|
|
|
-{center:function(a){console.warn("THREE.Box3: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box3: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().");return this.intersectsBox(a)},isIntersectionSphere:function(a){console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().");return this.intersectsSphere(a)},
|
|
|
-size:function(a){console.warn("THREE.Box3: .size() has been renamed to .getSize().");return this.getSize(a)}});Gb.prototype.center=function(a){console.warn("THREE.Line3: .center() has been renamed to .getCenter().");return this.getCenter(a)};T.random16=function(){console.warn("THREE.Math.random16() has been deprecated. Use Math.random() instead.");return Math.random()};Object.assign(La.prototype,{flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.");
|
|
|
+0,e=a.length;d<e;d++)le(a[d],this,c,b);c.sort(Ue);return c}});Object.assign(Ve.prototype,{start:function(){this.oldTime=this.startTime=("undefined"===typeof performance?Date:performance).now();this.elapsedTime=0;this.running=!0},stop:function(){this.getElapsedTime();this.running=!1},getElapsedTime:function(){this.getDelta();return this.elapsedTime},getDelta:function(){var a=0;this.autoStart&&!this.running&&this.start();if(this.running){var b=("undefined"===typeof performance?Date:performance).now(),
|
|
|
+a=(b-this.oldTime)/1E3;this.oldTime=b;this.elapsedTime+=a}return a}});Object.assign(We.prototype,{set:function(a,b,c){this.radius=a;this.phi=b;this.theta=c;return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.radius=a.radius;this.phi=a.phi;this.theta=a.theta;return this},makeSafe:function(){this.phi=Math.max(1E-6,Math.min(Math.PI-1E-6,this.phi));return this},setFromVector3:function(a){this.radius=a.length();0===this.radius?this.phi=this.theta=0:(this.theta=
|
|
|
+Math.atan2(a.x,a.z),this.phi=Math.acos(T.clamp(a.y/this.radius,-1,1)));return this}});Object.assign(Xe.prototype,{set:function(a,b,c){this.radius=a;this.theta=b;this.y=c;return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.radius=a.radius;this.theta=a.theta;this.y=a.y;return this},setFromVector3:function(a){this.radius=Math.sqrt(a.x*a.x+a.z*a.z);this.theta=Math.atan2(a.x,a.z);this.y=a.y;return this}});ca.prototype=Object.create(xa.prototype);ca.prototype.constructor=
|
|
|
+ca;ca.prototype.createAnimation=function(a,b,c,d){b={start:b,end:c,length:c-b+1,fps:d,duration:(c-b)/d,lastFrame:0,currentFrame:0,active:!1,time:0,direction:1,weight:1,directionBackwards:!1,mirroredLoop:!1};this.animationsMap[a]=b;this.animationsList.push(b)};ca.prototype.autoCreateAnimations=function(a){for(var b=/([a-z]+)_?(\d+)/i,c,d={},e=this.geometry,f=0,g=e.morphTargets.length;f<g;f++){var h=e.morphTargets[f].name.match(b);if(h&&1<h.length){var k=h[1];d[k]||(d[k]={start:Infinity,end:-Infinity});
|
|
|
+h=d[k];f<h.start&&(h.start=f);f>h.end&&(h.end=f);c||(c=k)}}for(k in d)h=d[k],this.createAnimation(k,h.start,h.end,a);this.firstAnimation=c};ca.prototype.setAnimationDirectionForward=function(a){if(a=this.animationsMap[a])a.direction=1,a.directionBackwards=!1};ca.prototype.setAnimationDirectionBackward=function(a){if(a=this.animationsMap[a])a.direction=-1,a.directionBackwards=!0};ca.prototype.setAnimationFPS=function(a,b){var c=this.animationsMap[a];c&&(c.fps=b,c.duration=(c.end-c.start)/c.fps)};ca.prototype.setAnimationDuration=
|
|
|
+function(a,b){var c=this.animationsMap[a];c&&(c.duration=b,c.fps=(c.end-c.start)/c.duration)};ca.prototype.setAnimationWeight=function(a,b){var c=this.animationsMap[a];c&&(c.weight=b)};ca.prototype.setAnimationTime=function(a,b){var c=this.animationsMap[a];c&&(c.time=b)};ca.prototype.getAnimationTime=function(a){var b=0;if(a=this.animationsMap[a])b=a.time;return b};ca.prototype.getAnimationDuration=function(a){var b=-1;if(a=this.animationsMap[a])b=a.duration;return b};ca.prototype.playAnimation=function(a){var b=
|
|
|
+this.animationsMap[a];b?(b.time=0,b.active=!0):console.warn("THREE.MorphBlendMesh: animation["+a+"] undefined in .playAnimation()")};ca.prototype.stopAnimation=function(a){if(a=this.animationsMap[a])a.active=!1};ca.prototype.update=function(a){for(var b=0,c=this.animationsList.length;b<c;b++){var d=this.animationsList[b];if(d.active){var e=d.duration/d.length;d.time+=d.direction*a;if(d.mirroredLoop){if(d.time>d.duration||0>d.time)d.direction*=-1,d.time>d.duration&&(d.time=d.duration,d.directionBackwards=
|
|
|
+!0),0>d.time&&(d.time=0,d.directionBackwards=!1)}else d.time%=d.duration,0>d.time&&(d.time+=d.duration);var f=d.start+T.clamp(Math.floor(d.time/e),0,d.length-1),g=d.weight;f!==d.currentFrame&&(this.morphTargetInfluences[d.lastFrame]=0,this.morphTargetInfluences[d.currentFrame]=1*g,this.morphTargetInfluences[f]=0,d.lastFrame=d.currentFrame,d.currentFrame=f);e=d.time%e/e;d.directionBackwards&&(e=1-e);d.currentFrame!==d.lastFrame?(this.morphTargetInfluences[d.currentFrame]=e*g,this.morphTargetInfluences[d.lastFrame]=
|
|
|
+(1-e)*g):this.morphTargetInfluences[d.currentFrame]=g}}};ad.prototype=Object.create(E.prototype);ad.prototype.constructor=ad;ad.prototype.isImmediateRenderObject=!0;bd.prototype=Object.create(ea.prototype);bd.prototype.constructor=bd;bd.prototype.update=function(){var a=new q,b=new q,c=new La;return function(){var d=["a","b","c"];this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld);var e=this.object.matrixWorld,f=this.geometry.attributes.position,g=this.object.geometry;if(g&&
|
|
|
+g.isGeometry)for(var h=g.vertices,k=g.faces,l=g=0,q=k.length;l<q;l++)for(var p=k[l],n=0,t=p.vertexNormals.length;n<t;n++){var A=p.vertexNormals[n];a.copy(h[p[d[n]]]).applyMatrix4(e);b.copy(A).applyMatrix3(c).normalize().multiplyScalar(this.size).add(a);f.setXYZ(g,a.x,a.y,a.z);g+=1;f.setXYZ(g,b.x,b.y,b.z);g+=1}else if(g&&g.isBufferGeometry)for(d=g.attributes.position,h=g.attributes.normal,n=g=0,t=d.count;n<t;n++)a.set(d.getX(n),d.getY(n),d.getZ(n)).applyMatrix4(e),b.set(h.getX(n),h.getY(n),h.getZ(n)),
|
|
|
+b.applyMatrix3(c).normalize().multiplyScalar(this.size).add(a),f.setXYZ(g,a.x,a.y,a.z),g+=1,f.setXYZ(g,b.x,b.y,b.z),g+=1;f.needsUpdate=!0;return this}}();lc.prototype=Object.create(E.prototype);lc.prototype.constructor=lc;lc.prototype.dispose=function(){this.cone.geometry.dispose();this.cone.material.dispose()};lc.prototype.update=function(){var a=new q,b=new q;return function(){var c=this.light.distance?this.light.distance:1E3,d=c*Math.tan(this.light.angle);this.cone.scale.set(d,d,c);a.setFromMatrixPosition(this.light.matrixWorld);
|
|
|
+b.setFromMatrixPosition(this.light.target.matrixWorld);this.cone.lookAt(b.sub(a));this.cone.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)}}();mc.prototype=Object.create(ea.prototype);mc.prototype.constructor=mc;mc.prototype.getBoneList=function(a){var b=[];a&&a.isBone&&b.push(a);for(var c=0;c<a.children.length;c++)b.push.apply(b,this.getBoneList(a.children[c]));return b};mc.prototype.update=function(){var a=new q,b=new S,c=new S;return function(){var d=this.geometry,e=
|
|
|
+d.getAttribute("position");c.getInverse(this.root.matrixWorld);for(var f=0,g=0;f<this.bones.length;f++){var h=this.bones[f];h.parent&&h.parent.isBone&&(b.multiplyMatrices(c,h.matrixWorld),a.setFromMatrixPosition(b),e.setXYZ(g,a.x,a.y,a.z),b.multiplyMatrices(c,h.parent.matrixWorld),a.setFromMatrixPosition(b),e.setXYZ(g+1,a.x,a.y,a.z),g+=2)}d.getAttribute("position").needsUpdate=!0}}();nc.prototype=Object.create(xa.prototype);nc.prototype.constructor=nc;nc.prototype.dispose=function(){this.geometry.dispose();
|
|
|
+this.material.dispose()};nc.prototype.update=function(){this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)};oc.prototype=Object.create(E.prototype);oc.prototype.constructor=oc;oc.prototype.dispose=function(){this.children[0].geometry.dispose();this.children[0].material.dispose();this.children[1].geometry.dispose();this.children[1].material.dispose()};oc.prototype.update=function(){var a=new q,b=new q;return function(){var c=this.children[0],d=this.children[1];if(this.light.target){a.setFromMatrixPosition(this.light.matrixWorld);
|
|
|
+b.setFromMatrixPosition(this.light.target.matrixWorld);var e=b.clone().sub(a);c.lookAt(e);d.lookAt(e)}c.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);d.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);var d=.5*this.light.width,e=.5*this.light.height,c=c.geometry.getAttribute("position"),f=c.array;f[0]=d;f[1]=-e;f[2]=0;f[3]=d;f[4]=e;f[5]=0;f[6]=-d;f[7]=e;f[8]=0;f[9]=-d;f[10]=e;f[11]=0;f[12]=-d;f[13]=-e;f[14]=0;f[15]=d;f[16]=-e;f[17]=0;c.needsUpdate=
|
|
|
+!0}}();pc.prototype=Object.create(E.prototype);pc.prototype.constructor=pc;pc.prototype.dispose=function(){this.children[0].geometry.dispose();this.children[0].material.dispose()};pc.prototype.update=function(){var a=new q,b=new I,c=new I;return function(){var d=this.children[0],e=d.geometry.getAttribute("color");b.copy(this.light.color).multiplyScalar(this.light.intensity);c.copy(this.light.groundColor).multiplyScalar(this.light.intensity);for(var f=0,g=e.count;f<g;f++){var h=f<g/2?b:c;e.setXYZ(f,
|
|
|
+h.r,h.g,h.b)}d.lookAt(a.setFromMatrixPosition(this.light.matrixWorld).negate());e.needsUpdate=!0}}();cd.prototype=Object.create(ea.prototype);cd.prototype.constructor=cd;Id.prototype=Object.create(ea.prototype);Id.prototype.constructor=Id;dd.prototype=Object.create(ea.prototype);dd.prototype.constructor=dd;dd.prototype.update=function(){var a=new q,b=new q,c=new La;return function(){this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld);for(var d=this.object.matrixWorld,e=this.geometry.attributes.position,
|
|
|
+f=this.object.geometry,g=f.vertices,f=f.faces,h=0,k=0,l=f.length;k<l;k++){var q=f[k],p=q.normal;a.copy(g[q.a]).add(g[q.b]).add(g[q.c]).divideScalar(3).applyMatrix4(d);b.copy(p).applyMatrix3(c).normalize().multiplyScalar(this.size).add(a);e.setXYZ(h,a.x,a.y,a.z);h+=1;e.setXYZ(h,b.x,b.y,b.z);h+=1}e.needsUpdate=!0;return this}}();qc.prototype=Object.create(E.prototype);qc.prototype.constructor=qc;qc.prototype.dispose=function(){var a=this.children[0],b=this.children[1];a.geometry.dispose();a.material.dispose();
|
|
|
+b.geometry.dispose();b.material.dispose()};qc.prototype.update=function(){var a=new q,b=new q,c=new q;return function(){a.setFromMatrixPosition(this.light.matrixWorld);b.setFromMatrixPosition(this.light.target.matrixWorld);c.subVectors(b,a);var d=this.children[0],e=this.children[1];d.lookAt(c);d.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);e.lookAt(c);e.scale.z=c.length()}}();ed.prototype=Object.create(ea.prototype);ed.prototype.constructor=ed;ed.prototype.update=function(){function a(a,
|
|
|
+g,h,k){d.set(g,h,k).unproject(e);a=c[a];if(void 0!==a)for(g=b.getAttribute("position"),h=0,k=a.length;h<k;h++)g.setXYZ(a[h],d.x,d.y,d.z)}var b,c,d=new q,e=new ma;return function(){b=this.geometry;c=this.pointMap;e.projectionMatrix.copy(this.camera.projectionMatrix);a("c",0,0,-1);a("t",0,0,1);a("n1",-1,-1,-1);a("n2",1,-1,-1);a("n3",-1,1,-1);a("n4",1,1,-1);a("f1",-1,-1,1);a("f2",1,-1,1);a("f3",-1,1,1);a("f4",1,1,1);a("u1",.7,1.1,-1);a("u2",-.7,1.1,-1);a("u3",0,2,-1);a("cf1",-1,0,1);a("cf2",1,0,1);a("cf3",
|
|
|
+0,-1,1);a("cf4",0,1,1);a("cn1",-1,0,-1);a("cn2",1,0,-1);a("cn3",0,-1,-1);a("cn4",0,1,-1);b.getAttribute("position").needsUpdate=!0}}();rc.prototype=Object.create(ea.prototype);rc.prototype.constructor=rc;rc.prototype.update=function(){var a=new Ua;return function(b){b&&b.isBox3?a.copy(b):a.setFromObject(b);if(!a.isEmpty()){b=a.min;var c=a.max,d=this.geometry.attributes.position,e=d.array;e[0]=c.x;e[1]=c.y;e[2]=c.z;e[3]=b.x;e[4]=c.y;e[5]=c.z;e[6]=b.x;e[7]=b.y;e[8]=c.z;e[9]=c.x;e[10]=b.y;e[11]=c.z;
|
|
|
+e[12]=c.x;e[13]=c.y;e[14]=b.z;e[15]=b.x;e[16]=c.y;e[17]=b.z;e[18]=b.x;e[19]=b.y;e[20]=b.z;e[21]=c.x;e[22]=b.y;e[23]=b.z;d.needsUpdate=!0;this.geometry.computeBoundingSphere()}}}();var Jd,me;Cb.prototype=Object.create(E.prototype);Cb.prototype.constructor=Cb;Cb.prototype.setDirection=function(){var a=new q,b;return function(c){.99999<c.y?this.quaternion.set(0,0,0,1):-.99999>c.y?this.quaternion.set(1,0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}();Cb.prototype.setLength=
|
|
|
+function(a,b,c){void 0===b&&(b=.2*a);void 0===c&&(c=.2*b);this.line.scale.set(1,Math.max(0,a-b),1);this.line.updateMatrix();this.cone.scale.set(c,b,c);this.cone.position.y=a;this.cone.updateMatrix()};Cb.prototype.setColor=function(a){this.line.material.color.copy(a);this.cone.material.color.copy(a)};Kd.prototype=Object.create(ea.prototype);Kd.prototype.constructor=Kd;var Nd=new q,qe=new ne,re=new ne,se=new ne;Ka.prototype=Object.create(Ba.prototype);Ka.prototype.constructor=Ka;Ka.prototype.getPoint=
|
|
|
+function(a){var b=this.points,c=b.length;2>c&&console.log("duh, you need at least 2 points");a*=c-(this.closed?0:1);var d=Math.floor(a);a-=d;this.closed?d+=0<d?0:(Math.floor(Math.abs(d)/b.length)+1)*b.length:0===a&&d===c-1&&(d=c-2,a=1);var e,f,g;this.closed||0<d?e=b[(d-1)%c]:(Nd.subVectors(b[0],b[1]).add(b[0]),e=Nd);f=b[d%c];g=b[(d+1)%c];this.closed||d+2<c?b=b[(d+2)%c]:(Nd.subVectors(b[c-1],b[c-2]).add(b[c-1]),b=Nd);if(void 0===this.type||"centripetal"===this.type||"chordal"===this.type){var h="chordal"===
|
|
|
+this.type?.5:.25,c=Math.pow(e.distanceToSquared(f),h),d=Math.pow(f.distanceToSquared(g),h),h=Math.pow(g.distanceToSquared(b),h);1E-4>d&&(d=1);1E-4>c&&(c=d);1E-4>h&&(h=d);qe.initNonuniformCatmullRom(e.x,f.x,g.x,b.x,c,d,h);re.initNonuniformCatmullRom(e.y,f.y,g.y,b.y,c,d,h);se.initNonuniformCatmullRom(e.z,f.z,g.z,b.z,c,d,h)}else"catmullrom"===this.type&&(c=void 0!==this.tension?this.tension:.5,qe.initCatmullRom(e.x,f.x,g.x,b.x,c),re.initCatmullRom(e.y,f.y,g.y,b.y,c),se.initCatmullRom(e.z,f.z,g.z,b.z,
|
|
|
+c));return new q(qe.calc(a),re.calc(a),se.calc(a))};fd.prototype=Object.create(Ba.prototype);fd.prototype.constructor=fd;fd.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2,e=this.v3;return new q(yb(a,b.x,c.x,d.x,e.x),yb(a,b.y,c.y,d.y,e.y),yb(a,b.z,c.z,d.z,e.z))};gd.prototype=Object.create(Ba.prototype);gd.prototype.constructor=gd;gd.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2;return new q(xb(a,b.x,c.x,d.x),xb(a,b.y,c.y,d.y),xb(a,b.z,c.z,d.z))};hd.prototype=Object.create(Ba.prototype);
|
|
|
+hd.prototype.constructor=hd;hd.prototype.getPoint=function(a){if(1===a)return this.v2.clone();var b=new q;b.subVectors(this.v2,this.v1);b.multiplyScalar(a);b.add(this.v1);return b};Ld.prototype=Object.create(Xa.prototype);Ld.prototype.constructor=Ld;Ba.create=function(a,b){console.log("THREE.Curve.create() has been deprecated");a.prototype=Object.create(Ba.prototype);a.prototype.constructor=a;a.prototype.getPoint=b;return a};Ye.prototype=Object.create(Ka.prototype);Ze.prototype=Object.create(Ka.prototype);
|
|
|
+oe.prototype=Object.create(Ka.prototype);Object.assign(oe.prototype,{initFromArray:function(a){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(a){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(a){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}});cd.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")};
|
|
|
+Object.assign(jd.prototype,{center:function(a){console.warn("THREE.Box2: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box2: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().");return this.intersectsBox(a)},size:function(a){console.warn("THREE.Box2: .size() has been renamed to .getSize().");return this.getSize(a)}});
|
|
|
+Object.assign(Ua.prototype,{center:function(a){console.warn("THREE.Box3: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box3: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().");return this.intersectsBox(a)},isIntersectionSphere:function(a){console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().");
|
|
|
+return this.intersectsSphere(a)},size:function(a){console.warn("THREE.Box3: .size() has been renamed to .getSize().");return this.getSize(a)}});Gb.prototype.center=function(a){console.warn("THREE.Line3: .center() has been renamed to .getCenter().");return this.getCenter(a)};T.random16=function(){console.warn("THREE.Math.random16() has been deprecated. Use Math.random() instead.");return Math.random()};Object.assign(La.prototype,{flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.");
|
|
|
return this.toArray(a,b)},multiplyVector3:function(a){console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.");return a.applyMatrix3(this)},multiplyVector3Array:function(a){console.warn("THREE.Matrix3: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead.");return this.applyToVector3Array(a)},applyToBuffer:function(a,b,c){console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.");
|
|
|
return this.applyToBufferAttribute(a)},applyToVector3Array:function(a,b,c){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}});Object.assign(S.prototype,{extractPosition:function(a){console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().");return this.copyPosition(a)},flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.");return this.toArray(a,b)},getPosition:function(){var a;
|
|
|
return function(){void 0===a&&(a=new q);console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.");return a.setFromMatrixColumn(this,3)}}(),setRotationFromQuaternion:function(a){console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().");return this.makeRotationFromQuaternion(a)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(a){console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.");
|
|
@@ -806,7 +806,7 @@ a.transformDirection(this)},crossVector:function(a){console.warn("THREE.Matrix4:
|
|
|
rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBuffer:function(a,b,c){console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.");return this.applyToBufferAttribute(a)},applyToVector3Array:function(a,b,c){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},makeFrustum:function(a,b,c,d,e,f){console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.");
|
|
|
return this.makePerspective(a,b,d,c,e,f)}});ua.prototype.isIntersectionLine=function(a){console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().");return this.intersectsLine(a)};la.prototype.multiplyVector3=function(a){console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.");return a.applyQuaternion(this)};Object.assign(fb.prototype,{isIntersectionBox:function(a){console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().");
|
|
|
return this.intersectsBox(a)},isIntersectionPlane:function(a){console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().");return this.intersectsPlane(a)},isIntersectionSphere:function(a){console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().");return this.intersectsSphere(a)}});Object.assign(Ab.prototype,{extrude:function(a){console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.");return new ya(this,a)},
|
|
|
-makeGeometry:function(a){console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.");return new Xb(this,a)}});Object.assign(C.prototype,{fromAttribute:function(a,b,c){console.error("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)}});Object.assign(q.prototype,{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},
|
|
|
+makeGeometry:function(a){console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.");return new Xb(this,a)}});Object.assign(D.prototype,{fromAttribute:function(a,b,c){console.error("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)}});Object.assign(q.prototype,{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},
|
|
|
setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},getPositionFromMatrix:function(a){console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().");return this.setFromMatrixPosition(a)},getScaleFromMatrix:function(a){console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().");return this.setFromMatrixScale(a)},getColumnFromMatrix:function(a,
|
|
|
b){console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().");return this.setFromMatrixColumn(b,a)},applyProjection:function(a){console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.");return this.applyMatrix4(a)},fromAttribute:function(a,b,c){console.error("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)}});Object.assign(fa.prototype,{fromAttribute:function(a,
|
|
|
b,c){console.error("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)}});K.prototype.computeTangents=function(){console.warn("THREE.Geometry: .computeTangents() has been removed.")};Object.assign(E.prototype,{getChildByName:function(a){console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().");return this.getObjectByName(a)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},
|
|
@@ -834,12 +834,12 @@ set:function(a){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .
|
|
|
Db;k.WebGLRenderer=Vd;k.ShaderLib=bb;k.UniformsLib=O;k.UniformsUtils=Ha;k.ShaderChunk=ba;k.FogExp2=Jb;k.Fog=Kb;k.Scene=ld;k.LensFlare=Wd;k.Sprite=Bc;k.LOD=Cc;k.SkinnedMesh=nd;k.Skeleton=Dc;k.Bone=md;k.Mesh=xa;k.LineSegments=ea;k.LineLoop=od;k.Line=Na;k.Points=Lb;k.Group=Ec;k.VideoTexture=pd;k.DataTexture=db;k.CompressedTexture=Mb;k.CubeTexture=Za;k.CanvasTexture=qd;k.DepthTexture=Fc;k.Texture=aa;k.CompressedTextureLoader=Ke;k.DataTextureLoader=Yd;k.CubeTextureLoader=Zd;k.TextureLoader=rd;k.ObjectLoader=
|
|
|
Le;k.MaterialLoader=Fd;k.BufferGeometryLoader=$d;k.DefaultLoadingManager=na;k.LoadingManager=Xd;k.JSONLoader=ae;k.ImageLoader=Wc;k.FontLoader=Ne;k.FileLoader=qa;k.Loader=ec;k.Cache=id;k.AudioLoader=de;k.SpotLightShadow=td;k.SpotLight=ud;k.PointLight=vd;k.RectAreaLight=ee;k.HemisphereLight=sd;k.DirectionalLightShadow=wd;k.DirectionalLight=xd;k.AmbientLight=yd;k.LightShadow=ub;k.Light=ga;k.StereoCamera=Oe;k.PerspectiveCamera=Ca;k.OrthographicCamera=Ib;k.CubeCamera=Gd;k.Camera=ma;k.AudioListener=fe;
|
|
|
k.PositionalAudio=he;k.AudioContext=ge;k.AudioAnalyser=ie;k.Audio=hc;k.VectorKeyframeTrack=cc;k.StringKeyframeTrack=Cd;k.QuaternionKeyframeTrack=Yc;k.NumberKeyframeTrack=dc;k.ColorKeyframeTrack=Ed;k.BooleanKeyframeTrack=Dd;k.PropertyMixer=je;k.PropertyBinding=ka;k.KeyframeTrack=wb;k.AnimationUtils=ra;k.AnimationObjectGroup=Qe;k.AnimationMixer=Se;k.AnimationClip=Aa;k.Uniform=Hd;k.InstancedBufferGeometry=Bb;k.BufferGeometry=G;k.GeometryIdCount=function(){return Rd++};k.Geometry=K;k.InterleavedBufferAttribute=
|
|
|
-ke;k.InstancedInterleavedBuffer=jc;k.InterleavedBuffer=ic;k.InstancedBufferAttribute=kc;k.Face3=oa;k.Object3D=E;k.Raycaster=Te;k.Layers=Pd;k.EventDispatcher=wa;k.Clock=Ve;k.QuaternionLinearInterpolant=Bd;k.LinearInterpolant=Xc;k.DiscreteInterpolant=Ad;k.CubicInterpolant=zd;k.Interpolant=ja;k.Triangle=Va;k.Math=T;k.Spherical=We;k.Cylindrical=Xe;k.Plane=ua;k.Frustum=kd;k.Sphere=Pa;k.Ray=fb;k.Matrix4=S;k.Matrix3=La;k.Box3=Ua;k.Box2=jd;k.Line3=Gb;k.Euler=cb;k.Vector4=fa;k.Vector3=q;k.Vector2=C;k.Quaternion=
|
|
|
+ke;k.InstancedInterleavedBuffer=jc;k.InterleavedBuffer=ic;k.InstancedBufferAttribute=kc;k.Face3=oa;k.Object3D=E;k.Raycaster=Te;k.Layers=Pd;k.EventDispatcher=wa;k.Clock=Ve;k.QuaternionLinearInterpolant=Bd;k.LinearInterpolant=Xc;k.DiscreteInterpolant=Ad;k.CubicInterpolant=zd;k.Interpolant=ja;k.Triangle=Va;k.Math=T;k.Spherical=We;k.Cylindrical=Xe;k.Plane=ua;k.Frustum=kd;k.Sphere=Pa;k.Ray=fb;k.Matrix4=S;k.Matrix3=La;k.Box3=Ua;k.Box2=jd;k.Line3=Gb;k.Euler=cb;k.Vector4=fa;k.Vector3=q;k.Vector2=D;k.Quaternion=
|
|
|
la;k.Color=I;k.MorphBlendMesh=ca;k.ImmediateRenderObject=ad;k.VertexNormalsHelper=bd;k.SpotLightHelper=lc;k.SkeletonHelper=mc;k.PointLightHelper=nc;k.RectAreaLightHelper=oc;k.HemisphereLightHelper=pc;k.GridHelper=cd;k.PolarGridHelper=Id;k.FaceNormalsHelper=dd;k.DirectionalLightHelper=qc;k.CameraHelper=ed;k.BoxHelper=rc;k.ArrowHelper=Cb;k.AxisHelper=Kd;k.CatmullRomCurve3=Ka;k.CubicBezierCurve3=fd;k.QuadraticBezierCurve3=gd;k.LineCurve3=hd;k.ArcCurve=Ld;k.EllipseCurve=Xa;k.SplineCurve=zb;k.CubicBezierCurve=
|
|
|
fc;k.QuadraticBezierCurve=gc;k.LineCurve=Ta;k.Shape=Ab;k.Path=$c;k.ShapePath=be;k.Font=ce;k.CurvePath=Zc;k.Curve=Ba;k.ShapeUtils=za;k.SceneUtils={createMultiMaterialObject:function(a,b){for(var c=new Ec,d=0,e=b.length;d<e;d++)c.add(new xa(a,b[d]));return c},detach:function(a,b,c){a.applyMatrix(b.matrixWorld);b.remove(a);c.add(a)},attach:function(a,b,c){var d=new S;d.getInverse(c.matrixWorld);a.applyMatrix(d);b.remove(a);c.add(a)}};k.WireframeGeometry=Nb;k.ParametricGeometry=Gc;k.ParametricBufferGeometry=
|
|
|
Ob;k.TetrahedronGeometry=Ic;k.TetrahedronBufferGeometry=Pb;k.OctahedronGeometry=Jc;k.OctahedronBufferGeometry=mb;k.IcosahedronGeometry=Kc;k.IcosahedronBufferGeometry=Qb;k.DodecahedronGeometry=Lc;k.DodecahedronBufferGeometry=Rb;k.PolyhedronGeometry=Hc;k.PolyhedronBufferGeometry=va;k.TubeGeometry=Mc;k.TubeBufferGeometry=Sb;k.TorusKnotGeometry=Nc;k.TorusKnotBufferGeometry=Tb;k.TorusGeometry=Oc;k.TorusBufferGeometry=Ub;k.TextGeometry=Pc;k.SphereGeometry=Qc;k.SphereBufferGeometry=nb;k.RingGeometry=Rc;
|
|
|
k.RingBufferGeometry=Vb;k.PlaneGeometry=yc;k.PlaneBufferGeometry=jb;k.LatheGeometry=Sc;k.LatheBufferGeometry=Wb;k.ShapeGeometry=Xb;k.ShapeBufferGeometry=Yb;k.ExtrudeGeometry=ya;k.EdgesGeometry=Zb;k.ConeGeometry=Tc;k.ConeBufferGeometry=Uc;k.CylinderGeometry=ob;k.CylinderBufferGeometry=Wa;k.CircleGeometry=Vc;k.CircleBufferGeometry=$b;k.BoxGeometry=Hb;k.BoxBufferGeometry=ib;k.ShadowMaterial=ac;k.SpriteMaterial=lb;k.RawShaderMaterial=bc;k.ShaderMaterial=Fa;k.PointsMaterial=Ga;k.MeshPhysicalMaterial=pb;
|
|
|
-k.MeshStandardMaterial=Qa;k.MeshPhongMaterial=pa;k.MeshToonMaterial=qb;k.MeshNormalMaterial=rb;k.MeshLambertMaterial=sb;k.MeshDepthMaterial=ab;k.MeshBasicMaterial=Ia;k.LineDashedMaterial=tb;k.LineBasicMaterial=ia;k.Material=X;k.Float64BufferAttribute=xc;k.Float32BufferAttribute=A;k.Uint32BufferAttribute=hb;k.Int32BufferAttribute=wc;k.Uint16BufferAttribute=gb;k.Int16BufferAttribute=vc;k.Uint8ClampedBufferAttribute=uc;k.Uint8BufferAttribute=tc;k.Int8BufferAttribute=sc;k.BufferAttribute=V;k.REVISION=
|
|
|
+k.MeshStandardMaterial=Qa;k.MeshPhongMaterial=pa;k.MeshToonMaterial=qb;k.MeshNormalMaterial=rb;k.MeshLambertMaterial=sb;k.MeshDepthMaterial=ab;k.MeshBasicMaterial=Ia;k.LineDashedMaterial=tb;k.LineBasicMaterial=ia;k.Material=X;k.Float64BufferAttribute=xc;k.Float32BufferAttribute=B;k.Uint32BufferAttribute=hb;k.Int32BufferAttribute=wc;k.Uint16BufferAttribute=gb;k.Int16BufferAttribute=vc;k.Uint8ClampedBufferAttribute=uc;k.Uint8BufferAttribute=tc;k.Int8BufferAttribute=sc;k.BufferAttribute=V;k.REVISION=
|
|
|
"85dev";k.MOUSE={LEFT:0,MIDDLE:1,RIGHT:2};k.CullFaceNone=0;k.CullFaceBack=1;k.CullFaceFront=2;k.CullFaceFrontBack=3;k.FrontFaceDirectionCW=0;k.FrontFaceDirectionCCW=1;k.BasicShadowMap=0;k.PCFShadowMap=1;k.PCFSoftShadowMap=2;k.FrontSide=0;k.BackSide=1;k.DoubleSide=2;k.FlatShading=1;k.SmoothShading=2;k.NoColors=0;k.FaceColors=1;k.VertexColors=2;k.NoBlending=0;k.NormalBlending=1;k.AdditiveBlending=2;k.SubtractiveBlending=3;k.MultiplyBlending=4;k.CustomBlending=5;k.AddEquation=100;k.SubtractEquation=
|
|
|
101;k.ReverseSubtractEquation=102;k.MinEquation=103;k.MaxEquation=104;k.ZeroFactor=200;k.OneFactor=201;k.SrcColorFactor=202;k.OneMinusSrcColorFactor=203;k.SrcAlphaFactor=204;k.OneMinusSrcAlphaFactor=205;k.DstAlphaFactor=206;k.OneMinusDstAlphaFactor=207;k.DstColorFactor=208;k.OneMinusDstColorFactor=209;k.SrcAlphaSaturateFactor=210;k.NeverDepth=0;k.AlwaysDepth=1;k.LessDepth=2;k.LessEqualDepth=3;k.EqualDepth=4;k.GreaterEqualDepth=5;k.GreaterDepth=6;k.NotEqualDepth=7;k.MultiplyOperation=0;k.MixOperation=
|
|
|
1;k.AddOperation=2;k.NoToneMapping=0;k.LinearToneMapping=1;k.ReinhardToneMapping=2;k.Uncharted2ToneMapping=3;k.CineonToneMapping=4;k.UVMapping=300;k.CubeReflectionMapping=301;k.CubeRefractionMapping=302;k.EquirectangularReflectionMapping=303;k.EquirectangularRefractionMapping=304;k.SphericalReflectionMapping=305;k.CubeUVReflectionMapping=306;k.CubeUVRefractionMapping=307;k.RepeatWrapping=1E3;k.ClampToEdgeWrapping=1001;k.MirroredRepeatWrapping=1002;k.NearestFilter=1003;k.NearestMipMapNearestFilter=
|
|
@@ -850,7 +850,7 @@ function(a){console.warn("THREE.MeshFaceMaterial has been removed. Use an Array
|
|
|
return new Bc(a)};k.ParticleSystem=function(a,b){console.warn("THREE.ParticleSystem has been renamed to THREE.Points.");return new Lb(a,b)};k.PointCloudMaterial=function(a){console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.");return new Ga(a)};k.ParticleBasicMaterial=function(a){console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.");return new Ga(a)};k.ParticleSystemMaterial=function(a){console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.");
|
|
|
return new Ga(a)};k.Vertex=function(a,b,c){console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead.");return new q(a,b,c)};k.DynamicBufferAttribute=function(a,b){console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead.");return(new V(a,b)).setDynamic(!0)};k.Int8Attribute=function(a,b){console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.");return new sc(a,b)};k.Uint8Attribute=
|
|
|
function(a,b){console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.");return new tc(a,b)};k.Uint8ClampedAttribute=function(a,b){console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.");return new uc(a,b)};k.Int16Attribute=function(a,b){console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.");return new vc(a,b)};k.Uint16Attribute=function(a,b){console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.");
|
|
|
-return new gb(a,b)};k.Int32Attribute=function(a,b){console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.");return new wc(a,b)};k.Uint32Attribute=function(a,b){console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.");return new hb(a,b)};k.Float32Attribute=function(a,b){console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.");return new A(a,b)};k.Float64Attribute=
|
|
|
+return new gb(a,b)};k.Int32Attribute=function(a,b){console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.");return new wc(a,b)};k.Uint32Attribute=function(a,b){console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.");return new hb(a,b)};k.Float32Attribute=function(a,b){console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.");return new B(a,b)};k.Float64Attribute=
|
|
|
function(a,b){console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.");return new xc(a,b)};k.ClosedSplineCurve3=Ye;k.SplineCurve3=Ze;k.Spline=oe;k.BoundingBoxHelper=function(a,b){console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.");return new rc(a,b)};k.EdgesHelper=function(a,b){console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.");return new ea(new Zb(a.geometry),new ia({color:void 0!==
|
|
|
b?b:16777215}))};k.WireframeHelper=function(a,b){console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.");return new ea(new Nb(a.geometry),new ia({color:void 0!==b?b:16777215}))};k.XHRLoader=function(a){console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader.");return new qa(a)};k.BinaryTextureLoader=function(a){console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.");return new Yd(a)};k.GeometryUtils={merge:function(a,b,
|
|
|
c){console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.");var d;b.isMesh&&(b.matrixAutoUpdate&&b.updateMatrix(),d=b.matrix,b=b.geometry);a.merge(b,d,c)},center:function(a){console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead.");return a.center()}};k.ImageUtils={crossOrigin:void 0,loadTexture:function(a,b,c,d){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");
|