Class FrameFacade
java.lang.Object
org.orekit.files.ccsds.definitions.FrameFacade
Facade in front of several frames types in CCSDS messages.
- Since:
- 11.0
- Author:
- Luc Maisonobe, Vincent Cucchietti
-
Constructor Summary
ConstructorsConstructorDescriptionFrameFacade(Frame frame, CelestialBodyFrame celestialBodyFrame, OrbitRelativeFrame orbitRelativeFrame, SpacecraftBodyFrame spacecraftBodyFrame, String name) Simple constructor. -
Method Summary
Modifier and TypeMethodDescriptionGet the associatedcelestial body frame.asFrame()Get the associated frame tree node.Get the associatedorbit relative frame.Get the associatedspacecraft body frame.getName()Get the CCSDS name for the frame.static TransformgetTransform(FrameFacade frameIn, FrameFacade frameOut, Frame inertialPivotFrame, AbsoluteDate date, PVCoordinatesProvider pv) Get the transform betweenCCSDS frames.static FrameFacadeMap an Orekit frame to a CCSDS frame facade.static FrameFacadeparse(String name, IERSConventions conventions, boolean simpleEOP, DataContext dataContext, boolean allowCelestial, boolean allowOrbit, boolean allowSpacecraft) Simple constructor.
-
Constructor Details
-
FrameFacade
public FrameFacade(Frame frame, CelestialBodyFrame celestialBodyFrame, OrbitRelativeFrame orbitRelativeFrame, SpacecraftBodyFrame spacecraftBodyFrame, String name) Simple constructor.At most one of
celestialBodyFrame,orbitRelativeFrameorspacecraftBodyFramemay be non null. They may all be null if frame is unknown, in which case only the name will be available.- Parameters:
frame- reference to node in Orekit frames tree (may be null)celestialBodyFrame- reference to celestial body centered frame (may be null)orbitRelativeFrame- reference to orbit-relative frame (may be null)spacecraftBodyFrame- reference to spacecraft body frame (may be null)name- name of the frame
-
-
Method Details
-
asFrame
Get the associated frame tree node.- Returns:
- associated frame tree node, or null if none exists
-
asCelestialBodyFrame
Get the associatedcelestial body frame.- Returns:
- associated celestial body frame, or null if frame is associated to a
orbit, aspacecraftor is not supported
-
asOrbitRelativeFrame
Get the associatedorbit relative frame.- Returns:
- associated orbit relative frame, or null if frame is associated to a
celestial body, aspacecraftor is not supported
-
asSpacecraftBodyFrame
Get the associatedspacecraft body frame.- Returns:
- associated spacecraft body frame, or null if frame is associated to a
celestial body, anorbitor is not supported
-
getName
Get the CCSDS name for the frame.- Returns:
- CCSDS name
-
map
Map an Orekit frame to a CCSDS frame facade.- Parameters:
frame- a reference frame.- Returns:
- the CCSDS frame corresponding to the Orekit frame
-
parse
public static FrameFacade parse(String name, IERSConventions conventions, boolean simpleEOP, DataContext dataContext, boolean allowCelestial, boolean allowOrbit, boolean allowSpacecraft) Simple constructor.- Parameters:
name- name of the frameconventions- IERS conventions to usesimpleEOP- if true, tidal effects are ignored when interpolating EOPdataContext- to use when creating the frameallowCelestial- if true,CelestialBodyFrameare allowedallowOrbit- if true,OrbitRelativeFrameare allowedallowSpacecraft- if true,SpacecraftBodyFrameare allowed- Returns:
- frame facade corresponding to the CCSDS name
-
getTransform
public static Transform getTransform(FrameFacade frameIn, FrameFacade frameOut, Frame inertialPivotFrame, AbsoluteDate date, PVCoordinatesProvider pv) Get the transform betweenCCSDS frames.In case both input and output frames are
orbit relative frame, the returned transform will only be composed of arotation. Onlycommonly used orbit relative frameswill be recognized.Note that if the input/output
then an exception will be thrown (currently not supported).CCSDS frameis defined using a :Note that the pivot frame provided must be inertial and consistent to what you are working with (i.e GCRF if around Earth for example).
- Parameters:
frameIn- the inputCCSDS frameto convert fromframeOut- the outputCCSDS frameto convert toinertialPivotFrame- inertial frame used as a pivot to create the transformdate- the date for the transformpv- the position and velocity coordinates provider (required in case one of the frames is anorbit relative frame)- Returns:
- the transform between
CCSDS frames.
-