public class MeeusMoonStela extends AbstractCelestialBody
This class implements the Moon ephemerides according to the algorithm of Meeus, it only provides the position. Note that it is not possible to build this Moon from the CelestialBodyFactory.
See Stela's implementation of this model
This class contains methods to store AbstractCelestialBody.getInertiallyOrientedFrame()
to integration frame (CIRF) transform to
speed up computation during the integration process. As this transform varies slowly through time, it has been
demonstrated it is not necessary to recompute it every time. Warning: these methods should not be used in a
stand-alone use (unless you known what you are doing). There are two methods:
updateTransform(AbsoluteDate, Frame)
: store transform from AbstractCelestialBody.getInertiallyOrientedFrame()
to
provided frame at provided date.resetTransform()
: reset stored transform
Note that pole information allowing to define inertially-centered frame and rotating frame are defined in
IAUPoleFactory
since Meeus model does not provide the information.
CelestialBody
,
Serialized FormConstructor and Description |
---|
MeeusMoonStela(double inEarthRadius)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
PVCoordinates |
getPVCoordinates(AbsoluteDate date,
Frame frame)
Get the
PVCoordinates of the body in the selected frame. |
static void |
resetTransform()
Reset cached transform.
|
static void |
updateTransform(AbsoluteDate date,
Frame frame)
Update cached transform from
FramesFactory.getMOD(boolean) to provided frame. |
getBodyOrientedFrame, getGM, getInertiallyOrientedFrame, getName
public MeeusMoonStela(double inEarthRadius) throws PatriusException
inEarthRadius
- the Earth RadiusPatriusException
- if data embedded in the library cannot be readpublic PVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame) throws PatriusException
PVCoordinates
of the body in the selected frame.getPVCoordinates
in interface PVCoordinatesProvider
getPVCoordinates
in class AbstractCelestialBody
date
- current dateframe
- the frame where to define the positionPatriusException
- if position cannot be computed in given framepublic static void updateTransform(AbsoluteDate date, Frame frame) throws PatriusException
FramesFactory.getMOD(boolean)
to provided frame.
Once called, this transform will always be used when calling getPVCoordinates(AbsoluteDate, Frame)
unless a call to resetTransform()
has been madedate
- a dateframe
- a framePatriusException
- thrown if transformation computation failedpublic static void resetTransform()
Copyright © 2019 CNES. All rights reserved.