|
@@ -22,66 +22,28 @@ class Box3 {
|
|
|
|
|
|
setFromArray( array ) {
|
|
|
|
|
|
- let minX = + Infinity;
|
|
|
- let minY = + Infinity;
|
|
|
- let minZ = + Infinity;
|
|
|
-
|
|
|
- let maxX = - Infinity;
|
|
|
- let maxY = - Infinity;
|
|
|
- let maxZ = - Infinity;
|
|
|
-
|
|
|
- for ( let i = 0, l = array.length; i < l; i += 3 ) {
|
|
|
-
|
|
|
- const x = array[ i ];
|
|
|
- const y = array[ i + 1 ];
|
|
|
- const z = array[ i + 2 ];
|
|
|
+ this.makeEmpty();
|
|
|
|
|
|
- if ( x < minX ) minX = x;
|
|
|
- if ( y < minY ) minY = y;
|
|
|
- if ( z < minZ ) minZ = z;
|
|
|
+ for ( let i = 0, il = array.length; i < il; i += 3 ) {
|
|
|
|
|
|
- if ( x > maxX ) maxX = x;
|
|
|
- if ( y > maxY ) maxY = y;
|
|
|
- if ( z > maxZ ) maxZ = z;
|
|
|
+ this.expandByPoint( _vector.fromArray( array, i ) );
|
|
|
|
|
|
}
|
|
|
|
|
|
- this.min.set( minX, minY, minZ );
|
|
|
- this.max.set( maxX, maxY, maxZ );
|
|
|
-
|
|
|
return this;
|
|
|
|
|
|
}
|
|
|
|
|
|
setFromBufferAttribute( attribute ) {
|
|
|
|
|
|
- let minX = + Infinity;
|
|
|
- let minY = + Infinity;
|
|
|
- let minZ = + Infinity;
|
|
|
-
|
|
|
- let maxX = - Infinity;
|
|
|
- let maxY = - Infinity;
|
|
|
- let maxZ = - Infinity;
|
|
|
-
|
|
|
- for ( let i = 0, l = attribute.count; i < l; i ++ ) {
|
|
|
-
|
|
|
- const x = attribute.getX( i );
|
|
|
- const y = attribute.getY( i );
|
|
|
- const z = attribute.getZ( i );
|
|
|
+ this.makeEmpty();
|
|
|
|
|
|
- if ( x < minX ) minX = x;
|
|
|
- if ( y < minY ) minY = y;
|
|
|
- if ( z < minZ ) minZ = z;
|
|
|
+ for ( let i = 0, il = attribute.count; i < il; i ++ ) {
|
|
|
|
|
|
- if ( x > maxX ) maxX = x;
|
|
|
- if ( y > maxY ) maxY = y;
|
|
|
- if ( z > maxZ ) maxZ = z;
|
|
|
+ this.expandByPoint( _vector.fromBufferAttribute( attribute, i ) );
|
|
|
|
|
|
}
|
|
|
|
|
|
- this.min.set( minX, minY, minZ );
|
|
|
- this.max.set( maxX, maxY, maxZ );
|
|
|
-
|
|
|
return this;
|
|
|
|
|
|
}
|