Forráskód Böngészése

Tests: Added target parameter to Box2/Box3

Mugen87 7 éve
szülő
commit
3e0b55200d
2 módosított fájl, 158 hozzáadás és 67 törlés
  1. 68 29
      test/unit/src/math/Box2.tests.js
  2. 90 38
      test/unit/src/math/Box3.tests.js

+ 68 - 29
test/unit/src/math/Box2.tests.js

@@ -113,65 +113,87 @@ export default QUnit.module( 'Maths', () => {
 		QUnit.test( "getCenter", ( assert ) => {
 
 			var a = new Box2( zero2.clone(), zero2.clone() );
+			var center = new Vector2();
 
-			assert.ok( a.getCenter().equals( zero2 ), "Passed!" );
+			a.getCenter( center );
+			assert.ok( center.equals( zero2 ), "Passed!" );
 
 			var a = new Box2( zero2, one2 );
 			var midpoint = one2.clone().multiplyScalar( 0.5 );
-			assert.ok( a.getCenter().equals( midpoint ), "Passed!" );
+			a.getCenter( center );
+			assert.ok( center.equals( midpoint ), "Passed!" );
 
 		} );
 
 		QUnit.test( "getSize", ( assert ) => {
 
 			var a = new Box2( zero2.clone(), zero2.clone() );
+			var size = new Vector2();
 
-			assert.ok( a.getSize().equals( zero2 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( zero2 ), "Passed!" );
 
 			var a = new Box2( zero2.clone(), one2.clone() );
-			assert.ok( a.getSize().equals( one2 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( one2 ), "Passed!" );
 
 		} );
 
 		QUnit.test( "expandByPoint", ( assert ) => {
 
 			var a = new Box2( zero2.clone(), zero2.clone() );
+			var size = new Vector2();
+			var center = new Vector2();
 
 			a.expandByPoint( zero2 );
-			assert.ok( a.getSize().equals( zero2 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( zero2 ), "Passed!" );
 
 			a.expandByPoint( one2 );
-			assert.ok( a.getSize().equals( one2 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( one2 ), "Passed!" );
 
 			a.expandByPoint( one2.clone().negate() );
-			assert.ok( a.getSize().equals( one2.clone().multiplyScalar( 2 ) ), "Passed!" );
-			assert.ok( a.getCenter().equals( zero2 ), "Passed!" );
+			a.getSize( size );
+			a.getCenter( center );
+			assert.ok( size.equals( one2.clone().multiplyScalar( 2 ) ), "Passed!" );
+			assert.ok( center.equals( zero2 ), "Passed!" );
 
 		} );
 
 		QUnit.test( "expandByVector", ( assert ) => {
 
 			var a = new Box2( zero2.clone(), zero2.clone() );
+			var size = new Vector2();
+			var center = new Vector2();
 
 			a.expandByVector( zero2 );
-			assert.ok( a.getSize().equals( zero2 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( zero2 ), "Passed!" );
 
 			a.expandByVector( one2 );
-			assert.ok( a.getSize().equals( one2.clone().multiplyScalar( 2 ) ), "Passed!" );
-			assert.ok( a.getCenter().equals( zero2 ), "Passed!" );
+			a.getSize( size );
+			a.getCenter( center );
+			assert.ok( size.equals( one2.clone().multiplyScalar( 2 ) ), "Passed!" );
+			assert.ok( center.equals( zero2 ), "Passed!" );
 
 		} );
 
 		QUnit.test( "expandByScalar", ( assert ) => {
 
 			var a = new Box2( zero2.clone(), zero2.clone() );
+			var size = new Vector2();
+			var center = new Vector2();
 
 			a.expandByScalar( 0 );
-			assert.ok( a.getSize().equals( zero2 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( zero2 ), "Passed!" );
 
 			a.expandByScalar( 1 );
-			assert.ok( a.getSize().equals( one2.clone().multiplyScalar( 2 ) ), "Passed!" );
-			assert.ok( a.getCenter().equals( zero2 ), "Passed!" );
+			a.getSize( size );
+			a.getCenter( center );
+			assert.ok( size.equals( one2.clone().multiplyScalar( 2 ) ), "Passed!" );
+			assert.ok( center.equals( zero2 ), "Passed!" );
 
 		} );
 
@@ -210,12 +232,19 @@ export default QUnit.module( 'Maths', () => {
 			var a = new Box2( zero2.clone(), one2.clone() );
 			var b = new Box2( one2.clone().negate(), one2.clone() );
 
-			assert.ok( a.getParameter( new Vector2( 0, 0 ) ).equals( new Vector2( 0, 0 ) ), "Passed!" );
-			assert.ok( a.getParameter( new Vector2( 1, 1 ) ).equals( new Vector2( 1, 1 ) ), "Passed!" );
+			var parameter = new Vector2();
 
-			assert.ok( b.getParameter( new Vector2( - 1, - 1 ) ).equals( new Vector2( 0, 0 ) ), "Passed!" );
-			assert.ok( b.getParameter( new Vector2( 0, 0 ) ).equals( new Vector2( 0.5, 0.5 ) ), "Passed!" );
-			assert.ok( b.getParameter( new Vector2( 1, 1 ) ).equals( new Vector2( 1, 1 ) ), "Passed!" );
+			a.getParameter( zero2, parameter );
+			assert.ok( parameter.equals( zero2 ), "Passed!" );
+			a.getParameter( one2, parameter );
+			assert.ok( parameter.equals( one2 ), "Passed!" );
+
+			b.getParameter( one2.clone().negate(), parameter );
+			assert.ok( parameter.equals( zero2 ), "Passed!" );
+			b.getParameter( zero2, parameter );
+			assert.ok( parameter.equals( new Vector2( 0.5, 0.5 ) ), "Passed!" );
+			b.getParameter( one2, parameter );
+			assert.ok( parameter.equals( one2 ), "Passed!" );
 
 		} );
 
@@ -233,7 +262,7 @@ export default QUnit.module( 'Maths', () => {
 			assert.ok( c.intersectsBox( a ), "Passed!" );
 			assert.ok( b.intersectsBox( c ), "Passed!" );
 
-			b.translate( new Vector2( 2, 2 ) );
+			b.translate( two2 );
 			assert.ok( ! a.intersectsBox( b ), "Passed!" );
 			assert.ok( ! b.intersectsBox( a ), "Passed!" );
 			assert.ok( ! b.intersectsBox( c ), "Passed!" );
@@ -245,15 +274,25 @@ export default QUnit.module( 'Maths', () => {
 			var a = new Box2( zero2.clone(), zero2.clone() );
 			var b = new Box2( one2.clone().negate(), one2.clone() );
 
-			assert.ok( a.clampPoint( new Vector2( 0, 0 ) ).equals( new Vector2( 0, 0 ) ), "Passed!" );
-			assert.ok( a.clampPoint( new Vector2( 1, 1 ) ).equals( new Vector2( 0, 0 ) ), "Passed!" );
-			assert.ok( a.clampPoint( new Vector2( - 1, - 1 ) ).equals( new Vector2( 0, 0 ) ), "Passed!" );
-
-			assert.ok( b.clampPoint( new Vector2( 2, 2 ) ).equals( new Vector2( 1, 1 ) ), "Passed!" );
-			assert.ok( b.clampPoint( new Vector2( 1, 1 ) ).equals( new Vector2( 1, 1 ) ), "Passed!" );
-			assert.ok( b.clampPoint( new Vector2( 0, 0 ) ).equals( new Vector2( 0, 0 ) ), "Passed!" );
-			assert.ok( b.clampPoint( new Vector2( - 1, - 1 ) ).equals( new Vector2( - 1, - 1 ) ), "Passed!" );
-			assert.ok( b.clampPoint( new Vector2( - 2, - 2 ) ).equals( new Vector2( - 1, - 1 ) ), "Passed!" );
+			var point = new Vector2();
+
+			a.clampPoint( zero2, point );
+			assert.ok( point.equals( new Vector2( 0, 0 ) ), "Passed!" );
+			a.clampPoint( one2, point );
+			assert.ok( point.equals( new Vector2( 0, 0 ) ), "Passed!" );
+			a.clampPoint( one2.clone().negate(), point );
+			assert.ok( point.equals( new Vector2( 0, 0 ) ), "Passed!" );
+
+			b.clampPoint( two2, point );
+			assert.ok( point.equals( new Vector2( 1, 1 ) ), "Passed!" );
+			b.clampPoint( one2, point );
+			assert.ok( point.equals( new Vector2( 1, 1 ) ), "Passed!" );
+			b.clampPoint( zero2, point );
+			assert.ok( point.equals( new Vector2( 0, 0 ) ), "Passed!" );
+			b.clampPoint( one2.clone().negate(), point );
+			assert.ok( point.equals( new Vector2( - 1, - 1 ) ), "Passed!" );
+			b.clampPoint( two2.clone().negate(), point );
+			assert.ok( point.equals( new Vector2( - 1, - 1 ) ), "Passed!" );
 
 		} );
 

+ 90 - 38
test/unit/src/math/Box3.tests.js

@@ -122,20 +122,31 @@ export default QUnit.module( 'Maths', () => {
 
 			var a = new Box3( zero3.clone(), one3.clone() );
 			var b = a.clone();
+			var centerA = new Vector3();
+			var sizeA = new Vector3();
+			var sizeB = new Vector3();
 			var newCenter = one3;
 			var newSize = two3;
 
-			a.setFromCenterAndSize( a.getCenter(), a.getSize() );
+			a.getCenter( centerA );
+			a.getSize( sizeA );
+			a.setFromCenterAndSize( centerA, sizeA );
 			assert.ok( a.equals( b ), "Same values: no changes" );
 
-			a.setFromCenterAndSize( newCenter, a.getSize() );
-			assert.ok( a.getCenter().equals( newCenter ), "Move center: correct new center" );
-			assert.ok( a.getSize().equals( b.getSize() ), "Move center: no change in size" );
+			a.setFromCenterAndSize( newCenter, sizeA );
+			a.getCenter( centerA );
+			a.getSize( sizeA );
+			b.getSize( sizeB );
+
+			assert.ok( centerA.equals( newCenter ), "Move center: correct new center" );
+			assert.ok( sizeA.equals( sizeB ), "Move center: no change in size" );
 			assert.notOk( a.equals( b ), "Move center: no longer equal to old values" );
 
-			a.setFromCenterAndSize( a.getCenter(), newSize );
-			assert.ok( a.getCenter().equals( newCenter ), "Resize: no change to center" );
-			assert.ok( a.getSize().equals( newSize ), "Resize: correct new size" );
+			a.setFromCenterAndSize( centerA, newSize );
+			a.getCenter( centerA );
+			a.getSize( sizeA );
+			assert.ok( centerA.equals( newCenter ), "Resize: no change to center" );
+			assert.ok( sizeA.equals( newSize ), "Resize: correct new size" );
 			assert.notOk( a.equals( b ), "Resize: no longer equal to old values" );
 
 		} );
@@ -197,65 +208,87 @@ export default QUnit.module( 'Maths', () => {
 		QUnit.test( "getCenter", ( assert ) => {
 
 			var a = new Box3( zero3.clone(), zero3.clone() );
+			var center = new Vector3();
 
-			assert.ok( a.getCenter().equals( zero3 ), "Passed!" );
+			a.getCenter( center );
+			assert.ok( center.equals( zero3 ), "Passed!" );
 
 			var a = new Box3( zero3.clone(), one3.clone() );
+			a.getCenter( center );
 			var midpoint = one3.clone().multiplyScalar( 0.5 );
-			assert.ok( a.getCenter().equals( midpoint ), "Passed!" );
+			assert.ok( center.equals( midpoint ), "Passed!" );
 
 		} );
 
 		QUnit.test( "getSize", ( assert ) => {
 
 			var a = new Box3( zero3.clone(), zero3.clone() );
+			var size = new Vector3();
 
-			assert.ok( a.getSize().equals( zero3 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( zero3 ), "Passed!" );
 
 			var a = new Box3( zero3.clone(), one3.clone() );
-			assert.ok( a.getSize().equals( one3 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( one3 ), "Passed!" );
 
 		} );
 
 		QUnit.test( "expandByPoint", ( assert ) => {
 
 			var a = new Box3( zero3.clone(), zero3.clone() );
+			var center = new Vector3();
+			var size = new Vector3();
 
 			a.expandByPoint( zero3 );
-			assert.ok( a.getSize().equals( zero3 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( zero3 ), "Passed!" );
 
 			a.expandByPoint( one3 );
-			assert.ok( a.getSize().equals( one3 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( one3 ), "Passed!" );
 
 			a.expandByPoint( one3.clone().negate() );
-			assert.ok( a.getSize().equals( one3.clone().multiplyScalar( 2 ) ), "Passed!" );
-			assert.ok( a.getCenter().equals( zero3 ), "Passed!" );
+			a.getCenter( center );
+			a.getSize( size );
+			assert.ok( size.equals( one3.clone().multiplyScalar( 2 ) ), "Passed!" );
+			assert.ok( center.equals( zero3 ), "Passed!" );
 
 		} );
 
 		QUnit.test( "expandByVector", ( assert ) => {
 
 			var a = new Box3( zero3.clone(), zero3.clone() );
+			var center = new Vector3();
+			var size = new Vector3();
 
 			a.expandByVector( zero3 );
-			assert.ok( a.getSize().equals( zero3 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( zero3 ), "Passed!" );
 
 			a.expandByVector( one3 );
-			assert.ok( a.getSize().equals( one3.clone().multiplyScalar( 2 ) ), "Passed!" );
-			assert.ok( a.getCenter().equals( zero3 ), "Passed!" );
+			a.getCenter( center );
+			a.getSize( size );
+			assert.ok( size.equals( one3.clone().multiplyScalar( 2 ) ), "Passed!" );
+			assert.ok( center.equals( zero3 ), "Passed!" );
 
 		} );
 
 		QUnit.test( "expandByScalar", ( assert ) => {
 
 			var a = new Box3( zero3.clone(), zero3.clone() );
+			var center = new Vector3();
+			var size = new Vector3();
 
 			a.expandByScalar( 0 );
-			assert.ok( a.getSize().equals( zero3 ), "Passed!" );
+			a.getSize( size );
+			assert.ok( size.equals( zero3 ), "Passed!" );
 
 			a.expandByScalar( 1 );
-			assert.ok( a.getSize().equals( one3.clone().multiplyScalar( 2 ) ), "Passed!" );
-			assert.ok( a.getCenter().equals( zero3 ), "Passed!" );
+			a.getCenter( center );
+			a.getSize( size );
+			assert.ok( size.equals( one3.clone().multiplyScalar( 2 ) ), "Passed!" );
+			assert.ok( center.equals( zero3 ), "Passed!" );
 
 		} );
 
@@ -335,13 +368,19 @@ export default QUnit.module( 'Maths', () => {
 
 			var a = new Box3( zero3.clone(), one3.clone() );
 			var b = new Box3( one3.clone().negate(), one3.clone() );
+			var parameter = new Vector3();
 
-			assert.ok( a.getParameter( new Vector3( 0, 0, 0 ) ).equals( new Vector3( 0, 0, 0 ) ), "Passed!" );
-			assert.ok( a.getParameter( new Vector3( 1, 1, 1 ) ).equals( new Vector3( 1, 1, 1 ) ), "Passed!" );
+			a.getParameter( zero3, parameter );
+			assert.ok( parameter.equals( zero3 ), "Passed!" );
+			a.getParameter( one3, parameter );
+			assert.ok( parameter.equals( one3 ), "Passed!" );
 
-			assert.ok( b.getParameter( new Vector3( - 1, - 1, - 1 ) ).equals( new Vector3( 0, 0, 0 ) ), "Passed!" );
-			assert.ok( b.getParameter( new Vector3( 0, 0, 0 ) ).equals( new Vector3( 0.5, 0.5, 0.5 ) ), "Passed!" );
-			assert.ok( b.getParameter( new Vector3( 1, 1, 1 ) ).equals( new Vector3( 1, 1, 1 ) ), "Passed!" );
+			b.getParameter( one3.clone().negate(), parameter );
+			assert.ok( parameter.equals( zero3 ), "Passed!" );
+			b.getParameter( zero3, parameter );
+			assert.ok( parameter.equals( new Vector3( 0.5, 0.5, 0.5 ) ), "Passed!" );
+			b.getParameter( one3, parameter );
+			assert.ok( parameter.equals( one3 ), "Passed!" );
 
 		} );
 
@@ -412,16 +451,25 @@ export default QUnit.module( 'Maths', () => {
 
 			var a = new Box3( zero3.clone(), zero3.clone() );
 			var b = new Box3( one3.clone().negate(), one3.clone() );
+			var point = new Vector3();
 
-			assert.ok( a.clampPoint( new Vector3( 0, 0, 0 ) ).equals( new Vector3( 0, 0, 0 ) ), "Passed!" );
-			assert.ok( a.clampPoint( new Vector3( 1, 1, 1 ) ).equals( new Vector3( 0, 0, 0 ) ), "Passed!" );
-			assert.ok( a.clampPoint( new Vector3( - 1, - 1, - 1 ) ).equals( new Vector3( 0, 0, 0 ) ), "Passed!" );
+			a.clampPoint( zero3, point );
+			assert.ok( point.equals( zero3 ), "Passed!" );
+			a.clampPoint( one3, point );
+			assert.ok( point.equals( zero3 ), "Passed!" );
+			a.clampPoint( one3.clone().negate(), point );
+			assert.ok( point.equals( zero3 ), "Passed!" );
 
-			assert.ok( b.clampPoint( new Vector3( 2, 2, 2 ) ).equals( new Vector3( 1, 1, 1 ) ), "Passed!" );
-			assert.ok( b.clampPoint( new Vector3( 1, 1, 1 ) ).equals( new Vector3( 1, 1, 1 ) ), "Passed!" );
-			assert.ok( b.clampPoint( new Vector3( 0, 0, 0 ) ).equals( new Vector3( 0, 0, 0 ) ), "Passed!" );
-			assert.ok( b.clampPoint( new Vector3( - 1, - 1, - 1 ) ).equals( new Vector3( - 1, - 1, - 1 ) ), "Passed!" );
-			assert.ok( b.clampPoint( new Vector3( - 2, - 2, - 2 ) ).equals( new Vector3( - 1, - 1, - 1 ) ), "Passed!" );
+			b.clampPoint( new Vector3( 2, 2, 2 ), point );
+			assert.ok( point.equals( one3 ), "Passed!" );
+			b.clampPoint( one3, point );
+			assert.ok( point.equals( one3 ), "Passed!" );
+			b.clampPoint( zero3, point );
+			assert.ok( point.equals( zero3 ), "Passed!" );
+			b.clampPoint( one3.clone().negate(), point );
+			assert.ok( point.equals( one3.clone().negate() ), "Passed!" );
+			b.clampPoint( new Vector3( - 2, - 2, - 2 ), point );
+			assert.ok( point.equals( one3.clone().negate() ), "Passed!" );
 
 		} );
 
@@ -447,10 +495,14 @@ export default QUnit.module( 'Maths', () => {
 			var a = new Box3( zero3.clone(), zero3.clone() );
 			var b = new Box3( zero3.clone(), one3.clone() );
 			var c = new Box3( one3.clone().negate(), one3.clone() );
-
-			assert.ok( a.getBoundingSphere().equals( new Sphere( zero3, 0 ) ), "Passed!" );
-			assert.ok( b.getBoundingSphere().equals( new Sphere( one3.clone().multiplyScalar( 0.5 ), Math.sqrt( 3 ) * 0.5 ) ), "Passed!" );
-			assert.ok( c.getBoundingSphere().equals( new Sphere( zero3, Math.sqrt( 12 ) * 0.5 ) ), "Passed!" );
+			var sphere = new Sphere();
+
+			a.getBoundingSphere( sphere );
+			assert.ok( sphere.equals( new Sphere( zero3, 0 ) ), "Passed!" );
+			b.getBoundingSphere( sphere );
+			assert.ok( sphere.equals( new Sphere( one3.clone().multiplyScalar( 0.5 ), Math.sqrt( 3 ) * 0.5 ) ), "Passed!" );
+			c.getBoundingSphere( sphere );
+			assert.ok( sphere.equals( new Sphere( zero3, Math.sqrt( 12 ) * 0.5 ) ), "Passed!" );
 
 		} );