Przeglądaj źródła

refactor `setFromArray`, `setFromBufferAttribute` (#25573)

ycw 2 lat temu
rodzic
commit
79a55ce8c0
1 zmienionych plików z 6 dodań i 44 usunięć
  1. 6 44
      src/math/Box3.js

+ 6 - 44
src/math/Box3.js

@@ -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;
 
 	}