92 void fill(Int32 i) { v[0] = v[1] = v[2] = v[3] = v[4] = v[5] = v[6] = v[7] = i; }
107 ePosition permutation[3][8];
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);