Matrix4F

public struct Matrix4F
{
    // Returns true if <paramref name="a"/> does not equal <paramref name="b"/>
    public static bool operator !=(Matrix4F a, Matrix4F b);

    // Create a rotation matrix from a Quaternion
    public static Matrix4F CreateFromQuaternion(System.Numerics.Quaternion q);

    // Create a transposed rotation matrix from a Quaternion
    public static Matrix4F CreateFromQuaternionTransposed(System.Numerics.Quaternion q);

    // Create a rotation matrix around the X axis Angle in radians
    public static Matrix4F CreateRotationX(float rads);

    // Create a rotation matrix around the Y axis Angle in radians
    public static Matrix4F CreateRotationY(float rads);

    // Create a rotation matrix around the Z axis Angle in radians
    public static Matrix4F CreateRotationZ(float rads);

    // Create a scale matrix. Note scale matrices can only be set on MeshPrimitive and not any other primitive
    public static Matrix4F CreateScale(float scaleFactor);

    // Create a scale matrix. Note scale matrices can only be set on MeshPrimitive and not any other primitive
    public static Matrix4F CreateScale(float scaleX, float scaleY, float scaleZ);

    // Create a scale matrix. Note scale matrices can only be set on MeshPrimitive and not any other primitive
    public static Matrix4F CreateScale(Vector3F v);

    // Create a translation matrix
    public static Matrix4F CreateTranslation(System.Numerics.Vector3 vec);

    // Create a translation matrix
    public static Matrix4F CreateTranslation(Vector3F vec);

    // Create a translation matrix
    public static Matrix4F CreateTranslation(float x, float y, float z);

    public override bool Equals(object obj);

    public override int GetHashCode();

    // The identity matrix
    public static Matrix4F Identity = new(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);

    // Returns the inverse of this matrix
    public Matrix4F Inverse();

    // Returns true if all elements are exactly equal to those in <paramref name="other"/>
    public bool IsEqual(Matrix4F other);

    public float M11;

    public float M12;

    public float M13;

    public float M14;

    public float M21;

    public float M22;

    public float M23;

    public float M24;

    public float M31;

    public float M32;

    public float M33;

    public float M34;

    public float M41;

    public float M42;

    public float M43;

    public float M44;

    // Multiply two matrices together
    public static Matrix4F operator *(Matrix4F a, Matrix4F b);

    // Returns true if <paramref name="a"/> equals <paramref name="b"/>
    public static bool operator ==(Matrix4F a, Matrix4F b);

    // Converts this matrix to a Matrix4x4
    public System.Numerics.Matrix4x4 ToNumerics();
}