private bool ApproximateEquals(Matrix4x4 matrix1, Matrix4x4 matrix2)
{
// TODO: better algorithm should be put into the framework actually
return (
(System.Math.Abs(matrix1.V00 - matrix2.V00) <= Epsilon) &&
(System.Math.Abs(matrix1.V01 - matrix2.V01) <= Epsilon) &&
(System.Math.Abs(matrix1.V02 - matrix2.V02) <= Epsilon) &&
(System.Math.Abs(matrix1.V03 - matrix2.V03) <= Epsilon) &&
(System.Math.Abs(matrix1.V10 - matrix2.V10) <= Epsilon) &&
(System.Math.Abs(matrix1.V11 - matrix2.V11) <= Epsilon) &&
(System.Math.Abs(matrix1.V12 - matrix2.V12) <= Epsilon) &&
(System.Math.Abs(matrix1.V13 - matrix2.V13) <= Epsilon) &&
(System.Math.Abs(matrix1.V20 - matrix2.V20) <= Epsilon) &&
(System.Math.Abs(matrix1.V21 - matrix2.V21) <= Epsilon) &&
(System.Math.Abs(matrix1.V22 - matrix2.V22) <= Epsilon) &&
(System.Math.Abs(matrix1.V23 - matrix2.V23) <= Epsilon) &&
(System.Math.Abs(matrix1.V30 - matrix2.V30) <= Epsilon) &&
(System.Math.Abs(matrix1.V31 - matrix2.V31) <= Epsilon) &&
(System.Math.Abs(matrix1.V32 - matrix2.V32) <= Epsilon) &&
(System.Math.Abs(matrix1.V33 - matrix2.V33) <= Epsilon)
);
}
}