Castor3D 0.16.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Attributs publics statiques | Liste de tous les membres
Référence du modèle de la classe castor::SquareMatrix< T, Count >

Représentation d'une matrice carrée column major. Plus de détails...

#include <SquareMatrix.hpp>

Graphe d'héritage de castor::SquareMatrix< T, Count >:
Inheritance graph
[légende]
Graphe de collaboration de castor::SquareMatrix< T, Count >:
Collaboration graph
[légende]

Types publics

using matrix_type = Matrix< T, Count, Count >
 
using square_type = SquareMatrix< T, Count >
 
using transpose_type = square_type
 
- Types publics hérités de castor::Matrix< T, Count, Count >
using value_type
 
using col_type
 
using row_type
 
using transpose_type
 
using my_type
 

Fonctions membres publiques

SquareMatrix< T, Count - 1 > getMinor (uint32_t x, uint32_t y) const
 Récupère une matrice mineure, en ignorant la ligne et la colonne données.
 
value_type getCofactor (uint32_t column, uint32_t row) const
 Calcule le cofacteur à la ligne et la colonne données.
 
value_type getDeterminant () const
 Calcule le déterminant de cette matrice.
 
transpose_type getTransposed () const
 Calcule et renvoie la transposée de cette matrice.
 
square_typetranspose ()
 Transpose cette matrice.
 
bool isOrthogonal () const
 Dit si la matrice est orthogonale.
 
bool isSymmetrical () const
 Dit si la matrice est symétrique.
 
bool isAntiSymmetrical () const
 Dit si la matrice est anti-symétrique.
 
SquareMatrix< T, Count > getInverse () const
 Récupère la matrice inverse de cette matrice.
 
SquareMatrix< T, Count > & invert ()
 Inverse cette matrice.
 
 SquareMatrix ()
 
 SquareMatrix (NoInit const &)
 
 SquareMatrix (T const &rhs)
 
 SquareMatrix (SquareMatrix const &rhs)
 
 SquareMatrix (SquareMatrix &&rhs) noexcept
 
template<uint32_t CountU>
 SquareMatrix (SquareMatrix< T, CountU > const &rhs)
 
template<typename Type >
 SquareMatrix (SquareMatrix< Type, Count > const &rhs)
 
template<typename Type >
 SquareMatrix (Matrix< Type, Count, Count > const &rhs)
 
template<typename Type >
 SquareMatrix (Array< Type, Count *Count > const &rhs)
 
template<typename Type >
 SquareMatrix (Type const *rhs)
 
 SquareMatrix (std::initializer_list< T > rhs)
 
template<typename ... Types>
requires isRightSize< Types... >
 SquareMatrix (Types &&... inits)
 
template<typename Type >
SquareMatrix< T, Count > & operator= (Matrix< Type, Count, Count > const &rhs)
 
SquareMatrix< T, Count > & operator= (SquareMatrix< T, Count > const &rhs)
 
SquareMatrix< T, Count > & operator= (SquareMatrix< T, Count > &&rhs) noexcept
 
template<typename Type >
SquareMatrix< T, Count > & operator= (SquareMatrix< Type, Count > const &rhs)
 
template<typename Type >
SquareMatrix< T, Count > & operator= (Type const *rhs)
 
template<typename Type >
SquareMatrix< T, Count > & operator+= (SquareMatrix< Type, Count > const &rhs)
 
template<typename Type >
SquareMatrix< T, Count > & operator-= (SquareMatrix< Type, Count > const &rhs)
 
template<typename Type >
SquareMatrix< T, Count > & operator*= (SquareMatrix< Type, Count > const &rhs)
 
template<typename Type >
SquareMatrix< T, Count > & operator+= (Type const *rhs)
 
template<typename Type >
SquareMatrix< T, Count > & operator-= (Type const *rhs)
 
template<typename Type >
SquareMatrix< T, Count > & operator*= (Type const *rhs)
 
SquareMatrix< T, Count > & operator+= (T const &rhs)
 
SquareMatrix< T, Count > & operator-= (T const &rhs)
 
SquareMatrix< T, Count > & operator*= (T const &rhs)
 
SquareMatrix< T, Count > & operator/= (T const &rhs)
 
