|
@@ -10,22 +10,22 @@ function Fe(a,b){a.uniform1fv(this.addr,b)}function Ge(a,b){a.uniform1iv(this.ad
|
|
|
e=Ud(c,d);a.uniform1iv(this.addr,e);for(a=0;a!==d;++a)c.setTexture2D(b[a]||Wd,e[a])}function Oe(a,b,c){var d=b.length,e=Ud(c,d);a.uniform1iv(this.addr,e);for(a=0;a!==d;++a)c.setTextureCube(b[a]||Xd,e[a])}function Pe(a){switch(a){case 5126:return Fe;case 35664:return He;case 35665:return Ie;case 35666:return Je;case 35674:return Ke;case 35675:return Le;case 35676:return Me;case 35678:return Ne;case 35680:return Oe;case 5124:case 35670:return Ge;case 35667:case 35671:return Yd;case 35668:case 35672:return Zd;
|
|
|
case 35669:case 35673:return $d}}function Qe(a,b,c){this.id=a;this.addr=c;this.setValue=Ee(b.type)}function Re(a,b,c){this.id=a;this.addr=c;this.size=b.size;this.setValue=Pe(b.type)}function ae(a){this.id=a;this.seq=[];this.map={}}function Ha(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,k=e.name,l=k.length;for(md.lastIndex=0;;){var p=md.exec(k),r=md.lastIndex,
|
|
|
n=p[1],m=p[3];"]"===p[2]&&(n|=0);if(void 0===m||"["===m&&r+2===l){k=g;e=void 0===m?new Qe(n,e,f):new Re(n,e,f);k.seq.push(e);k.map[e.id]=e;break}else m=g.map[n],void 0===m&&(m=new ae(n),n=g,g=m,n.seq.push(g),n.map[g.id]=g),g=m}}}function I(a,b,c){return void 0===b&&void 0===c?this.set(a):this.setRGB(a,b,c)}function dc(a,b){this.min=void 0!==a?a:new B(Infinity,Infinity);this.max=void 0!==b?b:new B(-Infinity,-Infinity)}function Se(a,b){var c,d,e,f,g,k,l,p,r,n,m=a.context,h=a.state,u,v,z,w,x,N;this.render=
|
|
|
-function(y,F,G){if(0!==b.length){y=new q;var E=G.w/G.z,K=.5*G.z,Na=.5*G.w,M=16/G.w,ea=new B(M*E,M),xa=new q(1,1,0),bb=new B(1,1),Fa=new dc;Fa.min.set(0,0);Fa.max.set(G.z-16,G.w-16);if(void 0===w){var M=new Float32Array([-1,-1,0,0,1,-1,1,0,1,1,1,1,-1,1,0,1]),L=new Uint16Array([0,1,2,0,2,3]);u=m.createBuffer();v=m.createBuffer();m.bindBuffer(m.ARRAY_BUFFER,u);m.bufferData(m.ARRAY_BUFFER,M,m.STATIC_DRAW);m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,v);m.bufferData(m.ELEMENT_ARRAY_BUFFER,L,m.STATIC_DRAW);x=m.createTexture();
|
|
|
+function(y,F,G){if(0!==b.length){y=new q;var E=G.w/G.z,K=.5*G.z,Na=.5*G.w,L=16/G.w,ea=new B(L*E,L),xa=new q(1,1,0),bb=new B(1,1),Fa=new dc;Fa.min.set(0,0);Fa.max.set(G.z-16,G.w-16);if(void 0===w){var L=new Float32Array([-1,-1,0,0,1,-1,1,0,1,1,1,1,-1,1,0,1]),M=new Uint16Array([0,1,2,0,2,3]);u=m.createBuffer();v=m.createBuffer();m.bindBuffer(m.ARRAY_BUFFER,u);m.bufferData(m.ARRAY_BUFFER,L,m.STATIC_DRAW);m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,v);m.bufferData(m.ELEMENT_ARRAY_BUFFER,M,m.STATIC_DRAW);x=m.createTexture();
|
|
|
N=m.createTexture();h.bindTexture(m.TEXTURE_2D,x);m.texImage2D(m.TEXTURE_2D,0,m.RGB,16,16,0,m.RGB,m.UNSIGNED_BYTE,null);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_S,m.CLAMP_TO_EDGE);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_T,m.CLAMP_TO_EDGE);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MAG_FILTER,m.NEAREST);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MIN_FILTER,m.NEAREST);h.bindTexture(m.TEXTURE_2D,N);m.texImage2D(m.TEXTURE_2D,0,m.RGBA,16,16,0,m.RGBA,m.UNSIGNED_BYTE,null);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_S,
|
|
|
-m.CLAMP_TO_EDGE);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_T,m.CLAMP_TO_EDGE);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MAG_FILTER,m.NEAREST);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MIN_FILTER,m.NEAREST);var M=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}"},L=m.createProgram(),O=m.createShader(m.FRAGMENT_SHADER),
|
|
|
-P=m.createShader(m.VERTEX_SHADER),R="precision "+a.getPrecision()+" float;\n";m.shaderSource(O,R+M.fragmentShader);m.shaderSource(P,R+M.vertexShader);m.compileShader(O);m.compileShader(P);m.attachShader(L,O);m.attachShader(L,P);m.linkProgram(L);w=L;r=m.getAttribLocation(w,"position");n=m.getAttribLocation(w,"uv");c=m.getUniformLocation(w,"renderType");d=m.getUniformLocation(w,"map");e=m.getUniformLocation(w,"occlusionMap");f=m.getUniformLocation(w,"opacity");g=m.getUniformLocation(w,"color");k=m.getUniformLocation(w,
|
|
|
-"scale");l=m.getUniformLocation(w,"rotation");p=m.getUniformLocation(w,"screenPosition")}m.useProgram(w);h.initAttributes();h.enableAttribute(r);h.enableAttribute(n);h.disableUnusedAttributes();m.uniform1i(e,0);m.uniform1i(d,1);m.bindBuffer(m.ARRAY_BUFFER,u);m.vertexAttribPointer(r,2,m.FLOAT,!1,16,0);m.vertexAttribPointer(n,2,m.FLOAT,!1,16,8);m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,v);h.disable(m.CULL_FACE);h.setDepthWrite(!1);L=0;for(O=b.length;L<O;L++)if(M=16/G.w,ea.set(M*E,M),P=b[L],y.set(P.matrixWorld.elements[12],
|
|
|
+m.CLAMP_TO_EDGE);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_T,m.CLAMP_TO_EDGE);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MAG_FILTER,m.NEAREST);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MIN_FILTER,m.NEAREST);var L=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}"},M=m.createProgram(),O=m.createShader(m.FRAGMENT_SHADER),
|
|
|
+P=m.createShader(m.VERTEX_SHADER),R="precision "+a.getPrecision()+" float;\n";m.shaderSource(O,R+L.fragmentShader);m.shaderSource(P,R+L.vertexShader);m.compileShader(O);m.compileShader(P);m.attachShader(M,O);m.attachShader(M,P);m.linkProgram(M);w=M;r=m.getAttribLocation(w,"position");n=m.getAttribLocation(w,"uv");c=m.getUniformLocation(w,"renderType");d=m.getUniformLocation(w,"map");e=m.getUniformLocation(w,"occlusionMap");f=m.getUniformLocation(w,"opacity");g=m.getUniformLocation(w,"color");k=m.getUniformLocation(w,
|
|
|
+"scale");l=m.getUniformLocation(w,"rotation");p=m.getUniformLocation(w,"screenPosition")}m.useProgram(w);h.initAttributes();h.enableAttribute(r);h.enableAttribute(n);h.disableUnusedAttributes();m.uniform1i(e,0);m.uniform1i(d,1);m.bindBuffer(m.ARRAY_BUFFER,u);m.vertexAttribPointer(r,2,m.FLOAT,!1,16,0);m.vertexAttribPointer(n,2,m.FLOAT,!1,16,8);m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,v);h.disable(m.CULL_FACE);h.setDepthWrite(!1);M=0;for(O=b.length;M<O;M++)if(L=16/G.w,ea.set(L*E,L),P=b[M],y.set(P.matrixWorld.elements[12],
|
|
|
P.matrixWorld.elements[13],P.matrixWorld.elements[14]),y.applyMatrix4(F.matrixWorldInverse),y.applyProjection(F.projectionMatrix),xa.copy(y),bb.x=G.x+xa.x*K+K-8,bb.y=G.y+xa.y*Na+Na-8,!0===Fa.containsPoint(bb)){h.activeTexture(m.TEXTURE0);h.bindTexture(m.TEXTURE_2D,null);h.activeTexture(m.TEXTURE1);h.bindTexture(m.TEXTURE_2D,x);m.copyTexImage2D(m.TEXTURE_2D,0,m.RGB,bb.x,bb.y,16,16,0);m.uniform1i(c,0);m.uniform2f(k,ea.x,ea.y);m.uniform3f(p,xa.x,xa.y,xa.z);h.disable(m.BLEND);h.enable(m.DEPTH_TEST);m.drawElements(m.TRIANGLES,
|
|
|
6,m.UNSIGNED_SHORT,0);h.activeTexture(m.TEXTURE0);h.bindTexture(m.TEXTURE_2D,N);m.copyTexImage2D(m.TEXTURE_2D,0,m.RGBA,bb.x,bb.y,16,16,0);m.uniform1i(c,1);h.disable(m.DEPTH_TEST);h.activeTexture(m.TEXTURE1);h.bindTexture(m.TEXTURE_2D,x);m.drawElements(m.TRIANGLES,6,m.UNSIGNED_SHORT,0);P.positionScreen.copy(xa);P.customUpdateCallback?P.customUpdateCallback(P):P.updateLensFlares();m.uniform1i(c,2);h.enable(m.BLEND);for(var R=0,Te=P.lensFlares.length;R<Te;R++){var V=P.lensFlares[R];.001<V.opacity&&.001<
|
|
|
-V.scale&&(xa.x=V.x,xa.y=V.y,xa.z=V.z,M=V.size*V.scale/G.w,ea.x=M*E,ea.y=M,m.uniform3f(p,xa.x,xa.y,xa.z),m.uniform2f(k,ea.x,ea.y),m.uniform1f(l,V.rotation),m.uniform1f(f,V.opacity),m.uniform3f(g,V.color.r,V.color.g,V.color.b),h.setBlending(V.blending,V.blendEquation,V.blendSrc,V.blendDst),a.setTexture2D(V.texture,1),m.drawElements(m.TRIANGLES,6,m.UNSIGNED_SHORT,0))}}h.enable(m.CULL_FACE);h.enable(m.DEPTH_TEST);h.setDepthWrite(!0);a.resetGLState()}}}function Ue(a,b){var c,d,e,f,g,k,l,p,r,h,m,t,u,v,
|
|
|
-z,w,x;function N(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:b.id-a.id}var y=a.context,F=a.state,G,E,K,Na,M=new q,ea=new oa,xa=new q;this.render=function(q,Fa){if(0!==b.length){if(void 0===K){var L=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),O=new Uint16Array([0,1,2,0,2,3]);G=y.createBuffer();E=y.createBuffer();y.bindBuffer(y.ARRAY_BUFFER,G);y.bufferData(y.ARRAY_BUFFER,L,y.STATIC_DRAW);y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,E);y.bufferData(y.ELEMENT_ARRAY_BUFFER,
|
|
|
-O,y.STATIC_DRAW);var L=y.createProgram(),O=y.createShader(y.VERTEX_SHADER),P=y.createShader(y.FRAGMENT_SHADER);y.shaderSource(O,["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.scale&&(xa.x=V.x,xa.y=V.y,xa.z=V.z,L=V.size*V.scale/G.w,ea.x=L*E,ea.y=L,m.uniform3f(p,xa.x,xa.y,xa.z),m.uniform2f(k,ea.x,ea.y),m.uniform1f(l,V.rotation),m.uniform1f(f,V.opacity),m.uniform3f(g,V.color.r,V.color.g,V.color.b),h.setBlending(V.blending,V.blendEquation,V.blendSrc,V.blendDst),a.setTexture2D(V.texture,1),m.drawElements(m.TRIANGLES,6,m.UNSIGNED_SHORT,0))}}h.enable(m.CULL_FACE);h.enable(m.DEPTH_TEST);h.setDepthWrite(!0);a.resetGLState()}}}function Ue(a,b){var c,d,e,f,g,k,l,p,r,h,m,t,u,v,
|
|
|
+z,w,x;function N(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:b.id-a.id}var y=a.context,F=a.state,G,E,K,Na,L=new q,ea=new oa,xa=new q;this.render=function(q,Fa){if(0!==b.length){if(void 0===K){var M=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),O=new Uint16Array([0,1,2,0,2,3]);G=y.createBuffer();E=y.createBuffer();y.bindBuffer(y.ARRAY_BUFFER,G);y.bufferData(y.ARRAY_BUFFER,M,y.STATIC_DRAW);y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,E);y.bufferData(y.ELEMENT_ARRAY_BUFFER,
|
|
|
+O,y.STATIC_DRAW);var M=y.createProgram(),O=y.createShader(y.VERTEX_SHADER),P=y.createShader(y.FRAGMENT_SHADER);y.shaderSource(O,["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"));
|
|
|
y.shaderSource(P,["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"));
|
|
|
-y.compileShader(O);y.compileShader(P);y.attachShader(L,O);y.attachShader(L,P);y.linkProgram(L);K=L;w=y.getAttribLocation(K,"position");x=y.getAttribLocation(K,"uv");c=y.getUniformLocation(K,"uvOffset");d=y.getUniformLocation(K,"uvScale");e=y.getUniformLocation(K,"rotation");f=y.getUniformLocation(K,"scale");g=y.getUniformLocation(K,"color");k=y.getUniformLocation(K,"map");l=y.getUniformLocation(K,"opacity");p=y.getUniformLocation(K,"modelViewMatrix");r=y.getUniformLocation(K,"projectionMatrix");h=
|
|
|
-y.getUniformLocation(K,"fogType");m=y.getUniformLocation(K,"fogDensity");t=y.getUniformLocation(K,"fogNear");u=y.getUniformLocation(K,"fogFar");v=y.getUniformLocation(K,"fogColor");z=y.getUniformLocation(K,"alphaTest");L=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");L.width=8;L.height=8;O=L.getContext("2d");O.fillStyle="white";O.fillRect(0,0,8,8);Na=new Z(L);Na.needsUpdate=!0}y.useProgram(K);F.initAttributes();F.enableAttribute(w);F.enableAttribute(x);F.disableUnusedAttributes();
|
|
|
-F.disable(y.CULL_FACE);F.enable(y.BLEND);y.bindBuffer(y.ARRAY_BUFFER,G);y.vertexAttribPointer(w,2,y.FLOAT,!1,16,0);y.vertexAttribPointer(x,2,y.FLOAT,!1,16,8);y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,E);y.uniformMatrix4fv(r,!1,Fa.projectionMatrix.elements);F.activeTexture(y.TEXTURE0);y.uniform1i(k,0);O=L=0;(P=q.fog)?(y.uniform3f(v,P.color.r,P.color.g,P.color.b),P&&P.isFog?(y.uniform1f(t,P.near),y.uniform1f(u,P.far),y.uniform1i(h,1),O=L=1):P&&P.isFogExp2&&(y.uniform1f(m,P.density),y.uniform1i(h,2),O=L=2)):
|
|
|
-(y.uniform1i(h,0),O=L=0);for(var P=0,R=b.length;P<R;P++){var B=b[P];B.modelViewMatrix.multiplyMatrices(Fa.matrixWorldInverse,B.matrixWorld);B.z=-B.modelViewMatrix.elements[14]}b.sort(N);for(var V=[],P=0,R=b.length;P<R;P++){var B=b[P],W=B.material;!1!==W.visible&&(y.uniform1f(z,W.alphaTest),y.uniformMatrix4fv(p,!1,B.modelViewMatrix.elements),B.matrixWorld.decompose(M,ea,xa),V[0]=xa.x,V[1]=xa.y,B=0,q.fog&&W.fog&&(B=O),L!==B&&(y.uniform1i(h,B),L=B),null!==W.map?(y.uniform2f(c,W.map.offset.x,W.map.offset.y),
|
|
|
+y.compileShader(O);y.compileShader(P);y.attachShader(M,O);y.attachShader(M,P);y.linkProgram(M);K=M;w=y.getAttribLocation(K,"position");x=y.getAttribLocation(K,"uv");c=y.getUniformLocation(K,"uvOffset");d=y.getUniformLocation(K,"uvScale");e=y.getUniformLocation(K,"rotation");f=y.getUniformLocation(K,"scale");g=y.getUniformLocation(K,"color");k=y.getUniformLocation(K,"map");l=y.getUniformLocation(K,"opacity");p=y.getUniformLocation(K,"modelViewMatrix");r=y.getUniformLocation(K,"projectionMatrix");h=
|
|
|
+y.getUniformLocation(K,"fogType");m=y.getUniformLocation(K,"fogDensity");t=y.getUniformLocation(K,"fogNear");u=y.getUniformLocation(K,"fogFar");v=y.getUniformLocation(K,"fogColor");z=y.getUniformLocation(K,"alphaTest");M=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");M.width=8;M.height=8;O=M.getContext("2d");O.fillStyle="white";O.fillRect(0,0,8,8);Na=new Z(M);Na.needsUpdate=!0}y.useProgram(K);F.initAttributes();F.enableAttribute(w);F.enableAttribute(x);F.disableUnusedAttributes();
|
|
|
+F.disable(y.CULL_FACE);F.enable(y.BLEND);y.bindBuffer(y.ARRAY_BUFFER,G);y.vertexAttribPointer(w,2,y.FLOAT,!1,16,0);y.vertexAttribPointer(x,2,y.FLOAT,!1,16,8);y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,E);y.uniformMatrix4fv(r,!1,Fa.projectionMatrix.elements);F.activeTexture(y.TEXTURE0);y.uniform1i(k,0);O=M=0;(P=q.fog)?(y.uniform3f(v,P.color.r,P.color.g,P.color.b),P&&P.isFog?(y.uniform1f(t,P.near),y.uniform1f(u,P.far),y.uniform1i(h,1),O=M=1):P&&P.isFogExp2&&(y.uniform1f(m,P.density),y.uniform1i(h,2),O=M=2)):
|
|
|
+(y.uniform1i(h,0),O=M=0);for(var P=0,R=b.length;P<R;P++){var B=b[P];B.modelViewMatrix.multiplyMatrices(Fa.matrixWorldInverse,B.matrixWorld);B.z=-B.modelViewMatrix.elements[14]}b.sort(N);for(var V=[],P=0,R=b.length;P<R;P++){var B=b[P],W=B.material;!1!==W.visible&&(y.uniform1f(z,W.alphaTest),y.uniformMatrix4fv(p,!1,B.modelViewMatrix.elements),B.matrixWorld.decompose(L,ea,xa),V[0]=xa.x,V[1]=xa.y,B=0,q.fog&&W.fog&&(B=O),M!==B&&(y.uniform1i(h,B),M=B),null!==W.map?(y.uniform2f(c,W.map.offset.x,W.map.offset.y),
|
|
|
y.uniform2f(d,W.map.repeat.x,W.map.repeat.y)):(y.uniform2f(c,0,0),y.uniform2f(d,1,1)),y.uniform1f(l,W.opacity),y.uniform3f(g,W.color.r,W.color.g,W.color.b),y.uniform1f(e,W.rotation),y.uniform2fv(f,V),F.setBlending(W.blending,W.blendEquation,W.blendSrc,W.blendDst),F.setDepthTest(W.depthTest),F.setDepthWrite(W.depthWrite),W.map?a.setTexture2D(W.map,0):a.setTexture2D(Na,0),y.drawElements(y.TRIANGLES,6,y.UNSIGNED_SHORT,0))}F.enable(y.CULL_FACE);a.resetGLState()}}}function T(){Object.defineProperty(this,
|
|
|
"id",{value:be++});this.uuid=h.Math.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=!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 Ea(a){T.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=
|
|
@@ -34,17 +34,17 @@ this.skinning=this.clipping=this.lights=this.fog=!1;this.extensions={derivatives
|
|
|
function fa(a,b){this.normal=void 0!==a?a:new q(1,0,0);this.constant=void 0!==b?b:0}function ec(a,b,c,d,e,f){this.planes=[void 0!==a?a:new fa,void 0!==b?b:new fa,void 0!==c?c:new fa,void 0!==d?d:new fa,void 0!==e?e:new fa,void 0!==f?f:new fa]}function ce(a,b,c,d){function e(b,c,d,e){var f=b.geometry,g;g=z;var k=b.customDepthMaterial;d&&(g=w,k=b.customDistanceMaterial);k?g=k:(k=!1,c.morphTargets&&(f&&f.isBufferGeometry?k=f.morphAttributes&&f.morphAttributes.position&&0<f.morphAttributes.position.length:
|
|
|
f&&f.isGeometry&&(k=f.morphTargets&&0<f.morphTargets.length)),b=b.isSkinnedMesh&&c.skinning,f=0,k&&(f|=1),b&&(f|=2),g=g[f]);a.localClippingEnabled&&!0===c.clipShadows&&0!==c.clippingPlanes.length&&(f=g.uuid,k=c.uuid,b=x[f],void 0===b&&(b={},x[f]=b),f=b[k],void 0===f&&(f=g.clone(),b[k]=f),g=f);g.visible=c.visible;g.wireframe=c.wireframe;k=c.side;ea.renderSingleSided&&2==k&&(k=0);ea.renderReverseSided&&(0===k?k=1:1===k&&(k=0));g.side=k;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(a,b,c){if(!1!==a.visible){0!==(a.layers.mask&b.layers.mask)&&(a.isMesh||a.isLine||a.isPoints)&&a.castShadow&&(!1===a.frustumCulled||!0===l.intersectsObject(a))&&!0===a.material.visible&&(a.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,a.matrixWorld),v.push(a));a=a.children;for(var d=0,e=a.length;d<e;d++)f(a[d],b,c)}}var g=a.context,k=a.state,l=new ec,p=new Q,
|
|
|
-r=b.shadows,n=new B,m=new B(d.maxTextureSize,d.maxTextureSize),t=new q,u=new q,v=[],z=Array(4),w=Array(4),x={},N=[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)],y=[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)],F=[new da,new da,new da,new da,new da,new da];b=new Va;b.depthPacking=3201;b.clipping=!0;d=Bb.distanceRGBA;for(var G=h.UniformsUtils.clone(d.uniforms),E=0;4!==E;++E){var K=0!==(E&1),Na=0!==(E&2),M=b.clone();M.morphTargets=
|
|
|
-K;M.skinning=Na;z[E]=M;K=new Ea({defines:{USE_SHADOWMAP:""},uniforms:G,vertexShader:d.vertexShader,fragmentShader:d.fragmentShader,morphTargets:K,skinning:Na,clipping:!0});w[E]=K}var ea=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.renderSingleSided=this.renderReverseSided=!0;this.render=function(b,d){if(!1!==ea.enabled&&(!1!==ea.autoUpdate||!1!==ea.needsUpdate)&&0!==r.length){k.clearColor(1,1,1,1);k.disable(g.BLEND);k.setDepthTest(!0);k.setScissorTest(!1);for(var h,
|
|
|
-x,w=0,z=r.length;w<z;w++){var q=r[w],E=q.shadow;if(void 0===E)console.warn("THREE.WebGLShadowMap:",q,"has no shadow.");else{var G=E.camera;n.copy(E.mapSize);n.min(m);if(q&&q.isPointLight){h=6;x=!0;var K=n.x,M=n.y;F[0].set(2*K,M,K,M);F[1].set(0,M,K,M);F[2].set(3*K,M,K,M);F[3].set(K,M,K,M);F[4].set(3*K,0,K,M);F[5].set(K,0,K,M);n.x*=4;n.y*=2}else h=1,x=!1;null===E.map&&(E.map=new yb(n.x,n.y,{minFilter:1003,magFilter:1003,format:1023}),G.updateProjectionMatrix());E&&E.isSpotLightShadow&&E.update(q);K=
|
|
|
+r=b.shadows,n=new B,m=new B(d.maxTextureSize,d.maxTextureSize),t=new q,u=new q,v=[],z=Array(4),w=Array(4),x={},N=[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)],y=[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)],F=[new da,new da,new da,new da,new da,new da];b=new Va;b.depthPacking=3201;b.clipping=!0;d=Bb.distanceRGBA;for(var G=h.UniformsUtils.clone(d.uniforms),E=0;4!==E;++E){var K=0!==(E&1),Na=0!==(E&2),L=b.clone();L.morphTargets=
|
|
|
+K;L.skinning=Na;z[E]=L;K=new Ea({defines:{USE_SHADOWMAP:""},uniforms:G,vertexShader:d.vertexShader,fragmentShader:d.fragmentShader,morphTargets:K,skinning:Na,clipping:!0});w[E]=K}var ea=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.renderSingleSided=this.renderReverseSided=!0;this.render=function(b,d){if(!1!==ea.enabled&&(!1!==ea.autoUpdate||!1!==ea.needsUpdate)&&0!==r.length){k.clearColor(1,1,1,1);k.disable(g.BLEND);k.setDepthTest(!0);k.setScissorTest(!1);for(var h,
|
|
|
+x,w=0,z=r.length;w<z;w++){var q=r[w],E=q.shadow;if(void 0===E)console.warn("THREE.WebGLShadowMap:",q,"has no shadow.");else{var G=E.camera;n.copy(E.mapSize);n.min(m);if(q&&q.isPointLight){h=6;x=!0;var K=n.x,L=n.y;F[0].set(2*K,L,K,L);F[1].set(0,L,K,L);F[2].set(3*K,L,K,L);F[3].set(K,L,K,L);F[4].set(3*K,0,K,L);F[5].set(K,0,K,L);n.x*=4;n.y*=2}else h=1,x=!1;null===E.map&&(E.map=new yb(n.x,n.y,{minFilter:1003,magFilter:1003,format:1023}),G.updateProjectionMatrix());E&&E.isSpotLightShadow&&E.update(q);K=
|
|
|
E.map;E=E.matrix;u.setFromMatrixPosition(q.matrixWorld);G.position.copy(u);a.setRenderTarget(K);a.clear();for(K=0;K<h;K++){x?(t.copy(G.position),t.add(N[K]),G.up.copy(y[K]),G.lookAt(t),k.viewport(F[K])):(t.setFromMatrixPosition(q.target.matrixWorld),G.lookAt(t));G.updateMatrixWorld();G.matrixWorldInverse.getInverse(G.matrixWorld);E.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);E.multiply(G.projectionMatrix);E.multiply(G.matrixWorldInverse);p.multiplyMatrices(G.projectionMatrix,G.matrixWorldInverse);
|
|
|
-l.setFromMatrix(p);v.length=0;f(b,d,G);for(var M=0,Na=v.length;M<Na;M++){var B=v[M],C=c.update(B),D=B.material;if(D&&D.isMultiMaterial)for(var Wa=C.groups,D=D.materials,nd=0,Ba=Wa.length;nd<Ba;nd++){var Ra=Wa[nd],Oa=D[Ra.materialIndex];!0===Oa.visible&&(Oa=e(B,Oa,x,u),a.renderBufferDirect(G,null,C,Oa,B,Ra))}else Oa=e(B,D,x,u),a.renderBufferDirect(G,null,C,Oa,B,null)}}}}h=a.getClearColor();x=a.getClearAlpha();a.setClearColor(h,x);ea.needsUpdate=!1}}}function C(a,b,c){if(Array.isArray(a))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");
|
|
|
+l.setFromMatrix(p);v.length=0;f(b,d,G);for(var L=0,Na=v.length;L<Na;L++){var B=v[L],C=c.update(B),D=B.material;if(D&&D.isMultiMaterial)for(var Wa=C.groups,D=D.materials,nd=0,Ba=Wa.length;nd<Ba;nd++){var Ra=Wa[nd],Oa=D[Ra.materialIndex];!0===Oa.visible&&(Oa=e(B,Oa,x,u),a.renderBufferDirect(G,null,C,Oa,B,Ra))}else Oa=e(B,D,x,u),a.renderBufferDirect(G,null,C,Oa,B,null)}}}}h=a.getClearColor();x=a.getClearAlpha();a.setClearColor(h,x);ea.needsUpdate=!1}}}function C(a,b,c){if(Array.isArray(a))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");
|
|
|
this.uuid=h.Math.generateUUID();this.array=a;this.itemSize=b;this.normalized=!0===c;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.version=0}function de(a,b){return new C(new Uint16Array(a),b)}function ee(a,b){return new C(new Uint32Array(a),b)}function ka(a,b){return new C(new Float32Array(a),b)}function la(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 Xa(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._order=d||Xa.DefaultOrder}function Lc(){this.mask=1}function D(){Object.defineProperty(this,"id",{value:fe++});this.uuid=h.Math.generateUUID();this.name="";this.type="Object3D";this.parent=null;this.children=[];this.up=D.DefaultUp.clone();var a=new q,b=new Xa,c=new oa,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 Q},normalMatrix:{value:new ya}});this.matrix=new Q;this.matrixWorld=new Q;this.matrixAutoUpdate=D.DefaultMatrixAutoUpdate;this.matrixWorldNeedsUpdate=!1;this.layers=new Lc;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this.renderOrder=0;this.userData={}}function S(){Object.defineProperty(this,"id",{value:Mc++});
|
|
|
this.uuid=h.Math.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 od(){Object.defineProperty(this,"id",{value:Mc++});
|
|
|
this.uuid=h.Math.generateUUID();this.name="";this.type="DirectGeometry";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 H(){Object.defineProperty(this,"id",{value:Mc++});this.uuid=h.Math.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 db(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,l,p,B,D){var C=f/p,L=g/B,O=f/2,P=g/2,R=l/2;g=p+1;for(var I=B+1,V=f=0,W=new q,J=0;J<I;J++)for(var Q=J*L-P,H=0;H<g;H++)W[a]=(H*C-O)*d,W[b]=Q*e,W[c]=R,h[u]=W.x,h[u+1]=W.y,h[u+2]=W.z,W[a]=0,W[b]=0,W[c]=0<l?1:-1,m[u]=W.x,m[u+1]=W.y,m[u+2]=W.z,t[v]=H/p,t[v+1]=1-J/B,u+=3,v+=2,f+=1;for(J=
|
|
|
+"BufferGeometry";this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.drawRange={start:0,count:Infinity}}function db(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,l,p,B,D){var C=f/p,M=g/B,O=f/2,P=g/2,R=l/2;g=p+1;for(var I=B+1,V=f=0,W=new q,J=0;J<I;J++)for(var Q=J*M-P,H=0;H<g;H++)W[a]=(H*C-O)*d,W[b]=Q*e,W[c]=R,h[u]=W.x,h[u+1]=W.y,h[u+2]=W.z,W[a]=0,W[b]=0,W[c]=0<l?1:-1,m[u]=W.x,m[u+1]=W.y,m[u+2]=W.z,t[v]=H/p,t[v+1]=1-J/B,u+=3,v+=2,f+=1;for(J=
|
|
|
0;J<B;J++)for(H=0;H<p;H++)a=w+H+g*(J+1),b=w+(H+1)+g*(J+1),c=w+(H+1)+g*J,r[z]=w+H+g*J,r[z+1]=a,r[z+2]=c,r[z+3]=a,r[z+4]=b,r[z+5]=c,z+=6,V+=6;k.addGroup(x,V,D);x+=V;w+=f}H.call(this);this.type="BoxBufferGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};var k=this;d=Math.floor(d)||1;e=Math.floor(e)||1;f=Math.floor(f)||1;var l=function(a,b,c){return a=0+(a+1)*(b+1)*2+(a+1)*(c+1)*2+(c+1)*(b+1)*2}(d,e,f),p=function(a,b,c){a=0+a*b*2+a*c*2+c*b*2;return 6*
|
|
|
a}(d,e,f),r=new (65535<p?Uint32Array:Uint16Array)(p),h=new Float32Array(3*l),m=new Float32Array(3*l),t=new Float32Array(2*l),u=0,v=0,z=0,w=0,x=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(new C(r,1));this.addAttribute("position",new C(h,3));this.addAttribute("normal",new C(m,3));this.addAttribute("uv",new C(t,2))}function Ya(a,b){this.origin=
|
|
|
void 0!==a?a:new q;this.direction=void 0!==b?b:new q}function Cb(a,b){this.start=void 0!==a?a:new q;this.end=void 0!==b?b:new q}function Ga(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 Ja(a){T.call(this);this.type="MeshBasicMaterial";this.color=new I(16777215);this.aoMap=this.map=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=
|
|
@@ -91,14 +91,14 @@ a.deleteTexture(c.__webglTexture)}d["delete"](b)}z.textures--}function n(b){b=b.
|
|
|
d["delete"](b.texture);d["delete"](b)}z.textures--}function m(b,g){var p=d.get(b);if(0<b.version&&p.__version!==b.version){var m=b.image;if(void 0===m)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined",b);else if(!1===m.complete)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete",b);else{void 0===p.__webglInit&&(p.__webglInit=!0,b.addEventListener("dispose",r),p.__webglTexture=a.createTexture(),z.textures++);c.activeTexture(a.TEXTURE0+
|
|
|
g);c.bindTexture(a.TEXTURE_2D,p.__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 n=k(b.image,e.maxTextureSize);if((1001!==b.wrapS||1001!==b.wrapT||1003!==b.minFilter&&1006!==b.minFilter)&&!1===l(n))if(m=n,m instanceof HTMLImageElement||m instanceof HTMLCanvasElement){var u=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");u.width=h.Math.nearestPowerOfTwo(m.width);
|
|
|
u.height=h.Math.nearestPowerOfTwo(m.height);u.getContext("2d").drawImage(m,0,0,u.width,u.height);console.warn("THREE.WebGLRenderer: image is not power of two ("+m.width+"x"+m.height+"). Resized to "+u.width+"x"+u.height,m);n=u}else n=m;var m=l(n),u=f(b.format),v=f(b.type);t(a.TEXTURE_2D,b,m);var q=b.mipmaps;if(b&&b.isDepthTexture){q=a.DEPTH_COMPONENT;if(1015===b.type){if(!w)throw Error("Float Depth Texture only supported in WebGL2.0");q=a.DEPTH_COMPONENT32F}else w&&(q=a.DEPTH_COMPONENT16);1027===
|
|
|
-b.format&&(q=a.DEPTH_STENCIL);c.texImage2D(a.TEXTURE_2D,0,q,n.width,n.height,0,u,v,null)}else if(b&&b.isDataTexture)if(0<q.length&&m){for(var M=0,B=q.length;M<B;M++)n=q[M],c.texImage2D(a.TEXTURE_2D,M,u,n.width,n.height,0,u,v,n.data);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,u,n.width,n.height,0,u,v,n.data);else if(b&&b.isCompressedTexture)for(M=0,B=q.length;M<B;M++)n=q[M],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(u)?c.compressedTexImage2D(a.TEXTURE_2D,
|
|
|
-M,u,n.width,n.height,0,n.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):c.texImage2D(a.TEXTURE_2D,M,u,n.width,n.height,0,u,v,n.data);else if(0<q.length&&m){M=0;for(B=q.length;M<B;M++)n=q[M],c.texImage2D(a.TEXTURE_2D,M,u,u,v,n);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,u,u,v,n);b.generateMipmaps&&m&&a.generateMipmap(a.TEXTURE_2D);p.__version=b.version;if(b.onUpdate)b.onUpdate(b);return}}c.activeTexture(a.TEXTURE0+g);
|
|
|
+b.format&&(q=a.DEPTH_STENCIL);c.texImage2D(a.TEXTURE_2D,0,q,n.width,n.height,0,u,v,null)}else if(b&&b.isDataTexture)if(0<q.length&&m){for(var L=0,B=q.length;L<B;L++)n=q[L],c.texImage2D(a.TEXTURE_2D,L,u,n.width,n.height,0,u,v,n.data);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,u,n.width,n.height,0,u,v,n.data);else if(b&&b.isCompressedTexture)for(L=0,B=q.length;L<B;L++)n=q[L],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(u)?c.compressedTexImage2D(a.TEXTURE_2D,
|
|
|
+L,u,n.width,n.height,0,n.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):c.texImage2D(a.TEXTURE_2D,L,u,n.width,n.height,0,u,v,n.data);else if(0<q.length&&m){L=0;for(B=q.length;L<B;L++)n=q[L],c.texImage2D(a.TEXTURE_2D,L,u,u,v,n);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,u,u,v,n);b.generateMipmaps&&m&&a.generateMipmap(a.TEXTURE_2D);p.__version=b.version;if(b.onUpdate)b.onUpdate(b);return}}c.activeTexture(a.TEXTURE0+g);
|
|
|
c.bindTexture(a.TEXTURE_2D,p.__webglTexture)}function t(c,g,k){k?(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,p(g.magFilter)),a.texParameteri(c,a.TEXTURE_MIN_FILTER,p(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));!(k=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,k.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(g.anisotropy,e.getMaxAnisotropy())),d.get(g).__currentAnisotropy=g.anisotropy)}function u(b,e,g,k){var l=f(e.texture.format),p=f(e.texture.type);c.texImage2D(k,0,l,e.width,e.height,0,l,p,null);a.bindFramebuffer(a.FRAMEBUFFER,b);a.framebufferTexture2D(a.FRAMEBUFFER,g,k,d.get(e.texture).__webglTexture,0);a.bindFramebuffer(a.FRAMEBUFFER,null)}function v(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 z=g.memory,w="undefined"!==typeof WebGL2RenderingContext&&a instanceof WebGL2RenderingContext;
|
|
|
this.setTexture2D=m;this.setTextureCube=function(b,g){var p=d.get(b);if(6===b.image.length)if(0<b.version&&p.__version!==b.version){p.__image__webglTextureCube||(b.addEventListener("dispose",r),p.__image__webglTextureCube=a.createTexture(),z.textures++);c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_CUBE_MAP,p.__image__webglTextureCube);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b.flipY);for(var h=b&&b.isCompressedTexture,m=b.image[0]&&b.image[0].isDataTexture,n=[],u=0;6>u;u++)n[u]=h||m?m?b.image[u].image:
|
|
|
-b.image[u]:k(b.image[u],e.maxCubemapSize);var v=l(n[0]),q=f(b.format),w=f(b.type);t(a.TEXTURE_CUBE_MAP,b,v);for(u=0;6>u;u++)if(h)for(var B,D=n[u].mipmaps,C=0,L=D.length;C<L;C++)B=D[C],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(q)?c.compressedTexImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+u,C,q,B.width,B.height,0,B.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+
|
|
|
+b.image[u]:k(b.image[u],e.maxCubemapSize);var v=l(n[0]),q=f(b.format),w=f(b.type);t(a.TEXTURE_CUBE_MAP,b,v);for(u=0;6>u;u++)if(h)for(var B,D=n[u].mipmaps,C=0,M=D.length;C<M;C++)B=D[C],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(q)?c.compressedTexImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+u,C,q,B.width,B.height,0,B.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+
|
|
|
u,C,q,B.width,B.height,0,q,w,B.data);else m?c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+u,0,q,n[u].width,n[u].height,0,q,w,n[u].data):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+u,0,q,q,w,n[u]);b.generateMipmaps&&v&&a.generateMipmap(a.TEXTURE_CUBE_MAP);p.__version=b.version;if(b.onUpdate)b.onUpdate(b)}else c.activeTexture(a.TEXTURE0+g),c.bindTexture(a.TEXTURE_CUBE_MAP,p.__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",n);f.__webglTexture=a.createTexture();z.textures++;var g=b&&b.isWebGLRenderTargetCube,k=l(b);if(g){e.__webglFramebuffer=[];for(var p=0;6>p;p++)e.__webglFramebuffer[p]=a.createFramebuffer()}else e.__webglFramebuffer=a.createFramebuffer();if(g){c.bindTexture(a.TEXTURE_CUBE_MAP,f.__webglTexture);t(a.TEXTURE_CUBE_MAP,b.texture,k);for(p=0;6>p;p++)u(e.__webglFramebuffer[p],b,a.COLOR_ATTACHMENT0,
|
|
|
a.TEXTURE_CUBE_MAP_POSITIVE_X+p);b.texture.generateMipmaps&&k&&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,k),u(e.__webglFramebuffer,b,a.COLOR_ATTACHMENT0,a.TEXTURE_2D),b.texture.generateMipmaps&&k&&a.generateMipmap(a.TEXTURE_2D),c.bindTexture(a.TEXTURE_2D,null);if(b.depthBuffer){e=d.get(b);f=b&&b.isWebGLRenderTargetCube;if(b.depthTexture){if(f)throw Error("target.depthTexture not supported in Cube render targets");
|
|
@@ -107,17 +107,17 @@ if(b&&b.isWebGLRenderTargetCube)throw Error("Depth Texture with cube render targ
|
|
|
b);else a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer),e.__webglDepthbuffer=a.createRenderbuffer(),v(e.__webglDepthbuffer,b);a.bindFramebuffer(a.FRAMEBUFFER,null)}};this.updateRenderTargetMipmap=function(b){var e=b.texture;e.generateMipmaps&&l(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 jf(){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 kf(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!==F[b]&&(a.enable(b),F[b]=!0)}function f(b){!1!==F[b]&&(a.disable(b),F[b]=!1)}function g(b,
|
|
|
d,g,k,l,p,h,m){if(0!==b){e(a.BLEND);if(b!==E||m!==Fa)2===b?m?(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?m?(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?m?(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)):m?(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)),E=b,Fa=m;if(5===b){l=l||d;p=p||g;h=h||k;if(d!==K||l!==ea)a.blendEquationSeparate(c(d),c(l)),K=d,ea=l;if(g!==B||k!==M||p!==C||h!==D)a.blendFuncSeparate(c(g),
|
|
|
-c(k),c(p),c(h)),B=g,M=k,C=p,D=h}else D=C=ea=M=B=K=null}else f(a.BLEND),E=b}function k(a){v.setFunc(a)}function l(b){L!==b&&(b?a.frontFace(a.CW):a.frontFace(a.CCW),L=b)}function p(b){0!==b?(e(a.CULL_FACE),b!==O&&(1===b?a.cullFace(a.BACK):2===b?a.cullFace(a.FRONT):a.cullFace(a.FRONT_AND_BACK))):f(a.CULL_FACE);O=b}function h(b){void 0===b&&(b=a.TEXTURE0+W-1);J!==b&&(a.activeTexture(b),J=b)}function n(a,b,c,d){u.setClear(a,b,c,d)}function m(a){v.setClear(a)}function t(a){q.setClear(a)}var u=new function(){var b=
|
|
|
+a.SRC_COLOR,a.ZERO,a.SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.ZERO,a.SRC_COLOR)):m?(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)),E=b,Fa=m;if(5===b){l=l||d;p=p||g;h=h||k;if(d!==K||l!==ea)a.blendEquationSeparate(c(d),c(l)),K=d,ea=l;if(g!==B||k!==L||p!==C||h!==D)a.blendFuncSeparate(c(g),
|
|
|
+c(k),c(p),c(h)),B=g,L=k,C=p,D=h}else D=C=ea=L=B=K=null}else f(a.BLEND),E=b}function k(a){v.setFunc(a)}function l(b){M!==b&&(b?a.frontFace(a.CW):a.frontFace(a.CCW),M=b)}function p(b){0!==b?(e(a.CULL_FACE),b!==O&&(1===b?a.cullFace(a.BACK):2===b?a.cullFace(a.FRONT):a.cullFace(a.FRONT_AND_BACK))):f(a.CULL_FACE);O=b}function h(b){void 0===b&&(b=a.TEXTURE0+W-1);J!==b&&(a.activeTexture(b),J=b)}function n(a,b,c,d){u.setClear(a,b,c,d)}function m(a){v.setClear(a)}function t(a){q.setClear(a)}var u=new function(){var b=
|
|
|
!1,c=new da,d=null,e=new da;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){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)}}},v=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}}},q=new function(){var b=!1,c=null,d=null,g=null,k=null,l=null,p=null,h=null,m=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||k!==e)a.stencilFunc(b,c,e),d=b,g=c,k=e},setOp:function(b,c,d){if(l!==b||p!==c||h!==d)a.stencilOp(b,c,d),l=b,p=c,h=d},setLocked:function(a){b=a},setClear:function(b){m!==b&&(a.clearStencil(b),m=b)},reset:function(){b=!1;m=h=p=l=k=g=d=c=null}}},w=a.getParameter(a.MAX_VERTEX_ATTRIBS),x=new Uint8Array(w),N=new Uint8Array(w),y=new Uint8Array(w),
|
|
|
-F={},G=null,E=null,K=null,B=null,M=null,ea=null,C=null,D=null,Fa=!1,L=null,O=null,P=null,R=null,H=null,V=null,W=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS),J=null,I={},Q=new da,T=new da,cb={};cb[a.TEXTURE_2D]=d(a.TEXTURE_2D,a.TEXTURE_2D,1);cb[a.TEXTURE_CUBE_MAP]=d(a.TEXTURE_CUBE_MAP,a.TEXTURE_CUBE_MAP_POSITIVE_X,6);return{buffers:{color:u,depth:v,stencil:q},init:function(){n(0,0,0,1);m(1);t(0);e(a.DEPTH_TEST);k(3);l(!1);p(1);e(a.CULL_FACE);e(a.BLEND);g(1)},initAttributes:function(){for(var a=0,b=x.length;a<
|
|
|
+F={},G=null,E=null,K=null,B=null,L=null,ea=null,C=null,D=null,Fa=!1,M=null,O=null,P=null,R=null,H=null,V=null,W=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS),J=null,I={},Q=new da,T=new da,cb={};cb[a.TEXTURE_2D]=d(a.TEXTURE_2D,a.TEXTURE_2D,1);cb[a.TEXTURE_CUBE_MAP]=d(a.TEXTURE_CUBE_MAP,a.TEXTURE_CUBE_MAP_POSITIVE_X,6);return{buffers:{color:u,depth:v,stencil:q},init:function(){n(0,0,0,1);m(1);t(0);e(a.DEPTH_TEST);k(3);l(!1);p(1);e(a.CULL_FACE);e(a.BLEND);g(1)},initAttributes:function(){for(var a=0,b=x.length;a<
|
|
|
b;a++)x[a]=0},enableAttribute:function(c){x[c]=1;0===N[c]&&(a.enableVertexAttribArray(c),N[c]=1);0!==y[c]&&(b.get("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(c,0),y[c]=0)},enableAttributeAndDivisor:function(b,c,d){x[b]=1;0===N[b]&&(a.enableVertexAttribArray(b),N[b]=1);y[b]!==c&&(d.vertexAttribDivisorANGLE(b,c),y[b]=c)},disableUnusedAttributes:function(){for(var b=0,c=N.length;b!==c;++b)N[b]!==x[b]&&(a.disableVertexAttribArray(b),N[b]=0)},enable:e,disable:f,getCompressedTextureFormats:function(){if(null===
|
|
|
G&&(G=[],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++)G.push(c[d]);return G},setBlending:g,setColorWrite:function(a){u.setMask(a)},setDepthTest:function(a){v.setTest(a)},setDepthWrite:function(a){v.setMask(a)},setDepthFunc:k,setStencilTest:function(a){q.setTest(a)},setStencilWrite:function(a){q.setMask(a)},setStencilFunc:function(a,b,c){q.setFunc(a,
|
|
|
b,c)},setStencilOp:function(a,b,c){q.setOp(a,b,c)},setFlipSided:l,setCullFace:p,setLineWidth:function(b){b!==P&&(a.lineWidth(b),P=b)},setPolygonOffset:function(b,c,d){if(b){if(e(a.POLYGON_OFFSET_FILL),R!==c||H!==d)a.polygonOffset(c,d),R=c,H=d}else f(a.POLYGON_OFFSET_FILL)},getScissorTest:function(){return V},setScissorTest:function(b){(V=b)?e(a.SCISSOR_TEST):f(a.SCISSOR_TEST)},activeTexture:h,bindTexture:function(b,c){null===J&&h();var d=I[J];void 0===d&&(d={type:void 0,texture:void 0},I[J]=d);if(d.type!==
|
|
|
b||d.texture!==c)a.bindTexture(b,c||cb[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)}},clearColor:n,clearDepth:m,clearStencil:t,scissor:function(b){!1===Q.equals(b)&&(a.scissor(b.x,b.y,b.z,b.w),Q.copy(b))},viewport:function(b){!1===T.equals(b)&&(a.viewport(b.x,b.y,b.z,b.w),T.copy(b))},reset:function(){for(var b=0;b<N.length;b++)1===
|
|
|
-N[b]&&(a.disableVertexAttribArray(b),N[b]=0);F={};J=G=null;I={};O=L=E=null;u.reset();v.reset();q.reset()}}}function lf(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":
|
|
|
+N[b]&&(a.disableVertexAttribArray(b),N[b]=0);F={};J=G=null;I={};O=M=E=null;u.reset();v.reset();q.reset()}}}function lf(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),k=a.getParameter(a.MAX_VERTEX_TEXTURE_IMAGE_UNITS),l=a.getParameter(a.MAX_TEXTURE_SIZE),p=a.getParameter(a.MAX_CUBE_MAP_TEXTURE_SIZE),h=a.getParameter(a.MAX_VERTEX_ATTRIBS),n=a.getParameter(a.MAX_VERTEX_UNIFORM_VECTORS),m=a.getParameter(a.MAX_VARYING_VECTORS),
|
|
|
t=a.getParameter(a.MAX_FRAGMENT_UNIFORM_VECTORS),u=0<k,v=!!b.get("OES_texture_float");return{getMaxAnisotropy:function(){if(void 0!==e)return e;var c=b.get("EXT_texture_filter_anisotropic");return e=null!==c?a.getParameter(c.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0},getMaxPrecision:d,precision:f,logarithmicDepthBuffer:c,maxTextures:g,maxVertexTextures:k,maxTextureSize:l,maxCubemapSize:p,maxAttributes:h,maxVertexUniforms:n,maxVaryings:m,maxFragmentUniforms:t,vertexTextures:u,floatFragmentTextures:v,floatVertexTextures:u&&
|
|
|
v}}function mf(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=
|
|
@@ -126,7 +126,7 @@ return b[c]=d}}}function nf(){function a(){p.value!==d&&(p.value=d,p.needsUpdate
|
|
|
this.uniform=p;this.numPlanes=0;this.init=function(a,c,g){var k=0!==a.length||c||0!==e||f;f=c;d=b(a,g,0);e=a.length;return k};this.beginShadows=function(){g=!0;b(null)};this.endShadows=function(){g=!1;a()};this.setState=function(c,k,l,h,u){if(!f||null===c||0===c.length||g&&!k)g?b(null):a();else{k=g?0:e;var v=4*k,q=h.clippingState||null;p.value=q;q=b(c,l,v,u);for(c=0;c!==v;++c)q[c]=d[c];h.clippingState=q;this.numPlanes+=k}}}function rd(a){function b(a,b,c,d){!0===K&&(a*=d,b*=d,c*=d);X.clearColor(a,
|
|
|
b,c,d)}function c(){X.init();X.scissor(Y.copy(ha).multiplyScalar(Pa));X.viewport(Wa.copy(ga).multiplyScalar(Pa));b(Ba.r,Ba.g,Ba.b,Ra)}function d(){U=T=null;S="";J=-1;X.reset()}function e(a){a.preventDefault();d();c();fa.clear()}function f(a){a=a.target;a.removeEventListener("dispose",f);g(a);fa["delete"](a)}function g(a){var b=fa.get(a).program;a.program=void 0;void 0!==b&&ta.releaseProgram(b)}function k(a,b){return Math.abs(b[0])-Math.abs(a[0])}function l(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 p(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 r(a,b,c,d,e){var f;c.transparent?(d=D,f=++Fa):(d=ea,f=++C);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 n(a){if(!oa.intersectsSphere(a))return!1;var b=ca.numPlanes;if(0===b)return!0;var c=R.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 m(a,b){if(!1!==a.visible){if(0!==(a.layers.mask&b.layers.mask))if(a.isLight)M.push(a);else if(a.isSprite){var c;(c=!1===a.frustumCulled)||(ma.center.set(0,0,0),ma.radius=.7071067811865476,
|
|
|
+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 n(a){if(!oa.intersectsSphere(a))return!1;var b=ca.numPlanes;if(0===b)return!0;var c=R.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 m(a,b){if(!1!==a.visible){if(0!==(a.layers.mask&b.layers.mask))if(a.isLight)L.push(a);else if(a.isSprite){var c;(c=!1===a.frustumCulled)||(ma.center.set(0,0,0),ma.radius=.7071067811865476,
|
|
|
ma.applyMatrix4(a.matrixWorld),c=!0===n(ma));c&&O.push(a)}else if(a.isLensFlare)P.push(a);else if(a.isImmediateRenderObject)!0===R.sortObjects&&(Da.setFromMatrixPosition(a.matrixWorld),Da.applyProjection(qa)),r(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(),ma.copy(c.boundingSphere).applyMatrix4(a.matrixWorld),c=!0===n(ma)),c){var d=a.material;if(!0===
|
|
|
d.visible)if(!0===R.sortObjects&&(Da.setFromMatrixPosition(a.matrixWorld),Da.applyProjection(qa)),c=pa.update(a),d.isMultiMaterial)for(var e=c.groups,f=d.materials,d=0,g=e.length;d<g;d++){var k=e[d],l=f[k.materialIndex];!0===l.visible&&r(a,c,l,Da.z,k)}else r(a,c,d,Da.z,null)}c=a.children;d=0;for(g=c.length;d<g;d++)m(c[d],b)}}function t(a,b,c,d){for(var e=0,f=a.length;e<f;e++){var g=a[e],k=g.object,l=g.geometry,p=void 0===d?g.material:d,g=g.group;k.modelViewMatrix.multiplyMatrices(b.matrixWorldInverse,
|
|
|
k.matrixWorld);k.normalMatrix.getNormalMatrix(k.modelViewMatrix);if(k.isImmediateRenderObject){u(p);var h=v(b,c,p,k);S="";k.render(function(a){R.renderBufferImmediate(a,h,p)})}else R.renderBufferDirect(b,c,l,p,k,g)}}function u(a){2===a.side?X.disable(A.CULL_FACE):X.enable(A.CULL_FACE);X.setFlipSided(1===a.side);!0===a.transparent?X.setBlending(a.blending,a.blendEquation,a.blendSrc,a.blendDst,a.blendEquationAlpha,a.blendSrcAlpha,a.blendDstAlpha,a.premultipliedAlpha):X.setBlending(0);X.setDepthFunc(a.depthFunc);
|
|
@@ -148,7 +148,7 @@ if(1008===a)return A.LINEAR_MIPMAP_LINEAR;if(1009===a)return A.UNSIGNED_BYTE;if(
|
|
|
if(1023===a)return A.RGBA;if(1024===a)return A.LUMINANCE;if(1025===a)return A.LUMINANCE_ALPHA;if(1026===a)return A.DEPTH_COMPONENT;if(1027===a)return A.DEPTH_STENCIL;if(100===a)return A.FUNC_ADD;if(101===a)return A.FUNC_SUBTRACT;if(102===a)return A.FUNC_REVERSE_SUBTRACT;if(200===a)return A.ZERO;if(201===a)return A.ONE;if(202===a)return A.SRC_COLOR;if(203===a)return A.ONE_MINUS_SRC_COLOR;if(204===a)return A.SRC_ALPHA;if(205===a)return A.ONE_MINUS_SRC_ALPHA;if(206===a)return A.DST_ALPHA;if(207===a)return A.ONE_MINUS_DST_ALPHA;
|
|
|
if(208===a)return A.DST_COLOR;if(209===a)return A.ONE_MINUS_DST_COLOR;if(210===a)return A.SRC_ALPHA_SATURATE;b=ia.get("WEBGL_compressed_texture_s3tc");if(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}b=ia.get("WEBGL_compressed_texture_pvrtc");if(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}b=ia.get("WEBGL_compressed_texture_etc1");if(null!==b&&2151===a)return b.COMPRESSED_RGB_ETC1_WEBGL;b=ia.get("EXT_blend_minmax");if(null!==b){if(103===a)return b.MIN_EXT;if(104===a)return b.MAX_EXT}b=ia.get("WEBGL_depth_texture");return null!==b&&1020===a?b.UNSIGNED_INT_24_8_WEBGL:0}console.log("THREE.WebGLRenderer","81dev");a=a||{};var x=void 0!==a.canvas?a.canvas:document.createElementNS("http://www.w3.org/1999/xhtml",
|
|
|
-"canvas"),N=void 0!==a.context?a.context:null,y=void 0!==a.alpha?a.alpha:!1,F=void 0!==a.depth?a.depth:!0,G=void 0!==a.stencil?a.stencil:!0,E=void 0!==a.antialias?a.antialias:!1,K=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,B=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer:!1,M=[],ea=[],C=-1,D=[],Fa=-1,L=new Float32Array(8),O=[],P=[];this.domElement=x;this.context=null;this.sortObjects=this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.clippingPlanes=
|
|
|
+"canvas"),N=void 0!==a.context?a.context:null,y=void 0!==a.alpha?a.alpha:!1,F=void 0!==a.depth?a.depth:!0,G=void 0!==a.stencil?a.stencil:!0,E=void 0!==a.antialias?a.antialias:!1,K=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,B=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer:!1,L=[],ea=[],C=-1,D=[],Fa=-1,M=new Float32Array(8),O=[],P=[];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 R=this,T=null,V=null,W=null,J=-1,S="",U=null,Y=new da,cb=null,Wa=new da,Z=0,Ba=new I(0),Ra=0,Oa=x.width,ba=x.height,Pa=1,ha=new da(0,0,Oa,ba),la=!1,ga=new da(0,0,Oa,ba),oa=new ec,ca=new nf,na=!1,ra=!1,ma=new Aa,qa=new Q,Da=new q,aa={hash:"",ambient:[0,0,0],directional:[],
|
|
|
directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},ka={calls:0,vertices:0,faces:0,points:0};this.info={render:ka,memory:{geometries:0,textures:0},programs:null};var A;try{y={alpha:y,depth:F,stencil:G,antialias:E,premultipliedAlpha:K,preserveDrawingBuffer:B};A=N||x.getContext("webgl",y)||x.getContext("experimental-webgl",y);if(null===A){if(null!==x.getContext("webgl"))throw"Error creating WebGL context with your selected attributes.";
|
|
|
throw"Error creating WebGL context.";}void 0===A.getShaderPrecisionFormat&&(A.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}});x.addEventListener("webglcontextlost",e,!1)}catch(of){console.error("THREE.WebGLRenderer: "+of)}var ia=new mf(A);ia.get("WEBGL_depth_texture");ia.get("OES_texture_float");ia.get("OES_texture_float_linear");ia.get("OES_texture_half_float");ia.get("OES_texture_half_float_linear");ia.get("OES_standard_derivatives");ia.get("ANGLE_instanced_arrays");
|
|
@@ -159,15 +159,15 @@ function(){return Ba};this.setClearColor=function(a,c){Ba.set(a);Ra=void 0!==c?c
|
|
|
!1,!0)};this.clearTarget=function(a,b,c,d){this.setRenderTarget(a);this.clear(b,c,d)};this.resetGLState=d;this.dispose=function(){D=[];Fa=-1;ea=[];C=-1;x.removeEventListener("webglcontextlost",e,!1)};this.renderBufferImmediate=function(a,b,c){X.initAttributes();var d=fa.get(a);a.hasPositions&&!d.position&&(d.position=A.createBuffer());a.hasNormals&&!d.normal&&(d.normal=A.createBuffer());a.hasUvs&&!d.uv&&(d.uv=A.createBuffer());a.hasColors&&!d.color&&(d.color=A.createBuffer());b=b.getAttributes();
|
|
|
a.hasPositions&&(A.bindBuffer(A.ARRAY_BUFFER,d.position),A.bufferData(A.ARRAY_BUFFER,a.positionArray,A.DYNAMIC_DRAW),X.enableAttribute(b.position),A.vertexAttribPointer(b.position,3,A.FLOAT,!1,0,0));if(a.hasNormals){A.bindBuffer(A.ARRAY_BUFFER,d.normal);if(!c.isMeshPhongMaterial&&!c.isMeshStandardMaterial&&1===c.shading)for(var e=0,f=3*a.count;e<f;e+=9){var g=a.normalArray,k=(g[e+0]+g[e+3]+g[e+6])/3,l=(g[e+1]+g[e+4]+g[e+7])/3,p=(g[e+2]+g[e+5]+g[e+8])/3;g[e+0]=k;g[e+1]=l;g[e+2]=p;g[e+3]=k;g[e+4]=l;
|
|
|
g[e+5]=p;g[e+6]=k;g[e+7]=l;g[e+8]=p}A.bufferData(A.ARRAY_BUFFER,a.normalArray,A.DYNAMIC_DRAW);X.enableAttribute(b.normal);A.vertexAttribPointer(b.normal,3,A.FLOAT,!1,0,0)}a.hasUvs&&c.map&&(A.bindBuffer(A.ARRAY_BUFFER,d.uv),A.bufferData(A.ARRAY_BUFFER,a.uvArray,A.DYNAMIC_DRAW),X.enableAttribute(b.uv),A.vertexAttribPointer(b.uv,2,A.FLOAT,!1,0,0));a.hasColors&&0!==c.vertexColors&&(A.bindBuffer(A.ARRAY_BUFFER,d.color),A.bufferData(A.ARRAY_BUFFER,a.colorArray,A.DYNAMIC_DRAW),X.enableAttribute(b.color),
|
|
|
-A.vertexAttribPointer(b.color,3,A.FLOAT,!1,0,0));X.disableUnusedAttributes();A.drawArrays(A.TRIANGLES,0,a.count);a.count=0};this.renderBufferDirect=function(a,b,c,d,e,f){u(d);var g=v(a,b,d,e),l=!1;a=c.id+"_"+g.id+"_"+d.wireframe;a!==S&&(S=a,l=!0);b=e.morphTargetInfluences;if(void 0!==b){var p=[];a=0;for(l=b.length;a<l;a++){var h=b[a];p.push([h,a])}p.sort(k);8<p.length&&(p.length=8);var m=c.morphAttributes;a=0;for(l=p.length;a<l;a++)h=p[a],L[a]=h[0],0!==h[0]?(b=h[1],!0===d.morphTargets&&m.position&&
|
|
|
-c.addAttribute("morphTarget"+a,m.position[b]),!0===d.morphNormals&&m.normal&&c.addAttribute("morphNormal"+a,m.normal[b])):(!0===d.morphTargets&&c.removeAttribute("morphTarget"+a),!0===d.morphNormals&&c.removeAttribute("morphNormal"+a));a=p.length;for(b=L.length;a<b;a++)L[a]=0;g.getUniforms().setValue(A,"morphTargetInfluences",L);l=!0}b=c.index;p=c.attributes.position;!0===d.wireframe&&(b=pa.getWireframeAttribute(c));null!==b?(a=Ia,a.setIndex(b)):a=Ga;if(l){a:{var l=void 0,n;if(c&&c.isInstancedBufferGeometry&&
|
|
|
+A.vertexAttribPointer(b.color,3,A.FLOAT,!1,0,0));X.disableUnusedAttributes();A.drawArrays(A.TRIANGLES,0,a.count);a.count=0};this.renderBufferDirect=function(a,b,c,d,e,f){u(d);var g=v(a,b,d,e),l=!1;a=c.id+"_"+g.id+"_"+d.wireframe;a!==S&&(S=a,l=!0);b=e.morphTargetInfluences;if(void 0!==b){var p=[];a=0;for(l=b.length;a<l;a++){var h=b[a];p.push([h,a])}p.sort(k);8<p.length&&(p.length=8);var m=c.morphAttributes;a=0;for(l=p.length;a<l;a++)h=p[a],M[a]=h[0],0!==h[0]?(b=h[1],!0===d.morphTargets&&m.position&&
|
|
|
+c.addAttribute("morphTarget"+a,m.position[b]),!0===d.morphNormals&&m.normal&&c.addAttribute("morphNormal"+a,m.normal[b])):(!0===d.morphTargets&&c.removeAttribute("morphTarget"+a),!0===d.morphNormals&&c.removeAttribute("morphNormal"+a));a=p.length;for(b=M.length;a<b;a++)M[a]=0;g.getUniforms().setValue(A,"morphTargetInfluences",M);l=!0}b=c.index;p=c.attributes.position;!0===d.wireframe&&(b=pa.getWireframeAttribute(c));null!==b?(a=Ia,a.setIndex(b)):a=Ga;if(l){a:{var l=void 0,n;if(c&&c.isInstancedBufferGeometry&&
|
|
|
(n=ia.get("ANGLE_instanced_arrays"),null===n)){console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");break a}void 0===l&&(l=0);X.initAttributes();var h=c.attributes,g=g.getAttributes(),m=d.defaultAttributeValues,r;for(r in g){var t=g[r];if(0<=t){var x=h[r];if(void 0!==x){var q=A.FLOAT,w=x.array,y=x.normalized;w instanceof Float32Array?q=A.FLOAT:w instanceof Float64Array?console.warn("Unsupported data buffer format: Float64Array"):
|
|
|
w instanceof Uint16Array?q=A.UNSIGNED_SHORT:w instanceof Int16Array?q=A.SHORT:w instanceof Uint32Array?q=A.UNSIGNED_INT:w instanceof Int32Array?q=A.INT:w instanceof Int8Array?q=A.BYTE:w instanceof Uint8Array&&(q=A.UNSIGNED_BYTE);var w=x.itemSize,z=pa.getAttributeBuffer(x);if(x&&x.isInterleavedBufferAttribute){var G=x.data,E=G.stride,x=x.offset;G&&G.isInstancedInterleavedBuffer?(X.enableAttributeAndDivisor(t,G.meshPerAttribute,n),void 0===c.maxInstancedCount&&(c.maxInstancedCount=G.meshPerAttribute*
|
|
|
G.count)):X.enableAttribute(t);A.bindBuffer(A.ARRAY_BUFFER,z);A.vertexAttribPointer(t,w,q,y,E*G.array.BYTES_PER_ELEMENT,(l*E+x)*G.array.BYTES_PER_ELEMENT)}else x&&x.isInstancedBufferAttribute?(X.enableAttributeAndDivisor(t,x.meshPerAttribute,n),void 0===c.maxInstancedCount&&(c.maxInstancedCount=x.meshPerAttribute*x.count)):X.enableAttribute(t),A.bindBuffer(A.ARRAY_BUFFER,z),A.vertexAttribPointer(t,w,q,y,0,l*w*x.array.BYTES_PER_ELEMENT)}else if(void 0!==m&&(q=m[r],void 0!==q))switch(q.length){case 2:A.vertexAttrib2fv(t,
|
|
|
q);break;case 3:A.vertexAttrib3fv(t,q);break;case 4:A.vertexAttrib4fv(t,q);break;default:A.vertexAttrib1fv(t,q)}}}X.disableUnusedAttributes()}null!==b&&A.bindBuffer(A.ELEMENT_ARRAY_BUFFER,pa.getAttributeBuffer(b))}n=0;null!==b?n=b.count:void 0!==p&&(n=p.count);b=c.drawRange.start;p=null!==f?f.start:0;r=Math.max(0,b,p);f=Math.max(0,Math.min(0+n,b+c.drawRange.count,p+(null!==f?f.count:Infinity))-1-r+1);if(0!==f){if(e.isMesh)if(!0===d.wireframe)X.setLineWidth(d.wireframeLinewidth*(null===V?Pa:1)),a.setMode(A.LINES);
|
|
|
else switch(e.drawMode){case 0:a.setMode(A.TRIANGLES);break;case 1:a.setMode(A.TRIANGLE_STRIP);break;case 2:a.setMode(A.TRIANGLE_FAN)}else e.isLine?(d=d.linewidth,void 0===d&&(d=1),X.setLineWidth(d*(null===V?Pa:1)),e.isLineSegments?a.setMode(A.LINES):a.setMode(A.LINE_STRIP)):e.isPoints&&a.setMode(A.POINTS);c&&c.isInstancedBufferGeometry?0<c.maxInstancedCount&&a.renderInstances(c,r,f):a.render(r,f)}};this.render=function(a,c,d,e){if(void 0!==c&&!0!==c.isCamera)console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");
|
|
|
-else{var f=a.fog;S="";J=-1;U=null;!0===a.autoUpdate&&a.updateMatrixWorld();null===c.parent&&c.updateMatrixWorld();c.matrixWorldInverse.getInverse(c.matrixWorld);qa.multiplyMatrices(c.projectionMatrix,c.matrixWorldInverse);oa.setFromMatrix(qa);M.length=0;Fa=C=-1;O.length=0;P.length=0;ra=this.localClippingEnabled;na=ca.init(this.clippingPlanes,ra,c);m(a,c);ea.length=C+1;D.length=Fa+1;!0===R.sortObjects&&(ea.sort(l),D.sort(p));na&&ca.beginShadows();for(var g=M,k=0,h=0,n=g.length;h<n;h++){var r=g[h];
|
|
|
-r.castShadow&&(aa.shadows[k++]=r)}aa.shadows.length=k;La.render(a,c);for(var g=M,u=r=0,v=0,x,q,w,y,z=c.matrixWorldInverse,G=0,E=0,K=0,N=0,k=0,h=g.length;k<h;k++)if(n=g[k],x=n.color,q=n.intensity,w=n.distance,y=n.shadow&&n.shadow.map?n.shadow.map.texture:null,n.isAmbientLight)r+=x.r*q,u+=x.g*q,v+=x.b*q;else if(n.isDirectionalLight){var F=ya.get(n);F.color.copy(n.color).multiplyScalar(n.intensity);F.direction.setFromMatrixPosition(n.matrixWorld);Da.setFromMatrixPosition(n.target.matrixWorld);F.direction.sub(Da);
|
|
|
+else{var f=a.fog;S="";J=-1;U=null;!0===a.autoUpdate&&a.updateMatrixWorld();null===c.parent&&c.updateMatrixWorld();c.matrixWorldInverse.getInverse(c.matrixWorld);qa.multiplyMatrices(c.projectionMatrix,c.matrixWorldInverse);oa.setFromMatrix(qa);L.length=0;Fa=C=-1;O.length=0;P.length=0;ra=this.localClippingEnabled;na=ca.init(this.clippingPlanes,ra,c);m(a,c);ea.length=C+1;D.length=Fa+1;!0===R.sortObjects&&(ea.sort(l),D.sort(p));na&&ca.beginShadows();for(var g=L,k=0,h=0,n=g.length;h<n;h++){var r=g[h];
|
|
|
+r.castShadow&&(aa.shadows[k++]=r)}aa.shadows.length=k;La.render(a,c);for(var g=L,u=r=0,v=0,x,q,w,y,z=c.matrixWorldInverse,G=0,E=0,K=0,N=0,k=0,h=g.length;k<h;k++)if(n=g[k],x=n.color,q=n.intensity,w=n.distance,y=n.shadow&&n.shadow.map?n.shadow.map.texture:null,n.isAmbientLight)r+=x.r*q,u+=x.g*q,v+=x.b*q;else if(n.isDirectionalLight){var F=ya.get(n);F.color.copy(n.color).multiplyScalar(n.intensity);F.direction.setFromMatrixPosition(n.matrixWorld);Da.setFromMatrixPosition(n.target.matrixWorld);F.direction.sub(Da);
|
|
|
F.direction.transformDirection(z);if(F.shadow=n.castShadow)F.shadowBias=n.shadow.bias,F.shadowRadius=n.shadow.radius,F.shadowMapSize=n.shadow.mapSize;aa.directionalShadowMap[G]=y;aa.directionalShadowMatrix[G]=n.shadow.matrix;aa.directional[G++]=F}else if(n.isSpotLight){F=ya.get(n);F.position.setFromMatrixPosition(n.matrixWorld);F.position.applyMatrix4(z);F.color.copy(x).multiplyScalar(q);F.distance=w;F.direction.setFromMatrixPosition(n.matrixWorld);Da.setFromMatrixPosition(n.target.matrixWorld);F.direction.sub(Da);
|
|
|
F.direction.transformDirection(z);F.coneCos=Math.cos(n.angle);F.penumbraCos=Math.cos(n.angle*(1-n.penumbra));F.decay=0===n.distance?0:n.decay;if(F.shadow=n.castShadow)F.shadowBias=n.shadow.bias,F.shadowRadius=n.shadow.radius,F.shadowMapSize=n.shadow.mapSize;aa.spotShadowMap[K]=y;aa.spotShadowMatrix[K]=n.shadow.matrix;aa.spot[K++]=F}else if(n.isPointLight){F=ya.get(n);F.position.setFromMatrixPosition(n.matrixWorld);F.position.applyMatrix4(z);F.color.copy(n.color).multiplyScalar(n.intensity);F.distance=
|
|
|
n.distance;F.decay=0===n.distance?0:n.decay;if(F.shadow=n.castShadow)F.shadowBias=n.shadow.bias,F.shadowRadius=n.shadow.radius,F.shadowMapSize=n.shadow.mapSize;aa.pointShadowMap[E]=y;void 0===aa.pointShadowMatrix[E]&&(aa.pointShadowMatrix[E]=new Q);Da.setFromMatrixPosition(n.matrixWorld).negate();aa.pointShadowMatrix[E].identity().setPosition(Da);aa.point[E++]=F}else n.isHemisphereLight&&(F=ya.get(n),F.direction.setFromMatrixPosition(n.matrixWorld),F.direction.transformDirection(z),F.direction.normalize(),
|
|
@@ -205,8 +205,8 @@ b}H.call(this);var c=[0,0],d={},e=["a","b","c"];if(a&&a.isGeometry){var f=a.vert
|
|
|
a.index){p=a.index.array;f=a.attributes.position;e=a.groups;k=0;0===e.length&&a.addGroup(0,p.length);l=new Uint32Array(2*p.length);g=0;for(h=e.length;g<h;++g){a=e[g];n=a.start;m=a.count;a=n;for(var t=n+m;a<t;a+=3)for(n=0;3>n;n++)c[0]=p[a+n],c[1]=p[a+(n+1)%3],c.sort(b),m=c.toString(),void 0===d[m]&&(l[2*k]=c[0],l[2*k+1]=c[1],d[m]=!0,k++)}c=new Float32Array(6*k);a=0;for(p=k;a<p;a++)for(n=0;2>n;n++)k=6*a+3*n,d=l[2*a+n],c[k+0]=f.getX(d),c[k+1]=f.getY(d),c[k+2]=f.getZ(d)}else for(f=a.attributes.position.array,
|
|
|
k=f.length/3,l=k/3,c=new Float32Array(6*k),a=0,p=l;a<p;a++)for(n=0;3>n;n++)k=18*a+6*n,l=9*a+3*n,c[k+0]=f[l],c[k+1]=f[l+1],c[k+2]=f[l+2],d=9*a+(n+1)%3*3,c[k+3]=f[d],c[k+4]=f[d+1],c[k+5]=f[d+2];this.addAttribute("position",new C(c,3))}}function oc(a,b,c){S.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};var d=this.vertices,e=this.faces,f=this.faceVertexUvs[0],g,k,l,p,h=b+1;for(g=0;g<=c;g++)for(p=g/c,k=0;k<=b;k++)l=k/b,l=a(l,p),d.push(l);var n,m,t,u;for(g=0;g<c;g++)for(k=
|
|
|
0;k<b;k++)a=g*h+k,d=g*h+k+1,p=(g+1)*h+k+1,l=(g+1)*h+k,n=new B(k/b,g/c),m=new B((k+1)/b,g/c),t=new B((k+1)/b,(g+1)/c),u=new B(k/b,(g+1)/c),e.push(new la(a,d,l)),f.push([n,m,u]),e.push(new la(d,p,l)),f.push([m.clone(),t,u.clone()]);this.computeFaceNormals();this.computeVertexNormals()}function pa(a,b,c,d){function e(a){var b=a.normalize().clone();b.index=l.vertices.push(b)-1;b.uv=new B(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));return b}function f(a,
|
|
|
-b,c){var d=new la(a.index,b.index,c.index,[a.clone(),b.clone(),c.clone()]);l.faces.push(d);z.copy(a).add(b).add(c).divideScalar(3);d=Math.atan2(z.z,-z.x);l.faceVertexUvs[0].push([k(a.uv,a,d),k(b.uv,b,d),k(c.uv,c,d)])}function g(a,b){for(var c=Math.pow(2,b),d=e(l.vertices[a.a]),g=e(l.vertices[a.b]),k=e(l.vertices[a.c]),p=[],h=0;h<=c;h++){p[h]=[];for(var m=e(d.clone().lerp(k,h/c)),n=e(g.clone().lerp(k,h/c)),t=c-h,r=0;r<=t;r++)p[h][r]=0===r&&h===c?m:e(m.clone().lerp(n,r/t))}for(h=0;h<c;h++)for(r=0;r<
|
|
|
-2*(c-h)-1;r++)d=Math.floor(r/2),0===r%2?f(p[h][d+1],p[h+1][d],p[h][d]):f(p[h][d+1],p[h+1][d+1],p[h+1][d])}function k(a,b,c){0>c&&1===a.x&&(a=new B(a.x-1,a.y));0===b.x&&0===b.z&&(a=new B(c/2/Math.PI+.5,a.y));return a.clone()}S.call(this);this.type="PolyhedronGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;d=d||0;for(var l=this,p=0,h=a.length;p<h;p+=3)e(new q(a[p],a[p+1],a[p+2]));a=this.vertices;for(var n=[],m=p=0,h=b.length;p<h;p+=3,m++){var t=a[b[p]],u=a[b[p+1]],v=a[b[p+
|
|
|
+b,c){var d=new la(a.index,b.index,c.index,[a.clone(),b.clone(),c.clone()]);l.faces.push(d);z.copy(a).add(b).add(c).divideScalar(3);d=Math.atan2(z.z,-z.x);l.faceVertexUvs[0].push([k(a.uv,a,d),k(b.uv,b,d),k(c.uv,c,d)])}function g(a,b){for(var c=Math.pow(2,b),d=e(l.vertices[a.a]),g=e(l.vertices[a.b]),k=e(l.vertices[a.c]),p=[],h=0;h<=c;h++){p[h]=[];for(var m=e(d.clone().lerp(k,h/c)),n=e(g.clone().lerp(k,h/c)),r=c-h,t=0;t<=r;t++)p[h][t]=0===t&&h===c?m:e(m.clone().lerp(n,t/r))}for(h=0;h<c;h++)for(t=0;t<
|
|
|
+2*(c-h)-1;t++)d=Math.floor(t/2),0===t%2?f(p[h][d+1],p[h+1][d],p[h][d]):f(p[h][d+1],p[h+1][d+1],p[h+1][d])}function k(a,b,c){0>c&&1===a.x&&(a=new B(a.x-1,a.y));0===b.x&&0===b.z&&(a=new B(c/2/Math.PI+.5,a.y));return a.clone()}S.call(this);this.type="PolyhedronGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;d=d||0;for(var l=this,p=0,h=a.length;p<h;p+=3)e(new q(a[p],a[p+1],a[p+2]));a=this.vertices;for(var n=[],m=p=0,h=b.length;p<h;p+=3,m++){var t=a[b[p]],u=a[b[p+1]],v=a[b[p+
|
|
|
2]];n[m]=new la(t.index,u.index,v.index,[t.clone(),u.clone(),v.clone()])}for(var z=new q,p=0,h=n.length;p<h;p++)g(n[p],d);p=0;for(h=this.faceVertexUvs[0].length;p<h;p++)b=this.faceVertexUvs[0][p],d=b[0].x,a=b[1].x,n=b[2].x,m=Math.min(d,a,n),.9<Math.max(d,a,n)&&.1>m&&(.2>d&&(b[0].x+=1),.2>a&&(b[1].x+=1),.2>n&&(b[2].x+=1));p=0;for(h=this.vertices.length;p<h;p++)this.vertices[p].multiplyScalar(c);this.mergeVertices();this.computeFaceNormals();this.boundingSphere=new Aa(new q,c)}function pc(a,b){pa.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="TetrahedronGeometry";this.parameters={radius:a,detail:b}}function qc(a,b){pa.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="OctahedronGeometry";this.parameters={radius:a,detail:b}}function rc(a,b){var c=(1+Math.sqrt(5))/2;pa.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="IcosahedronGeometry";this.parameters={radius:a,detail:b}}function sc(a,b){var c=(1+Math.sqrt(5))/2,d=1/c;pa.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,
|
|
@@ -231,76 +231,76 @@ if(d===2*Math.PI)for(d=this.attributes.normal.array,g=new q,k=new q,l=new q,c=b*
|
|
|
f[t]={vert1:e[0],vert2:e[1],face1:p,face2:void 0}:f[t].face2=p}e=[];for(t in f)if(g=f[t],void 0===g.face2||k[g.face1].normal.dot(k[g.face2].normal)<=d)p=l[g.vert1],e.push(p.x),e.push(p.y),e.push(p.z),p=l[g.vert2],e.push(p.x),e.push(p.y),e.push(p.z);this.addAttribute("position",new C(new Float32Array(e),3))}function ab(a,b,c,d,e,f,g,k){function l(c){var e,f,l,h=new B,m=new q,n=0,r=!0===c?a:b,N=!0===c?1:-1;f=w;for(e=1;e<=d;e++)u.setXYZ(w,0,y*N,0),v.setXYZ(w,0,N,0),h.x=.5,h.y=.5,z.setXY(w,h.x,h.y),w++;
|
|
|
l=w;for(e=0;e<=d;e++){var C=e/d*k+g,D=Math.cos(C),C=Math.sin(C);m.x=r*C;m.y=y*N;m.z=r*D;u.setXYZ(w,m.x,m.y,m.z);v.setXYZ(w,0,N,0);h.x=.5*D+.5;h.y=.5*C*N+.5;z.setXY(w,h.x,h.y);w++}for(e=0;e<d;e++)h=f+e,m=l+e,!0===c?(t.setX(x,m),x++,t.setX(x,m+1)):(t.setX(x,m+1),x++,t.setX(x,m)),x++,t.setX(x,h),x++,n+=3;p.addGroup(F,n,!0===c?1:2);F+=n}H.call(this);this.type="CylinderBufferGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:k};
|
|
|
var p=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;k=void 0!==k?k:2*Math.PI;var h=0;!1===f&&(0<a&&h++,0<b&&h++);var n=function(){var a=(d+1)*(e+1);!1===f&&(a+=(d+1)*h+d*h);return a}(),m=function(){var a=d*e*6;!1===f&&(a+=d*h*3);return a}(),t=new C(new (65535<m?Uint32Array:Uint16Array)(m),1),u=new C(new Float32Array(3*n),3),v=new C(new Float32Array(3*n),3),z=new C(new Float32Array(2*n),2),w=0,x=0,N=[],y=c/2,F=0;
|
|
|
-(function(){var f,l,h=new q,m=new q,n=0,r=(b-a)/c;for(l=0;l<=e;l++){var B=[],C=l/e,D=C*(b-a)+a;for(f=0;f<=d;f++){var L=f/d;m.x=D*Math.sin(L*k+g);m.y=-C*c+y;m.z=D*Math.cos(L*k+g);u.setXYZ(w,m.x,m.y,m.z);h.copy(m);if(0===a&&0===l||0===b&&l===e)h.x=Math.sin(L*k+g),h.z=Math.cos(L*k+g);h.setY(Math.sqrt(h.x*h.x+h.z*h.z)*r).normalize();v.setXYZ(w,h.x,h.y,h.z);z.setXY(w,L,1-C);B.push(w);w++}N.push(B)}for(f=0;f<d;f++)for(l=0;l<e;l++)h=N[l+1][f],m=N[l+1][f+1],r=N[l][f+1],t.setX(x,N[l][f]),x++,t.setX(x,h),x++,
|
|
|
-t.setX(x,r),x++,t.setX(x,h),x++,t.setX(x,m),x++,t.setX(x,r),x++,n+=6;p.addGroup(F,n,0);F+=n})();!1===f&&(0<a&&l(!0),0<b&&l(!1));this.setIndex(t);this.addAttribute("position",u);this.addAttribute("normal",v);this.addAttribute("uv",z)}function rb(a,b,c,d,e,f,g,k){S.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:k};this.fromBufferGeometry(new ab(a,b,c,d,e,f,g,k));this.mergeVertices()}
|
|
|
-function zc(a,b,c,d,e,f,g){rb.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 Ac(a,b,c,d,e,f,g){ab.call(this,0,a,b,c,d,e,f,g);this.type="ConeBufferGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,thetaStart:f,thetaLength:g}}function Tb(a,b,c,d){H.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=b+2,f=new Float32Array(3*e),g=new Float32Array(3*e),e=new Float32Array(2*e);g[2]=1;e[0]=.5;e[1]=.5;for(var k=0,l=3,p=2;k<=b;k++,l+=3,p+=2){var h=c+k/b*d;f[l]=a*Math.cos(h);f[l+1]=a*Math.sin(h);g[l+2]=1;e[p]=(f[l]/a+1)/2;e[p+1]=(f[l+1]/a+1)/2}c=[];for(l=1;l<=b;l++)c.push(l,l+1,0);this.setIndex(new C(new Uint16Array(c),1));this.addAttribute("position",new C(f,3));this.addAttribute("normal",new C(g,3));this.addAttribute("uv",
|
|
|
-new C(e,2));this.boundingSphere=new Aa(new q,a)}function Bc(a,b,c,d){S.call(this);this.type="CircleGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};this.fromBufferGeometry(new Tb(a,b,c,d))}function sb(a,b,c,d,e,f){S.call(this);this.type="BoxGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};this.fromBufferGeometry(new db(a,b,c,d,e,f));this.mergeVertices()}function le(a){this.manager=void 0!==a?a:h.DefaultLoadingManager;this.texturePath=
|
|
|
-""}function qa(){}function Ma(a,b){this.v1=a;this.v2=b}function Cc(){this.curves=[];this.autoClose=!1}function Sa(a,b,c,d,e,f,g,k){this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g;this.aRotation=k||0}function tb(a){this.points=void 0===a?[]:a}function ub(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function vb(a,b,c){this.v0=a;this.v1=b;this.v2=c}function Ub(){Dc.apply(this,arguments);this.holes=[]}function Dc(a){Cc.call(this);this.currentPoint=
|
|
|
-new B;a&&this.fromPoints(a)}function yd(){this.subPaths=[];this.currentPath=null}function zd(a){this.data=a}function me(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function Ad(){void 0===Bd&&(Bd=new (window.AudioContext||window.webkitAudioContext));return Bd}function Cd(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function ne(){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){D.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 k=new Ca(90,1,a,b);k.up.set(0,-1,0);k.lookAt(new q(0,0,1));this.add(k);var l=new Ca(90,
|
|
|
-1,a,b);l.up.set(0,-1,0);l.lookAt(new q(0,0,-1));this.add(l);this.renderTarget=new zb(c,c,{format:1022,magFilter:1006,minFilter:1006});this.updateCubeMap=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=this.renderTarget,h=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,k,c);c.texture.generateMipmaps=h;c.activeCubeFace=
|
|
|
-5;a.render(b,l,c);a.setRenderTarget(null)}}function Dd(){D.call(this);this.type="AudioListener";this.context=Ad();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null}function Vb(a){D.call(this);this.type="Audio";this.context=a.context;this.source=this.context.createBufferSource();this.source.onended=this.onEnded.bind(this);this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay=!1;this.startTime=0;this.playbackRate=1;this.isPlaying=
|
|
|
-!1;this.hasPlaybackControl=!0;this.sourceType="empty";this.filters=[]}function Ed(a){Vb.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function Fd(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b:2048;this.data=new Uint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)}function hd(a,b,c){this.binding=a;this.valueSize=c;a=Float64Array;switch(b){case "quaternion":b=this._slerp;break;case "string":case "bool":a=
|
|
|
-Array;b=this._select;break;default:b=this._lerp}this.buffer=new a(4*c);this._mixBufferRegion=b;this.referenceCount=this.useCount=this.cumulativeWeight=0}function ha(a,b,c){this.path=b;this.parsedPath=c||ha.parseTrackName(b);this.node=ha.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function Gd(a){this.uuid=h.Math.generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;var b={};this._indicesByUUID=b;for(var c=0,d=arguments.length;c!==d;++c)b[arguments[c].uuid]=
|
|
|
-c;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};var e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}function Hd(a,b,c){this._mixer=a;this._clip=b;this._localRoot=c||null;a=b.tracks;b=a.length;c=Array(b);for(var d={endingStart:2400,endingEnd:2400},e=0;e!==b;++e){var f=a[e].createInterpolant(null);c[e]=f;f.settings=d}this._interpolantSettings=
|
|
|
-d;this._interpolants=c;this._propertyBindings=Array(b);this._weightInterpolant=this._timeScaleInterpolant=this._byClipCacheIndex=this._cacheIndex=null;this.loop=2201;this._loopCount=-1;this._startTime=null;this.time=0;this._effectiveWeight=this.weight=this._effectiveTimeScale=this.timeScale=1;this.repetitions=Infinity;this.paused=!1;this.enabled=!0;this.clampWhenFinished=!1;this.zeroSlopeAtEnd=this.zeroSlopeAtStart=!0}function Id(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=
|
|
|
-0;this.timeScale=1}function Jd(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a;this.dynamic=!1}function wb(){H.call(this);this.type="InstancedBufferGeometry";this.maxInstancedCount=void 0}function Kd(a,b,c,d){this.uuid=h.Math.generateUUID();this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0===d}function Wb(a,b){this.uuid=h.Math.generateUUID();this.array=a;this.stride=b;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.version=
|
|
|
-0}function Xb(a,b,c){Wb.call(this,a,b);this.meshPerAttribute=c||1}function Yb(a,b,c){C.call(this,a,b);this.meshPerAttribute=c||1}function Ld(a,b,c,d){this.ray=new Ya(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 oe(a,b){return a.distance-b.distance}function Md(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++)Md(a[d],b,c,!0)}}function Nd(a){this.autoStart=void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}function Od(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 ra(a,b){va.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 Ec(a){D.call(this);this.material=a;this.render=function(a){}}function id(a,b){var c=void 0!==b?b:16777215;ba.call(this,new Mb(a.geometry),new ga({color:c}));this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1}function Fc(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 H;b=new ka(6*b,3);c.addAttribute("position",b);ba.call(this,
|
|
|
-c,new ga({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function Zb(a){D.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;a=new H;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 ka(b,3));b=new ga({fog:!1});this.cone=new ba(a,b);this.add(this.cone);this.update()}
|
|
|
-function $b(a){this.bones=this.getBoneList(a);for(var b=new S,c=0;c<this.bones.length;c++){var d=this.bones[c];d.parent&&d.parent.isBone&&(b.vertices.push(new q),b.vertices.push(new q),b.colors.push(new I(0,0,1)),b.colors.push(new I(0,1,0)))}b.dynamic=!0;c=new ga({vertexColors:2,depthTest:!1,depthWrite:!1,transparent:!0});ba.call(this,b,c);this.root=a;this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.update()}function ac(a,b){this.light=a;this.light.updateMatrixWorld();var c=new qb(b,4,2),d=
|
|
|
-new Ja({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);va.call(this,c,d);this.matrix=this.light.matrixWorld;this.matrixAutoUpdate=!1}function bc(a,b){D.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.colors=[new I,new I];var c=new Pb(b,4,2);c.rotateX(-Math.PI/2);for(var d=0;8>d;d++)c.faces[d].color=this.colors[4>d?0:1];d=new Ja({vertexColors:1,wireframe:!0});this.lightSphere=new va(c,d);this.add(this.lightSphere);
|
|
|
-this.update()}function Gc(a,b,c,d){b=b||1;c=new I(void 0!==c?c:4473924);d=new I(void 0!==d?d:8947848);for(var e=b/2,f=2*a/b,g=[],k=[],l=0,h=0,r=-a;l<=b;l++,r+=f){g.push(-a,0,r,a,0,r);g.push(r,0,-a,r,0,a);var n=l===e?c:d;n.toArray(k,h);h+=3;n.toArray(k,h);h+=3;n.toArray(k,h);h+=3;n.toArray(k,h);h+=3}a=new H;a.addAttribute("position",new ka(g,3));a.addAttribute("color",new ka(k,3));g=new ga({vertexColors:2});ba.call(this,a,g)}function Hc(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 H;b=new ka(6*b,3);c.addAttribute("position",b);ba.call(this,c,new ga({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function jd(a,b,c){b=void 0!==b?b:16777215;ba.call(this,new Sb(a.geometry,c),new ga({color:b}));this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1}function cc(a,
|
|
|
-b){D.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;void 0===b&&(b=1);var c=new H;c.addAttribute("position",new ka([-b,b,0,b,b,0,b,-b,0,-b,-b,0,-b,b,0],3));var d=new ga({fog:!1});this.add(new Qa(c,d));c=new H;c.addAttribute("position",new ka([0,0,0,0,0,1],3));this.add(new Qa(c,d));this.update()}function Ic(a){function b(a,b,d){c(a,d);c(b,d)}function c(a,b){d.vertices.push(new q);d.colors.push(new I(b));void 0===f[a]&&(f[a]=[]);f[a].push(d.vertices.length-
|
|
|
-1)}var d=new S,e=new ga({color:16777215,vertexColors:1}),f={};b("n1","n2",16755200);b("n2","n4",16755200);b("n4","n3",16755200);b("n3","n1",16755200);b("f1","f2",16755200);b("f2","f4",16755200);b("f4","f3",16755200);b("f3","f1",16755200);b("n1","f1",16755200);b("n2","f2",16755200);b("n3","f3",16755200);b("n4","f4",16755200);b("p","n1",16711680);b("p","n2",16711680);b("p","n3",16711680);b("p","n4",16711680);b("u1","u2",43775);b("u2","u3",43775);b("u3","u1",43775);b("c","t",16777215);b("p","c",3355443);
|
|
|
-b("cn1","cn2",3355443);b("cn3","cn4",3355443);b("cf1","cf2",3355443);b("cf3","cf4",3355443);ba.call(this,d,e);this.camera=a;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=f;this.update()}function Jc(a,b){var c=void 0!==b?b:8947848;this.object=a;this.box=new Ia;va.call(this,new sb(1,1,1),new Ja({color:c,wireframe:!0}))}function Kc(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 H;e.setIndex(new C(c,1));e.addAttribute("position",new C(d,3));ba.call(this,e,new ga({color:b}));void 0!==a&&this.update(a)}function xb(a,b,c,d,e,f){D.call(this);void 0===d&&(d=16776960);void 0===c&&(c=1);void 0===e&&(e=.2*c);void 0===f&&(f=.2*e);this.position.copy(b);this.line=new Qa(pe,new ga({color:d}));this.line.matrixAutoUpdate=!1;this.add(this.line);this.cone=new va(qe,new Ja({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=new Float32Array([0,0,0,a,0,0,0,0,0,0,a,0,0,0,0,0,0,a]),c=new Float32Array([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1]);a=new H;a.addAttribute("position",new C(b,3));a.addAttribute("color",new C(c,3));b=new ga({vertexColors:2});ba.call(this,a,b)}function re(a){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Please use THREE.CatmullRomCurve3.");h.CatmullRomCurve3.call(this,a);this.type="catmullrom";this.closed=!0}function ld(a,b,c,d,e,f){Sa.call(this,
|
|
|
-a,b,c,c,d,e,f)}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*)\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(na.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)?!0:!1},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 se={NoBlending:0,NormalBlending:1,AdditiveBlending:2,SubtractiveBlending:3,MultiplyBlending:4,CustomBlending:5},te={UVMapping:300,CubeReflectionMapping:301,CubeRefractionMapping:302,EquirectangularReflectionMapping:303,
|
|
|
-EquirectangularRefractionMapping:304,SphericalReflectionMapping:305,CubeUVReflectionMapping:306,CubeUVRefractionMapping:307},Pd={RepeatWrapping:1E3,ClampToEdgeWrapping:1001,MirroredRepeatWrapping:1002},Qd={NearestFilter:1003,NearestMipMapNearestFilter:1004,NearestMipMapLinearFilter:1005,LinearFilter:1006,LinearMipMapNearestFilter:1007,LinearMipMapLinearFilter:1008};h.Math={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)},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)},random16:function(){console.warn("THREE.Math.random16() has been deprecated. Use Math.random() instead.");return Math.random()},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*h.Math.DEG2RAD},radToDeg:function(a){return a*h.Math.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}};B.prototype={constructor:B,isVector2:!0,get width(){return this.x},set width(a){this.x=a},get height(){return this.y},set height(a){this.y=a},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);}},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,b;return function(c,d){void 0===a&&(a=new B,b=new B);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},fromAttribute:function(a,b,c){void 0===c&&(c=0);b=b*a.itemSize+c;this.x=a.array[b];this.y=a.array[b+1];return this},rotateAround:function(a,b){var c=Math.cos(b),d=Math.sin(b),e=this.x-a.x,f=this.y-a.y;this.x=e*c-f*d+a.x;this.y=e*d+f*c+a.y;return this}};
|
|
|
-Z.DEFAULT_IMAGE=void 0;Z.DEFAULT_MAPPING=300;Z.prototype={constructor:Z,isTexture:!0,set needsUpdate(a){!0===a&&this.version++},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.image=a.image;this.mipmaps=a.mipmaps.slice(0);this.mapping=a.mapping;this.wrapS=a.wrapS;this.wrapT=a.wrapT;this.magFilter=a.magFilter;this.minFilter=a.minFilter;this.anisotropy=a.anisotropy;this.format=a.format;this.type=a.type;this.offset.copy(a.offset);this.repeat.copy(a.repeat);this.generateMipmaps=
|
|
|
-a.generateMipmaps;this.premultiplyAlpha=a.premultiplyAlpha;this.flipY=a.flipY;this.unpackAlignment=a.unpackAlignment;this.encoding=a.encoding;return this},toJSON:function(a){if(void 0!==a.textures[this.uuid])return a.textures[this.uuid];var b={metadata:{version:4.4,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],wrap:[this.wrapS,this.wrapT],minFilter:this.minFilter,magFilter:this.magFilter,
|
|
|
-anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var c=this.image;void 0===c.uuid&&(c.uuid=h.Math.generateUUID());if(void 0===a.images[c.uuid]){var d=a.images,e=c.uuid,f=c.uuid,g;void 0!==c.toDataURL?g=c:(g=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),g.width=c.width,g.height=c.height,g.getContext("2d").drawImage(c,0,0,c.width,c.height));g=2048<g.width||2048<g.height?g.toDataURL("image/jpeg",.6):g.toDataURL("image/png");d[e]={uuid:f,url:g}}b.image=c.uuid}return a.textures[this.uuid]=
|
|
|
-b},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(a){if(300===this.mapping){a.multiply(this.repeat);a.add(this.offset);if(0>a.x||1<a.x)switch(this.wrapS){case 1E3:a.x-=Math.floor(a.x);break;case 1001:a.x=0>a.x?0:1;break;case 1002:a.x=1===Math.abs(Math.floor(a.x)%2)?Math.ceil(a.x)-a.x:a.x-Math.floor(a.x)}if(0>a.y||1<a.y)switch(this.wrapT){case 1E3:a.y-=Math.floor(a.y);break;case 1001:a.y=0>a.y?0:1;break;case 1002:a.y=1===Math.abs(Math.floor(a.y)%2)?Math.ceil(a.y)-a.y:
|
|
|
-a.y-Math.floor(a.y)}this.flipY&&(a.y=1-a.y)}}};Object.assign(Z.prototype,na.prototype);var Sd=0;da.prototype={constructor:da,isVector4:!0,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},setScalar:function(a){this.w=this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=
|
|
|
-b;break;case 2:this.z=b;break;case 3:this.w=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error("index is out of range: "+a);}},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=void 0!==a.w?a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),
|
|
|
-this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;this.w+=a.w*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,
|
|
|
-b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;this.w-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){isFinite(a)?(this.x*=a,this.y*=a,this.z*=a,this.w*=a):this.w=this.z=this.y=this.x=0;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*
|
|
|
-d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]*e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0):(this.x=a.x/b,this.y=a.y/b,this.z=a.z/b);return this},setAxisAngleFromRotationMatrix:function(a){var b,c,d;a=a.elements;var e=a[0];d=a[4];var f=a[8],g=a[1],k=a[5],l=a[9];c=a[2];b=a[6];var h=a[10];if(.01>Math.abs(d-g)&&.01>
|
|
|
-Math.abs(f-c)&&.01>Math.abs(l-b)){if(.1>Math.abs(d+g)&&.1>Math.abs(f+c)&&.1>Math.abs(l+b)&&.1>Math.abs(e+k+h-3))return this.set(1,0,0,0),this;a=Math.PI;e=(e+1)/2;k=(k+1)/2;h=(h+1)/2;d=(d+g)/4;f=(f+c)/4;l=(l+b)/4;e>k&&e>h?.01>e?(b=0,d=c=.707106781):(b=Math.sqrt(e),c=d/b,d=f/b):k>h?.01>k?(b=.707106781,c=0,d=.707106781):(c=Math.sqrt(k),b=d/c,d=l/c):.01>h?(c=b=.707106781,d=0):(d=Math.sqrt(h),b=f/d,c=l/d);this.set(b,c,d,a);return this}a=Math.sqrt((b-l)*(b-l)+(f-c)*(f-c)+(g-d)*(g-d));.001>Math.abs(a)&&
|
|
|
-(a=1);this.x=(b-l)/a;this.y=(f-c)/a;this.z=(g-d)/a;this.w=Math.acos((e+k+h-1)/2);return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);this.w=Math.min(this.w,a.w);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);this.w=Math.max(this.w,a.w);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));this.z=Math.max(a.z,Math.min(b.z,
|
|
|
-this.z));this.w=Math.max(a.w,Math.min(b.w,this.w));return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new da,b=new da);a.set(c,c,c,c);b.set(d,d,d,d);return this.clamp(a,b)}}(),floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this},round:function(){this.x=Math.round(this.x);
|
|
|
-this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);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);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);this.w=0>this.w?Math.ceil(this.w):Math.floor(this.w);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*
|
|
|
-this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())},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},fromAttribute:function(a,b,c){void 0===c&&(c=0);b=b*a.itemSize+c;this.x=a.array[b];this.y=a.array[b+1];this.z=a.array[b+2];this.w=
|
|
|
-a.array[b+3];return this}};Object.assign(yb.prototype,na.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"})}});zb.prototype=Object.create(yb.prototype);zb.prototype.constructor=zb;zb.prototype.isWebGLRenderTargetCube=!0;oa.prototype={constructor:oa,get x(){return this._x},set x(a){this._x=a;this.onChangeCallback()},get y(){return this._y},set y(a){this._y=a;this.onChangeCallback()},get z(){return this._z},set z(a){this._z=a;this.onChangeCallback()},get w(){return this._w},set w(a){this._w=a;this.onChangeCallback()},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 a 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),k=Math.sin(a._z/2),l=a.order;"XYZ"===l?(this._x=f*d*e+c*g*k,this._y=c*g*e-f*d*k,this._z=c*d*k+f*g*e,this._w=c*d*e-f*g*k):"YXZ"===l?(this._x=f*d*e+c*g*k,this._y=c*g*e-f*d*k,this._z=c*d*k-f*g*e,this._w=c*d*e+f*g*k):"ZXY"===l?(this._x=f*d*e-c*g*k,this._y=c*g*e+f*d*k,this._z=c*d*k+f*g*e,this._w=c*d*e-f*g*k):"ZYX"===l?(this._x=f*d*e-c*g*k,this._y=c*g*e+f*d*k,this._z=c*d*k-f*g*e,this._w=c*d*e+f*g*k):"YZX"===l?(this._x=f*d*e+c*g*k,this._y=c*g*e+f*d*k,this._z=c*d*k-f*g*e,this._w=c*d*
|
|
|
-e-f*g*k):"XZY"===l&&(this._x=f*d*e-c*g*k,this._y=c*g*e-f*d*k,this._z=c*d*k+f*g*e,this._w=c*d*e+f*g*k);if(!1!==b)this.onChangeCallback();return this},setFromAxisAngle:function(a,b){var c=b/2,d=Math.sin(c);this._x=a.x*d;this._y=a.y*d;this._z=a.z*d;this._w=Math.cos(c);this.onChangeCallback();return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0];a=b[4];var d=b[8],e=b[1],f=b[5],g=b[9],k=b[2],l=b[6],b=b[10],h=c+f+b;0<h?(c=.5/Math.sqrt(h+1),this._w=.25/c,this._x=(l-g)*c,this._y=(d-k)*c,
|
|
|
-this._z=(e-a)*c):c>f&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(l-g)/c,this._x=.25*c,this._y=(a+e)/c,this._z=(d+k)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w=(d-k)/c,this._x=(a+e)/c,this._y=.25*c,this._z=(g+l)/c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+k)/c,this._y=(g+l)/c,this._z=.25*c);this.onChangeCallback();return this},setFromUnitVectors:function(){var a,b;return function(c,d){void 0===a&&(a=new q);b=c.dot(d)+1;1E-6>b?(b=0,Math.abs(c.x)>Math.abs(c.z)?a.set(-c.y,c.x,0):a.set(0,-c.z,c.y)):a.crossVectors(c,
|
|
|
-d);this._x=a.x;this._y=a.y;this._z=a.z;this._w=b;return this.normalize()}}(),inverse:function(){return this.conjugate().normalize()},conjugate:function(){this._x*=-1;this._y*=-1;this._z*=-1;this.onChangeCallback();return this},dot:function(a){return this._x*a._x+this._y*a._y+this._z*a._z+this._w*a._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var a=
|
|
|
-this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);this.onChangeCallback();return this},multiply:function(a,b){return void 0!==b?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},premultiply:function(a){return this.multiplyQuaternions(a,this)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z,f=a._w,
|
|
|
-g=b._x,k=b._y,l=b._z,h=b._w;this._x=c*h+f*g+d*l-e*k;this._y=d*h+f*k+e*g-c*l;this._z=e*h+f*l+c*k-d*g;this._w=f*h-c*g-d*k-e*l;this.onChangeCallback();return this},slerp:function(a,b){if(0===b)return this;if(1===b)return this.copy(a);var c=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z;0>g?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z=-a._z,g=-g):this.copy(a);if(1<=g)return this._w=f,this._x=c,this._y=d,this._z=e,this;var k=Math.sqrt(1-g*g);if(.001>Math.abs(k))return this._w=
|
|
|
-.5*(f+this._w),this._x=.5*(c+this._x),this._y=.5*(d+this._y),this._z=.5*(e+this._z),this;var l=Math.atan2(k,g),g=Math.sin((1-b)*l)/k,k=Math.sin(b*l)/k;this._w=f*g+this._w*k;this._x=c*g+this._x*k;this._y=d*g+this._y*k;this._z=e*g+this._z*k;this.onChangeCallback();return this},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];this.onChangeCallback();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},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}};Object.assign(oa,{slerp:function(a,b,c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var k=c[d+0],l=c[d+1],h=c[d+2];c=c[d+3];d=e[f+0];var r=e[f+1],n=e[f+2];e=e[f+3];if(c!==e||k!==d||l!==r||h!==n){f=1-g;var m=k*d+l*r+h*n+c*e,t=0<=m?1:-1,u=1-m*m;u>Number.EPSILON&&(u=
|
|
|
-Math.sqrt(u),m=Math.atan2(u,m*t),f=Math.sin(f*m)/u,g=Math.sin(g*m)/u);t*=g;k=k*f+d*t;l=l*f+r*t;h=h*f+n*t;c=c*f+e*t;f===1-g&&(g=1/Math.sqrt(k*k+l*l+h*h+c*c),k*=g,l*=g,h*=g,c*=g)}a[b]=k;a[b+1]=l;a[b+2]=h;a[b+3]=c}});q.prototype={constructor:q,isVector3:!0,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},setScalar:function(a){this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setComponent:function(a,
|
|
|
-b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),
|
|
|
+(function(){var f,l,h=new q,m=new q,n=0,r=(b-a)/c;for(l=0;l<=e;l++){var B=[],C=l/e,D=C*(b-a)+a;for(f=0;f<=d;f++){var M=f/d,O=M*k+g,P=Math.sin(O),O=Math.cos(O);m.x=D*P;m.y=-C*c+y;m.z=D*O;u.setXYZ(w,m.x,m.y,m.z);h.set(P,r,O).normalize();v.setXYZ(w,h.x,h.y,h.z);z.setXY(w,M,1-C);B.push(w);w++}N.push(B)}for(f=0;f<d;f++)for(l=0;l<e;l++)h=N[l+1][f],m=N[l+1][f+1],r=N[l][f+1],t.setX(x,N[l][f]),x++,t.setX(x,h),x++,t.setX(x,r),x++,t.setX(x,h),x++,t.setX(x,m),x++,t.setX(x,r),x++,n+=6;p.addGroup(F,n,0);F+=n})();
|
|
|
+!1===f&&(0<a&&l(!0),0<b&&l(!1));this.setIndex(t);this.addAttribute("position",u);this.addAttribute("normal",v);this.addAttribute("uv",z)}function rb(a,b,c,d,e,f,g,k){S.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:k};this.fromBufferGeometry(new ab(a,b,c,d,e,f,g,k));this.mergeVertices()}function zc(a,b,c,d,e,f,g){rb.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 Ac(a,b,c,d,e,f,g){ab.call(this,0,a,b,c,d,e,f,g);this.type="ConeBufferGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,thetaStart:f,thetaLength:g}}function Tb(a,b,c,d){H.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=b+2,f=
|
|
|
+new Float32Array(3*e),g=new Float32Array(3*e),e=new Float32Array(2*e);g[2]=1;e[0]=.5;e[1]=.5;for(var k=0,l=3,p=2;k<=b;k++,l+=3,p+=2){var h=c+k/b*d;f[l]=a*Math.cos(h);f[l+1]=a*Math.sin(h);g[l+2]=1;e[p]=(f[l]/a+1)/2;e[p+1]=(f[l+1]/a+1)/2}c=[];for(l=1;l<=b;l++)c.push(l,l+1,0);this.setIndex(new C(new Uint16Array(c),1));this.addAttribute("position",new C(f,3));this.addAttribute("normal",new C(g,3));this.addAttribute("uv",new C(e,2));this.boundingSphere=new Aa(new q,a)}function Bc(a,b,c,d){S.call(this);
|
|
|
+this.type="CircleGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};this.fromBufferGeometry(new Tb(a,b,c,d))}function sb(a,b,c,d,e,f){S.call(this);this.type="BoxGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};this.fromBufferGeometry(new db(a,b,c,d,e,f));this.mergeVertices()}function le(a){this.manager=void 0!==a?a:h.DefaultLoadingManager;this.texturePath=""}function qa(){}function Ma(a,b){this.v1=a;this.v2=b}function Cc(){this.curves=
|
|
|
+[];this.autoClose=!1}function Sa(a,b,c,d,e,f,g,k){this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g;this.aRotation=k||0}function tb(a){this.points=void 0===a?[]:a}function ub(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function vb(a,b,c){this.v0=a;this.v1=b;this.v2=c}function Ub(){Dc.apply(this,arguments);this.holes=[]}function Dc(a){Cc.call(this);this.currentPoint=new B;a&&this.fromPoints(a)}function yd(){this.subPaths=[];this.currentPath=
|
|
|
+null}function zd(a){this.data=a}function me(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function Ad(){void 0===Bd&&(Bd=new (window.AudioContext||window.webkitAudioContext));return Bd}function Cd(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function ne(){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){D.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 k=new Ca(90,1,a,b);k.up.set(0,-1,0);k.lookAt(new q(0,0,1));this.add(k);var l=new Ca(90,1,a,b);l.up.set(0,-1,0);l.lookAt(new q(0,0,-1));this.add(l);this.renderTarget=
|
|
|
+new zb(c,c,{format:1022,magFilter:1006,minFilter:1006});this.updateCubeMap=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=this.renderTarget,h=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,k,c);c.texture.generateMipmaps=h;c.activeCubeFace=5;a.render(b,l,c);a.setRenderTarget(null)}}function Dd(){D.call(this);
|
|
|
+this.type="AudioListener";this.context=Ad();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null}function Vb(a){D.call(this);this.type="Audio";this.context=a.context;this.source=this.context.createBufferSource();this.source.onended=this.onEnded.bind(this);this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay=!1;this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType="empty";this.filters=
|
|
|
+[]}function Ed(a){Vb.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function Fd(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b:2048;this.data=new Uint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)}function hd(a,b,c){this.binding=a;this.valueSize=c;a=Float64Array;switch(b){case "quaternion":b=this._slerp;break;case "string":case "bool":a=Array;b=this._select;break;default:b=this._lerp}this.buffer=new a(4*
|
|
|
+c);this._mixBufferRegion=b;this.referenceCount=this.useCount=this.cumulativeWeight=0}function ha(a,b,c){this.path=b;this.parsedPath=c||ha.parseTrackName(b);this.node=ha.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function Gd(a){this.uuid=h.Math.generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;var b={};this._indicesByUUID=b;for(var c=0,d=arguments.length;c!==d;++c)b[arguments[c].uuid]=c;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath=
|
|
|
+{};var e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}function Hd(a,b,c){this._mixer=a;this._clip=b;this._localRoot=c||null;a=b.tracks;b=a.length;c=Array(b);for(var d={endingStart:2400,endingEnd:2400},e=0;e!==b;++e){var f=a[e].createInterpolant(null);c[e]=f;f.settings=d}this._interpolantSettings=d;this._interpolants=c;this._propertyBindings=Array(b);this._weightInterpolant=this._timeScaleInterpolant=
|
|
|
+this._byClipCacheIndex=this._cacheIndex=null;this.loop=2201;this._loopCount=-1;this._startTime=null;this.time=0;this._effectiveWeight=this.weight=this._effectiveTimeScale=this.timeScale=1;this.repetitions=Infinity;this.paused=!1;this.enabled=!0;this.clampWhenFinished=!1;this.zeroSlopeAtEnd=this.zeroSlopeAtStart=!0}function Id(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=0;this.timeScale=1}function Jd(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),
|
|
|
+a=b);this.value=a;this.dynamic=!1}function wb(){H.call(this);this.type="InstancedBufferGeometry";this.maxInstancedCount=void 0}function Kd(a,b,c,d){this.uuid=h.Math.generateUUID();this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0===d}function Wb(a,b){this.uuid=h.Math.generateUUID();this.array=a;this.stride=b;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.version=0}function Xb(a,b,c){Wb.call(this,a,b);this.meshPerAttribute=c||1}function Yb(a,b,c){C.call(this,a,b);this.meshPerAttribute=
|
|
|
+c||1}function Ld(a,b,c,d){this.ray=new Ya(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 oe(a,b){return a.distance-b.distance}function Md(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++)Md(a[d],b,c,!0)}}function Nd(a){this.autoStart=
|
|
|
+void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}function Od(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 ra(a,b){va.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 Ec(a){D.call(this);this.material=a;this.render=function(a){}}function id(a,b){var c=void 0!==b?b:16777215;
|
|
|
+ba.call(this,new Mb(a.geometry),new ga({color:c}));this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1}function Fc(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 H;b=new ka(6*b,3);c.addAttribute("position",b);ba.call(this,c,new ga({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function Zb(a){D.call(this);this.light=a;this.light.updateMatrixWorld();
|
|
|
+this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;a=new H;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 ka(b,3));b=new ga({fog:!1});this.cone=new ba(a,b);this.add(this.cone);this.update()}function $b(a){this.bones=this.getBoneList(a);for(var b=new S,c=0;c<this.bones.length;c++){var d=this.bones[c];d.parent&&d.parent.isBone&&
|
|
|
+(b.vertices.push(new q),b.vertices.push(new q),b.colors.push(new I(0,0,1)),b.colors.push(new I(0,1,0)))}b.dynamic=!0;c=new ga({vertexColors:2,depthTest:!1,depthWrite:!1,transparent:!0});ba.call(this,b,c);this.root=a;this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.update()}function ac(a,b){this.light=a;this.light.updateMatrixWorld();var c=new qb(b,4,2),d=new Ja({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);va.call(this,c,d);this.matrix=this.light.matrixWorld;
|
|
|
+this.matrixAutoUpdate=!1}function bc(a,b){D.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.colors=[new I,new I];var c=new Pb(b,4,2);c.rotateX(-Math.PI/2);for(var d=0;8>d;d++)c.faces[d].color=this.colors[4>d?0:1];d=new Ja({vertexColors:1,wireframe:!0});this.lightSphere=new va(c,d);this.add(this.lightSphere);this.update()}function Gc(a,b,c,d){b=b||1;c=new I(void 0!==c?c:4473924);d=new I(void 0!==d?d:8947848);for(var e=b/2,f=2*a/b,g=[],
|
|
|
+k=[],l=0,h=0,r=-a;l<=b;l++,r+=f){g.push(-a,0,r,a,0,r);g.push(r,0,-a,r,0,a);var n=l===e?c:d;n.toArray(k,h);h+=3;n.toArray(k,h);h+=3;n.toArray(k,h);h+=3;n.toArray(k,h);h+=3}a=new H;a.addAttribute("position",new ka(g,3));a.addAttribute("color",new ka(k,3));g=new ga({vertexColors:2});ba.call(this,a,g)}function Hc(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 H;b=new ka(6*b,3);c.addAttribute("position",b);ba.call(this,c,new ga({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function jd(a,b,c){b=void 0!==b?b:16777215;ba.call(this,new Sb(a.geometry,c),new ga({color:b}));this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1}function cc(a,b){D.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;void 0===b&&(b=1);var c=new H;c.addAttribute("position",new ka([-b,b,0,b,b,0,b,-b,0,-b,-b,0,
|
|
|
+-b,b,0],3));var d=new ga({fog:!1});this.add(new Qa(c,d));c=new H;c.addAttribute("position",new ka([0,0,0,0,0,1],3));this.add(new Qa(c,d));this.update()}function Ic(a){function b(a,b,d){c(a,d);c(b,d)}function c(a,b){d.vertices.push(new q);d.colors.push(new I(b));void 0===f[a]&&(f[a]=[]);f[a].push(d.vertices.length-1)}var d=new S,e=new ga({color:16777215,vertexColors:1}),f={};b("n1","n2",16755200);b("n2","n4",16755200);b("n4","n3",16755200);b("n3","n1",16755200);b("f1","f2",16755200);b("f2","f4",16755200);
|
|
|
+b("f4","f3",16755200);b("f3","f1",16755200);b("n1","f1",16755200);b("n2","f2",16755200);b("n3","f3",16755200);b("n4","f4",16755200);b("p","n1",16711680);b("p","n2",16711680);b("p","n3",16711680);b("p","n4",16711680);b("u1","u2",43775);b("u2","u3",43775);b("u3","u1",43775);b("c","t",16777215);b("p","c",3355443);b("cn1","cn2",3355443);b("cn3","cn4",3355443);b("cf1","cf2",3355443);b("cf3","cf4",3355443);ba.call(this,d,e);this.camera=a;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();
|
|
|
+this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=f;this.update()}function Jc(a,b){var c=void 0!==b?b:8947848;this.object=a;this.box=new Ia;va.call(this,new sb(1,1,1),new Ja({color:c,wireframe:!0}))}function Kc(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 H;e.setIndex(new C(c,1));e.addAttribute("position",new C(d,3));ba.call(this,e,new ga({color:b}));void 0!==a&&this.update(a)}function xb(a,b,c,d,
|
|
|
+e,f){D.call(this);void 0===d&&(d=16776960);void 0===c&&(c=1);void 0===e&&(e=.2*c);void 0===f&&(f=.2*e);this.position.copy(b);this.line=new Qa(pe,new ga({color:d}));this.line.matrixAutoUpdate=!1;this.add(this.line);this.cone=new va(qe,new Ja({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=new Float32Array([0,0,0,a,0,0,0,0,0,0,a,0,0,0,0,0,0,a]),c=new Float32Array([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1]);a=new H;a.addAttribute("position",
|
|
|
+new C(b,3));a.addAttribute("color",new C(c,3));b=new ga({vertexColors:2});ba.call(this,a,b)}function re(a){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Please use THREE.CatmullRomCurve3.");h.CatmullRomCurve3.call(this,a);this.type="catmullrom";this.closed=!0}function ld(a,b,c,d,e,f){Sa.call(this,a,b,c,c,d,e,f)}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*)\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(na.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)?!0:!1},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 se={NoBlending:0,NormalBlending:1,AdditiveBlending:2,SubtractiveBlending:3,MultiplyBlending:4,CustomBlending:5},te={UVMapping:300,CubeReflectionMapping:301,CubeRefractionMapping:302,EquirectangularReflectionMapping:303,EquirectangularRefractionMapping:304,SphericalReflectionMapping:305,CubeUVReflectionMapping:306,CubeUVRefractionMapping:307},Pd={RepeatWrapping:1E3,ClampToEdgeWrapping:1001,MirroredRepeatWrapping:1002},Qd=
|
|
|
+{NearestFilter:1003,NearestMipMapNearestFilter:1004,NearestMipMapLinearFilter:1005,LinearFilter:1006,LinearMipMapNearestFilter:1007,LinearMipMapLinearFilter:1008};h.Math={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)},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)},random16:function(){console.warn("THREE.Math.random16() has been deprecated. Use Math.random() instead.");return Math.random()},
|
|
|
+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*h.Math.DEG2RAD},radToDeg:function(a){return a*h.Math.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}};B.prototype=
|
|
|
+{constructor:B,isVector2:!0,get width(){return this.x},set width(a){this.x=a},get height(){return this.y},set height(a){this.y=a},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);}},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,b;return function(c,d){void 0===a&&(a=new B,b=new B);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},fromAttribute:function(a,b,c){void 0===c&&(c=0);b=b*a.itemSize+c;this.x=a.array[b];this.y=a.array[b+1];return this},rotateAround:function(a,b){var c=Math.cos(b),d=Math.sin(b),e=this.x-a.x,f=this.y-a.y;this.x=e*c-f*d+a.x;this.y=e*d+f*c+a.y;return this}};Z.DEFAULT_IMAGE=void 0;Z.DEFAULT_MAPPING=300;Z.prototype={constructor:Z,isTexture:!0,set needsUpdate(a){!0===a&&this.version++},clone:function(){return(new this.constructor).copy(this)},
|
|
|
+copy:function(a){this.image=a.image;this.mipmaps=a.mipmaps.slice(0);this.mapping=a.mapping;this.wrapS=a.wrapS;this.wrapT=a.wrapT;this.magFilter=a.magFilter;this.minFilter=a.minFilter;this.anisotropy=a.anisotropy;this.format=a.format;this.type=a.type;this.offset.copy(a.offset);this.repeat.copy(a.repeat);this.generateMipmaps=a.generateMipmaps;this.premultiplyAlpha=a.premultiplyAlpha;this.flipY=a.flipY;this.unpackAlignment=a.unpackAlignment;this.encoding=a.encoding;return this},toJSON:function(a){if(void 0!==
|
|
|
+a.textures[this.uuid])return a.textures[this.uuid];var b={metadata:{version:4.4,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],wrap:[this.wrapS,this.wrapT],minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var c=this.image;void 0===c.uuid&&(c.uuid=h.Math.generateUUID());if(void 0===a.images[c.uuid]){var d=a.images,
|
|
|
+e=c.uuid,f=c.uuid,g;void 0!==c.toDataURL?g=c:(g=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),g.width=c.width,g.height=c.height,g.getContext("2d").drawImage(c,0,0,c.width,c.height));g=2048<g.width||2048<g.height?g.toDataURL("image/jpeg",.6):g.toDataURL("image/png");d[e]={uuid:f,url:g}}b.image=c.uuid}return a.textures[this.uuid]=b},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(a){if(300===this.mapping){a.multiply(this.repeat);a.add(this.offset);if(0>
|
|
|
+a.x||1<a.x)switch(this.wrapS){case 1E3:a.x-=Math.floor(a.x);break;case 1001:a.x=0>a.x?0:1;break;case 1002:a.x=1===Math.abs(Math.floor(a.x)%2)?Math.ceil(a.x)-a.x:a.x-Math.floor(a.x)}if(0>a.y||1<a.y)switch(this.wrapT){case 1E3:a.y-=Math.floor(a.y);break;case 1001:a.y=0>a.y?0:1;break;case 1002:a.y=1===Math.abs(Math.floor(a.y)%2)?Math.ceil(a.y)-a.y:a.y-Math.floor(a.y)}this.flipY&&(a.y=1-a.y)}}};Object.assign(Z.prototype,na.prototype);var Sd=0;da.prototype={constructor:da,isVector4:!0,set:function(a,b,
|
|
|
+c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},setScalar:function(a){this.w=this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;case 3:this.w=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x;
|
|
|
+case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error("index is out of range: "+a);}},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=void 0!==a.w?a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},
|
|
|
+addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;this.w+=a.w*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subScalar:function(a){this.x-=
|
|
|
+a;this.y-=a;this.z-=a;this.w-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){isFinite(a)?(this.x*=a,this.y*=a,this.z*=a,this.w*=a):this.w=this.z=this.y=this.x=0;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]*e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},
|
|
|
+divideScalar:function(a){return this.multiplyScalar(1/a)},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0):(this.x=a.x/b,this.y=a.y/b,this.z=a.z/b);return this},setAxisAngleFromRotationMatrix:function(a){var b,c,d;a=a.elements;var e=a[0];d=a[4];var f=a[8],g=a[1],k=a[5],l=a[9];c=a[2];b=a[6];var h=a[10];if(.01>Math.abs(d-g)&&.01>Math.abs(f-c)&&.01>Math.abs(l-b)){if(.1>Math.abs(d+g)&&.1>Math.abs(f+c)&&.1>Math.abs(l+b)&&.1>Math.abs(e+
|
|
|
+k+h-3))return this.set(1,0,0,0),this;a=Math.PI;e=(e+1)/2;k=(k+1)/2;h=(h+1)/2;d=(d+g)/4;f=(f+c)/4;l=(l+b)/4;e>k&&e>h?.01>e?(b=0,d=c=.707106781):(b=Math.sqrt(e),c=d/b,d=f/b):k>h?.01>k?(b=.707106781,c=0,d=.707106781):(c=Math.sqrt(k),b=d/c,d=l/c):.01>h?(c=b=.707106781,d=0):(d=Math.sqrt(h),b=f/d,c=l/d);this.set(b,c,d,a);return this}a=Math.sqrt((b-l)*(b-l)+(f-c)*(f-c)+(g-d)*(g-d));.001>Math.abs(a)&&(a=1);this.x=(b-l)/a;this.y=(f-c)/a;this.z=(g-d)/a;this.w=Math.acos((e+k+h-1)/2);return this},min:function(a){this.x=
|
|
|
+Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);this.w=Math.min(this.w,a.w);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);this.w=Math.max(this.w,a.w);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));this.z=Math.max(a.z,Math.min(b.z,this.z));this.w=Math.max(a.w,Math.min(b.w,this.w));return this},clampScalar:function(){var a,b;return function(c,
|
|
|
+d){void 0===a&&(a=new da,b=new da);a.set(c,c,c,c);b.set(d,d,d,d);return this.clamp(a,b)}}(),floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);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);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);this.w=0>this.w?Math.ceil(this.w):Math.floor(this.w);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*
|
|
|
+this.x+this.y*this.y+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())},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},fromAttribute:function(a,b,c){void 0===c&&(c=0);b=b*a.itemSize+c;this.x=a.array[b];this.y=a.array[b+1];this.z=a.array[b+2];this.w=a.array[b+3];return this}};Object.assign(yb.prototype,na.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"})}});
|
|
|
+zb.prototype=Object.create(yb.prototype);zb.prototype.constructor=zb;zb.prototype.isWebGLRenderTargetCube=!0;oa.prototype={constructor:oa,get x(){return this._x},set x(a){this._x=a;this.onChangeCallback()},get y(){return this._y},set y(a){this._y=a;this.onChangeCallback()},get z(){return this._z},set z(a){this._z=a;this.onChangeCallback()},get w(){return this._w},set w(a){this._w=a;this.onChangeCallback()},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 a 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),k=Math.sin(a._z/2),l=a.order;"XYZ"===l?(this._x=f*d*e+c*g*k,
|
|
|
+this._y=c*g*e-f*d*k,this._z=c*d*k+f*g*e,this._w=c*d*e-f*g*k):"YXZ"===l?(this._x=f*d*e+c*g*k,this._y=c*g*e-f*d*k,this._z=c*d*k-f*g*e,this._w=c*d*e+f*g*k):"ZXY"===l?(this._x=f*d*e-c*g*k,this._y=c*g*e+f*d*k,this._z=c*d*k+f*g*e,this._w=c*d*e-f*g*k):"ZYX"===l?(this._x=f*d*e-c*g*k,this._y=c*g*e+f*d*k,this._z=c*d*k-f*g*e,this._w=c*d*e+f*g*k):"YZX"===l?(this._x=f*d*e+c*g*k,this._y=c*g*e+f*d*k,this._z=c*d*k-f*g*e,this._w=c*d*e-f*g*k):"XZY"===l&&(this._x=f*d*e-c*g*k,this._y=c*g*e-f*d*k,this._z=c*d*k+f*g*e,
|
|
|
+this._w=c*d*e+f*g*k);if(!1!==b)this.onChangeCallback();return this},setFromAxisAngle:function(a,b){var c=b/2,d=Math.sin(c);this._x=a.x*d;this._y=a.y*d;this._z=a.z*d;this._w=Math.cos(c);this.onChangeCallback();return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0];a=b[4];var d=b[8],e=b[1],f=b[5],g=b[9],k=b[2],l=b[6],b=b[10],h=c+f+b;0<h?(c=.5/Math.sqrt(h+1),this._w=.25/c,this._x=(l-g)*c,this._y=(d-k)*c,this._z=(e-a)*c):c>f&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(l-g)/c,this._x=.25*c,this._y=
|
|
|
+(a+e)/c,this._z=(d+k)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w=(d-k)/c,this._x=(a+e)/c,this._y=.25*c,this._z=(g+l)/c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+k)/c,this._y=(g+l)/c,this._z=.25*c);this.onChangeCallback();return this},setFromUnitVectors:function(){var a,b;return function(c,d){void 0===a&&(a=new q);b=c.dot(d)+1;1E-6>b?(b=0,Math.abs(c.x)>Math.abs(c.z)?a.set(-c.y,c.x,0):a.set(0,-c.z,c.y)):a.crossVectors(c,d);this._x=a.x;this._y=a.y;this._z=a.z;this._w=b;return this.normalize()}}(),
|
|
|
+inverse:function(){return this.conjugate().normalize()},conjugate:function(){this._x*=-1;this._y*=-1;this._z*=-1;this.onChangeCallback();return this},dot:function(a){return this._x*a._x+this._y*a._y+this._z*a._z+this._w*a._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var a=this.length();0===a?(this._z=this._y=this._x=0,this._w=
|
|
|
+1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);this.onChangeCallback();return this},multiply:function(a,b){return void 0!==b?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},premultiply:function(a){return this.multiplyQuaternions(a,this)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z,f=a._w,g=b._x,k=b._y,l=b._z,h=b._w;this._x=c*h+f*g+d*l-e*k;
|
|
|
+this._y=d*h+f*k+e*g-c*l;this._z=e*h+f*l+c*k-d*g;this._w=f*h-c*g-d*k-e*l;this.onChangeCallback();return this},slerp:function(a,b){if(0===b)return this;if(1===b)return this.copy(a);var c=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z;0>g?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z=-a._z,g=-g):this.copy(a);if(1<=g)return this._w=f,this._x=c,this._y=d,this._z=e,this;var k=Math.sqrt(1-g*g);if(.001>Math.abs(k))return this._w=.5*(f+this._w),this._x=.5*(c+this._x),this._y=.5*(d+
|
|
|
+this._y),this._z=.5*(e+this._z),this;var l=Math.atan2(k,g),g=Math.sin((1-b)*l)/k,k=Math.sin(b*l)/k;this._w=f*g+this._w*k;this._x=c*g+this._x*k;this._y=d*g+this._y*k;this._z=e*g+this._z*k;this.onChangeCallback();return this},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];this.onChangeCallback();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},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}};Object.assign(oa,{slerp:function(a,b,c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var k=c[d+0],l=c[d+1],h=c[d+2];c=c[d+3];d=e[f+0];var r=e[f+1],n=e[f+2];e=e[f+3];if(c!==e||k!==d||l!==r||h!==n){f=1-g;var m=k*d+l*r+h*n+c*e,t=0<=m?1:-1,u=1-m*m;u>Number.EPSILON&&(u=Math.sqrt(u),m=Math.atan2(u,m*t),f=Math.sin(f*m)/u,
|
|
|
+g=Math.sin(g*m)/u);t*=g;k=k*f+d*t;l=l*f+r*t;h=h*f+n*t;c=c*f+e*t;f===1-g&&(g=1/Math.sqrt(k*k+l*l+h*h+c*c),k*=g,l*=g,h*=g,c*=g)}a[b]=k;a[b+1]=l;a[b+2]=h;a[b+3]=c}});q.prototype={constructor:q,isVector3:!0,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},setScalar:function(a){this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=
|
|
|
+b;break;case 2:this.z=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),
|
|
|
this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;
|
|
|
return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},multiply:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(a,b);this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){isFinite(a)?(this.x*=a,this.y*=a,this.z*=a):this.z=this.y=this.x=0;return this},multiplyVectors:function(a,
|
|
|
b){this.x=a.x*b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},applyEuler:function(){var a;return function(b){!1===(b&&b.isEuler)&&console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.");void 0===a&&(a=new oa);return this.applyQuaternion(a.setFromEuler(b))}}(),applyAxisAngle:function(){var a;return function(b,c){void 0===a&&(a=new oa);return this.applyQuaternion(a.setFromAxisAngle(b,c))}}(),applyMatrix3:function(a){var b=this.x,c=this.y,d=this.z;
|
|
@@ -321,8 +321,8 @@ 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),
|
|
|
-f*d,b[6]=c,b[10]=f*g):"ZYX"===a.order?(a=f*k,l=f*e,h=c*k,r=c*e,b[0]=g*k,b[4]=h*d-l,b[8]=a*d+r,b[1]=g*e,b[5]=r*d+a,b[9]=l*d-h,b[2]=-d,b[6]=c*g,b[10]=f*g):"YZX"===a.order?(a=f*g,l=f*d,h=c*g,r=c*d,b[0]=g*k,b[4]=r-a*e,b[8]=h*e+l,b[1]=e,b[5]=f*k,b[9]=-c*k,b[2]=-d*k,b[6]=l*e+h,b[10]=a-r*e):"XZY"===a.order&&(a=f*g,l=f*d,h=c*g,r=c*d,b[0]=g*k,b[4]=-e,b[8]=d*k,b[1]=a*e+r,b[5]=f*k,b[9]=l*e-h,b[2]=h*e-l,b[6]=c*k,b[10]=r*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,k=d+d,l=e+e;a=c*g;var h=c*k,c=c*l,r=d*k,d=d*l,e=e*l,g=f*g,k=f*k,f=f*l;b[0]=1-(r+e);b[4]=h-f;b[8]=c+k;b[1]=h+f;b[5]=1-(a+e);b[9]=d-g;b[2]=c-k;b[6]=d+g;b[10]=1-(a+r);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,b,c;return function(d,e,f){void 0===a&&(a=new q,b=new q,c=new q);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],k=c[8],l=c[12],h=c[1],r=c[5],n=c[9],m=c[13],t=c[2],u=c[6],v=c[10],q=c[14],w=c[3],x=c[7],N=c[11],c=c[15],y=d[0],F=d[4],G=d[8],E=d[12],K=d[1],B=d[5],M=d[9],C=d[13],D=d[2],H=d[6],I=d[10],L=d[14],O=d[3],P=d[7],R=d[11],d=d[15];e[0]=f*y+g*K+k*D+l*O;e[4]=f*F+g*B+k*H+l*P;e[8]=f*G+g*M+k*I+l*R;e[12]=f*E+g*C+k*L+l*d;e[1]=h*y+r*K+n*D+m*O;e[5]=h*F+r*B+n*H+m*P;e[9]=h*G+r*M+n*I+m*R;e[13]=h*E+r*C+n*L+m*d;e[2]=t*y+u*K+v*D+q*O;e[6]=t*F+u*B+v*H+q*P;e[10]=t*G+u*M+v*I+q*R;e[14]=t*E+u*C+v*L+q*d;e[3]=w*y+
|
|
|
-x*K+N*D+c*O;e[7]=w*F+x*B+N*H+c*P;e[11]=w*G+x*M+N*I+c*R;e[15]=w*E+x*C+N*L+c*d;return this},multiplyToArray:function(a,b,c){var d=this.elements;this.multiplyMatrices(a,b);c[0]=d[0];c[1]=d[1];c[2]=d[2];c[3]=d[3];c[4]=d[4];c[5]=d[5];c[6]=d[6];c[7]=d[7];c[8]=d[8];c[9]=d[9];c[10]=d[10];c[11]=d[11];c[12]=d[12];c[13]=d[13];c[14]=d[14];c[15]=d[15];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;
|
|
|
+f=c[0],g=c[4],k=c[8],l=c[12],h=c[1],r=c[5],n=c[9],m=c[13],t=c[2],u=c[6],v=c[10],q=c[14],w=c[3],x=c[7],N=c[11],c=c[15],y=d[0],F=d[4],G=d[8],E=d[12],K=d[1],B=d[5],L=d[9],C=d[13],D=d[2],H=d[6],I=d[10],M=d[14],O=d[3],P=d[7],R=d[11],d=d[15];e[0]=f*y+g*K+k*D+l*O;e[4]=f*F+g*B+k*H+l*P;e[8]=f*G+g*L+k*I+l*R;e[12]=f*E+g*C+k*M+l*d;e[1]=h*y+r*K+n*D+m*O;e[5]=h*F+r*B+n*H+m*P;e[9]=h*G+r*L+n*I+m*R;e[13]=h*E+r*C+n*M+m*d;e[2]=t*y+u*K+v*D+q*O;e[6]=t*F+u*B+v*H+q*P;e[10]=t*G+u*L+v*I+q*R;e[14]=t*E+u*C+v*M+q*d;e[3]=w*y+
|
|
|
+x*K+N*D+c*O;e[7]=w*F+x*B+N*H+c*P;e[11]=w*G+x*L+N*I+c*R;e[15]=w*E+x*C+N*M+c*d;return this},multiplyToArray:function(a,b,c){var d=this.elements;this.multiplyMatrices(a,b);c[0]=d[0];c[1]=d[1];c[2]=d[2];c[3]=d[3];c[4]=d[4];c[5]=d[5];c[6]=d[6];c[7]=d[7];c[8]=d[8];c[9]=d[9];c[10]=d[10];c[11]=d[11];c[12]=d[12];c[13]=d[13];c[14]=d[14];c[15]=d[15];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},applyToVector3Array:function(){var a;return function(b,c,d){void 0===a&&(a=new q);void 0===c&&(c=0);void 0===d&&(d=b.length);for(var e=0;e<d;e+=3,c+=3)a.fromArray(b,c),a.applyMatrix4(this),a.toArray(b,c);return b}}(),applyToBuffer:function(){var a;return function(b,c,d){void 0===a&&(a=new q);void 0===c&&(c=0);void 0===d&&(d=b.length/b.itemSize);for(var e=0;e<d;e++,c++)a.x=b.getX(c),a.y=b.getY(c),a.z=b.getZ(c),a.applyMatrix4(this),b.setXYZ(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],k=a[9],l=a[13],h=a[2],r=a[6],n=a[10],m=a[14];return a[3]*(+e*k*r-d*l*r-e*g*n+c*l*n+d*g*m-c*k*m)+a[7]*(+b*k*m-b*l*n+e*f*n-d*f*m+d*l*h-e*k*h)+a[11]*(+b*l*r-b*g*m-e*f*r+c*f*m+e*g*h-c*l*h)+a[15]*(-d*g*h-b*k*r+b*g*n+d*f*r-c*f*n+c*k*h)},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},flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix3: .flattenToArrayOffset is deprecated - just 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)}}(),setPosition:function(a){var b=this.elements;b[12]=a.x;b[13]=a.y;b[14]=a.z;return this},
|
|
@@ -429,76 +429,76 @@ this.vertexShader;a.fragmentShader=this.fragmentShader;return a};Va.prototype=Ob
|
|
|
this.wireframeLinewidth=a.wireframeLinewidth;return this};Ia.prototype={constructor:Ia,isBox3:!0,set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromArray:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,k=0,l=a.length;k<l;k+=3){var h=a[k],r=a[k+1],n=a[k+2];h<b&&(b=h);r<c&&(c=r);n<d&&(d=n);h>e&&(e=h);r>f&&(f=r);n>g&&(g=n)}this.min.set(b,c,d);this.max.set(e,f,g)},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 q;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}}(),setFromObject:function(){var a=new q;return function(b){var c=this;b.updateMatrixWorld(!0);this.makeEmpty();b.traverse(function(b){var e=b.geometry;if(void 0!==e)if(e&&e.isGeometry)for(var e=e.vertices,f=0,g=e.length;f<g;f++)a.copy(e[f]),a.applyMatrix4(b.matrixWorld),c.expandByPoint(a);else if(e&&e.isBufferGeometry&&(g=e.attributes.position,
|
|
|
void 0!==g)){var k;g&&g.isInterleavedBufferAttribute?(e=g.data.array,f=g.offset,k=g.data.stride):(e=g.array,f=0,k=3);for(g=e.length;f<g;f+=k)a.fromArray(e,f),a.applyMatrix4(b.matrixWorld),c.expandByPoint(a)}});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=this.min.z=Infinity;this.max.x=this.max.y=this.max.z=-Infinity;return this},isEmpty:function(){return this.max.x<
|
|
|
-this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},center:function(a){return(a||new q).addVectors(this.min,this.max).multiplyScalar(.5)},size:function(a){return(a||new q).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||a.z<this.min.z||a.z>this.max.z?!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&&this.min.z<=a.min.z&&a.max.z<=this.max.z?!0:!1},getParameter:function(a,b){return(b||new q).set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y),(a.z-this.min.z)/(this.max.z-this.min.z))},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||a.max.z<this.min.z||a.min.z>this.max.z?!1:!0},intersectsSphere:function(){var a;return function(b){void 0===a&&(a=new q);this.clampPoint(b.center,a);return a.distanceToSquared(b.center)<=b.radius*b.radius}}(),intersectsPlane:function(a){var b,c;0<a.normal.x?(b=a.normal.x*this.min.x,c=a.normal.x*this.max.x):(b=a.normal.x*this.max.x,c=a.normal.x*this.min.x);0<a.normal.y?(b+=a.normal.y*this.min.y,c+=a.normal.y*this.max.y):(b+=a.normal.y*this.max.y,c+=a.normal.y*this.min.y);0<a.normal.z?(b+=
|
|
|
-a.normal.z*this.min.z,c+=a.normal.z*this.max.z):(b+=a.normal.z*this.max.z,c+=a.normal.z*this.min.z);return b<=a.constant&&c>=a.constant},clampPoint:function(a,b){return(b||new q).copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new q;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),getBoundingSphere:function(){var a=new q;return function(b){b=b||new Aa;b.center=this.center();b.radius=.5*this.size(a).length();return b}}(),intersect:function(a){this.min.max(a.min);
|
|
|
-this.max.min(a.max);this.isEmpty()&&this.makeEmpty();return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},applyMatrix4:function(){var a=[new q,new q,new q,new q,new q,new q,new q,new q];return function(b){if(this.isEmpty())return this;a[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(b);a[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(b);a[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(b);a[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(b);
|
|
|
-a[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(b);a[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(b);a[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(b);a[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(b);this.setFromPoints(a);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)}};Aa.prototype={constructor:Aa,set:function(a,b){this.center.copy(a);this.radius=b;return this},
|
|
|
-setFromPoints:function(){var a=new Ia;return function(b,c){var d=this.center;void 0!==c?d.copy(c):a.setFromPoints(b).center(d);for(var e=0,f=0,g=b.length;f<g;f++)e=Math.max(e,d.distanceToSquared(b[f]));this.radius=Math.sqrt(e);return this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.center.copy(a.center);this.radius=a.radius;return this},empty:function(){return 0>=this.radius},containsPoint:function(a){return a.distanceToSquared(this.center)<=this.radius*this.radius},
|
|
|
-distanceToPoint:function(a){return a.distanceTo(this.center)-this.radius},intersectsSphere:function(a){var b=this.radius+a.radius;return a.center.distanceToSquared(this.center)<=b*b},intersectsBox:function(a){return a.intersectsSphere(this)},intersectsPlane:function(a){return Math.abs(this.center.dot(a.normal)-a.constant)<=this.radius},clampPoint:function(a,b){var c=this.center.distanceToSquared(a),d=b||new q;d.copy(a);c>this.radius*this.radius&&(d.sub(this.center).normalize(),d.multiplyScalar(this.radius).add(this.center));
|
|
|
-return d},getBoundingBox:function(a){a=a||new Ia;a.set(this.center,this.center);a.expandByScalar(this.radius);return a},applyMatrix4:function(a){this.center.applyMatrix4(a);this.radius*=a.getMaxScaleOnAxis();return this},translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&&a.radius===this.radius}};ya.prototype={constructor:ya,isMatrix3:!0,set:function(a,b,c,d,e,f,g,k,l){var h=this.elements;h[0]=a;h[1]=d;h[2]=g;h[3]=b;h[4]=e;h[5]=k;h[6]=c;h[7]=
|
|
|
-f;h[8]=l;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(a){a=a.elements;this.set(a[0],a[3],a[6],a[1],a[4],a[7],a[2],a[5],a[8]);return this},setFromMatrix4:function(a){a=a.elements;this.set(a[0],a[4],a[8],a[1],a[5],a[9],a[2],a[6],a[10]);return this},applyToVector3Array:function(){var a;return function(b,c,d){void 0===a&&(a=new q);void 0===c&&(c=0);void 0===d&&(d=b.length);for(var e=0;e<
|
|
|
-d;e+=3,c+=3)a.fromArray(b,c),a.applyMatrix3(this),a.toArray(b,c);return b}}(),applyToBuffer:function(){var a;return function(b,c,d){void 0===a&&(a=new q);void 0===c&&(c=0);void 0===d&&(d=b.length/b.itemSize);for(var e=0;e<d;e++,c++)a.x=b.getX(c),a.y=b.getY(c),a.z=b.getZ(c),a.applyMatrix3(this),b.setXYZ(a.x,a.y,a.z);return b}}(),multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[3]*=a;b[6]*=a;b[1]*=a;b[4]*=a;b[7]*=a;b[2]*=a;b[5]*=a;b[8]*=a;return this},determinant:function(){var a=this.elements,
|
|
|
-b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],k=a[6],l=a[7],a=a[8];return b*f*a-b*g*l-c*e*a+c*g*k+d*e*l-d*f*k},getInverse:function(a,b){a&&a.isMatrix4&&console.error("THREE.Matrix3.getInverse no longer takes a Matrix4 argument.");var c=a.elements,d=this.elements,e=c[0],f=c[1],g=c[2],k=c[3],l=c[4],h=c[5],r=c[6],n=c[7],c=c[8],m=c*l-h*n,t=h*r-c*k,u=n*k-l*r,q=e*m+f*t+g*u;if(0===q){if(!0===b)throw Error("THREE.Matrix3.getInverse(): can't invert matrix, determinant is 0");console.warn("THREE.Matrix3.getInverse(): can't invert matrix, determinant is 0");
|
|
|
-return this.identity()}q=1/q;d[0]=m*q;d[1]=(g*n-c*f)*q;d[2]=(h*f-g*l)*q;d[3]=t*q;d[4]=(c*e-g*r)*q;d[5]=(g*k-h*e)*q;d[6]=u*q;d[7]=(f*r-n*e)*q;d[8]=(l*e-f*k)*q;return this},transpose:function(){var a,b=this.elements;a=b[1];b[1]=b[3];b[3]=a;a=b[2];b[2]=b[6];b[6]=a;a=b[5];b[5]=b[7];b[7]=a;return this},flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix3: .flattenToArrayOffset is deprecated - just use .toArray instead.");return this.toArray(a,b)},getNormalMatrix:function(a){return this.setFromMatrix4(a).getInverse(this).transpose()},
|
|
|
-transposeIntoArray:function(a){var b=this.elements;a[0]=b[0];a[1]=b[3];a[2]=b[6];a[3]=b[1];a[4]=b[4];a[5]=b[7];a[6]=b[2];a[7]=b[5];a[8]=b[8];return this},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;9>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];return a}};fa.prototype={constructor:fa,set:function(a,b){this.normal.copy(a);
|
|
|
-this.constant=b;return this},setComponents:function(a,b,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a,b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(){var a=new q,b=new q;return function(c,d,e){d=a.subVectors(e,d).cross(b.subVectors(c,d)).normalize();this.setFromNormalAndCoplanarPoint(d,c);return this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.normal.copy(a.normal);
|
|
|
-this.constant=a.constant;return this},normalize:function(){var a=1/this.normal.length();this.normal.multiplyScalar(a);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 ya;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}};ec.prototype={constructor:ec,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],k=c[5],l=c[6],h=c[7],r=c[8],n=c[9],m=c[10],t=c[11],u=c[12],q=c[13],z=c[14],c=c[15];
|
|
|
-b[0].setComponents(f-a,h-g,t-r,c-u).normalize();b[1].setComponents(f+a,h+g,t+r,c+u).normalize();b[2].setComponents(f+d,h+k,t+n,c+q).normalize();b[3].setComponents(f-d,h-k,t-n,c-q).normalize();b[4].setComponents(f-e,h-l,t-m,c-z).normalize();b[5].setComponents(f+e,h+l,t+m,c+z).normalize();return this},intersectsObject:function(){var a=new Aa;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 Aa;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}};C.prototype={constructor:C,isBufferAttribute:!0,get count(){return this.array.length/this.itemSize},set needsUpdate(a){!0===a&&this.version++},setDynamic:function(a){this.dynamic=a;return this},
|
|
|
-copy:function(a){this.array=new a.array.constructor(a.array);this.itemSize=a.itemSize;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 B);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 da);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},clone:function(){return(new this.constructor).copy(this)}};la.prototype={constructor:la,clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.a=a.a;this.b=a.b;this.c=a.c;this.normal.copy(a.normal);this.color.copy(a.color);
|
|
|
-this.materialIndex=a.materialIndex;for(var b=0,c=a.vertexNormals.length;b<c;b++)this.vertexNormals[b]=a.vertexNormals[b].clone();b=0;for(c=a.vertexColors.length;b<c;b++)this.vertexColors[b]=a.vertexColors[b].clone();return this}};Xa.RotationOrders="XYZ YZX ZXY XZY YXZ ZYX".split(" ");Xa.DefaultOrder="XYZ";Xa.prototype={constructor:Xa,isEuler:!0,get x(){return this._x},set x(a){this._x=a;this.onChangeCallback()},get y(){return this._y},set y(a){this._y=a;this.onChangeCallback()},get z(){return this._z},
|
|
|
-set z(a){this._z=a;this.onChangeCallback()},get order(){return this._order},set order(a){this._order=a;this.onChangeCallback()},set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._order=d||this._order;this.onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(a){this._x=a._x;this._y=a._y;this._z=a._z;this._order=a._order;this.onChangeCallback();return this},setFromRotationMatrix:function(a,b,c){var d=h.Math.clamp,e=a.elements;
|
|
|
-a=e[0];var f=e[4],g=e[8],k=e[1],l=e[5],p=e[9],r=e[2],n=e[6],e=e[10];b=b||this._order;"XYZ"===b?(this._y=Math.asin(d(g,-1,1)),.99999>Math.abs(g)?(this._x=Math.atan2(-p,e),this._z=Math.atan2(-f,a)):(this._x=Math.atan2(n,l),this._z=0)):"YXZ"===b?(this._x=Math.asin(-d(p,-1,1)),.99999>Math.abs(p)?(this._y=Math.atan2(g,e),this._z=Math.atan2(k,l)):(this._y=Math.atan2(-r,a),this._z=0)):"ZXY"===b?(this._x=Math.asin(d(n,-1,1)),.99999>Math.abs(n)?(this._y=Math.atan2(-r,e),this._z=Math.atan2(-f,l)):(this._y=
|
|
|
-0,this._z=Math.atan2(k,a))):"ZYX"===b?(this._y=Math.asin(-d(r,-1,1)),.99999>Math.abs(r)?(this._x=Math.atan2(n,e),this._z=Math.atan2(k,a)):(this._x=0,this._z=Math.atan2(-f,l))):"YZX"===b?(this._z=Math.asin(d(k,-1,1)),.99999>Math.abs(k)?(this._x=Math.atan2(-p,l),this._y=Math.atan2(-r,a)):(this._x=0,this._y=Math.atan2(g,e))):"XZY"===b?(this._z=Math.asin(-d(f,-1,1)),.99999>Math.abs(f)?(this._x=Math.atan2(n,l),this._y=Math.atan2(g,a)):(this._x=Math.atan2(-p,e),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+
|
|
|
-b);this._order=b;if(!1!==c)this.onChangeCallback();return this},setFromQuaternion:function(){var a;return function(b,c,d){void 0===a&&(a=new Q);a.makeRotationFromQuaternion(b);return this.setFromRotationMatrix(a,c,d)}}(),setFromVector3:function(a,b){return this.set(a.x,a.y,a.z,b||this._order)},reorder:function(){var a=new oa;return function(b){a.setFromEuler(this);return this.setFromQuaternion(a,b)}}(),equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},
|
|
|
-fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this.onChangeCallback();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._order;return a},toVector3:function(a){return a?a.set(this._x,this._y,this._z):new q(this._x,this._y,this._z)},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}};Lc.prototype={constructor:Lc,set:function(a){this.mask=
|
|
|
-1<<a},enable:function(a){this.mask|=1<<a},toggle:function(a){this.mask^=1<<a},disable:function(a){this.mask&=~(1<<a)},test:function(a){return 0!==(this.mask&a.mask)}};D.DefaultUp=new q(0,1,0);D.DefaultMatrixAutoUpdate=!0;Object.assign(D.prototype,na.prototype,{isObject3D:!0,applyMatrix:function(a){this.matrix.multiplyMatrices(a,this.matrix);this.matrix.decompose(this.position,this.quaternion,this.scale)},setRotationFromAxisAngle:function(a,b){this.quaternion.setFromAxisAngle(a,b)},setRotationFromEuler:function(a){this.quaternion.setFromEuler(a,
|
|
|
-!0)},setRotationFromMatrix:function(a){this.quaternion.setFromRotationMatrix(a)},setRotationFromQuaternion:function(a){this.quaternion.copy(a)},rotateOnAxis:function(){var a=new oa;return function(b,c){a.setFromAxisAngle(b,c);this.quaternion.multiply(a);return this}}(),rotateX:function(){var a=new q(1,0,0);return function(b){return this.rotateOnAxis(a,b)}}(),rotateY:function(){var a=new q(0,1,0);return function(b){return this.rotateOnAxis(a,b)}}(),rotateZ:function(){var a=new q(0,0,1);return function(b){return this.rotateOnAxis(a,
|
|
|
-b)}}(),translateOnAxis:function(){var a=new q;return function(b,c){a.copy(b).applyQuaternion(this.quaternion);this.position.add(a.multiplyScalar(c));return this}}(),translateX:function(){var a=new q(1,0,0);return function(b){return this.translateOnAxis(a,b)}}(),translateY:function(){var a=new q(0,1,0);return function(b){return this.translateOnAxis(a,b)}}(),translateZ:function(){var a=new q(0,0,1);return function(b){return this.translateOnAxis(a,b)}}(),localToWorld:function(a){return a.applyMatrix4(this.matrixWorld)},
|
|
|
-worldToLocal:function(){var a=new Q;return function(b){return b.applyMatrix4(a.getInverse(this.matrixWorld))}}(),lookAt:function(){var a=new Q;return function(b){a.lookAt(b,this.position,this.up);this.quaternion.setFromRotationMatrix(a)}}(),add:function(a){if(1<arguments.length){for(var b=0;b<arguments.length;b++)this.add(arguments[b]);return this}if(a===this)return console.error("THREE.Object3D.add: object can't be added as a child of itself.",a),this;a&&a.isObject3D?(null!==a.parent&&a.parent.remove(a),
|
|
|
-a.parent=this,a.dispatchEvent({type:"added"}),this.children.push(a)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",a);return this},remove:function(a){if(1<arguments.length)for(var b=0;b<arguments.length;b++)this.remove(arguments[b]);b=this.children.indexOf(a);-1!==b&&(a.parent=null,a.dispatchEvent({type:"removed"}),this.children.splice(b,1))},getObjectById:function(a){return this.getObjectByProperty("id",a)},getObjectByName:function(a){return this.getObjectByProperty("name",
|
|
|
-a)},getObjectByProperty:function(a,b){if(this[a]===b)return this;for(var c=0,d=this.children.length;c<d;c++){var e=this.children[c].getObjectByProperty(a,b);if(void 0!==e)return e}},getWorldPosition:function(a){a=a||new q;this.updateMatrixWorld(!0);return a.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(){var a=new q,b=new q;return function(c){c=c||new oa;this.updateMatrixWorld(!0);this.matrixWorld.decompose(a,c,b);return c}}(),getWorldRotation:function(){var a=new oa;return function(b){b=
|
|
|
-b||new Xa;this.getWorldQuaternion(a);return b.setFromQuaternion(a,this.rotation.order,!1)}}(),getWorldScale:function(){var a=new q,b=new oa;return function(c){c=c||new q;this.updateMatrixWorld(!0);this.matrixWorld.decompose(a,b,c);return c}}(),getWorldDirection:function(){var a=new oa;return function(b){b=b||new q;this.getWorldQuaternion(a);return b.set(0,0,1).applyQuaternion(a)}}(),raycast:function(){},traverse:function(a){a(this);for(var b=this.children,c=0,d=b.length;c<d;c++)b[c].traverse(a)},
|
|
|
-traverseVisible:function(a){if(!1!==this.visible){a(this);for(var b=this.children,c=0,d=b.length;c<d;c++)b[c].traverseVisible(a)}},traverseAncestors:function(a){var b=this.parent;null!==b&&(a(b),b.traverseAncestors(a))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale);this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(a){!0===this.matrixAutoUpdate&&this.updateMatrix();if(!0===this.matrixWorldNeedsUpdate||!0===a)null===this.parent?this.matrixWorld.copy(this.matrix):
|
|
|
-this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,a=!0;for(var b=this.children,c=0,d=b.length;c<d;c++)b[c].updateMatrixWorld(a)},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||""===a,d={};c&&(a={geometries:{},materials:{},textures:{},images:{}},d.metadata={version:4.4,type:"Object",generator:"Object3D.toJSON"});var e={};e.uuid=this.uuid;e.type=this.type;""!==this.name&&(e.name=
|
|
|
-this.name);"{}"!==JSON.stringify(this.userData)&&(e.userData=this.userData);!0===this.castShadow&&(e.castShadow=!0);!0===this.receiveShadow&&(e.receiveShadow=!0);!1===this.visible&&(e.visible=!1);e.matrix=this.matrix.toArray();void 0!==this.geometry&&(void 0===a.geometries[this.geometry.uuid]&&(a.geometries[this.geometry.uuid]=this.geometry.toJSON(a)),e.geometry=this.geometry.uuid);void 0!==this.material&&(void 0===a.materials[this.material.uuid]&&(a.materials[this.material.uuid]=this.material.toJSON(a)),
|
|
|
-e.material=this.material.uuid);if(0<this.children.length){e.children=[];for(var f=0;f<this.children.length;f++)e.children.push(this.children[f].toJSON(a).object)}if(c){var c=b(a.geometries),f=b(a.materials),g=b(a.textures);a=b(a.images);0<c.length&&(d.geometries=c);0<f.length&&(d.materials=f);0<g.length&&(d.textures=g);0<a.length&&(d.images=a)}d.object=e;return d},clone:function(a){return(new this.constructor).copy(this,a)},copy:function(a,b){void 0===b&&(b=!0);this.name=a.name;this.up.copy(a.up);
|
|
|
-this.position.copy(a.position);this.quaternion.copy(a.quaternion);this.scale.copy(a.scale);this.matrix.copy(a.matrix);this.matrixWorld.copy(a.matrixWorld);this.matrixAutoUpdate=a.matrixAutoUpdate;this.matrixWorldNeedsUpdate=a.matrixWorldNeedsUpdate;this.visible=a.visible;this.castShadow=a.castShadow;this.receiveShadow=a.receiveShadow;this.frustumCulled=a.frustumCulled;this.renderOrder=a.renderOrder;this.userData=JSON.parse(JSON.stringify(a.userData));if(!0===b)for(var c=0;c<a.children.length;c++)this.add(a.children[c].clone());
|
|
|
-return this}});var fe=0;Object.assign(S.prototype,na.prototype,{isGeometry:!0,applyMatrix:function(a){for(var b=(new ya).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;return function(b){void 0===a&&(a=new Q);a.makeRotationX(b);this.applyMatrix(a);return this}}(),rotateY:function(){var a;return function(b){void 0===a&&(a=new Q);a.makeRotationY(b);this.applyMatrix(a);return this}}(),rotateZ:function(){var a;return function(b){void 0===a&&(a=new Q);a.makeRotationZ(b);this.applyMatrix(a);return this}}(),translate:function(){var a;return function(b,c,d){void 0===a&&(a=new Q);a.makeTranslation(b,c,d);this.applyMatrix(a);
|
|
|
-return this}}(),scale:function(){var a;return function(b,c,d){void 0===a&&(a=new Q);a.makeScale(b,c,d);this.applyMatrix(a);return this}}(),lookAt:function(){var a;return function(b){void 0===a&&(a=new D);a.lookAt(b);a.updateMatrix();this.applyMatrix(a.matrix)}}(),fromBufferGeometry:function(a){function b(a,b,d,e){var f=void 0!==g?[r[a].clone(),r[b].clone(),r[d].clone()]:[],t=void 0!==k?[c.colors[a].clone(),c.colors[b].clone(),c.colors[d].clone()]:[];e=new la(a,b,d,f,t,e);c.faces.push(e);void 0!==
|
|
|
-l&&c.faceVertexUvs[0].push([n[a].clone(),n[b].clone(),n[d].clone()]);void 0!==h&&c.faceVertexUvs[1].push([m[a].clone(),m[b].clone(),m[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,k=void 0!==e.color?e.color.array:void 0,l=void 0!==e.uv?e.uv.array:void 0,h=void 0!==e.uv2?e.uv2.array:void 0;void 0!==h&&(this.faceVertexUvs[1]=[]);for(var r=[],n=[],m=[],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&&r.push(new q(g[e],g[e+1],g[e+2])),void 0!==k&&c.colors.push(new I(k[e],k[e+1],k[e+2])),void 0!==l&&n.push(new B(l[t],l[t+1])),void 0!==h&&m.push(new B(h[t],h[t+1]));if(void 0!==d)if(f=a.groups,0<f.length)for(e=0;e<f.length;e++)for(var u=f[e],v=u.start,z=u.count,t=v,v=v+z;t<v;t+=3)b(d[t],d[t+1],d[t+2],u.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.center().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 Q;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,k=new q,l=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],k.subVectors(g,f),l.subVectors(e,
|
|
|
-f),k.cross(l),d[c.a].add(k),d[c.b].add(k),d[c.c].add(k)}else for(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=!0)},computeMorphNormals:function(){var a,
|
|
|
-b,c,d,e;c=0;for(d=this.faces.length;c<d;c++)for(e=this.faces[c],e.__originalFaceNormal?e.__originalFaceNormal.copy(e.normal):e.__originalFaceNormal=e.normal.clone(),e.__originalVertexNormals||(e.__originalVertexNormals=[]),a=0,b=e.vertexNormals.length;a<b;a++)e.__originalVertexNormals[a]?e.__originalVertexNormals[a].copy(e.vertexNormals[a]):e.__originalVertexNormals[a]=e.vertexNormals[a].clone();var f=new S;f.faces=this.faces;a=0;for(b=this.morphTargets.length;a<b;a++){if(!this.morphNormals[a]){this.morphNormals[a]=
|
|
|
-{};this.morphNormals[a].faceNormals=[];this.morphNormals[a].vertexNormals=[];e=this.morphNormals[a].faceNormals;var g=this.morphNormals[a].vertexNormals,k,l;c=0;for(d=this.faces.length;c<d;c++)k=new q,l={a:new q,b:new q,c:new q},e.push(k),g.push(l)}g=this.morphNormals[a];f.vertices=this.morphTargets[a].vertices;f.computeFaceNormals();f.computeVertexNormals();c=0;for(d=this.faces.length;c<d;c++)e=this.faces[c],k=g.faceNormals[c],l=g.vertexNormals[c],k.copy(e.normal),l.a.copy(e.vertexNormals[0]),l.b.copy(e.vertexNormals[1]),
|
|
|
-l.c.copy(e.vertexNormals[2])}c=0;for(d=this.faces.length;c<d;c++)e=this.faces[c],e.normal=e.__originalFaceNormal,e.vertexNormals=e.__originalVertexNormals},computeTangents:function(){console.warn("THREE.Geometry: .computeTangents() has been removed.")},computeLineDistances:function(){for(var a=0,b=this.vertices,c=0,d=b.length;c<d;c++)0<c&&(a+=b[c].distanceTo(b[c-1])),this.lineDistances[c]=a},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Ia);this.boundingBox.setFromPoints(this.vertices)},
|
|
|
-computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new Aa);this.boundingSphere.setFromPoints(this.vertices)},merge:function(a,b,c){if(!1===(a&&a.isGeometry))console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",a);else{var d,e=this.vertices.length,f=this.vertices,g=a.vertices,k=this.faces,l=a.faces,h=this.faceVertexUvs[0],r=a.faceVertexUvs[0],n=this.colors,m=a.colors;void 0===c&&(c=0);void 0!==b&&(d=(new ya).getNormalMatrix(b));a=0;for(var t=
|
|
|
-g.length;a<t;a++){var u=g[a].clone();void 0!==b&&u.applyMatrix4(b);f.push(u)}a=0;for(t=m.length;a<t;a++)n.push(m[a].clone());a=0;for(t=l.length;a<t;a++){var g=l[a],q=g.vertexNormals,m=g.vertexColors,n=new la(g.a+e,g.b+e,g.c+e);n.normal.copy(g.normal);void 0!==d&&n.normal.applyMatrix3(d).normalize();b=0;for(f=q.length;b<f;b++)u=q[b].clone(),void 0!==d&&u.applyMatrix3(d).normalize(),n.vertexNormals.push(u);n.color.copy(g.color);b=0;for(f=m.length;b<f;b++)u=m[b],n.vertexColors.push(u.clone());n.materialIndex=
|
|
|
-g.materialIndex+c;k.push(n)}a=0;for(t=r.length;a<t;a++)if(c=r[a],d=[],void 0!==c){b=0;for(f=c.length;b<f;b++)d.push(c[b].clone());h.push(d)}}},mergeMesh:function(a){!1===(a&&a.isMesh)?console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",a):(a.matrixAutoUpdate&&a.updateMatrix(),this.merge(a.geometry,a.matrix))},mergeVertices:function(){var a={},b=[],c=[],d,e=Math.pow(10,4),f,g;f=0;for(g=this.vertices.length;f<g;f++)d=this.vertices[f],d=Math.round(d.x*e)+"_"+Math.round(d.y*
|
|
|
-e)+"_"+Math.round(d.z*e),void 0===a[d]?(a[d]=f,b.push(this.vertices[f]),c[f]=b.length-1):c[f]=c[a[d]];a=[];f=0;for(g=this.faces.length;f<g;f++)for(e=this.faces[f],e.a=c[e.a],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 k=a[c]._id;f&&f.push(d[k]);g&&g.push(e[k])}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!==h[b])return h[b];h[b]=l.length/3;l.push(a.x,
|
|
|
-a.y,a.z);return h[b]}function c(a){var b=a.r.toString()+a.g.toString()+a.b.toString();if(void 0!==n[b])return n[b];n[b]=r.length;r.push(a.getHex());return n[b]}function d(a){var b=a.x.toString()+a.y.toString();if(void 0!==t[b])return t[b];t[b]=m.length/2;m.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 k=this.vertices[g];f.push(k.x,k.y,k.z)}var k=[],l=[],h={},r=[],n={},m=[],t={};for(g=0;g<this.faces.length;g++){var u=this.faces[g],q=void 0!==this.faceVertexUvs[0][g],z=0<u.normal.length(),w=0<u.vertexNormals.length,x=1!==u.color.r||1!==u.color.g||1!==u.color.b,N=0<u.vertexColors.length,y=0,y=a(y,0,0),y=a(y,1,!0),y=a(y,2,!1),y=a(y,3,q),y=a(y,4,z),y=a(y,5,w),y=a(y,6,x),y=a(y,7,N);k.push(y);k.push(u.a,u.b,u.c);k.push(u.materialIndex);
|
|
|
-q&&(q=this.faceVertexUvs[0][g],k.push(d(q[0]),d(q[1]),d(q[2])));z&&k.push(b(u.normal));w&&(z=u.vertexNormals,k.push(b(z[0]),b(z[1]),b(z[2])));x&&k.push(c(u.color));N&&(u=u.vertexColors,k.push(c(u[0]),c(u[1]),c(u[2])))}e.data={};e.data.vertices=f;e.data.normals=l;0<r.length&&(e.data.colors=r);0<m.length&&(e.data.uvs=[m]);e.data.faces=k;return e},clone:function(){return(new S).copy(this)},copy:function(a){this.vertices=[];this.faces=[];this.faceVertexUvs=[[]];this.colors=[];for(var b=a.vertices,c=0,
|
|
|
-d=b.length;c<d;c++)this.vertices.push(b[c].clone());b=a.colors;c=0;for(d=b.length;c<d;c++)this.colors.push(b[c].clone());b=a.faces;c=0;for(d=b.length;c<d;c++)this.faces.push(b[c].clone());c=0;for(d=a.faceVertexUvs.length;c<d;c++){b=a.faceVertexUvs[c];void 0===this.faceVertexUvs[c]&&(this.faceVertexUvs[c]=[]);for(var e=0,f=b.length;e<f;e++){for(var g=b[e],k=[],l=0,h=g.length;l<h;l++)k.push(g[l].clone());this.faceVertexUvs[c].push(k)}}return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});
|
|
|
-var Mc=0;Object.assign(od.prototype,na.prototype,{computeBoundingBox:S.prototype.computeBoundingBox,computeBoundingSphere:S.prototype.computeBoundingSphere,computeFaceNormals:function(){console.warn("THREE.DirectGeometry: computeFaceNormals() is not a method of this type of geometry.")},computeVertexNormals:function(){console.warn("THREE.DirectGeometry: computeVertexNormals() is not a method of this type of geometry.")},computeGroups:function(a){var b,c=[],d;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,k=g.length,l;if(0<k){l=[];for(var h=0;h<k;h++)l[h]=[];this.morphTargets.position=l}var r=a.morphNormals,n=r.length,m;if(0<n){m=[];for(h=0;h<n;h++)m[h]=[];this.morphTargets.normal=m}for(var t=
|
|
|
-a.skinIndices,u=a.skinWeights,q=t.length===c.length,z=u.length===c.length,h=0;h<b.length;h++){var w=b[h];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][h],void 0!==x?this.uvs.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",h),this.uvs.push(new B,
|
|
|
-new B,new B)));!0===f&&(x=d[1][h],void 0!==x?this.uvs2.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",h),this.uvs2.push(new B,new B,new B)));for(x=0;x<k;x++){var N=g[x].vertices;l[x].push(N[w.a],N[w.b],N[w.c])}for(x=0;x<n;x++)N=r[x].vertexNormals[h],m[x].push(N.a,N.b,N.c);q&&this.skinIndices.push(t[w.a],t[w.b],t[w.c]);z&&this.skinWeights.push(u[w.a],u[w.b],u[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},dispose:function(){this.dispatchEvent({type:"dispose"})}});Object.assign(H.prototype,na.prototype,{isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(a){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.min.x||this.max.y<this.min.y||this.max.z<this.min.z},center:function(a){a=a||new q;return this.isEmpty()?a.set(0,0,0):a.addVectors(this.min,this.max).multiplyScalar(.5)},size:function(a){return(a||new q).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||a.z<this.min.z||a.z>this.max.z?!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&&this.min.z<=a.min.z&&a.max.z<=this.max.z?!0:!1},getParameter:function(a,b){return(b||new q).set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y),(a.z-this.min.z)/(this.max.z-this.min.z))},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||a.max.z<this.min.z||a.min.z>this.max.z?!1:!0},intersectsSphere:function(){var a;return function(b){void 0===a&&(a=new q);this.clampPoint(b.center,a);return a.distanceToSquared(b.center)<=b.radius*b.radius}}(),intersectsPlane:function(a){var b,c;0<a.normal.x?(b=a.normal.x*this.min.x,c=a.normal.x*this.max.x):(b=a.normal.x*this.max.x,c=a.normal.x*this.min.x);0<a.normal.y?(b+=a.normal.y*this.min.y,c+=a.normal.y*this.max.y):(b+=a.normal.y*this.max.y,c+=a.normal.y*
|
|
|
+this.min.y);0<a.normal.z?(b+=a.normal.z*this.min.z,c+=a.normal.z*this.max.z):(b+=a.normal.z*this.max.z,c+=a.normal.z*this.min.z);return b<=a.constant&&c>=a.constant},clampPoint:function(a,b){return(b||new q).copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new q;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),getBoundingSphere:function(){var a=new q;return function(b){b=b||new Aa;b.center=this.center();b.radius=.5*this.size(a).length();return b}}(),
|
|
|
+intersect:function(a){this.min.max(a.min);this.max.min(a.max);this.isEmpty()&&this.makeEmpty();return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},applyMatrix4:function(){var a=[new q,new q,new q,new q,new q,new q,new q,new q];return function(b){if(this.isEmpty())return this;a[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(b);a[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(b);a[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(b);a[3].set(this.min.x,
|
|
|
+this.max.y,this.max.z).applyMatrix4(b);a[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(b);a[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(b);a[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(b);a[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(b);this.setFromPoints(a);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)}};Aa.prototype={constructor:Aa,set:function(a,b){this.center.copy(a);
|
|
|
+this.radius=b;return this},setFromPoints:function(){var a=new Ia;return function(b,c){var d=this.center;void 0!==c?d.copy(c):a.setFromPoints(b).center(d);for(var e=0,f=0,g=b.length;f<g;f++)e=Math.max(e,d.distanceToSquared(b[f]));this.radius=Math.sqrt(e);return this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.center.copy(a.center);this.radius=a.radius;return this},empty:function(){return 0>=this.radius},containsPoint:function(a){return a.distanceToSquared(this.center)<=
|
|
|
+this.radius*this.radius},distanceToPoint:function(a){return a.distanceTo(this.center)-this.radius},intersectsSphere:function(a){var b=this.radius+a.radius;return a.center.distanceToSquared(this.center)<=b*b},intersectsBox:function(a){return a.intersectsSphere(this)},intersectsPlane:function(a){return Math.abs(this.center.dot(a.normal)-a.constant)<=this.radius},clampPoint:function(a,b){var c=this.center.distanceToSquared(a),d=b||new q;d.copy(a);c>this.radius*this.radius&&(d.sub(this.center).normalize(),
|
|
|
+d.multiplyScalar(this.radius).add(this.center));return d},getBoundingBox:function(a){a=a||new Ia;a.set(this.center,this.center);a.expandByScalar(this.radius);return a},applyMatrix4:function(a){this.center.applyMatrix4(a);this.radius*=a.getMaxScaleOnAxis();return this},translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&&a.radius===this.radius}};ya.prototype={constructor:ya,isMatrix3:!0,set:function(a,b,c,d,e,f,g,k,l){var h=this.elements;h[0]=
|
|
|
+a;h[1]=d;h[2]=g;h[3]=b;h[4]=e;h[5]=k;h[6]=c;h[7]=f;h[8]=l;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(a){a=a.elements;this.set(a[0],a[3],a[6],a[1],a[4],a[7],a[2],a[5],a[8]);return this},setFromMatrix4:function(a){a=a.elements;this.set(a[0],a[4],a[8],a[1],a[5],a[9],a[2],a[6],a[10]);return this},applyToVector3Array:function(){var a;return function(b,c,d){void 0===a&&(a=new q);void 0===
|
|
|
+c&&(c=0);void 0===d&&(d=b.length);for(var e=0;e<d;e+=3,c+=3)a.fromArray(b,c),a.applyMatrix3(this),a.toArray(b,c);return b}}(),applyToBuffer:function(){var a;return function(b,c,d){void 0===a&&(a=new q);void 0===c&&(c=0);void 0===d&&(d=b.length/b.itemSize);for(var e=0;e<d;e++,c++)a.x=b.getX(c),a.y=b.getY(c),a.z=b.getZ(c),a.applyMatrix3(this),b.setXYZ(a.x,a.y,a.z);return b}}(),multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[3]*=a;b[6]*=a;b[1]*=a;b[4]*=a;b[7]*=a;b[2]*=a;b[5]*=a;b[8]*=a;return this},
|
|
|
+determinant:function(){var a=this.elements,b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],k=a[6],l=a[7],a=a[8];return b*f*a-b*g*l-c*e*a+c*g*k+d*e*l-d*f*k},getInverse:function(a,b){a&&a.isMatrix4&&console.error("THREE.Matrix3.getInverse no longer takes a Matrix4 argument.");var c=a.elements,d=this.elements,e=c[0],f=c[1],g=c[2],k=c[3],l=c[4],h=c[5],r=c[6],n=c[7],c=c[8],m=c*l-h*n,t=h*r-c*k,u=n*k-l*r,q=e*m+f*t+g*u;if(0===q){if(!0===b)throw Error("THREE.Matrix3.getInverse(): can't invert matrix, determinant is 0");
|
|
|
+console.warn("THREE.Matrix3.getInverse(): can't invert matrix, determinant is 0");return this.identity()}q=1/q;d[0]=m*q;d[1]=(g*n-c*f)*q;d[2]=(h*f-g*l)*q;d[3]=t*q;d[4]=(c*e-g*r)*q;d[5]=(g*k-h*e)*q;d[6]=u*q;d[7]=(f*r-n*e)*q;d[8]=(l*e-f*k)*q;return this},transpose:function(){var a,b=this.elements;a=b[1];b[1]=b[3];b[3]=a;a=b[2];b[2]=b[6];b[6]=a;a=b[5];b[5]=b[7];b[7]=a;return this},flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix3: .flattenToArrayOffset is deprecated - just use .toArray instead.");
|
|
|
+return this.toArray(a,b)},getNormalMatrix:function(a){return this.setFromMatrix4(a).getInverse(this).transpose()},transposeIntoArray:function(a){var b=this.elements;a[0]=b[0];a[1]=b[3];a[2]=b[6];a[3]=b[1];a[4]=b[4];a[5]=b[7];a[6]=b[2];a[7]=b[5];a[8]=b[8];return this},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;9>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];
|
|
|
+a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];return a}};fa.prototype={constructor:fa,set:function(a,b){this.normal.copy(a);this.constant=b;return this},setComponents:function(a,b,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a,b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(){var a=new q,b=new q;return function(c,d,e){d=a.subVectors(e,d).cross(b.subVectors(c,d)).normalize();this.setFromNormalAndCoplanarPoint(d,
|
|
|
+c);return this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.normal.copy(a.normal);this.constant=a.constant;return this},normalize:function(){var a=1/this.normal.length();this.normal.multiplyScalar(a);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 ya;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}};ec.prototype={constructor:ec,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],k=c[5],l=c[6],h=c[7],r=c[8],n=c[9],m=c[10],t=c[11],u=c[12],q=c[13],z=c[14],c=c[15];b[0].setComponents(f-a,h-g,t-r,c-u).normalize();b[1].setComponents(f+a,h+g,t+r,c+u).normalize();b[2].setComponents(f+d,h+k,t+n,c+q).normalize();b[3].setComponents(f-d,h-k,t-n,c-q).normalize();b[4].setComponents(f-e,h-l,t-m,c-z).normalize();b[5].setComponents(f+e,h+l,t+m,c+z).normalize();return this},intersectsObject:function(){var a=new Aa;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 Aa;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}};C.prototype={constructor:C,isBufferAttribute:!0,get count(){return this.array.length/this.itemSize},
|
|
|
+set needsUpdate(a){!0===a&&this.version++},setDynamic:function(a){this.dynamic=a;return this},copy:function(a){this.array=new a.array.constructor(a.array);this.itemSize=a.itemSize;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 B);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 da);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},clone:function(){return(new this.constructor).copy(this)}};la.prototype={constructor:la,clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.a=
|
|
|
+a.a;this.b=a.b;this.c=a.c;this.normal.copy(a.normal);this.color.copy(a.color);this.materialIndex=a.materialIndex;for(var b=0,c=a.vertexNormals.length;b<c;b++)this.vertexNormals[b]=a.vertexNormals[b].clone();b=0;for(c=a.vertexColors.length;b<c;b++)this.vertexColors[b]=a.vertexColors[b].clone();return this}};Xa.RotationOrders="XYZ YZX ZXY XZY YXZ ZYX".split(" ");Xa.DefaultOrder="XYZ";Xa.prototype={constructor:Xa,isEuler:!0,get x(){return this._x},set x(a){this._x=a;this.onChangeCallback()},get y(){return this._y},
|
|
|
+set y(a){this._y=a;this.onChangeCallback()},get z(){return this._z},set z(a){this._z=a;this.onChangeCallback()},get order(){return this._order},set order(a){this._order=a;this.onChangeCallback()},set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._order=d||this._order;this.onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(a){this._x=a._x;this._y=a._y;this._z=a._z;this._order=a._order;this.onChangeCallback();return this},
|
|
|
+setFromRotationMatrix:function(a,b,c){var d=h.Math.clamp,e=a.elements;a=e[0];var f=e[4],g=e[8],k=e[1],l=e[5],p=e[9],r=e[2],n=e[6],e=e[10];b=b||this._order;"XYZ"===b?(this._y=Math.asin(d(g,-1,1)),.99999>Math.abs(g)?(this._x=Math.atan2(-p,e),this._z=Math.atan2(-f,a)):(this._x=Math.atan2(n,l),this._z=0)):"YXZ"===b?(this._x=Math.asin(-d(p,-1,1)),.99999>Math.abs(p)?(this._y=Math.atan2(g,e),this._z=Math.atan2(k,l)):(this._y=Math.atan2(-r,a),this._z=0)):"ZXY"===b?(this._x=Math.asin(d(n,-1,1)),.99999>Math.abs(n)?
|
|
|
+(this._y=Math.atan2(-r,e),this._z=Math.atan2(-f,l)):(this._y=0,this._z=Math.atan2(k,a))):"ZYX"===b?(this._y=Math.asin(-d(r,-1,1)),.99999>Math.abs(r)?(this._x=Math.atan2(n,e),this._z=Math.atan2(k,a)):(this._x=0,this._z=Math.atan2(-f,l))):"YZX"===b?(this._z=Math.asin(d(k,-1,1)),.99999>Math.abs(k)?(this._x=Math.atan2(-p,l),this._y=Math.atan2(-r,a)):(this._x=0,this._y=Math.atan2(g,e))):"XZY"===b?(this._z=Math.asin(-d(f,-1,1)),.99999>Math.abs(f)?(this._x=Math.atan2(n,l),this._y=Math.atan2(g,a)):(this._x=
|
|
|
+Math.atan2(-p,e),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+b);this._order=b;if(!1!==c)this.onChangeCallback();return this},setFromQuaternion:function(){var a;return function(b,c,d){void 0===a&&(a=new Q);a.makeRotationFromQuaternion(b);return this.setFromRotationMatrix(a,c,d)}}(),setFromVector3:function(a,b){return this.set(a.x,a.y,a.z,b||this._order)},reorder:function(){var a=new oa;return function(b){a.setFromEuler(this);return this.setFromQuaternion(a,
|
|
|
+b)}}(),equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this.onChangeCallback();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._order;return a},toVector3:function(a){return a?a.set(this._x,this._y,this._z):new q(this._x,this._y,this._z)},onChange:function(a){this.onChangeCallback=
|
|
|
+a;return this},onChangeCallback:function(){}};Lc.prototype={constructor:Lc,set:function(a){this.mask=1<<a},enable:function(a){this.mask|=1<<a},toggle:function(a){this.mask^=1<<a},disable:function(a){this.mask&=~(1<<a)},test:function(a){return 0!==(this.mask&a.mask)}};D.DefaultUp=new q(0,1,0);D.DefaultMatrixAutoUpdate=!0;Object.assign(D.prototype,na.prototype,{isObject3D:!0,applyMatrix:function(a){this.matrix.multiplyMatrices(a,this.matrix);this.matrix.decompose(this.position,this.quaternion,this.scale)},
|
|
|
+setRotationFromAxisAngle:function(a,b){this.quaternion.setFromAxisAngle(a,b)},setRotationFromEuler:function(a){this.quaternion.setFromEuler(a,!0)},setRotationFromMatrix:function(a){this.quaternion.setFromRotationMatrix(a)},setRotationFromQuaternion:function(a){this.quaternion.copy(a)},rotateOnAxis:function(){var a=new oa;return function(b,c){a.setFromAxisAngle(b,c);this.quaternion.multiply(a);return this}}(),rotateX:function(){var a=new q(1,0,0);return function(b){return this.rotateOnAxis(a,b)}}(),
|
|
|
+rotateY:function(){var a=new q(0,1,0);return function(b){return this.rotateOnAxis(a,b)}}(),rotateZ:function(){var a=new q(0,0,1);return function(b){return this.rotateOnAxis(a,b)}}(),translateOnAxis:function(){var a=new q;return function(b,c){a.copy(b).applyQuaternion(this.quaternion);this.position.add(a.multiplyScalar(c));return this}}(),translateX:function(){var a=new q(1,0,0);return function(b){return this.translateOnAxis(a,b)}}(),translateY:function(){var a=new q(0,1,0);return function(b){return this.translateOnAxis(a,
|
|
|
+b)}}(),translateZ:function(){var a=new q(0,0,1);return function(b){return this.translateOnAxis(a,b)}}(),localToWorld:function(a){return a.applyMatrix4(this.matrixWorld)},worldToLocal:function(){var a=new Q;return function(b){return b.applyMatrix4(a.getInverse(this.matrixWorld))}}(),lookAt:function(){var a=new Q;return function(b){a.lookAt(b,this.position,this.up);this.quaternion.setFromRotationMatrix(a)}}(),add:function(a){if(1<arguments.length){for(var b=0;b<arguments.length;b++)this.add(arguments[b]);
|
|
|
+return this}if(a===this)return console.error("THREE.Object3D.add: object can't be added as a child of itself.",a),this;a&&a.isObject3D?(null!==a.parent&&a.parent.remove(a),a.parent=this,a.dispatchEvent({type:"added"}),this.children.push(a)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",a);return this},remove:function(a){if(1<arguments.length)for(var b=0;b<arguments.length;b++)this.remove(arguments[b]);b=this.children.indexOf(a);-1!==b&&(a.parent=null,a.dispatchEvent({type:"removed"}),
|
|
|
+this.children.splice(b,1))},getObjectById:function(a){return this.getObjectByProperty("id",a)},getObjectByName:function(a){return this.getObjectByProperty("name",a)},getObjectByProperty:function(a,b){if(this[a]===b)return this;for(var c=0,d=this.children.length;c<d;c++){var e=this.children[c].getObjectByProperty(a,b);if(void 0!==e)return e}},getWorldPosition:function(a){a=a||new q;this.updateMatrixWorld(!0);return a.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(){var a=new q,
|
|
|
+b=new q;return function(c){c=c||new oa;this.updateMatrixWorld(!0);this.matrixWorld.decompose(a,c,b);return c}}(),getWorldRotation:function(){var a=new oa;return function(b){b=b||new Xa;this.getWorldQuaternion(a);return b.setFromQuaternion(a,this.rotation.order,!1)}}(),getWorldScale:function(){var a=new q,b=new oa;return function(c){c=c||new q;this.updateMatrixWorld(!0);this.matrixWorld.decompose(a,b,c);return c}}(),getWorldDirection:function(){var a=new oa;return function(b){b=b||new q;this.getWorldQuaternion(a);
|
|
|
+return b.set(0,0,1).applyQuaternion(a)}}(),raycast:function(){},traverse:function(a){a(this);for(var b=this.children,c=0,d=b.length;c<d;c++)b[c].traverse(a)},traverseVisible:function(a){if(!1!==this.visible){a(this);for(var b=this.children,c=0,d=b.length;c<d;c++)b[c].traverseVisible(a)}},traverseAncestors:function(a){var b=this.parent;null!==b&&(a(b),b.traverseAncestors(a))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale);this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(a){!0===
|
|
|
+this.matrixAutoUpdate&&this.updateMatrix();if(!0===this.matrixWorldNeedsUpdate||!0===a)null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,a=!0;for(var b=this.children,c=0,d=b.length;c<d;c++)b[c].updateMatrixWorld(a)},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||""===a,d={};c&&(a={geometries:{},materials:{},textures:{},
|
|
|
+images:{}},d.metadata={version:4.4,type:"Object",generator:"Object3D.toJSON"});var e={};e.uuid=this.uuid;e.type=this.type;""!==this.name&&(e.name=this.name);"{}"!==JSON.stringify(this.userData)&&(e.userData=this.userData);!0===this.castShadow&&(e.castShadow=!0);!0===this.receiveShadow&&(e.receiveShadow=!0);!1===this.visible&&(e.visible=!1);e.matrix=this.matrix.toArray();void 0!==this.geometry&&(void 0===a.geometries[this.geometry.uuid]&&(a.geometries[this.geometry.uuid]=this.geometry.toJSON(a)),e.geometry=
|
|
|
+this.geometry.uuid);void 0!==this.material&&(void 0===a.materials[this.material.uuid]&&(a.materials[this.material.uuid]=this.material.toJSON(a)),e.material=this.material.uuid);if(0<this.children.length){e.children=[];for(var f=0;f<this.children.length;f++)e.children.push(this.children[f].toJSON(a).object)}if(c){var c=b(a.geometries),f=b(a.materials),g=b(a.textures);a=b(a.images);0<c.length&&(d.geometries=c);0<f.length&&(d.materials=f);0<g.length&&(d.textures=g);0<a.length&&(d.images=a)}d.object=e;
|
|
|
+return d},clone:function(a){return(new this.constructor).copy(this,a)},copy:function(a,b){void 0===b&&(b=!0);this.name=a.name;this.up.copy(a.up);this.position.copy(a.position);this.quaternion.copy(a.quaternion);this.scale.copy(a.scale);this.matrix.copy(a.matrix);this.matrixWorld.copy(a.matrixWorld);this.matrixAutoUpdate=a.matrixAutoUpdate;this.matrixWorldNeedsUpdate=a.matrixWorldNeedsUpdate;this.visible=a.visible;this.castShadow=a.castShadow;this.receiveShadow=a.receiveShadow;this.frustumCulled=a.frustumCulled;
|
|
|
+this.renderOrder=a.renderOrder;this.userData=JSON.parse(JSON.stringify(a.userData));if(!0===b)for(var c=0;c<a.children.length;c++)this.add(a.children[c].clone());return this}});var fe=0;Object.assign(S.prototype,na.prototype,{isGeometry:!0,applyMatrix:function(a){for(var b=(new ya).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;return function(b){void 0===a&&(a=new Q);a.makeRotationX(b);this.applyMatrix(a);return this}}(),rotateY:function(){var a;return function(b){void 0===a&&(a=new Q);a.makeRotationY(b);this.applyMatrix(a);return this}}(),rotateZ:function(){var a;return function(b){void 0===a&&(a=new Q);a.makeRotationZ(b);this.applyMatrix(a);
|
|
|
+return this}}(),translate:function(){var a;return function(b,c,d){void 0===a&&(a=new Q);a.makeTranslation(b,c,d);this.applyMatrix(a);return this}}(),scale:function(){var a;return function(b,c,d){void 0===a&&(a=new Q);a.makeScale(b,c,d);this.applyMatrix(a);return this}}(),lookAt:function(){var a;return function(b){void 0===a&&(a=new D);a.lookAt(b);a.updateMatrix();this.applyMatrix(a.matrix)}}(),fromBufferGeometry:function(a){function b(a,b,d,e){var f=void 0!==g?[r[a].clone(),r[b].clone(),r[d].clone()]:
|
|
|
+[],t=void 0!==k?[c.colors[a].clone(),c.colors[b].clone(),c.colors[d].clone()]:[];e=new la(a,b,d,f,t,e);c.faces.push(e);void 0!==l&&c.faceVertexUvs[0].push([n[a].clone(),n[b].clone(),n[d].clone()]);void 0!==h&&c.faceVertexUvs[1].push([m[a].clone(),m[b].clone(),m[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,k=void 0!==e.color?e.color.array:void 0,l=void 0!==e.uv?e.uv.array:void 0,h=void 0!==e.uv2?e.uv2.array:
|
|
|
+void 0;void 0!==h&&(this.faceVertexUvs[1]=[]);for(var r=[],n=[],m=[],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&&r.push(new q(g[e],g[e+1],g[e+2])),void 0!==k&&c.colors.push(new I(k[e],k[e+1],k[e+2])),void 0!==l&&n.push(new B(l[t],l[t+1])),void 0!==h&&m.push(new B(h[t],h[t+1]));if(void 0!==d)if(f=a.groups,0<f.length)for(e=0;e<f.length;e++)for(var u=f[e],v=u.start,z=u.count,t=v,v=v+z;t<v;t+=3)b(d[t],d[t+1],d[t+2],u.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.center().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 Q;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,k=new q,l=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],k.subVectors(g,f),l.subVectors(e,f),k.cross(l),d[c.a].add(k),d[c.b].add(k),d[c.c].add(k)}else for(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=!0)},computeMorphNormals:function(){var a,b,c,d,e;c=0;for(d=this.faces.length;c<d;c++)for(e=this.faces[c],e.__originalFaceNormal?e.__originalFaceNormal.copy(e.normal):e.__originalFaceNormal=e.normal.clone(),e.__originalVertexNormals||(e.__originalVertexNormals=[]),a=0,b=e.vertexNormals.length;a<b;a++)e.__originalVertexNormals[a]?e.__originalVertexNormals[a].copy(e.vertexNormals[a]):e.__originalVertexNormals[a]=
|
|
|
+e.vertexNormals[a].clone();var f=new S;f.faces=this.faces;a=0;for(b=this.morphTargets.length;a<b;a++){if(!this.morphNormals[a]){this.morphNormals[a]={};this.morphNormals[a].faceNormals=[];this.morphNormals[a].vertexNormals=[];e=this.morphNormals[a].faceNormals;var g=this.morphNormals[a].vertexNormals,k,l;c=0;for(d=this.faces.length;c<d;c++)k=new q,l={a:new q,b:new q,c:new q},e.push(k),g.push(l)}g=this.morphNormals[a];f.vertices=this.morphTargets[a].vertices;f.computeFaceNormals();f.computeVertexNormals();
|
|
|
+c=0;for(d=this.faces.length;c<d;c++)e=this.faces[c],k=g.faceNormals[c],l=g.vertexNormals[c],k.copy(e.normal),l.a.copy(e.vertexNormals[0]),l.b.copy(e.vertexNormals[1]),l.c.copy(e.vertexNormals[2])}c=0;for(d=this.faces.length;c<d;c++)e=this.faces[c],e.normal=e.__originalFaceNormal,e.vertexNormals=e.__originalVertexNormals},computeTangents:function(){console.warn("THREE.Geometry: .computeTangents() has been removed.")},computeLineDistances:function(){for(var a=0,b=this.vertices,c=0,d=b.length;c<d;c++)0<
|
|
|
+c&&(a+=b[c].distanceTo(b[c-1])),this.lineDistances[c]=a},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Ia);this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new Aa);this.boundingSphere.setFromPoints(this.vertices)},merge:function(a,b,c){if(!1===(a&&a.isGeometry))console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",a);else{var d,e=this.vertices.length,f=this.vertices,
|
|
|
+g=a.vertices,k=this.faces,l=a.faces,h=this.faceVertexUvs[0],r=a.faceVertexUvs[0],n=this.colors,m=a.colors;void 0===c&&(c=0);void 0!==b&&(d=(new ya).getNormalMatrix(b));a=0;for(var t=g.length;a<t;a++){var u=g[a].clone();void 0!==b&&u.applyMatrix4(b);f.push(u)}a=0;for(t=m.length;a<t;a++)n.push(m[a].clone());a=0;for(t=l.length;a<t;a++){var g=l[a],q=g.vertexNormals,m=g.vertexColors,n=new la(g.a+e,g.b+e,g.c+e);n.normal.copy(g.normal);void 0!==d&&n.normal.applyMatrix3(d).normalize();b=0;for(f=q.length;b<
|
|
|
+f;b++)u=q[b].clone(),void 0!==d&&u.applyMatrix3(d).normalize(),n.vertexNormals.push(u);n.color.copy(g.color);b=0;for(f=m.length;b<f;b++)u=m[b],n.vertexColors.push(u.clone());n.materialIndex=g.materialIndex+c;k.push(n)}a=0;for(t=r.length;a<t;a++)if(c=r[a],d=[],void 0!==c){b=0;for(f=c.length;b<f;b++)d.push(c[b].clone());h.push(d)}}},mergeMesh:function(a){!1===(a&&a.isMesh)?console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",a):(a.matrixAutoUpdate&&a.updateMatrix(),this.merge(a.geometry,
|
|
|
+a.matrix))},mergeVertices:function(){var a={},b=[],c=[],d,e=Math.pow(10,4),f,g;f=0;for(g=this.vertices.length;f<g;f++)d=this.vertices[f],d=Math.round(d.x*e)+"_"+Math.round(d.y*e)+"_"+Math.round(d.z*e),void 0===a[d]?(a[d]=f,b.push(this.vertices[f]),c[f]=b.length-1):c[f]=c[a[d]];a=[];f=0;for(g=this.faces.length;f<g;f++)for(e=this.faces[f],e.a=c[e.a],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 k=a[c]._id;f&&f.push(d[k]);g&&g.push(e[k])}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!==h[b])return h[b];h[b]=l.length/3;l.push(a.x,a.y,a.z);return h[b]}function c(a){var b=a.r.toString()+a.g.toString()+a.b.toString();if(void 0!==n[b])return n[b];n[b]=r.length;r.push(a.getHex());return n[b]}function d(a){var b=a.x.toString()+a.y.toString();if(void 0!==t[b])return t[b];t[b]=m.length/2;m.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 k=this.vertices[g];f.push(k.x,k.y,k.z)}var k=[],l=[],h={},r=[],n={},m=[],t={};for(g=0;g<this.faces.length;g++){var u=this.faces[g],q=void 0!==this.faceVertexUvs[0][g],z=0<u.normal.length(),w=0<u.vertexNormals.length,x=1!==u.color.r||1!==u.color.g||1!==u.color.b,
|
|
|
+N=0<u.vertexColors.length,y=0,y=a(y,0,0),y=a(y,1,!0),y=a(y,2,!1),y=a(y,3,q),y=a(y,4,z),y=a(y,5,w),y=a(y,6,x),y=a(y,7,N);k.push(y);k.push(u.a,u.b,u.c);k.push(u.materialIndex);q&&(q=this.faceVertexUvs[0][g],k.push(d(q[0]),d(q[1]),d(q[2])));z&&k.push(b(u.normal));w&&(z=u.vertexNormals,k.push(b(z[0]),b(z[1]),b(z[2])));x&&k.push(c(u.color));N&&(u=u.vertexColors,k.push(c(u[0]),c(u[1]),c(u[2])))}e.data={};e.data.vertices=f;e.data.normals=l;0<r.length&&(e.data.colors=r);0<m.length&&(e.data.uvs=[m]);e.data.faces=
|
|
|
+k;return e},clone:function(){return(new S).copy(this)},copy:function(a){this.vertices=[];this.faces=[];this.faceVertexUvs=[[]];this.colors=[];for(var b=a.vertices,c=0,d=b.length;c<d;c++)this.vertices.push(b[c].clone());b=a.colors;c=0;for(d=b.length;c<d;c++)this.colors.push(b[c].clone());b=a.faces;c=0;for(d=b.length;c<d;c++)this.faces.push(b[c].clone());c=0;for(d=a.faceVertexUvs.length;c<d;c++){b=a.faceVertexUvs[c];void 0===this.faceVertexUvs[c]&&(this.faceVertexUvs[c]=[]);for(var e=0,f=b.length;e<
|
|
|
+f;e++){for(var g=b[e],k=[],l=0,h=g.length;l<h;l++)k.push(g[l].clone());this.faceVertexUvs[c].push(k)}}return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});var Mc=0;Object.assign(od.prototype,na.prototype,{computeBoundingBox:S.prototype.computeBoundingBox,computeBoundingSphere:S.prototype.computeBoundingSphere,computeFaceNormals:function(){console.warn("THREE.DirectGeometry: computeFaceNormals() is not a method of this type of geometry.")},computeVertexNormals:function(){console.warn("THREE.DirectGeometry: computeVertexNormals() is not a method of this type of geometry.")},
|
|
|
+computeGroups:function(a){var b,c=[],d;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,k=g.length,l;if(0<k){l=[];for(var h=0;h<k;h++)l[h]=[];this.morphTargets.position=l}var r=a.morphNormals,n=r.length,
|
|
|
+m;if(0<n){m=[];for(h=0;h<n;h++)m[h]=[];this.morphTargets.normal=m}for(var t=a.skinIndices,u=a.skinWeights,q=t.length===c.length,z=u.length===c.length,h=0;h<b.length;h++){var w=b[h];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][h],void 0!==x?this.uvs.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",
|
|
|
+h),this.uvs.push(new B,new B,new B)));!0===f&&(x=d[1][h],void 0!==x?this.uvs2.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",h),this.uvs2.push(new B,new B,new B)));for(x=0;x<k;x++){var N=g[x].vertices;l[x].push(N[w.a],N[w.b],N[w.c])}for(x=0;x<n;x++)N=r[x].vertexNormals[h],m[x].push(N.a,N.b,N.c);q&&this.skinIndices.push(t[w.a],t[w.b],t[w.c]);z&&this.skinWeights.push(u[w.a],u[w.b],u[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},dispose:function(){this.dispatchEvent({type:"dispose"})}});Object.assign(H.prototype,na.prototype,{isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(a){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 C(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.applyToVector3Array(b.array),b.needsUpdate=!0);b=this.attributes.normal;void 0!==b&&((new ya).getNormalMatrix(a).applyToVector3Array(b.array),b.needsUpdate=!0);null!==this.boundingBox&&this.computeBoundingBox();null!==this.boundingSphere&&this.computeBoundingSphere();return this},rotateX:function(){var a;return function(b){void 0===a&&(a=new Q);a.makeRotationX(b);this.applyMatrix(a);return this}}(),rotateY:function(){var a;return function(b){void 0===
|
|
|
a&&(a=new Q);a.makeRotationY(b);this.applyMatrix(a);return this}}(),rotateZ:function(){var a;return function(b){void 0===a&&(a=new Q);a.makeRotationZ(b);this.applyMatrix(a);return this}}(),translate:function(){var a;return function(b,c,d){void 0===a&&(a=new Q);a.makeTranslation(b,c,d);this.applyMatrix(a);return this}}(),scale:function(){var a;return function(b,c,d){void 0===a&&(a=new Q);a.makeScale(b,c,d);this.applyMatrix(a);return this}}(),lookAt:function(){var a;return function(b){void 0===a&&(a=
|
|
@@ -511,8 +511,8 @@ this.addAttribute("color",(new C(b,3)).copyColorsArray(a.colors)));0<a.uvs.lengt
|
|
|
[],d=a.morphTargets[c],e=0,f=d.length;e<f;e++){var g=d[e],k=new ka(3*g.length,3);b.push(k.copyVector3sArray(g))}this.morphAttributes[c]=b}0<a.skinIndices.length&&(c=new ka(4*a.skinIndices.length,4),this.addAttribute("skinIndex",c.copyVector4sArray(a.skinIndices)));0<a.skinWeights.length&&(c=new ka(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 Ia);var a=this.attributes.position.array;void 0!==a?this.boundingBox.setFromArray(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 Ia,b=new q;return function(){null===this.boundingSphere&&(this.boundingSphere=new Aa);var c=this.attributes.position;if(c){var c=c.array,d=this.boundingSphere.center;a.setFromArray(c);a.center(d);for(var e=0,f=0,g=c.length;f<g;f+=3)b.fromArray(c,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 C(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,k,h,p,r=new q,n=new q,m=new q,t=new q,u=new q;if(a){a=a.array;0===c.length&&this.addGroup(0,a.length);for(var v=0,z=c.length;v<z;++v)for(f=c[v],g=f.start,k=f.count,f=g,g+=k;f<
|
|
|
-g;f+=3)k=3*a[f+0],h=3*a[f+1],p=3*a[f+2],r.fromArray(d,k),n.fromArray(d,h),m.fromArray(d,p),t.subVectors(m,n),u.subVectors(r,n),t.cross(u),e[k]+=t.x,e[k+1]+=t.y,e[k+2]+=t.z,e[h]+=t.x,e[h+1]+=t.y,e[h+2]+=t.z,e[p]+=t.x,e[p+1]+=t.y,e[p+2]+=t.z}else for(f=0,g=d.length;f<g;f+=9)r.fromArray(d,f),n.fromArray(d,f+3),m.fromArray(d,f+6),t.subVectors(m,n),u.subVectors(r,n),t.cross(u),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 C(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,k,l,h,r=new q,n=new q,m=new q,t=new q,u=new q;if(a){a=a.array;0===c.length&&this.addGroup(0,a.length);for(var v=0,z=c.length;v<z;++v)for(f=c[v],g=f.start,k=f.count,f=g,g+=k;f<
|
|
|
+g;f+=3)k=3*a[f+0],l=3*a[f+1],h=3*a[f+2],r.fromArray(d,k),n.fromArray(d,l),m.fromArray(d,h),t.subVectors(m,n),u.subVectors(r,n),t.cross(u),e[k]+=t.x,e[k+1]+=t.y,e[k+2]+=t.z,e[l]+=t.x,e[l+1]+=t.y,e[l+2]+=t.z,e[h]+=t.x,e[h+1]+=t.y,e[h+2]+=t.z}else for(f=0,g=d.length;f<g;f+=9)r.fromArray(d,f),n.fromArray(d,f+3),m.fromArray(d,f+6),t.subVectors(m,n),u.subVectors(r,n),t.cross(u),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,k=0,f=f.itemSize*b;k<g.length;k++,f++)e[f]=g[k];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 H,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),k,h=0,p=0,r=b.length;p<r;p++){k=b[p]*e;for(var n=0;n<e;n++)g[h++]=f[k++]}a.addAttribute(d,new C(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;
|
|
@@ -536,8 +536,8 @@ this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wir
|
|
|
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){Ga.barycoordFromPoint(a,b,c,d,v);e.multiplyScalar(v.x);f.multiplyScalar(v.y);g.multiplyScalar(v.z);e.add(f).add(g);return e.clone()}function b(a,b,c,d,e,f,g){var k=a.material;if(null===(1===k.side?c.intersectTriangle(f,
|
|
|
e,d,!0,g):c.intersectTriangle(d,e,f,2!==k.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,n,p,r,q){g.fromArray(f,3*p);k.fromArray(f,3*r);h.fromArray(f,3*q);if(c=b(c,d,e,g,k,h,z))n&&(m.fromArray(n,2*p),t.fromArray(n,2*r),u.fromArray(n,2*q),c.uv=a(z,g,k,h,m,t,u)),c.face=new la(p,r,q,Ga.normal(g,k,h)),c.faceIndex=p;return c}var d=new Q,e=new Ya,f=new Aa,g=new q,k=new q,h=new q,
|
|
|
p=new q,r=new q,n=new q,m=new B,t=new B,u=new B,v=new q,z=new q,w=new q;return function(q,v){var w=this.geometry,F=this.material,G=this.matrixWorld;if(void 0!==F&&(null===w.boundingSphere&&w.computeBoundingSphere(),f.copy(w.boundingSphere),f.applyMatrix4(G),!1!==q.ray.intersectsSphere(f)&&(d.getInverse(G),e.copy(q.ray).applyMatrix4(d),null===w.boundingBox||!1!==e.intersectsBox(w.boundingBox)))){var E,K;if(w&&w.isBufferGeometry){var B,C,F=w.index,G=w.attributes,w=G.position.array;void 0!==G.uv&&(E=
|
|
|
-G.uv.array);if(null!==F)for(var G=F.array,D=0,H=G.length;D<H;D+=3){if(F=G[D],B=G[D+1],C=G[D+2],K=c(this,q,e,w,E,F,B,C))K.faceIndex=Math.floor(D/3),v.push(K)}else for(D=0,H=w.length;D<H;D+=9)if(F=D/3,B=F+1,C=F+2,K=c(this,q,e,w,E,F,B,C))K.index=F,v.push(K)}else if(w&&w.isGeometry){var I,Q,G=F&&F.isMultiMaterial,D=!0===G?F.materials:null,H=w.vertices;B=w.faces;C=w.faceVertexUvs[0];0<C.length&&(E=C);for(var L=0,O=B.length;L<O;L++){var P=B[L];K=!0===G?D[P.materialIndex]:F;if(void 0!==K){C=H[P.a];I=H[P.b];
|
|
|
-Q=H[P.c];if(!0===K.morphTargets){K=w.morphTargets;var R=this.morphTargetInfluences;g.set(0,0,0);k.set(0,0,0);h.set(0,0,0);for(var T=0,V=K.length;T<V;T++){var W=R[T];if(0!==W){var J=K[T].vertices;g.addScaledVector(p.subVectors(J[P.a],C),W);k.addScaledVector(r.subVectors(J[P.b],I),W);h.addScaledVector(n.subVectors(J[P.c],Q),W)}}g.add(C);k.add(I);h.add(Q);C=g;I=k;Q=h}if(K=b(this,q,e,C,I,Q,z))E&&(R=E[L],m.copy(R[0]),t.copy(R[1]),u.copy(R[2]),K.uv=a(z,C,I,Q,m,t,u)),K.face=P,K.faceIndex=L,v.push(K)}}}}}}(),
|
|
|
+G.uv.array);if(null!==F)for(var G=F.array,D=0,H=G.length;D<H;D+=3){if(F=G[D],B=G[D+1],C=G[D+2],K=c(this,q,e,w,E,F,B,C))K.faceIndex=Math.floor(D/3),v.push(K)}else for(D=0,H=w.length;D<H;D+=9)if(F=D/3,B=F+1,C=F+2,K=c(this,q,e,w,E,F,B,C))K.index=F,v.push(K)}else if(w&&w.isGeometry){var I,Q,G=F&&F.isMultiMaterial,D=!0===G?F.materials:null,H=w.vertices;B=w.faces;C=w.faceVertexUvs[0];0<C.length&&(E=C);for(var M=0,O=B.length;M<O;M++){var P=B[M];K=!0===G?D[P.materialIndex]:F;if(void 0!==K){C=H[P.a];I=H[P.b];
|
|
|
+Q=H[P.c];if(!0===K.morphTargets){K=w.morphTargets;var R=this.morphTargetInfluences;g.set(0,0,0);k.set(0,0,0);h.set(0,0,0);for(var T=0,V=K.length;T<V;T++){var W=R[T];if(0!==W){var J=K[T].vertices;g.addScaledVector(p.subVectors(J[P.a],C),W);k.addScaledVector(r.subVectors(J[P.b],I),W);h.addScaledVector(n.subVectors(J[P.c],Q),W)}}g.add(C);k.add(I);h.add(Q);C=g;I=k;Q=h}if(K=b(this,q,e,C,I,Q,z))E&&(R=E[M],m.copy(R[0]),t.copy(R[1]),u.copy(R[2]),K.uv=a(z,C,I,Q,m,t,u)),K.face=P,K.faceIndex=M,v.push(K)}}}}}}(),
|
|
|
clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});eb.prototype=Object.create(H.prototype);eb.prototype.constructor=eb;ma.prototype=Object.create(D.prototype);ma.prototype.constructor=ma;ma.prototype.isCamera=!0;ma.prototype.getWorldDirection=function(){var a=new oa;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 Q;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){D.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*h.Math.RAD2DEG*Math.atan(a);this.updateProjectionMatrix()},getFocalLength:function(){var a=Math.tan(.5*h.Math.DEG2RAD*this.fov);return.5*this.getFilmHeight()/a},getEffectiveFOV:function(){return 2*h.Math.RAD2DEG*Math.atan(Math.tan(.5*h.Math.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*
|
|
@@ -581,7 +581,7 @@ setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;var g=new XMLHttpReques
|
|
|
f._parser(a,!0);g[e]={width:a.width,height:a.height,format:a.format,mipmaps:a.mipmaps};p+=1;6===p&&(1===a.mipmapCount&&(k.minFilter=1006),k.format=a.format,k.needsUpdate=!0,b&&b(k))},c,d)}var f=this,g=[],k=new Hb;k.image=g;var h=new wa(this.manager);h.setPath(this.path);h.setResponseType("arraybuffer");if(Array.isArray(a))for(var p=0,r=0,n=a.length;r<n;++r)e(r);else h.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 k.image.width=a.width,k.image.height=a.height,k.mipmaps=a.mipmaps;1===a.mipmapCount&&(k.minFilter=1006);k.format=a.format;k.needsUpdate=!0;b&&b(k)},c,d);return k},setPath:function(a){this.path=a;return this}});Object.assign(ud.prototype,{load:function(a,b,c,d){var e=this,f=new hb,g=new wa(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(lc.prototype,{load:function(a,b,c,d){var e=this,f=document.createElementNS("http://www.w3.org/1999/xhtml","img");f.onload=function(){URL.revokeObjectURL(f.src);b&&b(f);e.manager.itemEnd(a)};if(0===a.indexOf("data:"))f.src=a;else{var g=new wa;g.setPath(this.path);g.setResponseType("blob");g.setWithCredentials(this.withCredentials);g.load(a,function(a){f.src=URL.createObjectURL(a)},c,d)}e.manager.itemStart(a);return f},setCrossOrigin:function(a){this.crossOrigin=
|
|
|
+!0,b&&b(f,a)},c,d);return f}});Object.assign(lc.prototype,{load:function(a,b,c,d){var e=this,f=document.createElementNS("http://www.w3.org/1999/xhtml","img");f.onload=function(){f.onload=null;URL.revokeObjectURL(f.src);b&&b(f);e.manager.itemEnd(a)};if(0===a.indexOf("data:"))f.src=a;else{var g=new wa;g.setPath(this.path);g.setResponseType("blob");g.setWithCredentials(this.withCredentials);g.load(a,function(a){f.src=URL.createObjectURL(a)},c,d)}e.manager.itemStart(a);return f},setCrossOrigin:function(a){this.crossOrigin=
|
|
|
a;return this},setWithCredentials:function(a){this.withCredentials=a;return this},setPath:function(a){this.path=a;return this}});Object.assign(vd.prototype,{load:function(a,b,c,d){function e(c){g.load(a[c],function(a){f.images[c]=a;k++;6===k&&(f.needsUpdate=!0,b&&b(f))},void 0,d)}var f=new Ua,g=new lc(this.manager);g.setCrossOrigin(this.crossOrigin);g.setPath(this.path);var k=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(Sc.prototype,{load:function(a,b,c,d){var e=new Z,f=new lc(this.manager);f.setCrossOrigin(this.crossOrigin);f.setWithCredentials(this.withCredentials);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},setWithCredentials:function(a){this.withCredentials=a;return this},setPath:function(a){this.path=
|
|
|
a;return this}});ca.prototype=Object.assign(Object.create(D.prototype),{constructor:ca,isLight:!0,copy:function(a){D.prototype.copy.call(this,a);this.color.copy(a.color);this.intensity=a.intensity;return this},toJSON:function(a){a=D.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=
|
|
@@ -601,7 +601,7 @@ switch(a){case 2300:b=this.InterpolantFactoryMethodDiscrete;break;case 2301:b=th
|
|
|
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=h.AnimationUtils.arraySlice(c,e,f),this.values=h.AnimationUtils.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&&h.AnimationUtils.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 k=!1,l=a[g];if(l!==a[g+1]&&(1!==g||l!==l[0]))if(d)k=!0;else for(var p=g*c,r=p-c,n=p+c,l=0;l!==c;++l){var m=
|
|
|
-b[p+l];if(m!==b[r+l]||m!==b[n+l]){k=!0;break}}if(k){if(g!==e){a[e]=a[g];for(var k=g*c,t=e*c,l=0;l!==c;++l)b[t+l]=b[k+l]}++e}}a[e++]=a[f];k=f*c;for(l=0;l!==c;++l)b[t+l]=b[k+l];e!==a.length&&(this.times=h.AnimationUtils.arraySlice(a,0,e),this.values=h.AnimationUtils.arraySlice(b,0,e*c));return this}};Kb.prototype=Object.assign(Object.create(Ta),{constructor:Kb,ValueTypeName:"vector"});bd.prototype=Object.assign(Object.create(ja.prototype),{constructor:bd,interpolate_:function(a,b,c,d){var e=this.resultBuffer,
|
|
|
+b[p+l];if(m!==b[r+l]||m!==b[n+l]){k=!0;break}}if(k){if(g!==e)for(a[e]=a[g],k=g*c,p=e*c,l=0;l!==c;++l)b[p+l]=b[k+l];++e}}a[e]=a[f];k=f*c;p=e*c;for(l=0;l!==c;++l)b[p+l]=b[k+l];++e;e!==a.length&&(this.times=h.AnimationUtils.arraySlice(a,0,e),this.values=h.AnimationUtils.arraySlice(b,0,e*c));return this}};Kb.prototype=Object.assign(Object.create(Ta),{constructor:Kb,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)oa.slerpFlat(e,0,f,a-g,f,a,b);return e}});nc.prototype=Object.assign(Object.create(Ta),{constructor:nc,ValueTypeName:"quaternion",DefaultInterpolation:2301,InterpolantFactoryMethodLinear:function(a){return new bd(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodSmooth:void 0});Lb.prototype=Object.assign(Object.create(Ta),{constructor:Lb,ValueTypeName:"number"});cd.prototype=Object.assign(Object.create(Ta),
|
|
|
{constructor:cd,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});dd.prototype=Object.assign(Object.create(Ta),{constructor:dd,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});ed.prototype=Object.assign(Object.create(Ta),{constructor:ed,ValueTypeName:"color"});ob.prototype=Ta;Ta.constructor=ob;Object.assign(ob,
|
|
|
{parse:function(a){if(void 0===a.type)throw Error("track type undefined, can not parse");var b=ob._getTrackTypeForValueTypeName(a.type);if(void 0===a.times){var c=[],d=[];h.AnimationUtils.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:h.AnimationUtils.convertArray(a.times,Array),values:h.AnimationUtils.convertArray(a.values,
|
|
@@ -645,16 +645,16 @@ t&&x===q||w===v&&x===z)&&(C=w-n,D=x-m,H=w-t,I=x-q,w-=v,x-=z,H=B*I-y*H,C=E*D-K*C,
|
|
|
b.y<=c.y&&c.y<=a.y}function e(a,b,c,e,f){var g=b.x-a.x,k=b.y-a.y,h=e.x-c.x,l=e.y-c.y,m=a.x-c.x,p=a.y-c.y,n=k*h-g*l,r=k*m-g*p;if(Math.abs(n)>Number.EPSILON){if(0<n){if(0>r||r>n)return[];h=l*m-h*p;if(0>h||h>n)return[]}else{if(0<r||r<n)return[];h=l*m-h*p;if(0<h||h<n)return[]}if(0===h)return!f||0!==r&&r!==n?[a]:[];if(h===n)return!f||0!==r&&r!==n?[b]:[];if(0===r)return[c];if(r===n)return[e];f=h/n;return[{x:a.x+f*g,y:a.y+f*k}]}if(0!==r||l*m!==h*p)return[];k=0===g&&0===k;h=0===h&&0===l;if(k&&h)return a.x!==
|
|
|
c.x||a.y!==c.y?[]:[a];if(k)return d(c,e,a)?[a]:[];if(h)return d(a,b,c)?[c]:[];0!==g?(a.x<b.x?(g=a,h=a.x,k=b,a=b.x):(g=b,h=b.x,k=a,a=a.x),c.x<e.x?(b=c,n=c.x,l=e,c=e.x):(b=e,n=e.x,l=c,c=c.x)):(a.y<b.y?(g=a,h=a.y,k=b,a=b.y):(g=b,h=b.y,k=a,a=a.y),c.y<e.y?(b=c,n=c.y,l=e,c=e.y):(b=e,n=e.y,l=c,c=c.y));return h<=n?a<n?[]:a===n?f?[]:[b]:a<=c?[b,k]:[b,l]:h>c?[]:h===c?f?[]:[g]:a<=c?[g,k]:[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,k,l,p,r,n={};l=a.concat();g=0;for(k=b.length;g<k;g++)Array.prototype.push.apply(l,b[g]);g=0;for(k=l.length;g<k;g++)r=l[g].x+":"+l[g].y,void 0!==n[r]&&console.warn("THREE.ShapeUtils: Duplicate point",r,g),n[r]=g;g=function(a,b){function c(a,b){var d=k.length-1,e=a-1;0>e&&(e=d);var g=a+1;g>d&&(g=0);d=f(k[a],k[e],k[g],h[b]);if(!d)return!1;d=h.length-1;e=b-1;0>e&&(e=d);g=b+1;g>d&&(g=0);return(d=f(h[b],h[e],h[g],k[a]))?!0:
|
|
|
-!1}function d(a,b){var c,f;for(c=0;c<k.length;c++)if(f=c+1,f%=k.length,f=e(a,b,k[c],k[f],!0),0<f.length)return!0;return!1}function g(a,c){var d,f,k,h;for(d=0;d<l.length;d++)for(f=b[l[d]],k=0;k<f.length;k++)if(h=k+1,h%=f.length,h=e(a,c,f[k],f[h],!0),0<h.length)return!0;return!1}var k=a.concat(),h,l=[],m,p,n,r,q,B=[],C,D,H,I=0;for(m=b.length;I<m;I++)l.push(I);C=0;for(var L=2*l.length;0<l.length;){L--;if(0>L){console.log("Infinite Loop! Holes left:"+l.length+", Probably Hole outside Shape!");break}for(p=
|
|
|
-C;p<k.length;p++){n=k[p];m=-1;for(I=0;I<l.length;I++)if(r=l[I],q=n.x+":"+n.y+":"+r,void 0===B[q]){h=b[r];for(D=0;D<h.length;D++)if(r=h[D],c(p,D)&&!d(n,r)&&!g(n,r)){m=D;l.splice(I,1);C=k.slice(0,p+1);r=k.slice(p);D=h.slice(m);H=h.slice(0,m+1);k=C.concat(D).concat(H).concat(r);C=p;break}if(0<=m)break;B[q]=!0}if(0<=m)break}}return k}(a,b);var m=h.ShapeUtils.triangulate(g,!1);g=0;for(k=m.length;g<k;g++)for(p=m[g],l=0;3>l;l++)r=p[l].x+":"+p[l].y,r=n[r],void 0!==r&&(p[l]=r);return m.concat()},isClockWise:function(a){return 0>
|
|
|
+!1}function d(a,b){var c,f;for(c=0;c<k.length;c++)if(f=c+1,f%=k.length,f=e(a,b,k[c],k[f],!0),0<f.length)return!0;return!1}function g(a,c){var d,f,k,h;for(d=0;d<l.length;d++)for(f=b[l[d]],k=0;k<f.length;k++)if(h=k+1,h%=f.length,h=e(a,c,f[k],f[h],!0),0<h.length)return!0;return!1}var k=a.concat(),h,l=[],m,n,p,r,q,B=[],C,D,H,I=0;for(m=b.length;I<m;I++)l.push(I);C=0;for(var M=2*l.length;0<l.length;){M--;if(0>M){console.log("Infinite Loop! Holes left:"+l.length+", Probably Hole outside Shape!");break}for(n=
|
|
|
+C;n<k.length;n++){p=k[n];m=-1;for(I=0;I<l.length;I++)if(r=l[I],q=p.x+":"+p.y+":"+r,void 0===B[q]){h=b[r];for(D=0;D<h.length;D++)if(r=h[D],c(n,D)&&!d(p,r)&&!g(p,r)){m=D;l.splice(I,1);C=k.slice(0,n+1);r=k.slice(n);D=h.slice(m);H=h.slice(0,m+1);k=C.concat(D).concat(H).concat(r);C=n;break}if(0<=m)break;B[q]=!0}if(0<=m)break}}return k}(a,b);var m=h.ShapeUtils.triangulate(g,!1);g=0;for(k=m.length;g<k;g++)for(p=m[g],l=0;3>l;l++)r=p[l].x+":"+p[l].y,r=n[r],void 0!==r&&(p[l]=r);return m.concat()},isClockWise:function(a){return 0>
|
|
|
h.ShapeUtils.area(a)},b2:function(){return function(a,b,c,d){var e=1-a;return e*e*b+2*(1-a)*a*c+a*a*d}}(),b3:function(){return function(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}}()};ta.prototype=Object.create(S.prototype);ta.prototype.constructor=ta;ta.prototype.addShapeList=function(a,b){for(var c=a.length,d=0;d<c;d++)this.addShape(a[d],b)};ta.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,k=e*e+f*f;if(Math.abs(e*g-f*d)>Number.EPSILON){var h=Math.sqrt(k),l=Math.sqrt(d*d+g*g),k=b.x-f/h;b=b.y+e/h;g=((c.x-g/l-k)*g-(c.y+d/l-b)*d)/(e*g-f*d);d=k+e*g-a.x;e=b+f*g-a.y;f=d*d+e*e;if(2>=f)return new B(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(k)):(d=e,e=f,f=Math.sqrt(k/2));return new B(d/f,e/f)}
|
|
|
-function e(a,b){var c,d;for(J=a.length;0<=--J;){c=J;d=J-1;0>d&&(d=a.length-1);var e,f=t+2*r;for(e=0;e<f;e++){var g=U*e,k=U*(e+1),h=b+c+g,g=b+d+g,l=b+d+k,k=b+c+k,h=h+M,g=g+M,l=l+M,k=k+M;H.faces.push(new la(h,g,k,null,null,1));H.faces.push(new la(g,l,k,null,null,1));h=w.generateSideWallUV(H,h,g,l,k);H.faceVertexUvs[0].push([h[0],h[1],h[3]]);H.faceVertexUvs[0].push([h[1],h[2],h[3]])}}}function f(a,b,c){H.vertices.push(new q(a,b,c))}function g(a,b,c){a+=M;b+=M;c+=M;H.faces.push(new la(a,b,c,null,null,
|
|
|
+function e(a,b){var c,d;for(J=a.length;0<=--J;){c=J;d=J-1;0>d&&(d=a.length-1);var e,f=t+2*r;for(e=0;e<f;e++){var g=U*e,k=U*(e+1),h=b+c+g,g=b+d+g,l=b+d+k,k=b+c+k,h=h+L,g=g+L,l=l+L,k=k+L;H.faces.push(new la(h,g,k,null,null,1));H.faces.push(new la(g,l,k,null,null,1));h=w.generateSideWallUV(H,h,g,l,k);H.faceVertexUvs[0].push([h[0],h[1],h[3]]);H.faceVertexUvs[0].push([h[1],h[2],h[3]])}}}function f(a,b,c){H.vertices.push(new q(a,b,c))}function g(a,b,c){a+=L;b+=L;c+=L;H.faces.push(new la(a,b,c,null,null,
|
|
|
0));a=w.generateTopUV(H,a,b,c);H.faceVertexUvs[0].push(a)}var k=void 0!==b.amount?b.amount:100,l=void 0!==b.bevelThickness?b.bevelThickness:6,p=void 0!==b.bevelSize?b.bevelSize:l-2,r=void 0!==b.bevelSegments?b.bevelSegments:3,n=void 0!==b.bevelEnabled?b.bevelEnabled:!0,m=void 0!==b.curveSegments?b.curveSegments:12,t=void 0!==b.steps?b.steps:1,u=b.extrudePath,v,z=!1,w=void 0!==b.UVGenerator?b.UVGenerator:ta.WorldUVGenerator,x,C,y,F;u&&(v=u.getSpacedPoints(t),z=!0,n=!1,x=void 0!==b.frames?b.frames:
|
|
|
-new za.FrenetFrames(u,t,!1),C=new q,y=new q,F=new q);n||(p=l=r=0);var G,E,D,H=this,M=this.vertices.length,u=a.extractPoints(m),m=u.shape,I=u.holes;if(u=!h.ShapeUtils.isClockWise(m)){m=m.reverse();E=0;for(D=I.length;E<D;E++)G=I[E],h.ShapeUtils.isClockWise(G)&&(I[E]=G.reverse());u=!1}var Q=h.ShapeUtils.triangulateShape(m,I),T=m;E=0;for(D=I.length;E<D;E++)G=I[E],m=m.concat(G);var S,L,O,P,R,U=m.length,V,W=Q.length,u=[],J=0;O=T.length;S=O-1;for(L=J+1;J<O;J++,S++,L++)S===O&&(S=0),L===O&&(L=0),u[J]=d(T[J],
|
|
|
-T[S],T[L]);var Y=[],Z,ba=u.concat();E=0;for(D=I.length;E<D;E++){G=I[E];Z=[];J=0;O=G.length;S=O-1;for(L=J+1;J<O;J++,S++,L++)S===O&&(S=0),L===O&&(L=0),Z[J]=d(G[J],G[S],G[L]);Y.push(Z);ba=ba.concat(Z)}for(S=0;S<r;S++){O=S/r;P=l*Math.cos(O*Math.PI/2);L=p*Math.sin(O*Math.PI/2);J=0;for(O=T.length;J<O;J++)R=c(T[J],u[J],L),f(R.x,R.y,-P);E=0;for(D=I.length;E<D;E++)for(G=I[E],Z=Y[E],J=0,O=G.length;J<O;J++)R=c(G[J],Z[J],L),f(R.x,R.y,-P)}L=p;for(J=0;J<U;J++)R=n?c(m[J],ba[J],L):m[J],z?(y.copy(x.normals[0]).multiplyScalar(R.x),
|
|
|
-C.copy(x.binormals[0]).multiplyScalar(R.y),F.copy(v[0]).add(y).add(C),f(F.x,F.y,F.z)):f(R.x,R.y,0);for(O=1;O<=t;O++)for(J=0;J<U;J++)R=n?c(m[J],ba[J],L):m[J],z?(y.copy(x.normals[O]).multiplyScalar(R.x),C.copy(x.binormals[O]).multiplyScalar(R.y),F.copy(v[O]).add(y).add(C),f(F.x,F.y,F.z)):f(R.x,R.y,k/t*O);for(S=r-1;0<=S;S--){O=S/r;P=l*Math.cos(O*Math.PI/2);L=p*Math.sin(O*Math.PI/2);J=0;for(O=T.length;J<O;J++)R=c(T[J],u[J],L),f(R.x,R.y,k+P);E=0;for(D=I.length;E<D;E++)for(G=I[E],Z=Y[E],J=0,O=G.length;J<
|
|
|
-O;J++)R=c(G[J],Z[J],L),z?f(R.x,R.y+v[t-1].y,v[t-1].x+P):f(R.x,R.y,k+P)}(function(){if(n){var a=0*U;for(J=0;J<W;J++)V=Q[J],g(V[2]+a,V[1]+a,V[0]+a);a=U*(t+2*r);for(J=0;J<W;J++)V=Q[J],g(V[0]+a,V[1]+a,V[2]+a)}else{for(J=0;J<W;J++)V=Q[J],g(V[2],V[1],V[0]);for(J=0;J<W;J++)V=Q[J],g(V[0]+U*t,V[1]+U*t,V[2]+U*t)}})();(function(){var a=0;e(T,a);a+=T.length;E=0;for(D=I.length;E<D;E++)G=I[E],e(G,a),a+=G.length})()};ta.WorldUVGenerator={generateTopUV:function(a,b,c,d){a=a.vertices;b=a[b];c=a[c];d=a[d];return[new B(b.x,
|
|
|
+new za.FrenetFrames(u,t,!1),C=new q,y=new q,F=new q);n||(p=l=r=0);var G,E,D,H=this,L=this.vertices.length,u=a.extractPoints(m),m=u.shape,I=u.holes;if(u=!h.ShapeUtils.isClockWise(m)){m=m.reverse();E=0;for(D=I.length;E<D;E++)G=I[E],h.ShapeUtils.isClockWise(G)&&(I[E]=G.reverse());u=!1}var Q=h.ShapeUtils.triangulateShape(m,I),T=m;E=0;for(D=I.length;E<D;E++)G=I[E],m=m.concat(G);var S,M,O,P,R,U=m.length,V,W=Q.length,u=[],J=0;O=T.length;S=O-1;for(M=J+1;J<O;J++,S++,M++)S===O&&(S=0),M===O&&(M=0),u[J]=d(T[J],
|
|
|
+T[S],T[M]);var Y=[],Z,ba=u.concat();E=0;for(D=I.length;E<D;E++){G=I[E];Z=[];J=0;O=G.length;S=O-1;for(M=J+1;J<O;J++,S++,M++)S===O&&(S=0),M===O&&(M=0),Z[J]=d(G[J],G[S],G[M]);Y.push(Z);ba=ba.concat(Z)}for(S=0;S<r;S++){O=S/r;P=l*Math.cos(O*Math.PI/2);M=p*Math.sin(O*Math.PI/2);J=0;for(O=T.length;J<O;J++)R=c(T[J],u[J],M),f(R.x,R.y,-P);E=0;for(D=I.length;E<D;E++)for(G=I[E],Z=Y[E],J=0,O=G.length;J<O;J++)R=c(G[J],Z[J],M),f(R.x,R.y,-P)}M=p;for(J=0;J<U;J++)R=n?c(m[J],ba[J],M):m[J],z?(y.copy(x.normals[0]).multiplyScalar(R.x),
|
|
|
+C.copy(x.binormals[0]).multiplyScalar(R.y),F.copy(v[0]).add(y).add(C),f(F.x,F.y,F.z)):f(R.x,R.y,0);for(O=1;O<=t;O++)for(J=0;J<U;J++)R=n?c(m[J],ba[J],M):m[J],z?(y.copy(x.normals[O]).multiplyScalar(R.x),C.copy(x.binormals[O]).multiplyScalar(R.y),F.copy(v[O]).add(y).add(C),f(F.x,F.y,F.z)):f(R.x,R.y,k/t*O);for(S=r-1;0<=S;S--){O=S/r;P=l*Math.cos(O*Math.PI/2);M=p*Math.sin(O*Math.PI/2);J=0;for(O=T.length;J<O;J++)R=c(T[J],u[J],M),f(R.x,R.y,k+P);E=0;for(D=I.length;E<D;E++)for(G=I[E],Z=Y[E],J=0,O=G.length;J<
|
|
|
+O;J++)R=c(G[J],Z[J],M),z?f(R.x,R.y+v[t-1].y,v[t-1].x+P):f(R.x,R.y,k+P)}(function(){if(n){var a=0*U;for(J=0;J<W;J++)V=Q[J],g(V[2]+a,V[1]+a,V[0]+a);a=U*(t+2*r);for(J=0;J<W;J++)V=Q[J],g(V[0]+a,V[1]+a,V[2]+a)}else{for(J=0;J<W;J++)V=Q[J],g(V[2],V[1],V[0]);for(J=0;J<W;J++)V=Q[J],g(V[0]+U*t,V[1]+U*t,V[2]+U*t)}})();(function(){var a=0;e(T,a);a+=T.length;E=0;for(D=I.length;E<D;E++)G=I[E],e(G,a),a+=G.length})()};ta.WorldUVGenerator={generateTopUV:function(a,b,c,d){a=a.vertices;b=a[b];c=a[c];d=a[d];return[new B(b.x,
|
|
|
b.y),new B(c.x,c.y),new B(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 B(b.x,1-b.z),new B(c.x,1-c.z),new B(d.x,1-d.z),new B(e.x,1-e.z)]:[new B(b.y,1-b.z),new B(c.y,1-c.z),new B(d.y,1-d.z),new B(e.y,1-e.z)]}};vc.prototype=Object.create(ta.prototype);vc.prototype.constructor=vc;qb.prototype=Object.create(H.prototype);qb.prototype.constructor=qb;Pb.prototype=Object.create(S.prototype);Pb.prototype.constructor=Pb;Qb.prototype=
|
|
|
Object.create(H.prototype);Qb.prototype.constructor=Qb;wc.prototype=Object.create(S.prototype);wc.prototype.constructor=wc;xc.prototype=Object.create(S.prototype);xc.prototype.constructor=xc;Rb.prototype=Object.create(H.prototype);Rb.prototype.constructor=Rb;yc.prototype=Object.create(S.prototype);yc.prototype.constructor=yc;$a.prototype=Object.create(S.prototype);$a.prototype.constructor=$a;$a.prototype.addShapeList=function(a,b){for(var c=0,d=a.length;c<d;c++)this.addShape(a[c],b);return this};
|
|
|
$a.prototype.addShape=function(a,b){void 0===b&&(b={});var c=b.material,d=void 0===b.UVGenerator?ta.WorldUVGenerator:b.UVGenerator,e,f,g,k=this.vertices.length;e=a.extractPoints(void 0!==b.curveSegments?b.curveSegments:12);var l=e.shape,p=e.holes;if(!h.ShapeUtils.isClockWise(l))for(l=l.reverse(),e=0,f=p.length;e<f;e++)g=p[e],h.ShapeUtils.isClockWise(g)&&(p[e]=g.reverse());var r=h.ShapeUtils.triangulateShape(l,p);e=0;for(f=p.length;e<f;e++)g=p[e],l=l.concat(g);p=l.length;f=r.length;for(e=0;e<p;e++)g=
|
|
@@ -691,15 +691,15 @@ this.currentPoint.copy(a[a.length-1])},arc:function(a,b,c,d,e,f){this.absarc(a+t
|
|
|
Ub.prototype=Object.assign(Object.create(Rd),{constructor:Ub,extrude:function(a){return new ta(this,a)},makeGeometry:function(a){return new $a(this,a)},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)}});Dc.prototype=Rd;Rd.constructor=Dc;yd.prototype={moveTo:function(a,b){this.currentPath=
|
|
|
new Dc;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 Ub;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],k=b[f],h=k.x-g.x,l=k.y-g.y;if(Math.abs(l)>Number.EPSILON){if(0>l&&(g=b[f],h=-h,k=b[e],l=-l),!(a.y<g.y||a.y>k.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=l*(a.x-g.x)-h*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(k.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=k.x))return!0}return d}var e=h.ShapeUtils.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);var g,k,l,p=[];if(1===f.length)return k=f[0],l=new Ub,l.curves=k.curves,p.push(l),
|
|
|
-p;var r=!e(f[0].getPoints()),r=a?!r:r;l=[];var n=[],m=[],q=0,u;n[q]=void 0;m[q]=[];for(var v=0,z=f.length;v<z;v++)k=f[v],u=k.getPoints(),g=e(u),(g=a?!g:g)?(!r&&n[q]&&q++,n[q]={s:new Ub,p:u},n[q].s.curves=k.curves,r&&q++,m[q]=[]):m[q].push({h:k,p:u[0]});if(!n[0])return c(f);if(1<n.length){v=!1;k=[];e=0;for(f=n.length;e<f;e++)l[e]=[];e=0;for(f=n.length;e<f;e++)for(g=m[e],r=0;r<g.length;r++){q=g[r];u=!0;for(z=0;z<n.length;z++)d(q.p,n[z].p)&&(e!==z&&k.push({froms:e,tos:z,hole:r}),u?(u=!1,l[z].push(q)):
|
|
|
-v=!0);u&&l[e].push(q)}0<k.length&&(v||(m=l))}v=0;for(e=n.length;v<e;v++)for(l=n[v].s,p.push(l),k=m[v],f=0,g=k.length;f<g;f++)l.holes.push(k[f].h);return p}};Object.assign(zd.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=0;b=[];for(var g=0;g<a.length;g++){var k;k=e;var l=f,p=d.glyphs[a[g]]||d.glyphs["?"];if(p){var r=new yd,n=[],m=h.ShapeUtils.b2,q=h.ShapeUtils.b3,u,v,z,w,x,B,y,D;if(p.o)for(var C=
|
|
|
-p._cachedOutline||(p._cachedOutline=p.o.split(" ")),E=0,I=C.length;E<I;)switch(C[E++]){case "m":u=C[E++]*k+l;v=C[E++]*k;r.moveTo(u,v);break;case "l":u=C[E++]*k+l;v=C[E++]*k;r.lineTo(u,v);break;case "q":u=C[E++]*k+l;v=C[E++]*k;x=C[E++]*k+l;B=C[E++]*k;r.quadraticCurveTo(x,B,u,v);if(w=n[n.length-1]){z=w.x;w=w.y;for(var H=1;H<=c;H++){var M=H/c;m(M,z,x,u);m(M,w,B,v)}}break;case "b":if(u=C[E++]*k+l,v=C[E++]*k,x=C[E++]*k+l,B=C[E++]*k,y=C[E++]*k+l,D=C[E++]*k,r.bezierCurveTo(x,B,y,D,u,v),w=n[n.length-1])for(z=
|
|
|
-w.x,w=w.y,H=1;H<=c;H++)M=H/c,q(M,z,x,y,u),q(M,w,B,D,v)}k={offset:p.ha*k,path:r}}else k=void 0;f+=k.offset;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(me.prototype,{load:function(a,b,c,d){var e=this;(new wa(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 zd(a)}});var Bd;Object.assign(Cd.prototype,{load:function(a,b,c,d){var e=new wa(this.manager);e.setResponseType("arraybuffer");e.load(a,function(a){Ad().decodeAudioData(a,function(a){b(a)})},c,d)}});Object.assign(ne.prototype,{update:function(){var a,b,c,d,e,f=new Q,g=new Q;return function(k){if(a!==k.focus||b!==k.fov||c!==k.aspect*this.aspect||d!==k.near||e!==k.far){a=k.focus;b=k.fov;c=k.aspect*this.aspect;d=k.near;e=k.far;var l=k.projectionMatrix.clone(),
|
|
|
-p=this.eyeSep/2,r=p*d/a,n=d*Math.tan(h.Math.DEG2RAD*b*.5),m;g.elements[12]=-p;f.elements[12]=p;p=-n*c+r;m=n*c+r;l.elements[0]=2*d/(m-p);l.elements[8]=(m+p)/(m-p);this.cameraL.projectionMatrix.copy(l);p=-n*c-r;m=n*c-r;l.elements[0]=2*d/(m-p);l.elements[8]=(m+p)/(m-p);this.cameraR.projectionMatrix.copy(l)}this.cameraL.matrixWorld.copy(k.matrixWorld).multiply(g);this.cameraR.matrixWorld.copy(k.matrixWorld).multiply(f)}}()});gd.prototype=Object.create(D.prototype);gd.prototype.constructor=gd;Dd.prototype=
|
|
|
-Object.assign(Object.create(D.prototype),{constructor:Dd,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 oa,c=new q,d=new q;return function(e){D.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.setPosition(a.x,a.y,a.z);e.setOrientation(d.x,d.y,d.z,f.x,f.y,f.z)}}()});Vb.prototype=
|
|
|
-Object.assign(Object.create(D.prototype),{constructor:Vb,getOutput:function(){return this.gain},setNodeSource:function(a){this.hasPlaybackControl=!1;this.sourceType="audioNode";this.source=a;this.connect();return this},setBuffer:function(a){this.source.buffer=a;this.sourceType="buffer";this.autoplay&&this.play();return this},play:function(){if(!0===this.isPlaying)console.warn("THREE.Audio: Audio is already playing.");else if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
|
|
|
+p;var r=!e(f[0].getPoints()),r=a?!r:r;l=[];var n=[],m=[],t=0,q;n[t]=void 0;m[t]=[];for(var v=0,z=f.length;v<z;v++)k=f[v],q=k.getPoints(),g=e(q),(g=a?!g:g)?(!r&&n[t]&&t++,n[t]={s:new Ub,p:q},n[t].s.curves=k.curves,r&&t++,m[t]=[]):m[t].push({h:k,p:q[0]});if(!n[0])return c(f);if(1<n.length){v=!1;k=[];e=0;for(f=n.length;e<f;e++)l[e]=[];e=0;for(f=n.length;e<f;e++)for(g=m[e],r=0;r<g.length;r++){t=g[r];q=!0;for(z=0;z<n.length;z++)d(t.p,n[z].p)&&(e!==z&&k.push({froms:e,tos:z,hole:r}),q?(q=!1,l[z].push(t)):
|
|
|
+v=!0);q&&l[e].push(t)}0<k.length&&(v||(m=l))}v=0;for(e=n.length;v<e;v++)for(l=n[v].s,p.push(l),k=m[v],f=0,g=k.length;f<g;f++)l.holes.push(k[f].h);return p}};Object.assign(zd.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=0;b=[];for(var g=0;g<a.length;g++){var k;k=e;var l=f,p=d.glyphs[a[g]]||d.glyphs["?"];if(p){var r=new yd,n=[],m=h.ShapeUtils.b2,q=h.ShapeUtils.b3,u,v,z,w,x,B,y,D;if(p.o)for(var C=
|
|
|
+p._cachedOutline||(p._cachedOutline=p.o.split(" ")),E=0,I=C.length;E<I;)switch(C[E++]){case "m":u=C[E++]*k+l;v=C[E++]*k;r.moveTo(u,v);break;case "l":u=C[E++]*k+l;v=C[E++]*k;r.lineTo(u,v);break;case "q":u=C[E++]*k+l;v=C[E++]*k;x=C[E++]*k+l;B=C[E++]*k;r.quadraticCurveTo(x,B,u,v);if(w=n[n.length-1]){z=w.x;w=w.y;for(var H=1;H<=c;H++){var L=H/c;m(L,z,x,u);m(L,w,B,v)}}break;case "b":if(u=C[E++]*k+l,v=C[E++]*k,x=C[E++]*k+l,B=C[E++]*k,y=C[E++]*k+l,D=C[E++]*k,r.bezierCurveTo(x,B,y,D,u,v),w=n[n.length-1])for(z=
|
|
|
+w.x,w=w.y,H=1;H<=c;H++)L=H/c,q(L,z,x,y,u),q(L,w,B,D,v)}k={offset:p.ha*k,path:r}}else k=void 0;f+=k.offset;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(me.prototype,{load:function(a,b,c,d){var e=this;(new wa(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 zd(a)}});var Bd;Object.assign(Cd.prototype,{load:function(a,b,c,d){var e=new wa(this.manager);e.setResponseType("arraybuffer");e.load(a,function(a){Ad().decodeAudioData(a,function(a){b(a)})},c,d)}});Object.assign(ne.prototype,{update:function(){var a,b,c,d,e,f,g=new Q,k=new Q;return function(l){if(a!==l.focus||b!==l.fov||c!==l.aspect*this.aspect||d!==l.near||e!==l.far||f!==l.zoom){a=l.focus;b=l.fov;c=l.aspect*this.aspect;d=l.near;e=l.far;f=l.zoom;var p=
|
|
|
+l.projectionMatrix.clone(),r=this.eyeSep/2,n=r*d/a,m=d*Math.tan(h.Math.DEG2RAD*b*.5)/f,q;k.elements[12]=-r;g.elements[12]=r;r=-m*c+n;q=m*c+n;p.elements[0]=2*d/(q-r);p.elements[8]=(q+r)/(q-r);this.cameraL.projectionMatrix.copy(p);r=-m*c-n;q=m*c-n;p.elements[0]=2*d/(q-r);p.elements[8]=(q+r)/(q-r);this.cameraR.projectionMatrix.copy(p)}this.cameraL.matrixWorld.copy(l.matrixWorld).multiply(k);this.cameraR.matrixWorld.copy(l.matrixWorld).multiply(g)}}()});gd.prototype=Object.create(D.prototype);gd.prototype.constructor=
|
|
|
+gd;Dd.prototype=Object.assign(Object.create(D.prototype),{constructor:Dd,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 oa,c=new q,d=new q;return function(e){D.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.setPosition(a.x,a.y,a.z);e.setOrientation(d.x,d.y,d.z,f.x,f.y,f.z)}}()});
|
|
|
+Vb.prototype=Object.assign(Object.create(D.prototype),{constructor:Vb,getOutput:function(){return this.gain},setNodeSource:function(a){this.hasPlaybackControl=!1;this.sourceType="audioNode";this.source=a;this.connect();return this},setBuffer:function(a){this.source.buffer=a;this.sourceType="buffer";this.autoplay&&this.play();return this},play:function(){if(!0===this.isPlaying)console.warn("THREE.Audio: Audio is already playing.");else if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
|
|
|
else{var a=this.context.createBufferSource();a.buffer=this.source.buffer;a.loop=this.source.loop;a.onended=this.source.onended;a.start(0,this.startTime);a.playbackRate.value=this.playbackRate;this.isPlaying=!0;this.source=a;return this.connect()}},pause:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else return this.source.stop(),this.startTime=this.context.currentTime,this.isPlaying=!1,this},stop:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
|
|
|
else return this.source.stop(),this.startTime=0,this.isPlaying=!1,this},connect:function(){if(0<this.filters.length){this.source.connect(this.filters[0]);for(var a=1,b=this.filters.length;a<b;a++)this.filters[a-1].connect(this.filters[a]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this},disconnect:function(){if(0<this.filters.length){this.source.disconnect(this.filters[0]);for(var a=1,b=this.filters.length;a<b;a++)this.filters[a-
|
|
|
1].disconnect(this.filters[a]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(a){a||(a=[]);!0===this.isPlaying?(this.disconnect(),this.filters=a,this.connect()):this.filters=a;return this},getFilter:function(){return this.getFilters()[0]},setFilter:function(a){return this.setFilters(a?[a]:[])},setPlaybackRate:function(a){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
|
|
@@ -720,9 +720,9 @@ void 0!==c&&c.getValue(a,b)},setValue:function(a,b){for(var c=this._bindings,d=t
|
|
|
/^((?:\w+\/)*)(\w+)?(?:\.(\w+)(?:\[(.+)\])?)?\.(\w+)(?:\[(.+)\])?$/.exec(a);if(!b)throw Error("cannot parse trackName at all: "+a);b={nodeName:b[2],objectName:b[3],objectIndex:b[4],propertyName:b[5],propertyIndex:b[6]};if(null===b.propertyName||0===b.propertyName.length)throw Error("can not parse propertyName from trackName: "+a);return b};ha.findNode=function(a,b){if(!b||""===b||"root"===b||"."===b||-1===b||b===a.name||b===a.uuid)return a;if(a.skeleton){var c=function(a){for(var c=0;c<a.bones.length;c++){var d=
|
|
|
a.bones[c];if(d.name===b)return d}return null}(a.skeleton);if(c)return c}if(a.children){var d=function(a){for(var c=0;c<a.length;c++){var g=a[c];if(g.name===b||g.uuid===b||(g=d(g.children)))return g}return null};if(c=d(a.children))return c}return null};Gd.prototype={constructor:Gd,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,k=this._bindings,h=k.length,p=0,r=arguments.length;p!==r;++p){var n=
|
|
|
arguments[p],m=n.uuid,q=e[m];if(void 0===q){q=c++;e[m]=q;b.push(n);for(var m=0,u=h;m!==u;++m)k[m].push(new ha(n,f[m],g[m]))}else if(q<d){var v=b[q],z=--d,u=b[z];e[u.uuid]=q;b[q]=u;e[m]=z;b[z]=n;m=0;for(u=h;m!==u;++m){var w=k[m],x=w[q];w[q]=w[z];void 0===x&&(x=new ha(n,f[m],g[m]));w[z]=x}}else b[q]!==v&&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,k=arguments.length;g!==k;++g){var h=arguments[g],p=h.uuid,q=d[p];if(void 0!==q&&q>=c){var n=c++,m=b[n];d[m.uuid]=q;b[q]=m;d[p]=n;b[n]=h;h=0;for(p=f;h!==p;++h){var m=e[h],t=m[q];m[q]=m[n];m[n]=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,k=0,h=arguments.length;k!==h;++k){var p=arguments[k].uuid,q=e[p];if(void 0!==
|
|
|
-q)if(delete e[p],q<d){var p=--d,n=b[p],m=--c,t=b[m];e[n.uuid]=q;b[q]=n;e[t.uuid]=p;b[p]=t;b.pop();n=0;for(t=g;n!==t;++n){var u=f[n],v=u[m];u[q]=u[p];u[p]=v;u.pop()}}else for(m=--c,t=b[m],e[t.uuid]=q,b[q]=t,b.pop(),n=0,t=g;n!==t;++n)u=f[n],u[q]=u[m],u.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,k=this._objects,h=this.nCachedObjects_,p=Array(k.length),d=e.length;c[a]=
|
|
|
-d;f.push(a);g.push(b);e.push(p);c=h;for(d=k.length;c!==d;++c)p[c]=new ha(k[c],a,b);return p},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,k=f[g];b[a[g]]=c;f[c]=k;f.pop();e[c]=e[g];e.pop();d[c]=d[g];d.pop()}}};Hd.prototype={constructor:Hd,play:function(){this._mixer._activateAction(this);return this},stop:function(){this._mixer._deactivateAction(this);return this.reset()},reset:function(){this.paused=
|
|
|
+c=this.nCachedObjects_,d=this._indicesByUUID,e=this._bindings,f=e.length,g=0,k=arguments.length;g!==k;++g){var h=arguments[g],p=h.uuid,q=d[p];if(void 0!==q&&q>=c){var n=c++,m=b[n];d[m.uuid]=q;b[q]=m;d[p]=n;b[n]=h;h=0;for(p=f;h!==p;++h){var m=e[h],t=m[q];m[q]=m[n];m[n]=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,l=arguments.length;h!==l;++h){var p=arguments[h].uuid,q=e[p];if(void 0!==
|
|
|
+q)if(delete e[p],q<d){var p=--d,n=b[p],m=--c,t=b[m];e[n.uuid]=q;b[q]=n;e[t.uuid]=p;b[p]=t;b.pop();n=0;for(t=g;n!==t;++n){var u=f[n],v=u[m];u[q]=u[p];u[p]=v;u.pop()}}else for(m=--c,t=b[m],e[t.uuid]=q,b[q]=t,b.pop(),n=0,t=g;n!==t;++n)u=f[n],u[q]=u[m],u.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,l=this.nCachedObjects_,p=Array(h.length),d=e.length;c[a]=
|
|
|
+d;f.push(a);g.push(b);e.push(p);c=l;for(d=h.length;c!==d;++c)p[c]=new ha(h[c],a,b);return p},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()}}};Hd.prototype={constructor:Hd,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},setDuration:function(a){this.timeScale=this._clip.duration/a;return this.stopWarping()},syncWith:function(a){this.time=a.time;this.timeScale=a.timeScale;return this.stopWarping()},halt:function(a){return this.warp(this._effectiveTimeScale,0,a)},warp:function(a,
|
|
@@ -733,8 +733,8 @@ this._mixer._root},_update:function(a,b,c,d){var e=this._startTime;if(null!==e){
|
|
|
action:this,direction:0<a?1:-1})):(0===g?(a=0>a,this._setEndings(a,!a,d)):this._setEndings(!1,!1,d),this._loopCount=e,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:f}))}if(d&&1===(e&1))return this.time=b,c-b}return this.time=b},_setEndings:function(a,b,c){var d=this._interpolantSettings;c?(d.endingStart=2401,d.endingEnd=2401):(d.endingStart=a?this.zeroSlopeAtStart?2401:2400:2402,d.endingEnd=b?this.zeroSlopeAtEnd?2401:2400:2402)},_scheduleFading:function(a,b,c){var d=this._mixer,e=d.time,
|
|
|
f=this._weightInterpolant;null===f&&(this._weightInterpolant=f=d._lendControlInterpolant());d=f.parameterPositions;f=f.sampleValues;d[0]=e;f[0]=b;d[1]=e+a;f[1]=c;return this}};Object.assign(Id.prototype,na.prototype,{clipAction:function(a,b){var c=b||this._root,d=c.uuid,e="string"===typeof a?sa.findByName(c,a):a,c=null!==e?e.uuid:a,f=this._actionsByClip[c],g=null;if(void 0!==f){g=f.actionByRoot[d];if(void 0!==g)return g;g=f.knownActions[0];null===e&&(e=g._clip)}if(null===e)return null;e=new Hd(this,
|
|
|
e,b);this._bindAction(e,g);this._addInactiveAction(e,c,d);return e},existingAction:function(a,b){var c=b||this._root,d=c.uuid,c="string"===typeof a?sa.findByName(c,a):a,c=this._actionsByClip[c?c.uuid:a];return void 0!==c?c.actionByRoot[d]||null:null},stopAllAction:function(){for(var a=this._actions,b=this._nActiveActions,c=this._bindings,d=this._nActiveBindings,e=this._nActiveBindings=this._nActiveActions=0;e!==b;++e)a[e].reset();for(e=0;e!==d;++e)c[e].useCount=0;return this},update:function(a){a*=
|
|
|
-this.timeScale;for(var b=this._actions,c=this._nActiveActions,d=this.time+=a,e=Math.sign(a),f=this._accuIndex^=1,g=0;g!==c;++g){var k=b[g];k.enabled&&k._update(d,a,e,f)}a=this._bindings;b=this._nActiveBindings;for(g=0;g!==b;++g)a[g].apply(f);return this},getRoot:function(){return this._root},uncacheClip:function(a){var b=this._actions;a=a.uuid;var c=this._actionsByClip,d=c[a];if(void 0!==d){for(var d=d.knownActions,e=0,f=d.length;e!==f;++e){var g=d[e];this._deactivateAction(g);var k=g._cacheIndex,
|
|
|
-h=b[b.length-1];g._cacheIndex=null;g._byClipCacheIndex=null;h._cacheIndex=k;b[k]=h;b.pop();this._removeInactiveBindingsForAction(g)}delete c[a]}},uncacheRoot:function(a){a=a.uuid;var b=this._actionsByClip,c;for(c in b){var d=b[c].actionByRoot[a];void 0!==d&&(this._deactivateAction(d),this._removeInactiveAction(d))}c=this._bindingsByRootAndName[a];if(void 0!==c)for(var e in c)a=c[e],a.restoreOriginalState(),this._removeInactiveBinding(a)},uncacheAction:function(a,b){var c=this.existingAction(a,b);
|
|
|
+this.timeScale;for(var b=this._actions,c=this._nActiveActions,d=this.time+=a,e=Math.sign(a),f=this._accuIndex^=1,g=0;g!==c;++g){var h=b[g];h.enabled&&h._update(d,a,e,f)}a=this._bindings;b=this._nActiveBindings;for(g=0;g!==b;++g)a[g].apply(f);return this},getRoot:function(){return this._root},uncacheClip:function(a){var b=this._actions;a=a.uuid;var c=this._actionsByClip,d=c[a];if(void 0!==d){for(var d=d.knownActions,e=0,f=d.length;e!==f;++e){var g=d[e];this._deactivateAction(g);var h=g._cacheIndex,
|
|
|
+l=b[b.length-1];g._cacheIndex=null;g._byClipCacheIndex=null;l._cacheIndex=h;b[h]=l;b.pop();this._removeInactiveBindingsForAction(g)}delete c[a]}},uncacheRoot:function(a){a=a.uuid;var b=this._actionsByClip,c;for(c in b){var d=b[c].actionByRoot[a];void 0!==d&&(this._deactivateAction(d),this._removeInactiveAction(d))}c=this._bindingsByRootAndName[a];if(void 0!==c)for(var e in c)a=c[e],a.restoreOriginalState(),this._removeInactiveBinding(a)},uncacheAction:function(a,b){var c=this.existingAction(a,b);
|
|
|
null!==c&&(this._deactivateAction(c),this._removeInactiveAction(c))}});Object.assign(Id.prototype,{_bindAction:function(a,b){var c=a._localRoot||this._root,d=a._clip.tracks,e=d.length,f=a._propertyBindings,g=a._interpolants,h=c.uuid,l=this._bindingsByRootAndName,p=l[h];void 0===p&&(p={},l[h]=p);for(l=0;l!==e;++l){var q=d[l],n=q.name,m=p[n];if(void 0===m){m=f[l];if(void 0!==m){null===m._cacheIndex&&(++m.referenceCount,this._addInactiveBinding(m,h,n));continue}m=new hd(ha.create(c,n,b&&b._propertyBindings[l].binding.parsedPath),
|
|
|
q.ValueTypeName,q.getValueSize());++m.referenceCount;this._addInactiveBinding(m,h,n)}f[l]=m;g[l].resultBuffer=m.buffer}},_activateAction:function(a){if(!this._isActiveAction(a)){if(null===a._cacheIndex){var b=(a._localRoot||this._root).uuid,c=a._clip.uuid,d=this._actionsByClip[c];this._bindAction(a,d&&d.knownActions[0]);this._addInactiveAction(a,c,b)}b=a._propertyBindings;c=0;for(d=b.length;c!==d;++c){var e=b[c];0===e.useCount++&&(this._lendBinding(e),e.saveOriginalState())}this._lendAction(a)}},
|
|
|
_deactivateAction:function(a){if(this._isActiveAction(a)){for(var b=a._propertyBindings,c=0,d=b.length;c!==d;++c){var e=b[c];0===--e.useCount&&(e.restoreOriginalState(),this._takeBackBinding(e))}this._takeBackAction(a)}},_initMemoryManager:function(){this._actions=[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;var a=this;this.stats={actions:{get total(){return a._actions.length},
|