public class LazyLoadedCelestialBodies extends Object implements CelestialBodies
CelestialBodyFactory
in Orekit 10.0.CelestialBodyFactory
Constructor and Description |
---|
LazyLoadedCelestialBodies(DataProvidersManager dataProvidersManager,
TimeScales timeScales,
Frame gcrf)
Create a celestial body factory with the given auxiliary data sources.
|
Modifier and Type | Method and Description |
---|---|
void |
addCelestialBodyLoader(String name,
CelestialBodyLoader loader)
Add a loader for celestial bodies.
|
void |
addDefaultCelestialBodyLoader(String supportedNames)
Add the default loaders for all predefined celestial bodies.
|
void |
addDefaultCelestialBodyLoader(String name,
String supportedNames)
Add the default loaders for celestial bodies.
|
void |
clearCelestialBodyCache()
Clear all loaded celestial bodies.
|
void |
clearCelestialBodyCache(String name)
Clear the specified celestial body from the internal cache.
|
void |
clearCelestialBodyLoaders()
Clear loaders for all celestial bodies.
|
void |
clearCelestialBodyLoaders(String name)
Clear loaders for one celestial body.
|
CelestialBody |
getBody(String name)
Get a celestial body.
|
CelestialBody |
getEarth()
Get the Earth singleton body.
|
CelestialBody |
getEarthMoonBarycenter()
Get the Earth-Moon barycenter singleton bodies pair.
|
CelestialBody |
getJupiter()
Get the Jupiter singleton body.
|
CelestialBody |
getMars()
Get the Mars singleton body.
|
CelestialBody |
getMercury()
Get the Mercury singleton body.
|
CelestialBody |
getMoon()
Get the Moon singleton body.
|
CelestialBody |
getNeptune()
Get the Neptune singleton body.
|
CelestialBody |
getPluto()
Get the Pluto singleton body.
|
CelestialBody |
getSaturn()
Get the Saturn singleton body.
|
CelestialBody |
getSolarSystemBarycenter()
Get the solar system barycenter aggregated body.
|
CelestialBody |
getSun()
Get the Sun singleton body.
|
CelestialBody |
getUranus()
Get the Uranus singleton body.
|
CelestialBody |
getVenus()
Get the Venus singleton body.
|
public LazyLoadedCelestialBodies(DataProvidersManager dataProvidersManager, TimeScales timeScales, Frame gcrf)
dataProvidersManager
- supplies JPL ephemerides auxiliary data files.timeScales
- set of time scales to use when loading bodies.gcrf
- Earth centered frame aligned with ICRF.public 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 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 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 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 void clearCelestialBodyLoaders()
Calling this method also clears all loaded celestial bodies.
public void clearCelestialBodyCache(String name)
name
- name of the bodypublic 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 CelestialBody getSolarSystemBarycenter()
CelestialBodies
Both the inertially
oriented frame
and body
oriented frame
for this aggregated body are aligned with
ICRF
(and therefore also
GCRF
)
getSolarSystemBarycenter
in interface CelestialBodies
public CelestialBody getSun()
CelestialBodies
getSun
in interface CelestialBodies
public CelestialBody getMercury()
CelestialBodies
getMercury
in interface CelestialBodies
public CelestialBody getVenus()
CelestialBodies
getVenus
in interface CelestialBodies
public CelestialBody getEarthMoonBarycenter()
CelestialBodies
Both the inertially
oriented frame
and body
oriented frame
for this bodies pair are aligned with
ICRF
(and therefore also
GCRF
)
getEarthMoonBarycenter
in interface CelestialBodies
public CelestialBody getEarth()
CelestialBodies
getEarth
in interface CelestialBodies
public CelestialBody getMoon()
CelestialBodies
getMoon
in interface CelestialBodies
public CelestialBody getMars()
CelestialBodies
getMars
in interface CelestialBodies
public CelestialBody getJupiter()
CelestialBodies
getJupiter
in interface CelestialBodies
public CelestialBody getSaturn()
CelestialBodies
getSaturn
in interface CelestialBodies
public CelestialBody getUranus()
CelestialBodies
getUranus
in interface CelestialBodies
public CelestialBody getNeptune()
CelestialBodies
getNeptune
in interface CelestialBodies
public CelestialBody getPluto()
CelestialBodies
getPluto
in interface CelestialBodies
public CelestialBody getBody(String name)
CelestialBodyFactory
.
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.
getBody
in interface CelestialBodies
name
- name of the celestial bodyCopyright © 2002-2020 CS Group. All rights reserved.