Proxy d'un Real3. Plus de détails...
#include <arcane/utils/Real3Proxy.h>
Fonctions membres publiques | |
Real3Proxy (Real3 &value, const MemoryAccessInfo &info) | |
Construit le triplet (ax,ay,az) | |
Real3Proxy (const Real3Proxy &f) | |
Construit un triplet identique à f. | |
Real3 | operator= (const Real3Proxy f) |
Real3 | operator= (Real3 f) |
Real3 | operator= (Real v) |
Affecte à l'instance le triplet (v,v,v). | |
operator Real3 () const | |
Real3 | copy () const |
Retourne une copie du triplet. | |
Real3Proxy & | reset () |
Réinitialise le triplet avec les constructeurs par défaut. | |
Real3Proxy & | assign (Real ax, Real ay, Real az) |
Affecte à l'instance le triplet (ax,ay,az) | |
Real3Proxy & | assign (Real3 f) |
Copie le triplet f. | |
bool | isNearlyZero () const |
Compare le triplet avec le triplet nul. | |
Real | abs2 () const |
Retourne la norme au carré du triplet \(x^2+y^2+z^2\). | |
Real | abs () const |
Retourne la norme du triplet \(\sqrt{x^2+y^2+z^2}\). | |
std::istream & | assign (std::istream &i) |
Lit un triplet sur le flot i Le triplet est lu sous la forme de trois valeur de type #value_type. | |
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) | |
Real3Proxy & | add (Real3 b) |
Ajoute b au triplet. | |
Real3Proxy & | sub (Real3 b) |
Soustrait b au triplet. | |
Real3Proxy & | mul (Real3 b) |
Multiple chaque composante du triplet par la composant correspondant de b. | |
Real3Proxy & | div (Real3 b) |
Divise chaque composante du triplet par la composant correspondant de b. | |
Real3Proxy & | addSame (Real b) |
Ajoute b à chaque composante du triplet. | |
Real3Proxy & | subSame (Real b) |
Soustrait b à chaque composante du triplet. | |
Real3Proxy & | mulSame (Real b) |
Multiplie chaque composante du triplet par b. | |
Real3Proxy & | divSame (Real b) |
Divise chaque composante du triplet par b. | |
Real3Proxy & | operator+= (Real3 b) |
Ajoute b au triplet. | |
Real3Proxy & | operator-= (Real3 b) |
Soustrait b au triplet. | |
Real3Proxy & | operator*= (Real3 b) |
Multiple chaque composante du triplet par la composant correspondant de b. | |
void | operator*= (Real b) |
Multiple chaque composante du triplet par le réel b. | |
Real3Proxy & | operator/= (Real3 b) |
Divise chaque composante du triplet par la composant correspondant de b. | |
void | operator/= (Real b) |
Divise chaque composante du triplet par le réel b. | |
Real3 | operator+ (Real3 b) const |
Créé un triplet qui vaut ce triplet ajouté à b. | |
Real3 | operator- (Real3 b) const |
Créé un triplet qui vaut b soustrait de ce triplet. | |
Real3 | operator- () const |
Créé un triplet opposé au triplet actuel. | |
Real3 | operator* (Real3 b) const |
Créé un triplet qui vaut ce triplet dont chaque composant a été multipliée par la composante correspondante de b. | |
Real3 | operator/ (Real3 b) const |
Créé un triplet qui vaut ce triplet dont chaque composant a été divisée par la composante correspondante de b. | |
Real3Proxy & | normalize () |
Normalise le triplet. | |
Real3 | getValue () const |
Real3 & | getValueMutable () |
Fonctions membres publiques hérités de Arcane::Real3POD | |
ARCCORE_HOST_DEVICE Real | operator[] (Integer i) const |
ARCCORE_HOST_DEVICE Real | operator() (Integer i) const |
ARCCORE_HOST_DEVICE Real & | operator[] (Integer i) |
ARCCORE_HOST_DEVICE Real & | operator() (Integer i) |
ARCCORE_HOST_DEVICE void | setComponent (Integer i, Real value) |
Positionne la i-ème composante à value. | |
Attributs publics | |
RealProxy | x |
première composante du triplet | |
RealProxy | y |
deuxième composante du triplet | |
RealProxy | z |
troisième composante du triplet | |
Attributs publics hérités de Arcane::Real3POD | |
Real | x |
première composante du triplet | |
Real | y |
deuxième composante du triplet | |
Real | z |
troisième composante du triplet | |
Fonctions membres privées statiques | |
static bool | _eq (Real a, Real b) |
Compare les valeurs de a et b avec le comparateur TypeEqualT. | |
static Real | _sqrt (Real a) |
Retourne la racine carrée de a. | |
Attributs privés | |
Real3 & | m_value |
MemoryAccessInfo | m_info |
Amis | |
bool | operator== (Real3Proxy a, Real3Proxy b) |
Compare le triplet à b. | |
bool | operator!= (Real3Proxy a, Real3Proxy b) |
Compare deux triplets. Pour la notion d'égalité, voir operator==() | |
Proxy d'un Real3.
Définition à la ligne 35 du fichier Real3Proxy.h.
|
inline |
Construit le triplet (ax,ay,az)
Définition à la ligne 41 du fichier Real3Proxy.h.
|
inline |
Construit un triplet identique à f.
Définition à la ligne 44 du fichier Real3Proxy.h.
Compare les valeurs de a et b avec le comparateur TypeEqualT.
true | si a et b sont égaux, |
false | sinon. |
Définition à la ligne 224 du fichier Real3Proxy.h.
Références Arcane::math::isEqual().
|
inlinestaticprivate |
Retourne la racine carrée de a.
Définition à la ligne 227 du fichier Real3Proxy.h.
Références Arcane::math::sqrt().
|
inline |
Retourne la norme du triplet \(\sqrt{x^2+y^2+z^2}\).
Définition à la ligne 107 du fichier Real3Proxy.h.
|
inline |
Retourne la norme au carré du triplet \(x^2+y^2+z^2\).
Définition à la ligne 104 du fichier Real3Proxy.h.
Références Arcane::Real3POD::z.
|
inline |
Ajoute b au triplet.
Définition à la ligne 121 du fichier Real3Proxy.h.
|
inline |
Ajoute b à chaque composante du triplet.
Définition à la ligne 129 du fichier Real3Proxy.h.
|
inline |
Affecte à l'instance le triplet (ax,ay,az)
Définition à la ligne 79 du fichier Real3Proxy.h.
|
inline |
Copie le triplet f.
Définition à la ligne 82 du fichier Real3Proxy.h.
Références Arcane::Real3POD::x, Arcane::Real3POD::y, et Arcane::Real3POD::z.
std::istream & Arcane::Real3Proxy::assign | ( | std::istream & | i | ) |
Lit un triplet sur le flot i Le triplet est lu sous la forme de trois valeur de type #value_type.
Définition à la ligne 61 du fichier Real3.cc.
Références Arcane::Real3::assign().
|
inline |
Retourne une copie du triplet.
Définition à la ligne 75 du fichier Real3Proxy.h.
|
inline |
Divise chaque composante du triplet par la composant correspondant de b.
Définition à la ligne 127 du fichier Real3Proxy.h.
|
inline |
Divise chaque composante du triplet par b.
Définition à la ligne 135 du fichier Real3Proxy.h.
|
inline |
Définition à la ligne 208 du fichier Real3Proxy.h.
|
inline |
Définition à la ligne 213 du fichier Real3Proxy.h.
|
inline |
Compare le triplet avec le triplet nul.
Dans le cas d'un type #value_type de type intégral, le triplet est nul si et seulement si chacune de ses composantes est égal à 0.
Pour #value_type du type flottant (float, double ou Real), le triplet est nul si et seulement si chacune de ses composant 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 le triplet est égal au triplet nul, |
false | sinon. |
Définition à la ligne 99 du fichier Real3Proxy.h.
Référencé par Arcane::Real3x3Proxy::isNearlyZero().
|
inline |
Multiple chaque composante du triplet par la composant correspondant de b.
Définition à la ligne 125 du fichier Real3Proxy.h.
|
inline |
Multiplie chaque composante du triplet par b.
Définition à la ligne 133 du fichier Real3Proxy.h.
|
inline |
Normalise le triplet.
Si le triplet est non nul, divise chaque composante par la norme du triplet (abs()), de telle sorte qu'après l'appel à cette méthode, abs() valent 1. Si le triplet est nul, ne fait rien.
Définition à la ligne 172 du fichier Real3Proxy.h.
|
inline |
Définition à la ligne 53 du fichier Real3Proxy.h.
Créé un triplet qui vaut ce triplet dont chaque composant a été multipliée par la composante correspondante de b.
Définition à la ligne 158 du fichier Real3Proxy.h.
|
inline |
Multiple chaque composante du triplet par le réel b.
Définition à la ligne 143 du fichier Real3Proxy.h.
|
inline |
Multiple chaque composante du triplet par la composant correspondant de b.
Définition à la ligne 141 du fichier Real3Proxy.h.
Créé un triplet qui vaut ce triplet ajouté à b.
Définition à la ligne 149 du fichier Real3Proxy.h.
|
inline |
Ajoute b au triplet.
Définition à la ligne 137 du fichier Real3Proxy.h.
|
inline |
Créé un triplet opposé au triplet actuel.
Définition à la ligne 153 du fichier Real3Proxy.h.
Créé un triplet qui vaut b soustrait de ce triplet.
Définition à la ligne 151 du fichier Real3Proxy.h.
|
inline |
Soustrait b au triplet.
Définition à la ligne 139 du fichier Real3Proxy.h.
Créé un triplet qui vaut ce triplet dont chaque composant a été divisée par la composante correspondante de b.
Définition à la ligne 163 du fichier Real3Proxy.h.
|
inline |
Divise chaque composante du triplet par le réel b.
Définition à la ligne 147 du fichier Real3Proxy.h.
|
inline |
Divise chaque composante du triplet par la composant correspondant de b.
Définition à la ligne 145 du fichier Real3Proxy.h.
|
inline |
Définition à la ligne 46 du fichier Real3Proxy.h.
|
inline |
Affecte à l'instance le triplet (v,v,v).
Définition à la ligne 51 du fichier Real3Proxy.h.
Définition à la ligne 48 du fichier Real3Proxy.h.
std::ostream & Arcane::Real3Proxy::print | ( | std::ostream & | o | ) | const |
Ecrit le triplet sur le flot o lisible par un assign()
Définition à la ligne 71 du fichier Real3.cc.
Références Arcane::Real3::print().
std::ostream & Arcane::Real3Proxy::printXyz | ( | std::ostream & | o | ) | const |
Ecrit le triplet sur le flot o sous la forme (x,y,z)
Définition à la ligne 80 du fichier Real3.cc.
Références Arcane::Real3::printXyz().
|
inline |
Réinitialise le triplet avec les constructeurs par défaut.
Définition à la ligne 77 du fichier Real3Proxy.h.
Référencé par Arcane::Real3x3Proxy::reset().
|
inline |
Soustrait b au triplet.
Définition à la ligne 123 du fichier Real3Proxy.h.
|
inline |
Soustrait b à chaque composante du triplet.
Définition à la ligne 131 du fichier Real3Proxy.h.
|
friend |
Compare deux triplets. Pour la notion d'égalité, voir operator==()
true | si les deux triplets sont différents, |
false | sinon. |
Définition à la ligne 204 du fichier Real3Proxy.h.
|
friend |
Compare le triplet à b.
Dans le cas d'un type #value_type de type intégral, deux triplets sont égaux si et seulement si chacune de leur composant sont strictement égales.
Pour #value_type du type flottant (float, double ou Real), deux triplets sont identiques si et seulement si la valeur absolue de la différence entre chacune de leur composant correspondante est inférieure à un espilon donné. La valeur de l'epsilon utilisée est celle de float_info<value_type>::nearlyEpsilon():
\[A=B \Leftrightarrow |A.x-B.x|<\epsilon,|A.y-B.y|<\epsilon,|A.z-B.z|<\epsilon \]
true | si les deux triplets sont égaux, |
false | sinon. |
Définition à la ligne 196 du fichier Real3Proxy.h.
|
private |
Définition à la ligne 70 du fichier Real3Proxy.h.
|
private |
Définition à la ligne 69 du fichier Real3Proxy.h.
RealProxy Arcane::Real3Proxy::x |
première composante du triplet
Définition à la ligne 63 du fichier Real3Proxy.h.
RealProxy Arcane::Real3Proxy::y |
deuxième composante du triplet
Définition à la ligne 64 du fichier Real3Proxy.h.
RealProxy Arcane::Real3Proxy::z |
troisième composante du triplet
Définition à la ligne 65 du fichier Real3Proxy.h.