public void GetInverse(out Mat3 result) { result = this; result.Inverse(); }
public static Mat3 Negate(Mat3 m) { Negate(ref m, out Mat3 mat); return(mat); }
static Mat3() { Zero = new Mat3(0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f); Identity = new Mat3(1f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 1f); }
public static Vec3 Multiply(Vec3 v, Mat3 m) { Multiply(ref m, ref v, out Vec3 vec); return(vec); }
public static Mat3 Multiply(Mat3 v1, Mat3 v2) { Multiply(ref v1, ref v2, out Mat3 mat); return(mat); }
public static Mat3 Multiply(float s, Mat3 m) { Multiply(ref m, s, out Mat3 mat); return(mat); }
public static Mat3 Subtract(Mat3 v1, Mat3 v2) { Subtract(ref v1, ref v2, out Mat3 mat); return(mat); }
public static Mat3 Add(Mat3 v1, Mat3 v2) { Add(ref v1, ref v2, out Mat3 mat); return(mat); }
public Mat3(Mat3 source) { Rt = source.Rt; RU = source.RU; Ru = source.Ru; }
public static void Multiply(ref Mat3 m, ref Vec3 v, out Vec3 result) { result.x = ((m.Rt.x * v.x) + (m.RU.x * v.y)) + (m.Ru.x * v.z); result.y = ((m.Rt.y * v.x) + (m.RU.y * v.y)) + (m.Ru.y * v.z); result.z = ((m.Rt.z * v.x) + (m.RU.z * v.y)) + (m.Ru.z * v.z); }