- Fonctions membres publiques hérités de castor::Matrix< T, Count, Count >
value_typeptr ()
 
value_type const * constPtr () const
 
void initialise ()
 Initialise la matrice à 0.
 
void initialise (value_type const &value)
 Initialise la matrice comme une matrice de Jordan, avec la valeur donnée.
 
transpose_type getTransposed () const
 
void getTransposed (transpose_type &result) const
 Calcule la transposée de cette matrice.
 
value_type getTrace () const
 
void setIdentity ()
 Définit cette matrice à l'identité
 
 Matrix ()
 
 Matrix (NoInit const &)
 
 Matrix (Matrix const &matrix)
 
 Matrix (Matrix &&matrix) noexcept
 
 Matrix (T const &value)
 
 Matrix (T *matrix)
 
 Matrix (Type const *matrix)
 
 Matrix (Array< Type, Columns *Rows > const &rhs)
 
 Matrix (Matrix< Type, Columns, Rows > const &matrix)
 
 Matrix (std::initializer_list< T > rhs)
 
 Matrix (Types &&... inits)
 
 ~Matrix () noexcept=default
 
void setRow (uint32_t index, value_type const *row)
 
void setRow (uint32_t index, Point< value_type, Columns > const &row)
 
void setRow (uint32_t index, Coords< value_type, Columns > const &row)
 
Point< value_type, Columns > getRow (uint32_t index) const
 
void getRow (uint32_t index, Point< value_type, Columns > &result) const
 
void setColumn (uint32_t index, value_type const *col)
 
void setColumn (uint32_t index, Point< value_type, Rows > const &col)
 
void setColumn (uint32_t index, Coords< value_type const, Rows > const &col)
 
void setColumn (uint32_t index, Coords< value_type, Rows > const &col)
 
Point< value_type, Rows > const & getColumn (uint32_t index) const
 
Point< value_type, Rows > & getColumn (uint32_t index)
 
void getColumn (uint32_t index, Point< value_type, Rows > &result) const
 
void getColumn (uint32_t index, Coords< value_type, Rows > &result)
 
col_type const & operator[] (uint32_t index) const
 
col_typeoperator[] (uint32_t index)
 
value_typeoperator() (uint32_t col, uint32_t row)
 
value_type const & operator() (uint32_t col, uint32_t row) const
 
Matrix< T, Columns, Rows > & operator= (Matrix< T, Columns, Rows > const &rhs)
 
Matrix< T, Columns, Rows > & operator= (Matrix< T, Columns, Rows > &&rhs) noexcept
 
Matrix< T, Columns, Rows > & operator= (Matrix< Type, Columns, Rows > const &rhs)
 
Matrix< T, Columns, Rows > & operator= (Type const *rhs)
 
Matrix< T, Columns, Rows > & operator+= (Matrix< Type, Columns, Rows > const &rhs)
 
Matrix< T, Columns, Rows > & operator+= (T const &rhs)
 
Matrix< T, Columns, Rows > & operator-= (Matrix< Type, Columns, Rows > const &rhs)
 
Matrix< T, Columns, Rows > & operator-= (T const &rhs)
 
Matrix< T, Columns, Rows > & operator*= (T const &rhs)
 
Matrix< T, Columns, Rows > & operator/= (T const &rhs)
 

Attributs publics statiques

template<typename ... Types>
static bool constexpr isRightSize = sizeof...( Types ) == Count * Count
 

Membres hérités additionnels

- Fonctions membres publiques statiques hérités de castor::Matrix< T, Count, Count >
static my_type getIdentity ()
 
- Attributs publics hérités de castor::Matrix< T, Count, Count >
Array< T, Columns *Rows > m_data
 
Array< col_type, Columns > m_columns
 
- Fonctions membres protégées hérités de castor::Matrix< T, Count, Count >
my_type recGetMinor (uint32_t x, uint32_t y, uint32_t rows, uint32_t cols) const
 
- Attributs protégés hérités de castor::Matrix< T, Count, Count >
union { 
 
   Array< T, Columns *Rows >   m_data 
 
   Array< col_type, Columns >   m_columns 
 
};  
 
