Gestion d'une numerotation cartesienne sur une grille d'items d'une dimension au plus 3 Permet le passage d'un triplet (i,j,k) à un numéro id Les ids vont de firstId() à firstId()+nbItem() Plus de détails...
#include <arcane/cartesianmesh/v2/CartesianNumbering.h>
Types publics | |
using | IdType3 = IdType[3] |
Type pour les triplets cartésiens (i,j,k) et les triplets des dimensions (ni,nj,nk) | |
Fonctions membres publiques | |
ARCCORE_HOST_DEVICE | CartesianNumbering (const CartesianNumbering< IdType > &rhs) |
void | initNumbering (const IdType3 &nitems_dir, Integer dimension, IdType first_item_id=0) |
Integer | dimension () const |
Dimension de la grille cartésienne sur laquelle s'appuit la numérotation. | |
const IdType3 & | nbItem3 () const |
Triplet du nb d'items dans chaque direction (définition de la grille) | |
IdType | nbItemDir (Integer dir) const |
Nb d'items dans la grille cartésienne selon la direction dir (< dimension()) | |
IdType | nbItem () const |
Nb total d'items dans la grille cartésienne (produit du nb d'items dans chaque direction) | |
IdType | firstId () const |
Plus petit identifiant de la numérotation cartésienne de la grille. | |
IdType | deltaDir (Integer dir) const |
Offset à ajouter à id() pour obtenir l'id de l'item suivant dans la direction dir (si cet item existe) | |
const IdType3 & | delta3 () const |
Triplet des offsets dans toutes les directions pour passer aux items suivants dans chacune des directions. | |
ARCCORE_HOST_DEVICE IdType | id (IdType i, IdType j, IdType k) const |
Passage (i,j,k) => numero. | |
IdType | id (const IdType3 &item_ijk) const |
Passage (i,j,k) => numero. | |
ARCCORE_HOST_DEVICE IdType | id (IdxType idx) const |
Passage (i,j,k) => numero. | |
void | ijk (IdType item_id, IdType3 &item_ijk) const |
Passage de numero => (i,j,k) | |
ARCCORE_HOST_DEVICE IdxType | ijk (IdType item_id) const |
Passage de numero => (i,j,k) | |
IdType | idxDir0 (IdType item_id) const |
Passage numéro => i. | |
IdType | idxDir1 (IdType item_id) const |
Passage numéro => j. | |
IdType | idxDir2 (IdType item_id) const |
Passage numéro => k. | |
Attributs protégés | |
Integer | m_dimension = 0 |
IdType3 | m_nitems_dir = { 1, 1, 1 } |
IdType | m_nitems = 0 |
IdType | m_first_item_id = 0 |
IdType3 | m_coef = { 0, 0, 0 } |
item_id = m_first_item_id + numéro_cartésien(i,j,k), permet un décallage dans la numérotation | |
Gestion d'une numerotation cartesienne sur une grille d'items d'une dimension au plus 3 Permet le passage d'un triplet (i,j,k) à un numéro id Les ids vont de firstId() à firstId()+nbItem()
Ex pour une numérotation 5x3 en 2D avec firstId() = 0 :
ids:
2 10 11 12 13 14 1 5 6 7 8 9 0 0 1 2 3 4 /\ j i--> 0 1 2 3 4
Définition à la ligne 45 du fichier CartesianNumbering.h.
using Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::IdType3 = IdType[3] |
Type pour les triplets cartésiens (i,j,k) et les triplets des dimensions (ni,nj,nk)
Définition à la ligne 49 du fichier CartesianNumbering.h.
|
inline |
Définition à la ligne 52 du fichier CartesianNumbering.h.
|
inline |
Définition à la ligne 54 du fichier CartesianNumbering.h.
|
inline |
Triplet des offsets dans toutes les directions pour passer aux items suivants dans chacune des directions.
Définition à la ligne 129 du fichier CartesianNumbering.h.
Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_coef.
|
inline |
Offset à ajouter à id() pour obtenir l'id de l'item suivant dans la direction dir (si cet item existe)
Définition à la ligne 123 du fichier CartesianNumbering.h.
Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_coef.
|
inline |
Dimension de la grille cartésienne sur laquelle s'appuit la numérotation.
Définition à la ligne 90 du fichier CartesianNumbering.h.
|
inline |
Plus petit identifiant de la numérotation cartésienne de la grille.
Définition à la ligne 115 du fichier CartesianNumbering.h.
|
inline |
Passage (i,j,k) => numero.
Définition à la ligne 150 du fichier CartesianNumbering.h.
Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::id().
|
inline |
Passage (i,j,k) => numero.
Définition à la ligne 135 du fichier CartesianNumbering.h.
Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_coef.
Référencé par Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::id(), et Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::id().
|
inline |
Passage (i,j,k) => numero.
Définition à la ligne 157 du fichier CartesianNumbering.h.
Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::id().
|
inline |
Passage numéro => i.
Définition à la ligne 202 du fichier CartesianNumbering.h.
Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_coef.
|
inline |
Passage numéro => j.
Définition à la ligne 208 du fichier CartesianNumbering.h.
Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_coef.
|
inline |
Passage numéro => k.
Définition à la ligne 214 du fichier CartesianNumbering.h.
Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_coef.
|
inline |
Passage de numero => (i,j,k)
Définition à la ligne 181 du fichier CartesianNumbering.h.
Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_coef.
|
inline |
Passage de numero => (i,j,k)
Définition à la ligne 163 du fichier CartesianNumbering.h.
Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_coef.
|
inline |
Définition à la ligne 65 du fichier CartesianNumbering.h.
|
inline |
Nb total d'items dans la grille cartésienne (produit du nb d'items dans chaque direction)
Définition à la ligne 109 du fichier CartesianNumbering.h.
|
inline |
Triplet du nb d'items dans chaque direction (définition de la grille)
Définition à la ligne 96 du fichier CartesianNumbering.h.
|
inline |
Nb d'items dans la grille cartésienne selon la direction dir (< dimension())
Définition à la ligne 103 du fichier CartesianNumbering.h.
|
protected |
item_id = m_first_item_id + numéro_cartésien(i,j,k), permet un décallage dans la numérotation
Définition à la ligne 227 du fichier CartesianNumbering.h.
Référencé par Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::delta3(), Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::deltaDir(), Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::id(), Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::idxDir0(), Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::idxDir1(), Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::idxDir2(), Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::ijk(), et Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::ijk().
|
protected |
Définition à la ligne 220 du fichier CartesianNumbering.h.
|
protected |
Définition à la ligne 225 du fichier CartesianNumbering.h.
|
protected |
Définition à la ligne 223 du fichier CartesianNumbering.h.
|
protected |
Définition à la ligne 222 du fichier CartesianNumbering.h.