Class GroundPointing

java.lang.Object
org.orekit.attitudes.GroundPointing
All Implemented Interfaces:
AttitudeProvider, AttitudeRotationModel, EventDetectorsProvider, ParameterDriversProvider
Direct Known Subclasses:
BodyCenterPointing, GroundPointingAttitudeModifier, LofOffsetPointing, NadirPointing, TargetPointing

public abstract class GroundPointing extends Object implements AttitudeProvider
Base class for ground pointing attitude providers.

This class is a basic model for different kind of ground pointing attitude providers, such as : body center pointing, nadir pointing, target pointing, etc...

The object GroundPointing is guaranteed to be immutable.

Author:
Véronique Pommier-Maurussane
See Also:
  • Constructor Details

    • GroundPointing

      protected GroundPointing(Frame inertialFrame, Frame bodyFrame)
      Default constructor. Build a new instance with arbitrary default elements.
      Parameters:
      inertialFrame - frame in which orbital velocities are computed
      bodyFrame - the frame that rotates with the body
      Since:
      7.1
  • Method Details

    • getBodyFrame

      public Frame getBodyFrame()
      Get the body frame.
      Returns:
      body frame
    • getTargetPV

      protected abstract TimeStampedPVCoordinates getTargetPV(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
      Compute the target point position/velocity in specified frame.
      Parameters:
      pvProv - provider for PV coordinates
      date - date at which target point is requested
      frame - frame in which observed ground point should be provided
      Returns:
      observed ground point position (element 0) and velocity (at index 1) in specified frame
    • getTargetPV

      protected abstract <T extends CalculusFieldElement<T>> TimeStampedFieldPVCoordinates<T> getTargetPV(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame)
      Compute the target point position/velocity in specified frame.
      Type Parameters:
      T - type of the field elements
      Parameters:
      pvProv - provider for PV coordinates
      date - date at which target point is requested
      frame - frame in which observed ground point should be provided
      Returns:
      observed ground point position (element 0) and velocity (at index 1) in specified frame
      Since:
      9.0
    • getTargetPosition

      protected Vector3D getTargetPosition(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
      Compute the target point position in specified frame.
      Parameters:
      pvProv - provider for PV coordinates
      date - date at which target point is requested
      frame - frame in which observed ground point should be provided
      Returns:
      observed ground point position in specified frame
      Since:
      12.0
    • getTargetPosition

      protected <T extends CalculusFieldElement<T>> FieldVector3D<T> getTargetPosition(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame)
      Compute the target point position in specified frame.
      Type Parameters:
      T - type of the field elements
      Parameters:
      pvProv - provider for PV coordinates
      date - date at which target point is requested
      frame - frame in which observed ground point should be provided
      Returns:
      observed ground point position in specified frame
      Since:
      12.0
    • getAttitude

      public Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
      Compute the attitude corresponding to an orbital state.
      Specified by:
      getAttitude in interface AttitudeProvider
      Parameters:
      pvProv - local position-velocity provider around current date
      date - current date
      frame - reference frame from which attitude is computed
      Returns:
      attitude on the specified date and position-velocity state
    • getAttitude

      public <T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame)
      Compute the attitude corresponding to an orbital state.
      Specified by:
      getAttitude in interface AttitudeProvider
      Type Parameters:
      T - type of the field elements
      Parameters:
      pvProv - local position-velocity provider around current date
      date - current date
      frame - reference frame from which attitude is computed
      Returns:
      attitude on the specified date and position-velocity state
    • getAttitudeRotation

      public Rotation getAttitudeRotation(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
      Compute the attitude-related rotation corresponding to an orbital state.
      Specified by:
      getAttitudeRotation in interface AttitudeProvider
      Parameters:
      pvProv - local position-velocity provider around current date
      date - current date
      frame - reference frame from which attitude is computed
      Returns:
      attitude-related rotation on the specified date and position-velocity state
    • getAttitudeRotation

      public <T extends CalculusFieldElement<T>> FieldRotation<T> getAttitudeRotation(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame)
      Compute the attitude-related rotation corresponding to an orbital state.
      Specified by:
      getAttitudeRotation in interface AttitudeProvider
      Type Parameters:
      T - type of the field elements
      Parameters:
      pvProv - local position-velocity provider around current date
      date - current date
      frame - reference frame from which attitude is computed
      Returns:
      rotation on the specified date and position-velocity state