THREE.Object3D.prototype={constructor:THREE.Object3D,geteulerOrder(){console.warn("THREE.Object3D: .eulerOrder has been moved to .rotation.order.");returnthis.rotation.order},seteulerOrder(a){console.warn("THREE.Object3D: .eulerOrder has been moved to .rotation.order.");this.rotation.order=a},getuseQuaternion(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},setuseQuaternion(a){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},
getrenderDepth(){console.warn("THREE.Object3D: .renderDepth has been renamed to .renderOrder.");returnthis.renderOrder},setrenderDepth(a){console.warn("THREE.Object3D: .renderDepth has been renamed to .renderOrder.");this.renderOrder=a},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,
newTHREE.Vector3(0,0,1);returnfunction(b){returnthis.rotateOnAxis(a,b)}}(),translateOnAxis:function(){vara=newTHREE.Vector3;returnfunction(b,c){a.copy(b).applyQuaternion(this.quaternion);this.position.add(a.multiplyScalar(c));returnthis}}(),translate:function(a,b){console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.");returnthis.translateOnAxis(b,a)},translateX:function(){vara=newTHREE.Vector3(1,0,0);returnfunction(b){returnthis.translateOnAxis(a,
this.up);this.quaternion.setFromRotationMatrix(a)}}(),add:function(a){if(1<arguments.length){for(varb=0;b<arguments.length;b++)this.add(arguments[b]);returnthis}if(a===this)returnconsole.error("THREE.Object3D.add: object can't be added as a child of itself.",a),this;ainstanceofTHREE.Object3D?(void0!==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);returnthis},remove:function(a){if(1<
arguments.length)for(varb=0;b<arguments.length;b++)this.remove(arguments[b]);b=this.children.indexOf(a);-1!==b&&(a.parent=void0,a.dispatchEvent({type:"removed"}),this.children.splice(b,1))},getChildByName:function(a){console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().");returnthis.getObjectByName(a)},getObjectById:function(a){returnthis.getObjectByProperty("id",a)},getObjectByName:function(a){returnthis.getObjectByProperty("name",a)},getObjectByProperty:function(a,
setrenderDepth(a){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},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)},
c){a.copy(b).applyQuaternion(this.quaternion);this.position.add(a.multiplyScalar(c));returnthis}}(),translate:function(a,b){console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.");returnthis.translateOnAxis(b,a)},translateX:function(){vara=newTHREE.Vector3(1,0,0);returnfunction(b){returnthis.translateOnAxis(a,b)}}(),translateY:function(){vara=newTHREE.Vector3(0,1,0);returnfunction(b){returnthis.translateOnAxis(a,b)}}(),translateZ:function(){vara=
returnthis}if(a===this)returnconsole.error("THREE.Object3D.add: object can't be added as a child of itself.",a),this;ainstanceofTHREE.Object3D?(void0!==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);returnthis},remove:function(a){if(1<arguments.length)for(varb=0;b<arguments.length;b++)this.remove(arguments[b]);b=this.children.indexOf(a);-1!==b&&(a.parent=void0,
a.dispatchEvent({type:"removed"}),this.children.splice(b,1))},getChildByName:function(a){console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().");returnthis.getObjectByName(a)},getObjectById:function(a){returnthis.getObjectByProperty("id",a)},getObjectByName:function(a){returnthis.getObjectByProperty("name",a)},getObjectByProperty:function(a,b){if(this[a]===b)returnthis;for(varc=0,d=this.children.length;c<d;c++){vare=this.children[c].getObjectByProperty(a,b);
THREE.Face4=function(a,b,c,d,e,f,g){console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead.");returnnewTHREE.Face3(a,b,c,e,f,g)};THREE.BufferAttribute=function(a,b){this.array=a;this.itemSize=b;this.needsUpdate=!1};
THREE.BufferAttribute.prototype={constructor:THREE.BufferAttribute,getlength(){console.warn("THREE.BufferAttribute: .length has been renamed to .count.");returnthis.count},getcount(){returnthis.array.length/this.itemSize},copyAt:function(a,b,c){a*=this.itemSize;c*=b.itemSize;for(vard=0,e=this.itemSize;d<e;d++)this.array[a+d]=b.array[c+d];returnthis},copyArray:function(a){this.array.set(a);returnthis},copyColorsArray:function(a){for(varb=this.array,c=0,d=0,e=a.length;d<e;d++){varf=a[d];void0===
THREE.ParticleSystem=function(a,b){console.warn("THREE.ParticleSystem has been renamed to THREE.PointCloud.");returnnewTHREE.PointCloud(a,b)};THREE.Line=function(a,b,c){1===c&&console.error("THREE.Line: THREE.LinePieces mode has been removed. Use THREE.LineSegments instead.");THREE.Object3D.call(this);this.type="Line";this.geometry=void0!==a?a:newTHREE.Geometry;this.material=void0!==b?b:newTHREE.LineBasicMaterial({color:16777215*Math.random()})};THREE.Line.prototype=Object.create(THREE.Object3D.prototype);
THREE.WebGLRenderer=function(a){functionb(a,b,c,d){vare;if(cinstanceofTHREE.InstancedBufferGeometry&&(e=V.get("ANGLE_instanced_arrays"),null===e)){console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}varf=c.attributes;b=b.getAttributes();a=a.defaultAttributeValues;for(varginb){varh=b[g];if(0<=h){vark=f[g];if(void0!==k){varl=k.itemSize;R.enableAttribute(h);if(kinstanceofTHREE.InterleavedBufferAttribute){varn=
THREE.WebGLRenderer=function(a){functionb(a,b,c,d){vare;if(cinstanceofTHREE.InstancedBufferGeometry&&(e=V.get("ANGLE_instanced_arrays"),null===e)){console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}varg=c.attributes;b=b.getAttributes();a=a.defaultAttributeValues;for(varfinb){varh=b[f];if(0<=h){vark=g[f];if(void0!==k){varl=k.itemSize;R.enableAttribute(h);if(kinstanceofTHREE.InterleavedBufferAttribute){varn=
k.data,m=n.stride,p=k.offset;s.bindBuffer(s.ARRAY_BUFFER,k.data.buffer);s.vertexAttribPointer(h,l,s.FLOAT,!1,m*n.array.BYTES_PER_ELEMENT,(d*m+p)*n.array.BYTES_PER_ELEMENT);if(ninstanceofTHREE.InstancedInterleavedBuffer){if(null===e){console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferAttribute but hardware does not support extension ANGLE_instanced_arrays.");return}e.vertexAttribDivisorANGLE(h,n.meshPerAttribute);void0===c.maxInstancedCount&&(c.maxInstancedCount=
n.array.length/n.stride*n.meshPerAttribute)}}elseif(s.bindBuffer(s.ARRAY_BUFFER,k.buffer),s.vertexAttribPointer(h,l,s.FLOAT,!1,0,d*l*4),kinstanceofTHREE.InstancedBufferAttribute){if(null===e){console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferAttribute but hardware does not support extension ANGLE_instanced_arrays.");return}e.vertexAttribDivisorANGLE(h,k.meshPerAttribute);void0===c.maxInstancedCount&&(c.maxInstancedCount=k.array.length/k.itemSize*k.meshPerAttribute)}}elseif(void0!==
THREE.FaceNormalsHelper=function(a,b,c,d){this.object=a;this.size=void0!==b?b:1;a=void0!==c?c:16776960;d=void0!==d?d:1;b=0;c=this.object.geometry;cinstanceofTHREE.Geometry?b=c.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");c=newTHREE.BufferGeometry;b=newTHREE.Float32Attribute(6*b,3);c.addAttribute("position",b);THREE.LineSegments.call(this,c,newTHREE.LineBasicMaterial({color:a,linewidth:d}));this.matrixAutoUpdate=