- Attributs protégés statiques hérités de castor::Matrix< T, Count, Count >
static const std::size_t count
 
static const std::size_t size
 
static bool constexpr isRightSize
 

Description détaillée

template<typename T, uint32_t Count>
class castor::SquareMatrix< T, Count >

Représentation d'une matrice carrée column major.

Documentation des définitions de type membres

◆ matrix_type

template<typename T , uint32_t Count>
using castor::SquareMatrix< T, Count >::matrix_type = Matrix< T, Count, Count >

Le type de cette matrice

◆ square_type

template<typename T , uint32_t Count>
using castor::SquareMatrix< T, Count >::square_type = SquareMatrix< T, Count >

Le type de cette matrice

◆ transpose_type

template<typename T , uint32_t Count>
using castor::SquareMatrix< T, Count >::transpose_type = square_type

Le type de matrice transposée

Documentation des constructeurs et destructeur

◆ SquareMatrix() [1/12]

template<typename T , uint32_t Count>
castor::SquareMatrix< T, Count >::SquareMatrix ( )

name Construction / Destruction.

◆ SquareMatrix() [2/12]

template<typename T , uint32_t Count>
castor::SquareMatrix< T, Count >::SquareMatrix ( NoInit const & )
explicit

◆ SquareMatrix() [3/12]

template<typename T , uint32_t Count>
castor::SquareMatrix< T, Count >::SquareMatrix ( T const & rhs)
explicit

◆ SquareMatrix() [4/12]

template<typename T , uint32_t Count>
castor::SquareMatrix< T, Count >::SquareMatrix ( SquareMatrix< T, Count > const & rhs)

◆ SquareMatrix() [5/12]

template<typename T , uint32_t Count>
castor::SquareMatrix< T, Count >::SquareMatrix ( SquareMatrix< T, Count > && rhs)
noexcept

◆ SquareMatrix() [6/12]

template<typename T , uint32_t Count>
template<uint32_t CountU>
castor::SquareMatrix< T, Count >::SquareMatrix ( SquareMatrix< T, CountU > const & rhs)
explicit

◆ SquareMatrix() [7/12]

template<typename T , uint32_t Count>
template<typename Type >
castor::SquareMatrix< T, Count >::SquareMatrix ( SquareMatrix< Type, Count > const & rhs)
explicit

◆ SquareMatrix() [8/12]

template<typename T , uint32_t Count>
template<typename Type >
castor::SquareMatrix< T, Count >::SquareMatrix ( Matrix< Type, Count, Count > const & rhs)
explicit

◆ SquareMatrix() [9/12]

template<typename T , uint32_t Count>
template<typename Type >
castor::SquareMatrix< T, Count >::SquareMatrix ( Array< Type, Count *Count > const & rhs)
explicit

◆ SquareMatrix() [10/12]

template<typename T , uint32_t Count>
template<typename Type >
castor::SquareMatrix< T, Count >::SquareMatrix ( Type const * rhs)
explicit

◆ SquareMatrix() [11/12]

template<typename T , uint32_t Count>
castor::SquareMatrix< T, Count >::SquareMatrix ( std::initializer_list< T > rhs)
explicit

◆ SquareMatrix() [12/12]

template<typename T , uint32_t Count>
template<typename ... Types>
requires isRightSize< Types... >
castor::SquareMatrix< T, Count >::SquareMatrix ( Types &&... inits)
inlineexplicit

Documentation des fonctions membres

◆ getCofactor()

template<typename T , uint32_t Count>
value_type castor::SquareMatrix< T, Count >::getCofactor ( uint32_t column,
uint32_t row ) const

Calcule le cofacteur à la ligne et la colonne données.

Paramètres
[in]row,columnLa ligne et la colonne
Renvoie
Le cofacteur

◆ getDeterminant()

template<typename T , uint32_t Count>
value_type castor::SquareMatrix< T, Count >::getDeterminant ( ) const

Calcule le déterminant de cette matrice.

Renvoie
Le déterminant

◆ getInverse()

template<typename T , uint32_t Count>
SquareMatrix< T, Count > castor::SquareMatrix< T, Count >::getInverse ( ) const

Récupère la matrice inverse de cette matrice.

Renvoie
La matrice inverse

