OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    NCollection_Mat4< Element_t > Class Template Reference

    Generic matrix of 4 x 4 elements. To be used in conjunction with NCollection_Vec4 entities. Originally introduced for 3D space projection and orientation operations. Warning, empty constructor returns an identity matrix. More...

    #include <NCollection_Mat4.hxx>

    Public Member Functions

    constexpr NCollection_Mat4 ()
     Empty constructor. Construct the identity matrix.
    template<typename OtherElement_t>
    constexpr NCollection_Mat4 (const NCollection_Mat4< OtherElement_t > &theOtherMat4) noexcept
     Conversion constructor (explicitly converts some 4 x 4 matrix with other element type to a new 4 x 4 matrix with the element type Element_t, whose elements are static_cast'ed corresponding elements of theOtherMat4 matrix).
    constexpr Element_t GetValue (const size_t theRow, const size_t theCol) const noexcept
     Get element at the specified row and column.
    constexpr Element_t & ChangeValue (const size_t theRow, const size_t theCol) noexcept
     Access element at the specified row and column.
    constexpr void SetValue (const size_t theRow, const size_t theCol, const Element_t theValue) noexcept
     Set value for the element specified by row and columns.
    constexpr Element_t & operator() (const size_t theRow, const size_t theCol) noexcept
     Return value.
    constexpr Element_t operator() (const size_t theRow, const size_t theCol) const noexcept
     Return value.
    constexpr NCollection_Vec4< Element_t > GetRow (const size_t theRow) const noexcept
     Get vector of elements for the specified row.
    constexpr void SetRow (const size_t theRow, const NCollection_Vec3< Element_t > &theVec) noexcept
     Change first 3 row values by the passed vector.
    constexpr void SetRow (const size_t theRow, const NCollection_Vec4< Element_t > &theVec) noexcept
     Set row values by the passed 4 element vector.
    constexpr NCollection_Vec4< Element_t > GetColumn (const size_t theCol) const noexcept
     Get vector of elements for the specified column.
    constexpr void SetColumn (const size_t theCol, const NCollection_Vec3< Element_t > &theVec) noexcept
     Change first 3 column values by the passed vector.
    constexpr void SetColumn (const size_t theCol, const NCollection_Vec4< Element_t > &theVec) noexcept
     Set column values by the passed 4 element vector.
    constexpr NCollection_Vec4< Element_t > GetDiagonal () const noexcept
     Get vector of diagonal elements.
    constexpr void SetDiagonal (const NCollection_Vec3< Element_t > &theVec) noexcept
     Change first 3 elements of the diagonal matrix.
    constexpr void SetDiagonal (const NCollection_Vec4< Element_t > &theVec) noexcept
     Set diagonal elements of the matrix by the passed vector.
    constexpr NCollection_Mat3< Element_t > GetMat3 () const noexcept
     Return 3x3 sub-matrix.
    constexpr void InitZero () noexcept
     Initialize the zero matrix.
    constexpr bool IsZero () const noexcept
     Checks the matrix for zero (without tolerance).
    constexpr void InitIdentity () noexcept
     Initialize the identity matrix.
    constexpr bool IsIdentity () const noexcept
     Checks the matrix for identity (without tolerance).
    constexpr bool IsEqual (const NCollection_Mat4 &theOther) const noexcept
     Check this matrix for equality with another matrix (without tolerance!).
    constexpr bool operator== (const NCollection_Mat4 &theOther) const noexcept
     Check this matrix for equality with another matrix (without tolerance!).
    constexpr bool operator!= (const NCollection_Mat4 &theOther) const noexcept
     Check this matrix for non-equality with another matrix (without tolerance!).
    constexpr const Element_t * GetData () const noexcept
     Raw access to the data (for OpenGL exchange); the data is returned in column-major order.
    constexpr Element_t * ChangeData () noexcept
    constexpr NCollection_Vec4< Element_t > operator* (const NCollection_Vec4< Element_t > &theVec) const noexcept
     Multiply by the vector (M * V).
    constexpr void Multiply (const NCollection_Mat4 &theMat) noexcept
     Compute matrix multiplication.
    constexpr NCollection_Mat4 & operator*= (const NCollection_Mat4 &theMat) noexcept
     Multiply by the another matrix.
    constexpr NCollection_Mat4 operator* (const NCollection_Mat4 &theMat) const noexcept
     Compute matrix multiplication product.
    constexpr NCollection_Mat4 Multiplied (const NCollection_Mat4 &theMat) const noexcept
     Compute matrix multiplication product.
    constexpr void Multiply (const Element_t theFactor) noexcept
     Compute per-component multiplication.
    constexpr NCollection_Mat4 & operator*= (const Element_t theFactor) noexcept
     Compute per-element multiplication.
    constexpr NCollection_Mat4 operator* (const Element_t theFactor) const noexcept
     Compute per-element multiplication.
    constexpr NCollection_Mat4 Multiplied (const Element_t theFactor) const noexcept
     Compute per-element multiplication.
    constexpr void Divide (const Element_t theFactor)
     Compute per-component division.
    constexpr NCollection_Mat4 & operator/= (const Element_t theScalar)
     Per-component division.
    constexpr NCollection_Mat4 Divided (const Element_t theScalar) const
     Divides all the coefficients of the matrix by scalar.
    constexpr NCollection_Mat4 operator/ (const Element_t theScalar) const
     Divides all the coefficients of the matrix by scalar.
    constexpr void Add (const NCollection_Mat4 &theMat) noexcept
     Per-component addition of another matrix.
    constexpr NCollection_Mat4 & operator+= (const NCollection_Mat4 &theMat) noexcept
     Per-component addition of another matrix.
    constexpr void Subtract (const NCollection_Mat4 &theMat) noexcept
     Per-component subtraction of another matrix.
    constexpr NCollection_Mat4 & operator-= (const NCollection_Mat4 &theMat) noexcept
     Per-component subtraction of another matrix.
    constexpr NCollection_Mat4 Added (const NCollection_Mat4 &theMat) const noexcept
     Per-component addition of another matrix.
    constexpr NCollection_Mat4 operator+ (const NCollection_Mat4 &theMat) const noexcept
     Per-component addition of another matrix.
    constexpr NCollection_Mat4 Subtracted (const NCollection_Mat4 &theMat) const noexcept
     Per-component subtraction of another matrix.
    constexpr NCollection_Mat4 operator- (const NCollection_Mat4 &theMat) const noexcept
     Per-component subtraction of another matrix.
    constexpr NCollection_Mat4 Negated () const noexcept
     Returns matrix with all components negated.
    constexpr NCollection_Mat4 operator- () const noexcept
     Returns matrix with all components negated.
    constexpr void Translate (const NCollection_Vec3< Element_t > &theVec) noexcept
     Translate the matrix on the passed vector.
    constexpr NCollection_Mat4 Transposed () const noexcept
     Transpose the matrix.
    constexpr void Transpose () noexcept
     Transpose the matrix.
    bool Inverted (NCollection_Mat4< Element_t > &theOutMx, Element_t &theDet) const
     Compute inverted matrix.
    bool Inverted (NCollection_Mat4< Element_t > &theOutMx) const
     Compute inverted matrix.
    NCollection_Mat4 Inverted () const
     Return inverted matrix.
    constexpr Element_t DeterminantMat3 () const noexcept
     Return determinant of the 3x3 sub-matrix.
    constexpr NCollection_Mat4< Element_t > Adjoint () const noexcept
     Return adjoint (adjugate matrix, e.g. conjugate transpose).
    template<typename Other_t>
    constexpr void ConvertFrom (const NCollection_Mat4< Other_t > &theFrom) noexcept
     Take values from NCollection_Mat4 with a different element type with type conversion.
    template<typename Other_t>
    constexpr void Convert (const NCollection_Mat4< Other_t > &theFrom) noexcept
     Take values from NCollection_Mat4 with a different element type with type conversion.
    void DumpJson (Standard_OStream &theOStream, int) const
     Dumps the content of me into the stream.

    Static Public Member Functions

    static constexpr size_t Rows () noexcept
     Get number of rows.
    static constexpr size_t Cols () noexcept
     Get number of columns.
    static constexpr NCollection_Mat4 Identity ()
     Return identity matrix.
    static constexpr NCollection_Mat4 Zero ()
     Return zero matrix.
    static constexpr NCollection_Mat4 Multiply (const NCollection_Mat4 &theMatA, const NCollection_Mat4 &theMatB) noexcept
     Compute matrix multiplication product: A * B.
    static NCollection_Mat4< Element_t > & Map (Element_t *theData) noexcept
     Maps plain C array to matrix type.
    static const NCollection_Mat4< Element_t > & Map (const Element_t *theData) noexcept
     Maps plain C array to matrix type.

    Detailed Description

    template<typename Element_t>
    class NCollection_Mat4< Element_t >

    Generic matrix of 4 x 4 elements. To be used in conjunction with NCollection_Vec4 entities. Originally introduced for 3D space projection and orientation operations. Warning, empty constructor returns an identity matrix.

    Constructor & Destructor Documentation

    ◆ NCollection_Mat4() [1/2]

    template<typename Element_t>
    NCollection_Mat4< Element_t >::NCollection_Mat4 ( )
    inlineconstexpr

    Empty constructor. Construct the identity matrix.

    ◆ NCollection_Mat4() [2/2]

    template<typename Element_t>
    template<typename OtherElement_t>
    NCollection_Mat4< Element_t >::NCollection_Mat4 ( const NCollection_Mat4< OtherElement_t > & theOtherMat4)
    inlineexplicitconstexprnoexcept

    Conversion constructor (explicitly converts some 4 x 4 matrix with other element type to a new 4 x 4 matrix with the element type Element_t, whose elements are static_cast'ed corresponding elements of theOtherMat4 matrix).

    Template Parameters
    OtherElement_tthe element type of the other 4 x 4 matrix theOtherVec4
    Parameters
    theOtherMat4the 4 x 4 matrix that needs to be converted

    Member Function Documentation

    ◆ Add()

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::Add ( const NCollection_Mat4< Element_t > & theMat)
    inlineconstexprnoexcept

    Per-component addition of another matrix.

    ◆ Added()

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::Added ( const NCollection_Mat4< Element_t > & theMat) const
    inlinenodiscardconstexprnoexcept

    Per-component addition of another matrix.

    ◆ Adjoint()

    template<typename Element_t>
    NCollection_Mat4< Element_t > NCollection_Mat4< Element_t >::Adjoint ( ) const
    inlinenodiscardconstexprnoexcept

    Return adjoint (adjugate matrix, e.g. conjugate transpose).

    ◆ ChangeData()

    template<typename Element_t>
    Element_t * NCollection_Mat4< Element_t >::ChangeData ( )
    inlineconstexprnoexcept

    ◆ ChangeValue()

    template<typename Element_t>
    Element_t & NCollection_Mat4< Element_t >::ChangeValue ( const size_t theRow,
    const size_t theCol )
    inlineconstexprnoexcept

    Access element at the specified row and column.

    Parameters
    [in]theRowthe row to access.
    [in]theColthe column to access.
    Returns
    reference on the matrix element.

    ◆ Cols()

    template<typename Element_t>
    constexpr size_t NCollection_Mat4< Element_t >::Cols ( )
    inlinestaticconstexprnoexcept

    Get number of columns.

    Returns
    number of columns.

    ◆ Convert()

    template<typename Element_t>
    template<typename Other_t>
    void NCollection_Mat4< Element_t >::Convert ( const NCollection_Mat4< Other_t > & theFrom)
    inlineconstexprnoexcept

    Take values from NCollection_Mat4 with a different element type with type conversion.

    ◆ ConvertFrom()

    template<typename Element_t>
    template<typename Other_t>
    void NCollection_Mat4< Element_t >::ConvertFrom ( const NCollection_Mat4< Other_t > & theFrom)
    inlineconstexprnoexcept

    Take values from NCollection_Mat4 with a different element type with type conversion.

    ◆ DeterminantMat3()

    template<typename Element_t>
    Element_t NCollection_Mat4< Element_t >::DeterminantMat3 ( ) const
    inlineconstexprnoexcept

    Return determinant of the 3x3 sub-matrix.

    ◆ Divide()

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::Divide ( const Element_t theFactor)
    inlineconstexpr

    Compute per-component division.

    Parameters
    [in]theFactorthe scale factor.

    ◆ Divided()

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::Divided ( const Element_t theScalar) const
    inlinenodiscardconstexpr

    Divides all the coefficients of the matrix by scalar.

    ◆ DumpJson()

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::DumpJson ( Standard_OStream & theOStream,
    int  ) const
    inline

    Dumps the content of me into the stream.

    ◆ GetColumn()

    template<typename Element_t>
    NCollection_Vec4< Element_t > NCollection_Mat4< Element_t >::GetColumn ( const size_t theCol) const
    inlineconstexprnoexcept

    Get vector of elements for the specified column.

    Parameters
    [in]theColthe column to access.
    Returns
    vector of elements.

    ◆ GetData()

    template<typename Element_t>
    const Element_t * NCollection_Mat4< Element_t >::GetData ( ) const
    inlineconstexprnoexcept

    Raw access to the data (for OpenGL exchange); the data is returned in column-major order.

    ◆ GetDiagonal()

    template<typename Element_t>
    NCollection_Vec4< Element_t > NCollection_Mat4< Element_t >::GetDiagonal ( ) const
    inlineconstexprnoexcept

    Get vector of diagonal elements.

    Returns
    vector of diagonal elements.

    ◆ GetMat3()

    template<typename Element_t>
    NCollection_Mat3< Element_t > NCollection_Mat4< Element_t >::GetMat3 ( ) const
    inlineconstexprnoexcept

    Return 3x3 sub-matrix.

    ◆ GetRow()

    template<typename Element_t>
    NCollection_Vec4< Element_t > NCollection_Mat4< Element_t >::GetRow ( const size_t theRow) const
    inlineconstexprnoexcept

    Get vector of elements for the specified row.

    Parameters
    [in]theRowthe row to access.
    Returns
    vector of elements.

    ◆ GetValue()

    template<typename Element_t>
    Element_t NCollection_Mat4< Element_t >::GetValue ( const size_t theRow,
    const size_t theCol ) const
    inlineconstexprnoexcept

    Get element at the specified row and column.

    Parameters
    [in]theRowthe row to address.
    [in]theColthe column to address.
    Returns
    the value of the addressed element.

    ◆ Identity()

    template<typename Element_t>
    constexpr NCollection_Mat4 NCollection_Mat4< Element_t >::Identity ( )
    inlinestaticconstexpr

    Return identity matrix.

    ◆ InitIdentity()

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::InitIdentity ( )
    inlineconstexprnoexcept

    Initialize the identity matrix.

    ◆ InitZero()

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::InitZero ( )
    inlineconstexprnoexcept

    Initialize the zero matrix.

    ◆ Inverted() [1/3]

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::Inverted ( ) const
    inline

    Return inverted matrix.

    ◆ Inverted() [2/3]

    template<typename Element_t>
    bool NCollection_Mat4< Element_t >::Inverted ( NCollection_Mat4< Element_t > & theOutMx) const
    inline

    Compute inverted matrix.

    Parameters
    [out]theOutMxthe inverted matrix
    Returns
    true if reversion success

    ◆ Inverted() [3/3]

    template<typename Element_t>
    bool NCollection_Mat4< Element_t >::Inverted ( NCollection_Mat4< Element_t > & theOutMx,
    Element_t & theDet ) const
    inline

    Compute inverted matrix.

    Parameters
    [out]theOutMxthe inverted matrix
    [out]theDetdeterminant of matrix
    Returns
    true if reversion success

    ◆ IsEqual()

    template<typename Element_t>
    bool NCollection_Mat4< Element_t >::IsEqual ( const NCollection_Mat4< Element_t > & theOther) const
    inlineconstexprnoexcept

    Check this matrix for equality with another matrix (without tolerance!).

    ◆ IsIdentity()

    template<typename Element_t>
    bool NCollection_Mat4< Element_t >::IsIdentity ( ) const
    inlineconstexprnoexcept

    Checks the matrix for identity (without tolerance).

    ◆ IsZero()

    template<typename Element_t>
    bool NCollection_Mat4< Element_t >::IsZero ( ) const
    inlineconstexprnoexcept

    Checks the matrix for zero (without tolerance).

    ◆ Map() [1/2]

    template<typename Element_t>
    const NCollection_Mat4< Element_t > & NCollection_Mat4< Element_t >::Map ( const Element_t * theData)
    inlinestaticnoexcept

    Maps plain C array to matrix type.

    ◆ Map() [2/2]

    template<typename Element_t>
    NCollection_Mat4< Element_t > & NCollection_Mat4< Element_t >::Map ( Element_t * theData)
    inlinestaticnoexcept

    Maps plain C array to matrix type.

    ◆ Multiplied() [1/2]

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::Multiplied ( const Element_t theFactor) const
    inlinenodiscardconstexprnoexcept

    Compute per-element multiplication.

    Parameters
    [in]theFactorthe scale factor.
    Returns
    the result of multiplication.

    ◆ Multiplied() [2/2]

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::Multiplied ( const NCollection_Mat4< Element_t > & theMat) const
    inlinenodiscardconstexprnoexcept

    Compute matrix multiplication product.

    Parameters
    [in]theMatthe other matrix.
    Returns
    result of multiplication.

    ◆ Multiply() [1/3]

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::Multiply ( const Element_t theFactor)
    inlineconstexprnoexcept

    Compute per-component multiplication.

    Parameters
    [in]theFactorthe scale factor.

    ◆ Multiply() [2/3]

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::Multiply ( const NCollection_Mat4< Element_t > & theMat)
    inlineconstexprnoexcept

    Compute matrix multiplication.

    Parameters
    [in]theMatthe matrix to multiply.

    ◆ Multiply() [3/3]

    template<typename Element_t>
    constexpr NCollection_Mat4 NCollection_Mat4< Element_t >::Multiply ( const NCollection_Mat4< Element_t > & theMatA,
    const NCollection_Mat4< Element_t > & theMatB )
    inlinestaticconstexprnoexcept

    Compute matrix multiplication product: A * B.

    Parameters
    [in]theMatAthe matrix "A".
    [in]theMatBthe matrix "B".

    ◆ Negated()

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::Negated ( ) const
    inlinenodiscardconstexprnoexcept

    Returns matrix with all components negated.

    ◆ operator!=()

    template<typename Element_t>
    bool NCollection_Mat4< Element_t >::operator!= ( const NCollection_Mat4< Element_t > & theOther) const
    inlineconstexprnoexcept

    Check this matrix for non-equality with another matrix (without tolerance!).

    ◆ operator()() [1/2]

    template<typename Element_t>
    Element_t NCollection_Mat4< Element_t >::operator() ( const size_t theRow,
    const size_t theCol ) const
    inlineconstexprnoexcept

    Return value.

    ◆ operator()() [2/2]

    template<typename Element_t>
    Element_t & NCollection_Mat4< Element_t >::operator() ( const size_t theRow,
    const size_t theCol )
    inlineconstexprnoexcept

    Return value.

    ◆ operator*() [1/3]

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::operator* ( const Element_t theFactor) const
    inlinenodiscardconstexprnoexcept

    Compute per-element multiplication.

    Parameters
    [in]theFactorthe scale factor.
    Returns
    the result of multiplication.

    ◆ operator*() [2/3]

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::operator* ( const NCollection_Mat4< Element_t > & theMat) const
    inlinenodiscardconstexprnoexcept

    Compute matrix multiplication product.

    Parameters
    [in]theMatthe other matrix.
    Returns
    result of multiplication.

    ◆ operator*() [3/3]

    template<typename Element_t>
    NCollection_Vec4< Element_t > NCollection_Mat4< Element_t >::operator* ( const NCollection_Vec4< Element_t > & theVec) const
    inlineconstexprnoexcept

    Multiply by the vector (M * V).

    Parameters
    [in]theVecthe vector to multiply.

    ◆ operator*=() [1/2]

    template<typename Element_t>
    NCollection_Mat4 & NCollection_Mat4< Element_t >::operator*= ( const Element_t theFactor)
    inlineconstexprnoexcept

    Compute per-element multiplication.

    Parameters
    [in]theFactorthe scale factor.

    ◆ operator*=() [2/2]

    template<typename Element_t>
    NCollection_Mat4 & NCollection_Mat4< Element_t >::operator*= ( const NCollection_Mat4< Element_t > & theMat)
    inlineconstexprnoexcept

    Multiply by the another matrix.

    Parameters
    [in]theMatthe other matrix.

    ◆ operator+()

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::operator+ ( const NCollection_Mat4< Element_t > & theMat) const
    inlinenodiscardconstexprnoexcept

    Per-component addition of another matrix.

    ◆ operator+=()

    template<typename Element_t>
    NCollection_Mat4 & NCollection_Mat4< Element_t >::operator+= ( const NCollection_Mat4< Element_t > & theMat)
    inlineconstexprnoexcept

    Per-component addition of another matrix.

    ◆ operator-() [1/2]

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::operator- ( ) const
    inlinenodiscardconstexprnoexcept

    Returns matrix with all components negated.

    ◆ operator-() [2/2]

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::operator- ( const NCollection_Mat4< Element_t > & theMat) const
    inlinenodiscardconstexprnoexcept

    Per-component subtraction of another matrix.

    ◆ operator-=()

    template<typename Element_t>
    NCollection_Mat4 & NCollection_Mat4< Element_t >::operator-= ( const NCollection_Mat4< Element_t > & theMat)
    inlineconstexprnoexcept

    Per-component subtraction of another matrix.

    ◆ operator/()

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::operator/ ( const Element_t theScalar) const
    inlinenodiscardconstexpr

    Divides all the coefficients of the matrix by scalar.

    ◆ operator/=()

    template<typename Element_t>
    NCollection_Mat4 & NCollection_Mat4< Element_t >::operator/= ( const Element_t theScalar)
    inlineconstexpr

    Per-component division.

    Parameters
    [in]theScalarthe scale factor.

    ◆ operator==()

    template<typename Element_t>
    bool NCollection_Mat4< Element_t >::operator== ( const NCollection_Mat4< Element_t > & theOther) const
    inlineconstexprnoexcept

    Check this matrix for equality with another matrix (without tolerance!).

    ◆ Rows()

    template<typename Element_t>
    constexpr size_t NCollection_Mat4< Element_t >::Rows ( )
    inlinestaticconstexprnoexcept

    Get number of rows.

    Returns
    number of rows.

    ◆ SetColumn() [1/2]

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::SetColumn ( const size_t theCol,
    const NCollection_Vec3< Element_t > & theVec )
    inlineconstexprnoexcept

    Change first 3 column values by the passed vector.

    Parameters
    [in]theColthe column to change.
    [in]theVecthe vector of values.

    ◆ SetColumn() [2/2]

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::SetColumn ( const size_t theCol,
    const NCollection_Vec4< Element_t > & theVec )
    inlineconstexprnoexcept

    Set column values by the passed 4 element vector.

    Parameters
    [in]theColthe column to change.
    [in]theVecthe vector of values.

    ◆ SetDiagonal() [1/2]

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::SetDiagonal ( const NCollection_Vec3< Element_t > & theVec)
    inlineconstexprnoexcept

    Change first 3 elements of the diagonal matrix.

    Parameters
    theVecthe vector of values.

    ◆ SetDiagonal() [2/2]

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::SetDiagonal ( const NCollection_Vec4< Element_t > & theVec)
    inlineconstexprnoexcept

    Set diagonal elements of the matrix by the passed vector.

    Parameters
    [in]theVecthe vector of values.

    ◆ SetRow() [1/2]

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::SetRow ( const size_t theRow,
    const NCollection_Vec3< Element_t > & theVec )
    inlineconstexprnoexcept

    Change first 3 row values by the passed vector.

    Parameters
    [in]theRowthe row to change.
    [in]theVecthe vector of values.

    ◆ SetRow() [2/2]

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::SetRow ( const size_t theRow,
    const NCollection_Vec4< Element_t > & theVec )
    inlineconstexprnoexcept

    Set row values by the passed 4 element vector.

    Parameters
    [in]theRowthe row to change.
    [in]theVecthe vector of values.

    ◆ SetValue()

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::SetValue ( const size_t theRow,
    const size_t theCol,
    const Element_t theValue )
    inlineconstexprnoexcept

    Set value for the element specified by row and columns.

    Parameters
    [in]theRowthe row to change.
    [in]theColthe column to change.
    [in]theValuethe value to set.

    ◆ Subtract()

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::Subtract ( const NCollection_Mat4< Element_t > & theMat)
    inlineconstexprnoexcept

    Per-component subtraction of another matrix.

    ◆ Subtracted()

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::Subtracted ( const NCollection_Mat4< Element_t > & theMat) const
    inlinenodiscardconstexprnoexcept

    Per-component subtraction of another matrix.

    ◆ Translate()

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::Translate ( const NCollection_Vec3< Element_t > & theVec)
    inlineconstexprnoexcept

    Translate the matrix on the passed vector.

    Parameters
    [in]theVecthe translation vector.

    ◆ Transpose()

    template<typename Element_t>
    void NCollection_Mat4< Element_t >::Transpose ( )
    inlineconstexprnoexcept

    Transpose the matrix.

    ◆ Transposed()

    template<typename Element_t>
    NCollection_Mat4 NCollection_Mat4< Element_t >::Transposed ( ) const
    inlinenodiscardconstexprnoexcept

    Transpose the matrix.

    Returns
    transposed copy of the matrix.

    ◆ Zero()

    template<typename Element_t>
    constexpr NCollection_Mat4 NCollection_Mat4< Element_t >::Zero ( )
    inlinestaticconstexpr

    Return zero matrix.


    The documentation for this class was generated from the following file: