Class ECEFFrame

All Implemented Interfaces:
Frame, Serializable, Cloneable

public class ECEFFrame extends ECIorECEFFrame<ECEFFrame> implements Cloneable
Contains position, velocity and coordinates transformation matrix expressed in ECEF frame. Position and velocity of this frame is expressed along ECEF axes as described here: FrameType.EARTH_CENTERED_EARTH_FIXED_FRAME.
See Also:
  • Constructor Details

    • ECEFFrame

      public ECEFFrame()
      Constructor. Initializes position and velocity coordinates to zero and the coordinate transformation matrix to the identity.
    • ECEFFrame

      Constructor.
      Parameters:
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(double x, double y, double z)
      Constructor.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(com.irurueta.geometry.Point3D position)
      Constructor.
      Parameters:
      position - body position expressed in meters (m) and resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(com.irurueta.units.Distance positionX, com.irurueta.units.Distance positionY, com.irurueta.units.Distance positionZ)
      Constructor.
      Parameters:
      positionX - cartesian x coordinate of body position to be set resolved along ECEF-frame axes.
      positionY - cartesian y coordinate of body position to be set resolved along ECEF-frame axes.
      positionZ - cartesian z coordinate of body position to be set resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(ECEFPosition position)
      Constructor.
      Parameters:
      position - cartesian position.
    • ECEFFrame

      public ECEFFrame(double x, double y, double z, double vx, double vy, double vz)
      Constructor.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) and resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) and resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) and resolved along ECEF-frame axes.
      vx - x coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vy - y coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vz - z coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(ECEFPosition position, double vx, double vy, double vz)
      Constructor.
      Parameters:
      position - cartesian position.
      vx - x coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vy - y coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vz - z coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(com.irurueta.geometry.Point3D position, double vx, double vy, double vz)
      Constructor.
      Parameters:
      position - body position expressed in meters (m) and resolved along ECEF-frame axes.
      vx - x coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vy - y coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vz - z coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(com.irurueta.geometry.Point3D position, com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ)
      Constructor.
      Parameters:
      position - body position expressed in meters (m) and resolved along ECEF-frame axes.
      speedX - x coordinate of velocity to be set resolved along ECEF-frame axes.
      speedY - y coordinate of velocity to be set resolved along ECEF-frame axes.
      speedZ - z coordinate of velocity to be set resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(ECEFPosition position, com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ)
      Constructor.
      Parameters:
      position - cartesian position.
      speedX - x coordinate of velocity to be set resolved along ECEF-frame axes.
      speedY - y coordinate of velocity to be set resolved along ECEF-frame axes.
      speedZ - z coordinate of velocity to be set resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(com.irurueta.geometry.Point3D position, ECEFVelocity velocity)
      Constructor.
      Parameters:
      position - body position expressed in meters (m) and resolved along ECEF-frame axes.
      velocity - velocity to be set resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(double x, double y, double z, com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ)
      Constructor.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      speedX - x coordinate of velocity to be set resolved along ECEF-frame axes.
      speedY - y coordinate of velocity to be set resolved along ECEF-frame axes.
      speedZ - z coordinate of velocity to be set resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(double x, double y, double z, ECEFVelocity velocity)
      Constructor.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      velocity - velocity to be set resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(com.irurueta.units.Distance positionX, com.irurueta.units.Distance positionY, com.irurueta.units.Distance positionZ, double vx, double vy, double vz)
      Constructor.
      Parameters:
      positionX - cartesian x coordinate of body position to be set, resolved along ECEF-frame axes.
      positionY - cartesian y coordinate of body position to be set, resolved along ECEF-frame axes.
      positionZ - cartesian z coordinate of body position to be set, resolved along ECEF-frame axes.
      vx - x coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vy - y coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vz - z coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(com.irurueta.units.Distance positionX, com.irurueta.units.Distance positionY, com.irurueta.units.Distance positionZ, com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ)
      Constructor.
      Parameters:
      positionX - cartesian x coordinate of body position to be set, resolved along ECEF-frame axes.
      positionY - cartesian y coordinate of body position to be set, resolved along ECEF-frame axes.
      positionZ - cartesian z coordinate of body position to be set, resolved along ECEF-frame axes.
      speedX - x coordinate of velocity to be set, resolved along ECEF-frame axes.
      speedY - y coordinate of velocity to be set, resolved along ECEF-frame axes.
      speedZ - z coordinate of velocity to be set, resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(com.irurueta.units.Distance positionX, com.irurueta.units.Distance positionY, com.irurueta.units.Distance positionZ, ECEFVelocity velocity)
      Constructor.
      Parameters:
      positionX - cartesian x coordinate of body position to be set, resolved along ECEF-frame axes.
      positionY - cartesian y coordinate of body position to be set, resolved along ECEF-frame axes.
      positionZ - cartesian z coordinate of body position to be set, resolved along ECEF-frame axes.
      velocity - velocity to be set resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(ECEFPosition position, ECEFVelocity velocity)
      Constructor.
      Parameters:
      position - cartesian position.
      velocity - velocity to be set resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(ECEFPositionAndVelocity positionAndVelocity)
      Constructor.
      Parameters:
      positionAndVelocity - position and velocity to be set resolved along ECEF-frame axes.
    • ECEFFrame

      public ECEFFrame(double x, double y, double z, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      Constructor.
      Parameters:
      position - cartesian position.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(com.irurueta.geometry.Point3D position, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      position - body position expressed in meters (m) and resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(com.irurueta.units.Distance positionX, com.irurueta.units.Distance positionY, com.irurueta.units.Distance positionZ, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      positionX - cartesian x coordinate of body position to be set, resolved along ECEF-frame axes.
      positionY - cartesian y coordinate of body position to be set, resolved along ECEF-frame axes.
      positionZ - cartesian z coordinate of body position to be set, resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(double x, double y, double z, double vx, double vy, double vz, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      vx - x coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vy - y coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vz - z coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(ECEFPosition position, double vx, double vy, double vz, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      position - cartesian position.
      vx - x coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vy - y coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vz - z coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(double x, double y, double z, ECEFVelocity velocity, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      velocity - velocity to be set resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      Constructor.
      Parameters:
      position - cartesian position.
      velocity - velocity to be set resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      Constructor.
      Parameters:
      positionAndVelocity - position and velocity to be set resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(com.irurueta.geometry.Point3D position, double vx, double vy, double vz, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      position - body position expressed in meters (m) and resolved along ECEF-frame axes.
      vx - x coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vy - y coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vz - z coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(com.irurueta.geometry.Point3D position, ECEFVelocity velocity, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      position - body position expressed in meters (m) and resolved along ECEF-frame axes.
      velocity - velocity to be set resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(com.irurueta.geometry.Point3D position, com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      position - body position expressed in meters (m) and resolved along ECEF-frame axes.
      speedX - x coordinate of velocity to be set, resolved along ECEF-frame axes.
      speedY - y coordinate of velocity to be set, resolved along ECEF-frame axes.
      speedZ - z coordinate of velocity to be set, resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(ECEFPosition position, com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      position - cartesian position.
      speedX - x coordinate of velocity to be set, resolved along ECEF-frame axes.
      speedY - y coordinate of velocity to be set, resolved along ECEF-frame axes.
      speedZ - z coordinate of velocity to be set, resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(double x, double y, double z, com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      speedX - x coordinate of velocity to be set, resolved along ECEF-frame axes.
      speedY - y coordinate of velocity to be set, resolved along ECEF-frame axes.
      speedZ - z coordinate of velocity to be set, resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(com.irurueta.units.Distance positionX, com.irurueta.units.Distance positionY, com.irurueta.units.Distance positionZ, double vx, double vy, double vz, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      positionX - cartesian x coordinate of body position to be set, resolved along ECEF-frame axes.
      positionY - cartesian y coordinate of body position to be set, resolved along ECEF-frame axes.
      positionZ - cartesian z coordinate of body position to be set, resolved along ECEF-frame axes.
      vx - x coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vy - y coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      vz - z coordinate of velocity of body frame expressed in meters per second (m/s) and resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(com.irurueta.units.Distance positionX, com.irurueta.units.Distance positionY, com.irurueta.units.Distance positionZ, ECEFVelocity velocity, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      positionX - cartesian x coordinate of body position to be set, resolved along ECEF-frame axes.
      positionY - cartesian y coordinate of body position to be set, resolved along ECEF-frame axes.
      positionZ - cartesian z coordinate of body position to be set, resolved along ECEF-frame axes.
      velocity - velocity to be set resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(com.irurueta.units.Distance positionX, com.irurueta.units.Distance positionY, com.irurueta.units.Distance positionZ, com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ, CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Constructor.
      Parameters:
      positionX - cartesian x coordinate of body position to be set, resolved along ECEF-frame axes.
      positionY - cartesian y coordinate of body position to be set, resolved along ECEF-frame axes.
      positionZ - cartesian z coordinate of body position to be set, resolved along ECEF-frame axes.
      speedX - x coordinate of velocity to be set, resolved along ECEF-frame axes.
      speedY - y coordinate of velocity to be set, resolved along ECEF-frame axes.
      speedZ - z coordinate of velocity to be set, resolved along ECEF-frame axes.
      c - Body to ECEF coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • ECEFFrame

      public ECEFFrame(ECEFFrame input)
      Constructor.
      Parameters:
      input - ECEF frame to copy data from.
  • Method Details

    • getECEFPosition

      public void getECEFPosition(ECEFPosition result)
      Gets cartesian position.
      Parameters:
      result - instance where cartesian position will be stored.
    • getECEFPosition

      public ECEFPosition getECEFPosition()
      Gets cartesian position.
      Returns:
      cartesian position.
    • setPosition

      public void setPosition(ECEFPosition position)
      Sets cartesian position.
      Parameters:
      position - cartesian position to be set.
    • getECEFVelocity

      public void getECEFVelocity(ECEFVelocity result)
      Gets cartesian velocity.
      Parameters:
      result - instance where cartesian velocity will be stored.
    • getECEFVelocity

      public ECEFVelocity getECEFVelocity()
      Gets cartesian velocity.
      Returns:
      cartesian velocity.
    • setVelocity

      public void setVelocity(ECEFVelocity velocity)
      Sets cartesian velocity.
      Parameters:
      velocity - cartesian velocity to be set.
    • getPositionAndVelocity

      public void getPositionAndVelocity(ECEFPositionAndVelocity result)
      Gets cartesian position and velocity.
      Parameters:
      result - instance where cartesian position and velocity will be stored.
    • getPositionAndVelocity

      public ECEFPositionAndVelocity getPositionAndVelocity()
      Gets cartesian position and velocity.
      Returns:
      cartesian position and velocity.
    • setPositionAndVelocity

      public void setPositionAndVelocity(ECEFPositionAndVelocity positionAndVelocity)
      Sets cartesian position and velocity.
      Parameters:
      positionAndVelocity - cartesian position and velocity.
    • getCoordinateTransformation

      public CoordinateTransformation getCoordinateTransformation()
      Gets coordinate transformation matrix.
      Specified by:
      getCoordinateTransformation in interface Frame
      Returns:
      coordinate transformation matrix.
    • getCoordinateTransformation

      public void getCoordinateTransformation(CoordinateTransformation result)
      Gets coordinate transformation matrix.
      Specified by:
      getCoordinateTransformation in interface Frame
      Parameters:
      result - instance where coordinate transformation matrix will be copied to.
    • setCoordinateTransformation

      public void setCoordinateTransformation(CoordinateTransformation c) throws InvalidSourceAndDestinationFrameTypeException
      Sets coordinate transformation matrix. Provided value must be a body to ECEF transformation matrix.
      Specified by:
      setCoordinateTransformation in interface Frame
      Parameters:
      c - coordinate transformation matrix to be set.
      Throws:
      InvalidSourceAndDestinationFrameTypeException - if source or destination frame types are invalid.
    • isValidCoordinateTransformation

      public static boolean isValidCoordinateTransformation(CoordinateTransformation c)
      Checks whether provided coordinate transformation is valid or not. Only body to ECEF transformation matrices are considered to be valid.
      Parameters:
      c - coordinate transformation matrix to be checked.
      Returns:
      true if provided value is valid, false otherwise.
    • clone

      protected Object clone() throws CloneNotSupportedException
      Makes a copy of this instance.
      Overrides:
      clone in class Object
      Returns:
      a copy of this instance.
      Throws:
      CloneNotSupportedException - if clone fails for some reason.