Class ECIorECEFFrame<T extends ECIorECEFFrame<?>>

java.lang.Object
com.irurueta.navigation.frames.ECIorECEFFrame<T>
All Implemented Interfaces:
Frame, Serializable
Direct Known Subclasses:
ECEFFrame, ECIFrame

public abstract class ECIorECEFFrame<T extends ECIorECEFFrame<?>> extends Object implements Frame, Serializable
Base class for ECI or ECEF frames containing common logic and data for such frames.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) CoordinateTransformation
    Body to ECI frame coordinate transformation matrix.
    (package private) Class<T>
    Actual type class
    static final int
    Number of coordinates representing position.
    static final int
    Number of coordinates representing velocity.
    (package private) double
    X coordinate of velocity of body frame expressed in meters per second (m/s) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
    (package private) double
    Y coordinate of velocity of body frame expressed in meters per second (m/s) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
    (package private) double
    Z coordinate of velocity of body frame expressed in meters per second (m/s) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
    (package private) double
    Cartesian x coordinate of body position expressed in meters (m) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
    (package private) double
    Cartesian y coordinate of body position expressed in meters (m) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
    (package private) double
    Cartesian z coordinate of body position expressed in meters (m) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    copyFrom(T input)
    Copies data of provided instance into this instance.
    void
    copyTo(T output)
    Copies this instance data into provided instance.
    boolean
    Checks if provided instance has exactly the same contents as this instance.
    boolean
    equals(T other, double threshold)
    Checks if provided instance has contents similar to this instance up to provided threshold value.
    com.irurueta.algebra.Matrix
    Gets coordinate transformation matrix.
    void
    getCoordinateTransformationMatrix(com.irurueta.algebra.Matrix result)
    Gets coordinate transformation matrix.
    com.irurueta.geometry.Rotation3D
    Gets coordinate transformation as a new 3D rotation instance.
    void
    getCoordinateTransformationRotation(com.irurueta.geometry.Rotation3D result)
    Gets coordinate transformation as a 3D rotation.
    com.irurueta.geometry.Point3D
    Gets body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
    void
    getPosition(com.irurueta.geometry.Point3D result)
    Gets body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
    double
    Gets norm of position expressed in meters (m), which represents the distance to Earth's center of mass.
    com.irurueta.units.Distance
    Gets norm of position, which represents the distance to Earth's center of mass.
    void
    getPositionNormAsDistance(com.irurueta.units.Distance result)
    Gets norm of position, which represents the distance to Earth's center of mass.
    com.irurueta.units.Distance
    Gets cartesian x coordinate of body position resolved along ECI or ECEF-frame axes.
    void
    getPositionX(com.irurueta.units.Distance result)
    Gets cartesian x coordinate of body position resolved along ECI or ECEF-frame axes.
    com.irurueta.units.Distance
    Gets cartesian y coordinate of body position resolved along ECI or ECEF-frame axes.
    void
    getPositionY(com.irurueta.units.Distance result)
    Gets cartesian y coordinate of body position resolved along ECI or ECEF-frame axes.
    com.irurueta.units.Distance
    Gets cartesian z coordinate of body position resolved along ECI or ECEF-frame axes.
    void
    getPositionZ(com.irurueta.units.Distance result)
    Gets cartesian z coordinate of body position resolved along ECI or ECEF-frame axes.
    com.irurueta.units.Speed
    Gets x coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
    void
    getSpeedX(com.irurueta.units.Speed result)
    Gets x coordinate of velocity of body frame resolved along ECEF-frame axes.
    com.irurueta.units.Speed
    Gets y coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
    void
    getSpeedY(com.irurueta.units.Speed result)
    Gets y coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
    com.irurueta.units.Speed
    Gets z coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
    void
    getSpeedZ(com.irurueta.units.Speed result)
    Gets z coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
    double
    Gets norm of velocity expressed in meters per second (m/s), which represents the speed of the body.
    com.irurueta.units.Speed
    Gets norm of velocity, which represents the speed of the body.
    void
    getVelocityNormAsSpeed(com.irurueta.units.Speed result)
    Gets norm of velocity, which represents the speed of the body.
    double
    Gets x coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
    double
    Gets y coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
    double
    Gets z coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
    double
    Gets cartesian x coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
    double
    Gets cartesian y coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
    double
    Gets cartesian z coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
    int
    Computes and returns hash code for this instance.
    void
    setCoordinates(double x, double y, double z)
    Sets cartesian coordinates of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
    void
    setCoordinateTransformationMatrix(com.irurueta.algebra.Matrix matrix)
    Sts coordinate transformation matrix keeping current source and destination FrameType.
    void
    setCoordinateTransformationMatrix(com.irurueta.algebra.Matrix matrix, double threshold)
    Sets coordinate transformation matrix keeping current source and destination FrameType.
    void
    setCoordinateTransformationRotation(com.irurueta.geometry.Rotation3D rotation)
    Sets coordinate transformation from 3D rotation and keeping current source and destination FrameType.
    void
    setPosition(com.irurueta.geometry.Point3D point)
    Sets body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
    void
    setPositionCoordinates(com.irurueta.units.Distance positionX, com.irurueta.units.Distance positionY, com.irurueta.units.Distance positionZ)
    Sets cartesian coordinates of body position resolved along ECI or ECEF-frame axes.
    void
    setPositionX(com.irurueta.units.Distance positionX)
    Sets cartesian x coordinate of body position resolved along ECI or ECEF-frame axes.
    void
    setPositionY(com.irurueta.units.Distance positionY)
    Sets cartesian y coordinate of body position resolved along ECI or ECEF-frame axes.
    void
    setPositionZ(com.irurueta.units.Distance positionZ)
    Sets cartesian z coordinate of body position resolved along ECI or ECEF-frame axes.
    void
    setSpeedCoordinates(com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ)
    Sets velocity coordinates of body frame resolved along ECI or ECEF-frame axes.
    void
    setSpeedX(com.irurueta.units.Speed speedX)
    Sets x coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
    void
    setSpeedY(com.irurueta.units.Speed speedY)
    Sets y coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
    void
    setSpeedZ(com.irurueta.units.Speed speedZ)
    Sets z coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
    void
    setVelocityCoordinates(double vx, double vy, double vz)
    Sets velocity coordinates of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
    void
    setVx(double vx)
    Sets x coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
    void
    setVy(double vy)
    Sets y coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
    void
    setVz(double vz)
    Sets z coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
    void
    setX(double x)
    Sets cartesian x coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
    void
    setY(double y)
    Sets cartesian y coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
    void
    setZ(double z)
    Sets cartesian z coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.irurueta.navigation.frames.Frame

    getCoordinateTransformation, getCoordinateTransformation, setCoordinateTransformation
  • Field Details

    • NUM_POSITION_COORDINATES

      public static final int NUM_POSITION_COORDINATES
      Number of coordinates representing position.
      See Also:
    • NUM_VELOCITY_COORDINATES

      public static final int NUM_VELOCITY_COORDINATES
      Number of coordinates representing velocity.
      See Also:
    • x

      double x
      Cartesian x coordinate of body position expressed in meters (m) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
    • y

      double y
      Cartesian y coordinate of body position expressed in meters (m) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
    • z

      double z
      Cartesian z coordinate of body position expressed in meters (m) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
    • vx

      double vx
      X coordinate of velocity of body frame expressed in meters per second (m/s) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
    • vy

      double vy
      Y coordinate of velocity of body frame expressed in meters per second (m/s) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
    • vz

      double vz
      Z coordinate of velocity of body frame expressed in meters per second (m/s) with respect ECI or ECEF frame, resolved along the corresponding frame axes.
    • c

      Body to ECI frame coordinate transformation matrix.
    • clazz

      transient Class<T extends ECIorECEFFrame<?>> clazz
      Actual type class
  • Constructor Details

  • Method Details

    • getX

      public double getX()
      Gets cartesian x coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
      Returns:
      cartesian x coordinate of body position.
    • setX

      public void setX(double x)
      Sets cartesian x coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
      Parameters:
      x - cartesian x coordinate of body position.
    • getY

      public double getY()
      Gets cartesian y coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
      Returns:
      cartesian y coordinate of body position.
    • setY

      public void setY(double y)
      Sets cartesian y coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
      Parameters:
      y - cartesian y coordinate of body position.
    • getZ

      public double getZ()
      Gets cartesian z coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
      Returns:
      cartesian z coordinate of body position.
    • setZ

      public void setZ(double z)
      Sets cartesian z coordinate of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
      Parameters:
      z - cartesian z coordinate of body position.
    • setCoordinates

      public void setCoordinates(double x, double y, double z)
      Sets cartesian coordinates of body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
      Parameters:
      x - cartesian x coordinate of body position, resolved along ECI or ECEF-frame axes.
      y - cartesian y coordinate of body position, resolved along ECI or ECEF-frame axes.
      z - cartesian z coordinate of body position, resolved along ECI or ECEF-frame axes.
    • getPosition

      public com.irurueta.geometry.Point3D getPosition()
      Gets body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
      Returns:
      body position.
    • getPosition

      public void getPosition(com.irurueta.geometry.Point3D result)
      Gets body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
      Parameters:
      result - instance where position data is copied to.
    • setPosition

      public void setPosition(com.irurueta.geometry.Point3D point)
      Sets body position expressed in meters (m) and resolved along ECI or ECEF-frame axes.
      Parameters:
      point - body position to be set.
    • getPositionX

      public void getPositionX(com.irurueta.units.Distance result)
      Gets cartesian x coordinate of body position resolved along ECI or ECEF-frame axes.
      Parameters:
      result - instance where cartesian x coordinate of body position will be stored.
    • getPositionX

      public com.irurueta.units.Distance getPositionX()
      Gets cartesian x coordinate of body position resolved along ECI or ECEF-frame axes.
      Returns:
      x coordinate of body position resolved along ECI or ECEF-frame axes.
    • setPositionX

      public void setPositionX(com.irurueta.units.Distance positionX)
      Sets cartesian x coordinate of body position resolved along ECI or ECEF-frame axes.
      Parameters:
      positionX - cartesian x coordinate of body position to be set.
    • getPositionY

      public void getPositionY(com.irurueta.units.Distance result)
      Gets cartesian y coordinate of body position resolved along ECI or ECEF-frame axes.
      Parameters:
      result - instance where cartesian y coordinate of body position will be stored.
    • getPositionY

      public com.irurueta.units.Distance getPositionY()
      Gets cartesian y coordinate of body position resolved along ECI or ECEF-frame axes.
      Returns:
      y coordinate of body position resolved along ECI or ECEF-frame axes.
    • setPositionY

      public void setPositionY(com.irurueta.units.Distance positionY)
      Sets cartesian y coordinate of body position resolved along ECI or ECEF-frame axes.
      Parameters:
      positionY - cartesian y coordinate of body position to be set.
    • getPositionZ

      public void getPositionZ(com.irurueta.units.Distance result)
      Gets cartesian z coordinate of body position resolved along ECI or ECEF-frame axes.
      Parameters:
      result - instance where cartesian z coordinate of body position will be stored.
    • getPositionZ

      public com.irurueta.units.Distance getPositionZ()
      Gets cartesian z coordinate of body position resolved along ECI or ECEF-frame axes.
      Returns:
      z coordinate of body position resolved along ECI or ECEF-frame axes.
    • setPositionZ

      public void setPositionZ(com.irurueta.units.Distance positionZ)
      Sets cartesian z coordinate of body position resolved along ECI or ECEF-frame axes.
      Parameters:
      positionZ - cartesian z coordinate of body position to be set.
    • setPositionCoordinates

      public void setPositionCoordinates(com.irurueta.units.Distance positionX, com.irurueta.units.Distance positionY, com.irurueta.units.Distance positionZ)
      Sets cartesian coordinates of body position resolved along ECI or ECEF-frame axes.
      Parameters:
      positionX - cartesian x coordinate of body position to be set, resolved along ECI or ECEF-frame axes.
      positionY - cartesian y coordinate of body position to be set, resolved along ECI or ECEF-frame axes.
      positionZ - cartesian z coordinate of body position to be set, resolved along ECI or ECEF-frame axes.
    • getPositionNorm

      public double getPositionNorm()
      Gets norm of position expressed in meters (m), which represents the distance to Earth's center of mass.
      Returns:
      position norm expressed in meters (m).
    • getPositionNormAsDistance

      public void getPositionNormAsDistance(com.irurueta.units.Distance result)
      Gets norm of position, which represents the distance to Earth's center of mass.
      Parameters:
      result - instance where result will be stored.
    • getPositionNormAsDistance

      public com.irurueta.units.Distance getPositionNormAsDistance()
      Gets norm of position, which represents the distance to Earth's center of mass.
      Returns:
      position norm.
    • getVx

      public double getVx()
      Gets x coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
      Returns:
      x coordinate of velocity.
    • setVx

      public void setVx(double vx)
      Sets x coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
      Parameters:
      vx - x coordinate of velocity.
    • getVy

      public double getVy()
      Gets y coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
      Returns:
      y coordinate of velocity.
    • setVy

      public void setVy(double vy)
      Sets y coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
      Parameters:
      vy - y coordinate of velocity.
    • getVz

      public double getVz()
      Gets z coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
      Returns:
      z coordinate of velocity.
    • setVz

      public void setVz(double vz)
      Sets z coordinate of velocity of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
      Parameters:
      vz - z coordinate of velocity.
    • setVelocityCoordinates

      public void setVelocityCoordinates(double vx, double vy, double vz)
      Sets velocity coordinates of body frame expressed in meters per second (m/s) resolved along ECI or ECEF-frame axes.
      Parameters:
      vx - x coordinate of velocity.
      vy - y coordinate of velocity.
      vz - z coordinate of velocity.
    • getVelocityNorm

      public double getVelocityNorm()
      Gets norm of velocity expressed in meters per second (m/s), which represents the speed of the body.
      Returns:
      norm of velocity expressed in meters per second (m/s).
    • getVelocityNormAsSpeed

      public void getVelocityNormAsSpeed(com.irurueta.units.Speed result)
      Gets norm of velocity, which represents the speed of the body.
      Parameters:
      result - velocity norm.
    • getVelocityNormAsSpeed

      public com.irurueta.units.Speed getVelocityNormAsSpeed()
      Gets norm of velocity, which represents the speed of the body.
      Returns:
      velocity norm.
    • getSpeedX

      public void getSpeedX(com.irurueta.units.Speed result)
      Gets x coordinate of velocity of body frame resolved along ECEF-frame axes.
      Parameters:
      result - instance where x coordinate of velocity will be stored.
    • getSpeedX

      public com.irurueta.units.Speed getSpeedX()
      Gets x coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
      Returns:
      x coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
    • setSpeedX

      public void setSpeedX(com.irurueta.units.Speed speedX)
      Sets x coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
      Parameters:
      speedX - x coordinate of velocity of body frame resolved along ECI or ECEF-frame axes to be set.
    • getSpeedY

      public void getSpeedY(com.irurueta.units.Speed result)
      Gets y coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
      Parameters:
      result - instance where y coordinate of velocity will be stored.
    • getSpeedY

      public com.irurueta.units.Speed getSpeedY()
      Gets y coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
      Returns:
      y coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
    • setSpeedY

      public void setSpeedY(com.irurueta.units.Speed speedY)
      Sets y coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
      Parameters:
      speedY - y coordinate of velocity of body frame resolved along ECI or ECEF-frame axes to be set.
    • getSpeedZ

      public void getSpeedZ(com.irurueta.units.Speed result)
      Gets z coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
      Parameters:
      result - instance where z coordinate of velocity will be stored.
    • getSpeedZ

      public com.irurueta.units.Speed getSpeedZ()
      Gets z coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
      Returns:
      z coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
    • setSpeedZ

      public void setSpeedZ(com.irurueta.units.Speed speedZ)
      Sets z coordinate of velocity of body frame resolved along ECI or ECEF-frame axes.
      Parameters:
      speedZ - z coordinate of velocity of body frame resolved along ECI or ECEF-frame axes to be set.
    • setSpeedCoordinates

      public void setSpeedCoordinates(com.irurueta.units.Speed speedX, com.irurueta.units.Speed speedY, com.irurueta.units.Speed speedZ)
      Sets velocity coordinates of body frame resolved along ECI or ECEF-frame axes.
      Parameters:
      speedX - x coordinate of velocity to be set.
      speedY - y coordinate of velocity to be set.
      speedZ - z coordinate of velocity to be set.
    • getCoordinateTransformationMatrix

      public com.irurueta.algebra.Matrix getCoordinateTransformationMatrix()
      Gets coordinate transformation matrix. This is equivalent to calling getCoordinateTransformation(), but more efficient
      Specified by:
      getCoordinateTransformationMatrix in interface Frame
      Returns:
      coordinate transformation matrix.
    • getCoordinateTransformationMatrix

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

      public 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 Frame.getCoordinateTransformation(), setting coordinate matrix into copied coordinate transformation and then setting the coordinate transformation calling Frame.setCoordinateTransformation(CoordinateTransformation).
      Specified by:
      setCoordinateTransformationMatrix in interface Frame
      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

      public 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 Frame.getCoordinateTransformation(), setting coordinate matrix into copied coordinate transformation and then setting the coordinate transformation calling Frame.setCoordinateTransformation(CoordinateTransformation).
      Specified by:
      setCoordinateTransformationMatrix in interface Frame
      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

      public 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.
      Specified by:
      getCoordinateTransformationRotation in interface Frame
      Returns:
      new coordinate transformation as a 3D rotation.
      Throws:
      com.irurueta.geometry.InvalidRotationMatrixException - if internal matrix cannot be converted to a 3D rotation.
    • getCoordinateTransformationRotation

      public 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.
      Specified by:
      getCoordinateTransformationRotation in interface Frame
      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

      public 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 Frame.getCoordinateTransformation(), setting rotation into copied coordinate transformation and then setting the coordinate transformation calling Frame.setCoordinateTransformation(CoordinateTransformation).
      Specified by:
      setCoordinateTransformationRotation in interface Frame
      Parameters:
      rotation - set rotation into current coordinate rotation.
    • copyTo

      public void copyTo(T output)
      Copies this instance data into provided instance.
      Parameters:
      output - destination instance where data will be copied to.
    • copyFrom

      public void copyFrom(T input)
      Copies data of provided instance into this instance.
      Parameters:
      input - instance to copy data from.
    • hashCode

      public int hashCode()
      Computes and returns hash code for this instance. Hash codes are almost unique values that are useful for fast classification and storage of objects in collections.
      Overrides:
      hashCode in class Object
      Returns:
      Hash code.
    • equals

      public boolean equals(Object obj)
      Checks if provided instance has exactly the same contents as this instance.
      Overrides:
      equals in class Object
      Parameters:
      obj - instance to be compared.
      Returns:
      true if both instances are considered to be equal, false otherwise.
    • equals

      public boolean equals(T other, double threshold)
      Checks if provided instance has contents similar to this instance up to provided threshold value.
      Parameters:
      other - instance to be compared.
      threshold - maximum difference allowed between position, velocity and coordinate transformation matrix.
      Returns:
      true if both instances are considered to be equal (up to provided threshold), false otherwise.