12#ifndef ARCANE_CARTESIANMESH_NODEDIRECTIONMNG_H
13#define ARCANE_CARTESIANMESH_NODEDIRECTIONMNG_H
17#include "arcane/ArcaneTypes.h"
18#include "arcane/Item.h"
19#include "arcane/ItemEnumerator.h"
20#include "arcane/VariableTypedef.h"
21#include "arcane/IndexedItemConnectivityView.h"
23#include "arcane/cartesianmesh/CartesianMeshGlobal.h"
47 typedef signed char IndexType;
48 static constexpr IndexType NULL_CELL = -1;
54 ARCCORE_HOST_DEVICE
IndexType operator[](Int32 i)
const
56 ARCANE_CHECK_AT(i, 8);
92 Int32
cellIndex(Int32 position)
const {
return m_cell_index[position]; }
101 Int32 x = cellIndex(position);
112 Int32 x = cellIndex(position);
113 return (x == NULL_CELL) ?
Cell() :
Cell(m_current.cell(x));
157 DirNodeCellIndex m_cell_index;
175 typedef signed char IndexType;
176 static constexpr IndexType NULL_CELL = -1;
208 ARCCORE_HOST_DEVICE Int32
cellIndex(Int32 position)
const {
return m_cell_index[position]; }
217 Int32 x = cellIndex(position);
218 return (x == NULL_CELL) ?
CellLocalId(NULL_ITEM_LOCAL_ID) : m_view.cellId(m_current, x);
291 for (
int i = 0; i < 8; ++i)
292 m_cell_index.m_indexes[i] = idx[i];
317 return _node(n.localId());
323 return _node(n.localId());
329 return _dirNodeId(n);
360 return _node(n.localId());
366 return _node(
inode.itemLocalId());
397 void _internalDestroy();
404 void _internalResizeInfos(Int32
new_size);
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é.
Noeud avant et après un noeud suivant une direction.
ARCCORE_HOST_DEVICE NodeLocalId previous() const
Maille avant.
ARCCORE_HOST_DEVICE CellLocalId topNextRightCellId() const
Noeud devant à droite dans la direction.
ARCCORE_HOST_DEVICE CellLocalId nextRightCellId() const
Noeud devant à droite dans la direction.
ARCCORE_HOST_DEVICE NodeLocalId nextId() const
Maille après.
ARCCORE_HOST_DEVICE NodeLocalId next() const
Maille après.
ARCCORE_HOST_DEVICE CellLocalId nextLeftCellId() const
Noeud devant à gauche dans la direction.
ARCCORE_HOST_DEVICE Int32 cellIndex(Int32 position) const
Indice dans la liste des mailles de ce noeud d'une maille en fonction de sa position.
ARCCORE_HOST_DEVICE CellLocalId topPreviousRightCellId() const
Noeud derrière à droite dans la direction.
ARCCORE_HOST_DEVICE CellLocalId cellId(Int32 position) const
Indice local d'une maille en fonction de sa position par rapport à ce noeud.
ARCCORE_HOST_DEVICE CellLocalId previousRightCellId() const
Noeud derrière à droite dans la direction.
ARCCORE_HOST_DEVICE NodeLocalId previousId() const
Maille avant.
ARCCORE_HOST_DEVICE CellLocalId topPreviousLeftCellId() const
Noeud derrière à gauche dans la direction.
ARCCORE_HOST_DEVICE CellLocalId previousLeftCellId() const
Noeud derrière à gauche dans la direction.
ARCCORE_HOST_DEVICE CellLocalId topNextLeftCellId() const
Noeud devant à gauche dans la direction.
Noeud avant et après un noeud suivant une direction.
CellLocalId topNextRightCellId() const
Noeud devant à droite dans la direction.
NodeLocalId previousId() const
Maille avant.
CellLocalId previousLeftCellId() const
Noeud derrière à gauche dans la direction.
Cell cell(Int32 position) const
Maille en fonction de sa position par rapport à ce noeud.
CellLocalId previousRightCellId() const
Noeud derrière à droite dans la direction.
NodeLocalId nextId() const
Maille après.
CellLocalId topPreviousRightCellId() const
Noeud derrière à droite dans la direction.
Node next() const
Maille après.
Node previous() const
Maille avant.
CellLocalId topNextLeftCellId() const
Noeud devant à gauche dans la direction.
Cell previousLeftCell() const
Noeud derrière à gauche dans la direction.
Cell previousRightCell() const
Noeud derrière à droite dans la direction.
CellLocalId cellId(Int32 position) const
Indice local d'une maille en fonction de sa position par rapport à ce noeud.
CellLocalId nextLeftCellId() const
Noeud devant à gauche dans la direction.
CellLocalId nextRightCellId() const
Noeud devant à droite dans la direction.
Cell nextRightCell() const
Noeud devant à droite dans la direction.
Cell topNextLeftCell() const
Noeud devant à gauche dans la direction.
Cell topPreviousRightCell() const
Noeud derrière à droite dans la direction.
Cell topPreviousLeftCell() const
Noeud derrière à gauche dans la direction.
Int32 cellIndex(Int32 position) const
Indice dans la liste des mailles de ce noeud d'une maille en fonction de sa position.
Cell topNextRightCell() const
Noeud devant à droite dans la direction.
CellLocalId topPreviousLeftCellId() const
Noeud derrière à gauche dans la direction.
Cell nextLeftCell() const
Noeud devant à gauche dans la direction.
Interface d'un maillage cartésien.
constexpr Int32 localId() const
Identifiant local de l'entité dans le sous-domaine du processeur.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Infos sur les noeuds d'une direction spécifique X,Y ou Z d'un maillage structuré.
DirNode operator[](NodeLocalId n) const
Noeud direction correspondant au noeud n.
DirNode dirNode(NodeLocalId n) const
Noeud direction correspondant au noeud n.
DirNode operator[](NodeEnumerator inode) const
Noeud direction correspondant à l'itérateur du noeud inode.
ARCCORE_HOST_DEVICE DirNodeLocalId dirNodeId(NodeLocalId n) const
Noeud direction correspondant au noeud n.
DirNode operator[](Node n)
Noeud direction correspondant au noeud n.
DirNode node(NodeLocalId n) const
Noeud direction correspondant au noeud n.
DirNode _node(Int32 local_id) const
Noeud direction correspondant au noeud de numéro local local_id.
eMeshDirection direction() const
Valeur de la direction.
ARCCORE_HOST_DEVICE DirNodeLocalId _dirNodeId(NodeLocalId local_id) const
Noeud direction correspondant au noeud de numéro local local_id.
DirNode node(Node n) const
Noeud direction correspondant au noeud n.
Vue sur les informations des noeuds.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eMeshDirection
Type de la direction pour un maillage structuré
NodeLocalId m_previous_lid
entité avant l'entité courante dans la direction
ItemDirectionInfo()=default
Constructeur par défaut.
NodeLocalId m_next_lid
entité après l'entité courante dans la direction