Interface CcsdsFrameMapper

  • All Known Implementing Classes:
    OrekitCcsdsFrameMapper

    public interface CcsdsFrameMapper
    An interface for creating an Orekit Frame from the specification in a CCSDS NDM file. Note that CCSDS uses "frame" to mean only orientation, while Orekit uses "frame" to mean origin and orientation. Some NDM files provide different information, so there are several methods in the interface:

    Notes for implementors: Orekit will shortcut frame transformations if frames are ==. So for best performance, memoize created frames, similar to how Frames is implemented. Also, EphemerisFile.EphemerisSegment.getInertialFrame() uses the closest frame ancestor by default, so it is better to do translations first, then rotations.

    Since:
    14.0
    Author:
    Evan M. Ward
    • Method Detail

      • buildCcsdsFrame

        Frame buildCcsdsFrame​(FrameFacade orientation,
                              AbsoluteDate frameEpoch)
        Create an Orekit Frame from the alignment specified in a CCSDS NDM.
        Parameters:
        orientation - the attitude of the returned frame.
        frameEpoch - the epoch of the returned frame, if not intrinsic to the definition of the reference frame. May be null if not specified in the file. Many frames will ignore this value.
        Returns:
        a Frame with the given orientation. Never null.
        Throws:
        OrekitException - if a frame cannot be constructed for the given orientation.
        Since:
        14.0
      • buildCcsdsFrame

        Frame buildCcsdsFrame​(BodyFacade center,
                              FrameFacade orientation,
                              AbsoluteDate frameEpoch)
        Create an Orekit Frame from the center, alignment, and epoch specified in a CCSDS NDM.
        Parameters:
        center - the origin of the returned frame.
        orientation - the attitude of the returned frame.
        frameEpoch - the epoch of the returned frame, if not intrinsic to the definition of the reference frame. May be null if not specified in the file. Many frames will ignore this value.
        Returns:
        a Frame with the given center and orientation. Never null.
        Throws:
        OrekitException - if a frame cannot be constructed for the given center and orientation.
        Since:
        14.0