Blender V5.0
Freestyle::VecMat::Matrix< T, M, N > Class Template Reference

#include <VecMat.h>

Inherited by Freestyle::VecMat::SquareMatrix< uint, 2 >, Freestyle::VecMat::SquareMatrix< int, 2 >, Freestyle::VecMat::SquareMatrix< float, 2 >, Freestyle::VecMat::SquareMatrix< double, 2 >, Freestyle::VecMat::SquareMatrix< real, 2 >, Freestyle::VecMat::SquareMatrix< uint, 3 >, Freestyle::VecMat::SquareMatrix< int, 3 >, Freestyle::VecMat::SquareMatrix< float, 3 >, Freestyle::VecMat::SquareMatrix< double, 3 >, Freestyle::VecMat::SquareMatrix< real, 3 >, Freestyle::VecMat::SquareMatrix< uint, 4 >, Freestyle::VecMat::SquareMatrix< int, 4 >, Freestyle::VecMat::SquareMatrix< float, 4 >, Freestyle::VecMat::SquareMatrix< double, 4 >, and Freestyle::VecMat::SquareMatrix< real, 4 >.

Public Types

typedef T value_type

Public Member Functions

 Matrix ()
 ~Matrix ()
template<class U>
 Matrix (const U tab[_SIZE])
template<class U>
 Matrix (const std::vector< U > &tab)
template<class U>
 Matrix (const Matrix< U, M, N > &m)
value_type operator() (const uint i, const uint j) const
value_typeoperator() (const uint i, const uint j)
Matrix< T, M, N > & transpose () const
template<class U>
Matrix< T, M, N > & operator= (const Matrix< U, M, N > &m)
template<class U>
Matrix< T, M, N > & operator+= (const Matrix< U, M, N > &m) &
template<class U>
Matrix< T, M, N > & operator-= (const Matrix< U, M, N > &m) &
template<class U>
Matrix< T, M, N > & operator*= (const U lambda) &
template<class U>
Matrix< T, M, N > & operator/= (const U lambda) &

Static Public Member Functions

static uint rows ()
static uint cols ()

Protected Attributes

value_type _coord [_SIZE]

Detailed Description

template<class T, uint M, uint N>
class Freestyle::VecMat::Matrix< T, M, N >

Definition at line 607 of file VecMat.h.

Member Typedef Documentation

◆ value_type

template<class T, uint M, uint N>
typedef T Freestyle::VecMat::Matrix< T, M, N >::value_type

Definition at line 609 of file VecMat.h.

Constructor & Destructor Documentation

◆ Matrix() [1/4]

◆ ~Matrix()

template<class T, uint M, uint N>
Freestyle::VecMat::Matrix< T, M, N >::~Matrix ( )
inline

Definition at line 618 of file VecMat.h.

References M, and N.

◆ Matrix() [2/4]

template<class T, uint M, uint N>
template<class U>
Freestyle::VecMat::Matrix< T, M, N >::Matrix ( const U tab[_SIZE])
inlineexplicit

Definition at line 624 of file VecMat.h.

References _coord, _SIZE, i, and U.

◆ Matrix() [3/4]

template<class T, uint M, uint N>
template<class U>
Freestyle::VecMat::Matrix< T, M, N >::Matrix ( const std::vector< U > & tab)
inlineexplicit

Definition at line 631 of file VecMat.h.

References _coord, _SIZE, and i.

◆ Matrix() [4/4]

template<class T, uint M, uint N>
template<class U>
Freestyle::VecMat::Matrix< T, M, N >::Matrix ( const Matrix< U, M, N > & m)
inline

Definition at line 638 of file VecMat.h.

References _coord, i, M, Matrix(), N, and T.

Member Function Documentation

◆ cols()

template<class T, uint M, uint N>
uint Freestyle::VecMat::Matrix< T, M, N >::cols ( )
inlinestatic

Definition at line 662 of file VecMat.h.

References N.

◆ operator()() [1/2]

template<class T, uint M, uint N>
value_type & Freestyle::VecMat::Matrix< T, M, N >::operator() ( const uint i,
const uint j )
inline

Definition at line 652 of file VecMat.h.

References _coord, i, and N.

◆ operator()() [2/2]

template<class T, uint M, uint N>
value_type Freestyle::VecMat::Matrix< T, M, N >::operator() ( const uint i,
const uint j ) const
inline

Definition at line 647 of file VecMat.h.

References _coord, i, and N.

◆ operator*=()

template<class T, uint M, uint N>
template<class U>
Matrix< T, M, N > & Freestyle::VecMat::Matrix< T, M, N >::operator*= ( const U lambda) &
inline

Definition at line 711 of file VecMat.h.

References _coord, i, M, Matrix(), N, and U.

◆ operator+=()

template<class T, uint M, uint N>
template<class U>
Matrix< T, M, N > & Freestyle::VecMat::Matrix< T, M, N >::operator+= ( const Matrix< U, M, N > & m) &
inline

Definition at line 691 of file VecMat.h.

References _coord, i, M, Matrix(), N, and T.

◆ operator-=()

template<class T, uint M, uint N>
template<class U>
Matrix< T, M, N > & Freestyle::VecMat::Matrix< T, M, N >::operator-= ( const Matrix< U, M, N > & m) &
inline

Definition at line 701 of file VecMat.h.

References _coord, i, M, Matrix(), N, and T.

◆ operator/=()

template<class T, uint M, uint N>
template<class U>
Matrix< T, M, N > & Freestyle::VecMat::Matrix< T, M, N >::operator/= ( const U lambda) &
inline

Definition at line 721 of file VecMat.h.

References _coord, i, M, Matrix(), N, and U.

◆ operator=()

template<class T, uint M, uint N>
template<class U>
Matrix< T, M, N > & Freestyle::VecMat::Matrix< T, M, N >::operator= ( const Matrix< U, M, N > & m)
inline

Definition at line 679 of file VecMat.h.

References _coord, i, M, Matrix(), N, and T.

◆ rows()

template<class T, uint M, uint N>
uint Freestyle::VecMat::Matrix< T, M, N >::rows ( )
inlinestatic

Definition at line 657 of file VecMat.h.

References M.

◆ transpose()

template<class T, uint M, uint N>
Matrix< T, M, N > & Freestyle::VecMat::Matrix< T, M, N >::transpose ( ) const
inline

Definition at line 667 of file VecMat.h.

References _coord, i, M, Matrix(), and N.

Member Data Documentation

◆ _coord

template<class T, uint M, uint N>
value_type Freestyle::VecMat::Matrix< T, M, N >::_coord[_SIZE]
protected

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