12#ifndef ARCANE_IITEMFAMILY_H
13#define ARCANE_IITEMFAMILY_H
17#include "arcane/ArcaneTypes.h"
18#include "arcane/ItemTypes.h"
19#include "arcane/VariableTypedef.h"
20#include "arcane/Parallel.h"
34class IItemInternalSortFunction;
35class IVariableSynchronizer;
38class IItemConnectivityInfo;
39class IItemConnectivityMng;
40class IItemConnectivity;
41class IExtraGhostItemsBuilder;
42class IIncrementalItemConnectivity;
43class IItemFamilyPolicyMng;
44class IItemFamilyTopologyModifier;
45class ItemInternalConnectivityList;
112 friend class mesh::DynamicMesh;
113 friend class mesh::ItemFamily;
121 virtual void build() =0;
172 virtual void setParentFamily(
IItemFamily* parent) = 0;
185 virtual void addChildFamily(
IItemFamily* family) = 0;
258 virtual void removeNeedRemoveMarkedItems() =0;
267 ARCANE_DEPRECATED_REASON(
"Use MeshUtils::findOneItem() instead")
276 virtual
void endUpdate() =0;
291 virtual
void partialEndUpdate() =0;
302 virtual
void partialEndUpdateGroup(const
ItemGroup& group) =0;
313 virtual
void partialEndUpdateVariable(
IVariable* variable) =0;
316 virtual
void notifyItemsOwnerChanged() =0;
319 virtual
void notifyItemsUniqueIdChanged() =0;
344 virtual
void setHasUniqueIdMap(
bool v) =0;
347 virtual
bool hasUniqueIdMap() const =0;
369 bool do_fatal=true) const =0;
387 bool do_fatal=true) const =0;
415 ARCCORE_DEPRECATED_2020("Do not use this method. Try to get '
ISubDomain' from another way")
483 virtual
void destroyGroups() =0;
510 virtual
void prepareForDump() =0;
513 virtual
void readFromDump() =0;
543 virtual
void clearItems() =0;
546 virtual
void compactItems(
bool do_sort) =0;
559 virtual
void computeSynchronizeInfos() =0;
562 virtual
void getCommunicatingSubDomains(
Int32Array& sub_domains) const =0;
630 Integer nb_layer) =0;
Interface d'une famille de DoF.
Interface des informations sur la connectivité par type d'entité.
Interface pour gérer une connectivité.
Interface des politiques d'une famille d'entités.
Interface de modification de la topologie des entités d'une famille.
Interface d'une famille d'entités.
virtual Integer parentFamilyDepth() const =0
Donne la profondeur d'imbrication du maillage courant.
virtual IItemFamilyTopologyModifier * _topologyModifier()=0
Interface du modificateur de topologie.
virtual void checkUniqueIds(Int64ConstArrayView unique_ids)=0
Vérifie que les identifiants unique_ids sont bien uniques pour tous les sous-domaines.
virtual IItemFamilyPolicyMng * policyMng()=0
Interface des comportements/politiques associées à cette famille.
virtual ItemInternalArrayView itemsInternal()=0
Tableau interne des entités.
virtual Int32 maxLocalId() const =0
virtual void checkValid()=0
Vérification de la validité des structures internes (interne)
virtual IItemFamilyCollection childFamilies()=0
Familles enfantes de cette famille.
virtual String name() const =0
Nom de la famille.
virtual ItemInfoListView itemInfoListView()=0
Vue sur la liste d'informations sur les entités.
virtual IItemFamily * parentFamily() const =0
IItemFamily parent.
virtual eItemKind itemKind() const =0
Genre des entités.
virtual void checkValidConnectivity()=0
Vérification de la validité des structures internes concernant la connectivité.
virtual String fullName() const =0
Nom complet de la famille (avec celui du maillage)
virtual ItemVectorView view(Int32ConstArrayView local_ids)=0
Vue sur les entités.
virtual IItemFamilyInternal * _internalApi()=0
API interne à Arcane.
virtual void removeItems2(mesh::ItemDataList &item_data_list)=0
Supprime des entités.
virtual void resizeVariables(bool force_resize)=0
Redimensionne les variables de cette famille.
virtual Properties * properties()=0
Propriétés associées à cette famille.
virtual Integer nbItem() const =0
Nombre d'entités.
virtual VariableItemInt32 & itemsNewOwner()=0
Variable contenant le numéro du nouveau sous-domaine propriétaire de l'entité.
virtual void addGhostItems(Int64ConstArrayView unique_ids, Int32ArrayView items, Int32ConstArrayView owners)=0
Alloue des entités fantômes.
virtual ItemVectorView view()=0
Vue sur toutes les entités de la famille.
Interface d'une fonction de tri des entités.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface d'une famille de particules.
Interface du gestionnaire d'un sous-domaine.
Interface d'un service de synchronisation de variable.
Groupe d'entités de maillage.
Vue sur une liste pour obtenir des informations sur les entités.
Tableau de listes d'entités.
Identifiant unique d'une entité.
Variable scalaire sur un type d'entité du maillage.
Vue sur un vecteur d'entités.
Vue modifiable d'un tableau d'un type T.
Classe de base des vecteurs 1D de données.
Vue constante d'un tableau de type T.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Collection< IItemFamily * > IItemFamilyCollection
Collection de familles d'entités.
eItemKind
Genre d'entité de maillage.
eReduceType
Types des réductions supportées.