diff --git a/src/math/Box3.js b/src/math/Box3.js index 8784d7b2aedd88ea4951cc0a082277b0d25d7476..1b8623412ed9042cb8ae9f2db608417a5d20fb1f 100644 --- a/src/math/Box3.js +++ b/src/math/Box3.js @@ -384,7 +384,7 @@ Object.assign( Box3.prototype, { } - return ( min <= plane.constant && max >= plane.constant ); + return ( min <= -plane.constant && max >= -plane.constant ); }, diff --git a/test/unit/src/math/Box3.tests.js b/test/unit/src/math/Box3.tests.js index bd8a7a41bf423ba9de518ab18f84f3b3e3cccccb..ffb41b57a162812cad45f4abd70e52c8d62dc9e2 100644 --- a/test/unit/src/math/Box3.tests.js +++ b/test/unit/src/math/Box3.tests.js @@ -409,10 +409,22 @@ export default QUnit.module( 'Maths', () => { var b = new Plane( new Vector3( 0, 1, 0 ), 1 ); var c = new Plane( new Vector3( 0, 1, 0 ), 1.25 ); var d = new Plane( new Vector3( 0, - 1, 0 ), 1.25 ); - - assert.ok( a.intersectsPlane( b ), "Passed!" ); + var e = new Plane( new Vector3( 0, 1, 0 ), 0.25 ); + var f = new Plane( new Vector3( 0, 1, 0 ), -0.25 ); + var g = new Plane( new Vector3( 0, 1, 0 ), -0.75 ); + var h = new Plane( new Vector3( 0, 1, 0 ), -1 ); + var i = new Plane( new Vector3( 1, 1, 1 ).normalize(), -1.732 ); + var j = new Plane( new Vector3( 1, 1, 1 ).normalize(), -1.733 ); + + assert.ok( ! a.intersectsPlane( b ), "Passed!" ); assert.ok( ! a.intersectsPlane( c ), "Passed!" ); assert.ok( ! a.intersectsPlane( d ), "Passed!" ); + assert.ok( ! a.intersectsPlane( e ), "Passed!" ); + assert.ok( a.intersectsPlane( f ), "Passed!" ); + assert.ok( a.intersectsPlane( g ), "Passed!" ); + assert.ok( a.intersectsPlane( h ), "Passed!" ); + assert.ok( a.intersectsPlane( i ), "Passed!" ); + assert.ok( ! a.intersectsPlane( j ), "Passed!" ); } );