Interface Frame

All Known Implementing Classes:
ECEFFrame, ECIFrame, ECIorECEFFrame, NEDFrame

public interface Frame
Base interface for frames.
  • Method Details

    • getCoordinateTransformation

      CoordinateTransformation getCoordinateTransformation()
      Gets coordinate transformation.
      Returns:
      coordinate transformation.
    • getCoordinateTransformation

      void getCoordinateTransformation(CoordinateTransformation result)
      Gets coordinate transformation.
      Parameters:
      result - instance where coordinate transformation will be copied to.
    • setCoordinateTransformation

      void setCoordinateTransformation(CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Sets coordinate transformation. Provided value must be a body to ECEF transformation.
      Parameters:
      c - coordinate transformation to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • getCoordinateTransformationMatrix

      com.irurueta.algebra.Matrix getCoordinateTransformationMatrix()
      Gets coordinate transformation matrix. This is equivalent to calling getCoordinateTransformation().getMatrix(), but more efficient.
      Returns:
      coordinate transformation matrix.
    • getCoordinateTransformationMatrix

      void getCoordinateTransformationMatrix(com.irurueta.algebra.Matrix result)
      Gets coordinate transformation matrix. This is equivalent to calling getCoordinateTransformation().getMatrix(), but more efficient
      Parameters:
      result - instance where coordinate transformation matrix will be copied to.
    • setCoordinateTransformationMatrix

      void setCoordinateTransformationMatrix(com.irurueta.algebra.Matrix matrix, double threshold) throws com.irurueta.geometry.InvalidRotationMatrixException
      Sets coordinate transformation matrix keeping current source and destination FrameType. This is more efficient than getting a copy of coordinate transformation calling to getCoordinateTransformation(), setting coordinate matrix into copied coordinate transformation and then setting the coordinate transformation calling setCoordinateTransformation(CoordinateTransformation).
      Parameters:
      matrix - a 3x3 coordinate transformation matrix to be set.
      threshold - threshold to validate rotation matrix.
      Throws:
      com.irurueta.geometry.InvalidRotationMatrixException - if provided matrix is not a valid rotation matrix (3x3 and orthonormal).
      IllegalArgumentException - if provided threshold is negative.
    • setCoordinateTransformationMatrix

      void setCoordinateTransformationMatrix(com.irurueta.algebra.Matrix matrix) throws com.irurueta.geometry.InvalidRotationMatrixException
      Sts coordinate transformation matrix keeping current source and destination FrameType. This is more efficient than getting a copy of coordinate transformation calling to getCoordinateTransformation(), setting coordinate matrix into copied coordinate transformation and then setting the coordinate transformation calling setCoordinateTransformation(CoordinateTransformation).
      Parameters:
      matrix - a 3x3 coordinate transformation matrix to be set.
      Throws:
      com.irurueta.geometry.InvalidRotationMatrixException - if provided matrix is not a valid rotation matrix (3x3 and orthonormal).
    • getCoordinateTransformationRotation

      com.irurueta.geometry.Rotation3D getCoordinateTransformationRotation() throws com.irurueta.geometry.InvalidRotationMatrixException
      Gets coordinate transformation as a new 3D rotation instance. This is equivalent to calling getCoordinateTransformation().asRotation(), but more efficient.
      Returns:
      new coordinate transformation as a 3D rotation.
      Throws:
      com.irurueta.geometry.InvalidRotationMatrixException - if internal matrix cannot be converted to a 3D rotation.
    • getCoordinateTransformationRotation

      void getCoordinateTransformationRotation(com.irurueta.geometry.Rotation3D result) throws com.irurueta.geometry.InvalidRotationMatrixException
      Gets coordinate transformation as a 3D rotation. This is equivalent to calling getCoordinateTransformation().asRotation(), but more efficient.
      Parameters:
      result - instance where coordinate transformation 3D rotation will be copied to.
      Throws:
      com.irurueta.geometry.InvalidRotationMatrixException - if internal matrix cannot be converted to a 3D rotation.
    • setCoordinateTransformationRotation

      void setCoordinateTransformationRotation(com.irurueta.geometry.Rotation3D rotation)
      Sets coordinate transformation from 3D rotation and keeping current source and destination FrameType. This is more efficient than getting a copy of coordinate transformation calling to getCoordinateTransformation(), setting rotation into copied coordinate transformation and then setting the coordinate transformation calling setCoordinateTransformation(CoordinateTransformation).
      Parameters:
      rotation - set rotation into current coordinate rotation.