Commit cfc115ca authored by Luc Maisonobe's avatar Luc Maisonobe

completed dual maven/eclipse setup

parent f02d9fef
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/main/resources"/>
<classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="var" path="JUNIT_HOME/junit.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.jdt.source_3.1.0/src/org.junit_3.8.1/junitsrc.zip"/>
<classpathentry kind="lib" path="/libraries/logback-classic-0.9.5.jar" sourcepath="/libraries/logback-classic-0.9.5-sources.jar"/>
<classpathentry kind="lib" path="/libraries/logback-core-0.9.5.jar" sourcepath="/libraries/logback-core-0.9.5-sources.jar"/>
<classpathentry kind="lib" path="/libraries/slf4j-api-1.3.1.jar" sourcepath="/libraries/slf4j-api-1.3.1-sources.jar"/>
<classpathentry kind="lib" path="/libraries/commons-math-1.2-SNAPSHOT.jar"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
......@@ -10,8 +10,14 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.maven.ide.eclipse.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.maven.ide.eclipse.maven2Nature</nature>
</natures>
</projectDescription>
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:param name="section.autolabel">1</xsl:param>
<xsl:param name="section.label.includes.component.label">1</xsl:param>
</xsl:stylesheet>
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" />
<xsl:import href="custom-common.xsl" />
<xsl:param name="use.id.as.filename">1</xsl:param>
<xsl:param name="chunk.fast">1</xsl:param>
<xsl:param name="chunk.first.sections">1</xsl:param>
<xsl:param name="chunk.section.depth">2</xsl:param>
<xsl:param name="chunker.output.indent">no</xsl:param>
<xsl:param name="navig.graphics">1</xsl:param>
</xsl:stylesheet>
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl" />
<xsl:import href="custom-common.xsl" />
<xsl:param name="paper.type">A4</xsl:param>
<xsl:param name="insert.xref.page.number">1</xsl:param>
</xsl:stylesheet>
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/onechunk.xsl" />
<xsl:import href="custom-common.xsl" />
<xsl:param name="use.id.as.filename">1</xsl:param>
<xsl:param name="html.ext">.xml</xsl:param>
<xsl:param name="chunk.fast">1</xsl:param>
<xsl:param name="chunk.first.sections">1</xsl:param>
<xsl:param name="chunk.section.depth">2</xsl:param>
<xsl:param name="chunker.output.indent">no</xsl:param>
<xsl:param name="navig.graphics">1</xsl:param>
</xsl:stylesheet>
<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<!-- $Id$ -->
<article lang="fr">
<articleinfo>
<title>OREKIT</title>
<author><firstname>Luc</firstname><surname>Maisonobe</surname></author>
<pubdate>7 09 2006</pubdate>
</articleinfo>
<sect1><title><anchor id="Présentation"/>Présentation</title> <para>
<acronym>OREKIT</acronym> (<foreignphrase>ORbit Extrapolation
KIT)</foreignphrase> est une plate-forme d'extrapolation d'orbite
réutilisable et moderne pouvant être intégrée dans les nombreux
projets. Cette plate-forme est constituée d'un ensemble cohérent de
composants Java spécialisés dans les calculs de dynamique spatiale.
Elle s'appuie sur une unique dépendance externe, la bibliothèque
mathématique libre de simulation <ulink
url="http://www.spaceroots.org/software/mantissa/index.html">Mantissa</ulink>,
elle-même entièrement codée en Java.
</para>
<para>
Les principes qui sous-tendent l'architecture de la plate-forme Orekit
se declinent à la fois dans la thématique de mécanique spatiale et dans
les technologies mises en œuvre.
</para>
<para>
En ce qui concerne la mécanique spatiale, il a été décidé d'offrir les
algorithmes les plus récents et les plus performants dans le domaine
du calcul. Ainsi, les intégrateurs numériques ne se limitent pas aux
classiques Runge-Kutta d'ordre 4 à pas fixes de base. Des intégrateurs
jusqu'à l'ordre 8 voire à ordre variable, à pas variables contrôlés en
permanence par l'erreur estimée sont disponibles. Tous les
intégrateurs proposent naturellement des sorties continues et pas
seulement aux pas d'intégrations, et tous supportents des fonctions de
commutations utilisateur multiples permettant par exemple d'arrêter
l'intégration sur évènement ou de gérer proprement les discontinuités
(allumage de moteur, passage en éclipse ...). Les modèles dynamiques
et les standards intégrés dans la plate-forme sont les dernières
versions des recommandations internationales telles que les <ulink
url="http://www.iers.org/documents/publications/tn/tn32/tn32.pdf">IERS
conventions (2003)</ulink>.
</para>
<para>
En ce qui concerne les technologies, la conception orientée objet,
l'utilisation intensive des modèles de conceptions
(<foreignphrase>design patterns</foreignphrase>) permettent d'offrir
aux utilisateurs des services très sophistiqués à travers des
interfaces qui restent très simples, la plupart des composants étant
capables de s'auto-configurer et n'imposant pas à l'utilisateur de
gérer ou de faire passer des variables et des notions de trop bas
niveau ou qu'il ne maîtrise pas. À titre d'exemple, le passage du
repère terrestre au repère inertiel ne requiert de l'utilisateur que
la date, donnée simple s'il en est. De façon interne, tous les
mouvements connus sont pris en compte (mouvement du pôle, effets de
marée, nutation, précession, échelles de temps TAI, UTC, TT, sauts du
TUC, correction TU1-TUC ...). Un autre exemple est que grâce à
l'adoption de hiérarchies d'interfaces soigneusement conçues,
l'utilisateur peut par exemple utiliser indifféremment des éphémérides
tabulées, des extrapolateurs élémentaires (Kepler), un peu plus
élaborés (Eckstein-Hechler) ou très sophistiqués (intégration
numérique avec un modèle de force très complet et très fin). Le code
appelant ne change en aucune façon. Ceci permet par exemple de changer
les méthodes de calculs selon les phases d'analyse mission, le temps
disponible pour l'étude ou la disponibilité de modèles satellites
fins.
</para>
<para>
La plate-forme Orekit offre avant-tout des services de base
d'extrapolation et de conversion d'orbites. Elle supporte de nombreux
types de paramètres orbitaux, des modèles analytiques et numériques,
et des modèles de forces qui peuvent être enrichis à volonté. Son
développement sous forme de composants 100% pur Java rend son
intégration dans un système complet aisée, qu'il s'agisse d'une
application indépendante, d'un serveur dans un environnement
distribué, voire d'un greffon (<foreignphrase>plugin</foreignphrase>)
pour un applicatif existant.
</para>
</sect1>
</article>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.cs.orekit</groupId>
<artifactId>orekit</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>ORbit Extrapolation KIT</name>
<url>http://www.c-s.fr/</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-math</groupId>
<artifactId>commons-math</artifactId>
<version>1.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>0.9.5</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<!-- make sure licenses are kept at top level in the source tree -->
<!-- and are copied into META-INF at build time -->
<directory>.</directory>
<includes>
<include>LICENSE*.txt</include>
</includes>
<targetPath>META-INF</targetPath>
</resource>
<resource>
<!-- standard resources directory -->
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</project>
......@@ -218,18 +218,21 @@ class IRF2000Frame extends Frame {
private static final double f141 = 0.024381750;
private static final double f142 = 0.00000538691;
/** IERS conventions (2003) resources base directory. */
private static final String iers2003Base = "/META-INF/IERS-conventions-2003/";
/** Resources for IERS table 5.2a from IERS conventions (2003). */
private static final String xModel2000A = "/fr/cs/orekit/resources/tab5.2a.txt";
private static final String xModel2000B = "/fr/cs/orekit/resources/tab5.2a.reduced.txt";
private static final String xModel2000A = iers2003Base + "tab5.2a.txt";
private static final String xModel2000B = iers2003Base + "tab5.2a.reduced.txt";
/** Resources for IERS table 5.2b from IERS conventions (2003). */
private static final String yModel2000A = "/fr/cs/orekit/resources/tab5.2b.txt";
private static final String yModel2000B = "/fr/cs/orekit/resources/tab5.2b.reduced.txt";
private static final String yModel2000A = iers2003Base + "tab5.2b.txt";
private static final String yModel2000B = iers2003Base + "tab5.2b.reduced.txt";
/** Resources for IERS table 5.2c from IERS conventions (2003). */
private static final String sxy2Model2000A = "/fr/cs/orekit/resources/tab5.2c.txt";
private static final String sxy2Model2000B = "/fr/cs/orekit/resources/tab5.2c.reduced.txt";
private static final String sxy2Model2000A = iers2003Base + "tab5.2c.txt";
private static final String sxy2Model2000B = iers2003Base + "tab5.2c.reduced.txt";
private static final long serialVersionUID = 2781008917378714616L;
private static final long serialVersionUID = -6655695030282892705L;
}
package fr.cs.orekit.iers;
import java.io.File;
import java.net.URL;
import fr.cs.orekit.errors.OrekitException;
......@@ -36,7 +37,10 @@ public class IERSDirectoryCrawler {
String directoryName = System.getProperty("orekit.iers.directory");
if ((directoryName != null) && ! "".equals(directoryName)) {
root = new File(directoryName);
// try to find the root directory either in classpath or in filesystem
// (classpath having higher priority)
URL url = getClass().getClassLoader().getResource(directoryName);
root = new File((url != null) ? url.getPath() : directoryName);
// safety checks
if (! root.exists()) {
......
......@@ -647,7 +647,7 @@ public class DTM2000Atmosphere {
private static final double rot2 = .034428412;
/** Resources text file. */
private static final String dtm2000 = "/fr/cs/orekit/resources/dtm_2000.txt";
private static final String dtm2000 = "/META-INF/dtm_2000.txt";
// Dtm ressources :
......
package fr.cs.orekit;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileFilter;
import java.util.StringTokenizer;
/**
* This class is a utility class to help finding a file in a directory tree.
* <p>This class provides only the {@link #find find} static method to
* help finding a file in a directory tree, when the deepest structure
* of the directory tree (down to the file itself) is already known,
* but the location of the subtree in the global file system is not
* known. This occurs mainly in installation or development directory
* trees that can be placed almost anywhere.</p>
* @author Luc Maisonobe
*/
public class FindFile {
/** private constructor.
* Since this class is a utility class, no instance can be built, so
* the constructor is private and does nothing.
*/
private FindFile() {
}
/** Find a file in a directory tree.
* <p>The search is done relatively to the current directory (value
* of the system property <code>user.dir</code>), which can already
* be inside the given file name. As an example, if the current
* directory is
* <code>/home/luc/sources/java/apex/src/fr.cs/</code> and
* filePath is
* <code>src/fr.cs/papeete/parsing/LexicalAnalyzerTestFile</code>,
* the algorithm will first try its search by matching the
* common <code>src/fr.cs</code> part before recursively
* trying to find the complete filename somewhere below the current
* directory.</p>
* @param filePath last part of the path corresponding to the
* searched file
* @param separator file separator used in filePath (can be
* different from the system property <code>file.separator</code> if
* the names are hard-coded in the application).
* @return the file found
* @exception FileNotFoundException if the file cannot be found
*/
public static File find(String filePath, String separator)
throws FileNotFoundException {
// split the current directory name into parts
File userDir = new File(System.getProperty("user.dir"));
StringTokenizer tokenizer =
new StringTokenizer(userDir.getPath(),
System.getProperty("file.separator"), false);
String[] dParts = new String[tokenizer.countTokens()];
for (int i = 0; i < dParts.length; ++i) {
dParts[i] = tokenizer.nextToken();
}
// split the filename into parts
tokenizer = new StringTokenizer(filePath, separator, false);
String[] fParts = new String[tokenizer.countTokens()];
for (int i = 0; i < fParts.length; ++i) {
fParts[i] = tokenizer.nextToken();
}
// first try: are we already somewhere in the directory tree ?
for (int iF = 0; iF < (fParts.length - 1); ++iF) {
for (int iD = 0; iD < dParts.length; ++iD) {
if (fParts[iF].equals(dParts[iD])) {
File f = userDir;
for (int i = dParts.length; i > iD; --i) {
f = f.getParentFile();
}
for (int i = iF; i < fParts.length; ++i) {
f = new File(f, fParts[i]);
}
if (f.exists()) {
return f;
}
}
}
}
// second try: we should be entirely below the current directory
File f = recursiveFind(userDir, fParts);
if ((f == null) || ! f.exists()) {
throw new FileNotFoundException(filePath);
}
return f;
}
private static File recursiveFind(File base, String[] parts) {
// try in base directory
File f = new File(base, parts[0]);
for (int i = 1; i < parts.length; ++i) {
f = new File(f, parts[i]);
}
if (f.exists()) {
return f;
}
// try in sub-directories
File[] subDirectories = base.listFiles(new FileFilter() {
public boolean accept(File f) {
return f.isDirectory();
}
});
for (int i = 0; i < subDirectories.length; ++i) {
f = recursiveFind(subDirectories[i], parts);
if (f != null) {
return f;
}
}
return null;
}
}
package fr.cs.orekit;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
......@@ -36,26 +33,11 @@ DTM2000InputParameters {
private SolarInputs97to05() throws OrekitException {
datas = new TreeSet();
InputStream in ;
try {
File rootDir = FindFile.find("/tests-src/fr/cs/orekit/data" +
"/atmosphere/JB_All_97-05.txt", "/");
in = new FileInputStream(rootDir.getAbsolutePath());
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
InputStream in = getClass().getResourceAsStream("/atmosphere/JB_All_97-05.txt");
BufferedReader rFlux = new BufferedReader(new InputStreamReader(in));
try {
File rootDir = FindFile.find("/tests-src/fr/cs/orekit/data" +
"/atmosphere/NOAA_ap_97-05.dat.txt", "/");
in = new FileInputStream(rootDir.getAbsolutePath());
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
in = getClass().getResourceAsStream("/atmosphere/NOAA_ap_97-05.dat.txt");
BufferedReader rAp = new BufferedReader(new InputStreamReader(in));
try {
......
......@@ -7,7 +7,7 @@ import fr.cs.orekit.Utils;
import fr.cs.orekit.attitudes.models.LOFAlignedAttitude;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.frames.Frame;
import fr.cs.orekit.frames.IERSDataResetter;
import fr.cs.orekit.iers.IERSDataResetter;
import fr.cs.orekit.orbits.CircularParameters;
import fr.cs.orekit.orbits.Orbit;
import fr.cs.orekit.propagation.KeplerianPropagator;
......
......@@ -10,7 +10,7 @@ import fr.cs.orekit.bodies.GeodeticPoint;
import fr.cs.orekit.bodies.OneAxisEllipsoid;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.frames.Frame;
import fr.cs.orekit.frames.IERSDataResetter;
import fr.cs.orekit.iers.IERSDataResetter;
import fr.cs.orekit.orbits.CircularParameters;
import fr.cs.orekit.orbits.Orbit;
import fr.cs.orekit.propagation.KeplerianPropagator;
......
......@@ -8,7 +8,7 @@ import fr.cs.orekit.attitudes.models.ThirdBodyPointingAttitude;
import fr.cs.orekit.bodies.ThirdBody;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.frames.Frame;
import fr.cs.orekit.frames.IERSDataResetter;
import fr.cs.orekit.iers.IERSDataResetter;
import fr.cs.orekit.models.bodies.Sun;
import fr.cs.orekit.orbits.CircularParameters;
import fr.cs.orekit.orbits.Orbit;
......
......@@ -4,6 +4,7 @@ import java.text.ParseException;
import org.apache.commons.math.geometry.Rotation;
import org.apache.commons.math.geometry.Vector3D;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.iers.IERSDataResetter;
import fr.cs.orekit.time.AbsoluteDate;
import fr.cs.orekit.time.UTCScale;
import fr.cs.orekit.utils.PVCoordinates;
......
......@@ -125,7 +125,7 @@ public class DevelopmentTest extends TestCase {
public void testTrueFiles()
throws OrekitException {
String directory = "/fr/cs/orekit/resources/";
String directory = "/META-INF/IERS-conventions-2003/";
InputStream xStream =
getClass().getResourceAsStream(directory + "tab5.2a.txt");
assertNotNull(new Development(xStream, 1.0, "tab5.2a.txt"));
......
......@@ -5,7 +5,6 @@ import java.util.Iterator;
import java.util.TreeSet;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.frames.IERSDataResetter;
import junit.framework.TestCase;
public abstract class AbstractFilesLoaderTest extends TestCase {
......
package fr.cs.orekit.frames;
package fr.cs.orekit.iers;
import java.io.File;
import java.io.FileNotFoundException;
import java.lang.reflect.Field;
import java.security.AccessController;
import java.security.PrivilegedAction;
import fr.cs.orekit.FindFile;
import fr.cs.orekit.frames.EarthOrientationHistory;
import fr.cs.orekit.time.UTCScale;
public class IERSDataResetter {
private static final File rootDir;
static {
try {
rootDir = FindFile.find("/tests-src/fr/cs/orekit/data", "/");
} catch (FileNotFoundException fnfe) {
throw new RuntimeException("unexpected failure");
}
}
public static void setUp(String directory) {
System.setProperty("orekit.iers.directory",
new File(rootDir, directory).getAbsolutePath());
System.setProperty("orekit.iers.directory", directory);
AccessController.doPrivileged(new SingletonResetter());
}
public static void tearDown() {
public static void tearDown() {
System.setProperty("orekit.iers.directory", "");
AccessController.doPrivileged(new SingletonResetter());
}
......
......@@ -3,7 +3,6 @@ package fr.cs.orekit.iers;
import java.io.BufferedReader;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.frames.IERSDataResetter;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
......
......@@ -2,7 +2,6 @@ package fr.cs.orekit.iers;
import java.text.ParseException;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.frames.IERSDataResetter;
import fr.cs.orekit.time.AbsoluteDate;
import fr.cs.orekit.time.UTCScale;
import junit.framework.Test;
......@@ -22,7 +21,7 @@ public class UTCTAIHistoryFilesLoaderTest extends TestCase {
}
public void testNoData() throws OrekitException {
checkSuccess("empty-directory");
checkSuccess("no-data");
assertEquals(0.0, UTCScale.getInstance().offsetFromTAI(946684800), 10e-8);
}
......
......@@ -9,7 +9,7 @@ import fr.cs.orekit.Utils;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.forces.maneuvers.ConstantThrustManeuver;
import fr.cs.orekit.frames.Frame;
import fr.cs.orekit.frames.IERSDataResetter;
import fr.cs.orekit.iers.IERSDataResetter;
import fr.cs.orekit.orbits.KeplerianParameters;
import fr.cs.orekit.orbits.Orbit;
import fr.cs.orekit.orbits.OrbitalParameters;
......
......@@ -13,8 +13,8 @@ import fr.cs.orekit.errors.PropagationException;
import fr.cs.orekit.forces.perturbations.CunninghamAttractionModel;
import fr.cs.orekit.forces.perturbations.DrozinerAttractionModel;
import fr.cs.orekit.frames.Frame;
import fr.cs.orekit.frames.IERSDataResetter;
import fr.cs.orekit.frames.Transform;
import fr.cs.orekit.iers.IERSDataResetter;
import fr.cs.orekit.models.bodies.Sun;
import fr.cs.orekit.orbits.EquinoctialParameters;
import fr.cs.orekit.orbits.KeplerianParameters;
......
......@@ -5,8 +5,8 @@ import fr.cs.orekit.Utils;
import fr.cs.orekit.bodies.OneAxisEllipsoid;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.frames.Frame;
import fr.cs.orekit.frames.IERSDataResetter;
import fr.cs.orekit.frames.Transform;
import fr.cs.orekit.iers.IERSDataResetter;
import fr.cs.orekit.models.perturbations.SimpleExponentialAtmosphere;
import fr.cs.orekit.time.AbsoluteDate;
......
......@@ -14,8 +14,8 @@ import fr.cs.orekit.errors.PropagationException;
import fr.cs.orekit.forces.perturbations.CunninghamAttractionModel;
import fr.cs.orekit.forces.perturbations.DrozinerAttractionModel;
import fr.cs.orekit.frames.Frame;
import fr.cs.orekit.frames.IERSDataResetter;
import fr.cs.orekit.frames.Transform;
import fr.cs.orekit.iers.IERSDataResetter;
import fr.cs.orekit.models.bodies.Sun;
import fr.cs.orekit.orbits.EquinoctialParameters;
import fr.cs.orekit.orbits.KeplerianParameters;
......
......@@ -8,7 +8,7 @@ import fr.cs.orekit.bodies.GeodeticPoint;
import fr.cs.orekit.bodies.OneAxisEllipsoid;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.frames.Frame;
import fr.cs.orekit.frames.IERSDataResetter;
import fr.cs.orekit.iers.IERSDataResetter;
import fr.cs.orekit.models.bodies.Sun;
import fr.cs.orekit.models.perturbations.DTM2000AtmosphereModel;
import fr.cs.orekit.models.perturbations.JB2006Atmosphere;
......
......@@ -14,7 +14,7 @@ import fr.cs.orekit.bodies.OneAxisEllipsoid;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.forces.perturbations.SolarRadiationPressure;
import fr.cs.orekit.frames.Frame;
import fr.cs.orekit.frames.IERSDataResetter;
import fr.cs.orekit.iers.IERSDataResetter;
import fr.cs.orekit.orbits.EquinoctialParameters;
import fr.cs.orekit.orbits.Orbit;
import fr.cs.orekit.orbits.OrbitalParameters;
......
......@@ -9,7 +9,7 @@ import org.apache.commons.math.ode.IntegratorException;
import fr.cs.orekit.errors.OrekitException;
import fr.cs.orekit.forces.perturbations.ThirdBodyAttraction;
import fr.cs.orekit.frames.Frame;
import fr.cs.orekit.frames.IERSDataResetter;
import fr.cs.orekit.iers.IERSDataResetter;
import fr.cs.orekit.models.bodies.Moon;
import fr.cs.orekit.models.bodies.Sun;
import fr.cs.orekit.orbits.EquinoctialParameters;
......
package fr.cs.orekit.potential;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;