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.getInertialEquatorFrame() 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.getInertialEquatorFrame() 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 FormCONSTANT_ROTATING_FRAME_NAME, ICRF_FRAME_NAME, INERTIAL_EQUATOR_FRAME_NAME, MEAN_EQUATOR_FRAME_NAME, MEAN_ROTATING_FRAME_NAME, TRUE_EQUATOR_FRAME_NAME, TRUE_ROTATING_FRAME_NAME| Constructor and Description |
|---|
MeeusMoonStela(double inEarthRadius)
Simple constructor.
|
| Modifier and Type | Method and Description |
|---|---|
Frame |
getNativeFrame(AbsoluteDate date,
Frame frame)
Get the native frame, i.e.
|
PVCoordinates |
getPVCoordinates(AbsoluteDate date,
Frame frame)
Get the
PVCoordinates of the body in the selected frame. |
static void |
resetTransform()
Reset cached transform.
|
String |
toString()
Returns a string representation of the body and its attributes.
|
static void |
updateTransform(AbsoluteDate date,
Frame frame)
Update cached transform from
FramesFactory.getMOD(boolean) to provided frame. |
getAttractionModel, getConstantRotatingFrame, getGM, getIAUPole, getICRF, getInertialEquatorFrame, getMeanEquatorFrame, getMeanRotatingFrame, getName, getShape, getTrueEquatorFrame, getTrueRotatingFrame, setAttractionModel, setGM, setIAUPole, setShapepublic 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 PVCoordinatesProvidergetPVCoordinates in class AbstractCelestialBodydate - current dateframe - the frame where to define the positionPatriusException - if position cannot be computed in given framepublic Frame getNativeFrame(AbsoluteDate date, Frame frame) throws PatriusException
date - a dateframe - a framePatriusException - thrown if native frame is undefined or unknownpublic 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()
public String toString()
toString in interface CelestialBodytoString in class AbstractCelestialBodyCopyright © 2022 CNES. All rights reserved.