public bool Combine(XFORM b)
{
if (b.eM11 * b.eM22 == b.eM12 * b.eM21)
return false;
XFORM a = new XFORM(fMatrix);
// 11 12 11 12
// 21 22 21 22
fMatrix.eM11 = a.eM11 * b.eM11 + a.eM12 * b.eM21;
fMatrix.eM12 = a.eM11 * b.eM12 + a.eM12 * b.eM22;
fMatrix.eM21 = a.eM21 * b.eM11 + a.eM22 * b.eM21;
fMatrix.eM22 = a.eM21 * b.eM12 + a.eM22 * b.eM22;
fMatrix.eDx = a.eDx * b.eM11 + a.eDy * b.eM21 + b.eDx;
fMatrix.eDy = a.eDx * b.eM12 + a.eDy * b.eM22 + b.eDy;
return true;
}