Class Matrix1
java.lang.Object
org.apache.sis.referencing.operation.matrix.MatrixSIS
org.apache.sis.referencing.operation.matrix.Matrix1
- All Implemented Interfaces:
Serializable,Cloneable,LenientComparable,org.opengis.referencing.operation.Matrix
A matrix of fixed 1×1 size,
typically resulting from
MathTransform1D derivative computation.
The matrix member is:
┌ ┐ │ m00 │ └ ┘
- Since:
- 0.4
- Version:
- 1.1
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptiondoubleThe only element in this matrix.private static final longSerial number for inter-operability with different versions.static final intThe matrix size, which is 1. -
Constructor Summary
ConstructorsConstructorDescriptionMatrix1()Creates a new identity matrix.Matrix1(boolean ignore) Creates a new matrix filled with only zero values.Matrix1(double m00) Creates a new matrix initialized to the specified value.Matrix1(double[] elements) Creates a new matrix initialized to the specified values.Matrix1(org.opengis.referencing.operation.Matrix matrix) Creates a new matrix initialized to the same value than the specified one. -
Method Summary
Modifier and TypeMethodDescriptionstatic Matrix1castOrCopy(org.opengis.referencing.operation.Matrix matrix) Casts or copies the given matrix to aMatrix1implementation.clone()Returns a clone of this matrix.booleanReturnstrueif the specified object is of typeMatrix1and all of the data members are equal to the corresponding data members in this matrix.final doublegetElement(int row, int column) Retrieves the value at the specified row and column of this matrix.final double[]Returns all matrix elements in a flat, row-major (column indices vary fastest) array.(package private) final voidgetElements(double[] elements) Copies the matrix elements in the given flat array.final intReturns the number of columns in this matrix, which is always 1 in this implementation.final intReturns the number of rows in this matrix, which is always 1 in this implementation.inthashCode()Returns a hash code value based on the data values in this object.final booleanisAffine()Returnstrueif this matrix represents an affine transform.final booleanReturnstrueif this matrix is an identity matrix.Normalizes all columns in-place.final voidsetElement(int row, int column, double value) Modifies the value at the specified row and column of this matrix.final voidsetElements(double[] elements) Sets all matrix elements from a flat, row-major (column indices vary fastest) array.voidFor a 1×1 matrix, this method does nothing.Methods inherited from class org.apache.sis.referencing.operation.matrix.MatrixSIS
convertAfter, convertBefore, ensureLengthMatch, ensureNumRowMatch, ensureSizeMatch, equals, equals, get, getElements, getInteger, getNumber, indexOutOfBounds, inverse, isAffine, isExtendedPrecision, multiply, multiply, removeColumns, removeRows, set, setElements, setMatrix, setNumber, solve, toString, translate
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerial number for inter-operability with different versions.- See Also:
-
SIZE
public static final int SIZEThe matrix size, which is 1.- See Also:
-
m00
public double m00The only element in this matrix.
-
-
Constructor Details
-
Matrix1
public Matrix1()Creates a new identity matrix. -
Matrix1
Matrix1(boolean ignore) Creates a new matrix filled with only zero values.- Parameters:
ignore- shall always befalsein current version.
-
Matrix1
public Matrix1(double m00) Creates a new matrix initialized to the specified value.- Parameters:
m00- The element in this matrix.
-
Matrix1
Creates a new matrix initialized to the specified values. The length of the given array must be 1.- Parameters:
elements- elements of the matrix.- Throws:
IllegalArgumentException- if the given array does not have the expected length.- See Also:
-
Matrix1
Matrix1(org.opengis.referencing.operation.Matrix matrix) Creates a new matrix initialized to the same value than the specified one. The specified matrix size must be 1×1. This is not verified by this constructor, since it shall be verified byMatrices.- Parameters:
matrix- the matrix to copy.
-
-
Method Details
-
castOrCopy
public static Matrix1 castOrCopy(org.opengis.referencing.operation.Matrix matrix) throws MismatchedMatrixSizeException Casts or copies the given matrix to aMatrix1implementation. If the givenmatrixis already an instance ofMatrix1, then it is returned unchanged. Otherwise this method verifies the matrix size, then copies the element in a newMatrix1object.- Parameters:
matrix- the matrix to cast or copy, ornull.- Returns:
- the matrix argument if it can be safely casted (including
nullargument), or a copy of the given matrix otherwise. - Throws:
MismatchedMatrixSizeException- if the size of the given matrix is not 1×1.
-
getNumRow
public final int getNumRow()Returns the number of rows in this matrix, which is always 1 in this implementation.- Returns:
- always 1.
-
getNumCol
public final int getNumCol()Returns the number of columns in this matrix, which is always 1 in this implementation.- Returns:
- always 1.
-
getElement
public final double getElement(int row, int column) Retrieves the value at the specified row and column of this matrix. This method can be invoked when the matrix size or type is unknown. If the matrix is known to be an instance ofMatrix1, then them00field can be read directly for efficiency.- Specified by:
getElementin interfaceorg.opengis.referencing.operation.Matrix- Specified by:
getElementin classMatrixSIS- Parameters:
row- the row index, which can only be 0.column- the column index, which can only be 0.- Returns:
- the current value.
-
setElement
public final void setElement(int row, int column, double value) Modifies the value at the specified row and column of this matrix. This method can be invoked when the matrix size or type is unknown. If the matrix is known to be an instance ofMatrix1, then them00field can be set directly for efficiency.- Parameters:
row- the row index, which can only be 0.column- the column index, which can only be 0.value- the new value to set.
-
getElements
public final double[] getElements()Returns all matrix elements in a flat, row-major (column indices vary fastest) array. The array length is 1.- Overrides:
getElementsin classMatrixSIS- Returns:
- a copy of all current matrix elements in a row-major array.
-
getElements
final void getElements(double[] elements) Copies the matrix elements in the given flat array. The array length shall be at least 1, may also be 2.- Overrides:
getElementsin classMatrixSIS- Parameters:
elements- the destination array. May be longer than necessary (this happen when the caller needs to appendDoubleDouble.errorvalues after the elements).
-
setElements
public final void setElements(double[] elements) Sets all matrix elements from a flat, row-major (column indices vary fastest) array. The array length shall be 1.- Specified by:
setElementsin classMatrixSIS- Parameters:
elements- The new matrix elements in a row-major array.- See Also:
-
isAffine
public final boolean isAffine()Returnstrueif this matrix represents an affine transform. A transform is affine if the matrix is square and its last row contains only zeros, except in the last column which contains 1. -
isIdentity
public final boolean isIdentity()Returnstrueif this matrix is an identity matrix. This method is equivalent to the following code, except that it is potentially more efficient:- Specified by:
isIdentityin interfaceorg.opengis.referencing.operation.Matrix- Specified by:
isIdentityin classMatrixSIS- Returns:
trueif this matrix is an identity matrix.- See Also:
-
transpose
public void transpose()For a 1×1 matrix, this method does nothing. -
normalizeColumns
Normalizes all columns in-place. For a 1×1 matrix with non-NaN value, this method sets them00value to +1, -1 or 0 with the same sign than the original value.- Overrides:
normalizeColumnsin classMatrixSIS- Returns:
- the magnitude of the column, which is the absolute value of
m00.
-
clone
Returns a clone of this matrix. -
equals
Returnstrueif the specified object is of typeMatrix1and all of the data members are equal to the corresponding data members in this matrix.- Specified by:
equalsin interfaceLenientComparable- Overrides:
equalsin classMatrixSIS- Parameters:
object- the object to compare with this matrix for equality.- Returns:
trueif the given object is equal to this matrix.- See Also:
-
hashCode
public int hashCode()Returns a hash code value based on the data values in this object.
-