Classe gérant une matrice de réel de dimension 3x3. Plus de détails...
#include <arcane/utils/Real3x3.h>
Fonctions membres publiques | |
constexpr ARCCORE_HOST_DEVICE | Real3x3 () |
Construit la matrice avec tous les coefficiants nuls. | |
constexpr ARCCORE_HOST_DEVICE | Real3x3 (Real3 ax, Real3 ay, Real3 az) |
Construit la matrice avec les lignes (ax,ay,az) | |
ARCANE_DEPRECATED_116 | Real3x3 (Real ax, Real ay, Real az, Real bx, Real by, Real bz, Real cx, Real cy, Real cz) |
Construit le tenseur ((ax,bx,cx),(ay,by,cy),(az,bz,cz)). | |
Real3x3 (const Real3x3 &f)=default | |
Construit un triplet identique à f. | |
constexpr ARCCORE_HOST_DEVICE | Real3x3 (const Real3x3POD &f) |
Construit un triplet identique à f. | |
constexpr ARCCORE_HOST_DEVICE | Real3x3 (Real v) |
Construit l'instance avec le triplet (v,v,v). | |
Real3x3 & | operator= (const Real3x3 &f)=default |
Opérateur de recopie. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 & | operator= (Real v) |
Affecte à l'instance le triplet (v,v,v). | |
constexpr ARCCORE_HOST_DEVICE Real3x3 | copy () const |
Retourne une copie de la matrice. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 & | reset () |
Remet à zéro les coefficients de la matrice. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 & | assign (Real3 ax, Real3 ay, Real3 az) |
Affecte à l'instance les lignes (ax,ay,az) | |
constexpr ARCCORE_HOST_DEVICE Real3x3 & | assign (Real3x3 f) |
Copie la matrice f. | |
constexpr ARCCORE_HOST_DEVICE bool | isNearlyZero () const |
Compare la matrice avec la matrice nulle. | |
std::istream & | assign (std::istream &i) |
Lit la matrice sur le flot i La matrice est lue sous la forme de trois Real3. | |
std::ostream & | print (std::ostream &o) const |
Ecrit le triplet sur le flot o lisible par un assign() | |
std::ostream & | printXyz (std::ostream &o) const |
Ecrit le triplet sur le flot o sous la forme (x,y,z) | |
constexpr ARCCORE_HOST_DEVICE Real3x3 & | add (Real3x3 b) |
Ajoute b au triplet. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 & | sub (Real3x3 b) |
Soustrait b au triplet. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 & | addSame (Real3 b) |
Ajoute b à chaque composante du triplet. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 & | subSame (Real3 b) |
Soustrait b à chaque composante du triplet. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 & | operator+= (Real3x3 b) |
Ajoute b au triplet. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 & | operator-= (Real3x3 b) |
Soustrait b au triplet. | |
constexpr ARCCORE_HOST_DEVICE void | operator*= (Real b) |
Multiple chaque composante de la matrice par le réel b. | |
constexpr ARCCORE_HOST_DEVICE void | operator/= (Real b) |
Divise chaque composante de la matrice par le réel b. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 | operator+ (Real3x3 b) const |
Créé un triplet qui vaut ce triplet ajouté à b. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 | operator- (Real3x3 b) const |
Créé un triplet qui vaut b soustrait de ce triplet. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 | operator- () const |
Créé un tenseur opposé au tenseur actuel. | |
constexpr ARCCORE_HOST_DEVICE bool | operator== (Real3x3 b) const |
Compare composant pas composante l'instance courante à b. | |
constexpr ARCCORE_HOST_DEVICE bool | operator!= (Real3x3 b) const |
Compare deux triplets. Pour la notion d'égalité, voir operator==() | |
ARCCORE_HOST_DEVICE Real3 | operator[] (Integer i) const |
Accès en lecture seule à la i-ème (entre 0 et 2 inclus) ligne de l'instance. | |
ARCCORE_HOST_DEVICE Real3 | operator() (Integer i) const |
Accès en lecture seule à la i-ème (entre 0 et 2 inclus) ligne de l'instance. | |
ARCCORE_HOST_DEVICE Real | operator() (Integer i, Integer j) const |
Accès en lecture seule à la i-ème ligne et j-ème colonne. | |
ARCCORE_HOST_DEVICE Real3 & | operator[] (Integer i) |
Accès à la i-ème ligne (entre 0 et 2 inclus) de l'instance. | |
ARCCORE_HOST_DEVICE Real3 & | operator() (Integer i) |
Accès à la i-ème ligne (entre 0 et 2 inclus) de l'instance. | |
ARCCORE_HOST_DEVICE Real & | operator() (Integer i, Integer j) |
Accès à la i-ème ligne et j-ème colonne. | |
constexpr ARCCORE_HOST_DEVICE Real | determinant () const |
Déterminant de la matrice. | |
Fonctions membres publiques statiques | |
constexpr static ARCCORE_HOST_DEVICE Real3x3 | null () |
Construit le tenseur nul. | |
constexpr static ARCCORE_HOST_DEVICE Real3x3 | zero () |
Construit la matrice nulle. | |
constexpr static ARCCORE_HOST_DEVICE Real3x3 | identity () |
Construit la matrice identité | |
constexpr static ARCCORE_HOST_DEVICE Real3x3 | fromColumns (Real ax, Real ay, Real az, Real bx, Real by, Real bz, Real cx, Real cy, Real cz) |
Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)). | |
constexpr static ARCCORE_HOST_DEVICE Real3x3 | fromLines (Real ax, Real bx, Real cx, Real ay, Real by, Real cy, Real az, Real bz, Real cz) |
Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)). | |
Attributs publics | |
Real3 | x |
premier élément du triplet | |
Real3 | y |
premier élément du triplet | |
Real3 | z |
premier élément du triplet | |
Fonctions membres privées statiques | |
constexpr static ARCCORE_HOST_DEVICE bool | _eq (Real a, Real b) |
Compare les valeurs de a et b avec le comparateur TypeEqualT. | |
Amis | |
std::ostream & | operator<< (std::ostream &o, Real3x3 t) |
Ecrit le triplet t sur le flot o. | |
std::istream & | operator>> (std::istream &i, Real3x3 &t) |
Lit le triplet t à partir du flot o. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 | operator* (Real sca, Real3x3 vec) |
Multiplication par un scalaire. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 | operator* (Real3x3 vec, Real sca) |
Multiplication par un scalaire. | |
constexpr ARCCORE_HOST_DEVICE Real3x3 | operator/ (Real3x3 vec, Real sca) |
Division par un scalaire. | |
constexpr ARCCORE_HOST_DEVICE bool | operator< (Real3x3 v1, Real3x3 v2) |
Opérateur de comparaison. | |
Classe gérant une matrice de réel de dimension 3x3.
La matrice comprend trois composantes x, y et z qui sont du type Real3. Chaque composante représente une ligne de la matrice. Par conséquent, Pour une matrice m, m.y.z représente la 2ème ligne et la 3ème colonne de la matrice.
Il est aussi possible d'accéder aux éléments de la matrice à la manière d'un tableau. Par exemple m[1][2] représente la 2ème ligne et la 3ème colonne de la matrice.
Les matrices peuvent se construire par ligne en spécifiant les valeurs par ligne (fromLines()) ou en spécifiant par colonne (fromColumns()).
Par exemple:
|
inlineconstexpr |
|
inline |
Construit le tenseur ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlinestaticconstexprprivate |
Compare les valeurs de a et b avec le comparateur TypeEqualT.
true | si a et b sont égaux, |
false | sinon. |
|
inlineconstexpr |
Affecte à l'instance les lignes (ax,ay,az)
Définition à la ligne 157 du fichier Real3x3.h.
Référencé par Arcane::Real3x3Proxy::assign().
std::istream & Arcane::Real3x3::assign | ( | std::istream & | i | ) |
|
inlineconstexpr |
Déterminant de la matrice.
Définition à la ligne 344 du fichier Real3x3.h.
Références Arcane::Real3POD::x, Arcane::Real3POD::y, et Arcane::Real3POD::z.
Référencé par Arcane::math::inverseMatrix(), et Arcane::math::matrixDeterminant().
|
inlinestaticconstexpr |
Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).
Définition à la ligne 133 du fichier Real3x3.h.
Référencé par Arcane::math::matrix3x3Prod(), et Arcane::math::matrix3x3Transp().
|
inlinestaticconstexpr |
Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).
Définition à la ligne 139 du fichier Real3x3.h.
Référencé par Arcane::math::matrixProduct().
Compare la matrice avec la matrice nulle.
La matrice est nulle si et seulement si chacune de ses composantes est inférieure à un espilon donné. La valeur de l'epsilon utilisée est celle de float_info<value_type>::nearlyEpsilon():
\[A=0 \Leftrightarrow |A.x|<\epsilon,|A.y|<\epsilon,|A.z|<\epsilon \]
true | si la matrice est égale à la matrice nulle, |
false | sinon. |
Définition à la ligne 185 du fichier Real3x3.h.
Références Arcane::Real3::isNearlyZero().
Compare deux triplets. Pour la notion d'égalité, voir operator==()
true | si les deux triplets sont différents, |
false | sinon. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
std::ostream & Arcane::Real3x3::print | ( | std::ostream & | o | ) | const |
Ecrit le triplet sur le flot o lisible par un assign()
Définition à la ligne 38 du fichier Real3x3.cc.
Référencé par Arcane::Real3x3Proxy::print().
std::ostream & Arcane::Real3x3::printXyz | ( | std::ostream & | o | ) | const |
Ecrit le triplet sur le flot o sous la forme (x,y,z)
Définition à la ligne 48 du fichier Real3x3.cc.
Référencé par Arcane::Real3x3Proxy::printXyz().
Construit la matrice nulle.
Définition à la ligne 127 du fichier Real3x3.h.
Référencé par Arcane::DataTypeTraitsT< Real3x3 >::defaultValue().
Real3 Arcane::Real3x3::x |
premier élément du triplet
Définition à la ligne 117 du fichier Real3x3.h.
Référencé par assign(), Arcane::Real3x3Proxy::assign(), assign(), Arcane::math::doubleContraction(), Arcane::math::inverseMatrix(), Arcane::math::matrix3x3Transp(), Arcane::math::matrixProduct(), Arcane::math::multiply(), print(), et printXyz().
Real3 Arcane::Real3x3::y |
premier élément du triplet
Définition à la ligne 118 du fichier Real3x3.h.
Référencé par assign(), Arcane::Real3x3Proxy::assign(), assign(), Arcane::math::doubleContraction(), Arcane::math::inverseMatrix(), Arcane::math::matrix3x3Transp(), Arcane::math::matrixProduct(), Arcane::math::multiply(), print(), et printXyz().
Real3 Arcane::Real3x3::z |
premier élément du triplet
Définition à la ligne 119 du fichier Real3x3.h.
Référencé par assign(), Arcane::Real3x3Proxy::assign(), assign(), Arcane::math::doubleContraction(), Arcane::math::inverseMatrix(), Arcane::math::matrix3x3Transp(), Arcane::math::matrixProduct(), Arcane::math::multiply(), print(), et printXyz().