19#include "arcane/IItemFamily.h"
20#include "arcane/IParallelMng.h"
21#include "arcane/IMesh.h"
22#include "arcane/ItemEnumerator.h"
23#include "arcane/ConnectivityItemVector.h"
25#include "arcane/mesh/ItemFamilySerializer.h"
26#include "arcane/mesh/ItemFamilyNetwork.h"
33ARCANE_MESH_BEGIN_NAMESPACE
38void ItemFamilySerializer::
41 m_family->traceMng()->debug(
Trace::High) <<
"_serializeItems : "
42 << m_family->mesh()->name() <<
" "
43 << m_family->name() <<
" "
44 << m_family->parentFamilyDepth();
56void ItemFamilySerializer::
59 _deserializeItemsOrRelations(buf,
local_ids);
65void ItemFamilySerializer::
74 item_data.deserialize(buf, m_family->mesh());
78 m_mesh_builder->addFamilyItems(item_data);
84void ItemFamilySerializer::
88 << m_family->mesh()->name() <<
" "
89 << m_family->name() <<
" "
90 << m_family->parentFamilyDepth();
102void ItemFamilySerializer::
105 _deserializeItemsOrRelations(buf,
local_ids);
111void ItemFamilySerializer::
143void ItemFamilySerializer::
144_fillItemRelationsData(ItemData& item_data, Int32ConstArrayView local_ids)
147 Int64Array& item_infos = item_data.itemInfos();
150 const Integer nb_item = local_ids.size();
151 item_infos.reserve(1+nb_item*32);
153 IItemFamilyNetwork* family_network = m_family->mesh()->itemFamilyNetwork();
155 item_infos.add(out_connectivities.size());
157 item_infos.add(item->type());
158 item_infos.add(item->uniqueId().asInt64());
159 item_owners[item.index()] = item->owner();
160 for (
auto out_connectivity : out_connectivities)
162 item_infos.add(out_connectivity->targetFamily()->itemKind());
163 item_infos.add(out_connectivity->nbConnectedItem(ItemLocalId(item)));
164 ConnectivityItemVector connectivity_accessor(out_connectivity);
165 ENUMERATE_ITEM(connected_item, connectivity_accessor.connectedItems(ItemLocalId(item)))
167 item_infos.add(connected_item->uniqueId().asInt64());
185ARCANE_MESH_END_NAMESPACE
Tableau d'items de types quelconques.
Gère la récupération des informations de connectivité.
virtual SharedArray< IIncrementalItemConnectivity * > getChildRelations(IItemFamily *source_family)=0
Obtenir la liste de toutes les relations, filles d'une famille source_family ou parentes d'une famill...
Interface d'une famille d'entités.
Index d'un Item dans une variable.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Interface d'un sérialiseur.
virtual TraceMessageDbg debug(Trace::eDebugLevel=Trace::Medium)=0
Flot pour un message de debug.
ITraceMng * traceMng() const
Gestionnaire de trace.
Vecteur 1D de données avec sémantique par valeur (style STL).
Array< Int64 > Int64Array
Tableau dynamique à une dimension d'entiers 64 bits.
ArrayView< Int32 > Int32ArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Int32 Integer
Type représentant un entier.