38 class LX_GEOM_EXPORT
Mat 67 void setCol(
const int Col,
const XYZ& Value);
70 void setCols(
const XYZ& Col1,
const XYZ& Col2,
const XYZ& Col3);
80 void setCross(
const XYZ& Ref);
87 void setDiagonal(
const double X1,
const double X2,
const double X3);
94 void setDot(
const XYZ& Ref);
98 bool isIdentity()
const;
104 void setRotation(
const XYZ& Axis,
const double Ang);
107 void setRow(
const int Row,
const XYZ& Value);
110 void setRows(
const XYZ& Row1,
const XYZ& Row2,
const XYZ& Row3);
117 void setScale(
const double S);
120 void setValue(
const int Row,
const int Col,
const double Value);
123 XYZ column(
const int Col)
const;
125 double determinant()
const;
127 XYZ diagonal()
const;
130 XYZ row(
const int Row)
const;
133 const double& value(
const int Row,
const int Col)
const;
135 const double&
operator()(
const int Row,
const int Col)
const {
return value(Row, Col); }
139 double& changeValue(
const int Row,
const int Col);
141 double&
operator()(
const int Row,
const int Col) {
return changeValue(Row, Col); }
146 bool isSingular()
const;
148 void add(
const Mat& Other);
155 Mat added(
const Mat& Other)
const;
159 void divide(
const double Scalar);
164 Mat divided(
const double Scalar)
const;
180 Mat inverted()
const;
183 Mat multiplied(
const Mat& Other)
const;
188 void multiply(
const Mat& Other);
192 void preMultiply(
const Mat& Other);
194 Mat multiplied(
const double Scalar)
const;
196 Mat operator*(
const double Scalar)
const {
return multiplied(Scalar); }
199 void multiply(
const double Scalar);
203 void power(
const int N);
210 Mat powered(
const int N)
const;
212 void subtract(
const Mat& Other);
218 Mat subtracted(
const Mat& Other)
const;
222 bool operator==(
const Mat& Other)
const;
229 Mat transposed()
const;
232 friend class CA_Transfrom;
233 friend class gp_GTrsf;
238 void initFromQuaternion(
double w,
double x,
double y,
double z);
240 bool toQuaternion(
double& w,
double& x,
double& y,
double& z);
double & operator()(const int Row, const int Col)
Definition: Mat.h:141
const double & operator()(const int Row, const int Col) const
Definition: Mat.h:135
void operator+=(const Mat &Other)
Definition: Mat.h:150
Vector3f & operator *=(Vector3f &rclVect, const Matrix4D &rclMtrx)
Definition: Matrix.h:351
bool operator!=(const Mat &Other) const
Definition: Mat.h:224
void operator/=(const double Scalar)
Definition: Mat.h:161
void operator-=(const Mat &Other)
Definition: Mat.h:214
Mat operator+(const Mat &Other) const
Definition: Mat.h:157
Mat operator-(const Mat &Other) const
Definition: Mat.h:220
Mat operator/(const double Scalar) const
Definition: Mat.h:166
DualNumber operator *(DualNumber a, DualNumber b)
Definition: DualNumber.h:71