public class CelestialBodyFactory extends Object
The Sun
, the Moon
and the planets
(including the Pluto dwarf planet) are provided by this factory. In addition,
two important points are provided for convenience: the solar system barycenter
and the Earth-Moon barycenter
.
The underlying body-centered frames are either direct children of EME2000
(for Moon
and Earth-Moon barycenter
) or children from other
body-centered frames. For example, the path from EME2000 to
Jupiter-centered frame is: EME2000, Earth-Moon barycenter centered,
solar system barycenter centered, Jupiter-centered. The defining transforms
of these frames are combinations of simple linear translation/velocity
transforms
without any rotation. The frame axes are therefore always parallel to
EME2000
frame axes.
The position of the bodies provided by this class are interpolated using the JPL DE 405/DE 406 ephemerides.
Modifier and Type | Field | Description |
---|---|---|
static String |
EARTH |
Predefined name for Earth.
|
static String |
EARTH_MOON |
Predefined name for Earth-Moon barycenter.
|
static String |
JUPITER |
Predefined name for Jupiter.
|
static String |
MARS |
Predefined name for Mars.
|
static String |
MERCURY |
Predefined name for Mercury.
|
static String |
MOON |
Predefined name for Moon.
|
static String |
NEPTUNE |
Predefined name for Neptune.
|
static String |
PLUTO |
Predefined name for Pluto.
|
static String |
SATURN |
Predefined name for Saturn.
|
static String |
SOLAR_SYSTEM_BARYCENTER |
Predefined name for solar system barycenter.
|
static String |
SUN |
Predefined name for Sun.
|
static String |
URANUS |
Predefined name for Uranus.
|
static String |
VENUS |
Predefined name for Venus.
|
Modifier and Type | Method | Description |
---|---|---|
static void |
addCelestialBodyLoader(String name,
CelestialBodyLoader loader) |
Add a loader for celestial bodies.
|
static void |
addDefaultCelestialBodyLoader(String supportedNames) |
Add the default loaders for all predefined celestial bodies.
|
static void |
addDefaultCelestialBodyLoader(String name,
String supportedNames) |
Add the default loaders for celestial bodies.
|
static void |
clearCelestialBodyCache() |
Clear all loaded celestial bodies.
|
static void |
clearCelestialBodyCache(String name) |
Clear the specified celestial body from the internal cache.
|
static void |
clearCelestialBodyLoaders() |
Clear loaders for all celestial bodies.
|
static void |
clearCelestialBodyLoaders(String name) |
Clear loaders for one celestial body.
|
static CelestialBody |
getBody(String name) |
Get a celestial body.
|
static CelestialBody |
getEarth() |
Get the Earth singleton body.
|
static CelestialBody |
getEarthMoonBarycenter() |
Get the Earth-Moon barycenter singleton bodies pair.
|
static CelestialBody |
getJupiter() |
Get the Jupiter singleton body.
|
static CelestialBody |
getMars() |
Get the Mars singleton body.
|
static CelestialBody |
getMercury() |
Get the Mercury singleton body.
|
static CelestialBody |
getMoon() |
Get the Moon singleton body.
|
static CelestialBody |
getNeptune() |
Get the Neptune singleton body.
|
static CelestialBody |
getPluto() |
Get the Pluto singleton body.
|
static CelestialBody |
getSaturn() |
Get the Saturn singleton body.
|
static CelestialBody |
getSolarSystemBarycenter() |
Get the solar system barycenter aggregated body.
|
static CelestialBody |
getSun() |
Get the Sun singleton body.
|
static CelestialBody |
getUranus() |
Get the Uranus singleton body.
|
static CelestialBody |
getVenus() |
Get the Venus singleton body.
|
public static final String SOLAR_SYSTEM_BARYCENTER
getBody(String)
,
Constant Field Valuespublic static final String SUN
getBody(String)
,
Constant Field Valuespublic static final String MERCURY
getBody(String)
,
Constant Field Valuespublic static final String VENUS
getBody(String)
,
Constant Field Valuespublic static final String EARTH_MOON
getBody(String)
,
Constant Field Valuespublic static final String EARTH
getBody(String)
,
Constant Field Valuespublic static final String MOON
getBody(String)
,
Constant Field Valuespublic static final String MARS
getBody(String)
,
Constant Field Valuespublic static final String JUPITER
getBody(String)
,
Constant Field Valuespublic static final String SATURN
getBody(String)
,
Constant Field Valuespublic static final String URANUS
getBody(String)
,
Constant Field Valuespublic static final String NEPTUNE
getBody(String)
,
Constant Field Valuespublic static final String PLUTO
getBody(String)
,
Constant Field Valuespublic static void addCelestialBodyLoader(String name, CelestialBodyLoader loader)
name
- name of the body (may be one of the predefined names or a user-defined name)loader
- custom loader to add for the bodyaddDefaultCelestialBodyLoader(String)
,
clearCelestialBodyLoaders(String)
,
clearCelestialBodyLoaders()
public static void addDefaultCelestialBodyLoader(String supportedNames)
supportedNames
- regular expression for supported files names
(may be null if the default JPL file names are used)
The default loaders look for DE405 or DE406 JPL ephemerides.
addCelestialBodyLoader(String, CelestialBodyLoader)
,
addDefaultCelestialBodyLoader(String)
,
clearCelestialBodyLoaders(String)
,
clearCelestialBodyLoaders()
public static void addDefaultCelestialBodyLoader(String name, String supportedNames)
name
- name of the body (if not one of the predefined names, the method does nothing)supportedNames
- regular expression for supported files names
(may be null if the default JPL file names are used)
The default loaders look for DE405 or DE406 JPL ephemerides.
addCelestialBodyLoader(String, CelestialBodyLoader)
,
addDefaultCelestialBodyLoader(String)
,
clearCelestialBodyLoaders(String)
,
clearCelestialBodyLoaders()
public static void clearCelestialBodyLoaders(String name)
Calling this method also clears the celestial body that
has been loaded via this CelestialBodyLoader
.
name
- name of the bodyaddCelestialBodyLoader(String, CelestialBodyLoader)
,
clearCelestialBodyLoaders()
,
clearCelestialBodyCache(String)
public static void clearCelestialBodyLoaders()
Calling this method also clears all loaded celestial bodies.
public static void clearCelestialBodyCache(String name)
name
- name of the bodypublic static void clearCelestialBodyCache()
Calling this method will remove all loaded bodies from the internal
cache. Subsequent calls to getBody(String)
or similar methods
will result in a reload of the requested body from the configured loader(s).
public static CelestialBody getSolarSystemBarycenter()
Both the inertially
oriented frame
and body
oriented frame
for this aggregated body are aligned with
ICRF
(and therefore also
GCRF
)
public static CelestialBody getSun()
public static CelestialBody getMercury()
public static CelestialBody getVenus()
public static CelestialBody getEarthMoonBarycenter()
Both the inertially
oriented frame
and body
oriented frame
for this bodies pair are aligned with
ICRF
(and therefore also
GCRF
)
public static CelestialBody getEarth()
public static CelestialBody getMoon()
public static CelestialBody getMars()
public static CelestialBody getJupiter()
public static CelestialBody getSaturn()
public static CelestialBody getUranus()
public static CelestialBody getNeptune()
public static CelestialBody getPluto()
public static CelestialBody getBody(String name)
If no CelestialBodyLoader
has been added by calling addCelestialBodyLoader
or if clearCelestialBodyLoaders
has been called afterwards,
the addDefaultCelestialBodyLoader
method will be called automatically,
once with the default name for JPL DE ephemerides and once with the
default name for IMCCE INPOP files.
name
- name of the celestial bodyCopyright © 2002-2019 CS Systèmes d'information. All rights reserved.