...
 
Commits (478)
Bruno Revelin <bruno.revelin@c-s.fr> Bruno Revelin <Bruno.Revelin@c-s.fr>
Evan Ward <evan.ward@nrl.navy.mil> Evan Ward <evan.ward@nrl.navy.mil>
Evan Ward <evan.ward@nrl.navy.mil> Evan Ward <nomail@nowhere.org>
Fabien Maussion <fabien@orekit.org> Fabien Maussion <fabien@orekit.org>
Francesco Rocca <francesco.rocca@telespazio.com> Francesco Rocca <>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <Luc.Maisonobe@free.fr>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <Luc.Maisonobe@orekit.org>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <luc@orekit.org>
Luc Maisonobe <luc@orekit.org> maisonobe <maisonobe@users.noreply.github.com>
Pascal Parraud <pascal@orekit.org> Pascal Parraud <pascal@orekit.org>
Romain di Costanzo <romain.di-costanzo@c-s.fr> rdicosta <romain.di-costanzo@c-s.fr>
Steven <sljkwsk@yahoo.com> Steven <sljkwsk@yahoo.com>
Thierry Ceolin <thierry.ceolin@c-s.fr> Thierry Ceolin <thierry@orekit.org>
Thierry Ceolin <thierry.ceolin@c-s.fr> thierry ceolin <thierry@orekit.org>
Thierry Ceolin <thierry.ceolin@c-s.fr> thierry ceolin <thierry.ceolin@c-s.fr>
Thomas Neidhart <thomas.neidhart@gmail.com> Thomas Neidhart <thomas.neidhart@gmail.com>
Véronique Pommier-Maurussane <vero@orekit.org> Véronique Pommier-Maurussane <vero@orekit.org>
Nicolas Bernard <nicolas.bernard@c-s.fr> Nicola Bernard <nicolas.bernard@c-s.fr>
Romain di Costanzo <romain.di-costanzo@c-s.fr> Romain Di Costanzo <romain.di-costanzo@c-s.fr>
Joris Olympio <joris.olympio@c-s.fr> jolympio <joris.olympio@c-s.fr>
Piotr Listkiewicz <piotr.listkiewicz@gmail.com> liscju <piotr.listkiewicz@gmail.com>
Albert Alcarraz García <albert.alcarraz-garcia@c-s.fr> Albert Alcarraz García <albert.alcarraz-garcia@c-s.fr>
Andrea Antolino <andrea.antolino@c-s.fr> Andrea Antolino <Andrea.Antolino@c-s.fr>
Andrea Antolino <andrea.antolino@c-s.fr> Andrea Antolino <andrea.antolino@c-s.fr>
Bruno Revelin <bruno.revelin@c-s.fr> Bruno Revelin <Bruno.Revelin@c-s.fr>
Bryan Cazabonne <bryan.cazabonne@c-s.fr> Bryan <bryan.cazabonne@c-s.com>
Bryan Cazabonne <bryan.cazabonne@c-s.fr> Bryan Cazabonne <bryan.cazabonne@c-s.fr>
Daniel De Sousa <dan.desousa@gmail.com> Daniel De Sousa <dan.desousa@gmail.com>
Evan Ward <evan.ward@nrl.navy.mil> Evan Ward <evan.ward@nrl.navy.mil>
Evan Ward <evan.ward@nrl.navy.mil> Evan Ward <nomail@nowhere.org>
Fabien Maussion <fabien@orekit.org> Fabien Maussion <fabien@orekit.org>
Francesco Rocca <francesco.rocca@telespazio.com> Francesco Rocca <>
Greg Carbott <gregory.carbott@nrl.navy.mil> Greg Carbott <gregory.carbott@nrl.navy.mil>
Guilhem Bonnefille <guilhem.bonnefille@c-s.fr> Guilhem Bonnefille <guilhem.bonnefille@c-s.fr>
Guylaine Prat <guylaine.prat@c-s.fr> Guylaine Prat <guylaine.prat@c-s.fr>
Hank Grabowski <hank@applieddefense.com> Hank Grabowski <hank@applieddefense.com>
Joris Olympio <joris.olympio@c-s.fr> Joris Olympio <joris.olympio@c-s.fr>
Joris Olympio <joris.olympio@c-s.fr> jolympio <joris.olympio@c-s.fr>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <Luc.Maisonobe@free.fr>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <Luc.Maisonobe@orekit.org>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <luc@orekit.org>
Luc Maisonobe <luc@orekit.org> maisonobe <maisonobe@users.noreply.github.com>
Lucian Barbulescu <lucian.barbulescu@c-s.ro> Lucian Barbulescu <lucian.barbulescu@c-s.ro>
Madalin Mamuleanu <mamuleanu.madalin@gmail.com> Madalin Mamuleanu <mamuleanu.madalin@gmail.com>
MaksimP <maksimp86@mail.ru> MaksimP <maksimp86@mail.ru>
Maxime Journot <maxime.journot@c-s.fr> Maxime Journot <Maxime.Journot@c-s.fr>
Maxime Journot <maxime.journot@c-s.fr> Maxime Journot <maxime.journot@c-s.fr>
Nicolas Bernard <nicolas.bernard@c-s.fr> Nicola Bernard <nicolas.bernard@c-s.fr>
Nicolas Bernard <nicolas.bernard@c-s.fr> Nicolas Bernard <nicolas.bernard@c-s.fr>
Pascal Parraud <pascal@orekit.org> Pascal Parraud <pascal@orekit.org>
Pavel Bludov <pbludov@gmail.com> Pavel Bludov <pbludov@gmail.com>
Piotr Listkiewicz <piotr.listkiewicz@gmail.com> Piotr Listkiewicz <piotr.listkiewicz@gmail.com>
Piotr Listkiewicz <piotr.listkiewicz@gmail.com> liscju <piotr.listkiewicz@gmail.com>
rnveach <rveach02@gmail.com> rnveach <rveach02@gmail.com>
Robert Painsi <robertpainsi@gmail.com> Robert Painsi <robertpainsi@gmail.com>
Romain di Costanzo <romain.di-costanzo@c-s.fr> Romain Di Costanzo <romain.di-costanzo@c-s.fr>
Romain di Costanzo <romain.di-costanzo@c-s.fr> rdicosta <romain.di-costanzo@c-s.fr>
Roman Ivanov <ivanov-jr@mail.ru> Roman Ivanov <ivanov-jr@mail.ru>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sebastien Dinot <sebastien.dinot@c-s.fr>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sebastien Dinot <sebastien@dinot.net>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sébastien Dinot <Sebastien.Dinot@c-s.fr>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sébastien Dinot <sebastien.dinot@c-s.fr>
Steven <sljkwsk@yahoo.com> Steven <sljkwsk@yahoo.com>
Steven Ports <steven.ports@c-s.fr> Steven Ports <steven.ports@c-s.fr>
Thierry Ceolin <thierry.ceolin@c-s.fr> Thierry Ceolin <thierry@orekit.org>
Thierry Ceolin <thierry.ceolin@c-s.fr> thierry ceolin <thierry.ceolin@c-s.fr>
Thierry Ceolin <thierry.ceolin@c-s.fr> thierry ceolin <thierry@orekit.org>
Thomas Neidhart <thomas.neidhart@gmail.com> Thomas Neidhart <thomas.neidhart@gmail.com>
Véronique Pommier-Maurussane <vero@orekit.org> Véronique Pommier-Maurussane <vero@orekit.org>
Yannick Jeandroz <yannick.jeandroz@airbus.com> Yannick Jeandroz <yannick.jeandroz@airbus.com>
# Contributing
This project is documented through a static site generated by Maven.
Contributing information is described in the
[contributing guidelines](src/site/markdown/contributing.md)
inside the Maven site.
......@@ -40,9 +40,21 @@ pipeline {
archiveArtifacts artifacts: 'target/*.zip', fingerprint: true
}
}
checkstyle pattern: 'target/checkstyle-result.xml'
junit 'target/surefire-reports/*.xml'
jacoco execPattern:'target/**.exec', classPattern: '**/classes', sourcePattern: '**/src/main/java'
junit testResults: '**/target/surefire-reports/*.xml'
jacoco execPattern: 'target/**.exec',
classPattern: '**/classes',
sourcePattern: '**/src/main/java',
exclusionPattern: 'fr/cs/examples/**/*.class',
changeBuildStatus: true,
minimumBranchCoverage: '80', maximumBranchCoverage: '85',
minimumClassCoverage: '95', maximumClassCoverage: '100',
minimumComplexityCoverage: '80', maximumComplexityCoverage: '85',
minimumInstructionCoverage: '85', maximumInstructionCoverage: '90',
minimumLineCoverage: '85', maximumLineCoverage: '90',
minimumMethodCoverage: '90', maximumMethodCoverage: '95'
recordIssues enabledForFailure: true, tools: [mavenConsole(), java(), javaDoc()]
recordIssues enabledForFailure: true, tool: checkStyle()
recordIssues enabledForFailure: true, tool: spotBugs()
}
}
}
![Orekit logo](https://www.orekit.org/img/orekit-logo.png)
# Orekit
> An accurate and efficient core layer for space flight dynamics applications
[Orekit](https://www.orekit.org) is a low level space dynamics library written
in Java. Orekit is designed to be easily used in very different contexts, from
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, ...).
## Download
### Official releases
[Official Orekit releases](https://gitlab.orekit.org/orekit/orekit/releases)
are available on our [Gitlab instance](https://gitlab.orekit.org/). They are
also available in the
[Maven repository](https://mvnrepository.com/artifact/org.orekit/orekit).
### Development version
To get the latest development version, please clone our official repository
and checkout the `develop` branch:
```bash
git clone -b develop https://gitlab.orekit.org/orekit/orekit.git
```
__Note:__ Our official repository is
[mirrored on Github](https://github.com/CS-SI/Orekit).
## Documentation
Project overview, architecture and development, detailed features list,
tutorials, Javadoc and a lot of other information is available on the
[Maven site](https://www.orekit.org/site-orekit-development/).
## Getting help
The main communication channel is our [forum](https://forum.orekit.org/). You
can report bugs and suggest new features in our
[issues tracking system](https://gitlab.orekit.org/orekit/orekit/issues). When
reporting security issues check the "This issue is confidential" box.
## Contributing
Orekit exists thanks to the contribution of
[many people](https://gitlab.orekit.org/orekit/orekit/graphs/develop).
Please take a look at our
[contributing guidelines](src/site/markdown/contributing.md) if you're
interested in helping!
## Building
Detailed information on how to build Orekit from source either using Maven or
Eclipse is provided in [building.md](src/site/markdown/building.md) file.
## Dependencies
Orekit relies on the following
[FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software) libraries,
all released under business friendly FOSS licenses.
### Compile-time/run-time dependencies
* [Hipparchus](https://hipparchus.org/), a mathematics library released under
the Apache License, version 2.0.
### Test-time dependencies
* [JUnit 4](http://www.junit.org/), a widely used unit test framework released
under the Eclipse Public License, version 1.0.
* [Mockito](https://site.mockito.org/), a mocking framework for unit tests,
released under MIT license.
More detailed information is available in the
[Maven site](https://www.orekit.org/site-orekit-development/dependencies.html).
## License
Orekit is licensed by [CS Systèmes d'Information](https://www.c-s.fr/) under
the [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).
A copy of this license is provided in the [LICENSE.txt](LICENSE.txt) file.
Orekit (ORbit Extrapolation KIT) is a free java library
providing basic space dynamics objects and services.
It is licensed by CS Systèmes d'Information under the
Apache License Version 2.0. A copy of this license is
provided in the LICENSE.txt file.
The BUILDING.txt file explains how the library can be built from sources.
The src/main/java directory contains the library sources.
The src/main/resources directory contains the library data.
The src/test/java directory contains the tests sources.
The src/test/resources directory contains the tests data.
The src/tutorials/java directory contains sources for example use of the library.
The src/tutorials/resources directory contains example data.
The src/design directory contains pieces for a UML model of the library.
Orekit relies on the following free software, all released under
business friendly free licenses.
compile-time/run-time dependency:
- Hipparchus from the Hipparchus project
https://hipparchus.org/
released under the Apache Software License, version 2
test-time dependency:
- JUnit 4 from Erich Gamma and Kent Beck
http://www.junit.org/
released under the Common Public License Version 1.0
......@@ -2,7 +2,7 @@
<project name="orekit" default="jar" basedir=".">
<property name="project.version" value="9.3-SNAPSHOT" />
<property name="project.version" value="10.0" />
<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.4" />
<property name="hipparchus.version" value="1.5" />
<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" />
......@@ -30,6 +30,17 @@
<property name="junit.version" value="4.12" />
<property name="junit.jar" value="junit-${junit.version}.jar" />
<property name="junit.maven.path" value="junit/junit" />
<property name="mockito.version" value="2.28.2" />
<property name="mockito.jar" value="mockito-core-${mockito.version}.jar" />
<property name="mockito.maven.path" value="org/mockito/mockito-core" />
<property name="bytebuddy.version" value="1.9.10" />
<property name="bytebuddy.jar" value="byte-buddy-${bytebuddy.version}.jar" />
<property name="bytebuddy.maven.path" value="net/bytebuddy/byte-buddy" />
<property name="bytebuddy.agent.jar" value="byte-buddy-agent-${bytebuddy.version}.jar" />
<property name="bytebuddy.agent.maven.path" value="net/bytebuddy/byte-buddy-agent" />
<property name="objenesis.version" value="2.6" />
<property name="objenesis.jar" value="objenesis-${objenesis.version}.jar" />
<property name="objenesis.maven.path" value="org/objenesis/objenesis" />
<property name="hamcrest.version" value="1.3" />
<property name="hamcrest.core.jar" value="hamcrest-core-${hamcrest.version}.jar" />
<property name="hamcrest.maven.path" value="org/hamcrest" />
......@@ -75,12 +86,20 @@
dest="${lib.dir}/${junit.jar}"/>
<get src="${maven.repository}/${hamcrest.maven.path}/hamcrest-core/${hamcrest.version}/${hamcrest.core.jar}"
dest="${lib.dir}/${hamcrest.core.jar}"/>
<get src="${maven.repository}/${mockito.maven.path}/${mockito.version}/${mockito.jar}"
dest="${lib.dir}/${mockito.jar}"/>
<get src="${maven.repository}/${bytebuddy.maven.path}/${bytebuddy.version}/${bytebuddy.jar}"
dest="${lib.dir}/${bytebuddy.jar}"/>
<get src="${maven.repository}/${bytebuddy.agent.maven.path}/${bytebuddy.version}/${bytebuddy.agent.jar}"
dest="${lib.dir}/${bytebuddy.agent.jar}"/>
<get src="${maven.repository}/${objenesis.maven.path}/${objenesis.version}/${objenesis.jar}"
dest="${lib.dir}/${objenesis.jar}"/>
</target>
<target name="compile" depends="get-libs" description="Compile the code">
<mkdir dir="${main.classes.dir}"/>
<javac srcdir="${main.src.dir}" destdir="${main.classes.dir}" includeantruntime="false"
classpath="${lib.dir}/${hipparchus.core.jar}:${lib.dir}/${hipparchus.geometry.jar}:${lib.dir}/${hipparchus.ode.jar}:${lib.dir}/${hipparchus.fitting.jar}:${lib.dir}/${hipparchus.optim.jar}:${lib.dir}/${hipparchus.stat.jar}"
classpath="${lib.dir}/${hipparchus.core.jar}:${lib.dir}/${hipparchus.geometry.jar}:${lib.dir}/${hipparchus.ode.jar}:${lib.dir}/${hipparchus.fitting.jar}:${lib.dir}/${hipparchus.optim.jar}:${lib.dir}/${hipparchus.stat.jar}:${lib.dir}/${hipparchus.filtering.jar}"
deprecation="true" target="1.8" source="1.8">
</javac>
<copy todir="${main.classes.dir}">
......@@ -91,8 +110,8 @@
<target name="compile-tests" depends="compile" description="Compile the test code" >
<mkdir dir="${test.classes.dir}"/>
<javac srcdir="${test.src.dir}" destdir="${test.classes.dir}" includeantruntime="false"
classpath="${main.classes.dir}:${lib.dir}/${junit.jar}:${lib.dir}/${hamcrest.core.jar}:${lib.dir}/${hipparchus.core.jar}:${lib.dir}/${hipparchus.geometry.jar}:${lib.dir}/${hipparchus.ode.jar}:${lib.dir}/${hipparchus.fitting.jar}:${lib.dir}/${hipparchus.optim.jar}:${lib.dir}/${hipparchus.filtering.jar}:${lib.dir}/${hipparchus.stat.jar}"
deprecation="true" target="1.8" source="1.8">
classpath="${main.classes.dir}:${lib.dir}/${junit.jar}:${lib.dir}/${hamcrest.core.jar}:${lib.dir}/${hipparchus.core.jar}:${lib.dir}/${hipparchus.geometry.jar}:${lib.dir}/${hipparchus.ode.jar}:${lib.dir}/${hipparchus.fitting.jar}:${lib.dir}/${hipparchus.optim.jar}:${lib.dir}/${hipparchus.filtering.jar}:${lib.dir}/${hipparchus.stat.jar}:${lib.dir}/${mockito.jar}"
deprecation="true" target="1.8" source="1.8">
</javac>
<copy todir="${test.classes.dir}">
<fileset dir="${test.resources.dir}"/>
......@@ -113,6 +132,11 @@
<pathelement location="${lib.dir}/${hipparchus.stat.jar}" />
<pathelement location="${lib.dir}/${junit.jar}" />
<pathelement location="${lib.dir}/${hamcrest.core.jar}" />
<pathelement location="${lib.dir}/${hipparchus.filtering.jar}"/>
<pathelement location="${lib.dir}/${mockito.jar}" />
<pathelement location="${lib.dir}/${objenesis.jar}" />
<pathelement location="${lib.dir}/${bytebuddy.jar}" />
<pathelement location="${lib.dir}/${bytebuddy.agent.jar}" />
</classpath>
<formatter type="plain" usefile="false"/>
<batchtest todir="${tests.reports}">
......
......@@ -43,7 +43,7 @@
<module name="MissingSwitchDefault"/>
<module name="ModifierOrder"/>
<module name="MultipleStringLiterals">
<property name="ignoreStringsRegexp" value='^(("")|("."))$'/>
<property name="ignoreStringsRegexp" value='^(("")|(".")|("\\\\"))$'/>
</module>
<module name="MultipleVariableDeclarations"/>
<module name="NoWhitespaceAfter"/>
......@@ -96,6 +96,11 @@
<property name="onCommentFormat" value="CHECKSTYLE\: resume MultipleStringLiterals check"/>
<property name="checkFormat" value="MultipleStringLiteralsCheck"/>
</module>
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE\: stop IllegalCatch check"/>
<property name="onCommentFormat" value="CHECKSTYLE\: resume IllegalCatch check"/>
<property name="checkFormat" value="IllegalCatchCheck"/>
</module>
</module>
<module name="RegexpHeader">
<property name="headerFile" value="${checkstyle.header.file}" />
......
......@@ -5,7 +5,7 @@
<groupId>org.orekit</groupId>
<artifactId>orekit</artifactId>
<packaging>jar</packaging>
<version>9.3.1</version>
<version>10.0</version>
<name>ORbit Extrapolation KIT</name>
<url>http://www.orekit.org/</url>
......@@ -20,33 +20,33 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<orekit.spotbugs-maven-plugin.version>3.1.7</orekit.spotbugs-maven-plugin.version>
<orekit.jacoco-maven-plugin.version>0.8.2</orekit.jacoco-maven-plugin.version>
<orekit.maven-assembly-plugin.version>3.1.0</orekit.maven-assembly-plugin.version>
<orekit.maven-bundle-plugin.version>4.1.0</orekit.maven-bundle-plugin.version>
<orekit.spotbugs-maven-plugin.version>3.1.12</orekit.spotbugs-maven-plugin.version>
<orekit.jacoco-maven-plugin.version>0.8.4</orekit.jacoco-maven-plugin.version>
<orekit.maven-assembly-plugin.version>3.1.1</orekit.maven-assembly-plugin.version>
<orekit.maven-bundle-plugin.version>4.2.0</orekit.maven-bundle-plugin.version>
<orekit.maven-changes-plugin.version>2.12.1</orekit.maven-changes-plugin.version>
<orekit.maven-checkstyle-plugin.version>3.0.0</orekit.maven-checkstyle-plugin.version>
<orekit.checkstyle.version>8.14</orekit.checkstyle.version>
<orekit.maven-checkstyle-plugin.version>3.1.0</orekit.maven-checkstyle-plugin.version>
<orekit.checkstyle.version>8.18</orekit.checkstyle.version>
<orekit.maven-clean-plugin.version>3.1.0</orekit.maven-clean-plugin.version>
<orekit.maven-compiler-plugin.version>3.8.0</orekit.maven-compiler-plugin.version>
<orekit.maven-javadoc-plugin.version>3.0.1</orekit.maven-javadoc-plugin.version>
<orekit.maven-jar-plugin.version>3.1.0</orekit.maven-jar-plugin.version>
<orekit.maven-compiler-plugin.version>3.8.1</orekit.maven-compiler-plugin.version>
<orekit.maven-javadoc-plugin.version>3.1.0</orekit.maven-javadoc-plugin.version>
<orekit.maven-jar-plugin.version>3.1.1</orekit.maven-jar-plugin.version>
<orekit.maven-jxr-plugin.version>3.0.0</orekit.maven-jxr-plugin.version>
<orekit.plantuml-maven-plugin.version>1.2</orekit.plantuml-maven-plugin.version>
<orekit.plantuml.version>1.2018.12</orekit.plantuml.version>
<orekit.maven-project-info-reports-plugin.version>3.0.0</orekit.maven-project-info-reports-plugin.version>
<orekit.maven-resources-plugin.version>3.1.0</orekit.maven-resources-plugin.version>
<orekit.maven-site-plugin.version>3.7.1</orekit.maven-site-plugin.version>
<orekit.maven-source-plugin.version>3.0.1</orekit.maven-source-plugin.version>
<orekit.maven-surefire-plugin.version>2.22.1</orekit.maven-surefire-plugin.version>
<orekit.maven-surefire-report-plugin.version>2.22.1</orekit.maven-surefire-report-plugin.version>
<orekit.mockito-core.version>2.23.0</orekit.mockito-core.version>
<orekit.maven-source-plugin.version>3.1.0</orekit.maven-source-plugin.version>
<orekit.maven-surefire-plugin.version>2.22.2</orekit.maven-surefire-plugin.version>
<orekit.maven-surefire-report-plugin.version>2.22.2</orekit.maven-surefire-report-plugin.version>
<orekit.mockito-core.version>2.28.2</orekit.mockito-core.version>
<orekit.jgit.buildnumber.version>1.2.10</orekit.jgit.buildnumber.version>
<orekit.build-helper-maven-plugin.version>3.0.0</orekit.build-helper-maven-plugin.version>
<orekit.nexus-staging-maven-plugin.version>1.6.8</orekit.nexus-staging-maven-plugin.version>
<orekit.maven-gpg-plugin.version>1.6</orekit.maven-gpg-plugin.version>
<orekit.maven-install-plugin.version>3.0.0-M1</orekit.maven-install-plugin.version>
<orekit.hipparchus.version>1.4</orekit.hipparchus.version>
<orekit.hipparchus.version>1.5</orekit.hipparchus.version>
<orekit.junit.version>4.12</orekit.junit.version>
<orekit.compiler.source>1.8</orekit.compiler.source>
<orekit.compiler.target>1.8</orekit.compiler.target>
......@@ -62,6 +62,13 @@
<role>developer</role>
</roles>
</developer>
<developer>
<name>Bryan Cazabonne</name>
<id>bryan</id>
<roles>
<role>developer</role>
</roles>
</developer>
<developer>
<name>Thierry Ceolin</name>
<id>thierry</id>
......@@ -170,13 +177,13 @@
<name>Petre Bazavan</name>
</contributor>
<contributor>
<name>Nicolas Bernard</name>
<name>Laurene Beauvalet</name>
</contributor>
<contributor>
<name>Espen Bj&#248;rntvedt</name>
<name>Nicolas Bernard</name>
</contributor>
<contributor>
<name>Bryan Cazabonne</name>
<name>Espen Bj&#248;rntvedt</name>
</contributor>
<contributor>
<name>Paul Cefola</name>
......@@ -184,12 +191,18 @@
<contributor>
<name>Francesco Coccoluto</name>
</contributor>
<contributor>
<name>Sébastien Dinot</name>
</contributor>
<contributor>
<name>&#201;douard Delente</name>
</contributor>
<contributor>
<name>Christine Fernandez-Martin</name>
</contributor>
<contributor>
<name>Romaric Her</name>
</contributor>
<contributor>
<name>James Housden</name>
</contributor>
......@@ -199,6 +212,9 @@
<contributor>
<name>Fran&#231;ois-Xavier Laffont</name>
</contributor>
<contributor>
<name>Vincent Mouraux</name>
</contributor>
<contributor>
<name>Lars N&#230;sbye Christensen</name>
</contributor>
......@@ -260,8 +276,6 @@
<groupId>org.hipparchus</groupId>
<artifactId>hipparchus-geometry</artifactId>
<version>${orekit.hipparchus.version}</version>
<type>jar</type>
<optional>false</optional>
</dependency>
<dependency>
<groupId>org.hipparchus</groupId>
......@@ -295,8 +309,6 @@
<groupId>org.hipparchus</groupId>
<artifactId>hipparchus-stat</artifactId>
<version>${orekit.hipparchus.version}</version>
<type>jar</type>
<optional>false</optional>
</dependency>
<!-- test dependencies -->
<dependency>
......@@ -627,7 +639,7 @@
<artifactId>maven-changes-plugin</artifactId>
<version>${orekit.maven-changes-plugin.version}</version>
<configuration>
<xmlPath>${basedir}/src/site/xdoc/changes.xml</xmlPath>
<teamlist>team.html</teamlist>
</configuration>
<reportSets>
<reportSet>
......@@ -658,6 +670,7 @@
<link>https://www.hipparchus.org/apidocs/</link>
</links>
<source>${orekit.compiler.source}</source>
<doclint>none</doclint>
</configuration>
<reportSets>
<reportSet>
......@@ -718,6 +731,16 @@
</profile>
<profile>
<id>release</id>
<distributionManagement>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
</repository>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
......@@ -787,6 +810,7 @@
<gpgArguments>
<arg>--digest-algo=SHA512</arg>
</gpgArguments>
<keyname>0802AB8C87B0B1AEC1C1C5871550FDBD6375C33B</keyname>
</configuration>
<executions>
<execution>
......
......@@ -50,6 +50,9 @@
<Class name="~.*\.TIRFProvider$" />
<Class name="~.*\.CartesianOrbit$" />
<Class name="~.*\.EstimatedEarthFrameProvider$" />
<Class name="~.*\.GNSSDate$" />
<Class name="~.*\.GLONASSDate$" />
<Class name="~.*\.PositionAngleDetector$" />
</Or>
<Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED" />
</Match>
......@@ -117,6 +120,65 @@
<Local name="epsPhi" />
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
</Match>
<Match>
<Class name="~.*\.RangeTroposphericDelayModifier$"/>
<Method name="modify" />
<Local name="djac" />
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
</Match>
<Match>
<Class name="~.*\.RangeRateTroposphericDelayModifier$"/>
<Method name="modify" />
<Local name="djac" />
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
</Match>
<Match>
<Class name="~.*\.TurnAroundRangeTroposphericDelayModifier$"/>
<Method name="modify" />
<Or>
<Local name="masterDjac" />
<Local name="slaveDjac" />
</Or>
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
</Match>
<Match>
<Class name="~.*\.IERSConventions\$1"/>
<Method name="getEOPTidalCorrection" />
<Or>
<Local name="deciMilliS" />
</Or>
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
</Match>
<Match>
<Class name="~.*\.IERSConventions\$1"/>
<Method name="getXYSpXY2Function" />
<Or>
<Local name="fYCosOm" />
<Local name="fYCos2FDOm" />
</Or>
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
</Match>
<Match>
<Class name="~.*\.IERSConventions\$1"/>
<Method name="getXYSpXY2Function" />
<Or>
<Local name="fST" />
<Local name="fST3" />
</Or>
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
</Match>
<Match>
<Class name="~.*\.IERSConventions\$2"/>
<Method name="getGASTFunction" />
<Local name="microAS" />
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
</Match>
<Match>
<Class name="~.*\.IERSConventions\$2"/>
<Method name="getSolidPoleTide" />
<Local name="xp0" />
<Bug pattern="DLS_DEAD_LOCAL_STORE" />
</Match>
<!-- the approximate constants do belong to the models -->
<Match>
......@@ -149,6 +211,11 @@
</Or>
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
</Match>
<Match>
<Class name="org.orekit.propagation.analytical.tle.TLE" />
<Method name="equals" params="java.lang.Object" returns="boolean" />
<Bug pattern="FE_FLOATING_POINT_EQUALITY" />
</Match>
<!-- The following internal representation exposure are intentional,
They are used to pass data back and forth between classes
......@@ -163,12 +230,20 @@
<Method name ="getAdditionalStateDot" params="" returns="double[]" />
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.orekit.estimation.measurements.gnss.AbstractLambdaReducer"/>
<Or>
<Method name ="getDiagReference" params="" returns="double[]" />
<Method name ="getLowReference" params="" returns="double[]" />
</Or>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Class name="org.orekit.forces.gravity.HolmesFeatherstoneAttractionModel$GradientHessian"/>
<Or>
<Method name="getGradient" params="" returns="double[]" />
<Method name="getHessian" params="" returns="double[][]" />
</Or>
</Or>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
......@@ -176,7 +251,13 @@
<Method name="&lt;init>" params="double[],double[][]" returns="void" />
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<!-- The following is a false positive from SpotBugs -->
<Match>
<Class name="org.orekit.estimation.measurements.gnss.IntegerLeastSquareSolution" />
<Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS" />
</Match>
<!-- the following is an intended switch fall-through in the SP3Parser -->
<Match>
<Class name="~.*\.SP3Parser$"/>
......@@ -208,4 +289,12 @@
<Bug pattern="NP_NULL_PARAM_DEREF" />
</Match>
<!-- the following is a false positive as this should never happen
with files embedded in Orekit -->
<Match>
<Class name="~.*\.IERSConventions$"/>
<Method name="loadLoveNumbers" />
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" />
</Match>
</FindBugsFilter>
' Copyright 2002-2019 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.
' CS licenses this file to You under the Apache License, Version 2.0
' (the "License"); you may not use this file except in compliance with
' the License. You may obtain a copy of the License at
'
' http://www.apache.org/licenses/LICENSE-2.0
'
' Unless required by applicable law or agreed to in writing, software
' distributed under the License is distributed on an "AS IS" BASIS,
' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
' See the License for the specific language governing permissions and
' limitations under the License.
@startuml
skinparam svek true
skinparam ClassBackgroundColor #F3EFEB/CCC9C5
skinparam ClassArrowColor #691616
skinparam ClassBorderColor #691616
skinparam NoteBackgroundColor #F3EFEB
skinparam NoteBorderColor #691616
skinparam NoteFontColor #691616
skinparam ClassFontSize 11
skinparam PackageFontSize 12
package org.orekit #ECEBD8 {
package propagation #DDEBD8 {
interface Propagator {
+ SpacecraftState propagate(AbsoluteDate target)
}
Propagator <|.. AbstractPropagator
package integration #EAECE6 {
interface AdditionalEquations {
+String getName()
+void computeDerivatives()
}
class AbstractIntegratedPropagator {
+void addAdditionalEquations(AdditionalEquations addEqu)
}
AbstractPropagator <|-- AbstractIntegratedPropagator
AdditionalEquations <---o AbstractIntegratedPropagator : additional
}
package semianalytical.dsst #EAECE6 {
package forces #DDEBD8 {
interface DSSTForceModel {
+void initialize()
+DerivativeStructure[] getMeanElementRate()
+void updateShortPeriodTerms()
}
class DSSTZonal
DSSTForceModel <|.. DSSTZonal
}
class DSSTPropagator {
+void addForceModel(DSSTForceModel model)
}
class DSSTPartialDerivativesEquations {
+List<String> getAvailableParameters()
+void selectParameters(String ... parameters)
+void selectParamAndStep(String parameter, double hP)
+void setInitialJacobians()
}
class DSSTJacobiansMapper
AdditionalEquations <|.. DSSTPartialDerivativesEquations
DSSTPartialDerivativesEquations *--> DSSTForceModel
AbstractIntegratedPropagator <|-- DSSTPropagator
DSSTPropagator *--> DSSTForceModel
}
}
}
@enduml
......@@ -40,7 +40,7 @@
class DSSTPropagator {
+void setInitialState(SpacecraftState state)
+void setInitialState(SpacecraftState state, boolean isOsculating)
+void setInitialState(SpacecraftState state, PropagationType type)
+void addForceModel(DSSTForceModel model)
+void removeForceModels()
+SpacecraftState propagate(AbsoluteDate start, AbsoluteDate target)
......@@ -53,10 +53,10 @@
class AuxiliaryElements
interface DSSTForceModel {
+void initialize(AuxiliaryElements auxiliary)
+void initializeStep(AuxiliaryElements auxiliary)
+double[] getMeanElementRate(SpacecraftState state)
+void updateShortPeriodTerms(SpacecraftState ... meanStates)
+void initialize(AuxiliaryElements auxiliary, PropagationType type, double[] parameters)
+double[] getMeanElementRate(SpacecraftState state, AuxiliaryElements auxiliary, double[] parameters)
+void updateShortPeriodTerms(double[] parameters, SpacecraftState ... meanStates)
+EventDetector[] getEventsDetectors()
}
DSSTForceModel -right-> AuxiliaryElements
......
......@@ -58,7 +58,7 @@
end note
class Generator {
+int addPropagator(Propagator)
+ObservableSatellite addPropagator(Propagator)
+Propagator getPropagator(index)
+addScheduler(Scheduler)
+SortedSet<ObservedMeasurements> generate(startDate, endDate)
......
......@@ -28,7 +28,7 @@
package org.orekit #ECEBD8 {
package attitude #DDEBD8 {
package attitudes #DDEBD8 {
}
package bodies #DDEBD8 {
}
......@@ -42,6 +42,8 @@
}
package frames #DDEBD8 {
}
package gnss #DDEBD8 {
}
package orbits #DDEBD8 {
}
package propagation #DDEBD8 {
......@@ -56,19 +58,20 @@
}
estimation --> propagation
propagation --> attitude
propagation --> attitudes
propagation --> forces
forces --> bodies
propagation --> orbits
orbits --> frames
attitude --> time
attitudes --> time
orbits --> time
attitude --> time
frames --> time
bodies --> time
bodies --> data
models --> bodies
models --> data
gnss --> attitudes
gnss --> data
frames --> data
time -right-> data
frames --> utils
......
......@@ -6,10 +6,11 @@
<fileSets>
<fileSet>
<includes>