|
ACF $AcfVersion:0$
|
3D-matrix definition. More...
#include <CMatrix3d.h>
Public Types | |
| typedef imath::TMatrix< 3, 3 > | BaseClass |
Public Types inherited from imath::TMatrix< 3, 3 > | |
| enum | MatrixInitMode |
| typedef istd::CIndex2d | IndexType |
| typedef istd::CIndex2d | SizesType |
| typedef double | ElementType |
| typedef imath::TVector< Height, double > | ColumnVector |
| typedef imath::TVector< Width, double > | RowVector |
Public Member Functions | |
| CMatrix3d () | |
| Constructor with no member initialization. | |
| CMatrix3d (const CMatrix3d &transform) | |
| CMatrix3d (const CVector3d &axisX, const CVector3d &axisY, const CVector3d &axisZ) | |
| Constructor using 3 vectors to span the transformation space. | |
| CMatrix3d (double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33) | |
| Constructor using matrix members. | |
| void | Reset () |
| Default reset to identity. | |
| CVector3d | GetMultiplied (const CVector3d &position) const |
| CMatrix3d | GetMultiplied (const CMatrix3d &matrix) const |
| void | Multiply (const CMatrix3d &matrix) |
| void | MultiplyLeft (const CMatrix3d &matrix) |
| CVector3d | GetAxisX () const |
| Get axis X vector. | |
| CVector3d | GetAxisY () const |
| Get axis Y vector. | |
| CVector3d | GetAxisZ () const |
| Get axis Z vector. | |
| CVector3d | GetAxesLengths () const |
| Get lengths of axes vectors. | |
| void | GetAxesLengths (CVector3d &result) const |
| Get lengths of axes vectors. | |
| i3d::CVector3d | GetInvMultiplied (const i3d::CVector3d &position) const |
| Inverted operation to GetApply(). | |
| bool | GetInvMultiplied (const i3d::CVector3d &position, i3d::CVector3d &result) const |
| Inverted operation to GetApply(). | |
| CMatrix3d | GetInverted () const |
| Calculate inverted matrix. | |
| bool | GetInverted (CMatrix3d &result) const |
| Calculate inverted matrix. | |
| CMatrix3d | GetTransposed () const |
| Calculate transposed matrix. | |
| double | GetDet () const |
| Calculate determinant of deformation matrix. | |
| CMatrix3d & | operator= (const CMatrix3d &matrix) |
| Copy operator. | |
| CMatrix3d | operator* (double scale) const |
| Multiplication by scalar number. | |
| CMatrix3d | operator/ (double scale) const |
| Division by scalar number. | |
Public Member Functions inherited from imath::TMatrix< 3, 3 > | |
| TMatrix () | |
| Create matrix without initialization. | |
| TMatrix (MatrixInitMode mode) | |
| Create matrix with initialization to some specified one. | |
| TMatrix (const TMatrix &matrix) | |
| Copy constructor. | |
| void | Reset () |
| Set all matrix cells to zero. | |
| void | Clear () |
| Set all matrix cells to zero. | |
| bool | IsDimensionsCountFixed () const |
| Check, if number dimensions is fixed. | |
| int | GetDimensionsCount () const |
| Get number of dimensions of this array. | |
| bool | SetDimensionsCount (int count) |
| Set number of dimensions of this array. | |
| const SizesType & | GetSizes () const |
| Get list of all sizes. | |
| bool | SetSizes (const SizesType &sizes) |
| Set list of all sizes. | |
| int | GetSize (int dimension) const |
| Get size of array for specified dimension. | |
| bool | SetSize (int dimension, int size) |
| Set size of array for specified dimension. | |
| const ElementType & | GetAt (const IndexType &index) const |
| Get element stored at specified index. | |
| const ElementType & | GetAt (int x, int y) const |
| Get element stored at specified index. | |
| ElementType & | GetAtRef (const IndexType &index) |
| Get reference to element stored at specified index. | |
| ElementType & | GetAtRef (int x, int y) |
| Get reference to element stored at specified index. | |
| void | SetAt (const IndexType &index, const ElementType &value) |
| Set element at specified index. | |
| void | SetAt (int x, int y, const ElementType &value) |
| Set element at specified index. | |
| void | InitToIdentity () |
| Create identity matrix. | |
| double | GetMaxElement () const |
| double | GetMinElement () const |
| void | GetNegated (TMatrix< Width, Height, double > &result) |
| Get result matrix with negated all elements. | |
| void | GetAdded (const TMatrix< Width, Height, double > &matrix, TMatrix< Width, Height, double > &result) const |
| Get sum of two matrices. | |
| void | GetSubstracted (const TMatrix< Width, Height, double > &matrix, TMatrix< Width, Height, double > &result) const |
| Get result of substraction of two matrices. | |
| void | GetMultiplied (const TMatrix< SecondWidth, Width, double > &matrix, TMatrix< SecondWidth, Height, double > &result) const |
| Get result of multiplication of two matrices. | |
| TMatrix< SecondWidth, Height, double > | GetMultiplied (const TMatrix< SecondWidth, Width, double > &matrix) const |
| Get result of multiplication of two matrices. | |
| void | GetMultiplied (const TVector< Width, double > &vector, TVector< Height, double > &result) const |
| Get result of multiplication of this matrix and some vector. | |
| TVector< Height, double > | GetMultiplied (const TVector< Width, double > &vector) const |
| Get result of multiplication of this matrix and some vector. | |
| void | GetScaled (double value, TMatrix< Width, Height, double > &result) const |
| Get result of multiplication of this matrix with scalar value. | |
| void | GetTransposed (TMatrix< Height, Width, double > &result) const |
| Get transposed matrix. | |
| TMatrix< Height, Width, double > | GetTransposed () const |
| Get transposed matrix. | |
| void | Transpose () |
| Transpose matrix. | |
| double | GetTrace () const |
| Get trace of this matrix. | |
| double | GetFrobeniusNorm2 () const |
| double | GetFrobeniusNorm () const |
| bool | GetTriangleDecomposed (TMatrix< Width, Height, double > &result, TMatrix< Height, Height, double > *matrixQPtr=NULL, int maxColumns=-1, double minHhNorm=I_BIG_EPSILON) const |
| Transform matrix to upper triangle form using method of Householder reflexions. | |
| bool | GetDecompositionQDQ (TMatrix< Height, Height, double > &matrixQ, TVector< Height, double > &diagonalD, double tolerance=I_BIG_EPSILON, int maxIterations=100) const |
Calculate decomposition in form of QDQ where Q is orthogonal matrix and D is diagonal one. | |
| void | GetColumnVector (int columnIndex, TVector< Height, double > &result) const |
| Get single column as vector. | |
| void | SetColumnVector (int columnIndex, const TVector< Height, double > &columnVector) |
| Set a single column vector to matrix. | |
| void | GetRowVector (int rowIndex, TVector< Width, double > &result) |
| Get single row as vector. | |
| bool | Serialize (iser::IArchive &archive) |
| TMatrix< Width, Height, double > | operator+ (const TMatrix< Width, Height, double > &matrix) const |
| TMatrix< Width, Height, double > | operator- (const TMatrix< Width, Height, double > &matrix) const |
| TMatrix< Width, Height, double > | operator- () |
| TMatrix< SecondWidth, Height, double > | operator* (const TMatrix< SecondWidth, Width, double > &matrix) const |
| TMatrix< Width, Height, double > | operator* (double value) const |
| TMatrix< Width, Height, double > & | operator+= (const TMatrix< Width, Height, double > &matrix) |
| TMatrix< Width, Height, double > & | operator-= (const TMatrix< Width, Height, double > &matrix) |
| TMatrix< Width, Height, double > & | operator*= (double value) |
| bool | operator== (const TMatrix< Width, Height, double > &matrix) const |
| bool | operator!= (const TMatrix< Width, Height, double > &matrix) const |
| const ElementType & | operator[] (const IndexType &index) const |
| ElementType & | operator[] (const IndexType &index) |
| TMatrix< Width, Height, double > & | operator= (const TMatrix< Width, Height, double > &matrix)=default |
Static Public Member Functions | |
| static const CMatrix3d & | GetIdentity () |
3D-matrix definition.
Definition at line 17 of file CMatrix3d.h.
| typedef imath::TMatrix<3, 3> i3d::CMatrix3d::BaseClass |
Definition at line 20 of file CMatrix3d.h.
|
inline |
Constructor with no member initialization.
Definition at line 134 of file CMatrix3d.h.
Referenced by GetTransposed(), and operator/().
|
inline |
Definition at line 139 of file CMatrix3d.h.
|
inline |
Constructor using 3 vectors to span the transformation space.
Definition at line 145 of file CMatrix3d.h.
References imath::TMatrix< 3, 3 >::SetAt().
|
inline |
Constructor using matrix members.
Definition at line 162 of file CMatrix3d.h.
References imath::TMatrix< 3, 3 >::SetAt().
|
inline |
Get lengths of axes vectors.
Definition at line 216 of file CMatrix3d.h.
References GetAxesLengths().
Referenced by GetAxesLengths().
|
inline |
Get lengths of axes vectors.
Definition at line 226 of file CMatrix3d.h.
References GetAxisX(), GetAxisY(), GetAxisZ(), i3d::CVector3d::SetX(), i3d::CVector3d::SetY(), and i3d::CVector3d::SetZ().
|
inline |
Get axis X vector.
Definition at line 199 of file CMatrix3d.h.
References imath::TMatrix< 3, 3 >::GetAt().
Referenced by GetAxesLengths().
|
inline |
Get axis Y vector.
Definition at line 205 of file CMatrix3d.h.
References imath::TMatrix< 3, 3 >::GetAt().
Referenced by GetAxesLengths().
|
inline |
Get axis Z vector.
Definition at line 210 of file CMatrix3d.h.
References imath::TMatrix< 3, 3 >::GetAt().
Referenced by GetAxesLengths().
|
inline |
Calculate determinant of deformation matrix.
Definition at line 252 of file CMatrix3d.h.
References imath::TMatrix< 3, 3 >::GetAt().
|
inlinestatic |
Definition at line 299 of file CMatrix3d.h.
Referenced by i3d::CAffine3d::CreateTranslation(), and i3d::CAffine3d::Reset().
|
inline |
Calculate inverted matrix.
Definition at line 234 of file CMatrix3d.h.
References GetInverted().
Referenced by GetInverted().
| bool i3d::CMatrix3d::GetInverted | ( | CMatrix3d & | result | ) | const |
Calculate inverted matrix.
| i3d::CVector3d i3d::CMatrix3d::GetInvMultiplied | ( | const i3d::CVector3d & | position | ) | const |
Inverted operation to GetApply().
| bool i3d::CMatrix3d::GetInvMultiplied | ( | const i3d::CVector3d & | position, |
| i3d::CVector3d & | result | ||
| ) | const |
Inverted operation to GetApply().
Definition at line 189 of file CMatrix3d.h.
References GetMultiplied().
Definition at line 179 of file CMatrix3d.h.
References GetMultiplied().
Referenced by i3d::CAffine3d::GetComposed(), GetMultiplied(), GetMultiplied(), i3d::CAffine3d::Transform(), and i3d::CAffine3d::TransformDirection().
|
inline |
Calculate transposed matrix.
Definition at line 244 of file CMatrix3d.h.
References CMatrix3d(), and imath::TMatrix< 3, 3 >::GetAt().
| void i3d::CMatrix3d::Multiply | ( | const CMatrix3d & | matrix | ) |
| void i3d::CMatrix3d::MultiplyLeft | ( | const CMatrix3d & | matrix | ) |
|
inline |
Multiplication by scalar number.
Definition at line 273 of file CMatrix3d.h.
References imath::TMatrix< 3, 3 >::GetScaled().
|
inline |
Division by scalar number.
Definition at line 283 of file CMatrix3d.h.
References CMatrix3d(), and imath::TMatrix< 3, 3 >::GetAt().
Copy operator.
Definition at line 265 of file CMatrix3d.h.
References imath::TMatrix< 3, 3 >::operator=().
| void i3d::CMatrix3d::Reset | ( | ) |
Default reset to identity.