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 Detail

      • 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