diff --git a/src/main/java/org/orekit/rugged/api/Rugged.java b/src/main/java/org/orekit/rugged/api/Rugged.java index a9dde86e29692bd30696ed8665cb52a3c015fea8..0e6a67a21bbc6063ee6256e03b92bc88ebf83ca4 100644 --- a/src/main/java/org/orekit/rugged/api/Rugged.java +++ b/src/main/java/org/orekit/rugged/api/Rugged.java @@ -302,8 +302,9 @@ public class Rugged { if (atmosphericRefraction != null) { // apply atmospheric refraction correction - gp[i] = atmosphericRefraction.applyCorrection(sensor.getPosition(), sensor.getLOS(date, i), - (NormalizedGeodeticPoint) gp[i], algorithm); + final Vector3D pBody = inertToBody.transformPosition(pInert); + final Vector3D lBody = inertToBody.transformVector(lInert); + gp[i] = atmosphericRefraction.applyCorrection(pBody, lBody, (NormalizedGeodeticPoint) gp[i], algorithm); } DumpManager.dumpDirectLocationResult(gp[i]); @@ -389,7 +390,9 @@ public class Rugged { final NormalizedGeodeticPoint result; if (atmosphericRefraction != null) { // apply atmospheric refraction correction - result = atmosphericRefraction.applyCorrection(position, los, gp, algorithm); + final Vector3D pBody = inertToBody.transformPosition(pInert); + final Vector3D lBody = inertToBody.transformVector(lInert); + result = atmosphericRefraction.applyCorrection(pBody, lBody, gp, algorithm); } else { // don't apply atmospheric refraction correction result = gp;