diff --git a/src/main/java/org/orekit/rugged/utils/DSGenerator.java b/src/main/java/org/orekit/rugged/utils/DSGenerator.java index 8cdbd1a2c65b5dfa14abdb675264bb7937ca4eaa..d757e2ea6fcb5a873f88a1eb549f41b2e5cf94ac 100644 --- a/src/main/java/org/orekit/rugged/utils/DSGenerator.java +++ b/src/main/java/org/orekit/rugged/utils/DSGenerator.java @@ -1,4 +1,4 @@ -/* Copyright 2013-2017 CS Systèmes d'Information +/* Copyright 2013-2016 CS Systèmes d'Information * Licensed to CS Systèmes d'Information (CS) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. @@ -16,9 +16,10 @@ */ package org.orekit.rugged.utils; +import java.util.List; + import org.hipparchus.analysis.differentiation.DerivativeStructure; import org.orekit.utils.ParameterDriver; -import org.orekit.utils.ParameterDriversList; /** Generator for {@link DerivativeStructure} instances from {@link ParameterDriver}. * <p> @@ -32,7 +33,7 @@ public interface DSGenerator { /** Get the parameters selected for estimation. * @return parameters selected for estimation */ - ParameterDriversList getSelected(); + List<ParameterDriver> getSelected(); /** Generate a constant {@link DerivativeStructure}. * @param value value of the constant diff --git a/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java b/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java index 895596a465d25085cb2701546b787a54f759f805..946e1f0d9c027303989f128c4bcb885547488765 100644 --- a/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java +++ b/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java @@ -46,7 +46,6 @@ import org.orekit.rugged.los.TimeDependentLOS; import org.orekit.rugged.utils.DSGenerator; import org.orekit.time.AbsoluteDate; import org.orekit.utils.ParameterDriver; -import org.orekit.utils.ParameterDriversList; public class FixedRotationTest { @@ -157,19 +156,16 @@ public class FixedRotationTest { new Vector3D(rvg.nextVector()), 2 * FastMath.PI * rng.nextNormalizedDouble() / FastMath.sqrt(3))); TimeDependentLOS tdl = builder.build(); - final ParameterDriversList selected = new ParameterDriversList(); - final List<ParameterDriver> list = tdl.getParametersDrivers().collect(Collectors.toList()); - for (final ParameterDriver driver : list) { + final List<ParameterDriver> selected = tdl.getParametersDrivers().collect(Collectors.toList()); + for (final ParameterDriver driver : selected) { driver.setSelected(true); - selected.add(driver); } - final DSFactory factoryS = new DSFactory(selected.size(), 1); DSGenerator generator = new DSGenerator() { /** {@inheritDoc} */ @Override - public ParameterDriversList getSelected() { + public List<ParameterDriver> getSelected() { return selected; } @@ -186,17 +182,14 @@ public class FixedRotationTest { for (ParameterDriver d : getSelected()) { if (d == driver) { return factoryS.variable(index, driver.getValue()); - } ++index; } return constant(driver.getValue()); - } }; - Assert.assertEquals(3, generator.getSelected().getNbParams()); - + Assert.assertEquals(3, generator.getSelected().size()); FiniteDifferencesDifferentiator differentiator = new FiniteDifferencesDifferentiator(4, 0.001); @@ -228,7 +221,6 @@ public class FixedRotationTest { Assert.assertEquals(los.getX(), losDS.getX().getValue(), 2.0e-15); Assert.assertEquals(los.getY(), losDS.getY().getValue(), 2.0e-15); Assert.assertEquals(los.getZ(), losDS.getZ().getValue(), 2.0e-15); - //System.out.format("derivate %f", losDS.getX().getPartialDerivative(orders)); Assert.assertEquals(mDS[i][0].getPartialDerivative(1), losDS.getX().getPartialDerivative(orders), 2.0e-12); Assert.assertEquals(mDS[i][1].getPartialDerivative(1), losDS.getY().getPartialDerivative(orders), 2.0e-12); Assert.assertEquals(mDS[i][2].getPartialDerivative(1), losDS.getZ().getPartialDerivative(orders), 2.0e-12); diff --git a/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java b/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java index c24a4f48ea51eb5830a196af714fd5a5e2851279..2734af05eefd0d8ec6036be4de04915112746dd2 100644 --- a/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java +++ b/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java @@ -47,7 +47,6 @@ import org.orekit.rugged.los.TimeDependentLOS; import org.orekit.rugged.utils.DSGenerator; import org.orekit.time.AbsoluteDate; import org.orekit.utils.ParameterDriver; -import org.orekit.utils.ParameterDriversList; public class PolynomialRotationTest { @@ -173,19 +172,16 @@ public class PolynomialRotationTest { 2 * FastMath.PI * rng.nextNormalizedDouble() / FastMath.sqrt(3), 1.0e-4 * 2 * FastMath.PI * rng.nextNormalizedDouble() / FastMath.sqrt(3))); TimeDependentLOS tdl = builder.build(); - final ParameterDriversList selected = new ParameterDriversList(); - final List<ParameterDriver> list = tdl.getParametersDrivers().collect(Collectors.toList()); - for (final ParameterDriver driver : list) { + final List<ParameterDriver> selected = tdl.getParametersDrivers().collect(Collectors.toList()); + for (final ParameterDriver driver : selected) { driver.setSelected(true); - selected.add(driver); } - final DSFactory factoryS = new DSFactory(selected.size(), 1); DSGenerator generator = new DSGenerator() { /** {@inheritDoc} */ @Override - public ParameterDriversList getSelected() { + public List<ParameterDriver> getSelected() { return selected; } @@ -206,19 +202,18 @@ public class PolynomialRotationTest { ++index; } return constant(driver.getValue()); - } }; - Assert.assertEquals(7, generator.getSelected().getNbParams()); + Assert.assertEquals(7, generator.getSelected().size()); FiniteDifferencesDifferentiator differentiator = new FiniteDifferencesDifferentiator(4, 0.0001); int index = 0; DSFactory factory11 = new DSFactory(1, 1); final AbsoluteDate date = AbsoluteDate.J2000_EPOCH.shiftedBy(7.0); - for (final ParameterDriver driver : selected.getDrivers()) { - int[] orders = new int[selected.getNbParams()]; + for (final ParameterDriver driver : selected) { + int[] orders = new int[selected.size()]; orders[index] = 1; UnivariateDifferentiableMatrixFunction f = differentiator.differentiate((UnivariateMatrixFunction) x -> {