Interface EncounterLOF

All Superinterfaces:
LOF
All Known Implementing Classes:
AbstractEncounterLOF, DefaultEncounterLOF, ValsecchiEncounterFrame

public interface EncounterLOF extends LOF
Interface for encounter local orbital frame.

Encounter local orbital frame are defined using two objects, one of them is placed at the origin and the other is expressed relatively to the origin.

Since:
12.0
Author:
Vincent Cucchietti
  • Method Details

    • rotationFromInertial

      default <T extends CalculusFieldElement<T>> FieldRotation<T> rotationFromInertial(Field<T> field, FieldAbsoluteDate<T> date, FieldPVCoordinates<T> pv)
      Get the rotation from inertial frame to local orbital frame.

      This rotation does not include any time derivatives. If first time derivatives (i.e. rotation rate) is needed as well, the full LOF.transformFromInertial(FieldAbsoluteDate, FieldPVCoordinates) method must be called and the complete rotation transform must be extracted from it.

      It is unnecessary to use this method when dealing with EncounterLOF, use rotationFromInertial(Field, FieldPVCoordinates) instead.
      Specified by:
      rotationFromInertial in interface LOF
      Type Parameters:
      T - type of the field elements
      Parameters:
      field - field to which the elements belong
      date - date of the rotation
      pv - position-velocity of the spacecraft in some inertial frame
      Returns:
      rotation from inertial frame to local orbital frame
    • rotationFromInertial

      default Rotation rotationFromInertial(AbsoluteDate date, PVCoordinates pv)
      Get the rotation from inertial frame to local orbital frame.

      This rotation does not include any time derivatives. If first time derivatives (i.e. rotation rate) is needed as well, the full transformFromInertial method must be called and the complete rotation transform must be extracted from it.

      It is unnecessary to use this method when dealing with EncounterLOF, use rotationFromInertial(PVCoordinates) instead.
      Specified by:
      rotationFromInertial in interface LOF
      Parameters:
      date - date of the rotation
      pv - position-velocity of the spacecraft in some inertial frame
      Returns:
      rotation from inertial frame to local orbital frame
    • rotationFromInertial

      default <T extends CalculusFieldElement<T>> FieldRotation<T> rotationFromInertial(Field<T> field, FieldPVCoordinates<T> origin)
      Get the rotation from inertial to this encounter local orbital frame.

      BEWARE: The given origin's position and velocity coordinates must be given in the frame in which this instance has been expressed in.

      Type Parameters:
      T - type of the field elements
      Parameters:
      field - field to which the elements belong
      origin - position-velocity of the origin in the same inertial frame as the one this instance has been expressed in.
      Returns:
      rotation from inertial to this encounter local orbital frame
    • rotationFromInertial

      default Rotation rotationFromInertial(PVCoordinates origin)
      Get the rotation from inertial to this encounter local orbital frame.

      BEWARE: The given origin's position and velocity coordinates must be given in the frame in which this instance has been expressed in.

      Parameters:
      origin - position-velocity of the origin in some inertial frame
      Returns:
      rotation from inertial to this encounter local orbital frame
    • rotationFromInertial

      <T extends CalculusFieldElement<T>> FieldRotation<T> rotationFromInertial(Field<T> field, FieldPVCoordinates<T> origin, FieldPVCoordinates<T> other)
      Get the rotation from inertial to this encounter local orbital frame.

      BEWARE: The given origin's position and velocity coordinates must be given in the frame in which this instance has been expressed in.

      Type Parameters:
      T - type of the field elements
      Parameters:
      field - field to which the elements belong
      origin - position-velocity of the origin in the same inertial frame as other
      other - position-velocity of the other in the same inertial frame as origin
      Returns:
      rotation from inertial to this encounter local orbital frame
    • rotationFromInertial

      Rotation rotationFromInertial(PVCoordinates origin, PVCoordinates other)
      Get the rotation from inertial to this encounter local orbital frame.

      BEWARE: The given origin's position and velocity coordinates must be given in the frame in which this instance has been expressed in.

      Parameters:
      origin - position-velocity of the origin in the same inertial frame as other
      other - position-velocity of the other instance in the same inertial frame as origin
      Returns:
      rotation from inertial to this encounter local orbital frame
    • projectOntoCollisionPlane

      default RealMatrix projectOntoCollisionPlane(RealMatrix matrix)
      Project given matrix expressed in this encounter local orbital frame onto the collision plane.
      Parameters:
      matrix - matrix to project, a 3 by 3 matrix is expected
      Returns:
      projected matrix onto the collision plane defined by this encounter local orbital frame
    • computeProjectionMatrix

      default RealMatrix computeProjectionMatrix()
      Get the 2x3 projection matrix that projects values expressed in this encounter local orbital frame to the collision plane.
      Returns:
      2x3 projection matrix
    • projectOntoCollisionPlane

      default <T extends CalculusFieldElement<T>> FieldMatrix<T> projectOntoCollisionPlane(FieldMatrix<T> matrix)
      Project given matrix expressed in this encounter local orbital frame onto the collision plane defined by this same encounter local orbital frame.
      Type Parameters:
      T - type of the field elements
      Parameters:
      matrix - matrix to project, a 3 by 3 matrix is expected
      Returns:
      projected matrix onto the collision plane defined by this encounter local orbital frame
    • computeProjectionMatrix

      default <T extends CalculusFieldElement<T>> FieldMatrix<T> computeProjectionMatrix(Field<T> field)
      Get the 2x3 projection matrix that projects values expressed in this encounter local orbital frame to the collision plane defined by this same encounter local orbital frame.
      Type Parameters:
      T - type of the field elements
      Parameters:
      field - field to which the elements belong
      Returns:
      2x3 projection matrix
    • getAxisNormalToCollisionPlane

      <T extends CalculusFieldElement<T>> FieldVector3D<T> getAxisNormalToCollisionPlane(Field<T> field)
      Get the axis normal to the collision plane (i, j or k) in this encounter local orbital frame.
      Type Parameters:
      T - type of the field elements
      Parameters:
      field - field of the elements
      Returns:
      axis normal to the collision plane (i, j or k) in this encounter local orbital frame
    • projectOntoCollisionPlane

      default Vector2D projectOntoCollisionPlane(Vector3D vector)
      Project given vector expressed in this encounter local orbital frame onto the collision plane.
      Parameters:
      vector - vector to project
      Returns:
      projected vector onto the collision plane defined by this encounter local orbital frame
    • projectOntoCollisionPlane

      default <T extends CalculusFieldElement<T>> FieldVector2D<T> projectOntoCollisionPlane(FieldVector3D<T> vector)
      Project given vector expressed in this encounter local orbital frame onto the collision plane.
      Type Parameters:
      T - type of the field elements
      Parameters:
      vector - vector to project
      Returns:
      projected vector onto the collision plane defined by this encounter local orbital frame
    • getFieldOther

      <T extends CalculusFieldElement<T>> FieldPVCoordinates<T> getFieldOther(Field<T> field)
      Get other's position and velocity coordinates.
      Type Parameters:
      T - type of the element
      Parameters:
      field - field of the element
      Returns:
      other's position and velocity coordinates
    • getAxisNormalToCollisionPlane

      Vector3D getAxisNormalToCollisionPlane()
      Get the axis normal to the collision plane (i, j or k) in this encounter local orbital frame.
      Returns:
      axis normal to the collision plane (i, j or k) in this encounter local orbital frame
    • getOther

      PVCoordinates getOther()
      Get other's position and velocity coordinates.
      Returns:
      other's position and velocity coordinates
    • isQuasiInertial

      default boolean isQuasiInertial()
      Get flag that indicates if current local orbital frame shall be treated as pseudo-inertial.
      Specified by:
      isQuasiInertial in interface LOF
      Returns:
      flag that indicates if current local orbital frame shall be treated as pseudo-inertial