diff --git a/examples/webgl_helpers.html b/examples/webgl_helpers.html
index 6046d782d5d391d8b239c104c1eaea33abd15988..02e4eea10701f93916e2bdb11fae510c722ee98d 100644
--- a/examples/webgl_helpers.html
+++ b/examples/webgl_helpers.html
@@ -84,6 +84,10 @@
line.material.transparent = true;
line.position.x = -4;
group.add( line );
+
+ scene.add( new THREE.BoxHelper( group ) );
+ scene.add( new THREE.BoxHelper( scene ) );
+
} );
diff --git a/src/extras/helpers/BoxHelper.js b/src/extras/helpers/BoxHelper.js
index 4f02395fa71b51e1322dc775272964ac97a3ed9f..56d7e9c67b9138f0021d47bd829a0cc8a338311c 100644
--- a/src/extras/helpers/BoxHelper.js
+++ b/src/extras/helpers/BoxHelper.js
@@ -22,17 +22,31 @@ THREE.BoxHelper.prototype.constructor = THREE.BoxHelper;
THREE.BoxHelper.prototype.update = function ( object ) {
- var geometry = object.geometry;
-
- if ( geometry.boundingBox === null ) {
-
- geometry.computeBoundingBox();
-
+ 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 min = geometry.boundingBox.min;
- var max = geometry.boundingBox.max;
-
/*
5____4
1/___0/|
@@ -95,7 +109,4 @@ THREE.BoxHelper.prototype.update = function ( object ) {
this.geometry.computeBoundingSphere();
- this.matrix = object.matrixWorld;
- this.matrixAutoUpdate = false;
-
};