# Matrix4

Contents
[ ]

## Matrix4 structure

4x4 matrix implementation.

``````public struct Matrix4
``````

## Constructors

Name Description
Matrix4(double[]) Initializes a new instance of the `Matrix4` struct.
Matrix4(FMatrix4) Construct `Matrix4` from an `FMatrix4` instance
Matrix4(Vector4, Vector4, Vector4, Vector4) Constructs matrix from 4 rows.
Matrix4(double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double) Initializes a new instance of the `Matrix4` struct.

## Properties

Name Description
static Identity { get; } Gets the identity matrix.
Determinant { get; } Gets the determinant of the matrix.

## Methods

Name Description
static Rotate(Quaternion) Create a rotation matrix from a quaternion
static Rotate(double, Vector3) Create a rotation matrix by rotation angle and axis
static RotateFromEuler(Vector3) Create a rotation matrix from Euler angle
static RotateFromEuler(double, double, double) Create a rotation matrix from Euler angle
static Scale(double) Creates a matrix that scales along the x-axis, the y-axis and the z-axis.
static Scale(Vector3) Creates a matrix that scales along the x-axis, the y-axis and the z-axis.
static Scale(double, double, double) Creates a matrix that scales along the x-axis, the y-axis and the z-axis.
static Translate(Vector3) Creates a matrix that translates along the x-axis, the y-axis and the z-axis
static Translate(double, double, double) Creates a matrix that translates along the x-axis, the y-axis and the z-axis
Concatenate(Matrix4) Concatenates the two matrices
Decompose(out Vector3, out Vector3, out Quaternion)
Inverse() Inverses this instance.
Normalize() Normalizes this instance.
SetTRS(Vector3, Vector3, Vector3) Initializes the matrix with translation/rotation/scale
ToArray() Converts matrix to array.
override ToString() Returns a String that represents the current `Matrix4`.
Transpose() Transposes this instance.
operator * Multiply the two matrices (4 operators)

Name Description
m00 The m00.
m01 The m01.
m02 The m02.
m03 The m03.
m10 The m10.
m11 The m11.
m12 The m12.
m13 The m13.
m20 The m20.
m21 The m21.
m22 The m22.
m23 The m23.
m30 The m30.
m31 The m31.
m32 The m32.
m33 The m33.