12#ifndef ARCANE_MESH_CONNECTIVITYNEWWITHDEPENDENCIESINFO_H
13#define ARCANE_MESH_CONNECTIVITYNEWWITHDEPENDENCIESINFO_H
21#include "arcane/core/IIncrementalItemConnectivity.h"
23#include "arcane/mesh/MeshGlobal.h"
24#include "arcane/mesh/ConnectivityNewWithDependenciesTypes.h"
25#include "arcane/mesh/IncrementalItemConnectivity.h"
26#include "arcane/mesh/CompactIncrementalItemConnectivity.h"
27#include "arcane/mesh/ItemConnectivitySelector.h"
46template <
class SourceFamily,
class TargetFamily,
class LegacyType,
class CustomType = IncrementalItemConnectivity>
66 String name()
const override {
return Base::trueCustomConnectivity()->name();}
68 bool isEmpty()
const {
122 void dumpStats(std::ostream& out)
const override { Base::trueCustomConnectivity()->dumpStats(out); }
131 Int32
maxNbConnectedItem()
const override {
return Base::trueCustomConnectivity()->maxNbConnectedItem(); }
135 return Arccore::makeRef<IIncrementalItemSourceConnectivity>(
this);
139 return Arccore::makeRef<IIncrementalItemTargetConnectivity>(
this);
143 return Base::trueCustomConnectivity()->_internalApi();
157template <
class SourceFamily,
class TargetFamily>
Fichier de configuration d'Arcane.
#define ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS()
Macro pour définir les méthodes gérant les compteurs de référence.
Gère la récupération des informations de connectivité.
API interne à Arcane de IIncrementalItemConnectivity.
Interface pour gérer une connectivité incrémentale.
Interface d'une famille d'entités.
Index d'un Item dans une variable.
Vue sur un vecteur d'entités.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Sélection entre les connectivités historiques et à la demande.
class holding a new connectivity but filling also the legacy one Both custom and legacy connectivitie...
ItemVectorView _connectedItems(ItemLocalId item, ConnectivityItemVector &con_items) const override
Remplit con_items avec les entités connectées à item.
IItemFamily * sourceFamily() const override
Famille source.
void _initializeStorage(ConnectivityItemVector *civ) override
Implémente l'initialisation de civ pour cette connectivitée.
void replaceConnectedItem(ItemLocalId source_item, Integer index, ItemLocalId target_local_id) override
Remplace l'entité d'index index de source_item par l'entité de localId() target_local_id.
void setPreAllocatedSize(Integer value) override
Positionne le nombre d'entités à préallouer pour la connectivité de chaque entité
String name() const override
Nom de la connectivité
void removeConnectedItems(ItemLocalId source_item) override
Supprime toute les entités connectées à source_item.
void notifyTargetFamilyLocalIdChanged(Int32ConstArrayView old_to_new_ids) override
Notifie la connectivité que la famille cible est compactée.
void dumpStats(std::ostream &out) const override
Sort sur le flot out des statistiques sur l'utilisation et la mémoire utilisée.
void notifySourceItemAdded(ItemLocalId item) override
Notifie la connectivité qu'une entité a été ajoutée à la famille source.
bool hasConnectedItem(ItemLocalId source_item, ItemLocalId target_local_id) const override
Test l'existence d'un connectivité entre source_item et l'entité de localId() target_local_id.
void addConnectedItem(ItemLocalId source_item, ItemLocalId target_local_id) override
Ajoute l'entité de localId() target_local_id à la connectivité de source_item.
Ref< IIncrementalItemTargetConnectivity > toTargetReference() override
Retourne une référence sur l'instance.
void notifyReadFromDump() override
Notifie la connectivité qu'on a effectué une relecture à partir d'une protection.
IItemFamily * targetFamily() const override
Famille cible.
Integer nbConnectedItem(ItemLocalId lid) const override
Nombre d'entité connectées à l'entité source de numéro local lid.
void replaceConnectedItems(ItemLocalId source_item, Int32ConstArrayView target_local_ids) override
Remplace les entités de source_item par les entités de localId() target_local_ids.
Ref< IIncrementalItemSourceConnectivity > toSourceReference() override
Retourne une référence sur l'instance.
Int32 connectedItemLocalId(ItemLocalId lid, Integer index) const override
localId() de la index-ième entitée connectées à l'entité source de numéro local lid
Integer preAllocatedSize() const override
Nombre d'entités préalloués pour la connectivité de chaque entité
Int32 maxNbConnectedItem() const override
Nombre maximum d'entités connectées à une entité source.
void removeConnectedItem(ItemLocalId source_item, ItemLocalId target_local_id) override
Supprime l'entité de localId() target_local_id à la connectivité de source_item.
void notifySourceFamilyLocalIdChanged(Int32ConstArrayView new_to_old_ids) override
Notifie la connectivité que la famille source est compactée.
IIncrementalItemConnectivityInternal * _internalApi() override
API interne à Arcane.
ConstArrayView< IItemFamily * > families() const override
Liste des familles (sourceFamily() + targetFamily())
Vue constante d'un tableau de type T.
Implémentation thread-safe d'un compteur de référence.
Chaîne de caractères unicode.