/// <summary> /// Some test code to check that there are no typing errors in the formulars. /// </summary> public static void Test() { XMatrix xm1 = new XMatrix(23, -35, 837, 332, -3, 12); Matrix m1 = new Matrix(23, -35, 837, 332, -3, 12); DumpMatrix(xm1, m1); XMatrix xm2 = new XMatrix(12, 235, 245, 42, 33, -56); Matrix m2 = xm2.ToMatrix(); DumpMatrix(xm2, m2); // xm1.Multiply(xm2, XMatrixOrder.Prepend); // m1.Multiply(m2, MatrixOrder.Append); xm1.Multiply(xm2, XMatrixOrder.Append); m1.Multiply(m2, MatrixOrder.Append); DumpMatrix(xm1, m1); xm1.Translate(-243, 342, XMatrixOrder.Append); m1.Translate(-243, 342, MatrixOrder.Append); DumpMatrix(xm1, m1); xm1.Scale(-5.66, 7.87); m1.Scale(-5.66f, 7.87f); // xm1.Scale(-5.66, 7.87, XMatrixOrder.Prepend); // m1.Scale(-5.66f, 7.87f, MatrixOrder.Prepend); DumpMatrix(xm1, m1); xm1.Rotate(135, XMatrixOrder.Append); m1.Rotate(135, MatrixOrder.Append); // xm1.Scale(-5.66, 7.87, XMatrixOrder.Prepend); // m1.Scale(-5.66f, 7.87f, MatrixOrder.Prepend); DumpMatrix(xm1, m1); xm1.RotateAt(177, new XPoint(-3456, 654), XMatrixOrder.Append); m1.RotateAt(177, new PointF(-3456, 654), MatrixOrder.Append); DumpMatrix(xm1, m1); xm1.Shear(0.76, -0.87, XMatrixOrder.Prepend); m1.Shear(0.76f, -0.87f, MatrixOrder.Prepend); DumpMatrix(xm1, m1); xm1 = new XMatrix(23, -35, 837, 332, -3, 12); m1 = new Matrix(23, -35, 837, 332, -3, 12); XPoint[] xpoints = new XPoint[3]{new XPoint(23, 10), new XPoint(-27, 120), new XPoint(-87, -55)}; PointF[] points = new PointF[3]{new PointF(23, 10), new PointF(-27, 120), new PointF(-87, -55)}; xm1.TransformPoints(xpoints); m1.TransformPoints(points); xm1.Invert(); m1.Invert(); DumpMatrix(xm1, m1); }