Skip to content

Commit dbd7f95

Browse files
Merge pull request #1197 from arcaneframework/dev/gg-remove-some-usage-of-componentiteminternal
Remove some usage of 'ComponentItemInternal'
2 parents e1b4d23 + 1aafad9 commit dbd7f95

15 files changed

+177
-253
lines changed

arcane/src/arcane/core/materials/ComponentItem.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ namespace Arcane::Materials
2626
/*---------------------------------------------------------------------------*/
2727

2828
void ComponentCell::
29-
_badConversion(ComponentItemInternal* item_internal, Int32 level,Int32 expected_level)
29+
_badConversion(matimpl::ConstituentItemBase item_base, Int32 level,Int32 expected_level)
3030
{
3131
ARCANE_FATAL("bad level for internal component cell level={0} expected={1} cid={2} component_id={3}",
32-
level,expected_level, item_internal->constituentItemIndex(),item_internal->componentId());
32+
level,expected_level, item_base._constituentItemIndex(),item_base.componentId());
3333
}
3434

3535
/*---------------------------------------------------------------------------*/

arcane/src/arcane/core/materials/ComponentItem.h

+35-29
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,11 @@ class ARCANE_CORE_EXPORT ComponentCell
6262
public:
6363

6464
ARCCORE_HOST_DEVICE ComponentCell(const matimpl::ConstituentItemBase& mii)
65-
: m_internal(mii._internal())
65+
: m_constituent_item_index(mii.m_constituent_item_index)
66+
, m_shared_info(mii.m_shared_info)
6667
{}
6768

68-
ComponentCell()
69-
: m_internal(ComponentItemInternal::_nullItem())
70-
{}
69+
ComponentCell() = default;
7170

7271
public:
7372

@@ -77,32 +76,32 @@ class ARCANE_CORE_EXPORT ComponentCell
7776
public:
7877

7978
//! \internal
80-
ARCCORE_HOST_DEVICE MatVarIndex _varIndex() const { return m_internal->variableIndex(); }
79+
ARCCORE_HOST_DEVICE MatVarIndex _varIndex() const { return m_shared_info->_varIndex(m_constituent_item_index); }
8180

82-
ARCCORE_HOST_DEVICE matimpl::ConstituentItemBase constituentItemBase() const { return m_internal; }
81+
ARCCORE_HOST_DEVICE matimpl::ConstituentItemBase constituentItemBase() const { return { m_shared_info, m_constituent_item_index}; }
8382

8483
//! Composant associé
85-
IMeshComponent* component() const { return m_internal->component(); }
84+
IMeshComponent* component() const { return m_shared_info->_component(m_constituent_item_index); }
8685

8786
//! Identifiant du composant dans la liste des composants de ce type.
88-
Int32 componentId() const { return m_internal->componentId(); }
87+
ARCCORE_HOST_DEVICE Int32 componentId() const { return m_shared_info->_componentId(m_constituent_item_index); }
8988

9089
//! Indique s'il s'agit de la maille nulle
91-
bool null() const { return m_internal->null(); }
90+
bool null() const { return m_constituent_item_index.isNull(); }
9291

9392
//! Maille de niveau supérieur dans la hiérarchie
94-
ComponentCell superCell() const { return ComponentCell(m_internal->_superItemBase()); }
93+
ComponentCell superCell() const { return ComponentCell(_superItemBase()); }
9594

9695
//! Niveau hiérarchique de l'entité
97-
Int32 level() const { return m_internal->level(); }
96+
ARCCORE_HOST_DEVICE Int32 level() const { return m_shared_info->m_level; }
9897

9998
//! Nombre de sous-éléments
100-
Int32 nbSubItem() const { return m_internal->nbSubItem(); }
99+
ARCCORE_HOST_DEVICE Int32 nbSubItem() const { return m_shared_info->_nbSubConstituent(m_constituent_item_index); }
101100

102101
//! Maille arcane
103102
Cell globalCell() const
104103
{
105-
return Cell(m_internal->globalItemBase());
104+
return Cell(m_shared_info->_globalItemBase(m_constituent_item_index));
106105
}
107106

