Matrix44
open class Matrix44
| kotlin.Any | |
| ↳ | android.graphics.Matrix44 | 
The Matrix44 class holds a 4x4 matrix for transforming coordinates. It is similar to Matrix, and should be used when you want to manipulate the canvas in 3D. Values are kept in row-major order. The values and operations are treated as column vectors.
Summary
| Public constructors | |
|---|---|
| Matrix44()The default Matrix44 constructor will instantiate an identity matrix. | |
| Creates and returns a Matrix44 by taking the 3x3 Matrix and placing it on the 0 of the z-axis by setting row  [ a b c ] [ a b 0 c ] [ d e f ] -> [ d e 0 f ] [ g h i ] [ 0 0 1 0 ] [ g h 0 i ] | |
| Public methods | |
|---|---|
| open Matrix44 | Multiplies `this` matrix (A) and provided Matrix (B) in the order of A * B. | 
| open Boolean | |
| open Float | Gets the value at the matrix's row and column. | 
| open Unit | getValues(dst: FloatArray)Copies matrix values into the provided array in row-major order. | 
| open Int | hashCode() | 
| open Boolean | invert()Inverts the Matrix44, then return true if successful, false if unable to invert. | 
| open Boolean | Returns true if Matrix44 is equal to identity matrix. | 
| open FloatArray | Multiplies (x, y, z, w) vector by the Matrix44, then returns the new (x, y, z, w). | 
| open Unit | Multiplies (x, y, z, w) vector by the Matrix44, then returns the new (x, y, z, w). | 
| open Unit | reset()Sets the Matrix44 to the identity matrix. | 
| open Matrix44 | Applies a rotation around a given axis, then returns self. | 
| open Matrix44 | Applies scaling factors to `this` Matrix44, then returns self. | 
| open Unit | Sets the value at the matrix's row and column to the provided value. | 
| open Unit | setValues(src: FloatArray)Replaces the Matrix's values with the values in the provided array. | 
| open String | toString() | 
| open Matrix44 | Applies a translation to `this` Matrix44, then returns self. | 
Public constructors
Matrix44
Matrix44()
The default Matrix44 constructor will instantiate an identity matrix.
Matrix44
Matrix44(mat: Matrix)
Creates and returns a Matrix44 by taking the 3x3 Matrix and placing it on the 0 of the z-axis by setting row 2 and column 2 to the identity as seen in the following operation: 
        
