12#ifndef ARCANE_IITEMFAMILYNETWORK_H_
13#define ARCANE_IITEMFAMILYNETWORK_H_
22#include "arcane/IItemFamily.h"
23#include "arcane/IIncrementalItemConnectivity.h"
24#include "arcane/IGraph2.h"
42 typedef std::function<void (
IItemFamily*)> IItemFamilyNetworkTask;
45 enum eSchedulingOrder{
47 InverseTopologicalOrder,
53 static constexpr bool plug_serializer =
true;
56 virtual bool isActivated()
const = 0 ;
97 virtual void schedule(IItemFamilyNetworkTask task, eSchedulingOrder order = TopologicalOrder) =0;
Fichier de configuration d'Arcane.
Interface d'un graphe du maillage.
Interface pour gérer une connectivité incrémentale.
virtual IIncrementalItemConnectivity * getStoredConnectivity(IItemFamily *source_family, IItemFamily *target_family, const String &name)=0
Retourne, si elle es associée à un stockage, la connectivité entre les familles source_family et targ...
virtual bool isStored(IIncrementalItemConnectivity *connectivity)=0
Récupère l'information relative au stockage de la connectivité
virtual void addDependency(IItemFamily *master_family, IItemFamily *slave_family, IIncrementalItemConnectivity *slave_to_master_connectivity, bool is_deep_connectivity=true)=0
virtual const std::set< IItemFamily * > & getFamilies() const =0
Obtenir la liste de toutes les familles.
virtual List< IIncrementalItemConnectivity * > getConnectivities()=0
Obtenir la liste de toutes les connectivités, qu'elles soient relation ou dépendance.
virtual SharedArray< IIncrementalItemConnectivity * > getChildConnectivities(IItemFamily *source_family)=0
Obtenir la liste de toutes les connectivités (dépendances ou relations), filles d'une famille source_...
virtual bool isDeep(IIncrementalItemConnectivity *connectivity)=0
Récupère l'information relative au stockage de la connectivité
virtual void removeConnectedDoFsFromCells(Int32ConstArrayView local_ids)=0
supprime les DoFs et les liens entre DoFs connectés aux mailles supprimées
virtual void setIsStored(IIncrementalItemConnectivity *connectivity)=0
Positionne une connectivité comme étant stockée.
virtual void schedule(IItemFamilyNetworkTask task, eSchedulingOrder order=TopologicalOrder)=0
Ordonnance l'exécution d'une tâche, dans l'ordre topologique ou topologique inverse du graphe de dépe...
virtual IIncrementalItemConnectivity * getConnectivity(IItemFamily *source_family, IItemFamily *target_family, const String &name)=0
Retourne la connectivité entre les familles source_family et target_family de nom name,...
virtual SharedArray< IIncrementalItemConnectivity * > getChildDependencies(IItemFamily *source_family)=0
Obtenir la liste de toutes les dépendances, filles d'une famille source_family ou parentes d'une fami...
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...
virtual Integer registerConnectedGraph(IGraph2 *graph)=0
enregistre un graphe gérant des DoFs connectés au maillage
virtual void addRelation(IItemFamily *source_family, IItemFamily *target_family, IIncrementalItemConnectivity *source_to_target_connectivity)=0
virtual void releaseConnectedGraph(Integer graph_id)=0
dé enregistre un graphe gérant des DoFs connectés au maillage
Interface d'une famille d'entités.
Implémentation d'une collection d'éléments sous forme de vecteur.
Vue constante d'un tableau de type T.
Vecteur 1D de données avec sémantique par référence.
Chaîne de caractères unicode.