12#ifndef ARCANE_CARTESIANMESH_CARTESIANCONNECTIVITY_H
13#define ARCANE_CARTESIANMESH_CARTESIANCONNECTIVITY_H
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/core/Item.h"
20#include "arcane/cartesianmesh/CartesianMeshGlobal.h"
92 void fill(Int32 i) { v[0] = v[1] = v[2] = v[3] = v[4] = v[5] = v[6] = v[7] = i; }
226 const Permutation* permutation);
234 ARCCORE_HOST_DEVICE NodeLocalId _cellToNodeLocalId(CellLocalId c, ePosition p)
const
236 return NodeLocalId(m_cells_to_node[c].v[p]);
238 ARCCORE_HOST_DEVICE CellLocalId _nodeToCellLocalId(NodeLocalId n,
Int32 dir, ePosition p)
const
240 ARCCORE_CHECK_AT(dir, 3);
241 return _nodeToCellLocalId(n, m_permutation->permutation[dir][p]);
243 ARCCORE_HOST_DEVICE NodeLocalId _cellToNodeLocalId(CellLocalId c,
Int32 dir, ePosition p)
const
245 ARCCORE_CHECK_AT(dir, 3);
246 return _cellToNodeLocalId(c, m_permutation->permutation[dir][p]);
248 Cell _nodeToCell(Node n, ePosition p)
const {
return m_cells[m_nodes_to_cell[n.localId()].v[p]]; }
249 Node _cellToNode(Cell c, ePosition p)
const {
return m_nodes[m_cells_to_node[c.localId()].v[p]]; }
254 Index& _index(Node n) {
return m_nodes_to_cell[n.localId()]; }
255 Index& _index(Cell c) {
return m_cells_to_node[c.localId()]; }
259 ArrayView<Index> m_nodes_to_cell;
260 ArrayView<Index> m_cells_to_node;
261 CellInfoListView m_cells;
262 NodeInfoListView m_nodes;
263 const Permutation* m_permutation =
nullptr;
267 void _computeInfos2D(IMesh* mesh, VariableNodeReal3& nodes_coord, VariableCellReal3& cells_coord);
268 void _computeInfos3D(IMesh* mesh, VariableNodeReal3& nodes_coord, VariableCellReal3& cells_coord);
Classe d'accès aux connectivités cartésiennes.
Informations de connectivité d'un maillage cartésien.
Node topZLowerLeft(Cell c) const
En 3D, noeud au dessus en bas à gauche de la maille c.
ARCCORE_HOST_DEVICE NodeLocalId topZUpperRightId(CellLocalId c, Int32 dir) const
En 3D, noeud au dessus en haut à droite de la maille c pour la direction dir.
ARCCORE_HOST_DEVICE NodeLocalId topZLowerRightId(CellLocalId c) const
En 3D, noeud au dessus en bas à droite de la maille c.
Cell lowerRight(Node n) const
Maille en bas à droite du noeud n.
Node upperRight(Cell c) const
Noeud en haut à droite de la maille c.
ARCCORE_HOST_DEVICE NodeLocalId upperRightId(CellLocalId c) const
Noeud en haut à droite de la maille c.
ARCCORE_HOST_DEVICE CellLocalId lowerRightId(NodeLocalId n) const
Maille en bas à droite du noeud n.
Cell upperLeft(Node n) const
Maille en haut à gauche du noeud n.
ARCCORE_HOST_DEVICE CellLocalId lowerLeftId(NodeLocalId n) const
Maille en bas à gauche du noeud n.
ARCCORE_HOST_DEVICE NodeLocalId topZLowerLeftId(CellLocalId c) const
En 3D, noeud au dessus en bas à gauche de la maille c.
ARCCORE_HOST_DEVICE CellLocalId topZLowerLeftId(NodeLocalId n, Int32 dir) const
En 3D, maille en bas à gauche du noeud n pour la direction dir.
ARCCORE_HOST_DEVICE CellLocalId topZUpperLeftId(NodeLocalId n, Int32 dir) const
En 3D, maille en haut à gauche du noeud n pour la direction dir.
Node upperLeft(Cell c) const
Noeud en haut à gauche de la maille c.
ARCCORE_HOST_DEVICE NodeLocalId topZLowerRightId(CellLocalId c, Int32 dir) const
En 3D, noeud au dessus en bas à droite de la maille c pour la direction dir.
Cell topZUpperRight(Node n) const
En 3D, maille en haut à droite du noeud n.
ARCCORE_HOST_DEVICE NodeLocalId lowerLeftId(CellLocalId c, Int32 dir) const
Noeud en bad à gauche de la maille c pour la direction dir.
ARCCORE_HOST_DEVICE NodeLocalId upperRightId(CellLocalId c, Int32 dir) const
Noeud en haut à droite de la maille c pour la direction dir.
ARCCORE_HOST_DEVICE CellLocalId topZLowerRightId(NodeLocalId n) const
En 3D, maille en bas à droite du noeud n.
ARCCORE_HOST_DEVICE NodeLocalId lowerRightId(CellLocalId c) const
Noeud en bas à droite de la maille c.
ARCCORE_HOST_DEVICE CellLocalId topZUpperRightId(NodeLocalId n, Int32 dir) const
En 3D, maille en haut à droite du noeud n pour la direction dir.
Cell lowerLeft(Node n) const
Maille en bas à gauche du noeud n.
ARCCORE_HOST_DEVICE CellLocalId topZUpperRightId(NodeLocalId n) const
En 3D, maille en haut à droite du noeud n.
ARCCORE_HOST_DEVICE CellLocalId upperRightId(NodeLocalId n, Int32 dir) const
Maille en haut à droite du noeud n pour la direction dir.
ARCCORE_HOST_DEVICE NodeLocalId topZUpperLeftId(CellLocalId c) const
En 3D, noeud au dessus en haut à gauche de la maille c.
Cell topZLowerRight(Node n) const
En 3D, maille en bas à droite du noeud n.
ARCCORE_HOST_DEVICE CellLocalId topZUpperLeftId(NodeLocalId n) const
En 3D, maille en haut à gauche du noeud n.
ARCCORE_HOST_DEVICE CellLocalId topZLowerLeftId(NodeLocalId n) const
En 3D, maille en bas à gauche du noeud n.
ARCCORE_HOST_DEVICE NodeLocalId lowerRightId(CellLocalId c, Int32 dir) const
Noeud en bas à droite de la maille c pour la direction dir.
ARCCORE_HOST_DEVICE CellLocalId upperLeftId(NodeLocalId n, Int32 dir) const
Maille en haut à gauche du noeud n pour la direction dir.
ARCCORE_HOST_DEVICE NodeLocalId topZLowerLeftId(CellLocalId c, Int32 dir) const
En 3D, noeud au dessus en bas à gauche de la maille c pour la direction dir.
ePosition
Type énuméré indiquant la position.
ARCCORE_HOST_DEVICE NodeLocalId topZUpperRightId(CellLocalId c) const
En 3D, noeud au dessus en haut à droite de la maille c.
Cell topZLowerLeft(Node n) const
En 3D, maille en bas à gauche du noeud n.
Node topZUpperRight(Cell c) const
En 3D, noeud au dessus en haut à droite de la maille c.
ARCCORE_HOST_DEVICE NodeLocalId lowerLeftId(CellLocalId c) const
Noeud en bad à gauche de la maille c.
ARCCORE_HOST_DEVICE CellLocalId lowerLeftId(NodeLocalId n, Int32 dir) const
Maille en bas à gauche du noeud n pour la direction dir.
Node lowerLeft(Cell c) const
Noeud en bad à gauche de la maille c.
ARCCORE_HOST_DEVICE NodeLocalId upperLeftId(CellLocalId c) const
Noeud en haut à gauche de la maille c.
Cell upperRight(Node n) const
Maille en haut à droite du noeud n.
ARCCORE_HOST_DEVICE CellLocalId upperLeftId(NodeLocalId n) const
Maille en haut à gauche du noeud n.
Node topZUpperLeft(Cell c) const
En 3D, noeud au dessus en haut à gauche de la maille c.
ARCCORE_HOST_DEVICE NodeLocalId topZUpperLeftId(CellLocalId c, Int32 dir) const
En 3D, noeud au dessus en haut à gauche de la maille c pour la direction dir.
ARCCORE_HOST_DEVICE CellLocalId topZLowerRightId(NodeLocalId n, Int32 dir) const
En 3D, maille en bas à droite du noeud n pour la direction dir.
Node lowerRight(Cell c) const
Noeud en bas à droite de la maille c.
Node topZLowerRight(Cell c) const
En 3D, noeud au dessus en bas à droite de la maille c.
Cell topZUpperLeft(Node n) const
En 3D, maille en haut à gauche du noeud n.
ARCCORE_HOST_DEVICE CellLocalId upperRightId(NodeLocalId n) const
Maille en haut à droite du noeud n.
ARCCORE_HOST_DEVICE NodeLocalId upperLeftId(CellLocalId c, Int32 dir) const
Noeud en haut à gauche de la maille c pour la direction dir.
ARCCORE_HOST_DEVICE CellLocalId lowerRightId(NodeLocalId n, Int32 dir) const
Maille en bas à droite du noeud n pour la direction dir.
Infos spécifiques à un maillage cartésien.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Liste des 8 entités autout d'une autre entité
Permutation dans Index pour chaque direction.