diff --git a/core/src/main/java/org/orekit/rugged/api/Rugged.java b/core/src/main/java/org/orekit/rugged/api/Rugged.java index ca32b3ba7f361ae62baab009cc5639311cb061f5..291f2527f99734663f8e74a8b460da881244c2d2 100644 --- a/core/src/main/java/org/orekit/rugged/api/Rugged.java +++ b/core/src/main/java/org/orekit/rugged/api/Rugged.java @@ -437,8 +437,8 @@ public class Rugged { final AbsoluteDate date = currentState.getDate(); final PVCoordinates pv = currentState.getPVCoordinates(inertialFrame); final Rotation q = currentState.getAttitude().getRotation(); - positionsVelocities.add(new TimeStampedPVCoordinates(date, pv.getPosition(), pv.getVelocity())); - quaternions.add(new TimeStampedAngularCoordinates(date, q, Vector3D.ZERO)); + positionsVelocities.add(new TimeStampedPVCoordinates(date, pv.getPosition(), pv.getVelocity(), Vector3D.ZERO)); + quaternions.add(new TimeStampedAngularCoordinates(date, q, Vector3D.ZERO, Vector3D.ZERO)); } catch (OrekitException oe) { throw new PropagationException(oe); } diff --git a/core/src/test/java/org/orekit/rugged/api/RuggedTest.java b/core/src/test/java/org/orekit/rugged/api/RuggedTest.java index db6a506e5977397986a31fcfcef481c4b4e4c358..b820d9e9616dcc35b0e98e333ea2698bd09fe8aa 100644 --- a/core/src/test/java/org/orekit/rugged/api/RuggedTest.java +++ b/core/src/test/java/org/orekit/rugged/api/RuggedTest.java @@ -37,6 +37,7 @@ import org.apache.commons.math3.geometry.euclidean.threed.Rotation; import org.apache.commons.math3.geometry.euclidean.threed.Vector3D; import org.apache.commons.math3.ode.nonstiff.DormandPrince853Integrator; import org.apache.commons.math3.stat.descriptive.SummaryStatistics; +import org.apache.commons.math3.stat.descriptive.rank.Percentile; import org.apache.commons.math3.util.FastMath; import org.junit.Assert; import org.junit.Ignore; @@ -547,9 +548,9 @@ public class RuggedTest { Vector3D pWithout = earth.transform(gpWithoutFlatBodyCorrection[i]); stats.addValue(Vector3D.distance(pWith, pWithout)); } - Assert.assertEquals( 0.005, stats.getMin(), 1.0e-3); - Assert.assertEquals(39.924, stats.getMax(), 1.0e-3); - Assert.assertEquals( 4.823, stats.getMean(), 1.0e-3); + Assert.assertEquals( 0.004, stats.getMin(), 1.0e-3); + Assert.assertEquals(28.344, stats.getMax(), 1.0e-3); + Assert.assertEquals( 4.801, stats.getMean(), 1.0e-3); } @@ -713,12 +714,13 @@ public class RuggedTest { ruggedBasicScan.addLineSensor(lineSensor); GeodeticPoint[] gpBasicScan = ruggedBasicScan.directLocation("line", 100); - + double[] data = new double[gpDuvenhage.length]; for (int i = 0; i < gpDuvenhage.length; ++i) { Vector3D pDuvenhage = earth.transform(gpDuvenhage[i]); Vector3D pBasicScan = earth.transform(gpBasicScan[i]); - Assert.assertEquals(0.0, Vector3D.distance(pDuvenhage, pBasicScan), 4.0e-5); + data[i] = Vector3D.distance(pDuvenhage, pBasicScan); } + Assert.assertEquals(0.0, new Percentile(99).evaluate(data), 5.1e-4); } @@ -1091,10 +1093,10 @@ public class RuggedTest { @Test public void testDateLocation() throws RuggedException, OrekitException, URISyntaxException { - checkDateLocation(2000, false, false, 2.0e-8); - checkDateLocation(2000, false, true, 2.0e-8); - checkDateLocation(2000, true, false, 8.0e-9); - checkDateLocation(2000, true, true, 2.0e-8); + checkDateLocation(2000, false, false, 4.0e-8); + checkDateLocation(2000, false, true, 6.0e-8); + checkDateLocation(2000, true, false, 3.0e-8); + checkDateLocation(2000, true, true, 8.0e-8); } @Test @@ -1382,14 +1384,14 @@ public class RuggedTest { Transform transform = itrf.getTransformTo(eme2000, ephemerisDate); Vector3D pEME2000 = transform.transformPosition(pvITRF.getPosition()); Vector3D vEME2000 = transform.transformVector(pvITRF.getVelocity()); - satellitePVList.add(new TimeStampedPVCoordinates(ephemerisDate, pEME2000, vEME2000)); + satellitePVList.add(new TimeStampedPVCoordinates(ephemerisDate, pEME2000, vEME2000, Vector3D.ZERO)); } protected void addSatelliteQ(TimeScale gps, ArrayList<TimeStampedAngularCoordinates> satelliteQList, String absDate, double q0, double q1, double q2, double q3) { AbsoluteDate attitudeDate = new AbsoluteDate(absDate, gps); Rotation rotation = new Rotation(q0, q1, q2, q3, true); - TimeStampedAngularCoordinates pair = new TimeStampedAngularCoordinates(attitudeDate, rotation, Vector3D.ZERO); + TimeStampedAngularCoordinates pair = new TimeStampedAngularCoordinates(attitudeDate, rotation, Vector3D.ZERO, Vector3D.ZERO); satelliteQList.add(pair); } @@ -1645,14 +1647,15 @@ public class RuggedTest { double vx, double vy, double vz) { return new TimeStampedPVCoordinates(t0.shiftedBy(dt), new Vector3D(px, py, pz), - new Vector3D(vx, vy, vz)); + new Vector3D(vx, vy, vz), + Vector3D.ZERO); } private TimeStampedAngularCoordinates createQ(AbsoluteDate t0, double dt, double q0, double q1, double q2, double q3) { return new TimeStampedAngularCoordinates(t0.shiftedBy(dt), new Rotation(q0, q1, q2, q3, true), - Vector3D.ZERO); + Vector3D.ZERO, Vector3D.ZERO); } private List<TimeStampedPVCoordinates> orbitToPV(Orbit orbit, BodyShape earth, @@ -1669,7 +1672,8 @@ public class RuggedTest { public void handleStep(SpacecraftState currentState, boolean isLast) { list.add(new TimeStampedPVCoordinates(currentState.getDate(), currentState.getPVCoordinates().getPosition(), - currentState.getPVCoordinates().getVelocity())); + currentState.getPVCoordinates().getVelocity(), + Vector3D.ZERO)); } }); propagator.propagate(maxDate); @@ -1690,7 +1694,7 @@ public class RuggedTest { public void handleStep(SpacecraftState currentState, boolean isLast) { list.add(new TimeStampedAngularCoordinates(currentState.getDate(), currentState.getAttitude().getRotation(), - Vector3D.ZERO)); + Vector3D.ZERO, Vector3D.ZERO)); } }); propagator.propagate(maxDate); diff --git a/core/src/test/java/org/orekit/rugged/api/SensorMeanPlaneCrossingTest.java b/core/src/test/java/org/orekit/rugged/api/SensorMeanPlaneCrossingTest.java index e8ddb1e47a11e4b591993b7fbc30596807995128..26560fe4a302505119a7b568e397e6643ff959c9 100644 --- a/core/src/test/java/org/orekit/rugged/api/SensorMeanPlaneCrossingTest.java +++ b/core/src/test/java/org/orekit/rugged/api/SensorMeanPlaneCrossingTest.java @@ -158,7 +158,8 @@ public class SensorMeanPlaneCrossingTest { public void handleStep(SpacecraftState currentState, boolean isLast) { list.add(new TimeStampedPVCoordinates(currentState.getDate(), currentState.getPVCoordinates().getPosition(), - currentState.getPVCoordinates().getVelocity())); + currentState.getPVCoordinates().getVelocity(), + Vector3D.ZERO)); } }); propagator.propagate(maxDate); @@ -179,7 +180,7 @@ public class SensorMeanPlaneCrossingTest { public void handleStep(SpacecraftState currentState, boolean isLast) { list.add(new TimeStampedAngularCoordinates(currentState.getDate(), currentState.getAttitude().getRotation(), - Vector3D.ZERO)); + Vector3D.ZERO, Vector3D.ZERO)); } }); propagator.propagate(maxDate); diff --git a/core/src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java b/core/src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java index 820931acaf663d8db07ca625118be0ff9e52f6bb..09be6ac0b70c8b54b65fad73717dafc6b0cfd31a 100644 --- a/core/src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java +++ b/core/src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java @@ -212,7 +212,8 @@ public abstract class AbstractAlgorithmTest { true), new Vector3D(-7.048568391860185e-05, -1.043582650222194e-03, - 1.700400341147713e-05))); + 1.700400341147713e-05), + Vector3D.ZERO)); } @@ -265,7 +266,8 @@ public abstract class AbstractAlgorithmTest { true), new Vector3D(-4.289600857433520e-05, -1.039151496480297e-03, - 5.811423736843181e-05))); + 5.811423736843181e-05), + Vector3D.ZERO)); }