◆ getMinor()

template<typename T , uint32_t Count>
SquareMatrix< T, Count - 1 > castor::SquareMatrix< T, Count >::getMinor ( uint32_t x,
uint32_t y ) const

Récupère une matrice mineure, en ignorant la ligne et la colonne données.

Paramètres
[in]x,yLa ligne et la colonne ignorées
Renvoie
La matrice mineure

◆ getTransposed()

template<typename T , uint32_t Count>
transpose_type castor::SquareMatrix< T, Count >::getTransposed ( ) const

Calcule et renvoie la transposée de cette matrice.

Renvoie
La transposée

◆ invert()

template<typename T , uint32_t Count>
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::invert ( )

Inverse cette matrice.

Renvoie
Une référence sur cette matrice

◆ isAntiSymmetrical()

template<typename T , uint32_t Count>
bool castor::SquareMatrix< T, Count >::isAntiSymmetrical ( ) const

Dit si la matrice est anti-symétrique.

Renvoie
true si la matrice est anti-symétrique

◆ isOrthogonal()

template<typename T , uint32_t Count>
bool castor::SquareMatrix< T, Count >::isOrthogonal ( ) const

Dit si la matrice est orthogonale.

Renvoie
true si elle est orthogonale

◆ isSymmetrical()

template<typename T , uint32_t Count>
bool castor::SquareMatrix< T, Count >::isSymmetrical ( ) const

Dit si la matrice est symétrique.

Renvoie
true si la matrice est symétrique

◆ operator*=() [1/3]

template<typename T , uint32_t Count>
template<typename Type >
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator*= ( SquareMatrix< Type, Count > const & rhs)

◆ operator*=() [2/3]

template<typename T , uint32_t Count>
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator*= ( T const & rhs)

◆ operator*=() [3/3]

template<typename T , uint32_t Count>
template<typename Type >
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator*= ( Type const * rhs)

◆ operator+=() [1/3]

template<typename T , uint32_t Count>
template<typename Type >
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator+= ( SquareMatrix< Type, Count > const & rhs)

name Opérateurs arithmétiques.

◆ operator+=() [2/3]

template<typename T , uint32_t Count>
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator+= ( T const & rhs)

◆ operator+=() [3/3]

template<typename T , uint32_t Count>
template<typename Type >
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator+= ( Type const * rhs)

◆ operator-=() [1/3]

template<typename T , uint32_t Count>
template<typename Type >
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator-= ( SquareMatrix< Type, Count > const & rhs)

◆ operator-=() [2/3]

template<typename T , uint32_t Count>
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator-= ( T const & rhs)

◆ operator-=() [3/3]

template<typename T , uint32_t Count>
template<typename Type >
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator-= ( Type const * rhs)

◆ operator/=()

template<typename T , uint32_t Count>
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator/= ( T const & rhs)

◆ operator=() [1/5]

template<typename T , uint32_t Count>
template<typename Type >
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator= ( Matrix< Type, Count, Count > const & rhs)

name Opérateurs d'affectation.

◆ operator=() [2/5]

template<typename T , uint32_t Count>
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator= ( SquareMatrix< T, Count > && rhs)
noexcept

◆ operator=() [3/5]

template<typename T , uint32_t Count>
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator= ( SquareMatrix< T, Count > const & rhs)

◆ operator=() [4/5]

template<typename T , uint32_t Count>
template<typename Type >
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator= ( SquareMatrix< Type, Count > const & rhs)

◆ operator=() [5/5]

template<typename T , uint32_t Count>
template<typename Type >
SquareMatrix< T, Count > & castor::SquareMatrix< T, Count >::operator= ( Type const * rhs)

◆ transpose()

template<typename T , uint32_t Count>
square_type & castor::SquareMatrix< T, Count >::transpose ( )

Transpose cette matrice.

Renvoie
Cette matrice.

Documentation des données membres

◆ isRightSize

template<typename T , uint32_t Count>
template<typename ... Types>
bool constexpr castor::SquareMatrix< T, Count >::isRightSize = sizeof...( Types ) == Count * Count
staticconstexpr

La documentation de cette classe a été générée à partir des fichiers suivants :