41 void add(
const Mat2d& Other);
52 double& changeValue(
const int Row,
const int Col);
55 XY column(
const int Col)
const;
57 double determinant()
const;
60 void divide(
const double Scalar);
62 Mat2d divided(
const double Scalar)
const;
67 Mat2d inverted()
const;
69 static inline bool isEven(
const int Value) {
return Value % 2 == 0; }
71 static inline bool isOdd(
const int Value) {
return Value % 2 != 0; }
76 bool isSingular()
const;
80 void multiply(
const Mat2d& Other);
81 Mat2d multiplied(
const double Scalar)
const;
83 void multiply(
const double Scalar);
92 void operator*=(
const double Scalar) { multiply(Scalar); }
102 const double&
operator()(
const int Row,
const int Col)
const {
return value(Row, Col); }
103 double&
operator()(
const int Row,
const int Col) {
return changeValue(Row, Col); }
105 void power(
const int N);
112 Mat2d powered(
const int N)
const;
116 void preMultiply(
const Mat2d& Other);
119 XY row(
const int Row)
const;
123 void setCol(
const int Col,
const XY& Value);
125 void setCols(
const XY& Col1,
const XY& Col2);
131 void setDiagonal(
const double X1,
const double X2);
137 void setRotation(
const double Ang);
140 void setRow(
const int Row,
const XY& Value);
142 void setRows(
const XY& Row1,
const XY& Row2);
148 void setScale(
const double S);
151 void setValue(
const int Row,
const int Col,
const double Value);
152 void subtract(
const Mat2d& Other);
159 Mat2d transposed()
const;
164 const double& value(
const int Row,
const int Col)
const;
171 double _matrix[2][2];
Vector3f & operator *=(Vector3f &rclVect, const Matrix4D &rclMtrx)
Definition: Matrix.h:351
static bool isEven(const int Value)
Definition: Mat2d.h:69
Mat2d operator+(const Mat2d &Other) const
Definition: Mat2d.h:86
static bool isOdd(const int Value)
Definition: Mat2d.h:71
void operator/=(const double Scalar)
Definition: Mat2d.h:98
Mat2d operator-(const Mat2d &Other) const
Definition: Mat2d.h:90
const double & operator()(const int Row, const int Col) const
Definition: Mat2d.h:102
Mat2d operator/(const double Scalar) const
Definition: Mat2d.h:100
void operator-=(const Mat2d &Other)
Definition: Mat2d.h:88
DualNumber operator *(DualNumber a, DualNumber b)
Definition: DualNumber.h:71
double & operator()(const int Row, const int Col)
Definition: Mat2d.h:103
void operator+=(const Mat2d &Other)
Definition: Mat2d.h:84