@Override public void integrate( final float d) { li.integrate(d); ai.integrate(d); }
@Override public JCameraSphericalReadableType integratorGetCamera() { return li.integratorGetCamera(); }
@Override public void integratorLinearTargetSetAcceleration( final float a) { li.integratorLinearTargetSetAcceleration(a); }
@Test public final void testMovingBackward_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingBackwardKey(true); d.integratorLinearTargetSetMaximumSpeed(1.0f); d.integratorLinearTargetSetAcceleration(1.0f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(0.0f, 0.0f, 18.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
d.integratorLinearZoomSetMaximumSpeed(1.0f); d.integratorLinearZoomSetAcceleration(1.0f); d.integratorLinearZoomSetDrag(0.0f); d.integrate(1.0f); d.integrate(1.0f);
d.integratorLinearTargetSetMaximumSpeed(1.0f); d.integratorLinearTargetSetAcceleration(1.0f); d.integratorLinearTargetSetDrag(0.0f); d.integrate(1.0f); d.integrate(1.0f);
@Test public final void testZoomingIn_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setZoomingIn(true); d.integratorLinearZoomSetAcceleration(1.0f); d.integratorLinearZoomSetMaximumSpeed(1.0f); d.integrate(5.0f); { final VectorI3F expected = new VectorI3F(0.0f, 0.0f, 3.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
final JCameraSphericalLinearIntegratorType li) if (ai.integratorGetCamera() != li.integratorGetCamera()) { throw new IllegalArgumentException( "Angular integrator camera does not match linear integrator camera"); if (ai.integratorGetInput() != li.integratorGetInput()) { throw new IllegalArgumentException( "Angular integrator input does not match linear integrator input");
@Override public void integratorLinearZoomSetAcceleration( final float a) { li.integratorLinearZoomSetAcceleration(a); }
@Override public void integratorLinearZoomSetMaximumSpeed( final float s) { li.integratorLinearZoomSetMaximumSpeed(s); } };
@Override public void integratorLinearTargetSetMaximumSpeed( final float s) { li.integratorLinearTargetSetMaximumSpeed(s); }
@Override public void integratorLinearZoomSetDrag( final float f) { li.integratorLinearZoomSetDrag(f); }
@Override public void integratorLinearTargetSetDrag( final float f) { li.integratorLinearTargetSetDrag(f); }
@Test public final void testInput_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); Assert.assertEquals(i, d.integratorGetInput()); }
@Test public final void testMovingDown_1() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingDown(true); d.integratorLinearTargetSetMaximumSpeed(0.5f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(0.0f, -5.0f, 8.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testZoomingOut_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setZoomingOut(true); d.integratorLinearZoomSetAcceleration(1.0f); d.integratorLinearZoomSetMaximumSpeed(1.0f); d.integrate(5.0f); { final VectorI3F expected = new VectorI3F(0.0f, 0.0f, 13.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } } }
final JCameraSphericalLinearIntegratorType li) if (ai.integratorGetCamera() != li.integratorGetCamera()) { throw new IllegalArgumentException( "Angular integrator camera does not match linear integrator camera"); if (ai.integratorGetInput() != li.integratorGetInput()) { throw new IllegalArgumentException( "Angular integrator input does not match linear integrator input");
@Override public void integratorLinearZoomSetAcceleration( final double a) { li.integratorLinearZoomSetAcceleration(a); }
@Override public void integratorLinearZoomSetMaximumSpeed( final double s) { li.integratorLinearZoomSetMaximumSpeed(s); } };
@Override public void integratorLinearTargetSetMaximumSpeed( final double s) { li.integratorLinearTargetSetMaximumSpeed(s); }