public abstract class AbstractCelestialBody extends AbstractCelestialPoint implements CelestialBody
CelestialBody interface.
This abstract implementation provides basic services that can be shared by most implementations of the
CelestialBody interface. It holds the gravitational attraction coefficient and build the body-centered
frames.
CelestialBodyOrientation,
Serialized FormCelestialPoint.BodyNature| Modifier and Type | Field and Description |
|---|---|
static String |
INERTIAL_FRAME
Inertial, body-centered frame name.
|
static String |
ROTATING_FRAME
Body-centered frame name.
|
static char |
SPACE
Space.
|
ECLIPTICJ2000_FRAME_NAME, EME2000_FRAME_NAME, ICRF_FRAME_NAME| Modifier | Constructor and Description |
|---|---|
protected |
AbstractCelestialBody(String name,
double gm,
CelestialBodyEphemeris ephemeris,
CelestialBodyFrame icrf)
Constructor with user-defined ICRF frame.
|
protected |
AbstractCelestialBody(String name,
double gm,
CelestialBodyOrientation celestialBodyOrientation,
Frame parentFrame)
Constructor without ephemeris.
|
protected |
AbstractCelestialBody(String name,
double gm,
CelestialBodyOrientation celestialBodyOrientation,
Frame parentFrame,
CelestialBodyEphemeris ephemeris)
Constructor.
|
protected |
AbstractCelestialBody(String name,
GravityModel gravityModel,
CelestialBodyOrientation celestialBodyOrientation,
Frame parentFrame,
BSPEphemerisLoader.SpiceJ2000ConventionEnum convention,
CelestialBodyEphemeris ephemeris)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
double |
getGM()
Get the central attraction coefficient of the celestial point.
|
GravityModel |
getGravityModel()
Getter for the gravitational attraction model of the body.
|
CelestialBodyFrame |
getInertialFrame()
Getter for an inertially oriented, body centered frame.
|
CelestialBodyOrientation |
getOrientation()
Getter for the celestial body orientation and primer meridians orientation.
|
CelestialBodyFrame |
getRotatingFrame()
Getter for a body oriented, body centered frame.
|
BodyShape |
getShape()
Getter for the geometric shape of the body.
|
void |
setGM(double gmIn)
Set a central attraction coefficient to the celestial point.
|
void |
setGravityModel(GravityModel modelIn)
Setter for a gravitational attraction model to the body.
|
void |
setOrientation(CelestialBodyOrientation celestialBodyOrientationIn)
Setter for a celestial body orientation to define the body frames.
|
void |
setShape(BodyShape shapeIn)
Setter for a geometric shape to the body.
|
String |
toString()
Returns a string representation of the celestial point and its attributes.
|
getEclipticJ2000, getEME2000, getEphemeris, getICRF, getName, getNativeFrame, getPVCoordinates, setEphemerisclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetBodyNature, getNamegetEclipticJ2000, getEME2000, getEphemeris, getICRF, setEphemerisgetNativeFrame, getPVCoordinatespublic static final String INERTIAL_FRAME
public static final String ROTATING_FRAME
public static final char SPACE
protected AbstractCelestialBody(String name, GravityModel gravityModel, CelestialBodyOrientation celestialBodyOrientation, Frame parentFrame, BSPEphemerisLoader.SpiceJ2000ConventionEnum convention, CelestialBodyEphemeris ephemeris)
name - name of the bodygravityModel - gravity modelcelestialBodyOrientation - celestial body orientationparentFrame - parent frame (usually it should be the ICRF centered on the parent body)convention - spice convention for BSP framesephemeris - ephemerisIllegalStateException - if the celestial body orientation is nor a CelestialBodyIAUOrientation or a
CelestialBodyTabulatedOrientation implementationprotected AbstractCelestialBody(String name, double gm, CelestialBodyOrientation celestialBodyOrientation, Frame parentFrame)
name - name of the bodygm - gravitational attraction coefficient (in m3/s2)celestialBodyOrientation - celestial body orientationparentFrame - parent frame (usually it should be the ICRF centered on the parent body)IllegalStateException - if the celestial body orientation is nor a CelestialBodyIAUOrientation or a
CelestialBodyTabulatedOrientation implementationprotected AbstractCelestialBody(String name, double gm, CelestialBodyOrientation celestialBodyOrientation, Frame parentFrame, CelestialBodyEphemeris ephemeris)
name - name of the bodygm - gravitational attraction coefficient (in m3/s2)celestialBodyOrientation - celestial body orientationparentFrame - parent frame (usually it should be the ICRF centered on the parent body)ephemeris - ephemerisIllegalStateException - if the celestial body orientation is nor a CelestialBodyIAUOrientation or a
CelestialBodyTabulatedOrientation implementationprotected AbstractCelestialBody(String name, double gm, CelestialBodyEphemeris ephemeris, CelestialBodyFrame icrf)
name - name of the bodygm - gravitational attraction coefficient (in m3/s2)ephemeris - ephemerisicrf - icrf frame centered on this bodypublic CelestialBodyOrientation getOrientation()
getOrientation in interface CelestialBodypublic void setOrientation(CelestialBodyOrientation celestialBodyOrientationIn)
setOrientation in interface CelestialBodycelestialBodyOrientationIn - the celestial body orientationpublic CelestialBodyFrame getInertialFrame() throws PatriusException
getInertialFrame in interface CelestialBodyPatriusException - if frame cannot be retrievedpublic CelestialBodyFrame getRotatingFrame() throws PatriusException
getRotatingFrame in interface CelestialBodyPatriusException - if frame cannot be retrievedpublic BodyShape getShape()
getShape in interface CelestialBodypublic final void setShape(BodyShape shapeIn)
setShape in interface CelestialBodyshapeIn - the shape of the bodypublic GravityModel getGravityModel()
getGravityModel in interface CelestialBodypublic final void setGravityModel(GravityModel modelIn)
setGravityModel in interface CelestialBodymodelIn - the gravitational attraction modelpublic double getGM()
Warning: attraction model should not be null (it is not null by default).
getGM in interface CelestialPointgetGM in class AbstractCelestialPointpublic void setGM(double gmIn)
setGM in interface CelestialPointsetGM in class AbstractCelestialPointgmIn - the central attraction coefficient (m3/s2)public String toString()
toString in interface CelestialPointtoString in class AbstractCelestialPointCopyright © 2024 CNES. All rights reserved.