Commit 2ae7846e authored by Luc Maisonobe's avatar Luc Maisonobe
Browse files

Merge branch 'develop' into issue-474

parents d1ae9fcc 565ecfec
stages:
- verify
- visualize
- deploy
default:
......@@ -39,6 +40,25 @@ verify:
junit:
- target/surefire-reports/*.xml
# Convert and import in GitLab coverage data.
# The information is then available directly in merge-request view.
# Cf. https://docs.gitlab.com/ee/user/project/merge_requests/test_coverage_visualization.html
coverage-import:
stage: visualize
image: haynes/jacoco2cobertura:1.0.4
script:
# convert report from jacoco to cobertura
- 'python /opt/cover2cover.py target/site/jacoco/jacoco.xml src/main/java > target/site/cobertura.xml'
# read the <source></source> tag and prepend the path to every filename attribute
- 'python /opt/source2filename.py target/site/cobertura.xml'
needs:
- verify
dependencies:
- verify
artifacts:
reports:
cobertura: target/site/cobertura.xml
# On main branches (develop, release-*, master)
# the produced artifacts are deployed on the Nexus of the project
# (https://packages.orekit.org/)
......
......@@ -10,8 +10,8 @@ quick studies up to critical operations. As a library, Orekit provides basic
elements (orbits, dates, attitude, frames, ...) and various algorithms to
handle them (conversions, propagations, pointing, ...).
[![](https://sonar.orekit.org/api/project_badges/measure?project=org.orekit%3Aorekit&metric=alert_status)](https://sonar.orekit.org/dashboard?id=org.orekit%3Aorekit)
[![](https://sonar.orekit.org/api/project_badges/measure?project=org.orekit%3Aorekit&metric=coverage)](https://sonar.orekit.org/dashboard?id=org.orekit%3Aorekit)
[![](https://sonar.orekit.org/api/project_badges/measure?project=orekit%3Aorekit&metric=alert_status)](https://sonar.orekit.org/dashboard?id=org.orekit%3Aorekit)
[![](https://sonar.orekit.org/api/project_badges/measure?project=orekit%3Aorekit&metric=coverage)](https://sonar.orekit.org/dashboard?id=org.orekit%3Aorekit)
## Download
......
......@@ -2,7 +2,7 @@
<project name="orekit" default="jar" basedir=".">
<property name="project.version" value="10.3" />
<property name="project.version" value="11.0-SNAPSHOT" />
<property name="src.dir" location="src" />
<property name="main.src.dir" value="${src.dir}/main/java" />
......@@ -18,7 +18,7 @@
<property name="lib.dir" location="lib" />
<property name="hipparchus.version" value="1.8" />
<property name="hipparchus.version" value="2.0-SNAPSHOT" />
<property name="hipparchus.core.jar" value="hipparchus-core-${hipparchus.version}.jar" />
<property name="hipparchus.geometry.jar" value="hipparchus-geometry-${hipparchus.version}.jar" />
<property name="hipparchus.ode.jar" value="hipparchus-ode-${hipparchus.version}.jar" />
......
......@@ -50,7 +50,7 @@
<orekit.maven-install-plugin.version>3.0.0-M1</orekit.maven-install-plugin.version>
<orekit.mathjax.config>&lt;script type=&quot;text/x-mathjax-config&quot;&gt;MathJax.Hub.Config({ TeX: { extensions: [&quot;autoload.js&quot;]}});&lt;/script&gt;</orekit.mathjax.config>
<orekit.mathjax.enable>&lt;script type=&quot;text/javascript&quot; src=&quot;https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS_CHTML&quot;&gt;&lt;/script&gt;</orekit.mathjax.enable>
<orekit.hipparchus.version>1.9-SNAPSHOT</orekit.hipparchus.version>
<orekit.hipparchus.version>2.0-SNAPSHOT</orekit.hipparchus.version>
<orekit.junit.version>4.13.1</orekit.junit.version>
<orekit.compiler.source>1.8</orekit.compiler.source>
<orekit.compiler.target>1.8</orekit.compiler.target>
......
......@@ -21,9 +21,18 @@
</properties>
<body>
<release version="11.0" date="TBD" description="TBD">
<action dev="bryan" type="update" issue="784">
Updated architecture of GNSS orbit propagators.
</action>
<action dev="bryan" type="update" issue="782">
Updated error message of Orekit internal error exception.
</action>
<action dev="luc" type="add">
Added support for reading and writing CCSDS NDM composite messages.
</action>
<action dev="afossa" type="fix" issue="781">
Fixed parsing in buildLine2() method of FieldTLE.
</action>
<action dev="luc" type="fix" issue="776">
Fixed associativity in units parsing.
</action>
......
......@@ -40,7 +40,7 @@
Field<T> getField()
}
interface "RealFieldElement<T>" as RealFieldElement_T_ {
interface "CalculusFieldElement<T>" as CalculusFieldElement_T_ {
T sin()
T cos()
...
......@@ -69,13 +69,13 @@
+double taylor(double[] delta)
}
FieldElement_T_ <.. RealFieldElement_T_
RealFieldElement_T_ <.. DerivativeStructure
FieldElement_T_ <.. CalculusFieldElement_T_
CalculusFieldElement_T_ <.. DerivativeStructure
DSFactory --> DerivativeStructure : creates
}
package util #DDEBD8 {
RealFieldElement_T_ <.. Tuple
CalculusFieldElement_T_ <.. Tuple
}
}
......@@ -83,7 +83,7 @@
package org.orekit.propagation #ECEBD8 {
interface "FieldPropagator<T>" as FieldPropagator_T_ {
}
RealFieldElement_T_ <-- FieldPropagator_T_
CalculusFieldElement_T_ <-- FieldPropagator_T_
}
@enduml
......@@ -21,7 +21,7 @@ import java.util.Map.Entry;
import java.util.NavigableMap;
import java.util.TreeMap;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.orekit.errors.OrekitException;
import org.orekit.errors.OrekitMessages;
import org.orekit.frames.Frame;
......@@ -88,7 +88,7 @@ public class AggregateBoundedAttitudeProvider implements BoundedAttitudeProvider
/** {@inheritDoc} */
@Override
public <T extends RealFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
public <T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
final FieldAbsoluteDate<T> date, final Frame frame) {
// Get the attitude provider for the given date
......
......@@ -16,7 +16,7 @@
*/
package org.orekit.attitudes;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.orekit.frames.Frame;
import org.orekit.utils.FieldPVCoordinatesProvider;
import org.orekit.utils.PVCoordinatesProvider;
......@@ -49,7 +49,7 @@ public interface AttitudeBuilder {
* @return filtered attitude
* @param <T> the type of the field elements
*/
<T extends RealFieldElement<T>> FieldAttitude<T> build(Frame frame,
<T extends CalculusFieldElement<T>> FieldAttitude<T> build(Frame frame,
FieldPVCoordinatesProvider<T> pvProv,
TimeStampedFieldAngularCoordinates<T> rawAttitude);
......
......@@ -16,7 +16,7 @@
*/
package org.orekit.attitudes;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.orekit.frames.Frame;
import org.orekit.time.AbsoluteDate;
import org.orekit.time.FieldAbsoluteDate;
......@@ -47,7 +47,7 @@ public interface AttitudeProvider {
* @return attitude attitude on the specified date and position-velocity state
* @since 9.0
*/
<T extends RealFieldElement<T>> FieldAttitude<T> getAttitude(FieldPVCoordinatesProvider<T> pvProv,
<T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude(FieldPVCoordinatesProvider<T> pvProv,
FieldAbsoluteDate<T> date,
Frame frame);
}
......@@ -22,7 +22,7 @@ import java.util.List;
import java.util.Map;
import org.hipparchus.Field;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.hipparchus.ode.events.Action;
import org.orekit.errors.OrekitException;
import org.orekit.errors.OrekitMessages;
......@@ -133,7 +133,7 @@ public class AttitudesSequence implements AttitudeProvider {
* @param propagator propagator that will handle the events
* @param <T> type of the field elements
*/
public <T extends RealFieldElement<T>> void registerSwitchEvents(final Field<T> field, final FieldPropagator<T> propagator) {
public <T extends CalculusFieldElement<T>> void registerSwitchEvents(final Field<T> field, final FieldPropagator<T> propagator) {
for (final Switch<?> sw : switches) {
propagator.addEventDetector(new FieldEventDetector<T>() {
......@@ -293,7 +293,7 @@ public class AttitudesSequence implements AttitudeProvider {
}
/** {@inheritDoc} */
public <T extends RealFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
public <T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
final FieldAbsoluteDate<T> date,
final Frame frame) {
return activated.get(date.toAbsoluteDate()).getAttitude(pvProv, date, frame);
......@@ -502,7 +502,7 @@ public class AttitudesSequence implements AttitudeProvider {
}
/** {@inheritDoc} */
public <S extends RealFieldElement<S>> FieldAttitude<S> getAttitude(final FieldPVCoordinatesProvider<S> pvProv,
public <S extends CalculusFieldElement<S>> FieldAttitude<S> getAttitude(final FieldPVCoordinatesProvider<S> pvProv,
final FieldAbsoluteDate<S> date,
final Frame frame) {
......
......@@ -16,7 +16,7 @@
*/
package org.orekit.attitudes;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
import org.hipparchus.geometry.euclidean.threed.Vector3D;
import org.hipparchus.util.FastMath;
......@@ -101,7 +101,7 @@ public class BodyCenterPointing extends GroundPointing {
}
/** {@inheritDoc} */
public <T extends RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> getTargetPV(final FieldPVCoordinatesProvider<T> pvProv,
public <T extends CalculusFieldElement<T>> TimeStampedFieldPVCoordinates<T> getTargetPV(final FieldPVCoordinatesProvider<T> pvProv,
final FieldAbsoluteDate<T> date, final Frame frame) {
// spacecraft coordinates in body frame
......
......@@ -17,7 +17,7 @@
package org.orekit.attitudes;
import org.hipparchus.Field;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.hipparchus.geometry.euclidean.threed.FieldRotation;
import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
import org.hipparchus.geometry.euclidean.threed.Rotation;
......@@ -138,7 +138,7 @@ public class CelestialBodyPointed implements AttitudeProvider {
}
/** {@inheritDoc} */
public <T extends RealFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
public <T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
final FieldAbsoluteDate<T> date,
final Frame frame) {
......
......@@ -21,7 +21,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.hipparchus.Field;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.hipparchus.geometry.euclidean.threed.FieldRotation;
import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
import org.hipparchus.geometry.euclidean.threed.Rotation;
......@@ -55,7 +55,7 @@ import org.orekit.utils.TimeStampedFieldAngularCoordinates;
* @author V&eacute;ronique Pommier-Maurussane
*/
public class FieldAttitude<T extends RealFieldElement<T>>
public class FieldAttitude<T extends CalculusFieldElement<T>>
implements FieldTimeStamped<T>, FieldTimeShiftable<FieldAttitude<T>, T>, FieldTimeInterpolable<FieldAttitude<T>, T> {
......
......@@ -16,7 +16,7 @@
*/
package org.orekit.attitudes;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.orekit.frames.FieldTransform;
import org.orekit.frames.Frame;
import org.orekit.frames.Transform;
......@@ -63,7 +63,7 @@ public class FixedFrameBuilder implements AttitudeBuilder {
/** {@inheritDoc} */
@Override
public <T extends RealFieldElement<T>> FieldAttitude<T>
public <T extends CalculusFieldElement<T>> FieldAttitude<T>
build(final Frame frame, final FieldPVCoordinatesProvider<T> pvProv,
final TimeStampedFieldAngularCoordinates<T> rawAttitude) {
......
......@@ -17,7 +17,7 @@
package org.orekit.attitudes;
import org.hipparchus.Field;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.orekit.frames.Frame;
import org.orekit.time.AbsoluteDate;
import org.orekit.time.FieldAbsoluteDate;
......@@ -54,7 +54,7 @@ public class FixedRate implements AttitudeProvider {
}
/** {@inheritDoc} */
public <T extends RealFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
public <T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
final FieldAbsoluteDate<T> date,
final Frame frame) {
final Field<T> field = date.getField();
......
......@@ -16,7 +16,7 @@
*/
package org.orekit.attitudes;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
import org.hipparchus.geometry.euclidean.threed.Vector3D;
import org.hipparchus.util.FastMath;
......@@ -110,7 +110,7 @@ public abstract class GroundPointing implements AttitudeProvider {
* in specified frame
* @since 9.0
*/
public abstract <T extends RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> getTargetPV(FieldPVCoordinatesProvider<T> pvProv,
public abstract <T extends CalculusFieldElement<T>> TimeStampedFieldPVCoordinates<T> getTargetPV(FieldPVCoordinatesProvider<T> pvProv,
FieldAbsoluteDate<T> date,
Frame frame);
......@@ -155,7 +155,7 @@ public abstract class GroundPointing implements AttitudeProvider {
}
/** {@inheritDoc} */
public <T extends RealFieldElement<T>>FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
public <T extends CalculusFieldElement<T>>FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
final FieldAbsoluteDate<T> date,
final Frame frame) {
......
......@@ -16,7 +16,7 @@
*/
package org.orekit.attitudes;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.hipparchus.geometry.euclidean.threed.Rotation;
import org.orekit.annotation.DefaultDataContext;
import org.orekit.data.DataContext;
......@@ -94,7 +94,7 @@ public class InertialProvider implements AttitudeProvider {
}
/** {@inheritDoc} */
public <T extends RealFieldElement<T>>FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
public <T extends CalculusFieldElement<T>>FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
final FieldAbsoluteDate<T> date, final Frame frame) {
final FieldTransform<T> t = frame.getTransformTo(satelliteFrame, date);
return new FieldAttitude<>(date, frame, t.getRotation(), t.getRotationRate(), t.getRotationAcceleration());
......
......@@ -16,7 +16,7 @@
*/
package org.orekit.attitudes;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.hipparchus.geometry.euclidean.threed.FieldRotation;
import org.hipparchus.geometry.euclidean.threed.Rotation;
import org.hipparchus.geometry.euclidean.threed.RotationConvention;
......@@ -134,7 +134,7 @@ public class LofOffset implements AttitudeProvider {
}
/** {@inheritDoc} */
public <T extends RealFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
public <T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
final FieldAbsoluteDate<T> date,
final Frame frame) {
......
......@@ -19,7 +19,7 @@ package org.orekit.attitudes;
import java.util.ArrayList;
import java.util.List;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.hipparchus.geometry.euclidean.threed.FieldLine;
import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
import org.hipparchus.geometry.euclidean.threed.Line;
......@@ -86,7 +86,7 @@ public class LofOffsetPointing extends GroundPointing {
/** {@inheritDoc} */
@Override
public <T extends RealFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
public <T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude(final FieldPVCoordinatesProvider<T> pvProv,
final FieldAbsoluteDate<T> date, final Frame frame) {
return attitudeLaw.getAttitude(pvProv, date, frame);
}
......@@ -129,7 +129,7 @@ public class LofOffsetPointing extends GroundPointing {
}
/** {@inheritDoc} */
public <T extends RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> getTargetPV(final FieldPVCoordinatesProvider<T> pvProv,
public <T extends CalculusFieldElement<T>> TimeStampedFieldPVCoordinates<T> getTargetPV(final FieldPVCoordinatesProvider<T> pvProv,
final FieldAbsoluteDate<T> date,
final Frame frame) {
......@@ -205,7 +205,7 @@ public class LofOffsetPointing extends GroundPointing {
* @param <T> type of the field elements
* @return intersection point in body frame (only the position is set!)
*/
private <T extends RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> losIntersectionWithBody(final FieldTransform<T> scToBody) {
private <T extends CalculusFieldElement<T>> TimeStampedFieldPVCoordinates<T> losIntersectionWithBody(final FieldTransform<T> scToBody) {
// compute satellite pointing axis and position/velocity in body frame
final FieldVector3D<T> pointingBodyFrame = scToBody.transformVector(satPointingVector);
......
......@@ -19,7 +19,7 @@ package org.orekit.attitudes;
import java.util.ArrayList;
import java.util.List;
import org.hipparchus.RealFieldElement;
import org.hipparchus.CalculusFieldElement;
import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
import org.hipparchus.geometry.euclidean.threed.Vector3D;
import org.orekit.bodies.BodyShape;
......@@ -86,7 +86,7 @@ public class NadirPointing extends GroundPointing {
}
/** {@inheritDoc} */
public <T extends RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> getTargetPV(final FieldPVCoordinatesProvider<T> pvProv,
public <T extends CalculusFieldElement<T>> TimeStampedFieldPVCoordinates<T> getTargetPV(final FieldPVCoordinatesProvider<T> pvProv,
final FieldAbsoluteDate<T> date,
final Frame frame) {
......@@ -139,7 +139,7 @@ public class NadirPointing extends GroundPointing {
* @return intersection point in body frame (only the position is set!)
* @since 9.0
*/
private <T extends RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> nadirRef(final TimeStampedFieldPVCoordinates<T> scRef,
private <T extends CalculusFieldElement<T>> TimeStampedFieldPVCoordinates<T> nadirRef(final TimeStampedFieldPVCoordinates<T> scRef,
final FieldTransform<T> refToBody) {
final FieldVector3D<T> satInBodyFrame = refToBody.transformPosition(scRef.getPosition());
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment