| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
3x3 Matrix class. Warning, empty constructor returns an identity matrix. More...
#include <NCollection_Mat3.hxx>
Public Member Functions | |
| NCollection_Mat3 () | |
| Empty constructor for identity matrix.   | |
| template<typename OtherElement_t > | |
| NCollection_Mat3 (const NCollection_Mat3< OtherElement_t > &theOtherMat3) | |
| Conversion constructor (explicitly converts some 3x3 matrix with other element type to a new 3x3 matrix with the element type Element_t, whose elements are static_cast'ed corresponding elements of theOtherMat3 matrix)   | |
| Element_t | GetValue (const size_t theRow, const size_t theCol) const | 
| Get element at the specified row and column.   | |
| Element_t & | ChangeValue (const size_t theRow, const size_t theCol) | 
| Access element at the specified row and column.   | |
| void | SetValue (const size_t theRow, const size_t theCol, const Element_t theValue) | 
| Set value for the element specified by row and columns.   | |
| Element_t & | operator() (const size_t theRow, const size_t theCol) | 
| Return value.   | |
| Element_t | operator() (const size_t theRow, const size_t theCol) const | 
| Return value.   | |
| NCollection_Vec3< Element_t > | GetRow (const size_t theRow) const | 
| Return the row.   | |
| void | SetRow (const size_t theRow, const NCollection_Vec3< Element_t > &theVec) | 
| Change first 3 row values by the passed vector.   | |
| NCollection_Vec3< Element_t > | GetColumn (const size_t theCol) const | 
| Return the column.   | |
| void | SetColumn (const size_t theCol, const NCollection_Vec3< Element_t > &theVec) | 
| Change first 3 column values by the passed vector.   | |
| NCollection_Vec3< Element_t > | GetDiagonal () const | 
| Get vector of diagonal elements.   | |
| void | SetDiagonal (const NCollection_Vec3< Element_t > &theVec) | 
| Change first 3 elements of the diagonal matrix.   | |
| void | InitZero () | 
| Initialize the zero matrix.   | |
| bool | IsZero () const | 
| Checks the matrix for zero (without tolerance).   | |
| void | InitIdentity () | 
| Initialize the identity matrix.   | |
| bool | IsIdentity () const | 
| Checks the matrix for identity (without tolerance).   | |
| bool | IsEqual (const NCollection_Mat3 &theOther) const | 
| Check this matrix for equality with another matrix (without tolerance!).   | |
| bool | operator== (const NCollection_Mat3 &theMat) const | 
| Comparison operator.   | |
| bool | operator!= (const NCollection_Mat3 &theOther) const | 
| Check this vector with another vector for non-equality (without tolerance!).   | |
| const Element_t * | GetData () const | 
| Raw access to the data (for OpenGL exchange). the data is returned in column-major order.   | |
| Element_t * | ChangeData () | 
| NCollection_Vec3< Element_t > | operator* (const NCollection_Vec3< Element_t > &theVec) const | 
| Multiply by the vector (M * V).   | |
| void | Multiply (const NCollection_Mat3 &theMat) | 
| Compute matrix multiplication.   | |
| NCollection_Mat3 & | operator*= (const NCollection_Mat3 &theMat) | 
| Multiply by the another matrix.   | |
| NCollection_Mat3 | operator* (const NCollection_Mat3 &theMat) const | 
| Compute matrix multiplication product.   | |
| NCollection_Mat3 | Multiplied (const NCollection_Mat3 &theMat) const | 
| Compute matrix multiplication product.   | |
| void | Multiply (const Element_t theFactor) | 
| Compute per-component multiplication.   | |
| NCollection_Mat3 & | operator*= (const Element_t theFactor) | 
| Compute per-element multiplication.   | |
| NCollection_Mat3 | operator* (const Element_t theFactor) const | 
| Compute per-element multiplication.   | |
| NCollection_Mat3 | Multiplied (const Element_t theFactor) const | 
| Compute per-element multiplication.   | |
| void | Divide (const Element_t theFactor) | 
| Compute per-component division.   | |
| NCollection_Mat3 & | operator/= (const Element_t theScalar) | 
| Per-component division.   | |
| NCollection_Mat3 | Divided (const Element_t theScalar) const | 
| Divides all the coefficients of the matrix by scalar.   | |
| NCollection_Mat3 | operator/ (const Element_t theScalar) const | 
| Divides all the coefficients of the matrix by scalar.   | |
| void | Add (const NCollection_Mat3 &theMat) | 
| Per-component addition of another matrix.   | |
| NCollection_Mat3 & | operator+= (const NCollection_Mat3 &theMat) | 
| Per-component addition of another matrix.   | |
| void | Subtract (const NCollection_Mat3 &theMat) | 
| Per-component subtraction of another matrix.   | |
| NCollection_Mat3 & | operator-= (const NCollection_Mat3 &theMat) | 
| Per-component subtraction of another matrix.   | |
| NCollection_Mat3 | Added (const NCollection_Mat3 &theMat) const | 
| Per-component addition of another matrix.   | |
| NCollection_Mat3 | operator+ (const NCollection_Mat3 &theMat) const | 
| Per-component addition of another matrix.   | |
| NCollection_Mat3 | Subtracted (const NCollection_Mat3 &theMat) const | 
| Per-component subtraction of another matrix.   | |
| NCollection_Mat3 | operator- (const NCollection_Mat3 &theMat) const | 
| Per-component subtraction of another matrix.   | |
| NCollection_Mat3 | Negated () const | 
| Returns matrix with all components negated.   | |
| NCollection_Mat3 | operator- () const | 
| Returns matrix with all components negated.   | |
| NCollection_Mat3 | Transposed () const | 
| Transpose the matrix.   | |
| void | Transpose () | 
| Transpose the matrix.   | |
| Element_t | Determinant () const | 
| Return determinant of the matrix.   | |
| NCollection_Mat3 | Adjoint () const | 
| Return adjoint (adjugate matrix, e.g. conjugate transpose).   | |
| bool | Inverted (NCollection_Mat3 &theInv, Element_t &theDet) const | 
| Compute inverted matrix.   | |
| bool | Inverted (NCollection_Mat3 &theInv) const | 
| Compute inverted matrix.   | |
| NCollection_Mat3 | Inverted () const | 
| Return inverted matrix.   | |
| template<typename Other_t > | |
| void | ConvertFrom (const NCollection_Mat3< Other_t > &theFrom) | 
| Take values from NCollection_Mat3 with a different element type with type conversion.   | |
| void | DumpJson (Standard_OStream &theOStream, Standard_Integer) const | 
| Dumps the content of me into the stream.   | |
Static Public Member Functions | |
| static NCollection_Mat3 | Identity () | 
| Return identity matrix.   | |
| static NCollection_Mat3 | Zero () | 
| Return zero matrix.   | |
| static NCollection_Mat3 | Multiply (const NCollection_Mat3 &theMatA, const NCollection_Mat3 &theMatB) | 
| Compute matrix multiplication product: A * B.   | |
| static NCollection_Mat3< Element_t > & | Map (Element_t *theData) | 
| Maps plain C array to matrix type.   | |
| static const NCollection_Mat3< Element_t > & | Map (const Element_t *theData) | 
| Maps plain C array to matrix type.   | |
3x3 Matrix class. Warning, empty constructor returns an identity matrix.
      
  | 
  inline | 
Empty constructor for identity matrix.
      
  | 
  inlineexplicit | 
Conversion constructor (explicitly converts some 3x3 matrix with other element type to a new 3x3 matrix with the element type Element_t, whose elements are static_cast'ed corresponding elements of theOtherMat3 matrix)
| OtherElement_t | the element type of the other 3x3 matrix theOtherVec3 | 
| theOtherMat3 | the 3x3 matrix that needs to be converted | 
      
  | 
  inline | 
Per-component addition of another matrix.
      
  | 
  inline | 
Per-component addition of another matrix.
      
  | 
  inline | 
Return adjoint (adjugate matrix, e.g. conjugate transpose).
      
  | 
  inline | 
      
  | 
  inline | 
Access element at the specified row and column.
| theRow | [in] the row.to access. | 
| theCol | [in] the column to access. | 
      
  | 
  inline | 
Take values from NCollection_Mat3 with a different element type with type conversion.
      
  | 
  inline | 
Return determinant of the matrix.
      
  | 
  inline | 
Compute per-component division.
| theFactor | [in] the scale factor. | 
      
  | 
  inline | 
Divides all the coefficients of the matrix by scalar.
      
  | 
  inline | 
Dumps the content of me into the stream.
      
  | 
  inline | 
Return the column.
      
  | 
  inline | 
Raw access to the data (for OpenGL exchange). the data is returned in column-major order.
      
  | 
  inline | 
Get vector of diagonal elements.
      
  | 
  inline | 
Return the row.
      
  | 
  inline | 
Get element at the specified row and column.
| theRow | [in] the row.to address. | 
| theCol | [in] the column to address. | 
      
  | 
  inlinestatic | 
Return identity matrix.
      
  | 
  inline | 
Initialize the identity matrix.
      
  | 
  inline | 
Initialize the zero matrix.
      
  | 
  inline | 
Return inverted matrix.
      
  | 
  inline | 
Compute inverted matrix.
| [out] | theInv | the inverted matrix | 
      
  | 
  inline | 
Compute inverted matrix.
| [out] | theInv | the inverted matrix | 
| [out] | theDet | determinant of matrix | 
      
  | 
  inline | 
Check this matrix for equality with another matrix (without tolerance!).
      
  | 
  inline | 
Checks the matrix for identity (without tolerance).
      
  | 
  inline | 
Checks the matrix for zero (without tolerance).
      
  | 
  inlinestatic | 
Maps plain C array to matrix type.
      
  | 
  inlinestatic | 
Maps plain C array to matrix type.
      
  | 
  inline | 
Compute per-element multiplication.
| theFactor | [in] the scale factor. | 
      
  | 
  inline | 
Compute matrix multiplication product.
| theMat | [in] the other matrix. | 
      
  | 
  inline | 
Compute per-component multiplication.
| theFactor | [in] the scale factor. | 
      
  | 
  inline | 
Compute matrix multiplication.
| theMat | [in] the matrix to multiply. | 
      
  | 
  inlinestatic | 
Compute matrix multiplication product: A * B.
| theMatA | [in] the matrix "A". | 
| theMatB | [in] the matrix "B". | 
      
  | 
  inline | 
Returns matrix with all components negated.
      
  | 
  inline | 
Check this vector with another vector for non-equality (without tolerance!).
      
  | 
  inline | 
Return value.
      
  | 
  inline | 
Return value.
      
  | 
  inline | 
Compute per-element multiplication.
| theFactor | [in] the scale factor. | 
      
  | 
  inline | 
Compute matrix multiplication product.
| theMat | [in] the other matrix. | 
      
  | 
  inline | 
Multiply by the vector (M * V).
| theVec | [in] the vector to multiply. | 
      
  | 
  inline | 
Compute per-element multiplication.
| theFactor | [in] the scale factor. | 
      
  | 
  inline | 
Multiply by the another matrix.
| theMat | [in] the other matrix. | 
      
  | 
  inline | 
Per-component addition of another matrix.
      
  | 
  inline | 
Per-component addition of another matrix.
      
  | 
  inline | 
Returns matrix with all components negated.
      
  | 
  inline | 
Per-component subtraction of another matrix.
      
  | 
  inline | 
Per-component subtraction of another matrix.
      
  | 
  inline | 
Divides all the coefficients of the matrix by scalar.
      
  | 
  inline | 
Per-component division.
| theScalar | [in] the scale factor. | 
      
  | 
  inline | 
Comparison operator.
      
  | 
  inline | 
Change first 3 column values by the passed vector.
| theCol | [in] the column to change. | 
| theVec | [in] the vector of values. | 
      
  | 
  inline | 
Change first 3 elements of the diagonal matrix.
| theVec | the vector of values. | 
      
  | 
  inline | 
Change first 3 row values by the passed vector.
| theRow | [in] the row to change. | 
| theVec | [in] the vector of values. | 
      
  | 
  inline | 
Set value for the element specified by row and columns.
| theRow | [in] the row to change. | 
| theCol | [in] the column to change. | 
| theValue | [in] the value to set.s | 
      
  | 
  inline | 
Per-component subtraction of another matrix.
      
  | 
  inline | 
Per-component subtraction of another matrix.
      
  | 
  inline | 
Transpose the matrix.
      
  | 
  inline | 
Transpose the matrix.
      
  | 
  inlinestatic | 
Return zero matrix.