12#ifndef ARCANE_MATERIALS_ALLCELLTOALLENVCELLCONVERTER_H
13#define ARCANE_MATERIALS_ALLCELLTOALLENVCELLCONVERTER_H
19#include "arcane/core/materials/MatItem.h"
21#include "arcane/core/materials/CellToAllEnvCellConverter.h"
56 friend AllCellToAllEnvCellContainer;
63 return m_allcell_allenvcell_ptr[cell_id];
89 using size_type = Span<ComponentItemLocalId>::size_type;
96 ARCCORE_HOST_DEVICE size_type nbEnvironment(Int32 cid)
const
98 return m_cell_allenvcell[cid].size();
105 return m_cell_allenvcell;
122 using index_type = Span<ComponentItemLocalId>::index_type;
123 using size_type = Span<ComponentItemLocalId>::size_type;
131 m_ptr = all_env_view[cell_id];
133 ARCCORE_HOST_DEVICE
void operator++()
138 ARCCORE_HOST_DEVICE
bool hasNext()
const
140 return m_index < m_ptr.size();
145 return m_ptr[m_index];
150 index_type m_index = 0;
166#define RUNCOMMAND_ENUMERATE_CELL_ALLENVCELL(cell_to_allenvcellaccessor, iter_name, cell_group) \
167 A_FUNCINFO << cell_group << [=] ARCCORE_HOST_DEVICE(CellLocalId iter_name)
173#define A_ENUMERATE_CELL_ALLCOMPONENTCELL(_EnumeratorClassName, iname, cid, cell_to_allenvcellaccessor) \
174 for (A_TRACE_COMPONENT(_EnumeratorClassName) iname(::Arcane::Materials::_EnumeratorClassName(cid, cell_to_allenvcellaccessor) A_TRACE_ENUMERATOR_WHERE); iname.hasNext(); ++iname)
189#define ENUMERATE_CELL_ALLENVCELL(iname, cid, cell_to_allenvcellaccessor) \
190 A_ENUMERATE_CELL_ALLCOMPONENTCELL(CellToAllComponentCellEnumerator, iname, cid, cell_to_allenvcellaccessor)
Table de connectivité des 'Cell' vers leur(s) 'AllEnvCell' destinée à une utilisation sur accélérateu...
Classe d'encapsulation pour accéder à la connectivité équivalente cell -> allenvcell....
Index d'un ConstituentItem dans une variable.
Interface du gestionnaire des matériaux et des milieux d'un maillage.
Vue d'un tableau d'éléments de type T.
Active toujours les traces dans les parties Arcane concernant les matériaux.
Real2 operator*(Real sca, const Real2Proxy &vec)
Multiplication par un scalaire.