Home | History | Annotate | Download | only in utils

Lines Matching refs:fMat

24     const SkMScalar* SK_RESTRICT a = &fMat[0][0];
25 const SkMScalar* SK_RESTRICT b = &other.fMat[0][0];
55 if (0 != perspX() || 0 != perspY() || 0 != perspZ() || 1 != fMat[3][3]) {
67 if (0 != fMat[1][0] || 0 != fMat[0][1] || 0 != fMat[0][2] ||
68 0 != fMat[2][0] || 0 != fMat[1][2] || 0 != fMat[2][1]) {
78 const SkMScalar* src = &fMat[0][0];
89 const SkMScalar* src = &fMat[0][0];
100 const SkMScalar* src = &fMat[0][0];
112 const SkMScalar* src = &fMat[0][0];
124 SkMScalar* dst = &fMat[0][0];
137 SkMScalar* dst = &fMat[0][0];
150 SkMScalar* dst = &fMat[0][0];
163 SkMScalar* dst = &fMat[0][0];
183 fMat[0][0] = 1;
184 fMat[0][1] = 0;
185 fMat[0][2] = 0;
186 fMat[0][3] = 0;
187 fMat[1][0] = 0;
188 fMat[1][1] = 1;
189 fMat[1][2] = 0;
190 fMat[1][3] = 0;
191 fMat[2][0] = 0;
192 fMat[2][1] = 0;
193 fMat[2][2] = 1;
194 fMat[2][3] = 0;
195 fMat[3][0] = 0;
196 fMat[3][1] = 0;
197 fMat[3][2] = 0;
198 fMat[3][3] = 1;
205 fMat[0][0] = m00; fMat[0][1] = m01; fMat[0][2] = m02; fMat[0][3] = 0;
206 fMat[1][0] = m10; fMat[1][1] = m11; fMat[1][2] = m12; fMat[1][3] = 0;
207 fMat[2][0] = m20; fMat[2][1] = m21; fMat[2][2] = m22; fMat[2][3] = 0;
208 fMat[3][0] = 0; fMat[3][1] = 0; fMat[3][2] = 0; fMat[3][3] = 1;
221 fMat[3][0] = dx;
222 fMat[3][1] = dy;
223 fMat[3][2] = dz;
233 fMat[3][i] = fMat[0][i] * dx + fMat[1][i] * dy + fMat[2][i] * dz + fMat[3][i];
245 fMat[i][0] += fMat[i][3] * dx;
246 fMat[i][1] += fMat[i][3] * dy;
247 fMat[i][2] += fMat[i][3] * dz;
250 fMat[3][0] += dx;
251 fMat[3][1] += dy;
252 fMat[3][2] += dz;
266 fMat[0][0] = sx;
267 fMat[1][1] = sy;
268 fMat[2][2] = sz;
281 fMat[0][i] *= sx;
282 fMat[1][i] *= sy;
283 fMat[2][i] *= sz;
294 fMat[i][0] *= sx;
295 fMat[i][1] *= sy;
296 fMat[i][2] *= sz;
369 SkMScalar* result = useStorage ? storage : &fMat[0][0];
373 result[0] = a.fMat[0][0] * b.fMat[0][0];
375 result[5] = a.fMat[1][1] * b.fMat[1][1];
377 result[10] = a.fMat[2][2] * b.fMat[2][2];
379 result[12] = a.fMat[0][0] * b.fMat[3][0] + a.fMat[3][0];
380 result[13] = a.fMat[1][1] * b.fMat[3][1] + a.fMat[3][1];
381 result[14] = a.fMat[2][2] * b.fMat[3][2] + a.fMat[3][2];
388 value += SkMScalarToDouble(a.fMat[k][i]) * b.fMat[j][k];
396 memcpy(fMat, storage, sizeof(storage));
412 return fMat[0][0] * fMat[1][1] * fMat[2][2] * fMat[3][3];
415 double a00 = fMat[0][0];
416 double a01 = fMat[0][1];
417 double a02 = fMat[0][2];
418 double a03 = fMat[0][3];
419 double a10 = fMat[1][0];
420 double a11 = fMat[1][1];
421 double a12 = fMat[1][2];
422 double a13 = fMat[1][3];
423 double a20 = fMat[2][0];
424 double a21 = fMat[2][1];
425 double a22 = fMat[2][2];
426 double a23 = fMat[2][3];
427 double a30 = fMat[3][0];
428 double a31 = fMat[3][1];
429 double a32 = fMat[3][2];
430 double a33 = fMat[3][3];
461 inverse->setTranslate(-fMat[3][0], -fMat[3][1], -fMat[3][2]);
467 if (0 == fMat[0][0] * fMat[1][1] * fMat[2][2]) {
472 double invXScale = 1 / fMat[0][0];
473 double invYScale = 1 / fMat[1][1];
474 double invZScale = 1 / fMat[2][2];
476 inverse->fMat[0][0] = invXScale;
477 inverse->fMat[0][1] = 0;
478 inverse->fMat[0][2] = 0;
479 inverse->fMat[0][3] = 0;
481 inverse->fMat[1][0] = 0;
482 inverse->fMat[1][1] = invYScale;
483 inverse->fMat[1][2] = 0;
484 inverse->fMat[1][3] = 0;
486 inverse->fMat[2][0] = 0;
487 inverse->fMat[2][1] = 0;
488 inverse->fMat[2][2] = invZScale;
489 inverse->fMat[2][3] = 0;
491 inverse->fMat[3][0] = -fMat[3][0] * invXScale;
492 inverse->fMat[3][1] = -fMat[3][1] * invYScale;
493 inverse->fMat[3][2] = -fMat[3][2] * invZScale;
494 inverse->fMat[3][3] = 1;
502 double a00 = fMat[0][0];
503 double a01 = fMat[0][1];
504 double a02 = fMat[0][2];
505 double a03 = fMat[0][3];
506 double a10 = fMat[1][0];
507 double a11 = fMat[1][1];
508 double a12 = fMat[1][2];
509 double a13 = fMat[1][3];
510 double a20 = fMat[2][0];
511 double a21 = fMat[2][1];
512 double a22 = fMat[2][2];
513 double a23 = fMat[2][3];
514 double a30 = fMat[3][0];
515 double a31 = fMat[3][1];
516 double a32 = fMat[3][2];
517 double a33 = fMat[3][3];
564 inverse->fMat[0][0] = SkDoubleToMScalar(a11 * b11 - a12 * b10);
565 inverse->fMat
566 inverse->fMat[0][2] = SkDoubleToMScalar(b03);
567 inverse->fMat[0][3] = 0;
568 inverse->fMat[1][0] = SkDoubleToMScalar(a12 * b08 - a10 * b11);
569 inverse->fMat[1][1] = SkDoubleToMScalar(a00 * b11 - a02 * b08);
570 inverse->fMat[1][2] = SkDoubleToMScalar(-b01);
571 inverse->fMat[1][3] = 0;
572 inverse->fMat[2][0] = SkDoubleToMScalar(a10 * b10 - a11 * b08);
573 inverse->fMat[2][1] = SkDoubleToMScalar(a01 * b08 - a00 * b10);
574 inverse->fMat[2][2] = SkDoubleToMScalar(b00);
575 inverse->fMat[2][3] = 0;
576 inverse->fMat[3][0] = SkDoubleToMScalar(a11 * b07 - a10 * b09 - a12 * b06);
577 inverse->fMat[3][1] = SkDoubleToMScalar(a00 * b09 - a01 * b07 + a02 * b06);
578 inverse->fMat[3][2] = SkDoubleToMScalar(a31 * b01 - a30 * b03 - a32 * b00);
579 inverse->fMat[3][3] = 1;
625 inverse->fMat[0][0] = SkDoubleToMScalar(a11 * b11 - a12 * b10 + a13 * b09);
626 inverse->fMat[0][1] = SkDoubleToMScalar(a02 * b10 - a01 * b11 - a03 * b09);
627 inverse->fMat[0][2] = SkDoubleToMScalar(a31 * b05 - a32 * b04 + a33 * b03);
628 inverse->fMat[0][3] = SkDoubleToMScalar(a22 * b04 - a21 * b05 - a23 * b03);
629 inverse->fMat[1][0] = SkDoubleToMScalar(a12 * b08 - a10 * b11 - a13 * b07);
630 inverse->fMat[1][1] = SkDoubleToMScalar(a00 * b11 - a02 * b08 + a03 * b07);
631 inverse->fMat[1][2] = SkDoubleToMScalar(a32 * b02 - a30 * b05 - a33 * b01);
632 inverse->fMat[1][3] = SkDoubleToMScalar(a20 * b05 - a22 * b02 + a23 * b01);
633 inverse->fMat[2][0] = SkDoubleToMScalar(a10 * b10 - a11 * b08 + a13 * b06);
634 inverse->fMat[2][1] = SkDoubleToMScalar(a01 * b08 - a00 * b10 - a03 * b06);
635 inverse->fMat[2][2] = SkDoubleToMScalar(a30 * b04 - a31 * b02 + a33 * b00);
636 inverse->fMat[2][3] = SkDoubleToMScalar(a21 * b02 - a20 * b04 - a23 * b00);
637 inverse->fMat[3][0] = SkDoubleToMScalar(a11 * b07 - a10 * b09 - a12 * b06);
638 inverse->fMat[3][1] = SkDoubleToMScalar(a00 * b09 - a01 * b07 + a02 * b06);
639 inverse->fMat[3][2] = SkDoubleToMScalar(a31 * b01 - a30 * b03 - a32 * b00);
640 inverse->fMat[3][3] = SkDoubleToMScalar(a20 * b03 - a21 * b01 + a22 * b00);
649 SkTSwap(fMat[0][1], fMat[1][0]);
650 SkTSwap(fMat[0][2], fMat[2][0]);
651 SkTSwap(fMat[0][3], fMat[3][0]);
652 SkTSwap(fMat[1][2], fMat[2][1]);
653 SkTSwap(fMat[1][3], fMat[3][1]);
654 SkTSwap(fMat[2][3], fMat[3][2]);
670 value += fMat[j][i] * src[j];
689 value += fMat[j][i] * src[j];
847 proc(fMat, src2, count, dst4);
857 proc(fMat, src2, count, dst4);
877 if (SkMScalarAbs(fMat[0][0]) > epsilon) {
881 if (SkMScalarAbs(fMat[0][1]) > epsilon) {
885 if (SkMScalarAbs(fMat[1][0]) > epsilon) {
889 if (SkMScalarAbs(fMat[1][1]) > epsilon) {
907 fMat[0][0], fMat[1][0], fMat[2][0], fMat[3][0],
908 fMat[0][1], fMat[1][1], fMat[2][1], fMat[3][1],
909 fMat[0][2], fMat[1][2], fMat[2][2], fMat[3][2],
910 fMat[0][3], fMat[1][3], fMat[2][3], fMat[3][3]);
913 fMat[0][0], fMat[0][1], fMat[0][2], fMat[0][3],
914 fMat[1][0], fMat[1][1], fMat[1][2], fMat[1][3],
915 fMat[2][0], fMat[2][1], fMat[2][2], fMat[2][3],
916 fMat[3][0], fMat[3][1], fMat[3][2], fMat[3][3]);
946 initFromMatrix(fMat, src);
959 dst[SkMatrix::kMScaleX] = SkMScalarToScalar(fMat[0][0]);
960 dst[SkMatrix::kMSkewX] = SkMScalarToScalar(fMat[1][0]);
961 dst[SkMatrix::kMTransX] = SkMScalarToScalar(fMat[3][0]);
963 dst[SkMatrix::kMSkewY] = SkMScalarToScalar(fMat[0][1]);
964 dst[SkMatrix::kMScaleY] = SkMScalarToScalar(fMat[1][1]);
965 dst[SkMatrix::kMTransY] = SkMScalarToScalar(fMat[3][1]);
967 dst[SkMatrix::kMPersp0] = SkMScalarToScalar(fMat[0][3]);
968 dst[SkMatrix::kMPersp1] = SkMScalarToScalar(fMat[1][3]);
969 dst[SkMatrix::kMPersp2] = SkMScalarToScalar(fMat[3][3]);