Class Triad<U extends Enum<?>,M extends com.irurueta.units.Measurement<U>,T extends Triad<U,M,T>>
java.lang.Object
com.irurueta.navigation.inertial.calibration.Triad<U,M,T>
- Type Parameters:
U- type of unit.M- a type of measurement.
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AccelerationTriad,AngularSpeedTriad,DistanceTriad,MagneticFluxDensityTriad,SpeedTriad
public abstract class Triad<U extends Enum<?>,M extends com.irurueta.units.Measurement<U>,T extends Triad<U,M,T>>
extends Object
implements Serializable
Contains a triad of measurement data.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intNumber of components of measurements.private UContains unit of measurement.private doubleContains x coordinate of measurement value.private doubleContains y coordinate of measurement value.private doubleContains z coordinate of measurement value. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract Tcopy()Creates and returns a new instance having exactly the same contents as this instance.voidCopies data of provided instance into this instance.voidCopies this instance data into provided instance.booleanChecks if provided instance has exactly the same contents as this instance.booleanChecks if provided instance has contents similar to this instance up to provided threshold value.booleanChecks if provided object is a Triad instance having exactly the same contents as this instance.abstract MGets norm as a measurement.voidgetMeasurementNorm(M result) Gets norm as a measurement.abstract MGets x coordinate of measurement value.abstract voidgetMeasurementX(M result) Gets x coordinate of measurement value.abstract MGets y coordinate of measurement value.abstract voidgetMeasurementY(M result) Gets y coordinate of measurement value.abstract MGets z coordinate of measurement value.abstract voidgetMeasurementZ(M result) Gets z coordinate of measurement value.doublegetNorm()Gets norm expressed in current unit.doubleGets squared norm expressed in squared current unit.getUnit()Gets unit of measurement.double[]Gets measurement values as an array expressed in current unit.voidgetValuesAsArray(double[] result) Gets measurement values as an array expressed in current unit.com.irurueta.algebra.MatrixGets measurement values as a column matrix expressed in current unit.voidgetValuesAsMatrix(com.irurueta.algebra.Matrix result) Gets measurement values as a column matrix expressed in current unit.doubleGets x coordinate of measurement value expressed in current unit.doubleGets y coordinate of measurement value expressed in current unit.doubleGets z coordinate of measurement value expressed in current unit.inthashCode()Computes and returns hash code for this instance.abstract voidsetMeasurementCoordinates(M measurementX, M measurementY, M measurementZ) Sets measurement coordinates.abstract voidsetMeasurementX(M measurementX) Sets x coordinate of measurement value.abstract voidsetMeasurementY(M measurementY) Sets y coordinate of measurement value.abstract voidsetMeasurementZ(M measurementZ) Sets z coordinate of measurement value.voidSets unit of measurement.voidsetValueCoordinates(double[] values) Sets measurement coordinates from provided array.voidsetValueCoordinates(double valueX, double valueY, double valueZ) Sets coordinates of measurement using current unit.voidsetValueCoordinates(com.irurueta.algebra.Matrix values) Sets measurement coordinates from provided column matrix.voidsetValueCoordinatesAndUnit(double valueX, double valueY, double valueZ, U unit) Sets value coordinates and unit.voidsetValueX(double valueX) Sets x coordinate of measurement value using current unit.voidsetValueY(double valueY) Sets y coordinate of measurement value using current unit.voidsetValueZ(double valueZ) Sets z coordinate of measurement value using current unit.
-
Field Details
-
COMPONENTS
public static final int COMPONENTSNumber of components of measurements.- See Also:
-
valueX
private double valueXContains x coordinate of measurement value. -
valueY
private double valueYContains y coordinate of measurement value. -
valueZ
private double valueZContains z coordinate of measurement value. -
unit
Contains unit of measurement.
-
-
Constructor Details
-
Triad
Constructor.- Parameters:
unit- unit of measurement.- Throws:
IllegalArgumentException- if provided unit is null.
-
Triad
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.
-
-
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
Gets unit of measurement.- Returns:
- unit of measurement.
-
setUnit
Sets unit of measurement.- Parameters:
unit- unit of measurement.- Throws:
IllegalArgumentException- if provided value is null.
-
setValueCoordinatesAndUnit
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
Gets x coordinate of measurement value.- Returns:
- x coordinate of measurement value.
-
getMeasurementX
Gets x coordinate of measurement value.- Parameters:
result- instance where x coordinate of measurement value will be stored.
-
setMeasurementX
Sets x coordinate of measurement value.- Parameters:
measurementX- x coordinate of measurement value.
-
getMeasurementY
Gets y coordinate of measurement value.- Returns:
- y coordinate of measurement value.
-
getMeasurementY
Gets y coordinate of measurement value.- Parameters:
result- instance where y coordinate of measurement value will be stored.
-
setMeasurementY
Sets y coordinate of measurement value.- Parameters:
measurementY- y coordinate of measurement value.
-
getMeasurementZ
Gets z coordinate of measurement value.- Returns:
- z coordinate of measurement value.
-
getMeasurementZ
Gets z coordinate of measurement value.- Parameters:
result- instance where z coordinate of measurement value will be stored.
-
setMeasurementZ
Sets z coordinate of measurement value.- Parameters:
measurementZ- z coordinate of measurement value.
-
setMeasurementCoordinates
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
Gets norm as a measurement.- Returns:
- norm as a measurement.
-
getMeasurementNorm
Gets norm as a measurement.- Parameters:
result- instance where norm value will be stored.
-
copy
Creates and returns a new instance having exactly the same contents as this instance.- Returns:
- a copy of this instance.
-
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. -
equals
Checks if provided object is a Triad instance having exactly the same contents as this instance.
-