Class Triad<U extends Enum<?>,T extends com.irurueta.units.Measurement<U>>

java.lang.Object
com.irurueta.navigation.inertial.calibration.Triad<U,T>
Type Parameters:
U - type of unit.
T - a type of measurement.
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AccelerationTriad, AngularSpeedTriad, MagneticFluxDensityTriad

public abstract class Triad<U extends Enum<?>,T extends com.irurueta.units.Measurement<U>> extends Object implements Serializable
Contains a triad of measurement data.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Number of components of measurements.
    private U
    Contains unit of measurement.
    private double
    Contains x coordinate of measurement value.
    private double
    Contains y coordinate of measurement value.
    private double
    Contains z coordinate of measurement value.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Triad(Triad<U,T> other)
    Copy constructor.
    protected
    Triad(U unit)
    Constructor.
    protected
    Triad(U unit, double valueX, double valueY, double valueZ)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    copyFrom(Triad<U,T> input)
    Copies data of provided instance into this instance.
    void
    copyTo(Triad<U,T> output)
    Copies this instance data into provided instance.
    boolean
    equals(Triad<U,T> other)
    Checks if provided instance has exactly the same contents as this instance.
    boolean
    equals(Triad<U,T> other, double threshold)
    Checks if provided instance has contents similar to this instance up to provided threshold value.
    boolean
    Checks if provided object is a Triad instance having exactly the same contents as this instance.
    abstract T
    Gets norm as a measurement.
    void
    Gets norm as a measurement.
    abstract T
    Gets x coordinate of measurement value.
    abstract void
    Gets x coordinate of measurement value.
    abstract T
    Gets y coordinate of measurement value.
    abstract void
    Gets y coordinate of measurement value.
    abstract T
    Gets z coordinate of measurement value.
    abstract void
    Gets z coordinate of measurement value.
    double
    Gets norm expressed in current unit.
    double
    Gets squared norm expressed in squared current unit.
    Gets unit of measurement.
    double[]
    Gets measurement values as an array expressed in current unit.
    void
    getValuesAsArray(double[] result)
    Gets measurement values as an array expressed in current unit.
    com.irurueta.algebra.Matrix
    Gets measurement values as a column matrix expressed in current unit.
    void
    getValuesAsMatrix(com.irurueta.algebra.Matrix result)
    Gets measurement values as a column matrix expressed in current unit.
    double
    Gets x coordinate of measurement value expressed in current unit.
    double
    Gets y coordinate of measurement value expressed in current unit.
    double
    Gets z coordinate of measurement value expressed in current unit.
    int
    Computes and returns hash code for this instance.
    abstract void
    setMeasurementCoordinates(T measurementX, T measurementY, T measurementZ)
    Sets measurement coordinates.
    abstract void
    setMeasurementX(T measurementX)
    Sets x coordinate of measurement value.
    abstract void
    setMeasurementY(T measurementY)
    Sets y coordinate of measurement value.
    abstract void
    setMeasurementZ(T measurementZ)
    Sets z coordinate of measurement value.
    void
    setUnit(U unit)
    Sets unit of measurement.
    void
    setValueCoordinates(double[] values)
    Sets measurement coordinates from provided array.
    void
    setValueCoordinates(double valueX, double valueY, double valueZ)
    Sets coordinates of measurement using current unit.
    void
    setValueCoordinates(com.irurueta.algebra.Matrix values)
    Sets measurement coordinates from provided column matrix.
    void
    setValueCoordinatesAndUnit(double valueX, double valueY, double valueZ, U unit)
    Sets value coordinates and unit.
    void
    setValueX(double valueX)
    Sets x coordinate of measurement value using current unit.
    void
    setValueY(double valueY)
    Sets y coordinate of measurement value using current unit.
    void
    setValueZ(double valueZ)
    Sets z coordinate of measurement value using current unit.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • COMPONENTS

      public static final int COMPONENTS
      Number of components of measurements.
      See Also:
    • valueX

      private double valueX
      Contains x coordinate of measurement value.
    • valueY

      private double valueY
      Contains y coordinate of measurement value.
    • valueZ

      private double valueZ
      Contains z coordinate of measurement value.
    • unit

      private U extends Enum<?> unit
      Contains unit of measurement.
  • Constructor Details

    • Triad

      protected Triad(U unit)
      Constructor.
      Parameters:
      unit - unit of measurement.
      Throws:
      IllegalArgumentException - if provided unit is null.
    • Triad

      protected Triad(U unit, double valueX, double valueY, double valueZ)
      Constructor.
      Parameters:
      unit - unit of measurement.
      valueX - value of x-coordinate.
      valueY - value of y-coordinate.
      valueZ - value of z-coordinate.
      Throws:
      IllegalArgumentException - if provided unit is null.
    • Triad

      protected Triad(Triad<U,T> other)
      Copy constructor.
      Parameters:
      other - instance to copy from.
  • Method Details

    • getValueX

      public double getValueX()
      Gets x coordinate of measurement value expressed in current unit.
      Returns:
      x coordinate of measurement value.
    • setValueX

      public void setValueX(double valueX)
      Sets x coordinate of measurement value using current unit.
      Parameters:
      valueX - x coordinate of measurement value.
    • getValueY

      public double getValueY()
      Gets y coordinate of measurement value expressed in current unit.
      Returns:
      y coordinate of measurement value.
    • setValueY

      public void setValueY(double valueY)
      Sets y coordinate of measurement value using current unit.
      Parameters:
      valueY - y coordinate of measurement value.
    • getValueZ

      public double getValueZ()
      Gets z coordinate of measurement value expressed in current unit.
      Returns:
      z coordinate of measurement value.
    • setValueZ

      public void setValueZ(double valueZ)
      Sets z coordinate of measurement value using current unit.
      Parameters:
      valueZ - z coordinate of measurement value.
    • setValueCoordinates

      public void setValueCoordinates(double valueX, double valueY, double valueZ)
      Sets coordinates of measurement using current unit.
      Parameters:
      valueX - x coordinate of measurement.
      valueY - y coordinate of measurement.
      valueZ - z coordinate of measurement.
    • getUnit

      public U getUnit()
      Gets unit of measurement.
      Returns:
      unit of measurement.
    • setUnit

      public void setUnit(U unit)
      Sets unit of measurement.
      Parameters:
      unit - unit of measurement.
      Throws:
      IllegalArgumentException - if provided value is null.
    • setValueCoordinatesAndUnit

      public void setValueCoordinatesAndUnit(double valueX, double valueY, double valueZ, U unit)
      Sets value coordinates and unit.
      Parameters:
      valueX - x coordinate of measurement.
      valueY - y coordinate of measurement.
      valueZ - z coordinate of measurement.
      unit - unit of measurement.
      Throws:
      IllegalArgumentException - if provided unit is null.
    • getValuesAsArray

      public double[] getValuesAsArray()
      Gets measurement values as an array expressed in current unit.
      Returns:
      array containing measurement values.
    • getValuesAsArray

      public void getValuesAsArray(double[] result)
      Gets measurement values as an array expressed in current unit.
      Parameters:
      result - instance where result will be stored.
      Throws:
      IllegalArgumentException - if provided array does not have length 3.
    • setValueCoordinates

      public void setValueCoordinates(double[] values)
      Sets measurement coordinates from provided array.
      Parameters:
      values - array to set values from.
      Throws:
      IllegalArgumentException - if provided array does not have length 3.
    • getValuesAsMatrix

      public com.irurueta.algebra.Matrix getValuesAsMatrix()
      Gets measurement values as a column matrix expressed in current unit.
      Returns:
      matrix containing measurement values.
    • getValuesAsMatrix

      public void getValuesAsMatrix(com.irurueta.algebra.Matrix result)
      Gets measurement values as a column matrix expressed in current unit.
      Parameters:
      result - instance where result will be stored.
      Throws:
      IllegalArgumentException - if provided matrix is not 3x1.
    • setValueCoordinates

      public void setValueCoordinates(com.irurueta.algebra.Matrix values)
      Sets measurement coordinates from provided column matrix.
      Parameters:
      values - matrix to set values from.
      Throws:
      IllegalArgumentException - if provided matrix is not 3x1.
    • getMeasurementX

      public abstract T getMeasurementX()
      Gets x coordinate of measurement value.
      Returns:
      x coordinate of measurement value.
    • getMeasurementX

      public abstract void getMeasurementX(T result)
      Gets x coordinate of measurement value.
      Parameters:
      result - instance where x coordinate of measurement value will be stored.
    • setMeasurementX

      public abstract void setMeasurementX(T measurementX)
      Sets x coordinate of measurement value.
      Parameters:
      measurementX - x coordinate of measurement value.
    • getMeasurementY

      public abstract T getMeasurementY()
      Gets y coordinate of measurement value.
      Returns:
      y coordinate of measurement value.
    • getMeasurementY

      public abstract void getMeasurementY(T result)
      Gets y coordinate of measurement value.
      Parameters:
      result - instance where y coordinate of measurement value will be stored.
    • setMeasurementY

      public abstract void setMeasurementY(T measurementY)
      Sets y coordinate of measurement value.
      Parameters:
      measurementY - y coordinate of measurement value.
    • getMeasurementZ

      public abstract T getMeasurementZ()
      Gets z coordinate of measurement value.
      Returns:
      z coordinate of measurement value.
    • getMeasurementZ

      public abstract void getMeasurementZ(T result)
      Gets z coordinate of measurement value.
      Parameters:
      result - instance where z coordinate of measurement value will be stored.
    • setMeasurementZ

      public abstract void setMeasurementZ(T measurementZ)
      Sets z coordinate of measurement value.
      Parameters:
      measurementZ - z coordinate of measurement value.
    • setMeasurementCoordinates

      public abstract void setMeasurementCoordinates(T measurementX, T measurementY, T measurementZ)
      Sets measurement coordinates.
      Parameters:
      measurementX - x coordinate of measurement value.
      measurementY - y coordinate of measurement value.
      measurementZ - z coordinate of measurement value.
    • getSqrNorm

      public double getSqrNorm()
      Gets squared norm expressed in squared current unit.
      Returns:
      squared norm for triad values.
    • getNorm

      public double getNorm()
      Gets norm expressed in current unit.
      Returns:
      norm for triad values.
    • getMeasurementNorm

      public abstract T getMeasurementNorm()
      Gets norm as a measurement.
      Returns:
      norm as a measurement.
    • getMeasurementNorm

      public void getMeasurementNorm(T result)
      Gets norm as a measurement.
      Parameters:
      result - instance where norm value will be stored.
    • copyTo

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

      public void copyFrom(Triad<U,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 fas classification and storage of objects in collections.
      Overrides:
      hashCode in class Object
      Returns:
      Hash code.
    • equals

      public boolean equals(Triad<U,T> other)
      Checks if provided instance has exactly the same contents as this instance.
      Parameters:
      other - instance to be compared.
      Returns:
      true if both instances are considered to be equal, false otherwise.
    • equals

      public boolean equals(Triad<U,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 allowed difference between values.
      Returns:
      true if both instances are considered to be equal (up to provided threshold), false otherwise.
    • equals

      public boolean equals(Object o)
      Checks if provided object is a Triad instance having exactly the same contents as this instance.
      Overrides:
      equals in class Object
      Parameters:
      o - object to be compared.
      Returns:
      true if both objects are considered to be equal, false otherwise.