Class ApmData

  • All Implemented Interfaces:
    Data, Section

    public class ApmData
    extends Object
    implements Data
    Container for Attitude Parameter Message data.
    Since:
    10.2
    Author:
    Bryan Cazabonne
    • Constructor Detail

      • ApmData

        public ApmData​(CommentsContainer commentsBlock,
                       AbsoluteDate epoch,
                       ApmQuaternion quaternionBlock,
                       Euler eulerBlock,
                       AngularVelocity angularVelocityBlock,
                       SpinStabilized spinStabilizedBlock,
                       Inertia inertia)
        Simple constructor.
        Parameters:
        commentsBlock - general comments block
        epoch - epoch of the data
        quaternionBlock - quaternion logical block (may be null in ADM V2 or later)
        eulerBlock - Euler angles logicial block (may be null)
        angularVelocityBlock - angular velocity block (may be null)
        spinStabilizedBlock - spin-stabilized logical block (may be null)
        inertia - inertia logical block (may be null)
    • Method Detail

      • validate

        public void validate​(double version)
        Check is all mandatory entries have been initialized.

        This method should throw an exception if some mandatory entries are missing or not compatible with version number.

        Specified by:
        validate in interface Section
        Parameters:
        version - format version
      • getComments

        public List<String> getComments()
        Get the comments.
        Returns:
        comments
      • getEpoch

        public AbsoluteDate getEpoch()
        Get the epoch of the data.
        Returns:
        epoch the epoch
        Since:
        12.0
      • getQuaternionBlock

        public ApmQuaternion getQuaternionBlock()
        Get the quaternion logical block.
        Returns:
        quaternion block
      • getEulerBlock

        public Euler getEulerBlock()
        Get the Euler angles logical block.
        Returns:
        Euler angles block (may be null)
      • getAngularVelocityBlock

        public AngularVelocity getAngularVelocityBlock()
        Get the angular velocity logical block.
        Returns:
        angular velocity block (may be null)
        Since:
        12.0
      • getSpinStabilizedBlock

        public SpinStabilized getSpinStabilizedBlock()
        Get the spin-stabilized logical block.
        Returns:
        spin-stabilized block (may be null)
      • getInertiaBlock

        public Inertia getInertiaBlock()
        Get the inertia logical block.
        Returns:
        inertia block (may be null)
      • getNbManeuvers

        public int getNbManeuvers()
        Get the number of maneuvers present in the APM.
        Returns:
        the number of maneuvers
      • getManeuvers

        public List<Maneuver> getManeuvers()
        Get a list of all maneuvers.
        Returns:
        unmodifiable list of all maneuvers.
      • getManeuver

        public Maneuver getManeuver​(int index)
        Get a maneuver.
        Parameters:
        index - maneuver index, counting from 0
        Returns:
        maneuver
      • addManeuver

        public void addManeuver​(Maneuver maneuver)
        Add a maneuver.
        Parameters:
        maneuver - maneuver to be set
      • hasManeuvers

        public boolean hasManeuvers()
        Get boolean testing whether the APM contains at least one maneuver.
        Returns:
        true if APM contains at least one maneuver false otherwise
      • getAttitude

        public Attitude getAttitude​(Frame frame,
                                    PVCoordinatesProvider pvProvider)
        Get the attitude.
        Parameters:
        frame - reference frame with respect to which attitude must be defined, (may be null if attitude is not orbit-relative and one wants attitude in the same frame as used in the attitude message)
        pvProvider - provider for spacecraft position and velocity (may be null if attitude is not orbit-relative)
        Returns:
        attitude
        Since:
        12.0