Class ApmData

java.lang.Object
org.orekit.files.ccsds.ndm.adm.apm.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 Details

    • 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 Details

    • 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