returnthis.setFromMatrixScale(a)},getColumnFromMatrix:function(a,b){console.warn("DEPRECATED: Vector3's .getColumnFromMatrix() has been renamed to .setFromMatrixColumn(). Please update your code.");returnthis.setFromMatrixColumn(a,b)},setFromMatrixPosition:function(a){this.x=a.elements[12];this.y=a.elements[13];this.z=a.elements[14];returnthis},setFromMatrixScale:function(a){varb=this.set(a.elements[0],a.elements[1],a.elements[2]).length(),c=this.set(a.elements[4],a.elements[5],a.elements[6]).length(),
THREE.extend(THREE.Vector3.prototype,{applyEuler:function(){vara=newTHREE.Quaternion;returnfunction(b){!1===binstanceofTHREE.Euler&&console.error("ERROR: Vector3's .applyEuler() now expects a Euler rotation rather than a Vector3 and order. Please update your code.");this.applyQuaternion(a.setFromEuler(b));returnthis}}(),applyAxisAngle:function(){vara=newTHREE.Quaternion;returnfunction(b,c){this.applyQuaternion(a.setFromAxisAngle(b,c));returnthis}}(),projectOnVector:function(){vara=newTHREE.Vector3;
THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;returnthis},setX:function(a){this.x=a;returnthis},setY:function(a){this.y=a;returnthis},setZ:function(a){this.z=a;returnthis},setW:function(a){this.w=a;returnthis},setComponent:function(a,b){switch(a){case0:this.x=b;break;case1:this.y=b;break;case2:this.z=b;break;case3:this.w=b;break;default:throwError("index is out of range: "+a);}},getComponent:function(a){switch(a){case0:returnthis.x;
case1:returnthis.y;case2:returnthis.z;case3:returnthis.w;default:throwError("index is out of range: "+a);}},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void0!==a.w?a.w:1;returnthis},add:function(a,b){if(void0!==b)returnconsole.warn("DEPRECATED: Vector4's .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;returnthis},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;returnthis},
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;returnthis},sub:function(a,b){if(void0!==b)returnconsole.warn("DEPRECATED: Vector4's .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;returnthis},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;returnthis},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;this.w*=a;returnthis},