|
@@ -20,73 +20,79 @@ THREE.BoxHelper = function ( object ) {
|
|
|
THREE.BoxHelper.prototype = Object.create( THREE.LineSegments.prototype );
|
|
|
THREE.BoxHelper.prototype.constructor = THREE.BoxHelper;
|
|
|
|
|
|
-THREE.BoxHelper.prototype.update = function ( object ) {
|
|
|
+THREE.BoxHelper.prototype.update = ( function () {
|
|
|
|
|
|
- var box = new THREE.Box3().setFromObject(object);
|
|
|
- var min = box.min;
|
|
|
- var max = box.max;
|
|
|
+ var box = new THREE.Box3();
|
|
|
|
|
|
+ return function ( object ) {
|
|
|
|
|
|
- /*
|
|
|
- 5____4
|
|
|
- 1/___0/|
|
|
|
- | 6__|_7
|
|
|
- 2/___3/
|
|
|
+ box.setFromObject( object );
|
|
|
|
|
|
- 0: max.x, max.y, max.z
|
|
|
- 1: min.x, max.y, max.z
|
|
|
- 2: min.x, min.y, max.z
|
|
|
- 3: max.x, min.y, max.z
|
|
|
- 4: max.x, max.y, min.z
|
|
|
- 5: min.x, max.y, min.z
|
|
|
- 6: min.x, min.y, min.z
|
|
|
- 7: max.x, min.y, min.z
|
|
|
- */
|
|
|
+ var min = box.min;
|
|
|
+ var max = box.max;
|
|
|
|
|
|
- var vertices = this.geometry.attributes.position.array;
|
|
|
+ /*
|
|
|
+ 5____4
|
|
|
+ 1/___0/|
|
|
|
+ | 6__|_7
|
|
|
+ 2/___3/
|
|
|
|
|
|
- vertices[ 0 ] = max.x; vertices[ 1 ] = max.y; vertices[ 2 ] = max.z;
|
|
|
- vertices[ 3 ] = min.x; vertices[ 4 ] = max.y; vertices[ 5 ] = max.z;
|
|
|
+ 0: max.x, max.y, max.z
|
|
|
+ 1: min.x, max.y, max.z
|
|
|
+ 2: min.x, min.y, max.z
|
|
|
+ 3: max.x, min.y, max.z
|
|
|
+ 4: max.x, max.y, min.z
|
|
|
+ 5: min.x, max.y, min.z
|
|
|
+ 6: min.x, min.y, min.z
|
|
|
+ 7: max.x, min.y, min.z
|
|
|
+ */
|
|
|
|
|
|
- vertices[ 6 ] = min.x; vertices[ 7 ] = max.y; vertices[ 8 ] = max.z;
|
|
|
- vertices[ 9 ] = min.x; vertices[ 10 ] = min.y; vertices[ 11 ] = max.z;
|
|
|
+ var vertices = this.geometry.attributes.position.array;
|
|
|
|
|
|
- vertices[ 12 ] = min.x; vertices[ 13 ] = min.y; vertices[ 14 ] = max.z;
|
|
|
- vertices[ 15 ] = max.x; vertices[ 16 ] = min.y; vertices[ 17 ] = max.z;
|
|
|
+ vertices[ 0 ] = max.x; vertices[ 1 ] = max.y; vertices[ 2 ] = max.z;
|
|
|
+ vertices[ 3 ] = min.x; vertices[ 4 ] = max.y; vertices[ 5 ] = max.z;
|
|
|
|
|
|
- vertices[ 18 ] = max.x; vertices[ 19 ] = min.y; vertices[ 20 ] = max.z;
|
|
|
- vertices[ 21 ] = max.x; vertices[ 22 ] = max.y; vertices[ 23 ] = max.z;
|
|
|
+ vertices[ 6 ] = min.x; vertices[ 7 ] = max.y; vertices[ 8 ] = max.z;
|
|
|
+ vertices[ 9 ] = min.x; vertices[ 10 ] = min.y; vertices[ 11 ] = max.z;
|
|
|
|
|
|
- //
|
|
|
+ vertices[ 12 ] = min.x; vertices[ 13 ] = min.y; vertices[ 14 ] = max.z;
|
|
|
+ vertices[ 15 ] = max.x; vertices[ 16 ] = min.y; vertices[ 17 ] = max.z;
|
|
|
|
|
|
- vertices[ 24 ] = max.x; vertices[ 25 ] = max.y; vertices[ 26 ] = min.z;
|
|
|
- vertices[ 27 ] = min.x; vertices[ 28 ] = max.y; vertices[ 29 ] = min.z;
|
|
|
+ vertices[ 18 ] = max.x; vertices[ 19 ] = min.y; vertices[ 20 ] = max.z;
|
|
|
+ vertices[ 21 ] = max.x; vertices[ 22 ] = max.y; vertices[ 23 ] = max.z;
|
|
|
|
|
|
- vertices[ 30 ] = min.x; vertices[ 31 ] = max.y; vertices[ 32 ] = min.z;
|
|
|
- vertices[ 33 ] = min.x; vertices[ 34 ] = min.y; vertices[ 35 ] = min.z;
|
|
|
+ //
|
|
|
|
|
|
- vertices[ 36 ] = min.x; vertices[ 37 ] = min.y; vertices[ 38 ] = min.z;
|
|
|
- vertices[ 39 ] = max.x; vertices[ 40 ] = min.y; vertices[ 41 ] = min.z;
|
|
|
+ vertices[ 24 ] = max.x; vertices[ 25 ] = max.y; vertices[ 26 ] = min.z;
|
|
|
+ vertices[ 27 ] = min.x; vertices[ 28 ] = max.y; vertices[ 29 ] = min.z;
|
|
|
|
|
|
- vertices[ 42 ] = max.x; vertices[ 43 ] = min.y; vertices[ 44 ] = min.z;
|
|
|
- vertices[ 45 ] = max.x; vertices[ 46 ] = max.y; vertices[ 47 ] = min.z;
|
|
|
+ vertices[ 30 ] = min.x; vertices[ 31 ] = max.y; vertices[ 32 ] = min.z;
|
|
|
+ vertices[ 33 ] = min.x; vertices[ 34 ] = min.y; vertices[ 35 ] = min.z;
|
|
|
|
|
|
- //
|
|
|
+ vertices[ 36 ] = min.x; vertices[ 37 ] = min.y; vertices[ 38 ] = min.z;
|
|
|
+ vertices[ 39 ] = max.x; vertices[ 40 ] = min.y; vertices[ 41 ] = min.z;
|
|
|
|
|
|
- vertices[ 48 ] = max.x; vertices[ 49 ] = max.y; vertices[ 50 ] = max.z;
|
|
|
- vertices[ 51 ] = max.x; vertices[ 52 ] = max.y; vertices[ 53 ] = min.z;
|
|
|
+ vertices[ 42 ] = max.x; vertices[ 43 ] = min.y; vertices[ 44 ] = min.z;
|
|
|
+ vertices[ 45 ] = max.x; vertices[ 46 ] = max.y; vertices[ 47 ] = min.z;
|
|
|
|
|
|
- vertices[ 54 ] = min.x; vertices[ 55 ] = max.y; vertices[ 56 ] = max.z;
|
|
|
- vertices[ 57 ] = min.x; vertices[ 58 ] = max.y; vertices[ 59 ] = min.z;
|
|
|
+ //
|
|
|
|
|
|
- vertices[ 60 ] = min.x; vertices[ 61 ] = min.y; vertices[ 62 ] = max.z;
|
|
|
- vertices[ 63 ] = min.x; vertices[ 64 ] = min.y; vertices[ 65 ] = min.z;
|
|
|
+ vertices[ 48 ] = max.x; vertices[ 49 ] = max.y; vertices[ 50 ] = max.z;
|
|
|
+ vertices[ 51 ] = max.x; vertices[ 52 ] = max.y; vertices[ 53 ] = min.z;
|
|
|
|
|
|
- vertices[ 66 ] = max.x; vertices[ 67 ] = min.y; vertices[ 68 ] = max.z;
|
|
|
- vertices[ 69 ] = max.x; vertices[ 70 ] = min.y; vertices[ 71 ] = min.z;
|
|
|
+ vertices[ 54 ] = min.x; vertices[ 55 ] = max.y; vertices[ 56 ] = max.z;
|
|
|
+ vertices[ 57 ] = min.x; vertices[ 58 ] = max.y; vertices[ 59 ] = min.z;
|
|
|
|
|
|
- this.geometry.attributes.position.needsUpdate = true;
|
|
|
+ vertices[ 60 ] = min.x; vertices[ 61 ] = min.y; vertices[ 62 ] = max.z;
|
|
|
+ vertices[ 63 ] = min.x; vertices[ 64 ] = min.y; vertices[ 65 ] = min.z;
|
|
|
|
|
|
- this.geometry.computeBoundingSphere();
|
|
|
+ vertices[ 66 ] = max.x; vertices[ 67 ] = min.y; vertices[ 68 ] = max.z;
|
|
|
+ vertices[ 69 ] = max.x; vertices[ 70 ] = min.y; vertices[ 71 ] = min.z;
|
|
|
|
|
|
-};
|
|
|
+ this.geometry.attributes.position.needsUpdate = true;
|
|
|
+
|
|
|
+ this.geometry.computeBoundingSphere();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+} )();
|