12#ifndef ARCANE_CARTESIANMESH_CELLDIRECTIONMNG_H
13#define ARCANE_CARTESIANMESH_CELLDIRECTIONMNG_H
17#include "arcane/ArcaneTypes.h"
19#include "arcane/Item.h"
20#include "arcane/ItemEnumerator.h"
21#include "arcane/IndexedItemConnectivityView.h"
23#include "arcane/cartesianmesh/CartesianMeshGlobal.h"
24#include "arcane/cartesianmesh/CartesianItemDirectionInfo.h"
114 using Int8 = std::int8_t;
131 Node nextLeft()
const {
return m_cell.node(m_nodes_indirection[CNP_NextLeft]); }
133 Node nextRight()
const {
return m_cell.node(m_nodes_indirection[CNP_NextRight]); }
149 Node topNextLeft()
const {
return m_cell.node(m_nodes_indirection[CNP_TopNextLeft]); }
169 const Int8* m_nodes_indirection;
184 using Int8 = std::int8_t;
200 ARCCORE_HOST_DEVICE
NodeLocalId nextLeftId()
const {
return m_view.nodeId(m_cell, m_nodes_indirection[CNP_NextLeft]); }
202 ARCCORE_HOST_DEVICE
NodeLocalId nextRightId()
const {
return m_view.nodeId(m_cell, m_nodes_indirection[CNP_NextRight]); }
220 const Int8* m_nodes_indirection;
254 Face next()
const {
return m_cell.face(m_next_face_index); }
272 Int32 m_next_face_index;
273 Int32 m_previous_face_index;
309 ARCCORE_HOST_DEVICE
FaceLocalId next()
const {
return m_view.faceId(m_cell, m_next_face_index); }
311 ARCCORE_HOST_DEVICE
FaceLocalId nextId()
const {
return m_view.faceId(m_cell, m_next_face_index); }
327 Int32 m_next_face_index;
328 Int32 m_previous_face_index;
366 static const int MAX_NB_NODE = 8;
367 using Int8 = std::int8_t;
387 return _cell(
c.localId());
392 return _cell(
c.localId());
397 return _cell(
c.localId());
402 return _dirCellId(
c);
414 return DirCellNode(m_cells[
c.localId()], m_nodes_indirection);
420 return DirCellNode(m_cells[
c.localId()], m_nodes_indirection);
432 return DirCellFace(
c, m_next_face_index, m_previous_face_index);
437 return DirCellFace(m_cells[
c.localId()], m_next_face_index, m_previous_face_index);
468 return _cell(
c.localId());
474 return _cell(
c.localId());
480 return _cell(
icell.itemLocalId());
491 Int64 globalNbCell()
const;
501 Int32 ownNbCell()
const;
521 Int32 subDomainOffset()
const;
541 Int64 ownCellOffset()
const;
568 void _internalComputeInnerAndOuterItems(
const ItemGroup& items);
580 void _internalDestroy();
588 m_next_face_index = next_index;
597 void _internalResizeInfos(Int32
new_size);
615 Int32 m_next_face_index;
616 Int32 m_previous_face_index;
617 Int8 m_nodes_indirection[MAX_NB_NODE];
Infos spécifiques à un maillage cartésien.
Informations par direction pour chaque genre d'entité du maillage.
Infos sur les mailles d'une direction spécifique X,Y ou Z d'un maillage structuré.
eMeshDirection direction() const
Valeur de la direction.
ARCCORE_HOST_DEVICE DirCellFaceLocalId dirCellFaceId(CellLocalId c) const
Maille avec infos directionnelles aux faces correspondant à la maille c.
DirCellFace cellFace(Cell c) const
Maille avec infos directionnelles aux faces correspondant à la maille c.
DirCell cell(CellLocalId c) const
Maille direction correspondant à la maille c.
ARCCORE_HOST_DEVICE DirCellLocalId dirCellId(CellLocalId c) const
Maille direction correspondant à la maille c.
DirCellFace cellFace(CellLocalId c) const
Maille avec infos directionnelles aux faces correspondant à la maille c.
DirCellNode cellNode(Cell c) const
Maille avec infos directionnelles aux noeuds correspondant à la maille c.
DirCell dirCell(CellLocalId c) const
Maille direction correspondant à la maille c.
DirCell cell(Cell c) const
Maille direction correspondant à la maille c.
DirCellNode cellNode(CellLocalId c) const
Maille avec infos directionnelles aux noeuds correspondant à la maille c.
DirCellNode dirCellNode(CellLocalId c) const
Maille avec infos directionnelles aux noeuds correspondant à la maille c.
DirCell operator[](CellEnumerator icell) const
Maille direction correspondant à l'itérateur de la maille icell.
DirCell operator[](CellLocalId c) const
Maille direction correspondant à la maille c.
void _internalSetLocalFaceIndex(Int32 next_index, Int32 previous_index)
ARCCORE_HOST_DEVICE DirCellNodeLocalId dirCellNodeId(CellLocalId c) const
Maille avec infos directionnelles aux noeuds correspondant à la maille c.
DirCell operator[](Cell c) const
Maille direction correspondant à la maille c.
ARCCORE_HOST_DEVICE DirCellLocalId _dirCellId(Int32 local_id) const
Maille direction correspondant à la maille de numéro local local_id.
DirCell _cell(Int32 local_id) const
Maille direction correspondant à la maille de numéro local local_id.
Vue sur les informations des mailles.
Maille avec info directionnelle des faces.
ARCCORE_HOST_DEVICE FaceLocalId previous() const
Face connectée à la maille d'avant la maille courante dans la direction.
ARCCORE_HOST_DEVICE CellLocalId cellId() const
Maille associée.
ARCCORE_HOST_DEVICE FaceLocalId previousId() const
Face connectée à la maille d'avant la maille courante dans la direction.
ARCCORE_HOST_DEVICE Int32 nextLocalIndex() const
Indice locale dans la maille de la face next()
ARCCORE_HOST_DEVICE Int32 previousLocalIndex() const
Indice locale dans la maille de la face previous()
ARCCORE_HOST_DEVICE FaceLocalId next() const
Face connectée à la maille d'après la maille courante dans la direction.
ARCCORE_HOST_DEVICE CellLocalId cell() const
Maille associée.
ARCCORE_HOST_DEVICE FaceLocalId nextId() const
Face connectée à la maille d'après la maille courante dans la direction.
Maille avec info directionnelle des faces.
Int32 nextLocalIndex() const
Indice locale dans la maille de la face next()
Face next() const
Face connectée à la maille d'après la maille courante dans la direction.
Cell cell() const
Maille associée.
FaceLocalId nextId() const
Face connectée à la maille d'après la maille courante dans la direction.
Face previous() const
Face connectée à la maille d'avant la maille courante dans la direction.
FaceLocalId previousId() const
Face connectée à la maille d'avant la maille courante dans la direction.
CellLocalId cellId() const
Maille associée.
Int32 previousLocalIndex() const
Indice locale dans la maille de la face previous()
Maille avant et après une maille suivant une direction.
constexpr ARCCORE_HOST_DEVICE CellLocalId nextId() const
Maille après.
constexpr ARCCORE_HOST_DEVICE CellLocalId previous() const
Maille avant.
constexpr ARCCORE_HOST_DEVICE CellLocalId next() const
Maille après.
constexpr ARCCORE_HOST_DEVICE CellLocalId previousId() const
Maille avant.
Maille avec info directionnelle des noeuds.
ARCCORE_HOST_DEVICE NodeLocalId nextLeftId() const
Noeud devant à gauche dans la direction.
ARCCORE_HOST_DEVICE NodeLocalId topNextRightId() const
Noeud devant à droite dans la direction.
ARCCORE_HOST_DEVICE CellLocalId cellId() const
Maille associée.
ARCCORE_HOST_DEVICE NodeLocalId topPreviousLeftId() const
Noeud derrière à gauche dans la direction.
ARCCORE_HOST_DEVICE NodeLocalId topNextLeftId() const
Noeud devant à gauche dans la direction.
ARCCORE_HOST_DEVICE NodeLocalId previousLeftId() const
Noeud derrière à gauche dans la direction.
ARCCORE_HOST_DEVICE NodeLocalId nextRightId() const
Noeud devant à droite dans la direction.
ARCCORE_HOST_DEVICE NodeLocalId topPreviousRightId() const
Noeud derrière à droite dans la direction.
ARCCORE_HOST_DEVICE NodeLocalId previousRightId() const
Noeud derrière à droite dans la direction.
Maille avec info directionnelle des noeuds.
Node nextRight() const
Noeud devant à droite dans la direction.
CellLocalId cellId() const
Maille associée.
Node previousRight() const
Noeud derrière à droite dans la direction.
NodeLocalId topNextLeftId() const
Noeud devant à gauche dans la direction.
NodeLocalId nextRightId() const
Noeud devant à droite dans la direction.
NodeLocalId topNextRightId() const
Noeud devant à droite dans la direction.
NodeLocalId nextLeftId() const
Noeud devant à gauche dans la direction.
Node nextLeft() const
Noeud devant à gauche dans la direction.
Node topNextRight() const
Noeud devant à droite dans la direction.
NodeLocalId topPreviousLeftId() const
Noeud derrière à gauche dans la direction.
NodeLocalId topPreviousRightId() const
Noeud derrière à droite dans la direction.
NodeLocalId previousLeftId() const
Noeud derrière à gauche dans la direction.
NodeLocalId previousRightId() const
Noeud derrière à droite dans la direction.
Node topPreviousRight() const
Noeud derrière à droite dans la direction.
Cell cell() const
Maille associée.
Node topNextLeft() const
Noeud devant à gauche dans la direction.
Node previousLeft() const
Noeud derrière à gauche dans la direction.
Node topPreviousLeft() const
Noeud derrière à gauche dans la direction.
Maille avant et après une maille suivant une direction.
CellLocalId nextId() const
Maille après.
CellLocalId previousId() const
Maille avant.
Cell previous() const
Maille avant.
Cell next() const
Maille après.
Interface d'un maillage cartésien.
Groupe d'entités de maillage.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Structure interne contenant l'entité devant et derriére dans une direction.
ItemLocalId m_next_lid
entité après l'entité courante dans la direction
ItemLocalId m_previous_lid
entité avant l'entité courante dans la direction
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Arccore::Int8 Int8
Type représentant un entier sur 8 bits.
eMeshDirection
Type de la direction pour un maillage structuré