b||0===b.length)this.boundingBox.min.set(0,0,0),this.boundingBox.max.set(0,0,0);(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(){vara=newTHREE.Box3,b=newTHREE.Vector3;returnfunction(){null===this.boundingSphere&&(this.boundingSphere=newTHREE.Sphere);varc=this.attributes.position.array;
if(c){a.makeEmpty();for(vard=this.boundingSphere.center,e=0,g=c.length;e<g;e+=3)b.fromArray(c,e),a.expandByPoint(b);a.center(d);for(varf=0,e=0,g=c.length;e<g;e+=3)b.fromArray(c,e),f=Math.max(f,d.distanceToSquared(b));this.boundingSphere.radius=Math.sqrt(f);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(){vara=
k[a];R.copy(aa);R.sub(F.multiplyScalar(F.dot(aa))).normalize();U.crossVectors($,aa);oa=U.dot(m[a]);ea=0>oa?-1:1;h[4*a]=R.x;h[4*a+1]=R.y;h[4*a+2]=R.z;h[4*a+3]=ea}if(void0===this.attributes.index||void0===this.attributes.position||void0===this.attributes.normal||void0===this.attributes.uv)console.warn("THREE.BufferGeometry: Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");else{varc=this.attributes.index.array,d=this.attributes.position.array,e=this.attributes.normal.array,
c.length);for(varT=this.drawcalls,f=0,n=T.length;f<n;++f)for(D=T[f],G=D.start,H=D.count,D=G,G+=H;D<G;D+=3)H=c[D+0],O=c[D+1],Q=c[D+2],a(H,O,Q);for(varR=newTHREE.Vector3,U=newTHREE.Vector3,F=newTHREE.Vector3,$=newTHREE.Vector3,ea,aa,oa,f=0,n=T.length;f<n;++f)for(D=T[f],G=D.start,H=D.count,D=G,G+=H;D<G;D+=3)H=c[D+0],O=c[D+1],Q=c[D+2],b(H),b(O),b(Q)}},computeOffsets:function(a){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},merge:function(a,b){if(!1===ainstanceofTHREE.BufferGeometry)console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",
U.crossVectors($,aa);oa=U.dot(m[a]);ea=0>oa?-1:1;h[4*a]=R.x;h[4*a+1]=R.y;h[4*a+2]=R.z;h[4*a+3]=ea}if(void0===this.attributes.index||void0===this.attributes.position||void0===this.attributes.normal||void0===this.attributes.uv)console.warn("THREE.BufferGeometry: Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");else{varc=this.attributes.index.array,d=this.attributes.position.array,e=this.attributes.normal.array,g=this.attributes.uv.array,f=d.length/
n;++f)for(D=T[f],G=D.start,H=D.count,D=G,G+=H;D<G;D+=3)H=c[D+0],O=c[D+1],Q=c[D+2],a(H,O,Q);for(varR=newTHREE.Vector3,U=newTHREE.Vector3,F=newTHREE.Vector3,$=newTHREE.Vector3,ea,aa,oa,f=0,n=T.length;f<n;++f)for(D=T[f],G=D.start,H=D.count,D=G,G+=H;D<G;D+=3)H=c[D+0],O=c[D+1],Q=c[D+2],b(H),b(O),b(Q)}},computeOffsets:function(a){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},merge:function(a,b){if(!1===ainstanceofTHREE.BufferGeometry)console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",