108107
/*!
@@ -113,40 +112,47 @@ class ARCANE_CORE_EXPORT ComponentCell
113112
* \warning Ce numéro unique n'est pas le même que celui de la maille globale
114113
* associée.
115114
*/
116-
Int64 componentUniqueId() const { return m_internal->componentUniqueId(); }
115+
Int64 componentUniqueId() const { return m_shared_info->_componentUniqueId(m_constituent_item_index); }
117116

118117
protected:
119118

120-
static ARCCORE_HOST_DEVICE void _checkLevel([[maybe_unused]] ComponentItemInternal* item_internal,
119+
static ARCCORE_HOST_DEVICE void _checkLevel([[maybe_unused]] matimpl::ConstituentItemBase item_base,
121120
[[maybe_unused]] Int32 expected_level)
122121
{
123122
#if !defined(ARCCORE_DEVICE_CODE)
124-
if (item_internal->null())
123+
if (item_base.null())
125124
return;
126-
Int32 lvl = item_internal->level();
125+
Int32 lvl = item_base.level();
127126
if (lvl != expected_level)
128-
_badConversion(item_internal, lvl, expected_level);
127+
_badConversion(item_base, lvl, expected_level);
129128
#endif
130129
}
131-
static void _badConversion(ComponentItemInternal* item_internal, Int32 level, Int32 expected_level);
130+
static void _badConversion(matimpl::ConstituentItemBase item_base, Int32 level, Int32 expected_level);
131+
132+
matimpl::ConstituentItemBase _subItemBase(Int32 index) const
133+
{
134+
return m_shared_info->_subItemBase(m_constituent_item_index, index);
135+
}
136+
matimpl::ConstituentItemBase _superItemBase() const
137+
{
138+
return m_shared_info->_superItemBase(m_constituent_item_index);
139+
}
140+
ARCCORE_HOST_DEVICE ConstituentItemIndex _firstSubConstituentLocalId() const
141+
{
142+
return m_shared_info->_firstSubConstituentLocalId(m_constituent_item_index);
143+
}
132144

133145
protected:
134146

135-
ComponentItemInternal* m_internal;
147+
ConstituentItemIndex m_constituent_item_index;
148+
ComponentItemSharedInfo* m_shared_info = ComponentItemSharedInfo::_nullInstance();
136149

137150
private:
138151

139152
//! \internal
140-
// TODO: rendre obsolète
141-
ARCCORE_HOST_DEVICE ComponentItemInternal* _internal() const
142-
{
143-
return m_internal;
144-
}
145-
146-
//! \internal
147-
ARCCORE_HOST_DEVICE ConstituentItemIndex _internalLocalId() const
153+
ARCCORE_HOST_DEVICE ConstituentItemIndex _constituentItemIndex() const
148154
{
149-
return m_internal->constituentItemIndex();
155+
return m_constituent_item_index;
150156
}
151157
};
152158

arcane/src/arcane/core/materials/ComponentItemInternal.cc

+1-12
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,8 @@ operator<<(std::ostream& o,const ConstituentItemIndex& id)
4646
void ConstituentItemLocalIdListView::
4747
_checkCoherency() const
4848
{
49-
Int32 nb_item = m_items_internal.size();
5049
if (!m_component_shared_info)
51-
ARCANE_FATAL("Null ComponentItemSharedInfo nb_item={0}", nb_item);
52-
return;
53-
}
54-
55-
/*---------------------------------------------------------------------------*/
56-
/*---------------------------------------------------------------------------*/
57-
58-
void ConstituentItemLocalIdListView::
59-
_throwIncoherentSharedInfo(Int32 index) const
60-
{
61-
ARCANE_FATAL("Incoherent ComponentItemSharedInfo for item index={0}", index);
50+
ARCANE_FATAL("Null ComponentItemSharedInfo");
6251
}
6352

6453
/*---------------------------------------------------------------------------*/

0 commit comments

Comments
 (0)