提交 56da50f8 编写于 作者: M Mr.doob

Updated builds.

上级 d6edbe13
...@@ -1534,10 +1534,15 @@ THREE.Vector2.prototype = { ...@@ -1534,10 +1534,15 @@ THREE.Vector2.prototype = {
}, },
multiplyScalar: function ( s ) { multiplyScalar: function ( scalar ) {
this.x *= s; if ( isFinite( scalar ) ) {
this.y *= s; this.x *= scalar;
this.y *= scalar;
} else {
this.x = 0;
this.y = 0;
}
return this; return this;
...@@ -1554,37 +1559,14 @@ THREE.Vector2.prototype = { ...@@ -1554,37 +1559,14 @@ THREE.Vector2.prototype = {
divideScalar: function ( scalar ) { divideScalar: function ( scalar ) {
if ( scalar !== 0 ) { return this.multiplyScalar( 1 / scalar );
var invScalar = 1 / scalar;
this.x *= invScalar;
this.y *= invScalar;
} else {
this.x = 0;
this.y = 0;
}
return this;
}, },
min: function ( v ) { min: function ( v ) {
if ( this.x > v.x ) { this.x = Math.min( this.x, v.x );
this.y = Math.min( this.y, v.y );
this.x = v.x;
}
if ( this.y > v.y ) {
this.y = v.y;
}
return this; return this;
...@@ -1592,17 +1574,8 @@ THREE.Vector2.prototype = { ...@@ -1592,17 +1574,8 @@ THREE.Vector2.prototype = {
max: function ( v ) { max: function ( v ) {
if ( this.x < v.x ) { this.x = Math.max( this.x, v.x );
this.y = Math.max( this.y, v.y );
this.x = v.x;
}
if ( this.y < v.y ) {
this.y = v.y;
}
return this; return this;
...@@ -1641,6 +1614,16 @@ THREE.Vector2.prototype = { ...@@ -1641,6 +1614,16 @@ THREE.Vector2.prototype = {
}(), }(),
clampLength: function ( min, max ) {
var length = this.length();
this.multiplyScalar( Math.max( min, Math.min( max, length ) ) / length );
return this;
},
floor: function () { floor: function () {
this.x = Math.floor( this.x ); this.x = Math.floor( this.x );
...@@ -1729,17 +1712,9 @@ THREE.Vector2.prototype = { ...@@ -1729,17 +1712,9 @@ THREE.Vector2.prototype = {
}, },
setLength: function ( l ) { setLength: function ( length ) {
var oldLength = this.length(); return this.multiplyScalar( length / this.length() );
if ( oldLength !== 0 && l !== oldLength ) {
this.multiplyScalar( l / oldLength );
}
return this;
}, },
...@@ -2006,9 +1981,15 @@ THREE.Vector3.prototype = { ...@@ -2006,9 +1981,15 @@ THREE.Vector3.prototype = {
multiplyScalar: function ( scalar ) { multiplyScalar: function ( scalar ) {
this.x *= scalar; if ( isFinite( scalar ) ) {
this.y *= scalar; this.x *= scalar;
this.z *= scalar; this.y *= scalar;
this.z *= scalar;
} else {
this.x = 0;
this.y = 0;
this.z = 0;
}
return this; return this;
...@@ -2200,45 +2181,15 @@ THREE.Vector3.prototype = { ...@@ -2200,45 +2181,15 @@ THREE.Vector3.prototype = {
divideScalar: function ( scalar ) { divideScalar: function ( scalar ) {
if ( scalar !== 0 ) { return this.multiplyScalar( 1 / scalar );
var invScalar = 1 / scalar;
this.x *= invScalar;
this.y *= invScalar;
this.z *= invScalar;
} else {
this.x = 0;
this.y = 0;
this.z = 0;
}
return this;
}, },
min: function ( v ) { min: function ( v ) {
if ( this.x > v.x ) { this.x = Math.min( this.x, v.x );
this.y = Math.min( this.y, v.y );
this.x = v.x; this.z = Math.min( this.z, v.z );
}
if ( this.y > v.y ) {
this.y = v.y;
}
if ( this.z > v.z ) {
this.z = v.z;
}
return this; return this;
...@@ -2246,23 +2197,9 @@ THREE.Vector3.prototype = { ...@@ -2246,23 +2197,9 @@ THREE.Vector3.prototype = {
max: function ( v ) { max: function ( v ) {
if ( this.x < v.x ) { this.x = Math.max( this.x, v.x );
this.y = Math.max( this.y, v.y );
this.x = v.x; this.z = Math.max( this.z, v.z );
}
if ( this.y < v.y ) {
this.y = v.y;
}
if ( this.z < v.z ) {
this.z = v.z;
}
return this; return this;
...@@ -2302,6 +2239,16 @@ THREE.Vector3.prototype = { ...@@ -2302,6 +2239,16 @@ THREE.Vector3.prototype = {
}(), }(),
clampLength: function ( min, max ) {
var length = this.length();
this.multiplyScalar( Math.max( min, Math.min( max, length ) ) / length );
return this;
},
floor: function () { floor: function () {
this.x = Math.floor( this.x ); this.x = Math.floor( this.x );
...@@ -2382,17 +2329,9 @@ THREE.Vector3.prototype = { ...@@ -2382,17 +2329,9 @@ THREE.Vector3.prototype = {
}, },
setLength: function ( l ) { setLength: function ( length ) {
var oldLength = this.length(); return this.multiplyScalar( length / this.length() );
if ( oldLength !== 0 && l !== oldLength ) {
this.multiplyScalar( l / oldLength );
}
return this;
}, },
...@@ -2499,7 +2438,7 @@ THREE.Vector3.prototype = { ...@@ -2499,7 +2438,7 @@ THREE.Vector3.prototype = {
angleTo: function ( v ) { angleTo: function ( v ) {
var theta = this.dot( v ) / ( this.length() * v.length() ); var theta = this.dot( v ) / Math.sqrt( this.lengthSq() * v.lengthSq() );
// clamp, to handle numerical problems // clamp, to handle numerical problems
...@@ -2848,10 +2787,17 @@ THREE.Vector4.prototype = { ...@@ -2848,10 +2787,17 @@ THREE.Vector4.prototype = {
multiplyScalar: function ( scalar ) { multiplyScalar: function ( scalar ) {
this.x *= scalar; if ( isFinite( scalar ) ) {
this.y *= scalar; this.x *= scalar;
this.z *= scalar; this.y *= scalar;
this.w *= scalar; this.z *= scalar;
this.w *= scalar;
} else {
this.x = 0;
this.y = 0;
this.z = 0;
this.w = 0;
}
return this; return this;
...@@ -2877,25 +2823,7 @@ THREE.Vector4.prototype = { ...@@ -2877,25 +2823,7 @@ THREE.Vector4.prototype = {
divideScalar: function ( scalar ) { divideScalar: function ( scalar ) {
if ( scalar !== 0 ) { return this.multiplyScalar( 1 / scalar );
var invScalar = 1 / scalar;
this.x *= invScalar;
this.y *= invScalar;
this.z *= invScalar;
this.w *= invScalar;
} else {
this.x = 0;
this.y = 0;
this.z = 0;
this.w = 1;
}
return this;
}, },
...@@ -3059,29 +2987,10 @@ THREE.Vector4.prototype = { ...@@ -3059,29 +2987,10 @@ THREE.Vector4.prototype = {
min: function ( v ) { min: function ( v ) {
if ( this.x > v.x ) { this.x = Math.min( this.x, v.x );
this.y = Math.min( this.y, v.y );
this.x = v.x; this.z = Math.min( this.z, v.z );
this.w = Math.min( this.w, v.w );
}
if ( this.y > v.y ) {
this.y = v.y;
}
if ( this.z > v.z ) {
this.z = v.z;
}
if ( this.w > v.w ) {
this.w = v.w;
}
return this; return this;
...@@ -3089,29 +2998,10 @@ THREE.Vector4.prototype = { ...@@ -3089,29 +2998,10 @@ THREE.Vector4.prototype = {
max: function ( v ) { max: function ( v ) {
if ( this.x < v.x ) { this.x = Math.max( this.x, v.x );
this.y = Math.max( this.y, v.y );
this.x = v.x; this.z = Math.max( this.z, v.z );
this.w = Math.max( this.w, v.w );
}
if ( this.y < v.y ) {
this.y = v.y;
}
if ( this.z < v.z ) {
this.z = v.z;
}
if ( this.w < v.w ) {
this.w = v.w;
}
return this; return this;
...@@ -3237,17 +3127,9 @@ THREE.Vector4.prototype = { ...@@ -3237,17 +3127,9 @@ THREE.Vector4.prototype = {
}, },
setLength: function ( l ) { setLength: function ( length ) {
var oldLength = this.length();
if ( oldLength !== 0 && l !== oldLength ) {
this.multiplyScalar( l / oldLength ); return this.multiplyScalar( length / this.length() );
}
return this;
}, },
...@@ -5016,7 +4898,7 @@ THREE.Matrix4.prototype = { ...@@ -5016,7 +4898,7 @@ THREE.Matrix4.prototype = {
z.subVectors( eye, target ).normalize(); z.subVectors( eye, target ).normalize();
if ( z.length() === 0 ) { if ( z.lengthSq() === 0 ) {
z.z = 1; z.z = 1;
...@@ -5024,7 +4906,7 @@ THREE.Matrix4.prototype = { ...@@ -5024,7 +4906,7 @@ THREE.Matrix4.prototype = {
x.crossVectors( up, z ).normalize(); x.crossVectors( up, z ).normalize();
if ( x.length() === 0 ) { if ( x.lengthSq() === 0 ) {
z.x += 0.0001; z.x += 0.0001;
x.crossVectors( up, z ).normalize(); x.crossVectors( up, z ).normalize();
......
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册