[ a b c ] [ a b 0 c ] [ d e f ] -> [ d e 0 f ] [ g h i ] [ 0 0 1 0 ] [ g h 0 i ]
| Parameters | |
|---|---|
| mat | Matrix: A 3x3 Matrix to be converted (original Matrix will not be changed) This value cannot be null. | 
Public methods
concat
open fun concat(b: Matrix44): Matrix44
Multiplies `this` matrix (A) and provided Matrix (B) in the order of A * B. The result is saved in `this` Matrix.
| Parameters | |
|---|---|
| b | Matrix44: The second Matrix in the concatenation operation This value cannot be null. | 
| Return | |
|---|---|
| Matrix44 | A reference to this Matrix, which can be used to chain Matrix operations This value cannot be null. | 
equals
open fun equals(other: Any?): Boolean
| Parameters | |
|---|---|
| obj | the reference object with which to compare. | 
| Return | |
|---|---|
| Boolean | trueif this object is the same as the obj argument;falseotherwise. | 
get
open fun get(
row: Int,
col: Int
): Float
Gets the value at the matrix's row and column.
| Parameters | |
|---|---|
| row | Int: An integer from 0 to 3 indicating the row of the value to get Value is between 0 and 3 inclusive | 
| col | Int: An integer from 0 to 3 indicating the column of the value to get Value is between 0 and 3 inclusive | 
getValues
open fun getValues(dst: FloatArray): Unit
Copies matrix values into the provided array in row-major order.
| Parameters | |
|---|---|
| dst | FloatArray: The float array where values will be copied, must be of length 16 This value cannot be null. | 
| Exceptions | |
|---|---|
| java.lang.IllegalArgumentException | if the destination float array is not of length 16 | 
hashCode
open fun hashCode(): Int
| Return | |
|---|---|
| Int | a hash code value for this object. | 
invert
open fun invert(): Boolean
Inverts the Matrix44, then return true if successful, false if unable to invert.
| Return | |
|---|---|
| Boolean | trueon success,falseotherwise | 
isIdentity
open fun isIdentity(): Boolean
Returns true if Matrix44 is equal to identity matrix.
map
open fun map(
x: Float,
y: Float,
z: Float,
w: Float
): FloatArray
Multiplies (x, y, z, w) vector by the Matrix44, then returns the new (x, y, z, w). Users should set w to 1 to indicate the coordinates are normalized.
| Return | |
|---|---|
| FloatArray | An array of length 4 that represents the x, y, z, w (where w is perspective) value after multiplying x, y, z, 1 by the matrix This value cannot be null. | 
map
open fun map(
x: Float,
y: Float,
z: Float,
w: Float,
dst: FloatArray
): Unit
Multiplies (x, y, z, w) vector by the Matrix44, then returns the new (x, y, z, w). Users should set w to 1 to indicate the coordinates are normalized.
| Parameters | |
|---|---|
| dst | FloatArray: This value cannot be null. | 
rotate
open fun rotate(
deg: Float,
xComp: Float,
yComp: Float,
zComp: Float
): Matrix44
Applies a rotation around a given axis, then returns self. x, y, z represent the axis by which to rotate around. For example, pass in 1, 0, 0 to rotate around the x-axis. The axis provided will be normalized.
| Parameters | |
|---|---|
| deg | Float: Amount in degrees to rotate the matrix about the x-axis | 
| xComp | Float: X component of the rotation axis | 
| yComp | Float: Y component of the rotation axis | 
| zComp | Float: Z component of the rotation axis | 
| Return | |
|---|---|
| Matrix44 | A reference to this Matrix, which can be used to chain Matrix operations This value cannot be null. | 
scale
open fun scale(
x: Float,
y: Float,
z: Float
): Matrix44
Applies scaling factors to `this` Matrix44, then returns self. Pass 1s for no change.
| Parameters | |
|---|---|
| x | Float: Scaling factor for the x-axis | 
| y | Float: Scaling factor for the y-axis | 
| z | Float: Scaling factor for the z-axis | 
| Return | |
|---|---|
| Matrix44 | A reference to this Matrix, which can be used to chain Matrix operations This value cannot be null. | 
set
open fun set(
row: Int,
col: Int,
val: Float
): Unit
Sets the value at the matrix's row and column to the provided value.
| Parameters | |
|---|---|
| row | Int: An integer from 0 to 3 indicating the row of the value to change Value is between 0 and 3 inclusive | 
| col | Int: An integer from 0 to 3 indicating the column of the value to change Value is between 0 and 3 inclusive | 
| val | Float: The value the element at the specified index will be set to | 
setValues
open fun setValues(src: FloatArray): Unit
Replaces the Matrix's values with the values in the provided array.
| Parameters | |
|---|---|
| src | FloatArray: A float array of length 16. Floats are treated in row-major order This value cannot be null. | 
| Exceptions | |
|---|---|
| java.lang.IllegalArgumentException | if the destination float array is not of length 16 | 
toString
open fun toString(): String
| Return | |
|---|---|
| String | a string representation of the object. | 
translate
open fun translate(
x: Float,
y: Float,
z: Float
): Matrix44
Applies a translation to `this` Matrix44, then returns self.
| Parameters | |
|---|---|
| x | Float: Translation for the x-axis | 
| y | Float: Translation for the y-axis | 
| z | Float: Translation for the z-axis | 
| Return | |
|---|---|
| Matrix44 | A reference to this Matrix, which can be used to chain Matrix operations This value cannot be null. | 
