43 void add(
const Mat2d& Other);
54 double& changeValue(
const int Row,
const int Col);
57 XY column(
const int Col)
const;
59 double determinant()
const;
62 void divide(
const double Scalar);
64 Mat2d divided(
const double Scalar)
const;
69 Mat2d inverted()
const;
71 static inline bool isEven(
const int Value) {
return Value % 2 == 0; }
73 static inline bool isOdd(
const int Value) {
return Value % 2 != 0; }
78 bool isSingular()
const;
82 void multiply(
const Mat2d& Other);
83 Mat2d multiplied(
const double Scalar)
const;
85 void multiply(
const double Scalar);
94 void operator*=(
const double Scalar) { multiply(Scalar); }
104 const double&
operator()(
const int Row,
const int Col)
const {
return value(Row, Col); }
105 double&
operator()(
const int Row,
const int Col) {
return changeValue(Row, Col); }
107 void power(
const int N);
114 Mat2d powered(
const int N)
const;
118 void preMultiply(
const Mat2d& Other);
121 XY row(
const int Row)
const;
125 void setCol(
const int Col,
const XY& Value);
127 void setCols(
const XY& Col1,
const XY& Col2);
133 void setDiagonal(
const double X1,
const double X2);
139 void setRotation(
const double Ang);
142 void setRow(
const int Row,
const XY& Value);
144 void setRows(
const XY& Row1,
const XY& Row2);
150 void setScale(
const double S);
153 void setValue(
const int Row,
const int Col,
const double Value);
154 void subtract(
const Mat2d& Other);
161 Mat2d transposed()
const;
166 const double& value(
const int Row,
const int Col)
const;
173 double _matrix[2][2];
static bool isEven(const int Value)
Definition: Mat2d.h:71
Mat2d operator+(const Mat2d &Other) const
Definition: Mat2d.h:88
static bool isOdd(const int Value)
Definition: Mat2d.h:73
#define GEOM_EXPORT
Definition: geom_defines.h:8
void operator/=(const double Scalar)
Definition: Mat2d.h:100
Mat2d operator-(const Mat2d &Other) const
Definition: Mat2d.h:92
Geom::Vec operator *(const double Scalar, const Geom::Vec &V)
Definition: Vec.h:312
const double & operator()(const int Row, const int Col) const
Definition: Mat2d.h:104
Mat2d operator/(const double Scalar) const
Definition: Mat2d.h:102
void operator-=(const Mat2d &Other)
Definition: Mat2d.h:90
double & operator()(const int Row, const int Col)
Definition: Mat2d.h:105
void operator+=(const Mat2d &Other)
Definition: Mat2d.h:86