12#ifndef ARCANE_CORE_IITEMFAMILY_H
13#define ARCANE_CORE_IITEMFAMILY_H
85 friend mesh::DynamicMesh;
86 friend mesh::ItemFamily;
94 virtual void build() =0;
145 virtual void setParentFamily(
IItemFamily* parent) = 0;
158 virtual void addChildFamily(
IItemFamily* family) = 0;
231 virtual void removeNeedRemoveMarkedItems() =0;
240 ARCANE_DEPRECATED_REASON(
"Use MeshUtils::findOneItem() instead")
342 bool do_fatal=true) const =0;
360 bool do_fatal=true) const =0;
388 ARCCORE_DEPRECATED_2020(
"Do not use this method. Try to get 'ISubDomain' from another way")
587 ARCANE_DEPRECATED_REASON(
"Y2024: use findAdjacency() instead")
Déclarations des types généraux de Arcane.
Déclarations de types sur les entités.
Fichier contenant les déclarations concernant le modèle de programmation par échange de message.
Vue constante d'un tableau de type T.
Classe gérant les observateurs associés à un évènement.
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 void partialEndUpdate()=0
Mise à jour partielle.
virtual void usedVariables(VariableCollection collection)=0
Ajoute à la collection collection la liste des variables utilisés de cette famille.
virtual IItemConnectivityInfo * localConnectivityInfos() const =0
Informations sur la connectivité locale au sous-domaine pour à cette famille.
virtual ISubDomain * subDomain() const =0
Sous-domaine associé
virtual ItemGroup findGroup(const String &name) const =0
Recherche un groupe.
virtual IVariableSynchronizer * allItemsSynchronizer()=0
Synchroniseur sur toutes les entités de la famille.
virtual Integer parentFamilyDepth() const =0
Donne la profondeur d'imbrication du maillage courant.
virtual EventObservableView< const ItemFamilyItemListChangedEventArgs & > itemListChangedEvent()=0
Evènement pour l'ajout et la suppression d'entité
virtual IParticleFamily * toParticleFamily()=0
Retourne l'interface de la famille de particule de cette famille.
virtual void notifyItemsUniqueIdChanged()=0
Notifie que les numéros uniques des entités ont été modifiées.
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 void readFromDump()=0
Relit les données à partir d'une protection.
virtual ItemGroupCollection groups() const =0
Liste des groupes de cette famille.
virtual ItemGroup allItems() const =0
Groupe de toutes les entités.
virtual void setHasUniqueIdMap(bool v)=0
Indique si la famille possède une table de conversion uniqueId vers localId.
virtual void copyItemsValues(Int32ConstArrayView source, Int32ConstArrayView destination)=0
virtual void partialEndUpdateVariable(IVariable *variable)=0
Met à jour une variable.
virtual ItemInternal * findOneItem(Int64 unique_id)=0
Entité de numéro unique unique_id.
virtual ItemInternalArrayView itemsInternal()=0
Tableau interne des entités.
virtual void prepareForDump()=0
Prépare les données pour une protection.
virtual void synchronize(VariableCollection variables)=0
Synchronise les variables variables.
virtual ItemGroup createGroup(const String &name, Int32ConstArrayView local_ids, bool do_override=false)=0
Créé un groupe d'entités de nom name contenant les entités local_ids.
virtual Int32 maxLocalId() const =0
virtual void computeSynchronizeInfos()=0
Construit les structures nécessaires à la synchronisation.
virtual IItemConnectivityInfo * globalConnectivityInfos() const =0
Informations sur la connectivité globales à tous les sous-domaines.
virtual void clearItems()=0
Supprime toutes les entités de la famille.
virtual void checkValid()=0
Vérification de la validité des structures internes (interne)
virtual bool hasUniqueIdMap() const =0
Indique si la famille possède une table de conversion uniqueId vers localId.
virtual IParallelMng * parallelMng() const =0
Gestionnaire de parallélisme associé
virtual IItemFamilyCollection childFamilies()=0
Familles enfantes de cette famille.
virtual ItemPairGroup findAdjencyItems(const ItemGroup &group, const ItemGroup &sub_group, eItemKind link_kind, Integer nb_layer)=0
Cherche une liste d'adjacence.
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 IItemInternalSortFunction * itemSortFunction() const =0
Fonction de tri des entités.
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 void copyItemsMeanValues(Int32ConstArrayView first_source, Int32ConstArrayView second_source, Int32ConstArrayView destination)=0
virtual IVariable * findVariable(const String &name, bool throw_exception=false)=0
Recherche la variable de nom name associée à cette famille.
virtual ItemPairGroup findAdjacencyItems(const ItemGroup &group, const ItemGroup &sub_group, eItemKind link_kind, Integer nb_layer)
Cherche une liste d'adjacence.
virtual ITraceMng * traceMng() const =0
Gestionnaire de trace associé
virtual String fullName() const =0
Nom complet de la famille (avec celui du maillage)
virtual void compactItems(bool do_sort)=0
Compacte les entités.
virtual IMesh * mesh() const =0
Maillage associé
virtual void notifyItemsOwnerChanged()=0
Notifie que les entités propres au sous-domaine de la famille ont été modifiées.
virtual ItemVectorView view(Int32ConstArrayView local_ids)=0
Vue sur les entités.
virtual IItemFamilyInternal * _internalApi()=0
API interne à Arcane.
virtual void itemsUniqueIdToLocalId(Int32ArrayView local_ids, Int64ConstArrayView unique_ids, bool do_fatal=true) const =0
Converti un tableau de numéros uniques en numéros locaux.
virtual void removeItems2(mesh::ItemDataList &item_data_list)=0
Supprime des entités.
virtual IDoFFamily * toDoFFamily()
Retourne l'interface de la famille de particule de cette famille.
virtual void reduceFromGhostItems(IVariable *v, IDataOperation *operation)=0
Applique une opération de réduction depuis les entités fantômes.
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 void experimentalChangeUniqueId(ItemLocalId local_id, ItemUniqueId unique_id)=0
Change le numéro unique de l'entité.
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 getCommunicatingSubDomains(Int32Array &sub_domains) const =0
Liste des sous-domaines communiquants pour les entités.
virtual void partialEndUpdateGroup(const ItemGroup &group)=0
Met à jour un groupe.
virtual void addGhostItems(Int64ConstArrayView unique_ids, Int32ArrayView items, Int32ConstArrayView owners)=0
Alloue des entités fantômes.
virtual void setItemSortFunction(IItemInternalSortFunction *sort_function)=0
Positionne la fonction de tri des entités.
virtual void destroyGroups()=0
Supprime tous les groupes de cette famille.
virtual void endUpdate()=0
Notifie la fin de modification de la liste des entités.
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 du gestionnaire de traces.
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.
Index d'un Item dans une variable.
Tableau de listes d'entités.
Identifiant unique d'une entité.
Vue sur un vecteur d'entités.
Chaîne de caractères unicode.
ItemVariableScalarRefT< Int32 > VariableItemInt32
Grandeur de type entier 32 bits.
eReduceType
Types des réductions supportées.
Implémentation de la concurrence.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Collection< ItemGroup > ItemGroupCollection
Collection de groupes d'éléments du maillage.
std::int64_t Int64
Type entier signé sur 64 bits.
Int32 Integer
Type représentant un entier.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Collection< IItemFamily * > IItemFamilyCollection
Collection de familles d'entités.
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
ArrayView< Int32 > Int32ArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
eItemKind
Genre d'entité de maillage.
Array< Int32 > Int32Array
Tableau dynamique à une dimension d'entiers 32 bits.
std::int32_t Int32
Type entier signé sur 32 bits.