示例#1
0
        /// <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));
        }