Lines Matching defs:mat

130                                             (const Matrix44<T> &mat,
134 template <class T> Matrix44<T> sansScaling (const Matrix44<T> &mat,
138 (Matrix44<T> &mat,
142 (const Matrix44<T> &mat,
148 (const Matrix44<T> &mat,
152 (Matrix44<T> &mat,
156 (Matrix44<T> &mat,
162 (const Matrix44<T> &mat,
166 (const Matrix44<T> &mat,
169 template <class T> Quat<T> extractQuat (const Matrix44<T> &mat);
172 (const Matrix44<T> &mat,
181 (const Matrix44<T> &mat,
189 (const Matrix44<T> &mat,
255 (const Matrix33<T> &mat,
259 template <class T> Matrix33<T> sansScaling (const Matrix33<T> &mat,
263 (Matrix33<T> &mat,
267 (const Matrix33<T> &mat,
273 (const Matrix33<T> &mat,
277 (Matrix33<T> &mat,
281 (Matrix33<T> &mat,
287 (const Matrix33<T> &mat,
290 template <class T> bool extractSHRT (const Matrix33<T> &mat,
312 extractScaling (const Matrix44<T> &mat, Vec3<T> &scl, bool exc)
315 Matrix44<T> M (mat);
326 sansScaling (const Matrix44<T> &mat, bool exc)
333 if (! extractSHRT (mat, scl, shr, rot, tran, exc))
334 return mat;
348 removeScaling (Matrix44<T> &mat, bool exc)
355 if (! extractSHRT (mat, scl, shr, rot, tran, exc))
358 mat.makeIdentity ();
359 mat.translate (tran);
360 mat.rotate (rot);
361 mat.shear (shr);
369 extractScalingAndShear (const Matrix44<T> &mat,
372 Matrix44<T> M (mat);
383 sansScalingAndShear (const Matrix44<T> &mat, bool exc)
387 Matrix44<T> M (mat);
390 return mat;
398 removeScalingAndShear (Matrix44<T> &mat, bool exc)
403 if (! extractAndRemoveScalingAndShear (mat, scl, shr, exc))
412 extractAndRemoveScalingAndShear (Matrix44<T> &mat,
423 row[0] = Vec3<T> (mat[0][0], mat[0][1], mat[0][2]);
424 row[1] = Vec3<T> (mat[1][0], mat[1][1], mat[1][2]);
425 row[2] = Vec3<T> (mat[2][0], mat[2][1], mat[2][2]);
497 // At this point, the upper 3x3 matrix in mat is orthonormal.
508 // The upper 3x3 matrix in mat is now a rotation matrix.
511 mat[i][0] = row[i][0];
512 mat[i][1] = row[i][1];
513 mat[i][2] = row[i][2];
527 extractEulerXYZ (const Matrix44<T> &mat, Vec3<T> &rot)
533 Vec3<T> i (mat[0][0], mat[0][1], mat[0][2]);
534 Vec3<T> j (mat[1][0], mat[1][1], mat[1][2]);
535 Vec3<T> k (mat[2][0], mat[2][1], mat[2][2]);
574 extractEulerZYX (const Matrix44<T> &mat, Vec3<T> &rot)
580 Vec3<T> i (mat[0][0], mat[0][1], mat[0][2]);
581 Vec3<T> j (mat[1][0], mat[1][1], mat[1][2]);
582 Vec3<T> k (mat[2][0], mat[2][1], mat[2][2]);
621 extractQuat (const Matrix44<T> &mat)
631 tr = mat[0][0] + mat[1][1] + mat[2][2];
639 quat.v.x = (mat[1][2] - mat[2][1]) * s;
640 quat.v.y = (mat[2][0] - mat[0][2]) * s;
641 quat.v.z = (mat[0][1] - mat[1][0]) * s;
646 if (mat[1][1] > mat[0][0])
648 if (mat[2][2] > mat[i][i])
653 s = Math<T>::sqrt ((mat[i][i] - (mat[j][j] + mat[k][k])) + 1.0);
659 q[3] = (mat[j][k] - mat[k][j]) * s;
660 q[j] = (mat[i][j] + mat[j][i]) * s;
661 q[k] = (mat[i][k] + mat[k][i]) * s;
674 extractSHRT (const Matrix44<T> &mat,
684 rot = mat;
690 t.x = mat[3][0];
691 t.y = mat[3][1];
692 t.z = mat[3][2];
706 extractSHRT (const Matrix44<T> &mat,
713 return extractSHRT(mat, s, h, r, t, exc, Imath::Euler<T>::XYZ);
718 extractSHRT (const Matrix44<T> &mat,
725 return extractSHRT (mat, s, h, r, t, exc, r.order ());
842 Matrix44<T> mat ( row[0][0], row[0][1], row[0][2], 0,
847 return mat;
859 extractScaling (const Matrix33<T> &mat, Vec2<T> &scl, bool exc)
862 Matrix33<T> M (mat);
873 sansScaling (const Matrix33<T> &mat, bool exc)
880 if (! extractSHRT (mat, scl, shr, rot, tran, exc))
881 return mat;
895 removeScaling (Matrix33<T> &mat, bool exc)
902 if (! extractSHRT (mat, scl, shr, rot, tran, exc))
905 mat.makeIdentity ();
906 mat.translate (tran);
907 mat.rotate (rot);
908 mat.shear (shr);
916 extractScalingAndShear (const Matrix33<T> &mat, Vec2<T> &scl, T &shr, bool exc)
918 Matrix33<T> M (mat);
929 sansScalingAndShear (const Matrix33<T> &mat, bool exc)
933 Matrix33<T> M (mat);
936 return mat;
944 removeScalingAndShear (Matrix33<T> &mat, bool exc)
949 if (! extractAndRemoveScalingAndShear (mat, scl, shr, exc))
957 extractAndRemoveScalingAndShear (Matrix33<T> &mat,
962 row[0] = Vec2<T> (mat[0][0], mat[0][1]);
963 row[1] = Vec2<T> (mat[1][0], mat[1][1]);
1018 // At this point, the upper 2x2 matrix in mat is orthonormal.
1031 // The upper 2x2 matrix in mat is now a rotation matrix.
1034 mat[i][0] = row[i][0];
1035 mat[i][1] = row[i][1];
1046 extractEuler (const Matrix33<T> &mat, T &rot)
1052 Vec2<T> i (mat[0][0], mat[0][1]);
1053 Vec2<T> j (mat[1][0], mat[1][1]);
1068 extractSHRT (const Matrix33<T> &mat,
1077 rot = mat;
1083 t.x = mat[2][0];
1084 t.y = mat[2][1];