@@ -62,6 +62,9 @@ class ARCANE_CORE_EXPORT ComponentItemSharedInfo
62
62
63
63
private:
64
64
65
+ // NOTE : Cette classe est partagée avec le wrapper C#
66
+ // Toute modification de la structure interne doit être reportée
67
+ // dans la structure C# correspondante
65
68
ItemSharedInfo* m_item_shared_info = ItemSharedInfo::nullInstance();
66
69
Int16 m_level = (-1 );
67
70
ConstArrayView<IMeshComponent*> m_components;
@@ -207,7 +210,7 @@ class ARCANE_CORE_EXPORT ComponentItemInternal
207
210
Int16 m_nb_sub_component_item = 0 ;
208
211
Int32 m_global_item_local_id = NULL_ITEM_LOCAL_ID;
209
212
ComponentItemInternalLocalId m_component_item_internal_local_id;
210
- ComponentItemInternal* m_super_component_item = nullptr ;
213
+ ComponentItemInternalLocalId m_super_component_item_local_id ;
211
214
ComponentItemInternal* m_first_sub_component_item = nullptr ;
212
215
ComponentItemSharedInfo* m_shared_info = nullptr ;
213
216
@@ -237,12 +240,13 @@ class ARCANE_CORE_EXPORT ComponentItemInternal
237
240
// ! Composant supérieur (0 si aucun)
238
241
matimpl::ConstituentItemBase _superItemBase () const
239
242
{
240
- return m_super_component_item ;
243
+ return &m_shared_info-> m_component_item_internal_view [m_super_component_item_local_id. localId ()] ;
241
244
}
242
245
243
246
void _setSuperAndGlobalItem (ComponentItemInternal* cii, ItemLocalId ii)
244
247
{
245
- m_super_component_item = cii;
248
+ if (cii)
249
+ m_super_component_item_local_id = cii->_internalLocalId ();
246
250
m_global_item_local_id = ii.localId ();
247
251
}
248
252
@@ -280,11 +284,16 @@ class ARCANE_CORE_EXPORT ComponentItemInternal
280
284
m_component_id = static_cast <Int16>(component_id);
281
285
}
282
286
287
+ ComponentItemInternalLocalId _internalLocalId () const
288
+ {
289
+ return m_component_item_internal_local_id;
290
+ }
291
+
283
292
void _reset (ComponentItemInternalLocalId id, ComponentItemSharedInfo* shared_info)
284
293
{
285
294
m_var_index.reset ();
286
295
m_component_id = -1 ;
287
- m_super_component_item = nullptr ;
296
+ m_super_component_item_local_id = {} ;
288
297
m_component_item_internal_local_id = id;
289
298
m_nb_sub_component_item = 0 ;
290
299
m_first_sub_component_item = nullptr ;
0 commit comments