/// <summary> /// Returns a bool indicating whether there is a collision between the two objects. /// </summary> /// <param name="m1">the 4x4 matrix indicating the transform of the first mesh</param> /// <param name="m2">the 4x4 matrix indicating the transform of the second mesh</param> /// <returns></returns> public bool IsCollisionState(MatrixTransform3D m1, MatrixTransform3D m2) { var mat1 = m1.Matrix; var mat2 = m2.Matrix; var tx1 = new double[] { mat1.M11, mat1.M12, mat1.M13, mat1.M14, mat1.M21, mat1.M22, mat1.M23, mat1.M24, mat1.M31, mat1.M32, mat1.M33, mat1.M34, 0, 0, 0, mat1.M44 }; var tx2 = new double[] { mat2.M11, mat2.M12, mat2.M13, mat2.M14, mat2.M21, mat2.M22, mat2.M23, mat2.M24, mat2.M31, mat2.M32, mat2.M33, mat2.M34, 0, 0, 0, mat2.M44 }; return(_mc.Collide(tx1, tx2)); }