Go to the documentation of this file.
36 class LX_GEOM_EXPORT
Mat
85 void setDiagonal(
const double X1,
const double X2,
const double X3);
118 void setValue(
const int Row,
const int Col,
const double Value);
131 const double&
value(
const int Row,
const int Col)
const;
133 const double&
operator()(
const int Row,
const int Col)
const {
return value(Row, Col); }
139 double&
operator()(
const int Row,
const int Col) {
return changeValue(Row, Col); }
194 Mat operator*(
const double Scalar)
const {
return multiplied(Scalar); }
230 friend class CA_Transfrom;
231 friend class gp_GTrsf;
void multiply(const Mat &Other)
Computes the product of two matrices <me> = <Other> * <me>.
XYZ diagonal() const
Returns the main diagonal of the matrix.
Mat subtracted(const Mat &Other) const
Mat multiplied(const Mat &Other) const
Computes the product of two matrices <me> * <Other>
const double & operator()(const int Row, const int Col) const
Definition: Mat.h:133
Mat(const double a11, const double a12, const double a13, const double a21, const double a22, const double a23, const double a31, const double a32, const double a33)
Mat divided(const double Scalar) const
Divides all the coefficients of the matrix by Scalar
bool toQuaternion(double &w, double &x, double &y, double &z)
double determinant() const
Computes the determinant of the matrix.
XYZ column(const int Col) const
Mat operator*(const double Scalar) const
Definition: Mat.h:194
double & operator()(const int Row, const int Col)
Definition: Mat.h:139
Mat powered(const int N) const
void setDiagonal(const double X1, const double X2, const double X3)
void setValue(const int Row, const int Col, const double Value)
void setCols(const XYZ &Col1, const XYZ &Col2, const XYZ &Col3)
double & changeValue(const int Row, const int Col)
void divide(const double Scalar)
bool operator!=(const Mat &Other) const
Definition: Mat.h:222
void setCross(const XYZ &Ref)
void operator/=(const double Scalar)
Definition: Mat.h:159
void subtract(const Mat &Other)
void setIdentity()
Modifies this matrix so that it represents the Identity matrix.
void setScale(const double S)
Geom::XYZ computeEulerAngles() const
Mat operator+(const Mat &Other) const
Definition: Mat.h:155
void setRows(const XYZ &Row1, const XYZ &Row2, const XYZ &Row3)
void operator*=(const Mat &Other)
Definition: Mat.h:188
Mat multiplied(const double Scalar) const
void preMultiply(const Mat &Other)
void initFromQuaternion(double w, double x, double y, double z)
Mat operator/(const double Scalar) const
Definition: Mat.h:164
void add(const Mat &Other)
Mat transposed() const
Transposes the matrix. A(j, i) -> A (i, j)
void operator*=(const double Scalar)
Definition: Mat.h:199
XYZ row(const int Row) const
bool operator==(const Mat &Other) const
void multiply(const double Scalar)
Multiplies all the coefficients of the matrix by Scalar
bool isEqual(const Mat &Other, double Tolerance) const
void setDot(const XYZ &Ref)
bool isIdentity() const
Returns true if this matrix represents the Identity matrix.
Mat()
creates a matrix with null coefficients.
Mat operator*(const Mat &Other) const
Definition: Mat.h:183
Mat added(const Mat &Other) const
void setRotation(const XYZ &Axis, const double Ang)
const double & value(const int Row, const int Col) const
Mat(const XYZ &Col1, const XYZ &Col2, const XYZ &Col3)
void setCol(const int Col, const XYZ &Value)
Mat operator-(const Mat &Other) const
Definition: Mat.h:218
void setRow(const int Row, const XYZ &Value)
void operator-=(const Mat &Other)
Definition: Mat.h:212
Definition: PropertyContainer.h:33
void operator+=(const Mat &Other)
Definition: Mat.h:148