16#include "arcane/core/materials/ComponentItemVectorView.h"
17#include "arcane/core/materials/IMeshMaterialMng.h"
18#include "arcane/core/materials/IMeshBlock.h"
19#include "arcane/core/materials/MatItemVector.h"
20#include "arcane/core/materials/EnvItemVector.h"
21#include "arcane/core/materials/internal/IMeshComponentInternal.h"
35ComponentCellEnumerator::
36ComponentCellEnumerator(
const ComponentItemVectorView& v)
38, m_size(v._matvarIndexes().size())
39, m_constituent_list_view(v._constituentItemListView())
40, m_matvar_indexes(v._matvarIndexes())
41, m_component(v.component())
52MatCellEnumerator MatCellEnumerator::
53create(IMeshMaterial* mat)
55 return MatCellEnumerator(mat->view());
61MatCellEnumerator MatCellEnumerator::
62create(
const MatCellVector& miv)
64 return create(miv.view());
70MatCellEnumerator MatCellEnumerator::
71create(MatCellVectorView v)
73 return MatCellEnumerator(v);
82EnvCellEnumerator EnvCellEnumerator::
83create(IMeshEnvironment* env)
85 return EnvCellEnumerator(env->view());
91EnvCellEnumerator EnvCellEnumerator::
92create(
const EnvCellVector& miv)
94 return create(miv.view());
100EnvCellEnumerator EnvCellEnumerator::
101create(EnvCellVectorView v)
103 return EnvCellEnumerator(v);
112EnvCellEnumerator CellGenericEnumerator::
113create(IMeshEnvironment* env)
115 return EnvCellEnumerator::create(env);
121EnvCellEnumerator CellGenericEnumerator::
122create(
const EnvCellVector& ecv)
124 return EnvCellEnumerator::create(ecv);
130EnvCellEnumerator CellGenericEnumerator::
131create(EnvItemVectorView v)
133 return EnvCellEnumerator::create(v);
139MatCellEnumerator CellGenericEnumerator::
140create(IMeshMaterial* mat)
142 return MatCellEnumerator::create(mat);
148MatCellEnumerator CellGenericEnumerator::
149create(
const MatCellVector& miv)
151 return MatCellEnumerator::create(miv);
157MatCellEnumerator CellGenericEnumerator::
158create(MatItemVectorView v)
160 return MatCellEnumerator::create(v);
167create(CellVectorView v)
176create(
const CellGroup& v)
178 return create(v.view());
187ComponentCellEnumerator ComponentCellEnumerator::
188create(IMeshComponent* component)
190 return ComponentCellEnumerator(component->view());
196ComponentCellEnumerator ComponentCellEnumerator::
197create(
const ComponentItemVector& v)
199 return create(v.view());
205ComponentCellEnumerator ComponentCellEnumerator::
206create(ComponentItemVectorView v)
208 return ComponentCellEnumerator(v);
218ComponentEnumerator(ConstArrayView<IMeshComponent*> components)
219: m_components(components)
221, m_size(m_components.size())
232MatEnumerator(IMeshMaterialMng* mm)
233: m_mats(mm->materials())
235, m_size(m_mats.size())
243MatEnumerator(IMeshEnvironment* env)
244: m_mats(env->materials())
246, m_size(m_mats.size())
254MatEnumerator(ConstArrayView<IMeshMaterial*> mats)
257, m_size(m_mats.size())
268EnvEnumerator(IMeshMaterialMng* mm)
269: m_envs(mm->environments())
271, m_size(m_envs.size())
279EnvEnumerator(IMeshBlock* mb)
280: m_envs(mb->environments())
282, m_size(m_envs.size())
290EnvEnumerator(ConstArrayView<IMeshEnvironment*> envs)
293, m_size(m_envs.size())
303AllEnvCellEnumerator AllEnvCellEnumerator::
304create(AllEnvCellVectorView items)
306 return AllEnvCellEnumerator(items);
312AllEnvCellEnumerator AllEnvCellEnumerator::
313create(IMeshMaterialMng* mng,
const CellVectorView& view)
315 return create(mng->view(view));
321AllEnvCellEnumerator AllEnvCellEnumerator::
322create(IMeshMaterialMng* mng,
const CellGroup& group)
324 return create(mng->view(group));
330AllEnvCellEnumerator AllEnvCellEnumerator::
331create(IMeshBlock* block)
333 return create(block->view());
342ComponentPartCellEnumerator ComponentPartCellEnumerator::
343create(ComponentPartItemVectorView v)
345 return ComponentPartCellEnumerator(v,0);
351ComponentPartCellEnumerator ComponentPartCellEnumerator::
352create(IMeshComponent* component,eMatPart part)
354 return create(component->partItems(part));
360ComponentPartCellEnumerator::
361ComponentPartCellEnumerator(
const ComponentPartItemVectorView& v,Integer base_index)
363, m_size(v.itemIndexes().size())
364, m_var_idx(v.componentPartIndex())
365, m_base_index(base_index)
366, m_value_indexes(v.valueIndexes())
367, m_item_indexes(v.itemIndexes())
368, m_constituent_list_view(v.constituentItemListView())
369, m_component(v.component())
376MatPartCellEnumerator::
377MatPartCellEnumerator(
const MatPartItemVectorView& v)
378: ComponentPartCellEnumerator(v,0)
385MatPartCellEnumerator MatPartCellEnumerator::
386create(IMeshMaterial* mat,eMatPart part)
388 MatPartItemVectorView v(mat->partMatItems(part));
389 return MatPartCellEnumerator(v);
395MatPartCellEnumerator MatPartCellEnumerator::
396create(MatPartItemVectorView v)
398 return MatPartCellEnumerator(v);
404EnvPartCellEnumerator::
405EnvPartCellEnumerator(
const EnvPartItemVectorView& v)
406: ComponentPartCellEnumerator(v,0)
413EnvPartCellEnumerator EnvPartCellEnumerator::
414create(IMeshEnvironment* env,eMatPart part)
416 EnvPartItemVectorView v(env->partEnvItems(part));
417 return EnvPartCellEnumerator(v);
423EnvPartCellEnumerator EnvPartCellEnumerator::
424create(EnvPartItemVectorView v)
426 return EnvPartCellEnumerator(v);
ItemEnumeratorT< Cell > CellEnumerator
Enumérateurs sur des mailles.
Active toujours les traces dans les parties Arcane concernant les matériaux.