Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::CartesianMesh::V2::CartesianNumbering< IdType >

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>

+ Graphe de collaboration de Arcane::CartesianMesh::V2::CartesianNumbering< IdType >:

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 IdType3nbItem3 () 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 IdType3delta3 () 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
 

Description détaillée

template<typename IdType>
class Arcane::CartesianMesh::V2::CartesianNumbering< IdType >

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.

Documentation des définitions de type membres

◆ IdType3

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.

Documentation des constructeurs et destructeur

◆ CartesianNumbering() [1/2]

template<typename IdType >
Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::CartesianNumbering ( )
inline

Définition à la ligne 52 du fichier CartesianNumbering.h.

◆ CartesianNumbering() [2/2]

template<typename IdType >
ARCCORE_HOST_DEVICE Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::CartesianNumbering ( const CartesianNumbering< IdType > &  rhs)
inline

Définition à la ligne 54 du fichier CartesianNumbering.h.

Documentation des fonctions membres

◆ delta3()

template<typename IdType >
const IdType3 & Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::delta3 ( ) const
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.

◆ deltaDir()

template<typename IdType >
IdType Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::deltaDir ( Integer  dir) const
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.

◆ dimension()

template<typename IdType >
Integer Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::dimension ( ) const
inline

Dimension de la grille cartésienne sur laquelle s'appuit la numérotation.

Définition à la ligne 90 du fichier CartesianNumbering.h.

◆ firstId()

Plus petit identifiant de la numérotation cartésienne de la grille.

Définition à la ligne 115 du fichier CartesianNumbering.h.

◆ id() [1/3]

template<typename IdType >
IdType Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::id ( const IdType3 item_ijk) const
inline

Passage (i,j,k) => numero.

Définition à la ligne 150 du fichier CartesianNumbering.h.

Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::id().

◆ id() [2/3]

◆ id() [3/3]

template<typename IdType >
ARCCORE_HOST_DEVICE IdType Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::id ( IdxType  idx) const
inline

Passage (i,j,k) => numero.

Définition à la ligne 157 du fichier CartesianNumbering.h.

Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::id().

◆ idxDir0()

template<typename IdType >
IdType Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::idxDir0 ( IdType  item_id) const
inline

Passage numéro => i.

Définition à la ligne 202 du fichier CartesianNumbering.h.

Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_coef.

◆ idxDir1()

template<typename IdType >
IdType Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::idxDir1 ( IdType  item_id) const
inline

Passage numéro => j.

Définition à la ligne 208 du fichier CartesianNumbering.h.

Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_coef.

◆ idxDir2()

template<typename IdType >
IdType Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::idxDir2 ( IdType  item_id) const
inline

Passage numéro => k.

Définition à la ligne 214 du fichier CartesianNumbering.h.

Références Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_coef.

◆ ijk() [1/2]

template<typename IdType >
ARCCORE_HOST_DEVICE IdxType Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::ijk ( IdType  item_id) const
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.

◆ ijk() [2/2]

template<typename IdType >
void Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::ijk ( IdType  item_id,
IdType3 item_ijk 
) const
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.

◆ initNumbering()

template<typename IdType >
void Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::initNumbering ( const IdType3 nitems_dir,
Integer  dimension,
IdType  first_item_id = 0 
)
inline

Définition à la ligne 65 du fichier CartesianNumbering.h.

◆ nbItem()

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.

◆ nbItem3()

template<typename IdType >
const IdType3 & Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::nbItem3 ( ) const
inline

Triplet du nb d'items dans chaque direction (définition de la grille)

Définition à la ligne 96 du fichier CartesianNumbering.h.

◆ nbItemDir()

template<typename IdType >
IdType Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::nbItemDir ( Integer  dir) const
inline

Nb d'items dans la grille cartésienne selon la direction dir (< dimension())

Définition à la ligne 103 du fichier CartesianNumbering.h.

Documentation des données membres

◆ m_coef

◆ m_dimension

template<typename IdType >
Integer Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_dimension = 0
protected

Définition à la ligne 220 du fichier CartesianNumbering.h.

◆ m_first_item_id

template<typename IdType >
IdType Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_first_item_id = 0
protected

Définition à la ligne 225 du fichier CartesianNumbering.h.

◆ m_nitems

Définition à la ligne 223 du fichier CartesianNumbering.h.

◆ m_nitems_dir

template<typename IdType >
IdType3 Arcane::CartesianMesh::V2::CartesianNumbering< IdType >::m_nitems_dir = { 1, 1, 1 }
protected

Définition à la ligne 222 du fichier CartesianNumbering.h.


La documentation de cette classe a été générée à partir du fichier suivant :