فهرست منبع

Cleanup code for BoxHelper

gero3 10 سال پیش
والد
کامیت
b606cc4672
2فایلهای تغییر یافته به همراه9 افزوده شده و 24 حذف شده
  1. 5 0
      examples/webgl_helpers.html
  2. 4 24
      src/extras/helpers/BoxHelper.js

+ 5 - 0
examples/webgl_helpers.html

@@ -57,6 +57,9 @@
 					var group = new THREE.Group();
 					group.scale.multiplyScalar( 50 );
 					scene.add( group );
+					
+					// To make sure that the matrixWorld is up to date for the boxhelpers
+					group.updateMatrixWorld(true);
 
 					var mesh = new THREE.Mesh( geometry, material );
 					group.add( mesh );
@@ -76,6 +79,7 @@
 					line.material.transparent = true;
 					line.position.x = 4;
 					group.add( line );
+					scene.add( new THREE.BoxHelper( line ) );
 
 					var edges = new THREE.EdgesGeometry( geometry );
 					var line = new THREE.LineSegments( edges );
@@ -84,6 +88,7 @@
 					line.material.transparent = true;
 					line.position.x = -4;
 					group.add( line );
+					scene.add( new THREE.BoxHelper( line ) );
 					
 					scene.add( new THREE.BoxHelper( group ) );
 					scene.add( new THREE.BoxHelper( scene ) );

+ 4 - 24
src/extras/helpers/BoxHelper.js

@@ -22,30 +22,10 @@ THREE.BoxHelper.prototype.constructor = THREE.BoxHelper;
 
 THREE.BoxHelper.prototype.update = function ( object ) {
 
-	var min, max;
-	 if ( object.type == 'Mesh') {
-		
-		var geometry = object.geometry;
-		
-		if ( geometry.boundingBox === null ) {
-			
-			geometry.computeBoundingBox();
-			
-		}
-		
-		min = geometry.boundingBox.min;
-		max = geometry.boundingBox.max;
-		
-		this.matrix = object.matrixWorld;
-		this.matrixAutoUpdate = false;
-		
-	} else {
-		
-		var box = new THREE.Box3().setFromObject(object);
-		min = box.min;
-		max = box.max;
-		
-	}
+	var box = new THREE.Box3().setFromObject(object);
+	var min = box.min;
+	var max = box.max;
+
 
 	/*
 	  5____4