Classe permettant de définir la position d'un patch dans le maillage cartésien. Plus de détails...
#include <arcane/cartesianmesh/AMRPatchPosition.h>
Graphe de collaboration de Arcane::AMRPatchPosition:Fonctions membres publiques | |
| AMRPatchPosition () | |
| Constructeur pour une position nulle. Une position nulle est définie par un level = -2. | |
| AMRPatchPosition (Int32 level, CartCoord3Type min_point, CartCoord3Type max_point, Int32 overlap_layer_size) | |
| AMRPatchPosition (const AMRPatchPosition &src) | |
| Constructeur de copie. | |
| AMRPatchPosition & | operator= (const AMRPatchPosition &)=default |
| Int32 | level () const |
| Méthode permettant de récupérer le niveau du patch. | |
| void | setLevel (Int32 level) |
| Méthode permettant de définir le niveau du patch. | |
| CartCoord3Type | minPoint () const |
| Méthode permettant de récupérer la position min de la boite englobante. | |
| void | setMinPoint (CartCoord3Type min_point) |
| Méthode permettant de définir la position min de la boite englobante. | |
| CartCoord3Type | maxPoint () const |
| Méthode permettant de récupérer la position max de la boite englobante. | |
| void | setMaxPoint (CartCoord3Type max_point) |
| Méthode permettant de définir la position max de la boite englobante. | |
| Int32 | overlapLayerSize () const |
| Méthode permettant de récupérer le nombre de couches de mailles de recouvrement du patch. | |
| void | setOverlapLayerSize (Int32 layer_size) |
| Méthode permettant de définir le nombre de couches de mailles de recouvrement du patch. | |
| CartCoord3Type | minPointWithOverlap () const |
| Méthode permettant de récupérer la position min de la boite englobante en incluant la couche de mailles de recouvrement. | |
| CartCoord3Type | maxPointWithOverlap () const |
| Méthode permettant de récupérer la position max de la boite englobante en incluant la couche de mailles de recouvrement. | |
| Int64 | nbCells () const |
| Méthode permettant de connaitre le nombre de mailles du patch selon sa position. | |
| std::pair< AMRPatchPosition, AMRPatchPosition > | cut (CartCoordType cut_point, Integer dim) const |
| Méthode permettant de découper le patch en deux patchs selon un point de découpe. | |
| bool | canBeFusion (const AMRPatchPosition &other_patch) const |
| Méthode permettant de savoir si notre patch peut être fusionné avec other_patch. | |
| bool | fusion (const AMRPatchPosition &other_patch) |
| Méthode permettant de fusionner other_patch avec le nôtre. | |
| bool | isNull () const |
| Méthode permettant de savoir si la position du patch est nulle. | |
| AMRPatchPosition | patchUp (Integer dim) const |
| Méthode permettant de créer un AMRPatchPosition pour le niveau supérieur. | |
| AMRPatchPosition | patchDown (Integer dim) const |
| Méthode permettant de créer un AMRPatchPosition pour le niveau inférieur. | |
| CartCoord3Type | length () const |
| Méthode permettant de connaitre la taille du patch (en nombre de mailles par direction). | |
| bool | isIn (CartCoordType x, CartCoordType y, CartCoordType z) const |
| Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch. | |
| bool | isIn (CartCoord3Type coord) const |
| Méthode permettant de savoir si une maille est incluse dans ce patch. | |
| bool | isInWithOverlap (CartCoordType x, CartCoordType y, CartCoordType z) const |
| Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch avec couche de recouvrement. | |
| bool | isInWithOverlap (CartCoord3Type coord) const |
| Méthode permettant de savoir si une maille est incluse dans ce patch avec couche de recouvrement. | |
| bool | isInWithOverlap (CartCoordType x, CartCoordType y, CartCoordType z, Integer overlap) const |
| Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch avec couche de recouvrement fourni en paramètre. | |
| bool | isInWithOverlap (CartCoord3Type coord, Integer overlap) const |
| Méthode permettant de savoir si une maille est incluse dans ce patch avec couche de recouvrement fourni en paramètre. | |
| bool | haveIntersection (const AMRPatchPosition &other) const |
| Méthode permettant de savoir si notre patch est en contact avec le patch other. | |
Attributs privés | |
| Int32 | m_level |
| CartCoord3Type | m_min_point |
| CartCoord3Type | m_max_point |
| Int32 | m_overlap_layer_size |
Classe permettant de définir la position d'un patch dans le maillage cartésien.
La position d'un patch est désigné par la position de deux mailles dans la grille. La position "min" et la position "max" forment une boite englobante.
Les positions des mailles peuvent être obtenues par le CartesianMeshNumberingMng.
Définition à la ligne 50 du fichier AMRPatchPosition.h.
| Arcane::AMRPatchPosition::AMRPatchPosition | ( | ) |
Constructeur pour une position nulle. Une position nulle est définie par un level = -2.
Définition à la ligne 31 du fichier AMRPatchPosition.cc.
Référencé par AMRPatchPosition(), canBeFusion(), cut(), fusion(), haveIntersection(), patchDown(), et patchUp().
Voici le graphe des appelants de cette fonction :| Arcane::AMRPatchPosition::AMRPatchPosition | ( | Int32 | level, |
| CartCoord3Type | min_point, | ||
| CartCoord3Type | max_point, | ||
| Int32 | overlap_layer_size ) |
Définition à la ligne 40 du fichier AMRPatchPosition.cc.
| Arcane::AMRPatchPosition::AMRPatchPosition | ( | const AMRPatchPosition & | src | ) |
Constructeur de copie.
| src | La position à copier. |
Définition à la ligne 51 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), level(), maxPoint(), minPoint(), et overlapLayerSize().
Voici le graphe d'appel pour cette fonction :| bool Arcane::AMRPatchPosition::canBeFusion | ( | const AMRPatchPosition & | other_patch | ) | const |
Méthode permettant de savoir si notre patch peut être fusionné avec other_patch.
| other_patch | Le patch à verifier. |
Définition à la ligne 200 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), level(), maxPoint(), et minPoint().
Référencé par fusion().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| std::pair< AMRPatchPosition, AMRPatchPosition > Arcane::AMRPatchPosition::cut | ( | CartCoordType | cut_point, |
| Integer | dim ) const |
Méthode permettant de découper le patch en deux patchs selon un point de découpe.
| cut_point | Le point de découpe. |
| dim | La dimension qui doit être découpée. |
Définition à la ligne 169 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), Arcane::MD_DirX, Arcane::MD_DirY, setMaxPoint(), et setMinPoint().
Voici le graphe d'appel pour cette fonction :| bool Arcane::AMRPatchPosition::fusion | ( | const AMRPatchPosition & | other_patch | ) |
Méthode permettant de fusionner other_patch avec le nôtre.
Une vérification de possibilité de fusion (via canBeFusion()) est réalisée avant de fusionner. Si la fusion est impossible, on retourne false. Sinon, on fusionne et on retourne true.
| other_patch | Le patch avec lequel fusionner. |
Définition à la ligne 222 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), canBeFusion(), maxPoint(), et minPoint().
Voici le graphe d'appel pour cette fonction :| bool Arcane::AMRPatchPosition::haveIntersection | ( | const AMRPatchPosition & | other | ) | const |
Méthode permettant de savoir si notre patch est en contact avec le patch other.
| other | Le patch à verifier. |
Définition à la ligne 377 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), level(), maxPoint(), et minPoint().
Voici le graphe d'appel pour cette fonction :| bool Arcane::AMRPatchPosition::isIn | ( | CartCoord3Type | coord | ) | const |
Méthode permettant de savoir si une maille est incluse dans ce patch.
Pour inclure la couche de recouvrement, utiliser la méthode isInWithOverlap().
| coord | Position de la maille. |
Définition à la ligne 324 du fichier AMRPatchPosition.cc.
| bool Arcane::AMRPatchPosition::isIn | ( | CartCoordType | x, |
| CartCoordType | y, | ||
| CartCoordType | z ) const |
Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch.
Pour inclure la couche de recouvrement, utiliser la méthode isInWithOverlap().
| x | Position X de la maille. |
| y | Position Y de la maille. |
| z | Position Z de la maille. |
Définition à la ligne 315 du fichier AMRPatchPosition.cc.
| bool Arcane::AMRPatchPosition::isInWithOverlap | ( | CartCoord3Type | coord | ) | const |
Méthode permettant de savoir si une maille est incluse dans ce patch avec couche de recouvrement.
| coord | Position de la maille. |
Définition à la ligne 344 du fichier AMRPatchPosition.cc.
Références maxPointWithOverlap(), et minPointWithOverlap().
Voici le graphe d'appel pour cette fonction :| bool Arcane::AMRPatchPosition::isInWithOverlap | ( | CartCoord3Type | coord, |
| Integer | overlap ) const |
Méthode permettant de savoir si une maille est incluse dans ce patch avec couche de recouvrement fourni en paramètre.
| coord | Position de la maille. |
| overlap | Le nombre de mailles de recouvrement de la couche. |
Définition à la ligne 366 du fichier AMRPatchPosition.cc.
| bool Arcane::AMRPatchPosition::isInWithOverlap | ( | CartCoordType | x, |
| CartCoordType | y, | ||
| CartCoordType | z ) const |
Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch avec couche de recouvrement.
| x | Position X de la maille. |
| y | Position Y de la maille. |
| z | Position Z de la maille. |
Définition à la ligne 333 du fichier AMRPatchPosition.cc.
Références maxPointWithOverlap(), et minPointWithOverlap().
Voici le graphe d'appel pour cette fonction :| bool Arcane::AMRPatchPosition::isInWithOverlap | ( | CartCoordType | x, |
| CartCoordType | y, | ||
| CartCoordType | z, | ||
| Integer | overlap ) const |
Méthode permettant de savoir si une maille de position x,y,z est incluse dans ce patch avec couche de recouvrement fourni en paramètre.
| x | Position X de la maille. |
| y | Position Y de la maille. |
| z | Position Z de la maille. |
| overlap | Le nombre de mailles de recouvrement de la couche. |
Définition à la ligne 355 du fichier AMRPatchPosition.cc.
| bool Arcane::AMRPatchPosition::isNull | ( | ) | const |
Méthode permettant de savoir si la position du patch est nulle.
Définition à la ligne 259 du fichier AMRPatchPosition.cc.
| CartCoord3Type Arcane::AMRPatchPosition::length | ( | ) | const |
Méthode permettant de connaitre la taille du patch (en nombre de mailles par direction).
Définition à la ligne 306 du fichier AMRPatchPosition.cc.
| Int32 Arcane::AMRPatchPosition::level | ( | ) | const |
Méthode permettant de récupérer le niveau du patch.
Définition à la ligne 70 du fichier AMRPatchPosition.cc.
Référencé par AMRPatchPosition(), canBeFusion(), haveIntersection(), et setLevel().
Voici le graphe des appelants de cette fonction :| CartCoord3Type Arcane::AMRPatchPosition::maxPoint | ( | ) | const |
Méthode permettant de récupérer la position max de la boite englobante.
Définition à la ligne 106 du fichier AMRPatchPosition.cc.
Référencé par AMRPatchPosition(), canBeFusion(), fusion(), et haveIntersection().
Voici le graphe des appelants de cette fonction :| CartCoord3Type Arcane::AMRPatchPosition::maxPointWithOverlap | ( | ) | const |
Méthode permettant de récupérer la position max de la boite englobante en incluant la couche de mailles de recouvrement.
Définition à la ligne 151 du fichier AMRPatchPosition.cc.
Référencé par isInWithOverlap(), et isInWithOverlap().
Voici le graphe des appelants de cette fonction :| CartCoord3Type Arcane::AMRPatchPosition::minPoint | ( | ) | const |
Méthode permettant de récupérer la position min de la boite englobante.
Définition à la ligne 88 du fichier AMRPatchPosition.cc.
Référencé par AMRPatchPosition(), canBeFusion(), fusion(), et haveIntersection().
Voici le graphe des appelants de cette fonction :| CartCoord3Type Arcane::AMRPatchPosition::minPointWithOverlap | ( | ) | const |
Méthode permettant de récupérer la position min de la boite englobante en incluant la couche de mailles de recouvrement.
Définition à la ligne 142 du fichier AMRPatchPosition.cc.
Référencé par isInWithOverlap(), et isInWithOverlap().
Voici le graphe des appelants de cette fonction :| Int64 Arcane::AMRPatchPosition::nbCells | ( | ) | const |
Méthode permettant de connaitre le nombre de mailles du patch selon sa position.
Définition à la ligne 160 du fichier AMRPatchPosition.cc.
| Int32 Arcane::AMRPatchPosition::overlapLayerSize | ( | ) | const |
Méthode permettant de récupérer le nombre de couches de mailles de recouvrement du patch.
Définition à la ligne 124 du fichier AMRPatchPosition.cc.
Référencé par AMRPatchPosition().
Voici le graphe des appelants de cette fonction :| AMRPatchPosition Arcane::AMRPatchPosition::patchDown | ( | Integer | dim | ) | const |
Méthode permettant de créer un AMRPatchPosition pour le niveau inférieur.
Si la position min n'est pas divisible par deux, on arrondit à l'entier inférieur.
Si la position max n'est pas divisible par deux, on arrondit à l'entier supérieur.
Pour la couche de recouvrement, cette méthode s'assure que l'on n'aura jamais plus d'un niveau de différence entre deux mailles de niveaux différents.
| dim | La dimension du maillage. |
Définition à la ligne 287 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), setLevel(), setMaxPoint(), setMinPoint(), et setOverlapLayerSize().
Voici le graphe d'appel pour cette fonction :| AMRPatchPosition Arcane::AMRPatchPosition::patchUp | ( | Integer | dim | ) | const |
Méthode permettant de créer un AMRPatchPosition pour le niveau supérieur.
| dim | La dimension du maillage. |
Définition à la ligne 268 du fichier AMRPatchPosition.cc.
Références AMRPatchPosition(), setLevel(), setMaxPoint(), setMinPoint(), et setOverlapLayerSize().
Voici le graphe d'appel pour cette fonction :| void Arcane::AMRPatchPosition::setLevel | ( | Int32 | level | ) |
Méthode permettant de définir le niveau du patch.
| level | Le niveau du patch. |
Définition à la ligne 79 du fichier AMRPatchPosition.cc.
Références level().
Référencé par patchDown(), et patchUp().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| void Arcane::AMRPatchPosition::setMaxPoint | ( | CartCoord3Type | max_point | ) |
Méthode permettant de définir la position max de la boite englobante.
| max_point | la position max. |
Définition à la ligne 115 du fichier AMRPatchPosition.cc.
Référencé par cut(), patchDown(), et patchUp().
Voici le graphe des appelants de cette fonction :| void Arcane::AMRPatchPosition::setMinPoint | ( | CartCoord3Type | min_point | ) |
Méthode permettant de définir la position min de la boite englobante.
| min_point | la position min. |
Définition à la ligne 97 du fichier AMRPatchPosition.cc.
Référencé par cut(), patchDown(), et patchUp().
Voici le graphe des appelants de cette fonction :| void Arcane::AMRPatchPosition::setOverlapLayerSize | ( | Int32 | layer_size | ) |
Méthode permettant de définir le nombre de couches de mailles de recouvrement du patch.
| layer_size | le nombre de couches de mailles de recouvrement |
Définition à la ligne 133 du fichier AMRPatchPosition.cc.
Référencé par patchDown(), et patchUp().
Voici le graphe des appelants de cette fonction :
|
private |
Définition à la ligne 322 du fichier AMRPatchPosition.h.
|
private |
Définition à la ligne 324 du fichier AMRPatchPosition.h.
|
private |
Définition à la ligne 323 du fichier AMRPatchPosition.h.
|
private |
Définition à la ligne 325 du fichier AMRPatchPosition.h.