invertAndConcat method

void invertAndConcat(
  1. Matrix concatMatrix
)

Implementation

void invertAndConcat(Matrix concatMatrix) {
  final det = this.det;
  final a1 = d / det;
  final b1 = -b / det;
  final c1 = -c / det;
  final d1 = a / det;
  final tx1 = -tx * a1 - ty * c1;
  final ty1 = -tx * b1 - ty * d1;

  final a2 = concatMatrix.a;
  final b2 = concatMatrix.b;
  final c2 = concatMatrix.c;
  final d2 = concatMatrix.d;
  final tx2 = concatMatrix.tx;
  final ty2 = concatMatrix.ty;

  _data[0] = a1 * a2 + b1 * c2;
  _data[1] = a1 * b2 + b1 * d2;
  _data[2] = c1 * a2 + d1 * c2;
  _data[3] = c1 * b2 + d1 * d2;
  _data[4] = tx1 * a2 + ty1 * c2 + tx2;
  _data[5] = tx1 * b2 + ty1 * d2 + ty2;
}