3 #include "ParaRegion.h" 16 QMatrix(
float m11,
float m12,
float m21,
float m22,
20 void setMatrix(
float m11,
float m12,
float m21,
float m22,
23 float m11()
const {
return _m11; }
24 float m12()
const {
return _m12; }
25 float m21()
const {
return _m21; }
26 float m22()
const {
return _m22; }
27 float dx()
const {
return _dx; }
28 float dy()
const {
return _dy; }
30 void map(
int x,
int y,
int *tx,
int *ty)
const;
31 void map(
float x,
float y,
float *tx,
float *ty)
const;
42 inline bool isIdentity()
const;
44 QMatrix &translate(
float dx,
float dy);
45 QMatrix &scale(
float sx,
float sy);
46 QMatrix &shear(
float sh,
float sv);
49 bool isInvertible()
const {
return !Math::FuzzyIsNull(_m11*_m22 - _m12*_m21); }
50 float determinant()
const {
return _m11*_m22 - _m12*_m21; }
52 QMatrix inverted(
bool *invertible = 0)
const;
54 bool operator==(
const QMatrix &)
const;
55 bool operator!=(
const QMatrix &)
const;
70 inline QMatrix(
float am11,
float am12,
float am21,
float am22,
float adx,
float ady,
bool)
101 inline bool QMatrix::isIdentity()
const 103 return Math::FuzzyIsNull(_m11 - 1) && Math::FuzzyIsNull(_m22 - 1) && Math::FuzzyIsNull(_m12)
104 && Math::FuzzyIsNull(_m21) && Math::FuzzyIsNull(_dx) && Math::FuzzyIsNull(_dy);
109 return Math::FuzzyCompare(m1.m11(), m2.m11())
110 && Math::FuzzyCompare(m1.m12(), m2.m12())
111 && Math::FuzzyCompare(m1.m21(), m2.m21())
112 && Math::FuzzyCompare(m1.m22(), m2.m22())
113 && Math::FuzzyCompare(m1.dx(), m2.dx())
114 && Math::FuzzyCompare(m1.dy(), m2.dy());
Definition: ParaPoint.h:203
different physics engine has different winding order.
Definition: EventBinding.h:32
Definition: ParaLine.h:151
Definition: ParaRect.h:517
when concerting QRect with QRectF and RECT, we ensure that their left, top and width, height are the same.
Definition: ParaRect.h:16
Definition: ParaPoint.h:5